@ai-development-environment/server 0.0.70 → 0.0.71

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/package.json +1 -1
  2. package/standalone/.next/BUILD_ID +1 -1
  3. package/standalone/.next/build-manifest.json +3 -3
  4. package/standalone/.next/prerender-manifest.json +3 -3
  5. package/standalone/.next/server/app/[locale]/comments/page_client-reference-manifest.js +1 -1
  6. package/standalone/.next/server/app/[locale]/pull-requests/page_client-reference-manifest.js +1 -1
  7. package/standalone/.next/server/app/_global-error.html +1 -1
  8. package/standalone/.next/server/app/_global-error.rsc +1 -1
  9. package/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  10. package/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  11. package/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  12. package/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  13. package/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  14. package/standalone/.next/server/app/_not-found.html +1 -1
  15. package/standalone/.next/server/app/_not-found.rsc +1 -1
  16. package/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  17. package/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  18. package/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  19. package/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  20. package/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  21. package/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  22. package/standalone/.next/server/chunks/_01qtprx._.js +1 -1
  23. package/standalone/.next/server/chunks/_0l44maw._.js +2 -2
  24. package/standalone/.next/server/chunks/_0zi1rzc._.js +1 -1
  25. package/standalone/.next/server/chunks/_1czfvql._.js +2 -2
  26. package/standalone/.next/server/chunks/_1gtcfbz._.js +1 -1
  27. package/standalone/.next/server/chunks/_1kemdff._.js +2 -2
  28. package/standalone/.next/server/chunks/_21blfei._.js +2 -2
  29. package/standalone/.next/server/chunks/ssr/_1zd970o._.js +1 -1
  30. package/standalone/.next/server/chunks/ssr/src_components_github_pull-requests-page_tsx_1il3ga-._.js +3 -3
  31. package/standalone/.next/server/middleware-build-manifest.js +3 -3
  32. package/standalone/.next/server/pages/404.html +1 -1
  33. package/standalone/.next/server/pages/500.html +1 -1
  34. package/standalone/.next/server/server-reference-manifest.js +1 -1
  35. package/standalone/.next/server/server-reference-manifest.json +1 -1
  36. package/standalone/.next/static/chunks/{19dkpj43f8v40.js → 0y408zh4mof6_.js} +7 -7
  37. package/standalone/.next/static/chunks/{3_rbnqkar9gd5.js → 3eqo76t2qsipq.js} +1 -1
  38. package/standalone/package.json +6 -5
  39. /package/standalone/.next/static/{YhSq1ZgYFJAvNO3aIVj__ → BzIPghFM13wueh4Fuo7y-}/_buildManifest.js +0 -0
  40. /package/standalone/.next/static/{YhSq1ZgYFJAvNO3aIVj__ → BzIPghFM13wueh4Fuo7y-}/_clientMiddlewareManifest.js +0 -0
  41. /package/standalone/.next/static/{YhSq1ZgYFJAvNO3aIVj__ → BzIPghFM13wueh4Fuo7y-}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- module.exports=[735255,e=>{"use strict";let t=Symbol("unattributed");function r(){return{inputTokens:0,outputTokens:0,cacheCreationTokens:0,cacheReadTokens:0,totalTokens:0,totalCost:0}}function i(e,t){e.inputTokens+=t.inputTokens,e.outputTokens+=t.outputTokens,e.cacheCreationTokens+=t.cacheCreationTokens,e.cacheReadTokens+=t.cacheReadTokens,e.totalTokens+=t.totalTokens,e.totalCost+=t.totalCost}function a(e,t){return t.totalCost-e.totalCost||t.totalTokens-e.totalTokens||(e.modelName??e.agentName??"").localeCompare(t.modelName??t.agentName??"")}e.s(["aggregateUsage",0,function(e){let n=new Map,s=r();for(let{agent:a,report:o}of e)for(let e of(i(s,o.totals),o.daily)){let s=n.get(e.period);s||(s={...r(),period:e.period,models:new Map,sourceSet:new Set},n.set(e.period,s)),i(s,e),e.metadata.agents.forEach(e=>s.sourceSet.add(e));let o=0;for(let t of e.modelBreakdowns){let n={inputTokens:t.inputTokens,outputTokens:t.outputTokens,cacheCreationTokens:t.cacheCreationTokens,cacheReadTokens:t.cacheReadTokens,totalTokens:t.inputTokens+t.outputTokens+t.cacheCreationTokens+t.cacheReadTokens,totalCost:t.cost};o+=n.totalTokens;let l=s.models.get(t.modelName);l||(l={...r(),modelName:t.modelName,agents:new Map},s.models.set(t.modelName,l)),i(l,n);let u=l.agents.get(a.id);u||(u={...r(),agentId:a.id,agentName:a.name,hostname:a.hostname,sources:[],sourceSet:new Set},l.agents.set(a.id,u)),i(u,n),e.metadata.agents.forEach(e=>u.sourceSet.add(e))}!function(e,i,a,n){if(n<=0)return;let s=e.models.get(t);s||(s={...r(),modelName:"Unattributed tokens",agents:new Map,unattributed:!0},e.models.set(t,s)),s.totalTokens+=n;let o=s.agents.get(i.id);o||(o={...r(),agentId:i.id,agentName:i.name,hostname:i.hostname,sources:[],sourceSet:new Set},s.agents.set(i.id,o)),o.totalTokens+=n,a.forEach(e=>o.sourceSet.add(e))}(s,a,e.metadata.agents,e.totalTokens-o)}return{totals:s,days:[...n.values()].sort((e,t)=>t.period.localeCompare(e.period)).map(e=>({inputTokens:e.inputTokens,outputTokens:e.outputTokens,cacheCreationTokens:e.cacheCreationTokens,cacheReadTokens:e.cacheReadTokens,totalTokens:e.totalTokens,totalCost:e.totalCost,period:e.period,sources:[...e.sourceSet].sort(),models:[...e.models.values()].sort(a).map(e=>({inputTokens:e.inputTokens,outputTokens:e.outputTokens,cacheCreationTokens:e.cacheCreationTokens,cacheReadTokens:e.cacheReadTokens,totalTokens:e.totalTokens,totalCost:e.totalCost,modelName:e.modelName,...e.unattributed?{unattributed:!0}:{},agents:[...e.agents.values()].sort(a).map(e=>({inputTokens:e.inputTokens,outputTokens:e.outputTokens,cacheCreationTokens:e.cacheCreationTokens,cacheReadTokens:e.cacheReadTokens,totalTokens:e.totalTokens,totalCost:e.totalCost,agentId:e.agentId,agentName:e.agentName,hostname:e.hostname,sources:[...e.sourceSet].sort()}))}))}))}},"filterUsageByDays",0,function(e,t,a=new Date){let n;if(null===t)return e;let s=new Date(a);s.setHours(0,0,0,0),s.setDate(s.getDate()-(t-1));let o=(n=e=>String(e).padStart(2,"0"),`${s.getFullYear()}-${n(s.getMonth()+1)}-${n(s.getDate())}`),l=e.days.filter(e=>e.period>=o),u=r();return l.forEach(e=>i(u,e)),{days:l,totals:u}}])},121717,483024,988349,e=>{"use strict";var t=e.i(666680),r=e.i(986847),i=e.i(735255),a=e.i(243783);e.i(805422);var n=e.i(694355),s=e.i(661983);let o=new Set(["SUCCEEDED","FAILED","CANCELLED","TIMED_OUT"]);e.s(["CcusageService",0,class{agentControlService;now;deadlineTimers;initialized;initializationPromise;completionObservers;constructor(e,t=()=>new Date){this.agentControlService=e,this.now=t,this.deadlineTimers=new Map,this.initialized=!1,this.initializationPromise=null,this.completionObservers=new Set}async initialize(){if(!this.initialized)return this.initializationPromise||(this.initializationPromise=this.restoreCollections().then(()=>{this.initialized=!0}).finally(()=>{this.initializationPromise=null})),this.initializationPromise}async restoreCollections(){let e=await (0,a.getPrismaClient)(),t=await e.ccusageCollection.findMany({where:{finishedAt:null},select:{id:!0}});await Promise.all(t.map(async({id:e})=>{await this.ensureJobs(e),await this.getCollection(e)}))}async collect(e){let r=e?.trim()||(0,t.randomUUID)();await this.ensureCollection(r);let i=await this.waitForCompletion(r);for(let e of this.completionObservers)try{await e(i)}catch(e){console.error("ccusage completion observer failed:",e instanceof Error?e.message:e)}return i}registerCompletionObserver(e){return this.completionObservers.add(e),()=>this.completionObservers.delete(e)}async getCollection(e){let t=await this.loadCollection(e);if(!t)return null;null===t.finishedAt&&t.deadlineAt.getTime()<=this.now().getTime()&&(await this.timeoutMembersWithoutJobs(t),await this.agentControlService.timeoutCollectionJobs(e),t=await this.loadCollection(e)??t);let r=this.snapshot(t);if("COMPLETED"===r.status&&null===t.finishedAt){let t=this.now(),i=await (0,a.getPrismaClient)();await i.ccusageCollection.updateMany({where:{id:e,finishedAt:null},data:{finishedAt:t}}),r.finishedAt=t.toISOString(),this.clearDeadline(e)}else"COLLECTING"===r.status&&this.scheduleDeadline(t);return r}async *subscribe(e){let t=s.agentEventBus.iterate((0,s.ccusageCollectionChangedTopic)(e));try{let r=await this.getCollection(e);for(r&&(yield r);;){if((await t.next()).done)return;let r=await this.getCollection(e);r&&(yield r)}}finally{await t.return?.()}}async ensureCollection(e){let t=await (0,a.getPrismaClient)(),i=await t.ccusageCollection.findUnique({where:{id:e},select:{id:!0}});if(!i){let a=await this.agentControlService.listAgents();try{i=await t.ccusageCollection.create({data:{id:e,deadlineAt:new Date(this.now().getTime()+15e4),agents:{create:a.map(e=>{var t;return{agentId:e.id,initialStatus:(t=this.now().getTime(),null!==e.lastSeenAt&&t-e.lastSeenAt.getTime()<=(0,n.agentOnlineWindowMs)(e)&&null===e.disconnectedAt?(function(e){try{let t=JSON.parse(e.capabilitiesJson);return Array.isArray(t)?t.filter(e=>"string"==typeof e):[]}catch{return[]}})(e).includes(r.CCUSAGE_REPORT_JOB_KIND)?"QUEUING":"UNSUPPORTED":"OFFLINE")}})}},select:{id:!0}}),this.publish(e)}catch(r){if(!(i=await t.ccusageCollection.findUnique({where:{id:e},select:{id:!0}})))throw r}}await this.ensureJobs(e);let s=await this.getCollection(e);if(s?.status==="COLLECTING"){let r=await t.ccusageCollection.findUnique({where:{id:e},select:{id:!0,deadlineAt:!0,finishedAt:!0}});r&&this.scheduleDeadline(r)}}async ensureJobs(e){let t=await (0,a.getPrismaClient)(),i=await t.ccusageCollection.findUnique({where:{id:e},select:{deadlineAt:!0,finishedAt:!0}});if(!i||i.finishedAt||i.deadlineAt.getTime()<=this.now().getTime())return;let n=await t.ccusageCollectionAgent.findMany({where:{collectionId:e,initialStatus:"QUEUING"},select:{agentId:!0}}),s=new Set((await t.agentJob.findMany({where:{ccusageCollectionId:e},select:{agentId:!0}})).map(({agentId:e})=>e));await Promise.all(n.filter(({agentId:e})=>!s.has(e)).map(async({agentId:i})=>{try{await this.agentControlService.createJob({agentId:i,kind:r.CCUSAGE_REPORT_JOB_KIND,payload:{},idempotencyKey:`ccusage:${e}`,timeoutSeconds:120,ccusageCollectionId:e})}catch(r){await t.ccusageCollectionAgent.update({where:{collectionId_agentId:{collectionId:e,agentId:i}},data:{initialStatus:"FAILED",error:r instanceof Error?r.message:String(r)}}),this.publish(e)}}))}async waitForCompletion(e){let t=s.agentEventBus.iterate((0,s.ccusageCollectionChangedTopic)(e));try{for(;;){let r=await this.getCollection(e);if(!r)throw Error("ccusage collection disappeared");if("COMPLETED"===r.status)return r;let i=Math.max(1,new Date(r.deadlineAt).getTime()-this.now().getTime()+25);await Promise.race([t.next(),new Promise(e=>setTimeout(e,i))])}}finally{await t.return?.()}}async loadCollection(e){return(await (0,a.getPrismaClient)()).ccusageCollection.findUnique({where:{id:e},include:{agents:{include:{agent:!0}},jobs:!0}})}async timeoutMembersWithoutJobs(e){let t=new Set(e.jobs.map(({agentId:e})=>e)),r=e.agents.filter(({agentId:e,initialStatus:r})=>"QUEUING"===r&&!t.has(e)).map(({agentId:e})=>e);if(0===r.length)return;let i=await (0,a.getPrismaClient)();(await i.ccusageCollectionAgent.updateMany({where:{collectionId:e.id,agentId:{in:r},initialStatus:"QUEUING"},data:{initialStatus:"TIMED_OUT"}})).count>0&&this.publish(e.id)}snapshot(e){let t=new Map(e.jobs.map(e=>[e.agentId,e])),a=e.agents.map(e=>(function(e,t){let i={agent:e.agent,jobId:t?.id??null};if("QUEUING"!==e.initialStatus)return{progress:{...i,status:e.initialStatus,error:e.error}};if(!t)return{progress:{...i,status:"QUEUING",error:e.error}};if("SUCCEEDED"!==t.status)return{progress:{...i,status:t.status,error:t.error}};try{let e=(0,r.parseCcusageJobResult)(null===t.resultJson?null:JSON.parse(t.resultJson));return{progress:{...i,status:"SUCCEEDED",error:null},report:e.report}}catch(e){return{progress:{...i,status:"INVALID",error:e instanceof Error?e.message:String(e)}}}})(e,t.get(e.agentId))),n=a.map(({progress:e})=>e),s=n.filter(({status:e})=>"OFFLINE"!==e&&"UNSUPPORTED"!==e),l=s.filter(({status:e})=>"INVALID"===e||o.has(e)),u=a.flatMap(({progress:e,report:t})=>t?[{agent:{id:e.agent.id,name:e.agent.name,hostname:e.agent.hostname},report:t}]:[]);return{id:e.id,status:l.length===s.length?"COMPLETED":"COLLECTING",createdAt:e.createdAt.toISOString(),deadlineAt:e.deadlineAt.toISOString(),finishedAt:e.finishedAt?.toISOString()??null,progress:{eligibleCount:s.length,finishedCount:l.length,successfulCount:s.filter(({status:e})=>"SUCCEEDED"===e).length,agents:n},aggregate:(0,i.aggregateUsage)(u)}}scheduleDeadline(e){if(e.finishedAt||this.deadlineTimers.has(e.id))return;let t=setTimeout(()=>{this.deadlineTimers.delete(e.id),this.expire(e.id)},Math.max(0,e.deadlineAt.getTime()-this.now().getTime()));t.unref?.(),this.deadlineTimers.set(e.id,t)}async expire(e){try{await this.agentControlService.timeoutCollectionJobs(e),await this.getCollection(e),this.publish(e)}catch(t){console.error(`Could not expire ccusage collection ${e}:`,t instanceof Error?t.message:t)}}clearDeadline(e){let t=this.deadlineTimers.get(e);t&&clearTimeout(t),this.deadlineTimers.delete(e)}publish(e){s.agentEventBus.publish((0,s.ccusageCollectionChangedTopic)(e),{ccusageCollectionChanged:{id:e}})}}],483024),e.s([],121717),e.s(["CodebaseBusyError",0,class extends Error{constructor(e="Another operation is active for this codebase"){super(e),this.name="CodebaseBusyError"}},"isCodebaseBusyError",0,function(e){return e instanceof Error&&"CodebaseBusyError"===e.name}],988349)},469719,733137,334512,e=>{"use strict";var t,r=e.i(127438),i=e.i(486618);function a(){let e,t,r;return{localeError:(e={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}},t={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},r={nan:"NaN"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;return`Invalid input: expected ${e}, received ${n}`}case"invalid_value":if(1===a.values.length)return`Invalid input: expected ${i.stringifyPrimitive(a.values[0])}`;return`Invalid option: expected one of ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`Too big: expected ${a.origin??"value"} to have ${t}${a.maximum.toString()} ${r.unit??"elements"}`;return`Too big: expected ${a.origin??"value"} to be ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`Too small: expected ${a.origin} to have ${t}${a.minimum.toString()} ${r.unit}`;return`Too small: expected ${a.origin} to be ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Invalid string: must start with "${a.prefix}"`;if("ends_with"===a.format)return`Invalid string: must end with "${a.suffix}"`;if("includes"===a.format)return`Invalid string: must include "${a.includes}"`;if("regex"===a.format)return`Invalid string: must match pattern ${a.pattern}`;return`Invalid ${t[a.format]??a.format}`;case"not_multiple_of":return`Invalid number: must be a multiple of ${a.divisor}`;case"unrecognized_keys":return`Unrecognized key${a.keys.length>1?"s":""}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Invalid key in ${a.origin}`;case"invalid_union":if(a.options&&Array.isArray(a.options)&&a.options.length>0){let e=a.options.map(e=>`'${e}'`).join(" | ");return`Invalid discriminator value. Expected ${e}`}return"Invalid input";case"invalid_element":return`Invalid value in ${a.origin}`;default:return"Invalid input"}})}}(0,r.config)(a()),e.s([],654048),e.i(654048),e.s([],482811),e.i(482811);var n=e.i(715143),s=e.i(67021),o=e.i(639510);e.s(["$ZodAny",()=>o.$ZodAny,"$ZodArray",()=>o.$ZodArray,"$ZodBase64",()=>o.$ZodBase64,"$ZodBase64URL",()=>o.$ZodBase64URL,"$ZodBigInt",()=>o.$ZodBigInt,"$ZodBigIntFormat",()=>o.$ZodBigIntFormat,"$ZodBoolean",()=>o.$ZodBoolean,"$ZodCIDRv4",()=>o.$ZodCIDRv4,"$ZodCIDRv6",()=>o.$ZodCIDRv6,"$ZodCUID",()=>o.$ZodCUID,"$ZodCUID2",()=>o.$ZodCUID2,"$ZodCatch",()=>o.$ZodCatch,"$ZodCodec",()=>o.$ZodCodec,"$ZodCustom",()=>o.$ZodCustom,"$ZodCustomStringFormat",()=>o.$ZodCustomStringFormat,"$ZodDate",()=>o.$ZodDate,"$ZodDefault",()=>o.$ZodDefault,"$ZodDiscriminatedUnion",()=>o.$ZodDiscriminatedUnion,"$ZodE164",()=>o.$ZodE164,"$ZodEmail",()=>o.$ZodEmail,"$ZodEmoji",()=>o.$ZodEmoji,"$ZodEnum",()=>o.$ZodEnum,"$ZodExactOptional",()=>o.$ZodExactOptional,"$ZodFile",()=>o.$ZodFile,"$ZodFunction",()=>o.$ZodFunction,"$ZodGUID",()=>o.$ZodGUID,"$ZodIPv4",()=>o.$ZodIPv4,"$ZodIPv6",()=>o.$ZodIPv6,"$ZodISODate",()=>o.$ZodISODate,"$ZodISODateTime",()=>o.$ZodISODateTime,"$ZodISODuration",()=>o.$ZodISODuration,"$ZodISOTime",()=>o.$ZodISOTime,"$ZodIntersection",()=>o.$ZodIntersection,"$ZodJWT",()=>o.$ZodJWT,"$ZodKSUID",()=>o.$ZodKSUID,"$ZodLazy",()=>o.$ZodLazy,"$ZodLiteral",()=>o.$ZodLiteral,"$ZodMAC",()=>o.$ZodMAC,"$ZodMap",()=>o.$ZodMap,"$ZodNaN",()=>o.$ZodNaN,"$ZodNanoID",()=>o.$ZodNanoID,"$ZodNever",()=>o.$ZodNever,"$ZodNonOptional",()=>o.$ZodNonOptional,"$ZodNull",()=>o.$ZodNull,"$ZodNullable",()=>o.$ZodNullable,"$ZodNumber",()=>o.$ZodNumber,"$ZodNumberFormat",()=>o.$ZodNumberFormat,"$ZodObject",()=>o.$ZodObject,"$ZodObjectJIT",()=>o.$ZodObjectJIT,"$ZodOptional",()=>o.$ZodOptional,"$ZodPipe",()=>o.$ZodPipe,"$ZodPrefault",()=>o.$ZodPrefault,"$ZodPreprocess",()=>o.$ZodPreprocess,"$ZodPromise",()=>o.$ZodPromise,"$ZodReadonly",()=>o.$ZodReadonly,"$ZodRecord",()=>o.$ZodRecord,"$ZodSet",()=>o.$ZodSet,"$ZodString",()=>o.$ZodString,"$ZodStringFormat",()=>o.$ZodStringFormat,"$ZodSuccess",()=>o.$ZodSuccess,"$ZodSymbol",()=>o.$ZodSymbol,"$ZodTemplateLiteral",()=>o.$ZodTemplateLiteral,"$ZodTransform",()=>o.$ZodTransform,"$ZodTuple",()=>o.$ZodTuple,"$ZodType",()=>o.$ZodType,"$ZodULID",()=>o.$ZodULID,"$ZodURL",()=>o.$ZodURL,"$ZodUUID",()=>o.$ZodUUID,"$ZodUndefined",()=>o.$ZodUndefined,"$ZodUnion",()=>o.$ZodUnion,"$ZodUnknown",()=>o.$ZodUnknown,"$ZodVoid",()=>o.$ZodVoid,"$ZodXID",()=>o.$ZodXID,"$ZodXor",()=>o.$ZodXor,"clone",()=>i.clone,"isValidBase64",()=>o.isValidBase64,"isValidBase64URL",()=>o.isValidBase64URL,"isValidJWT",()=>o.isValidJWT],662429),e.i(662429);var l=e.i(236608),u=e.i(622824),c=e.i(486618),d=e.i(421131);function p(e,t,r,i){let a=Math.abs(e),n=a%10,s=a%100;return s>=11&&s<=19?i:1===n?t:n>=2&&n<=4?r:i}function h(e,t,r){return 1===Math.abs(e)?t:r}function m(e){if(!e)return"";let t=e[e.length-1];return e+(["ա","ե","ը","ի","ո","ու","օ"].includes(t)?"ն":"ը")}function f(){let e,t,r;return{localeError:(e={string:{unit:"តួអក្សរ",verb:"គួរមាន"},file:{unit:"បៃ",verb:"គួរមាន"},array:{unit:"ធាតុ",verb:"គួរមាន"},set:{unit:"ធាតុ",verb:"គួរមាន"}},t={regex:"ទិន្នន័យបញ្ចូល",email:"អាសយដ្ឋានអ៊ីមែល",url:"URL",emoji:"សញ្ញាអារម្មណ៍",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"កាលបរិច្ឆេទ និងម៉ោង ISO",date:"កាលបរិច្ឆេទ ISO",time:"ម៉ោង ISO",duration:"រយៈពេល ISO",ipv4:"អាសយដ្ឋាន IPv4",ipv6:"អាសយដ្ឋាន IPv6",cidrv4:"ដែនអាសយដ្ឋាន IPv4",cidrv6:"ដែនអាសយដ្ឋាន IPv6",base64:"ខ្សែអក្សរអ៊ិកូដ base64",base64url:"ខ្សែអក្សរអ៊ិកូដ base64url",json_string:"ខ្សែអក្សរ JSON",e164:"លេខ E.164",jwt:"JWT",template_literal:"ទិន្នន័យបញ្ចូល"},r={nan:"NaN",number:"លេខ",array:"អារេ (Array)",null:"គ្មានតម្លៃ (null)"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ instanceof ${a.expected} ប៉ុន្តែទទួលបាន ${n}`;return`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${e} ប៉ុន្តែទទួលបាន ${n}`}case"invalid_value":if(1===a.values.length)return`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${i.stringifyPrimitive(a.values[0])}`;return`ជម្រើសមិនត្រឹមត្រូវ៖ ត្រូវជាមួយក្នុងចំណោម ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`ធំពេក៖ ត្រូវការ ${a.origin??"តម្លៃ"} ${t} ${a.maximum.toString()} ${r.unit??"ធាតុ"}`;return`ធំពេក៖ ត្រូវការ ${a.origin??"តម្លៃ"} ${t} ${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`តូចពេក៖ ត្រូវការ ${a.origin} ${t} ${a.minimum.toString()} ${r.unit}`;return`តូចពេក៖ ត្រូវការ ${a.origin} ${t} ${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវចាប់ផ្តើមដោយ "${a.prefix}"`;if("ends_with"===a.format)return`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវបញ្ចប់ដោយ "${a.suffix}"`;if("includes"===a.format)return`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវមាន "${a.includes}"`;if("regex"===a.format)return`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវតែផ្គូផ្គងនឹងទម្រង់ដែលបានកំណត់ ${a.pattern}`;return`មិនត្រឹមត្រូវ៖ ${t[a.format]??a.format}`;case"not_multiple_of":return`លេខមិនត្រឹមត្រូវ៖ ត្រូវតែជាពហុគុណនៃ ${a.divisor}`;case"unrecognized_keys":return`រកឃើញសោមិនស្គាល់៖ ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`សោមិនត្រឹមត្រូវនៅក្នុង ${a.origin}`;case"invalid_union":default:return"ទិន្នន័យមិនត្រឹមត្រូវ";case"invalid_element":return`ទិន្នន័យមិនត្រឹមត្រូវនៅក្នុង ${a.origin}`}})}}e.s([],879113),e.i(879113);let g=e=>e.charAt(0).toUpperCase()+e.slice(1);function y(e){let t=Math.abs(e),r=t%10,i=t%100;return i>=11&&i<=19||0===r?"many":1===r?"one":"few"}function w(e,t,r,i){let a=Math.abs(e),n=a%10,s=a%100;return s>=11&&s<=19?i:1===n?t:n>=2&&n<=4?r:i}function b(){let e,t,r;return{localeError:(e={string:{unit:"символів",verb:"матиме"},file:{unit:"байтів",verb:"матиме"},array:{unit:"елементів",verb:"матиме"},set:{unit:"елементів",verb:"матиме"}},t={regex:"вхідні дані",email:"адреса електронної пошти",url:"URL",emoji:"емодзі",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"дата та час ISO",date:"дата ISO",time:"час ISO",duration:"тривалість ISO",ipv4:"адреса IPv4",ipv6:"адреса IPv6",cidrv4:"діапазон IPv4",cidrv6:"діапазон IPv6",base64:"рядок у кодуванні base64",base64url:"рядок у кодуванні base64url",json_string:"рядок JSON",e164:"номер E.164",jwt:"JWT",template_literal:"вхідні дані"},r={nan:"NaN",number:"число",array:"масив"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Неправильні вхідні дані: очікується instanceof ${a.expected}, отримано ${n}`;return`Неправильні вхідні дані: очікується ${e}, отримано ${n}`}case"invalid_value":if(1===a.values.length)return`Неправильні вхідні дані: очікується ${i.stringifyPrimitive(a.values[0])}`;return`Неправильна опція: очікується одне з ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`Занадто велике: очікується, що ${a.origin??"значення"} ${r.verb} ${t}${a.maximum.toString()} ${r.unit??"елементів"}`;return`Занадто велике: очікується, що ${a.origin??"значення"} буде ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`Занадто мале: очікується, що ${a.origin} ${r.verb} ${t}${a.minimum.toString()} ${r.unit}`;return`Занадто мале: очікується, що ${a.origin} буде ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Неправильний рядок: повинен починатися з "${a.prefix}"`;if("ends_with"===a.format)return`Неправильний рядок: повинен закінчуватися на "${a.suffix}"`;if("includes"===a.format)return`Неправильний рядок: повинен містити "${a.includes}"`;if("regex"===a.format)return`Неправильний рядок: повинен відповідати шаблону ${a.pattern}`;return`Неправильний ${t[a.format]??a.format}`;case"not_multiple_of":return`Неправильне число: повинно бути кратним ${a.divisor}`;case"unrecognized_keys":return`Нерозпізнаний ключ${a.keys.length>1?"і":""}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Неправильний ключ у ${a.origin}`;case"invalid_union":default:return"Неправильні вхідні дані";case"invalid_element":return`Неправильне значення у ${a.origin}`}})}}e.s(["ar",0,function(){let e,t,r;return{localeError:(e={string:{unit:"حرف",verb:"أن يحوي"},file:{unit:"بايت",verb:"أن يحوي"},array:{unit:"عنصر",verb:"أن يحوي"},set:{unit:"عنصر",verb:"أن يحوي"}},t={regex:"مدخل",email:"بريد إلكتروني",url:"رابط",emoji:"إيموجي",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"تاريخ ووقت بمعيار ISO",date:"تاريخ بمعيار ISO",time:"وقت بمعيار ISO",duration:"مدة بمعيار ISO",ipv4:"عنوان IPv4",ipv6:"عنوان IPv6",cidrv4:"مدى عناوين بصيغة IPv4",cidrv6:"مدى عناوين بصيغة IPv6",base64:"نَص بترميز base64-encoded",base64url:"نَص بترميز base64url-encoded",json_string:"نَص على هيئة JSON",e164:"رقم هاتف بمعيار E.164",jwt:"JWT",template_literal:"مدخل"},r={nan:"NaN"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`مدخلات غير مقبولة: يفترض إدخال instanceof ${a.expected}، ولكن تم إدخال ${n}`;return`مدخلات غير مقبولة: يفترض إدخال ${e}، ولكن تم إدخال ${n}`}case"invalid_value":if(1===a.values.length)return`مدخلات غير مقبولة: يفترض إدخال ${i.stringifyPrimitive(a.values[0])}`;return`اختيار غير مقبول: يتوقع انتقاء أحد هذه الخيارات: ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return` أكبر من اللازم: يفترض أن تكون ${a.origin??"القيمة"} ${t} ${a.maximum.toString()} ${r.unit??"عنصر"}`;return`أكبر من اللازم: يفترض أن تكون ${a.origin??"القيمة"} ${t} ${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`أصغر من اللازم: يفترض لـ ${a.origin} أن يكون ${t} ${a.minimum.toString()} ${r.unit}`;return`أصغر من اللازم: يفترض لـ ${a.origin} أن يكون ${t} ${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`نَص غير مقبول: يجب أن يبدأ بـ "${a.prefix}"`;if("ends_with"===a.format)return`نَص غير مقبول: يجب أن ينتهي بـ "${a.suffix}"`;if("includes"===a.format)return`نَص غير مقبول: يجب أن يتضمَّن "${a.includes}"`;if("regex"===a.format)return`نَص غير مقبول: يجب أن يطابق النمط ${a.pattern}`;return`${t[a.format]??a.format} غير مقبول`;case"not_multiple_of":return`رقم غير مقبول: يجب أن يكون من مضاعفات ${a.divisor}`;case"unrecognized_keys":return`معرف${a.keys.length>1?"ات":""} غريب${a.keys.length>1?"ة":""}: ${i.joinValues(a.keys,"، ")}`;case"invalid_key":return`معرف غير مقبول في ${a.origin}`;case"invalid_union":default:return"مدخل غير مقبول";case"invalid_element":return`مدخل غير مقبول في ${a.origin}`}})}},"az",0,function(){let e,t,r;return{localeError:(e={string:{unit:"simvol",verb:"olmalıdır"},file:{unit:"bayt",verb:"olmalıdır"},array:{unit:"element",verb:"olmalıdır"},set:{unit:"element",verb:"olmalıdır"}},t={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},r={nan:"NaN"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Yanlış dəyər: g\xf6zlənilən instanceof ${a.expected}, daxil olan ${n}`;return`Yanlış dəyər: g\xf6zlənilən ${e}, daxil olan ${n}`}case"invalid_value":if(1===a.values.length)return`Yanlış dəyər: g\xf6zlənilən ${i.stringifyPrimitive(a.values[0])}`;return`Yanlış se\xe7im: aşağıdakılardan biri olmalıdır: ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`\xc7ox b\xf6y\xfck: g\xf6zlənilən ${a.origin??"dəyər"} ${t}${a.maximum.toString()} ${r.unit??"element"}`;return`\xc7ox b\xf6y\xfck: g\xf6zlənilən ${a.origin??"dəyər"} ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`\xc7ox ki\xe7ik: g\xf6zlənilən ${a.origin} ${t}${a.minimum.toString()} ${r.unit}`;return`\xc7ox ki\xe7ik: g\xf6zlənilən ${a.origin} ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Yanlış mətn: "${a.prefix}" ilə başlamalıdır`;if("ends_with"===a.format)return`Yanlış mətn: "${a.suffix}" ilə bitməlidir`;if("includes"===a.format)return`Yanlış mətn: "${a.includes}" daxil olmalıdır`;if("regex"===a.format)return`Yanlış mətn: ${a.pattern} şablonuna uyğun olmalıdır`;return`Yanlış ${t[a.format]??a.format}`;case"not_multiple_of":return`Yanlış ədəd: ${a.divisor} ilə b\xf6l\xfcnə bilən olmalıdır`;case"unrecognized_keys":return`Tanınmayan a\xe7ar${a.keys.length>1?"lar":""}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`${a.origin} daxilində yanlış a\xe7ar`;case"invalid_union":default:return"Yanlış dəyər";case"invalid_element":return`${a.origin} daxilində yanlış dəyər`}})}},"be",0,function(){let e,t,r;return{localeError:(e={string:{unit:{one:"сімвал",few:"сімвалы",many:"сімвалаў"},verb:"мець"},array:{unit:{one:"элемент",few:"элементы",many:"элементаў"},verb:"мець"},set:{unit:{one:"элемент",few:"элементы",many:"элементаў"},verb:"мець"},file:{unit:{one:"байт",few:"байты",many:"байтаў"},verb:"мець"}},t={regex:"увод",email:"email адрас",url:"URL",emoji:"эмодзі",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO дата і час",date:"ISO дата",time:"ISO час",duration:"ISO працягласць",ipv4:"IPv4 адрас",ipv6:"IPv6 адрас",cidrv4:"IPv4 дыяпазон",cidrv6:"IPv6 дыяпазон",base64:"радок у фармаце base64",base64url:"радок у фармаце base64url",json_string:"JSON радок",e164:"нумар E.164",jwt:"JWT",template_literal:"увод"},r={nan:"NaN",number:"лік",array:"масіў"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Няправільны ўвод: чакаўся instanceof ${a.expected}, атрымана ${n}`;return`Няправільны ўвод: чакаўся ${e}, атрымана ${n}`}case"invalid_value":if(1===a.values.length)return`Няправільны ўвод: чакалася ${i.stringifyPrimitive(a.values[0])}`;return`Няправільны варыянт: чакаўся адзін з ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r){let e=p(Number(a.maximum),r.unit.one,r.unit.few,r.unit.many);return`Занадта вялікі: чакалася, што ${a.origin??"значэнне"} павінна ${r.verb} ${t}${a.maximum.toString()} ${e}`}return`Занадта вялікі: чакалася, што ${a.origin??"значэнне"} павінна быць ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r){let e=p(Number(a.minimum),r.unit.one,r.unit.few,r.unit.many);return`Занадта малы: чакалася, што ${a.origin} павінна ${r.verb} ${t}${a.minimum.toString()} ${e}`}return`Занадта малы: чакалася, што ${a.origin} павінна быць ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Няправільны радок: павінен пачынацца з "${a.prefix}"`;if("ends_with"===a.format)return`Няправільны радок: павінен заканчвацца на "${a.suffix}"`;if("includes"===a.format)return`Няправільны радок: павінен змяшчаць "${a.includes}"`;if("regex"===a.format)return`Няправільны радок: павінен адпавядаць шаблону ${a.pattern}`;return`Няправільны ${t[a.format]??a.format}`;case"not_multiple_of":return`Няправільны лік: павінен быць кратным ${a.divisor}`;case"unrecognized_keys":return`Нераспазнаны ${a.keys.length>1?"ключы":"ключ"}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Няправільны ключ у ${a.origin}`;case"invalid_union":default:return"Няправільны ўвод";case"invalid_element":return`Няправільнае значэнне ў ${a.origin}`}})}},"bg",0,function(){let e,t,r;return{localeError:(e={string:{unit:"символа",verb:"да съдържа"},file:{unit:"байта",verb:"да съдържа"},array:{unit:"елемента",verb:"да съдържа"},set:{unit:"елемента",verb:"да съдържа"}},t={regex:"вход",email:"имейл адрес",url:"URL",emoji:"емоджи",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO време",date:"ISO дата",time:"ISO време",duration:"ISO продължителност",ipv4:"IPv4 адрес",ipv6:"IPv6 адрес",cidrv4:"IPv4 диапазон",cidrv6:"IPv6 диапазон",base64:"base64-кодиран низ",base64url:"base64url-кодиран низ",json_string:"JSON низ",e164:"E.164 номер",jwt:"JWT",template_literal:"вход"},r={nan:"NaN",number:"число",array:"масив"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Невалиден вход: очакван instanceof ${a.expected}, получен ${n}`;return`Невалиден вход: очакван ${e}, получен ${n}`}case"invalid_value":if(1===a.values.length)return`Невалиден вход: очакван ${i.stringifyPrimitive(a.values[0])}`;return`Невалидна опция: очаквано едно от ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`Твърде голямо: очаква се ${a.origin??"стойност"} да съдържа ${t}${a.maximum.toString()} ${r.unit??"елемента"}`;return`Твърде голямо: очаква се ${a.origin??"стойност"} да бъде ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`Твърде малко: очаква се ${a.origin} да съдържа ${t}${a.minimum.toString()} ${r.unit}`;return`Твърде малко: очаква се ${a.origin} да бъде ${t}${a.minimum.toString()}`}case"invalid_format":{if("starts_with"===a.format)return`Невалиден низ: трябва да започва с "${a.prefix}"`;if("ends_with"===a.format)return`Невалиден низ: трябва да завършва с "${a.suffix}"`;if("includes"===a.format)return`Невалиден низ: трябва да включва "${a.includes}"`;if("regex"===a.format)return`Невалиден низ: трябва да съвпада с ${a.pattern}`;let e="Невалиден";return"emoji"===a.format&&(e="Невалидно"),"datetime"===a.format&&(e="Невалидно"),"date"===a.format&&(e="Невалидна"),"time"===a.format&&(e="Невалидно"),"duration"===a.format&&(e="Невалидна"),`${e} ${t[a.format]??a.format}`}case"not_multiple_of":return`Невалидно число: трябва да бъде кратно на ${a.divisor}`;case"unrecognized_keys":return`Неразпознат${a.keys.length>1?"и":""} ключ${a.keys.length>1?"ове":""}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Невалиден ключ в ${a.origin}`;case"invalid_union":default:return"Невалиден вход";case"invalid_element":return`Невалидна стойност в ${a.origin}`}})}},"ca",0,function(){let e,t,r;return{localeError:(e={string:{unit:"caràcters",verb:"contenir"},file:{unit:"bytes",verb:"contenir"},array:{unit:"elements",verb:"contenir"},set:{unit:"elements",verb:"contenir"}},t={regex:"entrada",email:"adreça electrònica",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i hora ISO",date:"data ISO",time:"hora ISO",duration:"durada ISO",ipv4:"adreça IPv4",ipv6:"adreça IPv6",cidrv4:"rang IPv4",cidrv6:"rang IPv6",base64:"cadena codificada en base64",base64url:"cadena codificada en base64url",json_string:"cadena JSON",e164:"número E.164",jwt:"JWT",template_literal:"entrada"},r={nan:"NaN"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Tipus inv\xe0lid: s'esperava instanceof ${a.expected}, s'ha rebut ${n}`;return`Tipus inv\xe0lid: s'esperava ${e}, s'ha rebut ${n}`}case"invalid_value":if(1===a.values.length)return`Valor inv\xe0lid: s'esperava ${i.stringifyPrimitive(a.values[0])}`;return`Opci\xf3 inv\xe0lida: s'esperava una de ${i.joinValues(a.values," o ")}`;case"too_big":{let t=a.inclusive?"com a màxim":"menys de",r=e[a.origin]??null;if(r)return`Massa gran: s'esperava que ${a.origin??"el valor"} contingu\xe9s ${t} ${a.maximum.toString()} ${r.unit??"elements"}`;return`Massa gran: s'esperava que ${a.origin??"el valor"} fos ${t} ${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?"com a mínim":"més de",r=e[a.origin]??null;if(r)return`Massa petit: s'esperava que ${a.origin} contingu\xe9s ${t} ${a.minimum.toString()} ${r.unit}`;return`Massa petit: s'esperava que ${a.origin} fos ${t} ${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Format inv\xe0lid: ha de comen\xe7ar amb "${a.prefix}"`;if("ends_with"===a.format)return`Format inv\xe0lid: ha d'acabar amb "${a.suffix}"`;if("includes"===a.format)return`Format inv\xe0lid: ha d'incloure "${a.includes}"`;if("regex"===a.format)return`Format inv\xe0lid: ha de coincidir amb el patr\xf3 ${a.pattern}`;return`Format inv\xe0lid per a ${t[a.format]??a.format}`;case"not_multiple_of":return`N\xfamero inv\xe0lid: ha de ser m\xfaltiple de ${a.divisor}`;case"unrecognized_keys":return`Clau${a.keys.length>1?"s":""} no reconeguda${a.keys.length>1?"s":""}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Clau inv\xe0lida a ${a.origin}`;case"invalid_union":default:return"Entrada invàlida";case"invalid_element":return`Element inv\xe0lid a ${a.origin}`}})}},"cs",0,function(){let e,t,r;return{localeError:(e={string:{unit:"znaků",verb:"mít"},file:{unit:"bajtů",verb:"mít"},array:{unit:"prvků",verb:"mít"},set:{unit:"prvků",verb:"mít"}},t={regex:"regulární výraz",email:"e-mailová adresa",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"datum a čas ve formátu ISO",date:"datum ve formátu ISO",time:"čas ve formátu ISO",duration:"doba trvání ISO",ipv4:"IPv4 adresa",ipv6:"IPv6 adresa",cidrv4:"rozsah IPv4",cidrv6:"rozsah IPv6",base64:"řetězec zakódovaný ve formátu base64",base64url:"řetězec zakódovaný ve formátu base64url",json_string:"řetězec ve formátu JSON",e164:"číslo E.164",jwt:"JWT",template_literal:"vstup"},r={nan:"NaN",number:"číslo",string:"řetězec",function:"funkce",array:"pole"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Neplatn\xfd vstup: oček\xe1v\xe1no instanceof ${a.expected}, obdrženo ${n}`;return`Neplatn\xfd vstup: oček\xe1v\xe1no ${e}, obdrženo ${n}`}case"invalid_value":if(1===a.values.length)return`Neplatn\xfd vstup: oček\xe1v\xe1no ${i.stringifyPrimitive(a.values[0])}`;return`Neplatn\xe1 možnost: oček\xe1v\xe1na jedna z hodnot ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`Hodnota je př\xedliš velk\xe1: ${a.origin??"hodnota"} mus\xed m\xedt ${t}${a.maximum.toString()} ${r.unit??"prvků"}`;return`Hodnota je př\xedliš velk\xe1: ${a.origin??"hodnota"} mus\xed b\xfdt ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`Hodnota je př\xedliš mal\xe1: ${a.origin??"hodnota"} mus\xed m\xedt ${t}${a.minimum.toString()} ${r.unit??"prvků"}`;return`Hodnota je př\xedliš mal\xe1: ${a.origin??"hodnota"} mus\xed b\xfdt ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Neplatn\xfd řetězec: mus\xed zač\xednat na "${a.prefix}"`;if("ends_with"===a.format)return`Neplatn\xfd řetězec: mus\xed končit na "${a.suffix}"`;if("includes"===a.format)return`Neplatn\xfd řetězec: mus\xed obsahovat "${a.includes}"`;if("regex"===a.format)return`Neplatn\xfd řetězec: mus\xed odpov\xeddat vzoru ${a.pattern}`;return`Neplatn\xfd form\xe1t ${t[a.format]??a.format}`;case"not_multiple_of":return`Neplatn\xe9 č\xedslo: mus\xed b\xfdt n\xe1sobkem ${a.divisor}`;case"unrecognized_keys":return`Nezn\xe1m\xe9 kl\xedče: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Neplatn\xfd kl\xedč v ${a.origin}`;case"invalid_union":default:return"Neplatný vstup";case"invalid_element":return`Neplatn\xe1 hodnota v ${a.origin}`}})}},"da",0,function(){let e,t,r;return{localeError:(e={string:{unit:"tegn",verb:"havde"},file:{unit:"bytes",verb:"havde"},array:{unit:"elementer",verb:"indeholdt"},set:{unit:"elementer",verb:"indeholdt"}},t={regex:"input",email:"e-mailadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkeslæt",date:"ISO-dato",time:"ISO-klokkeslæt",duration:"ISO-varighed",ipv4:"IPv4-område",ipv6:"IPv6-område",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodet streng",base64url:"base64url-kodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"},r={nan:"NaN",string:"streng",number:"tal",boolean:"boolean",array:"liste",object:"objekt",set:"sæt",file:"fil"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Ugyldigt input: forventede instanceof ${a.expected}, fik ${n}`;return`Ugyldigt input: forventede ${e}, fik ${n}`}case"invalid_value":if(1===a.values.length)return`Ugyldig v\xe6rdi: forventede ${i.stringifyPrimitive(a.values[0])}`;return`Ugyldigt valg: forventede en af f\xf8lgende ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",i=e[a.origin]??null,n=r[a.origin]??a.origin;if(i)return`For stor: forventede ${n??"value"} ${i.verb} ${t} ${a.maximum.toString()} ${i.unit??"elementer"}`;return`For stor: forventede ${n??"value"} havde ${t} ${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",i=e[a.origin]??null,n=r[a.origin]??a.origin;if(i)return`For lille: forventede ${n} ${i.verb} ${t} ${a.minimum.toString()} ${i.unit}`;return`For lille: forventede ${n} havde ${t} ${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Ugyldig streng: skal starte med "${a.prefix}"`;if("ends_with"===a.format)return`Ugyldig streng: skal ende med "${a.suffix}"`;if("includes"===a.format)return`Ugyldig streng: skal indeholde "${a.includes}"`;if("regex"===a.format)return`Ugyldig streng: skal matche m\xf8nsteret ${a.pattern}`;return`Ugyldig ${t[a.format]??a.format}`;case"not_multiple_of":return`Ugyldigt tal: skal v\xe6re deleligt med ${a.divisor}`;case"unrecognized_keys":return`${a.keys.length>1?"Ukendte nøgler":"Ukendt nøgle"}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Ugyldig n\xf8gle i ${a.origin}`;case"invalid_union":return"Ugyldigt input: matcher ingen af de tilladte typer";case"invalid_element":return`Ugyldig v\xe6rdi i ${a.origin}`;default:return"Ugyldigt input"}})}},"de",0,function(){let e,t,r;return{localeError:(e={string:{unit:"Zeichen",verb:"zu haben"},file:{unit:"Bytes",verb:"zu haben"},array:{unit:"Elemente",verb:"zu haben"},set:{unit:"Elemente",verb:"zu haben"}},t={regex:"Eingabe",email:"E-Mail-Adresse",url:"URL",emoji:"Emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-Datum und -Uhrzeit",date:"ISO-Datum",time:"ISO-Uhrzeit",duration:"ISO-Dauer",ipv4:"IPv4-Adresse",ipv6:"IPv6-Adresse",cidrv4:"IPv4-Bereich",cidrv6:"IPv6-Bereich",base64:"Base64-codierter String",base64url:"Base64-URL-codierter String",json_string:"JSON-String",e164:"E.164-Nummer",jwt:"JWT",template_literal:"Eingabe"},r={nan:"NaN",number:"Zahl",array:"Array"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Ung\xfcltige Eingabe: erwartet instanceof ${a.expected}, erhalten ${n}`;return`Ung\xfcltige Eingabe: erwartet ${e}, erhalten ${n}`}case"invalid_value":if(1===a.values.length)return`Ung\xfcltige Eingabe: erwartet ${i.stringifyPrimitive(a.values[0])}`;return`Ung\xfcltige Option: erwartet eine von ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`Zu gro\xdf: erwartet, dass ${a.origin??"Wert"} ${t}${a.maximum.toString()} ${r.unit??"Elemente"} hat`;return`Zu gro\xdf: erwartet, dass ${a.origin??"Wert"} ${t}${a.maximum.toString()} ist`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`Zu klein: erwartet, dass ${a.origin} ${t}${a.minimum.toString()} ${r.unit} hat`;return`Zu klein: erwartet, dass ${a.origin} ${t}${a.minimum.toString()} ist`}case"invalid_format":if("starts_with"===a.format)return`Ung\xfcltiger String: muss mit "${a.prefix}" beginnen`;if("ends_with"===a.format)return`Ung\xfcltiger String: muss mit "${a.suffix}" enden`;if("includes"===a.format)return`Ung\xfcltiger String: muss "${a.includes}" enthalten`;if("regex"===a.format)return`Ung\xfcltiger String: muss dem Muster ${a.pattern} entsprechen`;return`Ung\xfcltig: ${t[a.format]??a.format}`;case"not_multiple_of":return`Ung\xfcltige Zahl: muss ein Vielfaches von ${a.divisor} sein`;case"unrecognized_keys":return`${a.keys.length>1?"Unbekannte Schlüssel":"Unbekannter Schlüssel"}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Ung\xfcltiger Schl\xfcssel in ${a.origin}`;case"invalid_union":default:return"Ungültige Eingabe";case"invalid_element":return`Ung\xfcltiger Wert in ${a.origin}`}})}},"el",0,function(){let e,t,r;return{localeError:(e={string:{unit:"χαρακτήρες",verb:"να έχει"},file:{unit:"bytes",verb:"να έχει"},array:{unit:"στοιχεία",verb:"να έχει"},set:{unit:"στοιχεία",verb:"να έχει"},map:{unit:"καταχωρήσεις",verb:"να έχει"}},t={regex:"είσοδος",email:"διεύθυνση email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO ημερομηνία και ώρα",date:"ISO ημερομηνία",time:"ISO ώρα",duration:"ISO διάρκεια",ipv4:"διεύθυνση IPv4",ipv6:"διεύθυνση IPv6",mac:"διεύθυνση MAC",cidrv4:"εύρος IPv4",cidrv6:"εύρος IPv6",base64:"συμβολοσειρά κωδικοποιημένη σε base64",base64url:"συμβολοσειρά κωδικοποιημένη σε base64url",json_string:"συμβολοσειρά JSON",e164:"αριθμός E.164",jwt:"JWT",template_literal:"είσοδος"},r={nan:"NaN"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if("string"==typeof a.expected&&/^[A-Z]/.test(a.expected))return`Μη έγκυρη είσοδος: αναμενόταν instanceof ${a.expected}, λήφθηκε ${n}`;return`Μη έγκυρη είσοδος: αναμενόταν ${e}, λήφθηκε ${n}`}case"invalid_value":if(1===a.values.length)return`Μη έγκυρη είσοδος: αναμενόταν ${i.stringifyPrimitive(a.values[0])}`;return`Μη έγκυρη επιλογή: αναμενόταν ένα από ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`Πολύ μεγάλο: αναμενόταν ${a.origin??"τιμή"} να έχει ${t}${a.maximum.toString()} ${r.unit??"στοιχεία"}`;return`Πολύ μεγάλο: αναμενόταν ${a.origin??"τιμή"} να είναι ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`Πολύ μικρό: αναμενόταν ${a.origin} να έχει ${t}${a.minimum.toString()} ${r.unit}`;return`Πολύ μικρό: αναμενόταν ${a.origin} να είναι ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Μη έγκυρη συμβολοσειρά: πρέπει να ξεκινά με "${a.prefix}"`;if("ends_with"===a.format)return`Μη έγκυρη συμβολοσειρά: πρέπει να τελειώνει με "${a.suffix}"`;if("includes"===a.format)return`Μη έγκυρη συμβολοσειρά: πρέπει να περιέχει "${a.includes}"`;if("regex"===a.format)return`Μη έγκυρη συμβολοσειρά: πρέπει να ταιριάζει με το μοτίβο ${a.pattern}`;return`Μη έγκυρο: ${t[a.format]??a.format}`;case"not_multiple_of":return`Μη έγκυρος αριθμός: πρέπει να είναι πολλαπλάσιο του ${a.divisor}`;case"unrecognized_keys":return`Άγνωστ${a.keys.length>1?"α":"ο"} κλειδ${a.keys.length>1?"ιά":"ί"}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Μη έγκυρο κλειδί στο ${a.origin}`;case"invalid_union":default:return"Μη έγκυρη είσοδος";case"invalid_element":return`Μη έγκυρη τιμή στο ${a.origin}`}})}},"en",0,a,"eo",0,function(){let e,t,r;return{localeError:(e={string:{unit:"karaktrojn",verb:"havi"},file:{unit:"bajtojn",verb:"havi"},array:{unit:"elementojn",verb:"havi"},set:{unit:"elementojn",verb:"havi"}},t={regex:"enigo",email:"retadreso",url:"URL",emoji:"emoĝio",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datotempo",date:"ISO-dato",time:"ISO-tempo",duration:"ISO-daŭro",ipv4:"IPv4-adreso",ipv6:"IPv6-adreso",cidrv4:"IPv4-rango",cidrv6:"IPv6-rango",base64:"64-ume kodita karaktraro",base64url:"URL-64-ume kodita karaktraro",json_string:"JSON-karaktraro",e164:"E.164-nombro",jwt:"JWT",template_literal:"enigo"},r={nan:"NaN",number:"nombro",array:"tabelo",null:"senvalora"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Nevalida enigo: atendiĝis instanceof ${a.expected}, riceviĝis ${n}`;return`Nevalida enigo: atendiĝis ${e}, riceviĝis ${n}`}case"invalid_value":if(1===a.values.length)return`Nevalida enigo: atendiĝis ${i.stringifyPrimitive(a.values[0])}`;return`Nevalida opcio: atendiĝis unu el ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`Tro granda: atendiĝis ke ${a.origin??"valoro"} havu ${t}${a.maximum.toString()} ${r.unit??"elementojn"}`;return`Tro granda: atendiĝis ke ${a.origin??"valoro"} havu ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`Tro malgranda: atendiĝis ke ${a.origin} havu ${t}${a.minimum.toString()} ${r.unit}`;return`Tro malgranda: atendiĝis ke ${a.origin} estu ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Nevalida karaktraro: devas komenciĝi per "${a.prefix}"`;if("ends_with"===a.format)return`Nevalida karaktraro: devas finiĝi per "${a.suffix}"`;if("includes"===a.format)return`Nevalida karaktraro: devas inkluzivi "${a.includes}"`;if("regex"===a.format)return`Nevalida karaktraro: devas kongrui kun la modelo ${a.pattern}`;return`Nevalida ${t[a.format]??a.format}`;case"not_multiple_of":return`Nevalida nombro: devas esti oblo de ${a.divisor}`;case"unrecognized_keys":return`Nekonata${a.keys.length>1?"j":""} ŝlosilo${a.keys.length>1?"j":""}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Nevalida ŝlosilo en ${a.origin}`;case"invalid_union":default:return"Nevalida enigo";case"invalid_element":return`Nevalida valoro en ${a.origin}`}})}},"es",0,function(){let e,t,r;return{localeError:(e={string:{unit:"caracteres",verb:"tener"},file:{unit:"bytes",verb:"tener"},array:{unit:"elementos",verb:"tener"},set:{unit:"elementos",verb:"tener"}},t={regex:"entrada",email:"dirección de correo electrónico",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"fecha y hora ISO",date:"fecha ISO",time:"hora ISO",duration:"duración ISO",ipv4:"dirección IPv4",ipv6:"dirección IPv6",cidrv4:"rango IPv4",cidrv6:"rango IPv6",base64:"cadena codificada en base64",base64url:"URL codificada en base64",json_string:"cadena JSON",e164:"número E.164",jwt:"JWT",template_literal:"entrada"},r={nan:"NaN",string:"texto",number:"número",boolean:"booleano",array:"arreglo",object:"objeto",set:"conjunto",file:"archivo",date:"fecha",bigint:"número grande",symbol:"símbolo",undefined:"indefinido",null:"nulo",function:"función",map:"mapa",record:"registro",tuple:"tupla",enum:"enumeración",union:"unión",literal:"literal",promise:"promesa",void:"vacío",never:"nunca",unknown:"desconocido",any:"cualquiera"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Entrada inv\xe1lida: se esperaba instanceof ${a.expected}, recibido ${n}`;return`Entrada inv\xe1lida: se esperaba ${e}, recibido ${n}`}case"invalid_value":if(1===a.values.length)return`Entrada inv\xe1lida: se esperaba ${i.stringifyPrimitive(a.values[0])}`;return`Opci\xf3n inv\xe1lida: se esperaba una de ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",i=e[a.origin]??null,n=r[a.origin]??a.origin;if(i)return`Demasiado grande: se esperaba que ${n??"valor"} tuviera ${t}${a.maximum.toString()} ${i.unit??"elementos"}`;return`Demasiado grande: se esperaba que ${n??"valor"} fuera ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",i=e[a.origin]??null,n=r[a.origin]??a.origin;if(i)return`Demasiado peque\xf1o: se esperaba que ${n} tuviera ${t}${a.minimum.toString()} ${i.unit}`;return`Demasiado peque\xf1o: se esperaba que ${n} fuera ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Cadena inv\xe1lida: debe comenzar con "${a.prefix}"`;if("ends_with"===a.format)return`Cadena inv\xe1lida: debe terminar en "${a.suffix}"`;if("includes"===a.format)return`Cadena inv\xe1lida: debe incluir "${a.includes}"`;if("regex"===a.format)return`Cadena inv\xe1lida: debe coincidir con el patr\xf3n ${a.pattern}`;return`Inv\xe1lido ${t[a.format]??a.format}`;case"not_multiple_of":return`N\xfamero inv\xe1lido: debe ser m\xfaltiplo de ${a.divisor}`;case"unrecognized_keys":return`Llave${a.keys.length>1?"s":""} desconocida${a.keys.length>1?"s":""}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Llave inv\xe1lida en ${r[a.origin]??a.origin}`;case"invalid_union":default:return"Entrada inválida";case"invalid_element":return`Valor inv\xe1lido en ${r[a.origin]??a.origin}`}})}},"fa",0,function(){let e,t,r;return{localeError:(e={string:{unit:"کاراکتر",verb:"داشته باشد"},file:{unit:"بایت",verb:"داشته باشد"},array:{unit:"آیتم",verb:"داشته باشد"},set:{unit:"آیتم",verb:"داشته باشد"}},t={regex:"ورودی",email:"آدرس ایمیل",url:"URL",emoji:"ایموجی",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"تاریخ و زمان ایزو",date:"تاریخ ایزو",time:"زمان ایزو",duration:"مدت زمان ایزو",ipv4:"IPv4 آدرس",ipv6:"IPv6 آدرس",cidrv4:"IPv4 دامنه",cidrv6:"IPv6 دامنه",base64:"base64-encoded رشته",base64url:"base64url-encoded رشته",json_string:"JSON رشته",e164:"E.164 عدد",jwt:"JWT",template_literal:"ورودی"},r={nan:"NaN",number:"عدد",array:"آرایه"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`ورودی نامعتبر: می‌بایست instanceof ${a.expected} می‌بود، ${n} دریافت شد`;return`ورودی نامعتبر: می‌بایست ${e} می‌بود، ${n} دریافت شد`}case"invalid_value":if(1===a.values.length)return`ورودی نامعتبر: می‌بایست ${i.stringifyPrimitive(a.values[0])} می‌بود`;return`گزینه نامعتبر: می‌بایست یکی از ${i.joinValues(a.values,"|")} می‌بود`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`خیلی بزرگ: ${a.origin??"مقدار"} باید ${t}${a.maximum.toString()} ${r.unit??"عنصر"} باشد`;return`خیلی بزرگ: ${a.origin??"مقدار"} باید ${t}${a.maximum.toString()} باشد`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`خیلی کوچک: ${a.origin} باید ${t}${a.minimum.toString()} ${r.unit} باشد`;return`خیلی کوچک: ${a.origin} باید ${t}${a.minimum.toString()} باشد`}case"invalid_format":if("starts_with"===a.format)return`رشته نامعتبر: باید با "${a.prefix}" شروع شود`;if("ends_with"===a.format)return`رشته نامعتبر: باید با "${a.suffix}" تمام شود`;if("includes"===a.format)return`رشته نامعتبر: باید شامل "${a.includes}" باشد`;if("regex"===a.format)return`رشته نامعتبر: باید با الگوی ${a.pattern} مطابقت داشته باشد`;return`${t[a.format]??a.format} نامعتبر`;case"not_multiple_of":return`عدد نامعتبر: باید مضرب ${a.divisor} باشد`;case"unrecognized_keys":return`کلید${a.keys.length>1?"های":""} ناشناس: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`کلید ناشناس در ${a.origin}`;case"invalid_union":default:return"ورودی نامعتبر";case"invalid_element":return`مقدار نامعتبر در ${a.origin}`}})}},"fi",0,function(){let e,t,r;return{localeError:(e={string:{unit:"merkkiä",subject:"merkkijonon"},file:{unit:"tavua",subject:"tiedoston"},array:{unit:"alkiota",subject:"listan"},set:{unit:"alkiota",subject:"joukon"},number:{unit:"",subject:"luvun"},bigint:{unit:"",subject:"suuren kokonaisluvun"},int:{unit:"",subject:"kokonaisluvun"},date:{unit:"",subject:"päivämäärän"}},t={regex:"säännöllinen lauseke",email:"sähköpostiosoite",url:"URL-osoite",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-aikaleima",date:"ISO-päivämäärä",time:"ISO-aika",duration:"ISO-kesto",ipv4:"IPv4-osoite",ipv6:"IPv6-osoite",cidrv4:"IPv4-alue",cidrv6:"IPv6-alue",base64:"base64-koodattu merkkijono",base64url:"base64url-koodattu merkkijono",json_string:"JSON-merkkijono",e164:"E.164-luku",jwt:"JWT",template_literal:"templaattimerkkijono"},r={nan:"NaN"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Virheellinen tyyppi: odotettiin instanceof ${a.expected}, oli ${n}`;return`Virheellinen tyyppi: odotettiin ${e}, oli ${n}`}case"invalid_value":if(1===a.values.length)return`Virheellinen sy\xf6te: t\xe4ytyy olla ${i.stringifyPrimitive(a.values[0])}`;return`Virheellinen valinta: t\xe4ytyy olla yksi seuraavista: ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`Liian suuri: ${r.subject} t\xe4ytyy olla ${t}${a.maximum.toString()} ${r.unit}`.trim();return`Liian suuri: arvon t\xe4ytyy olla ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`Liian pieni: ${r.subject} t\xe4ytyy olla ${t}${a.minimum.toString()} ${r.unit}`.trim();return`Liian pieni: arvon t\xe4ytyy olla ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Virheellinen sy\xf6te: t\xe4ytyy alkaa "${a.prefix}"`;if("ends_with"===a.format)return`Virheellinen sy\xf6te: t\xe4ytyy loppua "${a.suffix}"`;if("includes"===a.format)return`Virheellinen sy\xf6te: t\xe4ytyy sis\xe4lt\xe4\xe4 "${a.includes}"`;if("regex"===a.format)return`Virheellinen sy\xf6te: t\xe4ytyy vastata s\xe4\xe4nn\xf6llist\xe4 lauseketta ${a.pattern}`;return`Virheellinen ${t[a.format]??a.format}`;case"not_multiple_of":return`Virheellinen luku: t\xe4ytyy olla luvun ${a.divisor} monikerta`;case"unrecognized_keys":return`${a.keys.length>1?"Tuntemattomat avaimet":"Tuntematon avain"}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return"Virheellinen avain tietueessa";case"invalid_union":return"Virheellinen unioni";case"invalid_element":return"Virheellinen arvo joukossa";default:return"Virheellinen syöte"}})}},"fr",0,function(){let e,t,r;return{localeError:(e={string:{unit:"caractères",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"éléments",verb:"avoir"},set:{unit:"éléments",verb:"avoir"}},t={regex:"entrée",email:"adresse e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date et heure ISO",date:"date ISO",time:"heure ISO",duration:"durée ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"chaîne encodée en base64",base64url:"chaîne encodée en base64url",json_string:"chaîne JSON",e164:"numéro E.164",jwt:"JWT",template_literal:"entrée"},r={string:"chaîne",number:"nombre",int:"entier",boolean:"booléen",bigint:"grand entier",symbol:"symbole",undefined:"indéfini",null:"null",never:"jamais",void:"vide",date:"date",array:"tableau",object:"objet",tuple:"tuple",record:"enregistrement",map:"carte",set:"ensemble",file:"fichier",nonoptional:"non-optionnel",nan:"NaN",function:"fonction"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Entr\xe9e invalide : instanceof ${a.expected} attendu, ${n} re\xe7u`;return`Entr\xe9e invalide : ${e} attendu, ${n} re\xe7u`}case"invalid_value":if(1===a.values.length)return`Entr\xe9e invalide : ${i.stringifyPrimitive(a.values[0])} attendu`;return`Option invalide : une valeur parmi ${i.joinValues(a.values,"|")} attendue`;case"too_big":{let t=a.inclusive?"<=":"<",i=e[a.origin]??null;if(i)return`Trop grand : ${r[a.origin]??"valeur"} doit ${i.verb} ${t}${a.maximum.toString()} ${i.unit??"élément(s)"}`;return`Trop grand : ${r[a.origin]??"valeur"} doit \xeatre ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",i=e[a.origin]??null;if(i)return`Trop petit : ${r[a.origin]??"valeur"} doit ${i.verb} ${t}${a.minimum.toString()} ${i.unit}`;return`Trop petit : ${r[a.origin]??"valeur"} doit \xeatre ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Cha\xeene invalide : doit commencer par "${a.prefix}"`;if("ends_with"===a.format)return`Cha\xeene invalide : doit se terminer par "${a.suffix}"`;if("includes"===a.format)return`Cha\xeene invalide : doit inclure "${a.includes}"`;if("regex"===a.format)return`Cha\xeene invalide : doit correspondre au mod\xe8le ${a.pattern}`;return`${t[a.format]??a.format} invalide`;case"not_multiple_of":return`Nombre invalide : doit \xeatre un multiple de ${a.divisor}`;case"unrecognized_keys":return`Cl\xe9${a.keys.length>1?"s":""} non reconnue${a.keys.length>1?"s":""} : ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Cl\xe9 invalide dans ${a.origin}`;case"invalid_union":default:return"Entrée invalide";case"invalid_element":return`Valeur invalide dans ${a.origin}`}})}},"frCA",0,function(){let e,t,r;return{localeError:(e={string:{unit:"caractères",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"éléments",verb:"avoir"},set:{unit:"éléments",verb:"avoir"}},t={regex:"entrée",email:"adresse courriel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date-heure ISO",date:"date ISO",time:"heure ISO",duration:"durée ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"chaîne encodée en base64",base64url:"chaîne encodée en base64url",json_string:"chaîne JSON",e164:"numéro E.164",jwt:"JWT",template_literal:"entrée"},r={nan:"NaN"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Entr\xe9e invalide : attendu instanceof ${a.expected}, re\xe7u ${n}`;return`Entr\xe9e invalide : attendu ${e}, re\xe7u ${n}`}case"invalid_value":if(1===a.values.length)return`Entr\xe9e invalide : attendu ${i.stringifyPrimitive(a.values[0])}`;return`Option invalide : attendu l'une des valeurs suivantes ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"≤":"<",r=e[a.origin]??null;if(r)return`Trop grand : attendu que ${a.origin??"la valeur"} ait ${t}${a.maximum.toString()} ${r.unit}`;return`Trop grand : attendu que ${a.origin??"la valeur"} soit ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?"≥":">",r=e[a.origin]??null;if(r)return`Trop petit : attendu que ${a.origin} ait ${t}${a.minimum.toString()} ${r.unit}`;return`Trop petit : attendu que ${a.origin} soit ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Cha\xeene invalide : doit commencer par "${a.prefix}"`;if("ends_with"===a.format)return`Cha\xeene invalide : doit se terminer par "${a.suffix}"`;if("includes"===a.format)return`Cha\xeene invalide : doit inclure "${a.includes}"`;if("regex"===a.format)return`Cha\xeene invalide : doit correspondre au motif ${a.pattern}`;return`${t[a.format]??a.format} invalide`;case"not_multiple_of":return`Nombre invalide : doit \xeatre un multiple de ${a.divisor}`;case"unrecognized_keys":return`Cl\xe9${a.keys.length>1?"s":""} non reconnue${a.keys.length>1?"s":""} : ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Cl\xe9 invalide dans ${a.origin}`;case"invalid_union":default:return"Entrée invalide";case"invalid_element":return`Valeur invalide dans ${a.origin}`}})}},"he",0,function(){let e,t,r,a,n,s,o,l,u;return{localeError:(e={string:{label:"מחרוזת",gender:"f"},number:{label:"מספר",gender:"m"},boolean:{label:"ערך בוליאני",gender:"m"},bigint:{label:"BigInt",gender:"m"},date:{label:"תאריך",gender:"m"},array:{label:"מערך",gender:"m"},object:{label:"אובייקט",gender:"m"},null:{label:"ערך ריק (null)",gender:"m"},undefined:{label:"ערך לא מוגדר (undefined)",gender:"m"},symbol:{label:"סימבול (Symbol)",gender:"m"},function:{label:"פונקציה",gender:"f"},map:{label:"מפה (Map)",gender:"f"},set:{label:"קבוצה (Set)",gender:"f"},file:{label:"קובץ",gender:"m"},promise:{label:"Promise",gender:"m"},NaN:{label:"NaN",gender:"m"},unknown:{label:"ערך לא ידוע",gender:"m"},value:{label:"ערך",gender:"m"}},t={string:{unit:"תווים",shortLabel:"קצר",longLabel:"ארוך"},file:{unit:"בייטים",shortLabel:"קטן",longLabel:"גדול"},array:{unit:"פריטים",shortLabel:"קטן",longLabel:"גדול"},set:{unit:"פריטים",shortLabel:"קטן",longLabel:"גדול"},number:{unit:"",shortLabel:"קטן",longLabel:"גדול"}},r=t=>t?e[t]:void 0,a=t=>{let i=r(t);return i?i.label:t??e.unknown.label},n=e=>`ה${a(e)}`,s=e=>{let t=r(e);return"f"===(t?.gender??"m")?"צריכה להיות":"צריך להיות"},o=e=>e?t[e]??null:null,l={regex:{label:"קלט",gender:"m"},email:{label:"כתובת אימייל",gender:"f"},url:{label:"כתובת רשת",gender:"f"},emoji:{label:"אימוג'י",gender:"m"},uuid:{label:"UUID",gender:"m"},nanoid:{label:"nanoid",gender:"m"},guid:{label:"GUID",gender:"m"},cuid:{label:"cuid",gender:"m"},cuid2:{label:"cuid2",gender:"m"},ulid:{label:"ULID",gender:"m"},xid:{label:"XID",gender:"m"},ksuid:{label:"KSUID",gender:"m"},datetime:{label:"תאריך וזמן ISO",gender:"m"},date:{label:"תאריך ISO",gender:"m"},time:{label:"זמן ISO",gender:"m"},duration:{label:"משך זמן ISO",gender:"m"},ipv4:{label:"כתובת IPv4",gender:"f"},ipv6:{label:"כתובת IPv6",gender:"f"},cidrv4:{label:"טווח IPv4",gender:"m"},cidrv6:{label:"טווח IPv6",gender:"m"},base64:{label:"מחרוזת בבסיס 64",gender:"f"},base64url:{label:"מחרוזת בבסיס 64 לכתובות רשת",gender:"f"},json_string:{label:"מחרוזת JSON",gender:"f"},e164:{label:"מספר E.164",gender:"m"},jwt:{label:"JWT",gender:"m"},ends_with:{label:"קלט",gender:"m"},includes:{label:"קלט",gender:"m"},lowercase:{label:"קלט",gender:"m"},starts_with:{label:"קלט",gender:"m"},uppercase:{label:"קלט",gender:"m"}},u={nan:"NaN"},t=>{switch(t.code){case"invalid_type":{let r=t.expected,n=u[r??""]??a(r),s=i.parsedType(t.input),o=u[s]??e[s]?.label??s;if(/^[A-Z]/.test(t.expected))return`קלט לא תקין: צריך להיות instanceof ${t.expected}, התקבל ${o}`;return`קלט לא תקין: צריך להיות ${n}, התקבל ${o}`}case"invalid_value":{if(1===t.values.length)return`ערך לא תקין: הערך חייב להיות ${i.stringifyPrimitive(t.values[0])}`;let e=t.values.map(e=>i.stringifyPrimitive(e));if(2===t.values.length)return`ערך לא תקין: האפשרויות המתאימות הן ${e[0]} או ${e[1]}`;let r=e[e.length-1],a=e.slice(0,-1).join(", ");return`ערך לא תקין: האפשרויות המתאימות הן ${a} או ${r}`}case"too_big":{let e=o(t.origin),r=n(t.origin??"value");if("string"===t.origin)return`${e?.longLabel??"ארוך"} מדי: ${r} צריכה להכיל ${t.maximum.toString()} ${e?.unit??""} ${t.inclusive?"או פחות":"לכל היותר"}`.trim();if("number"===t.origin){let e=t.inclusive?`קטן או שווה ל-${t.maximum}`:`קטן מ-${t.maximum}`;return`גדול מדי: ${r} צריך להיות ${e}`}if("array"===t.origin||"set"===t.origin){let i="set"===t.origin?"צריכה":"צריך",a=t.inclusive?`${t.maximum} ${e?.unit??""} או פחות`:`פחות מ-${t.maximum} ${e?.unit??""}`;return`גדול מדי: ${r} ${i} להכיל ${a}`.trim()}let i=t.inclusive?"<=":"<",a=s(t.origin??"value");if(e?.unit)return`${e.longLabel} מדי: ${r} ${a} ${i}${t.maximum.toString()} ${e.unit}`;return`${e?.longLabel??"גדול"} מדי: ${r} ${a} ${i}${t.maximum.toString()}`}case"too_small":{let e=o(t.origin),r=n(t.origin??"value");if("string"===t.origin)return`${e?.shortLabel??"קצר"} מדי: ${r} צריכה להכיל ${t.minimum.toString()} ${e?.unit??""} ${t.inclusive?"או יותר":"לפחות"}`.trim();if("number"===t.origin){let e=t.inclusive?`גדול או שווה ל-${t.minimum}`:`גדול מ-${t.minimum}`;return`קטן מדי: ${r} צריך להיות ${e}`}if("array"===t.origin||"set"===t.origin){let i="set"===t.origin?"צריכה":"צריך";if(1===t.minimum&&t.inclusive){let e=(t.origin,"לפחות פריט אחד");return`קטן מדי: ${r} ${i} להכיל ${e}`}let a=t.inclusive?`${t.minimum} ${e?.unit??""} או יותר`:`יותר מ-${t.minimum} ${e?.unit??""}`;return`קטן מדי: ${r} ${i} להכיל ${a}`.trim()}let i=t.inclusive?">=":">",a=s(t.origin??"value");if(e?.unit)return`${e.shortLabel} מדי: ${r} ${a} ${i}${t.minimum.toString()} ${e.unit}`;return`${e?.shortLabel??"קטן"} מדי: ${r} ${a} ${i}${t.minimum.toString()}`}case"invalid_format":{if("starts_with"===t.format)return`המחרוזת חייבת להתחיל ב "${t.prefix}"`;if("ends_with"===t.format)return`המחרוזת חייבת להסתיים ב "${t.suffix}"`;if("includes"===t.format)return`המחרוזת חייבת לכלול "${t.includes}"`;if("regex"===t.format)return`המחרוזת חייבת להתאים לתבנית ${t.pattern}`;let e=l[t.format],r=e?.label??t.format,i=e?.gender??"m";return`${r} לא ${"f"===i?"תקינה":"תקין"}`}case"not_multiple_of":return`מספר לא תקין: חייב להיות מכפלה של ${t.divisor}`;case"unrecognized_keys":return`מפתח${t.keys.length>1?"ות":""} לא מזוה${t.keys.length>1?"ים":"ה"}: ${i.joinValues(t.keys,", ")}`;case"invalid_key":return"שדה לא תקין באובייקט";case"invalid_union":default:return"קלט לא תקין";case"invalid_element":{let e=n(t.origin??"array");return`ערך לא תקין ב${e}`}}})}},"hr",0,function(){let e,t,r;return{localeError:(e={string:{unit:"znakova",verb:"imati"},file:{unit:"bajtova",verb:"imati"},array:{unit:"stavki",verb:"imati"},set:{unit:"stavki",verb:"imati"}},t={regex:"unos",email:"email adresa",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum i vrijeme",date:"ISO datum",time:"ISO vrijeme",duration:"ISO trajanje",ipv4:"IPv4 adresa",ipv6:"IPv6 adresa",cidrv4:"IPv4 raspon",cidrv6:"IPv6 raspon",base64:"base64 kodirani tekst",base64url:"base64url kodirani tekst",json_string:"JSON tekst",e164:"E.164 broj",jwt:"JWT",template_literal:"unos"},r={nan:"NaN",string:"tekst",number:"broj",boolean:"boolean",array:"niz",object:"objekt",set:"skup",file:"datoteka",date:"datum",bigint:"bigint",symbol:"simbol",undefined:"undefined",null:"null",function:"funkcija",map:"mapa"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Neispravan unos: očekuje se instanceof ${a.expected}, a primljeno je ${n}`;return`Neispravan unos: očekuje se ${e}, a primljeno je ${n}`}case"invalid_value":if(1===a.values.length)return`Neispravna vrijednost: očekivano ${i.stringifyPrimitive(a.values[0])}`;return`Neispravna opcija: očekivano jedno od ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",i=e[a.origin]??null,n=r[a.origin]??a.origin;if(i)return`Preveliko: očekivano da ${n??"vrijednost"} ima ${t}${a.maximum.toString()} ${i.unit??"elemenata"}`;return`Preveliko: očekivano da ${n??"vrijednost"} bude ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",i=e[a.origin]??null,n=r[a.origin]??a.origin;if(i)return`Premalo: očekivano da ${n} ima ${t}${a.minimum.toString()} ${i.unit}`;return`Premalo: očekivano da ${n} bude ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Neispravan tekst: mora započinjati s "${a.prefix}"`;if("ends_with"===a.format)return`Neispravan tekst: mora završavati s "${a.suffix}"`;if("includes"===a.format)return`Neispravan tekst: mora sadržavati "${a.includes}"`;if("regex"===a.format)return`Neispravan tekst: mora odgovarati uzorku ${a.pattern}`;return`Neispravna ${t[a.format]??a.format}`;case"not_multiple_of":return`Neispravan broj: mora biti višekratnik od ${a.divisor}`;case"unrecognized_keys":return`Neprepoznat${a.keys.length>1?"i ključevi":" ključ"}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Neispravan ključ u ${r[a.origin]??a.origin}`;case"invalid_union":default:return"Neispravan unos";case"invalid_element":return`Neispravna vrijednost u ${r[a.origin]??a.origin}`}})}},"hu",0,function(){let e,t,r;return{localeError:(e={string:{unit:"karakter",verb:"legyen"},file:{unit:"byte",verb:"legyen"},array:{unit:"elem",verb:"legyen"},set:{unit:"elem",verb:"legyen"}},t={regex:"bemenet",email:"email cím",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO időbélyeg",date:"ISO dátum",time:"ISO idő",duration:"ISO időintervallum",ipv4:"IPv4 cím",ipv6:"IPv6 cím",cidrv4:"IPv4 tartomány",cidrv6:"IPv6 tartomány",base64:"base64-kódolt string",base64url:"base64url-kódolt string",json_string:"JSON string",e164:"E.164 szám",jwt:"JWT",template_literal:"bemenet"},r={nan:"NaN",number:"szám",array:"tömb"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`\xc9rv\xe9nytelen bemenet: a v\xe1rt \xe9rt\xe9k instanceof ${a.expected}, a kapott \xe9rt\xe9k ${n}`;return`\xc9rv\xe9nytelen bemenet: a v\xe1rt \xe9rt\xe9k ${e}, a kapott \xe9rt\xe9k ${n}`}case"invalid_value":if(1===a.values.length)return`\xc9rv\xe9nytelen bemenet: a v\xe1rt \xe9rt\xe9k ${i.stringifyPrimitive(a.values[0])}`;return`\xc9rv\xe9nytelen opci\xf3: valamelyik \xe9rt\xe9k v\xe1rt ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`T\xfal nagy: ${a.origin??"érték"} m\xe9rete t\xfal nagy ${t}${a.maximum.toString()} ${r.unit??"elem"}`;return`T\xfal nagy: a bemeneti \xe9rt\xe9k ${a.origin??"érték"} t\xfal nagy: ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`T\xfal kicsi: a bemeneti \xe9rt\xe9k ${a.origin} m\xe9rete t\xfal kicsi ${t}${a.minimum.toString()} ${r.unit}`;return`T\xfal kicsi: a bemeneti \xe9rt\xe9k ${a.origin} t\xfal kicsi ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`\xc9rv\xe9nytelen string: "${a.prefix}" \xe9rt\xe9kkel kell kezdődnie`;if("ends_with"===a.format)return`\xc9rv\xe9nytelen string: "${a.suffix}" \xe9rt\xe9kkel kell v\xe9gződnie`;if("includes"===a.format)return`\xc9rv\xe9nytelen string: "${a.includes}" \xe9rt\xe9ket kell tartalmaznia`;if("regex"===a.format)return`\xc9rv\xe9nytelen string: ${a.pattern} mint\xe1nak kell megfelelnie`;return`\xc9rv\xe9nytelen ${t[a.format]??a.format}`;case"not_multiple_of":return`\xc9rv\xe9nytelen sz\xe1m: ${a.divisor} t\xf6bbsz\xf6r\xf6s\xe9nek kell lennie`;case"unrecognized_keys":return`Ismeretlen kulcs${a.keys.length>1?"s":""}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`\xc9rv\xe9nytelen kulcs ${a.origin}`;case"invalid_union":default:return"Érvénytelen bemenet";case"invalid_element":return`\xc9rv\xe9nytelen \xe9rt\xe9k: ${a.origin}`}})}},"hy",0,function(){let e,t,r;return{localeError:(e={string:{unit:{one:"նշան",many:"նշաններ"},verb:"ունենալ"},file:{unit:{one:"բայթ",many:"բայթեր"},verb:"ունենալ"},array:{unit:{one:"տարր",many:"տարրեր"},verb:"ունենալ"},set:{unit:{one:"տարր",many:"տարրեր"},verb:"ունենալ"}},t={regex:"մուտք",email:"էլ. հասցե",url:"URL",emoji:"էմոջի",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO ամսաթիվ և ժամ",date:"ISO ամսաթիվ",time:"ISO ժամ",duration:"ISO տևողություն",ipv4:"IPv4 հասցե",ipv6:"IPv6 հասցե",cidrv4:"IPv4 միջակայք",cidrv6:"IPv6 միջակայք",base64:"base64 ձևաչափով տող",base64url:"base64url ձևաչափով տող",json_string:"JSON տող",e164:"E.164 համար",jwt:"JWT",template_literal:"մուտք"},r={nan:"NaN",number:"թիվ",array:"զանգված"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Սխալ մուտքագրում․ սպասվում էր instanceof ${a.expected}, ստացվել է ${n}`;return`Սխալ մուտքագրում․ սպասվում էր ${e}, ստացվել է ${n}`}case"invalid_value":if(1===a.values.length)return`Սխալ մուտքագրում․ սպասվում էր ${i.stringifyPrimitive(a.values[1])}`;return`Սխալ տարբերակ․ սպասվում էր հետևյալներից մեկը՝ ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r){let e=h(Number(a.maximum),r.unit.one,r.unit.many);return`Չափազանց մեծ արժեք․ սպասվում է, որ ${m(a.origin??"արժեք")} կունենա ${t}${a.maximum.toString()} ${e}`}return`Չափազանց մեծ արժեք․ սպասվում է, որ ${m(a.origin??"արժեք")} լինի ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r){let e=h(Number(a.minimum),r.unit.one,r.unit.many);return`Չափազանց փոքր արժեք․ սպասվում է, որ ${m(a.origin)} կունենա ${t}${a.minimum.toString()} ${e}`}return`Չափազանց փոքր արժեք․ սպասվում է, որ ${m(a.origin)} լինի ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Սխալ տող․ պետք է սկսվի "${a.prefix}"-ով`;if("ends_with"===a.format)return`Սխալ տող․ պետք է ավարտվի "${a.suffix}"-ով`;if("includes"===a.format)return`Սխալ տող․ պետք է պարունակի "${a.includes}"`;if("regex"===a.format)return`Սխալ տող․ պետք է համապատասխանի ${a.pattern} ձևաչափին`;return`Սխալ ${t[a.format]??a.format}`;case"not_multiple_of":return`Սխալ թիվ․ պետք է բազմապատիկ լինի ${a.divisor}-ի`;case"unrecognized_keys":return`Չճանաչված բանալի${a.keys.length>1?"ներ":""}. ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Սխալ բանալի ${m(a.origin)}-ում`;case"invalid_union":default:return"Սխալ մուտքագրում";case"invalid_element":return`Սխալ արժեք ${m(a.origin)}-ում`}})}},"id",0,function(){let e,t,r;return{localeError:(e={string:{unit:"karakter",verb:"memiliki"},file:{unit:"byte",verb:"memiliki"},array:{unit:"item",verb:"memiliki"},set:{unit:"item",verb:"memiliki"}},t={regex:"input",email:"alamat email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tanggal dan waktu format ISO",date:"tanggal format ISO",time:"jam format ISO",duration:"durasi format ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"rentang alamat IPv4",cidrv6:"rentang alamat IPv6",base64:"string dengan enkode base64",base64url:"string dengan enkode base64url",json_string:"string JSON",e164:"angka E.164",jwt:"JWT",template_literal:"input"},r={nan:"NaN"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Input tidak valid: diharapkan instanceof ${a.expected}, diterima ${n}`;return`Input tidak valid: diharapkan ${e}, diterima ${n}`}case"invalid_value":if(1===a.values.length)return`Input tidak valid: diharapkan ${i.stringifyPrimitive(a.values[0])}`;return`Pilihan tidak valid: diharapkan salah satu dari ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`Terlalu besar: diharapkan ${a.origin??"value"} memiliki ${t}${a.maximum.toString()} ${r.unit??"elemen"}`;return`Terlalu besar: diharapkan ${a.origin??"value"} menjadi ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`Terlalu kecil: diharapkan ${a.origin} memiliki ${t}${a.minimum.toString()} ${r.unit}`;return`Terlalu kecil: diharapkan ${a.origin} menjadi ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`String tidak valid: harus dimulai dengan "${a.prefix}"`;if("ends_with"===a.format)return`String tidak valid: harus berakhir dengan "${a.suffix}"`;if("includes"===a.format)return`String tidak valid: harus menyertakan "${a.includes}"`;if("regex"===a.format)return`String tidak valid: harus sesuai pola ${a.pattern}`;return`${t[a.format]??a.format} tidak valid`;case"not_multiple_of":return`Angka tidak valid: harus kelipatan dari ${a.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali ${a.keys.length>1?"s":""}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Kunci tidak valid di ${a.origin}`;case"invalid_union":default:return"Input tidak valid";case"invalid_element":return`Nilai tidak valid di ${a.origin}`}})}},"is",0,function(){let e,t,r;return{localeError:(e={string:{unit:"stafi",verb:"að hafa"},file:{unit:"bæti",verb:"að hafa"},array:{unit:"hluti",verb:"að hafa"},set:{unit:"hluti",verb:"að hafa"}},t={regex:"gildi",email:"netfang",url:"vefslóð",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dagsetning og tími",date:"ISO dagsetning",time:"ISO tími",duration:"ISO tímalengd",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded strengur",base64url:"base64url-encoded strengur",json_string:"JSON strengur",e164:"E.164 tölugildi",jwt:"JWT",template_literal:"gildi"},r={nan:"NaN",number:"númer",array:"fylki"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Rangt gildi: \xde\xfa sl\xf3st inn ${n} \xfear sem \xe1 a\xf0 vera instanceof ${a.expected}`;return`Rangt gildi: \xde\xfa sl\xf3st inn ${n} \xfear sem \xe1 a\xf0 vera ${e}`}case"invalid_value":if(1===a.values.length)return`Rangt gildi: gert r\xe1\xf0 fyrir ${i.stringifyPrimitive(a.values[0])}`;return`\xd3gilt val: m\xe1 vera eitt af eftirfarandi ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`Of st\xf3rt: gert er r\xe1\xf0 fyrir a\xf0 ${a.origin??"gildi"} hafi ${t}${a.maximum.toString()} ${r.unit??"hluti"}`;return`Of st\xf3rt: gert er r\xe1\xf0 fyrir a\xf0 ${a.origin??"gildi"} s\xe9 ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`Of l\xedti\xf0: gert er r\xe1\xf0 fyrir a\xf0 ${a.origin} hafi ${t}${a.minimum.toString()} ${r.unit}`;return`Of l\xedti\xf0: gert er r\xe1\xf0 fyrir a\xf0 ${a.origin} s\xe9 ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`\xd3gildur strengur: ver\xf0ur a\xf0 byrja \xe1 "${a.prefix}"`;if("ends_with"===a.format)return`\xd3gildur strengur: ver\xf0ur a\xf0 enda \xe1 "${a.suffix}"`;if("includes"===a.format)return`\xd3gildur strengur: ver\xf0ur a\xf0 innihalda "${a.includes}"`;if("regex"===a.format)return`\xd3gildur strengur: ver\xf0ur a\xf0 fylgja mynstri ${a.pattern}`;return`Rangt ${t[a.format]??a.format}`;case"not_multiple_of":return`R\xf6ng tala: ver\xf0ur a\xf0 vera margfeldi af ${a.divisor}`;case"unrecognized_keys":return`\xd3\xfeekkt ${a.keys.length>1?"ir lyklar":"ur lykill"}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Rangur lykill \xed ${a.origin}`;case"invalid_union":default:return"Rangt gildi";case"invalid_element":return`Rangt gildi \xed ${a.origin}`}})}},"it",0,function(){let e,t,r;return{localeError:(e={string:{unit:"caratteri",verb:"avere"},file:{unit:"byte",verb:"avere"},array:{unit:"elementi",verb:"avere"},set:{unit:"elementi",verb:"avere"}},t={regex:"input",email:"indirizzo email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e ora ISO",date:"data ISO",time:"ora ISO",duration:"durata ISO",ipv4:"indirizzo IPv4",ipv6:"indirizzo IPv6",cidrv4:"intervallo IPv4",cidrv6:"intervallo IPv6",base64:"stringa codificata in base64",base64url:"URL codificata in base64",json_string:"stringa JSON",e164:"numero E.164",jwt:"JWT",template_literal:"input"},r={nan:"NaN",number:"numero",array:"vettore"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Input non valido: atteso instanceof ${a.expected}, ricevuto ${n}`;return`Input non valido: atteso ${e}, ricevuto ${n}`}case"invalid_value":if(1===a.values.length)return`Input non valido: atteso ${i.stringifyPrimitive(a.values[0])}`;return`Opzione non valida: atteso uno tra ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`Troppo grande: ${a.origin??"valore"} deve avere ${t}${a.maximum.toString()} ${r.unit??"elementi"}`;return`Troppo grande: ${a.origin??"valore"} deve essere ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`Troppo piccolo: ${a.origin} deve avere ${t}${a.minimum.toString()} ${r.unit}`;return`Troppo piccolo: ${a.origin} deve essere ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Stringa non valida: deve iniziare con "${a.prefix}"`;if("ends_with"===a.format)return`Stringa non valida: deve terminare con "${a.suffix}"`;if("includes"===a.format)return`Stringa non valida: deve includere "${a.includes}"`;if("regex"===a.format)return`Stringa non valida: deve corrispondere al pattern ${a.pattern}`;return`Input non valido: ${t[a.format]??a.format}`;case"not_multiple_of":return`Numero non valido: deve essere un multiplo di ${a.divisor}`;case"unrecognized_keys":return`Chiav${a.keys.length>1?"i":"e"} non riconosciut${a.keys.length>1?"e":"a"}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Chiave non valida in ${a.origin}`;case"invalid_union":default:return"Input non valido";case"invalid_element":return`Valore non valido in ${a.origin}`}})}},"ja",0,function(){let e,t,r;return{localeError:(e={string:{unit:"文字",verb:"である"},file:{unit:"バイト",verb:"である"},array:{unit:"要素",verb:"である"},set:{unit:"要素",verb:"である"}},t={regex:"入力値",email:"メールアドレス",url:"URL",emoji:"絵文字",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO日時",date:"ISO日付",time:"ISO時刻",duration:"ISO期間",ipv4:"IPv4アドレス",ipv6:"IPv6アドレス",cidrv4:"IPv4範囲",cidrv6:"IPv6範囲",base64:"base64エンコード文字列",base64url:"base64urlエンコード文字列",json_string:"JSON文字列",e164:"E.164番号",jwt:"JWT",template_literal:"入力値"},r={nan:"NaN",number:"数値",array:"配列"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`無効な入力: instanceof ${a.expected}が期待されましたが、${n}が入力されました`;return`無効な入力: ${e}が期待されましたが、${n}が入力されました`}case"invalid_value":if(1===a.values.length)return`無効な入力: ${i.stringifyPrimitive(a.values[0])}が期待されました`;return`無効な選択: ${i.joinValues(a.values,"、")}のいずれかである必要があります`;case"too_big":{let t=a.inclusive?"以下である":"より小さい",r=e[a.origin]??null;if(r)return`大きすぎる値: ${a.origin??"値"}は${a.maximum.toString()}${r.unit??"要素"}${t}必要があります`;return`大きすぎる値: ${a.origin??"値"}は${a.maximum.toString()}${t}必要があります`}case"too_small":{let t=a.inclusive?"以上である":"より大きい",r=e[a.origin]??null;if(r)return`小さすぎる値: ${a.origin}は${a.minimum.toString()}${r.unit}${t}必要があります`;return`小さすぎる値: ${a.origin}は${a.minimum.toString()}${t}必要があります`}case"invalid_format":if("starts_with"===a.format)return`無効な文字列: "${a.prefix}"で始まる必要があります`;if("ends_with"===a.format)return`無効な文字列: "${a.suffix}"で終わる必要があります`;if("includes"===a.format)return`無効な文字列: "${a.includes}"を含む必要があります`;if("regex"===a.format)return`無効な文字列: パターン${a.pattern}に一致する必要があります`;return`無効な${t[a.format]??a.format}`;case"not_multiple_of":return`無効な数値: ${a.divisor}の倍数である必要があります`;case"unrecognized_keys":return`認識されていないキー${a.keys.length>1?"群":""}: ${i.joinValues(a.keys,"、")}`;case"invalid_key":return`${a.origin}内の無効なキー`;case"invalid_union":default:return"無効な入力";case"invalid_element":return`${a.origin}内の無効な値`}})}},"ka",0,function(){let e,t,r;return{localeError:(e={string:{unit:"სიმბოლო",verb:"უნდა შეიცავდეს"},file:{unit:"ბაიტი",verb:"უნდა შეიცავდეს"},array:{unit:"ელემენტი",verb:"უნდა შეიცავდეს"},set:{unit:"ელემენტი",verb:"უნდა შეიცავდეს"}},t={regex:"შეყვანა",email:"ელ-ფოსტის მისამართი",url:"URL",emoji:"ემოჯი",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"თარიღი-დრო",date:"თარიღი",time:"დრო",duration:"ხანგრძლივობა",ipv4:"IPv4 მისამართი",ipv6:"IPv6 მისამართი",cidrv4:"IPv4 დიაპაზონი",cidrv6:"IPv6 დიაპაზონი",base64:"base64-კოდირებული ველი",base64url:"base64url-კოდირებული ველი",json_string:"JSON ველი",e164:"E.164 ნომერი",jwt:"JWT",template_literal:"შეყვანა"},r={nan:"NaN",number:"რიცხვი",string:"ველი",boolean:"ბულეანი",function:"ფუნქცია",array:"მასივი"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`არასწორი შეყვანა: მოსალოდნელი instanceof ${a.expected}, მიღებული ${n}`;return`არასწორი შეყვანა: მოსალოდნელი ${e}, მიღებული ${n}`}case"invalid_value":if(1===a.values.length)return`არასწორი შეყვანა: მოსალოდნელი ${i.stringifyPrimitive(a.values[0])}`;return`არასწორი ვარიანტი: მოსალოდნელია ერთ-ერთი ${i.joinValues(a.values,"|")}-დან`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`ზედმეტად დიდი: მოსალოდნელი ${a.origin??"მნიშვნელობა"} ${r.verb} ${t}${a.maximum.toString()} ${r.unit}`;return`ზედმეტად დიდი: მოსალოდნელი ${a.origin??"მნიშვნელობა"} იყოს ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`ზედმეტად პატარა: მოსალოდნელი ${a.origin} ${r.verb} ${t}${a.minimum.toString()} ${r.unit}`;return`ზედმეტად პატარა: მოსალოდნელი ${a.origin} იყოს ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`არასწორი ველი: უნდა იწყებოდეს "${a.prefix}"-ით`;if("ends_with"===a.format)return`არასწორი ველი: უნდა მთავრდებოდეს "${a.suffix}"-ით`;if("includes"===a.format)return`არასწორი ველი: უნდა შეიცავდეს "${a.includes}"-ს`;if("regex"===a.format)return`არასწორი ველი: უნდა შეესაბამებოდეს შაბლონს ${a.pattern}`;return`არასწორი ${t[a.format]??a.format}`;case"not_multiple_of":return`არასწორი რიცხვი: უნდა იყოს ${a.divisor}-ის ჯერადი`;case"unrecognized_keys":return`უცნობი გასაღებ${a.keys.length>1?"ები":"ი"}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`არასწორი გასაღები ${a.origin}-ში`;case"invalid_union":default:return"არასწორი შეყვანა";case"invalid_element":return`არასწორი მნიშვნელობა ${a.origin}-ში`}})}},"kh",0,function(){return f()},"km",0,f,"ko",0,function(){let e,t,r;return{localeError:(e={string:{unit:"문자",verb:"to have"},file:{unit:"바이트",verb:"to have"},array:{unit:"개",verb:"to have"},set:{unit:"개",verb:"to have"}},t={regex:"입력",email:"이메일 주소",url:"URL",emoji:"이모지",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO 날짜시간",date:"ISO 날짜",time:"ISO 시간",duration:"ISO 기간",ipv4:"IPv4 주소",ipv6:"IPv6 주소",cidrv4:"IPv4 범위",cidrv6:"IPv6 범위",base64:"base64 인코딩 문자열",base64url:"base64url 인코딩 문자열",json_string:"JSON 문자열",e164:"E.164 번호",jwt:"JWT",template_literal:"입력"},r={nan:"NaN"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`잘못된 입력: 예상 타입은 instanceof ${a.expected}, 받은 타입은 ${n}입니다`;return`잘못된 입력: 예상 타입은 ${e}, 받은 타입은 ${n}입니다`}case"invalid_value":if(1===a.values.length)return`잘못된 입력: 값은 ${i.stringifyPrimitive(a.values[0])} 이어야 합니다`;return`잘못된 옵션: ${i.joinValues(a.values,"또는 ")} 중 하나여야 합니다`;case"too_big":{let t=a.inclusive?"이하":"미만",r="미만"===t?"이어야 합니다":"여야 합니다",i=e[a.origin]??null,n=i?.unit??"요소";if(i)return`${a.origin??"값"}이 너무 큽니다: ${a.maximum.toString()}${n} ${t}${r}`;return`${a.origin??"값"}이 너무 큽니다: ${a.maximum.toString()} ${t}${r}`}case"too_small":{let t=a.inclusive?"이상":"초과",r="이상"===t?"이어야 합니다":"여야 합니다",i=e[a.origin]??null,n=i?.unit??"요소";if(i)return`${a.origin??"값"}이 너무 작습니다: ${a.minimum.toString()}${n} ${t}${r}`;return`${a.origin??"값"}이 너무 작습니다: ${a.minimum.toString()} ${t}${r}`}case"invalid_format":if("starts_with"===a.format)return`잘못된 문자열: "${a.prefix}"(으)로 시작해야 합니다`;if("ends_with"===a.format)return`잘못된 문자열: "${a.suffix}"(으)로 끝나야 합니다`;if("includes"===a.format)return`잘못된 문자열: "${a.includes}"을(를) 포함해야 합니다`;if("regex"===a.format)return`잘못된 문자열: 정규식 ${a.pattern} 패턴과 일치해야 합니다`;return`잘못된 ${t[a.format]??a.format}`;case"not_multiple_of":return`잘못된 숫자: ${a.divisor}의 배수여야 합니다`;case"unrecognized_keys":return`인식할 수 없는 키: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`잘못된 키: ${a.origin}`;case"invalid_union":default:return"잘못된 입력";case"invalid_element":return`잘못된 값: ${a.origin}`}})}},"lt",0,function(){return{localeError:(()=>{let e={string:{unit:{one:"simbolis",few:"simboliai",many:"simbolių"},verb:{smaller:{inclusive:"turi būti ne ilgesnė kaip",notInclusive:"turi būti trumpesnė kaip"},bigger:{inclusive:"turi būti ne trumpesnė kaip",notInclusive:"turi būti ilgesnė kaip"}}},file:{unit:{one:"baitas",few:"baitai",many:"baitų"},verb:{smaller:{inclusive:"turi būti ne didesnis kaip",notInclusive:"turi būti mažesnis kaip"},bigger:{inclusive:"turi būti ne mažesnis kaip",notInclusive:"turi būti didesnis kaip"}}},array:{unit:{one:"elementą",few:"elementus",many:"elementų"},verb:{smaller:{inclusive:"turi turėti ne daugiau kaip",notInclusive:"turi turėti mažiau kaip"},bigger:{inclusive:"turi turėti ne mažiau kaip",notInclusive:"turi turėti daugiau kaip"}}},set:{unit:{one:"elementą",few:"elementus",many:"elementų"},verb:{smaller:{inclusive:"turi turėti ne daugiau kaip",notInclusive:"turi turėti mažiau kaip"},bigger:{inclusive:"turi turėti ne mažiau kaip",notInclusive:"turi turėti daugiau kaip"}}}};function t(t,r,i,a){let n=e[t]??null;return null===n?n:{unit:n.unit[r],verb:n.verb[a][i?"inclusive":"notInclusive"]}}let r={regex:"įvestis",email:"el. pašto adresas",url:"URL",emoji:"jaustukas",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO data ir laikas",date:"ISO data",time:"ISO laikas",duration:"ISO trukmė",ipv4:"IPv4 adresas",ipv6:"IPv6 adresas",cidrv4:"IPv4 tinklo prefiksas (CIDR)",cidrv6:"IPv6 tinklo prefiksas (CIDR)",base64:"base64 užkoduota eilutė",base64url:"base64url užkoduota eilutė",json_string:"JSON eilutė",e164:"E.164 numeris",jwt:"JWT",template_literal:"įvestis"},a={nan:"NaN",number:"skaičius",bigint:"sveikasis skaičius",string:"eilutė",boolean:"loginė reikšmė",undefined:"neapibrėžta reikšmė",function:"funkcija",symbol:"simbolis",array:"masyvas",object:"objektas",null:"nulinė reikšmė"};return e=>{switch(e.code){case"invalid_type":{let t=a[e.expected]??e.expected,r=i.parsedType(e.input),n=a[r]??r;if(/^[A-Z]/.test(e.expected))return`Gautas tipas ${n}, o tikėtasi - instanceof ${e.expected}`;return`Gautas tipas ${n}, o tikėtasi - ${t}`}case"invalid_value":if(1===e.values.length)return`Privalo būti ${i.stringifyPrimitive(e.values[0])}`;return`Privalo būti vienas iš ${i.joinValues(e.values,"|")} pasirinkimų`;case"too_big":{let r=a[e.origin]??e.origin,i=t(e.origin,y(Number(e.maximum)),e.inclusive??!1,"smaller");if(i?.verb)return`${g(r??e.origin??"reikšmė")} ${i.verb} ${e.maximum.toString()} ${i.unit??"elementų"}`;let n=e.inclusive?"ne didesnis kaip":"mažesnis kaip";return`${g(r??e.origin??"reikšmė")} turi būti ${n} ${e.maximum.toString()} ${i?.unit}`}case"too_small":{let r=a[e.origin]??e.origin,i=t(e.origin,y(Number(e.minimum)),e.inclusive??!1,"bigger");if(i?.verb)return`${g(r??e.origin??"reikšmė")} ${i.verb} ${e.minimum.toString()} ${i.unit??"elementų"}`;let n=e.inclusive?"ne mažesnis kaip":"didesnis kaip";return`${g(r??e.origin??"reikšmė")} turi būti ${n} ${e.minimum.toString()} ${i?.unit}`}case"invalid_format":if("starts_with"===e.format)return`Eilutė privalo prasidėti "${e.prefix}"`;if("ends_with"===e.format)return`Eilutė privalo pasibaigti "${e.suffix}"`;if("includes"===e.format)return`Eilutė privalo įtraukti "${e.includes}"`;if("regex"===e.format)return`Eilutė privalo atitikti ${e.pattern}`;return`Neteisingas ${r[e.format]??e.format}`;case"not_multiple_of":return`Skaičius privalo būti ${e.divisor} kartotinis.`;case"unrecognized_keys":return`Neatpažint${e.keys.length>1?"i":"as"} rakt${e.keys.length>1?"ai":"as"}: ${i.joinValues(e.keys,", ")}`;case"invalid_key":return"Rastas klaidingas raktas";case"invalid_union":default:return"Klaidinga įvestis";case"invalid_element":{let t=a[e.origin]??e.origin;return`${g(t??e.origin??"reikšmė")} turi klaidingą įvestį`}}}})()}},"mk",0,function(){let e,t,r;return{localeError:(e={string:{unit:"знаци",verb:"да имаат"},file:{unit:"бајти",verb:"да имаат"},array:{unit:"ставки",verb:"да имаат"},set:{unit:"ставки",verb:"да имаат"}},t={regex:"внес",email:"адреса на е-пошта",url:"URL",emoji:"емоџи",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO датум и време",date:"ISO датум",time:"ISO време",duration:"ISO времетраење",ipv4:"IPv4 адреса",ipv6:"IPv6 адреса",cidrv4:"IPv4 опсег",cidrv6:"IPv6 опсег",base64:"base64-енкодирана низа",base64url:"base64url-енкодирана низа",json_string:"JSON низа",e164:"E.164 број",jwt:"JWT",template_literal:"внес"},r={nan:"NaN",number:"број",array:"низа"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Грешен внес: се очекува instanceof ${a.expected}, примено ${n}`;return`Грешен внес: се очекува ${e}, примено ${n}`}case"invalid_value":if(1===a.values.length)return`Invalid input: expected ${i.stringifyPrimitive(a.values[0])}`;return`Грешана опција: се очекува една ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`Премногу голем: се очекува ${a.origin??"вредноста"} да има ${t}${a.maximum.toString()} ${r.unit??"елементи"}`;return`Премногу голем: се очекува ${a.origin??"вредноста"} да биде ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`Премногу мал: се очекува ${a.origin} да има ${t}${a.minimum.toString()} ${r.unit}`;return`Премногу мал: се очекува ${a.origin} да биде ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Неважечка низа: мора да започнува со "${a.prefix}"`;if("ends_with"===a.format)return`Неважечка низа: мора да завршува со "${a.suffix}"`;if("includes"===a.format)return`Неважечка низа: мора да вклучува "${a.includes}"`;if("regex"===a.format)return`Неважечка низа: мора да одгоара на патернот ${a.pattern}`;return`Invalid ${t[a.format]??a.format}`;case"not_multiple_of":return`Грешен број: мора да биде делив со ${a.divisor}`;case"unrecognized_keys":return`${a.keys.length>1?"Непрепознаени клучеви":"Непрепознаен клуч"}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Грешен клуч во ${a.origin}`;case"invalid_union":default:return"Грешен внес";case"invalid_element":return`Грешна вредност во ${a.origin}`}})}},"ms",0,function(){let e,t,r;return{localeError:(e={string:{unit:"aksara",verb:"mempunyai"},file:{unit:"bait",verb:"mempunyai"},array:{unit:"elemen",verb:"mempunyai"},set:{unit:"elemen",verb:"mempunyai"}},t={regex:"input",email:"alamat e-mel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tarikh masa ISO",date:"tarikh ISO",time:"masa ISO",duration:"tempoh ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"julat IPv4",cidrv6:"julat IPv6",base64:"string dikodkan base64",base64url:"string dikodkan base64url",json_string:"string JSON",e164:"nombor E.164",jwt:"JWT",template_literal:"input"},r={nan:"NaN",number:"nombor"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Input tidak sah: dijangka instanceof ${a.expected}, diterima ${n}`;return`Input tidak sah: dijangka ${e}, diterima ${n}`}case"invalid_value":if(1===a.values.length)return`Input tidak sah: dijangka ${i.stringifyPrimitive(a.values[0])}`;return`Pilihan tidak sah: dijangka salah satu daripada ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`Terlalu besar: dijangka ${a.origin??"nilai"} ${r.verb} ${t}${a.maximum.toString()} ${r.unit??"elemen"}`;return`Terlalu besar: dijangka ${a.origin??"nilai"} adalah ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`Terlalu kecil: dijangka ${a.origin} ${r.verb} ${t}${a.minimum.toString()} ${r.unit}`;return`Terlalu kecil: dijangka ${a.origin} adalah ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`String tidak sah: mesti bermula dengan "${a.prefix}"`;if("ends_with"===a.format)return`String tidak sah: mesti berakhir dengan "${a.suffix}"`;if("includes"===a.format)return`String tidak sah: mesti mengandungi "${a.includes}"`;if("regex"===a.format)return`String tidak sah: mesti sepadan dengan corak ${a.pattern}`;return`${t[a.format]??a.format} tidak sah`;case"not_multiple_of":return`Nombor tidak sah: perlu gandaan ${a.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Kunci tidak sah dalam ${a.origin}`;case"invalid_union":default:return"Input tidak sah";case"invalid_element":return`Nilai tidak sah dalam ${a.origin}`}})}},"nl",0,function(){let e,t,r;return{localeError:(e={string:{unit:"tekens",verb:"heeft"},file:{unit:"bytes",verb:"heeft"},array:{unit:"elementen",verb:"heeft"},set:{unit:"elementen",verb:"heeft"}},t={regex:"invoer",email:"emailadres",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum en tijd",date:"ISO datum",time:"ISO tijd",duration:"ISO duur",ipv4:"IPv4-adres",ipv6:"IPv6-adres",cidrv4:"IPv4-bereik",cidrv6:"IPv6-bereik",base64:"base64-gecodeerde tekst",base64url:"base64 URL-gecodeerde tekst",json_string:"JSON string",e164:"E.164-nummer",jwt:"JWT",template_literal:"invoer"},r={nan:"NaN",number:"getal"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Ongeldige invoer: verwacht instanceof ${a.expected}, ontving ${n}`;return`Ongeldige invoer: verwacht ${e}, ontving ${n}`}case"invalid_value":if(1===a.values.length)return`Ongeldige invoer: verwacht ${i.stringifyPrimitive(a.values[0])}`;return`Ongeldige optie: verwacht \xe9\xe9n van ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null,i="date"===a.origin?"laat":"string"===a.origin?"lang":"groot";if(r)return`Te ${i}: verwacht dat ${a.origin??"waarde"} ${t}${a.maximum.toString()} ${r.unit??"elementen"} ${r.verb}`;return`Te ${i}: verwacht dat ${a.origin??"waarde"} ${t}${a.maximum.toString()} is`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null,i="date"===a.origin?"vroeg":"string"===a.origin?"kort":"klein";if(r)return`Te ${i}: verwacht dat ${a.origin} ${t}${a.minimum.toString()} ${r.unit} ${r.verb}`;return`Te ${i}: verwacht dat ${a.origin} ${t}${a.minimum.toString()} is`}case"invalid_format":if("starts_with"===a.format)return`Ongeldige tekst: moet met "${a.prefix}" beginnen`;if("ends_with"===a.format)return`Ongeldige tekst: moet op "${a.suffix}" eindigen`;if("includes"===a.format)return`Ongeldige tekst: moet "${a.includes}" bevatten`;if("regex"===a.format)return`Ongeldige tekst: moet overeenkomen met patroon ${a.pattern}`;return`Ongeldig: ${t[a.format]??a.format}`;case"not_multiple_of":return`Ongeldig getal: moet een veelvoud van ${a.divisor} zijn`;case"unrecognized_keys":return`Onbekende key${a.keys.length>1?"s":""}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Ongeldige key in ${a.origin}`;case"invalid_union":default:return"Ongeldige invoer";case"invalid_element":return`Ongeldige waarde in ${a.origin}`}})}},"no",0,function(){let e,t,r;return{localeError:(e={string:{unit:"tegn",verb:"å ha"},file:{unit:"bytes",verb:"å ha"},array:{unit:"elementer",verb:"å inneholde"},set:{unit:"elementer",verb:"å inneholde"}},t={regex:"input",email:"e-postadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkeslett",date:"ISO-dato",time:"ISO-klokkeslett",duration:"ISO-varighet",ipv4:"IPv4-område",ipv6:"IPv6-område",cidrv4:"IPv4-spekter",cidrv6:"IPv6-spekter",base64:"base64-enkodet streng",base64url:"base64url-enkodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"},r={nan:"NaN",number:"tall",array:"liste"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Ugyldig input: forventet instanceof ${a.expected}, fikk ${n}`;return`Ugyldig input: forventet ${e}, fikk ${n}`}case"invalid_value":if(1===a.values.length)return`Ugyldig verdi: forventet ${i.stringifyPrimitive(a.values[0])}`;return`Ugyldig valg: forventet en av ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`For stor(t): forventet ${a.origin??"value"} til \xe5 ha ${t}${a.maximum.toString()} ${r.unit??"elementer"}`;return`For stor(t): forventet ${a.origin??"value"} til \xe5 ha ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`For lite(n): forventet ${a.origin} til \xe5 ha ${t}${a.minimum.toString()} ${r.unit}`;return`For lite(n): forventet ${a.origin} til \xe5 ha ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Ugyldig streng: m\xe5 starte med "${a.prefix}"`;if("ends_with"===a.format)return`Ugyldig streng: m\xe5 ende med "${a.suffix}"`;if("includes"===a.format)return`Ugyldig streng: m\xe5 inneholde "${a.includes}"`;if("regex"===a.format)return`Ugyldig streng: m\xe5 matche m\xf8nsteret ${a.pattern}`;return`Ugyldig ${t[a.format]??a.format}`;case"not_multiple_of":return`Ugyldig tall: m\xe5 v\xe6re et multiplum av ${a.divisor}`;case"unrecognized_keys":return`${a.keys.length>1?"Ukjente nøkler":"Ukjent nøkkel"}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Ugyldig n\xf8kkel i ${a.origin}`;case"invalid_union":default:return"Ugyldig input";case"invalid_element":return`Ugyldig verdi i ${a.origin}`}})}},"ota",0,function(){let e,t,r;return{localeError:(e={string:{unit:"harf",verb:"olmalıdır"},file:{unit:"bayt",verb:"olmalıdır"},array:{unit:"unsur",verb:"olmalıdır"},set:{unit:"unsur",verb:"olmalıdır"}},t={regex:"giren",email:"epostagâh",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO hengâmı",date:"ISO tarihi",time:"ISO zamanı",duration:"ISO müddeti",ipv4:"IPv4 nişânı",ipv6:"IPv6 nişânı",cidrv4:"IPv4 menzili",cidrv6:"IPv6 menzili",base64:"base64-şifreli metin",base64url:"base64url-şifreli metin",json_string:"JSON metin",e164:"E.164 sayısı",jwt:"JWT",template_literal:"giren"},r={nan:"NaN",number:"numara",array:"saf",null:"gayb"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`F\xe2sit giren: umulan instanceof ${a.expected}, alınan ${n}`;return`F\xe2sit giren: umulan ${e}, alınan ${n}`}case"invalid_value":if(1===a.values.length)return`F\xe2sit giren: umulan ${i.stringifyPrimitive(a.values[0])}`;return`F\xe2sit tercih: m\xfbteberler ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`Fazla b\xfcy\xfck: ${a.origin??"value"}, ${t}${a.maximum.toString()} ${r.unit??"elements"} sahip olmalıydı.`;return`Fazla b\xfcy\xfck: ${a.origin??"value"}, ${t}${a.maximum.toString()} olmalıydı.`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`Fazla k\xfc\xe7\xfck: ${a.origin}, ${t}${a.minimum.toString()} ${r.unit} sahip olmalıydı.`;return`Fazla k\xfc\xe7\xfck: ${a.origin}, ${t}${a.minimum.toString()} olmalıydı.`}case"invalid_format":if("starts_with"===a.format)return`F\xe2sit metin: "${a.prefix}" ile başlamalı.`;if("ends_with"===a.format)return`F\xe2sit metin: "${a.suffix}" ile bitmeli.`;if("includes"===a.format)return`F\xe2sit metin: "${a.includes}" ihtiv\xe2 etmeli.`;if("regex"===a.format)return`F\xe2sit metin: ${a.pattern} nakşına uymalı.`;return`F\xe2sit ${t[a.format]??a.format}`;case"not_multiple_of":return`F\xe2sit sayı: ${a.divisor} katı olmalıydı.`;case"unrecognized_keys":return`Tanınmayan anahtar ${a.keys.length>1?"s":""}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`${a.origin} i\xe7in tanınmayan anahtar var.`;case"invalid_union":return"Giren tanınamadı.";case"invalid_element":return`${a.origin} i\xe7in tanınmayan kıymet var.`;default:return"Kıymet tanınamadı."}})}},"pl",0,function(){let e,t,r;return{localeError:(e={string:{unit:"znaków",verb:"mieć"},file:{unit:"bajtów",verb:"mieć"},array:{unit:"elementów",verb:"mieć"},set:{unit:"elementów",verb:"mieć"}},t={regex:"wyrażenie",email:"adres email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i godzina w formacie ISO",date:"data w formacie ISO",time:"godzina w formacie ISO",duration:"czas trwania ISO",ipv4:"adres IPv4",ipv6:"adres IPv6",cidrv4:"zakres IPv4",cidrv6:"zakres IPv6",base64:"ciąg znaków zakodowany w formacie base64",base64url:"ciąg znaków zakodowany w formacie base64url",json_string:"ciąg znaków w formacie JSON",e164:"liczba E.164",jwt:"JWT",template_literal:"wejście"},r={nan:"NaN",number:"liczba",array:"tablica"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Nieprawidłowe dane wejściowe: oczekiwano instanceof ${a.expected}, otrzymano ${n}`;return`Nieprawidłowe dane wejściowe: oczekiwano ${e}, otrzymano ${n}`}case"invalid_value":if(1===a.values.length)return`Nieprawidłowe dane wejściowe: oczekiwano ${i.stringifyPrimitive(a.values[0])}`;return`Nieprawidłowa opcja: oczekiwano jednej z wartości ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`Za duża wartość: oczekiwano, że ${a.origin??"wartość"} będzie mieć ${t}${a.maximum.toString()} ${r.unit??"elementów"}`;return`Zbyt duż(y/a/e): oczekiwano, że ${a.origin??"wartość"} będzie wynosić ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`Za mała wartość: oczekiwano, że ${a.origin??"wartość"} będzie mieć ${t}${a.minimum.toString()} ${r.unit??"elementów"}`;return`Zbyt mał(y/a/e): oczekiwano, że ${a.origin??"wartość"} będzie wynosić ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Nieprawidłowy ciąg znak\xf3w: musi zaczynać się od "${a.prefix}"`;if("ends_with"===a.format)return`Nieprawidłowy ciąg znak\xf3w: musi kończyć się na "${a.suffix}"`;if("includes"===a.format)return`Nieprawidłowy ciąg znak\xf3w: musi zawierać "${a.includes}"`;if("regex"===a.format)return`Nieprawidłowy ciąg znak\xf3w: musi odpowiadać wzorcowi ${a.pattern}`;return`Nieprawidłow(y/a/e) ${t[a.format]??a.format}`;case"not_multiple_of":return`Nieprawidłowa liczba: musi być wielokrotnością ${a.divisor}`;case"unrecognized_keys":return`Nierozpoznane klucze${a.keys.length>1?"s":""}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Nieprawidłowy klucz w ${a.origin}`;case"invalid_union":default:return"Nieprawidłowe dane wejściowe";case"invalid_element":return`Nieprawidłowa wartość w ${a.origin}`}})}},"ps",0,function(){let e,t,r;return{localeError:(e={string:{unit:"توکي",verb:"ولري"},file:{unit:"بایټس",verb:"ولري"},array:{unit:"توکي",verb:"ولري"},set:{unit:"توکي",verb:"ولري"}},t={regex:"ورودي",email:"بریښنالیک",url:"یو آر ال",emoji:"ایموجي",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"نیټه او وخت",date:"نېټه",time:"وخت",duration:"موده",ipv4:"د IPv4 پته",ipv6:"د IPv6 پته",cidrv4:"د IPv4 ساحه",cidrv6:"د IPv6 ساحه",base64:"base64-encoded متن",base64url:"base64url-encoded متن",json_string:"JSON متن",e164:"د E.164 شمېره",jwt:"JWT",template_literal:"ورودي"},r={nan:"NaN",number:"عدد",array:"ارې"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`ناسم ورودي: باید instanceof ${a.expected} وای, مګر ${n} ترلاسه شو`;return`ناسم ورودي: باید ${e} وای, مګر ${n} ترلاسه شو`}case"invalid_value":if(1===a.values.length)return`ناسم ورودي: باید ${i.stringifyPrimitive(a.values[0])} وای`;return`ناسم انتخاب: باید یو له ${i.joinValues(a.values,"|")} څخه وای`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`ډیر لوی: ${a.origin??"ارزښت"} باید ${t}${a.maximum.toString()} ${r.unit??"عنصرونه"} ولري`;return`ډیر لوی: ${a.origin??"ارزښت"} باید ${t}${a.maximum.toString()} وي`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`ډیر کوچنی: ${a.origin} باید ${t}${a.minimum.toString()} ${r.unit} ولري`;return`ډیر کوچنی: ${a.origin} باید ${t}${a.minimum.toString()} وي`}case"invalid_format":if("starts_with"===a.format)return`ناسم متن: باید د "${a.prefix}" سره پیل شي`;if("ends_with"===a.format)return`ناسم متن: باید د "${a.suffix}" سره پای ته ورسيږي`;if("includes"===a.format)return`ناسم متن: باید "${a.includes}" ولري`;if("regex"===a.format)return`ناسم متن: باید د ${a.pattern} سره مطابقت ولري`;return`${t[a.format]??a.format} ناسم دی`;case"not_multiple_of":return`ناسم عدد: باید د ${a.divisor} مضرب وي`;case"unrecognized_keys":return`ناسم ${a.keys.length>1?"کلیډونه":"کلیډ"}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`ناسم کلیډ په ${a.origin} کې`;case"invalid_union":default:return"ناسمه ورودي";case"invalid_element":return`ناسم عنصر په ${a.origin} کې`}})}},"pt",0,function(){let e,t,r;return{localeError:(e={string:{unit:"caracteres",verb:"ter"},file:{unit:"bytes",verb:"ter"},array:{unit:"itens",verb:"ter"},set:{unit:"itens",verb:"ter"}},t={regex:"padrão",email:"endereço de e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e hora ISO",date:"data ISO",time:"hora ISO",duration:"duração ISO",ipv4:"endereço IPv4",ipv6:"endereço IPv6",cidrv4:"faixa de IPv4",cidrv6:"faixa de IPv6",base64:"texto codificado em base64",base64url:"URL codificada em base64",json_string:"texto JSON",e164:"número E.164",jwt:"JWT",template_literal:"entrada"},r={nan:"NaN",number:"número",null:"nulo"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Tipo inv\xe1lido: esperado instanceof ${a.expected}, recebido ${n}`;return`Tipo inv\xe1lido: esperado ${e}, recebido ${n}`}case"invalid_value":if(1===a.values.length)return`Entrada inv\xe1lida: esperado ${i.stringifyPrimitive(a.values[0])}`;return`Op\xe7\xe3o inv\xe1lida: esperada uma das ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`Muito grande: esperado que ${a.origin??"valor"} tivesse ${t}${a.maximum.toString()} ${r.unit??"elementos"}`;return`Muito grande: esperado que ${a.origin??"valor"} fosse ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`Muito pequeno: esperado que ${a.origin} tivesse ${t}${a.minimum.toString()} ${r.unit}`;return`Muito pequeno: esperado que ${a.origin} fosse ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Texto inv\xe1lido: deve come\xe7ar com "${a.prefix}"`;if("ends_with"===a.format)return`Texto inv\xe1lido: deve terminar com "${a.suffix}"`;if("includes"===a.format)return`Texto inv\xe1lido: deve incluir "${a.includes}"`;if("regex"===a.format)return`Texto inv\xe1lido: deve corresponder ao padr\xe3o ${a.pattern}`;return`${t[a.format]??a.format} inv\xe1lido`;case"not_multiple_of":return`N\xfamero inv\xe1lido: deve ser m\xfaltiplo de ${a.divisor}`;case"unrecognized_keys":return`Chave${a.keys.length>1?"s":""} desconhecida${a.keys.length>1?"s":""}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Chave inv\xe1lida em ${a.origin}`;case"invalid_union":return"Entrada inválida";case"invalid_element":return`Valor inv\xe1lido em ${a.origin}`;default:return"Campo inválido"}})}},"ro",0,function(){let e,t,r;return{localeError:(e={string:{unit:"caractere",verb:"să aibă"},file:{unit:"octeți",verb:"să aibă"},array:{unit:"elemente",verb:"să aibă"},set:{unit:"elemente",verb:"să aibă"},map:{unit:"intrări",verb:"să aibă"}},t={regex:"intrare",email:"adresă de email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"dată și oră ISO",date:"dată ISO",time:"oră ISO",duration:"durată ISO",ipv4:"adresă IPv4",ipv6:"adresă IPv6",mac:"adresă MAC",cidrv4:"interval IPv4",cidrv6:"interval IPv6",base64:"șir codat base64",base64url:"șir codat base64url",json_string:"șir JSON",e164:"număr E.164",jwt:"JWT",template_literal:"intrare"},r={nan:"NaN",string:"șir",number:"număr",boolean:"boolean",function:"funcție",array:"matrice",object:"obiect",undefined:"nedefinit",symbol:"simbol",bigint:"număr mare",void:"void",never:"never",map:"hartă",set:"set"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;return`Intrare invalidă: așteptat ${e}, primit ${n}`}case"invalid_value":if(1===a.values.length)return`Intrare invalidă: așteptat ${i.stringifyPrimitive(a.values[0])}`;return`Opțiune invalidă: așteptat una dintre ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`Prea mare: așteptat ca ${a.origin??"valoarea"} ${r.verb} ${t}${a.maximum.toString()} ${r.unit??"elemente"}`;return`Prea mare: așteptat ca ${a.origin??"valoarea"} să fie ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`Prea mic: așteptat ca ${a.origin} ${r.verb} ${t}${a.minimum.toString()} ${r.unit}`;return`Prea mic: așteptat ca ${a.origin} să fie ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Șir invalid: trebuie să \xeenceapă cu "${a.prefix}"`;if("ends_with"===a.format)return`Șir invalid: trebuie să se termine cu "${a.suffix}"`;if("includes"===a.format)return`Șir invalid: trebuie să includă "${a.includes}"`;if("regex"===a.format)return`Șir invalid: trebuie să se potrivească cu modelul ${a.pattern}`;return`Format invalid: ${t[a.format]??a.format}`;case"not_multiple_of":return`Număr invalid: trebuie să fie multiplu de ${a.divisor}`;case"unrecognized_keys":return`Chei nerecunoscute: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Cheie invalidă \xeen ${a.origin}`;case"invalid_union":default:return"Intrare invalidă";case"invalid_element":return`Valoare invalidă \xeen ${a.origin}`}})}},"ru",0,function(){let e,t,r;return{localeError:(e={string:{unit:{one:"символ",few:"символа",many:"символов"},verb:"иметь"},file:{unit:{one:"байт",few:"байта",many:"байт"},verb:"иметь"},array:{unit:{one:"элемент",few:"элемента",many:"элементов"},verb:"иметь"},set:{unit:{one:"элемент",few:"элемента",many:"элементов"},verb:"иметь"}},t={regex:"ввод",email:"email адрес",url:"URL",emoji:"эмодзи",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO дата и время",date:"ISO дата",time:"ISO время",duration:"ISO длительность",ipv4:"IPv4 адрес",ipv6:"IPv6 адрес",cidrv4:"IPv4 диапазон",cidrv6:"IPv6 диапазон",base64:"строка в формате base64",base64url:"строка в формате base64url",json_string:"JSON строка",e164:"номер E.164",jwt:"JWT",template_literal:"ввод"},r={nan:"NaN",number:"число",array:"массив"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Неверный ввод: ожидалось instanceof ${a.expected}, получено ${n}`;return`Неверный ввод: ожидалось ${e}, получено ${n}`}case"invalid_value":if(1===a.values.length)return`Неверный ввод: ожидалось ${i.stringifyPrimitive(a.values[0])}`;return`Неверный вариант: ожидалось одно из ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r){let e=w(Number(a.maximum),r.unit.one,r.unit.few,r.unit.many);return`Слишком большое значение: ожидалось, что ${a.origin??"значение"} будет иметь ${t}${a.maximum.toString()} ${e}`}return`Слишком большое значение: ожидалось, что ${a.origin??"значение"} будет ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r){let e=w(Number(a.minimum),r.unit.one,r.unit.few,r.unit.many);return`Слишком маленькое значение: ожидалось, что ${a.origin} будет иметь ${t}${a.minimum.toString()} ${e}`}return`Слишком маленькое значение: ожидалось, что ${a.origin} будет ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Неверная строка: должна начинаться с "${a.prefix}"`;if("ends_with"===a.format)return`Неверная строка: должна заканчиваться на "${a.suffix}"`;if("includes"===a.format)return`Неверная строка: должна содержать "${a.includes}"`;if("regex"===a.format)return`Неверная строка: должна соответствовать шаблону ${a.pattern}`;return`Неверный ${t[a.format]??a.format}`;case"not_multiple_of":return`Неверное число: должно быть кратным ${a.divisor}`;case"unrecognized_keys":return`Нераспознанн${a.keys.length>1?"ые":"ый"} ключ${a.keys.length>1?"и":""}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Неверный ключ в ${a.origin}`;case"invalid_union":default:return"Неверные входные данные";case"invalid_element":return`Неверное значение в ${a.origin}`}})}},"sl",0,function(){let e,t,r;return{localeError:(e={string:{unit:"znakov",verb:"imeti"},file:{unit:"bajtov",verb:"imeti"},array:{unit:"elementov",verb:"imeti"},set:{unit:"elementov",verb:"imeti"}},t={regex:"vnos",email:"e-poštni naslov",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum in čas",date:"ISO datum",time:"ISO čas",duration:"ISO trajanje",ipv4:"IPv4 naslov",ipv6:"IPv6 naslov",cidrv4:"obseg IPv4",cidrv6:"obseg IPv6",base64:"base64 kodiran niz",base64url:"base64url kodiran niz",json_string:"JSON niz",e164:"E.164 številka",jwt:"JWT",template_literal:"vnos"},r={nan:"NaN",number:"število",array:"tabela"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Neveljaven vnos: pričakovano instanceof ${a.expected}, prejeto ${n}`;return`Neveljaven vnos: pričakovano ${e}, prejeto ${n}`}case"invalid_value":if(1===a.values.length)return`Neveljaven vnos: pričakovano ${i.stringifyPrimitive(a.values[0])}`;return`Neveljavna možnost: pričakovano eno izmed ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`Preveliko: pričakovano, da bo ${a.origin??"vrednost"} imelo ${t}${a.maximum.toString()} ${r.unit??"elementov"}`;return`Preveliko: pričakovano, da bo ${a.origin??"vrednost"} ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`Premajhno: pričakovano, da bo ${a.origin} imelo ${t}${a.minimum.toString()} ${r.unit}`;return`Premajhno: pričakovano, da bo ${a.origin} ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Neveljaven niz: mora se začeti z "${a.prefix}"`;if("ends_with"===a.format)return`Neveljaven niz: mora se končati z "${a.suffix}"`;if("includes"===a.format)return`Neveljaven niz: mora vsebovati "${a.includes}"`;if("regex"===a.format)return`Neveljaven niz: mora ustrezati vzorcu ${a.pattern}`;return`Neveljaven ${t[a.format]??a.format}`;case"not_multiple_of":return`Neveljavno število: mora biti večkratnik ${a.divisor}`;case"unrecognized_keys":return`Neprepoznan${a.keys.length>1?"i ključi":" ključ"}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Neveljaven ključ v ${a.origin}`;case"invalid_union":default:return"Neveljaven vnos";case"invalid_element":return`Neveljavna vrednost v ${a.origin}`}})}},"sv",0,function(){let e,t,r;return{localeError:(e={string:{unit:"tecken",verb:"att ha"},file:{unit:"bytes",verb:"att ha"},array:{unit:"objekt",verb:"att innehålla"},set:{unit:"objekt",verb:"att innehålla"}},t={regex:"reguljärt uttryck",email:"e-postadress",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datum och tid",date:"ISO-datum",time:"ISO-tid",duration:"ISO-varaktighet",ipv4:"IPv4-intervall",ipv6:"IPv6-intervall",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodad sträng",base64url:"base64url-kodad sträng",json_string:"JSON-sträng",e164:"E.164-nummer",jwt:"JWT",template_literal:"mall-literal"},r={nan:"NaN",number:"antal",array:"lista"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Ogiltig inmatning: f\xf6rv\xe4ntat instanceof ${a.expected}, fick ${n}`;return`Ogiltig inmatning: f\xf6rv\xe4ntat ${e}, fick ${n}`}case"invalid_value":if(1===a.values.length)return`Ogiltig inmatning: f\xf6rv\xe4ntat ${i.stringifyPrimitive(a.values[0])}`;return`Ogiltigt val: f\xf6rv\xe4ntade en av ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`F\xf6r stor(t): f\xf6rv\xe4ntade ${a.origin??"värdet"} att ha ${t}${a.maximum.toString()} ${r.unit??"element"}`;return`F\xf6r stor(t): f\xf6rv\xe4ntat ${a.origin??"värdet"} att ha ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`F\xf6r lite(t): f\xf6rv\xe4ntade ${a.origin??"värdet"} att ha ${t}${a.minimum.toString()} ${r.unit}`;return`F\xf6r lite(t): f\xf6rv\xe4ntade ${a.origin??"värdet"} att ha ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Ogiltig str\xe4ng: m\xe5ste b\xf6rja med "${a.prefix}"`;if("ends_with"===a.format)return`Ogiltig str\xe4ng: m\xe5ste sluta med "${a.suffix}"`;if("includes"===a.format)return`Ogiltig str\xe4ng: m\xe5ste inneh\xe5lla "${a.includes}"`;if("regex"===a.format)return`Ogiltig str\xe4ng: m\xe5ste matcha m\xf6nstret "${a.pattern}"`;return`Ogiltig(t) ${t[a.format]??a.format}`;case"not_multiple_of":return`Ogiltigt tal: m\xe5ste vara en multipel av ${a.divisor}`;case"unrecognized_keys":return`${a.keys.length>1?"Okända nycklar":"Okänd nyckel"}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Ogiltig nyckel i ${a.origin??"värdet"}`;case"invalid_union":default:return"Ogiltig input";case"invalid_element":return`Ogiltigt v\xe4rde i ${a.origin??"värdet"}`}})}},"ta",0,function(){let e,t,r;return{localeError:(e={string:{unit:"எழுத்துக்கள்",verb:"கொண்டிருக்க வேண்டும்"},file:{unit:"பைட்டுகள்",verb:"கொண்டிருக்க வேண்டும்"},array:{unit:"உறுப்புகள்",verb:"கொண்டிருக்க வேண்டும்"},set:{unit:"உறுப்புகள்",verb:"கொண்டிருக்க வேண்டும்"}},t={regex:"உள்ளீடு",email:"மின்னஞ்சல் முகவரி",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO தேதி நேரம்",date:"ISO தேதி",time:"ISO நேரம்",duration:"ISO கால அளவு",ipv4:"IPv4 முகவரி",ipv6:"IPv6 முகவரி",cidrv4:"IPv4 வரம்பு",cidrv6:"IPv6 வரம்பு",base64:"base64-encoded சரம்",base64url:"base64url-encoded சரம்",json_string:"JSON சரம்",e164:"E.164 எண்",jwt:"JWT",template_literal:"input"},r={nan:"NaN",number:"எண்",array:"அணி",null:"வெறுமை"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது instanceof ${a.expected}, பெறப்பட்டது ${n}`;return`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது ${e}, பெறப்பட்டது ${n}`}case"invalid_value":if(1===a.values.length)return`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது ${i.stringifyPrimitive(a.values[0])}`;return`தவறான விருப்பம்: எதிர்பார்க்கப்பட்டது ${i.joinValues(a.values,"|")} இல் ஒன்று`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`மிக பெரியது: எதிர்பார்க்கப்பட்டது ${a.origin??"மதிப்பு"} ${t}${a.maximum.toString()} ${r.unit??"உறுப்புகள்"} ஆக இருக்க வேண்டும்`;return`மிக பெரியது: எதிர்பார்க்கப்பட்டது ${a.origin??"மதிப்பு"} ${t}${a.maximum.toString()} ஆக இருக்க வேண்டும்`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`மிகச் சிறியது: எதிர்பார்க்கப்பட்டது ${a.origin} ${t}${a.minimum.toString()} ${r.unit} ஆக இருக்க வேண்டும்`;return`மிகச் சிறியது: எதிர்பார்க்கப்பட்டது ${a.origin} ${t}${a.minimum.toString()} ஆக இருக்க வேண்டும்`}case"invalid_format":if("starts_with"===a.format)return`தவறான சரம்: "${a.prefix}" இல் தொடங்க வேண்டும்`;if("ends_with"===a.format)return`தவறான சரம்: "${a.suffix}" இல் முடிவடைய வேண்டும்`;if("includes"===a.format)return`தவறான சரம்: "${a.includes}" ஐ உள்ளடக்க வேண்டும்`;if("regex"===a.format)return`தவறான சரம்: ${a.pattern} முறைபாட்டுடன் பொருந்த வேண்டும்`;return`தவறான ${t[a.format]??a.format}`;case"not_multiple_of":return`தவறான எண்: ${a.divisor} இன் பலமாக இருக்க வேண்டும்`;case"unrecognized_keys":return`அடையாளம் தெரியாத விசை${a.keys.length>1?"கள்":""}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`${a.origin} இல் தவறான விசை`;case"invalid_union":default:return"தவறான உள்ளீடு";case"invalid_element":return`${a.origin} இல் தவறான மதிப்பு`}})}},"th",0,function(){let e,t,r;return{localeError:(e={string:{unit:"ตัวอักษร",verb:"ควรมี"},file:{unit:"ไบต์",verb:"ควรมี"},array:{unit:"รายการ",verb:"ควรมี"},set:{unit:"รายการ",verb:"ควรมี"}},t={regex:"ข้อมูลที่ป้อน",email:"ที่อยู่อีเมล",url:"URL",emoji:"อิโมจิ",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"วันที่เวลาแบบ ISO",date:"วันที่แบบ ISO",time:"เวลาแบบ ISO",duration:"ช่วงเวลาแบบ ISO",ipv4:"ที่อยู่ IPv4",ipv6:"ที่อยู่ IPv6",cidrv4:"ช่วง IP แบบ IPv4",cidrv6:"ช่วง IP แบบ IPv6",base64:"ข้อความแบบ Base64",base64url:"ข้อความแบบ Base64 สำหรับ URL",json_string:"ข้อความแบบ JSON",e164:"เบอร์โทรศัพท์ระหว่างประเทศ (E.164)",jwt:"โทเคน JWT",template_literal:"ข้อมูลที่ป้อน"},r={nan:"NaN",number:"ตัวเลข",array:"อาร์เรย์ (Array)",null:"ไม่มีค่า (null)"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`ประเภทข้อมูลไม่ถูกต้อง: ควรเป็น instanceof ${a.expected} แต่ได้รับ ${n}`;return`ประเภทข้อมูลไม่ถูกต้อง: ควรเป็น ${e} แต่ได้รับ ${n}`}case"invalid_value":if(1===a.values.length)return`ค่าไม่ถูกต้อง: ควรเป็น ${i.stringifyPrimitive(a.values[0])}`;return`ตัวเลือกไม่ถูกต้อง: ควรเป็นหนึ่งใน ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"ไม่เกิน":"น้อยกว่า",r=e[a.origin]??null;if(r)return`เกินกำหนด: ${a.origin??"ค่า"} ควรมี${t} ${a.maximum.toString()} ${r.unit??"รายการ"}`;return`เกินกำหนด: ${a.origin??"ค่า"} ควรมี${t} ${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?"อย่างน้อย":"มากกว่า",r=e[a.origin]??null;if(r)return`น้อยกว่ากำหนด: ${a.origin} ควรมี${t} ${a.minimum.toString()} ${r.unit}`;return`น้อยกว่ากำหนด: ${a.origin} ควรมี${t} ${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`รูปแบบไม่ถูกต้อง: ข้อความต้องขึ้นต้นด้วย "${a.prefix}"`;if("ends_with"===a.format)return`รูปแบบไม่ถูกต้อง: ข้อความต้องลงท้ายด้วย "${a.suffix}"`;if("includes"===a.format)return`รูปแบบไม่ถูกต้อง: ข้อความต้องมี "${a.includes}" อยู่ในข้อความ`;if("regex"===a.format)return`รูปแบบไม่ถูกต้อง: ต้องตรงกับรูปแบบที่กำหนด ${a.pattern}`;return`รูปแบบไม่ถูกต้อง: ${t[a.format]??a.format}`;case"not_multiple_of":return`ตัวเลขไม่ถูกต้อง: ต้องเป็นจำนวนที่หารด้วย ${a.divisor} ได้ลงตัว`;case"unrecognized_keys":return`พบคีย์ที่ไม่รู้จัก: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`คีย์ไม่ถูกต้องใน ${a.origin}`;case"invalid_union":return"ข้อมูลไม่ถูกต้อง: ไม่ตรงกับรูปแบบยูเนียนที่กำหนดไว้";case"invalid_element":return`ข้อมูลไม่ถูกต้องใน ${a.origin}`;default:return"ข้อมูลไม่ถูกต้อง"}})}},"tr",0,function(){let e,t,r;return{localeError:(e={string:{unit:"karakter",verb:"olmalı"},file:{unit:"bayt",verb:"olmalı"},array:{unit:"öğe",verb:"olmalı"},set:{unit:"öğe",verb:"olmalı"}},t={regex:"girdi",email:"e-posta adresi",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO tarih ve saat",date:"ISO tarih",time:"ISO saat",duration:"ISO süre",ipv4:"IPv4 adresi",ipv6:"IPv6 adresi",cidrv4:"IPv4 aralığı",cidrv6:"IPv6 aralığı",base64:"base64 ile şifrelenmiş metin",base64url:"base64url ile şifrelenmiş metin",json_string:"JSON dizesi",e164:"E.164 sayısı",jwt:"JWT",template_literal:"Şablon dizesi"},r={nan:"NaN"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Ge\xe7ersiz değer: beklenen instanceof ${a.expected}, alınan ${n}`;return`Ge\xe7ersiz değer: beklenen ${e}, alınan ${n}`}case"invalid_value":if(1===a.values.length)return`Ge\xe7ersiz değer: beklenen ${i.stringifyPrimitive(a.values[0])}`;return`Ge\xe7ersiz se\xe7enek: aşağıdakilerden biri olmalı: ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`\xc7ok b\xfcy\xfck: beklenen ${a.origin??"değer"} ${t}${a.maximum.toString()} ${r.unit??"öğe"}`;return`\xc7ok b\xfcy\xfck: beklenen ${a.origin??"değer"} ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`\xc7ok k\xfc\xe7\xfck: beklenen ${a.origin} ${t}${a.minimum.toString()} ${r.unit}`;return`\xc7ok k\xfc\xe7\xfck: beklenen ${a.origin} ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Ge\xe7ersiz metin: "${a.prefix}" ile başlamalı`;if("ends_with"===a.format)return`Ge\xe7ersiz metin: "${a.suffix}" ile bitmeli`;if("includes"===a.format)return`Ge\xe7ersiz metin: "${a.includes}" i\xe7ermeli`;if("regex"===a.format)return`Ge\xe7ersiz metin: ${a.pattern} desenine uymalı`;return`Ge\xe7ersiz ${t[a.format]??a.format}`;case"not_multiple_of":return`Ge\xe7ersiz sayı: ${a.divisor} ile tam b\xf6l\xfcnebilmeli`;case"unrecognized_keys":return`Tanınmayan anahtar${a.keys.length>1?"lar":""}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`${a.origin} i\xe7inde ge\xe7ersiz anahtar`;case"invalid_union":default:return"Geçersiz değer";case"invalid_element":return`${a.origin} i\xe7inde ge\xe7ersiz değer`}})}},"ua",0,function(){return b()},"uk",0,b,"ur",0,function(){let e,t,r;return{localeError:(e={string:{unit:"حروف",verb:"ہونا"},file:{unit:"بائٹس",verb:"ہونا"},array:{unit:"آئٹمز",verb:"ہونا"},set:{unit:"آئٹمز",verb:"ہونا"}},t={regex:"ان پٹ",email:"ای میل ایڈریس",url:"یو آر ایل",emoji:"ایموجی",uuid:"یو یو آئی ڈی",uuidv4:"یو یو آئی ڈی وی 4",uuidv6:"یو یو آئی ڈی وی 6",nanoid:"نینو آئی ڈی",guid:"جی یو آئی ڈی",cuid:"سی یو آئی ڈی",cuid2:"سی یو آئی ڈی 2",ulid:"یو ایل آئی ڈی",xid:"ایکس آئی ڈی",ksuid:"کے ایس یو آئی ڈی",datetime:"آئی ایس او ڈیٹ ٹائم",date:"آئی ایس او تاریخ",time:"آئی ایس او وقت",duration:"آئی ایس او مدت",ipv4:"آئی پی وی 4 ایڈریس",ipv6:"آئی پی وی 6 ایڈریس",cidrv4:"آئی پی وی 4 رینج",cidrv6:"آئی پی وی 6 رینج",base64:"بیس 64 ان کوڈڈ سٹرنگ",base64url:"بیس 64 یو آر ایل ان کوڈڈ سٹرنگ",json_string:"جے ایس او این سٹرنگ",e164:"ای 164 نمبر",jwt:"جے ڈبلیو ٹی",template_literal:"ان پٹ"},r={nan:"NaN",number:"نمبر",array:"آرے",null:"نل"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`غلط ان پٹ: instanceof ${a.expected} متوقع تھا، ${n} موصول ہوا`;return`غلط ان پٹ: ${e} متوقع تھا، ${n} موصول ہوا`}case"invalid_value":if(1===a.values.length)return`غلط ان پٹ: ${i.stringifyPrimitive(a.values[0])} متوقع تھا`;return`غلط آپشن: ${i.joinValues(a.values,"|")} میں سے ایک متوقع تھا`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`بہت بڑا: ${a.origin??"ویلیو"} کے ${t}${a.maximum.toString()} ${r.unit??"عناصر"} ہونے متوقع تھے`;return`بہت بڑا: ${a.origin??"ویلیو"} کا ${t}${a.maximum.toString()} ہونا متوقع تھا`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`بہت چھوٹا: ${a.origin} کے ${t}${a.minimum.toString()} ${r.unit} ہونے متوقع تھے`;return`بہت چھوٹا: ${a.origin} کا ${t}${a.minimum.toString()} ہونا متوقع تھا`}case"invalid_format":if("starts_with"===a.format)return`غلط سٹرنگ: "${a.prefix}" سے شروع ہونا چاہیے`;if("ends_with"===a.format)return`غلط سٹرنگ: "${a.suffix}" پر ختم ہونا چاہیے`;if("includes"===a.format)return`غلط سٹرنگ: "${a.includes}" شامل ہونا چاہیے`;if("regex"===a.format)return`غلط سٹرنگ: پیٹرن ${a.pattern} سے میچ ہونا چاہیے`;return`غلط ${t[a.format]??a.format}`;case"not_multiple_of":return`غلط نمبر: ${a.divisor} کا مضاعف ہونا چاہیے`;case"unrecognized_keys":return`غیر تسلیم شدہ کی${a.keys.length>1?"ز":""}: ${i.joinValues(a.keys,"، ")}`;case"invalid_key":return`${a.origin} میں غلط کی`;case"invalid_union":default:return"غلط ان پٹ";case"invalid_element":return`${a.origin} میں غلط ویلیو`}})}},"uz",0,function(){let e,t,r;return{localeError:(e={string:{unit:"belgi",verb:"bo‘lishi kerak"},file:{unit:"bayt",verb:"bo‘lishi kerak"},array:{unit:"element",verb:"bo‘lishi kerak"},set:{unit:"element",verb:"bo‘lishi kerak"},map:{unit:"yozuv",verb:"bo‘lishi kerak"}},t={regex:"kirish",email:"elektron pochta manzili",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO sana va vaqti",date:"ISO sana",time:"ISO vaqt",duration:"ISO davomiylik",ipv4:"IPv4 manzil",ipv6:"IPv6 manzil",mac:"MAC manzil",cidrv4:"IPv4 diapazon",cidrv6:"IPv6 diapazon",base64:"base64 kodlangan satr",base64url:"base64url kodlangan satr",json_string:"JSON satr",e164:"E.164 raqam",jwt:"JWT",template_literal:"kirish"},r={nan:"NaN",number:"raqam",array:"massiv"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Noto‘g‘ri kirish: kutilgan instanceof ${a.expected}, qabul qilingan ${n}`;return`Noto‘g‘ri kirish: kutilgan ${e}, qabul qilingan ${n}`}case"invalid_value":if(1===a.values.length)return`Noto‘g‘ri kirish: kutilgan ${i.stringifyPrimitive(a.values[0])}`;return`Noto‘g‘ri variant: quyidagilardan biri kutilgan ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`Juda katta: kutilgan ${a.origin??"qiymat"} ${t}${a.maximum.toString()} ${r.unit} ${r.verb}`;return`Juda katta: kutilgan ${a.origin??"qiymat"} ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`Juda kichik: kutilgan ${a.origin} ${t}${a.minimum.toString()} ${r.unit} ${r.verb}`;return`Juda kichik: kutilgan ${a.origin} ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Noto‘g‘ri satr: "${a.prefix}" bilan boshlanishi kerak`;if("ends_with"===a.format)return`Noto‘g‘ri satr: "${a.suffix}" bilan tugashi kerak`;if("includes"===a.format)return`Noto‘g‘ri satr: "${a.includes}" ni o‘z ichiga olishi kerak`;if("regex"===a.format)return`Noto‘g‘ri satr: ${a.pattern} shabloniga mos kelishi kerak`;return`Noto‘g‘ri ${t[a.format]??a.format}`;case"not_multiple_of":return`Noto‘g‘ri raqam: ${a.divisor} ning karralisi bo‘lishi kerak`;case"unrecognized_keys":return`Noma’lum kalit${a.keys.length>1?"lar":""}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`${a.origin} dagi kalit noto‘g‘ri`;case"invalid_union":default:return"Noto‘g‘ri kirish";case"invalid_element":return`${a.origin} da noto‘g‘ri qiymat`}})}},"vi",0,function(){let e,t,r;return{localeError:(e={string:{unit:"ký tự",verb:"có"},file:{unit:"byte",verb:"có"},array:{unit:"phần tử",verb:"có"},set:{unit:"phần tử",verb:"có"}},t={regex:"đầu vào",email:"địa chỉ email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ngày giờ ISO",date:"ngày ISO",time:"giờ ISO",duration:"khoảng thời gian ISO",ipv4:"địa chỉ IPv4",ipv6:"địa chỉ IPv6",cidrv4:"dải IPv4",cidrv6:"dải IPv6",base64:"chuỗi mã hóa base64",base64url:"chuỗi mã hóa base64url",json_string:"chuỗi JSON",e164:"số E.164",jwt:"JWT",template_literal:"đầu vào"},r={nan:"NaN",number:"số",array:"mảng"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Đầu v\xe0o kh\xf4ng hợp lệ: mong đợi instanceof ${a.expected}, nhận được ${n}`;return`Đầu v\xe0o kh\xf4ng hợp lệ: mong đợi ${e}, nhận được ${n}`}case"invalid_value":if(1===a.values.length)return`Đầu v\xe0o kh\xf4ng hợp lệ: mong đợi ${i.stringifyPrimitive(a.values[0])}`;return`T\xf9y chọn kh\xf4ng hợp lệ: mong đợi một trong c\xe1c gi\xe1 trị ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`Qu\xe1 lớn: mong đợi ${a.origin??"giá trị"} ${r.verb} ${t}${a.maximum.toString()} ${r.unit??"phần tử"}`;return`Qu\xe1 lớn: mong đợi ${a.origin??"giá trị"} ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`Qu\xe1 nhỏ: mong đợi ${a.origin} ${r.verb} ${t}${a.minimum.toString()} ${r.unit}`;return`Qu\xe1 nhỏ: mong đợi ${a.origin} ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Chuỗi kh\xf4ng hợp lệ: phải bắt đầu bằng "${a.prefix}"`;if("ends_with"===a.format)return`Chuỗi kh\xf4ng hợp lệ: phải kết th\xfac bằng "${a.suffix}"`;if("includes"===a.format)return`Chuỗi kh\xf4ng hợp lệ: phải bao gồm "${a.includes}"`;if("regex"===a.format)return`Chuỗi kh\xf4ng hợp lệ: phải khớp với mẫu ${a.pattern}`;return`${t[a.format]??a.format} kh\xf4ng hợp lệ`;case"not_multiple_of":return`Số kh\xf4ng hợp lệ: phải l\xe0 bội số của ${a.divisor}`;case"unrecognized_keys":return`Kh\xf3a kh\xf4ng được nhận dạng: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Kh\xf3a kh\xf4ng hợp lệ trong ${a.origin}`;case"invalid_union":default:return"Đầu vào không hợp lệ";case"invalid_element":return`Gi\xe1 trị kh\xf4ng hợp lệ trong ${a.origin}`}})}},"yo",0,function(){let e,t,r;return{localeError:(e={string:{unit:"àmi",verb:"ní"},file:{unit:"bytes",verb:"ní"},array:{unit:"nkan",verb:"ní"},set:{unit:"nkan",verb:"ní"}},t={regex:"ẹ̀rọ ìbáwọlé",email:"àdírẹ́sì ìmẹ́lì",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"àkókò ISO",date:"ọjọ́ ISO",time:"àkókò ISO",duration:"àkókò tó pé ISO",ipv4:"àdírẹ́sì IPv4",ipv6:"àdírẹ́sì IPv6",cidrv4:"àgbègbè IPv4",cidrv6:"àgbègbè IPv6",base64:"ọ̀rọ̀ tí a kọ́ ní base64",base64url:"ọ̀rọ̀ base64url",json_string:"ọ̀rọ̀ JSON",e164:"nọ́mbà E.164",jwt:"JWT",template_literal:"ẹ̀rọ ìbáwọlé"},r={nan:"NaN",number:"nọ́mbà",array:"akopọ"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`\xccb\xe1wọl\xe9 aṣ\xecṣe: a n\xed l\xe1ti fi instanceof ${a.expected}, \xe0mọ̀ a r\xed ${n}`;return`\xccb\xe1wọl\xe9 aṣ\xecṣe: a n\xed l\xe1ti fi ${e}, \xe0mọ̀ a r\xed ${n}`}case"invalid_value":if(1===a.values.length)return`\xccb\xe1wọl\xe9 aṣ\xecṣe: a n\xed l\xe1ti fi ${i.stringifyPrimitive(a.values[0])}`;return`\xc0ṣ\xe0y\xe0n aṣ\xecṣe: yan ọ̀kan l\xe1ra ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`T\xf3 pọ̀ j\xf9: a n\xed l\xe1ti jẹ́ p\xe9 ${a.origin??"iye"} ${r.verb} ${t}${a.maximum} ${r.unit}`;return`T\xf3 pọ̀ j\xf9: a n\xed l\xe1ti jẹ́ ${t}${a.maximum}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`K\xe9r\xe9 ju: a n\xed l\xe1ti jẹ́ p\xe9 ${a.origin} ${r.verb} ${t}${a.minimum} ${r.unit}`;return`K\xe9r\xe9 ju: a n\xed l\xe1ti jẹ́ ${t}${a.minimum}`}case"invalid_format":if("starts_with"===a.format)return`Ọ̀rọ̀ aṣ\xecṣe: gbọ́dọ̀ bẹ̀rẹ̀ pẹ̀l\xfa "${a.prefix}"`;if("ends_with"===a.format)return`Ọ̀rọ̀ aṣ\xecṣe: gbọ́dọ̀ par\xed pẹ̀l\xfa "${a.suffix}"`;if("includes"===a.format)return`Ọ̀rọ̀ aṣ\xecṣe: gbọ́dọ̀ n\xed "${a.includes}"`;if("regex"===a.format)return`Ọ̀rọ̀ aṣ\xecṣe: gbọ́dọ̀ b\xe1 \xe0pẹẹrẹ mu ${a.pattern}`;return`Aṣ\xecṣe: ${t[a.format]??a.format}`;case"not_multiple_of":return`Nọ́mb\xe0 aṣ\xecṣe: gbọ́dọ̀ jẹ́ \xe8y\xe0 p\xedp\xedn ti ${a.divisor}`;case"unrecognized_keys":return`Bọt\xecn\xec \xe0\xecmọ̀: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Bọt\xecn\xec aṣ\xecṣe n\xedn\xfa ${a.origin}`;case"invalid_union":default:return"Ìbáwọlé aṣìṣe";case"invalid_element":return`Iye aṣ\xecṣe n\xedn\xfa ${a.origin}`}})}},"zhCN",0,function(){let e,t,r;return{localeError:(e={string:{unit:"字符",verb:"包含"},file:{unit:"字节",verb:"包含"},array:{unit:"项",verb:"包含"},set:{unit:"项",verb:"包含"}},t={regex:"输入",email:"电子邮件",url:"URL",emoji:"表情符号",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO日期时间",date:"ISO日期",time:"ISO时间",duration:"ISO时长",ipv4:"IPv4地址",ipv6:"IPv6地址",cidrv4:"IPv4网段",cidrv6:"IPv6网段",base64:"base64编码字符串",base64url:"base64url编码字符串",json_string:"JSON字符串",e164:"E.164号码",jwt:"JWT",template_literal:"输入"},r={nan:"NaN",number:"数字",array:"数组",null:"空值(null)"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`无效输入:期望 instanceof ${a.expected},实际接收 ${n}`;return`无效输入:期望 ${e},实际接收 ${n}`}case"invalid_value":if(1===a.values.length)return`无效输入:期望 ${i.stringifyPrimitive(a.values[0])}`;return`无效选项:期望以下之一 ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`数值过大:期望 ${a.origin??"值"} ${t}${a.maximum.toString()} ${r.unit??"个元素"}`;return`数值过大:期望 ${a.origin??"值"} ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`数值过小:期望 ${a.origin} ${t}${a.minimum.toString()} ${r.unit}`;return`数值过小:期望 ${a.origin} ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`无效字符串:必须以 "${a.prefix}" 开头`;if("ends_with"===a.format)return`无效字符串:必须以 "${a.suffix}" 结尾`;if("includes"===a.format)return`无效字符串:必须包含 "${a.includes}"`;if("regex"===a.format)return`无效字符串:必须满足正则表达式 ${a.pattern}`;return`无效${t[a.format]??a.format}`;case"not_multiple_of":return`无效数字:必须是 ${a.divisor} 的倍数`;case"unrecognized_keys":return`出现未知的键(key): ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`${a.origin} 中的键(key)无效`;case"invalid_union":default:return"无效输入";case"invalid_element":return`${a.origin} 中包含无效值(value)`}})}},"zhTW",0,function(){let e,t,r;return{localeError:(e={string:{unit:"字元",verb:"擁有"},file:{unit:"位元組",verb:"擁有"},array:{unit:"項目",verb:"擁有"},set:{unit:"項目",verb:"擁有"}},t={regex:"輸入",email:"郵件地址",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO 日期時間",date:"ISO 日期",time:"ISO 時間",duration:"ISO 期間",ipv4:"IPv4 位址",ipv6:"IPv6 位址",cidrv4:"IPv4 範圍",cidrv6:"IPv6 範圍",base64:"base64 編碼字串",base64url:"base64url 編碼字串",json_string:"JSON 字串",e164:"E.164 數值",jwt:"JWT",template_literal:"輸入"},r={nan:"NaN"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`無效的輸入值:預期為 instanceof ${a.expected},但收到 ${n}`;return`無效的輸入值:預期為 ${e},但收到 ${n}`}case"invalid_value":if(1===a.values.length)return`無效的輸入值:預期為 ${i.stringifyPrimitive(a.values[0])}`;return`無效的選項:預期為以下其中之一 ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`數值過大:預期 ${a.origin??"值"} 應為 ${t}${a.maximum.toString()} ${r.unit??"個元素"}`;return`數值過大:預期 ${a.origin??"值"} 應為 ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`數值過小:預期 ${a.origin} 應為 ${t}${a.minimum.toString()} ${r.unit}`;return`數值過小:預期 ${a.origin} 應為 ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`無效的字串:必須以 "${a.prefix}" 開頭`;if("ends_with"===a.format)return`無效的字串:必須以 "${a.suffix}" 結尾`;if("includes"===a.format)return`無效的字串:必須包含 "${a.includes}"`;if("regex"===a.format)return`無效的字串:必須符合格式 ${a.pattern}`;return`無效的 ${t[a.format]??a.format}`;case"not_multiple_of":return`無效的數字:必須為 ${a.divisor} 的倍數`;case"unrecognized_keys":return`無法識別的鍵值${a.keys.length>1?"們":""}:${i.joinValues(a.keys,"、")}`;case"invalid_key":return`${a.origin} 中有無效的鍵值`;case"invalid_union":default:return"無效的輸入值";case"invalid_element":return`${a.origin} 中有無效的值`}})}}],860544);var v=e.i(860544),k=e.i(52637),S=e.i(173911),E=e.i(862061),I=e.i(207159),x=e.i(865889);e.s([],233145);var A=e.i(233145);e.s(["$ZodAny",()=>o.$ZodAny,"$ZodArray",()=>o.$ZodArray,"$ZodAsyncError",()=>r.$ZodAsyncError,"$ZodBase64",()=>o.$ZodBase64,"$ZodBase64URL",()=>o.$ZodBase64URL,"$ZodBigInt",()=>o.$ZodBigInt,"$ZodBigIntFormat",()=>o.$ZodBigIntFormat,"$ZodBoolean",()=>o.$ZodBoolean,"$ZodCIDRv4",()=>o.$ZodCIDRv4,"$ZodCIDRv6",()=>o.$ZodCIDRv6,"$ZodCUID",()=>o.$ZodCUID,"$ZodCUID2",()=>o.$ZodCUID2,"$ZodCatch",()=>o.$ZodCatch,"$ZodCheck",()=>l.$ZodCheck,"$ZodCheckBigIntFormat",()=>l.$ZodCheckBigIntFormat,"$ZodCheckEndsWith",()=>l.$ZodCheckEndsWith,"$ZodCheckGreaterThan",()=>l.$ZodCheckGreaterThan,"$ZodCheckIncludes",()=>l.$ZodCheckIncludes,"$ZodCheckLengthEquals",()=>l.$ZodCheckLengthEquals,"$ZodCheckLessThan",()=>l.$ZodCheckLessThan,"$ZodCheckLowerCase",()=>l.$ZodCheckLowerCase,"$ZodCheckMaxLength",()=>l.$ZodCheckMaxLength,"$ZodCheckMaxSize",()=>l.$ZodCheckMaxSize,"$ZodCheckMimeType",()=>l.$ZodCheckMimeType,"$ZodCheckMinLength",()=>l.$ZodCheckMinLength,"$ZodCheckMinSize",()=>l.$ZodCheckMinSize,"$ZodCheckMultipleOf",()=>l.$ZodCheckMultipleOf,"$ZodCheckNumberFormat",()=>l.$ZodCheckNumberFormat,"$ZodCheckOverwrite",()=>l.$ZodCheckOverwrite,"$ZodCheckProperty",()=>l.$ZodCheckProperty,"$ZodCheckRegex",()=>l.$ZodCheckRegex,"$ZodCheckSizeEquals",()=>l.$ZodCheckSizeEquals,"$ZodCheckStartsWith",()=>l.$ZodCheckStartsWith,"$ZodCheckStringFormat",()=>l.$ZodCheckStringFormat,"$ZodCheckUpperCase",()=>l.$ZodCheckUpperCase,"$ZodCodec",()=>o.$ZodCodec,"$ZodCustom",()=>o.$ZodCustom,"$ZodCustomStringFormat",()=>o.$ZodCustomStringFormat,"$ZodDate",()=>o.$ZodDate,"$ZodDefault",()=>o.$ZodDefault,"$ZodDiscriminatedUnion",()=>o.$ZodDiscriminatedUnion,"$ZodE164",()=>o.$ZodE164,"$ZodEmail",()=>o.$ZodEmail,"$ZodEmoji",()=>o.$ZodEmoji,"$ZodEncodeError",()=>r.$ZodEncodeError,"$ZodEnum",()=>o.$ZodEnum,"$ZodError",()=>s.$ZodError,"$ZodExactOptional",()=>o.$ZodExactOptional,"$ZodFile",()=>o.$ZodFile,"$ZodFunction",()=>o.$ZodFunction,"$ZodGUID",()=>o.$ZodGUID,"$ZodIPv4",()=>o.$ZodIPv4,"$ZodIPv6",()=>o.$ZodIPv6,"$ZodISODate",()=>o.$ZodISODate,"$ZodISODateTime",()=>o.$ZodISODateTime,"$ZodISODuration",()=>o.$ZodISODuration,"$ZodISOTime",()=>o.$ZodISOTime,"$ZodIntersection",()=>o.$ZodIntersection,"$ZodJWT",()=>o.$ZodJWT,"$ZodKSUID",()=>o.$ZodKSUID,"$ZodLazy",()=>o.$ZodLazy,"$ZodLiteral",()=>o.$ZodLiteral,"$ZodMAC",()=>o.$ZodMAC,"$ZodMap",()=>o.$ZodMap,"$ZodNaN",()=>o.$ZodNaN,"$ZodNanoID",()=>o.$ZodNanoID,"$ZodNever",()=>o.$ZodNever,"$ZodNonOptional",()=>o.$ZodNonOptional,"$ZodNull",()=>o.$ZodNull,"$ZodNullable",()=>o.$ZodNullable,"$ZodNumber",()=>o.$ZodNumber,"$ZodNumberFormat",()=>o.$ZodNumberFormat,"$ZodObject",()=>o.$ZodObject,"$ZodObjectJIT",()=>o.$ZodObjectJIT,"$ZodOptional",()=>o.$ZodOptional,"$ZodPipe",()=>o.$ZodPipe,"$ZodPrefault",()=>o.$ZodPrefault,"$ZodPreprocess",()=>o.$ZodPreprocess,"$ZodPromise",()=>o.$ZodPromise,"$ZodReadonly",()=>o.$ZodReadonly,"$ZodRealError",()=>s.$ZodRealError,"$ZodRecord",()=>o.$ZodRecord,"$ZodRegistry",()=>k.$ZodRegistry,"$ZodSet",()=>o.$ZodSet,"$ZodString",()=>o.$ZodString,"$ZodStringFormat",()=>o.$ZodStringFormat,"$ZodSuccess",()=>o.$ZodSuccess,"$ZodSymbol",()=>o.$ZodSymbol,"$ZodTemplateLiteral",()=>o.$ZodTemplateLiteral,"$ZodTransform",()=>o.$ZodTransform,"$ZodTuple",()=>o.$ZodTuple,"$ZodType",()=>o.$ZodType,"$ZodULID",()=>o.$ZodULID,"$ZodURL",()=>o.$ZodURL,"$ZodUUID",()=>o.$ZodUUID,"$ZodUndefined",()=>o.$ZodUndefined,"$ZodUnion",()=>o.$ZodUnion,"$ZodUnknown",()=>o.$ZodUnknown,"$ZodVoid",()=>o.$ZodVoid,"$ZodXID",()=>o.$ZodXID,"$ZodXor",()=>o.$ZodXor,"$brand",()=>r.$brand,"$constructor",()=>r.$constructor,"$input",()=>k.$input,"$output",()=>k.$output,"Doc",()=>S.Doc,"JSONSchema",0,A,"JSONSchemaGenerator",0,class{get metadataRegistry(){return this.ctx.metadataRegistry}get target(){return this.ctx.target}get unrepresentable(){return this.ctx.unrepresentable}get override(){return this.ctx.override}get io(){return this.ctx.io}get counter(){return this.ctx.counter}set counter(e){this.ctx.counter=e}get seen(){return this.ctx.seen}constructor(e){let t=e?.target??"draft-2020-12";"draft-4"===t&&(t="draft-04"),"draft-7"===t&&(t="draft-07"),this.ctx=(0,I.initializeContext)({processors:x.allProcessors,target:t,...e?.metadata&&{metadata:e.metadata},...e?.unrepresentable&&{unrepresentable:e.unrepresentable},...e?.override&&{override:e.override},...e?.io&&{io:e.io}})}process(e,t={path:[],schemaPath:[]}){return(0,I.process)(e,this.ctx,t)}emit(e,t){t&&(t.cycles&&(this.ctx.cycles=t.cycles),t.reused&&(this.ctx.reused=t.reused),t.external&&(this.ctx.external=t.external)),(0,I.extractDefs)(this.ctx,e);let{"~standard":r,...i}=(0,I.finalize)(this.ctx,e);return i}},"NEVER",()=>r.NEVER,"TimePrecision",()=>E.TimePrecision,"_any",()=>E._any,"_array",()=>E._array,"_base64",()=>E._base64,"_base64url",()=>E._base64url,"_bigint",()=>E._bigint,"_boolean",()=>E._boolean,"_catch",()=>E._catch,"_check",()=>E._check,"_cidrv4",()=>E._cidrv4,"_cidrv6",()=>E._cidrv6,"_coercedBigint",()=>E._coercedBigint,"_coercedBoolean",()=>E._coercedBoolean,"_coercedDate",()=>E._coercedDate,"_coercedNumber",()=>E._coercedNumber,"_coercedString",()=>E._coercedString,"_cuid",()=>E._cuid,"_cuid2",()=>E._cuid2,"_custom",()=>E._custom,"_date",()=>E._date,"_decode",()=>n._decode,"_decodeAsync",()=>n._decodeAsync,"_default",()=>E._default,"_discriminatedUnion",()=>E._discriminatedUnion,"_e164",()=>E._e164,"_email",()=>E._email,"_emoji",()=>E._emoji,"_encode",()=>n._encode,"_encodeAsync",()=>n._encodeAsync,"_endsWith",()=>E._endsWith,"_enum",()=>E._enum,"_file",()=>E._file,"_float32",()=>E._float32,"_float64",()=>E._float64,"_gt",()=>E._gt,"_gte",()=>E._gte,"_guid",()=>E._guid,"_includes",()=>E._includes,"_int",()=>E._int,"_int32",()=>E._int32,"_int64",()=>E._int64,"_intersection",()=>E._intersection,"_ipv4",()=>E._ipv4,"_ipv6",()=>E._ipv6,"_isoDate",()=>E._isoDate,"_isoDateTime",()=>E._isoDateTime,"_isoDuration",()=>E._isoDuration,"_isoTime",()=>E._isoTime,"_jwt",()=>E._jwt,"_ksuid",()=>E._ksuid,"_lazy",()=>E._lazy,"_length",()=>E._length,"_literal",()=>E._literal,"_lowercase",()=>E._lowercase,"_lt",()=>E._lt,"_lte",()=>E._lte,"_mac",()=>E._mac,"_map",()=>E._map,"_max",()=>E._max,"_maxLength",()=>E._maxLength,"_maxSize",()=>E._maxSize,"_mime",()=>E._mime,"_min",()=>E._min,"_minLength",()=>E._minLength,"_minSize",()=>E._minSize,"_multipleOf",()=>E._multipleOf,"_nan",()=>E._nan,"_nanoid",()=>E._nanoid,"_nativeEnum",()=>E._nativeEnum,"_negative",()=>E._negative,"_never",()=>E._never,"_nonnegative",()=>E._nonnegative,"_nonoptional",()=>E._nonoptional,"_nonpositive",()=>E._nonpositive,"_normalize",()=>E._normalize,"_null",()=>E._null,"_nullable",()=>E._nullable,"_number",()=>E._number,"_optional",()=>E._optional,"_overwrite",()=>E._overwrite,"_parse",()=>n._parse,"_parseAsync",()=>n._parseAsync,"_pipe",()=>E._pipe,"_positive",()=>E._positive,"_promise",()=>E._promise,"_property",()=>E._property,"_readonly",()=>E._readonly,"_record",()=>E._record,"_refine",()=>E._refine,"_regex",()=>E._regex,"_safeDecode",()=>n._safeDecode,"_safeDecodeAsync",()=>n._safeDecodeAsync,"_safeEncode",()=>n._safeEncode,"_safeEncodeAsync",()=>n._safeEncodeAsync,"_safeParse",()=>n._safeParse,"_safeParseAsync",()=>n._safeParseAsync,"_set",()=>E._set,"_size",()=>E._size,"_slugify",()=>E._slugify,"_startsWith",()=>E._startsWith,"_string",()=>E._string,"_stringFormat",()=>E._stringFormat,"_stringbool",()=>E._stringbool,"_success",()=>E._success,"_superRefine",()=>E._superRefine,"_symbol",()=>E._symbol,"_templateLiteral",()=>E._templateLiteral,"_toLowerCase",()=>E._toLowerCase,"_toUpperCase",()=>E._toUpperCase,"_transform",()=>E._transform,"_trim",()=>E._trim,"_tuple",()=>E._tuple,"_uint32",()=>E._uint32,"_uint64",()=>E._uint64,"_ulid",()=>E._ulid,"_undefined",()=>E._undefined,"_union",()=>E._union,"_unknown",()=>E._unknown,"_uppercase",()=>E._uppercase,"_url",()=>E._url,"_uuid",()=>E._uuid,"_uuidv4",()=>E._uuidv4,"_uuidv6",()=>E._uuidv6,"_uuidv7",()=>E._uuidv7,"_void",()=>E._void,"_xid",()=>E._xid,"_xor",()=>E._xor,"clone",()=>i.clone,"config",()=>r.config,"createStandardJSONSchemaMethod",()=>I.createStandardJSONSchemaMethod,"createToJSONSchemaMethod",()=>I.createToJSONSchemaMethod,"decode",()=>n.decode,"decodeAsync",()=>n.decodeAsync,"describe",()=>E.describe,"encode",()=>n.encode,"encodeAsync",()=>n.encodeAsync,"extractDefs",()=>I.extractDefs,"finalize",()=>I.finalize,"flattenError",()=>s.flattenError,"formatError",()=>s.formatError,"globalConfig",()=>r.globalConfig,"globalRegistry",()=>k.globalRegistry,"initializeContext",()=>I.initializeContext,"isValidBase64",()=>o.isValidBase64,"isValidBase64URL",()=>o.isValidBase64URL,"isValidJWT",()=>o.isValidJWT,"locales",0,v,"meta",()=>E.meta,"parse",()=>n.parse,"parseAsync",()=>n.parseAsync,"prettifyError",()=>s.prettifyError,"process",()=>I.process,"regexes",0,d,"registry",()=>k.registry,"safeDecode",()=>n.safeDecode,"safeDecodeAsync",()=>n.safeDecodeAsync,"safeEncode",()=>n.safeEncode,"safeEncodeAsync",()=>n.safeEncodeAsync,"safeParse",()=>n.safeParse,"safeParseAsync",()=>n.safeParseAsync,"toDotPath",()=>s.toDotPath,"toJSONSchema",()=>x.toJSONSchema,"treeifyError",()=>s.treeifyError,"util",0,c,"version",()=>u.version],113007);var _=e.i(113007),C=e.i(907855);e.s([],664328),e.i(664328),e.s(["endsWith",()=>E._endsWith,"gt",()=>E._gt,"gte",()=>E._gte,"includes",()=>E._includes,"length",()=>E._length,"lowercase",()=>E._lowercase,"lt",()=>E._lt,"lte",()=>E._lte,"maxLength",()=>E._maxLength,"maxSize",()=>E._maxSize,"mime",()=>E._mime,"minLength",()=>E._minLength,"minSize",()=>E._minSize,"multipleOf",()=>E._multipleOf,"negative",()=>E._negative,"nonnegative",()=>E._nonnegative,"nonpositive",()=>E._nonpositive,"normalize",()=>E._normalize,"overwrite",()=>E._overwrite,"positive",()=>E._positive,"property",()=>E._property,"regex",()=>E._regex,"size",()=>E._size,"slugify",()=>E._slugify,"startsWith",()=>E._startsWith,"toLowerCase",()=>E._toLowerCase,"toUpperCase",()=>E._toUpperCase,"trim",()=>E._trim,"uppercase",()=>E._uppercase],185648);var R=e.i(185648),T=e.i(915874),D=e.i(248804);let N={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};function O(e){r.config({customError:e})}function P(){return r.config().customError}t||(t={}),e.s(["ZodFirstPartyTypeKind",0,t,"ZodIssueCode",0,N,"getErrorMap",0,P,"setErrorMap",0,O],733137),e.i(733137),e.s(["$brand",()=>r.$brand,"ZodFirstPartyTypeKind",0,t,"ZodIssueCode",0,N,"config",()=>r.config,"getErrorMap",0,P,"setErrorMap",0,O],863203),e.i(863203);var $=e.i(467662),U=e.i(862061),B=e.i(628343),j=e.i(551047);let L={...C,...R,iso:j},q=new Set(["$schema","$ref","$defs","definitions","$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor","type","enum","const","anyOf","oneOf","allOf","not","properties","required","additionalProperties","patternProperties","propertyNames","minProperties","maxProperties","items","prefixItems","additionalItems","minItems","maxItems","uniqueItems","contains","minContains","maxContains","minLength","maxLength","pattern","format","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","description","default","contentEncoding","contentMediaType","contentSchema","unevaluatedItems","unevaluatedProperties","if","then","else","dependentSchemas","dependentRequired","nullable","readOnly"]);e.s(["bigint",0,function(e){return E._coercedBigint(C.ZodBigInt,e)},"boolean",0,function(e){return E._coercedBoolean(C.ZodBoolean,e)},"date",0,function(e){return E._coercedDate(C.ZodDate,e)},"number",0,function(e){return E._coercedNumber(C.ZodNumber,e)},"string",0,function(e){return E._coercedString(C.ZodString,e)}],334512);var M=e.i(334512);e.s(["$brand",()=>r.$brand,"$input",()=>k.$input,"$output",()=>k.$output,"NEVER",()=>r.NEVER,"TimePrecision",()=>U.TimePrecision,"ZodAny",()=>C.ZodAny,"ZodArray",()=>C.ZodArray,"ZodBase64",()=>C.ZodBase64,"ZodBase64URL",()=>C.ZodBase64URL,"ZodBigInt",()=>C.ZodBigInt,"ZodBigIntFormat",()=>C.ZodBigIntFormat,"ZodBoolean",()=>C.ZodBoolean,"ZodCIDRv4",()=>C.ZodCIDRv4,"ZodCIDRv6",()=>C.ZodCIDRv6,"ZodCUID",()=>C.ZodCUID,"ZodCUID2",()=>C.ZodCUID2,"ZodCatch",()=>C.ZodCatch,"ZodCodec",()=>C.ZodCodec,"ZodCustom",()=>C.ZodCustom,"ZodCustomStringFormat",()=>C.ZodCustomStringFormat,"ZodDate",()=>C.ZodDate,"ZodDefault",()=>C.ZodDefault,"ZodDiscriminatedUnion",()=>C.ZodDiscriminatedUnion,"ZodE164",()=>C.ZodE164,"ZodEmail",()=>C.ZodEmail,"ZodEmoji",()=>C.ZodEmoji,"ZodEnum",()=>C.ZodEnum,"ZodError",()=>T.ZodError,"ZodExactOptional",()=>C.ZodExactOptional,"ZodFile",()=>C.ZodFile,"ZodFirstPartyTypeKind",0,t,"ZodFunction",()=>C.ZodFunction,"ZodGUID",()=>C.ZodGUID,"ZodIPv4",()=>C.ZodIPv4,"ZodIPv6",()=>C.ZodIPv6,"ZodISODate",()=>j.ZodISODate,"ZodISODateTime",()=>j.ZodISODateTime,"ZodISODuration",()=>j.ZodISODuration,"ZodISOTime",()=>j.ZodISOTime,"ZodIntersection",()=>C.ZodIntersection,"ZodIssueCode",0,N,"ZodJWT",()=>C.ZodJWT,"ZodKSUID",()=>C.ZodKSUID,"ZodLazy",()=>C.ZodLazy,"ZodLiteral",()=>C.ZodLiteral,"ZodMAC",()=>C.ZodMAC,"ZodMap",()=>C.ZodMap,"ZodNaN",()=>C.ZodNaN,"ZodNanoID",()=>C.ZodNanoID,"ZodNever",()=>C.ZodNever,"ZodNonOptional",()=>C.ZodNonOptional,"ZodNull",()=>C.ZodNull,"ZodNullable",()=>C.ZodNullable,"ZodNumber",()=>C.ZodNumber,"ZodNumberFormat",()=>C.ZodNumberFormat,"ZodObject",()=>C.ZodObject,"ZodOptional",()=>C.ZodOptional,"ZodPipe",()=>C.ZodPipe,"ZodPrefault",()=>C.ZodPrefault,"ZodPreprocess",()=>C.ZodPreprocess,"ZodPromise",()=>C.ZodPromise,"ZodReadonly",()=>C.ZodReadonly,"ZodRealError",()=>T.ZodRealError,"ZodRecord",()=>C.ZodRecord,"ZodSet",()=>C.ZodSet,"ZodString",()=>C.ZodString,"ZodStringFormat",()=>C.ZodStringFormat,"ZodSuccess",()=>C.ZodSuccess,"ZodSymbol",()=>C.ZodSymbol,"ZodTemplateLiteral",()=>C.ZodTemplateLiteral,"ZodTransform",()=>C.ZodTransform,"ZodTuple",()=>C.ZodTuple,"ZodType",()=>C.ZodType,"ZodULID",()=>C.ZodULID,"ZodURL",()=>C.ZodURL,"ZodUUID",()=>C.ZodUUID,"ZodUndefined",()=>C.ZodUndefined,"ZodUnion",()=>C.ZodUnion,"ZodUnknown",()=>C.ZodUnknown,"ZodVoid",()=>C.ZodVoid,"ZodXID",()=>C.ZodXID,"ZodXor",()=>C.ZodXor,"_ZodString",()=>C._ZodString,"_default",()=>C._default,"_function",()=>C._function,"any",()=>C.any,"array",()=>C.array,"base64",()=>C.base64,"base64url",()=>C.base64url,"bigint",()=>C.bigint,"boolean",()=>C.boolean,"catch",()=>C.catch,"check",()=>C.check,"cidrv4",()=>C.cidrv4,"cidrv6",()=>C.cidrv6,"clone",()=>i.clone,"codec",()=>C.codec,"coerce",0,M,"config",()=>r.config,"core",0,_,"cuid",()=>C.cuid,"cuid2",()=>C.cuid2,"custom",()=>C.custom,"date",()=>C.date,"decode",()=>D.decode,"decodeAsync",()=>D.decodeAsync,"describe",()=>C.describe,"discriminatedUnion",()=>C.discriminatedUnion,"e164",()=>C.e164,"email",()=>C.email,"emoji",()=>C.emoji,"encode",()=>D.encode,"encodeAsync",()=>D.encodeAsync,"endsWith",()=>E._endsWith,"enum",()=>C.enum,"exactOptional",()=>C.exactOptional,"file",()=>C.file,"flattenError",()=>s.flattenError,"float32",()=>C.float32,"float64",()=>C.float64,"formatError",()=>s.formatError,"fromJSONSchema",0,function(e,t){var r,i;let a,n;if("boolean"==typeof e)return e?L.any():L.never();try{a=JSON.parse(JSON.stringify(e))}catch{throw Error("fromJSONSchema input is not valid JSON (possibly cyclic); use $defs/$ref for recursive schemas")}let s={version:(r=a,i=t?.defaultTarget,"https://json-schema.org/draft/2020-12/schema"===(n=r.$schema)?"draft-2020-12":"http://json-schema.org/draft-07/schema#"===n?"draft-7":"http://json-schema.org/draft-04/schema#"===n?"draft-4":i??"draft-2020-12"),defs:a.$defs||a.definitions||{},refs:new Map,processing:new Set,rootSchema:a,registry:t?.registry??k.globalRegistry};return function e(t,r){if("boolean"==typeof t)return t?L.any():L.never();let i=function t(r,i){let a;if(void 0!==r.not){if("object"==typeof r.not&&0===Object.keys(r.not).length)return L.never();throw Error("not is not supported in Zod (except { not: {} } for never)")}if(void 0!==r.unevaluatedItems)throw Error("unevaluatedItems is not supported");if(void 0!==r.unevaluatedProperties)throw Error("unevaluatedProperties is not supported");if(void 0!==r.if||void 0!==r.then||void 0!==r.else)throw Error("Conditional schemas (if/then/else) are not supported");if(void 0!==r.dependentSchemas||void 0!==r.dependentRequired)throw Error("dependentSchemas and dependentRequired are not supported");if(r.$ref){let t=r.$ref;if(i.refs.has(t))return i.refs.get(t);if(i.processing.has(t))return L.lazy(()=>{if(!i.refs.has(t))throw Error(`Circular reference not resolved: ${t}`);return i.refs.get(t)});i.processing.add(t);let a=e(function(e,t){if(!e.startsWith("#"))throw Error("External $ref is not supported, only local refs (#/...) are allowed");let r=e.slice(1).split("/").filter(Boolean);if(0===r.length)return t.rootSchema;let i="draft-2020-12"===t.version?"$defs":"definitions";if(r[0]===i){let i=r[1];if(!i||!t.defs[i])throw Error(`Reference not found: ${e}`);return t.defs[i]}throw Error(`Reference not found: ${e}`)}(t,i),i);return i.refs.set(t,a),i.processing.delete(t),a}if(void 0!==r.enum){let e=r.enum;if("openapi-3.0"===i.version&&!0===r.nullable&&1===e.length&&null===e[0])return L.null();if(0===e.length)return L.never();if(1===e.length)return L.literal(e[0]);if(e.every(e=>"string"==typeof e))return L.enum(e);let t=e.map(e=>L.literal(e));return t.length<2?t[0]:L.union([t[0],t[1],...t.slice(2)])}if(void 0!==r.const)return L.literal(r.const);let n=r.type;if(Array.isArray(n)){let e=n.map(e=>t({...r,type:e},i));return 0===e.length?L.never():1===e.length?e[0]:L.union(e)}if(!n)return L.any();switch(n){case"string":{let e=L.string();if(r.format){let t=r.format;"email"===t?e=e.check(L.email()):"uri"===t||"uri-reference"===t?e=e.check(L.url()):"uuid"===t||"guid"===t?e=e.check(L.uuid()):"date-time"===t?e=e.check(L.iso.datetime()):"date"===t?e=e.check(L.iso.date()):"time"===t?e=e.check(L.iso.time()):"duration"===t?e=e.check(L.iso.duration()):"ipv4"===t?e=e.check(L.ipv4()):"ipv6"===t?e=e.check(L.ipv6()):"mac"===t?e=e.check(L.mac()):"cidr"===t?e=e.check(L.cidrv4()):"cidr-v6"===t?e=e.check(L.cidrv6()):"base64"===t?e=e.check(L.base64()):"base64url"===t?e=e.check(L.base64url()):"e164"===t?e=e.check(L.e164()):"jwt"===t?e=e.check(L.jwt()):"emoji"===t?e=e.check(L.emoji()):"nanoid"===t?e=e.check(L.nanoid()):"cuid"===t?e=e.check(L.cuid()):"cuid2"===t?e=e.check(L.cuid2()):"ulid"===t?e=e.check(L.ulid()):"xid"===t?e=e.check(L.xid()):"ksuid"===t&&(e=e.check(L.ksuid()))}"number"==typeof r.minLength&&(e=e.min(r.minLength)),"number"==typeof r.maxLength&&(e=e.max(r.maxLength)),r.pattern&&(e=e.regex(new RegExp(r.pattern))),a=e;break}case"number":case"integer":{let e="integer"===n?L.number().int():L.number();"number"==typeof r.minimum&&(e=e.min(r.minimum)),"number"==typeof r.maximum&&(e=e.max(r.maximum)),"number"==typeof r.exclusiveMinimum?e=e.gt(r.exclusiveMinimum):!0===r.exclusiveMinimum&&"number"==typeof r.minimum&&(e=e.gt(r.minimum)),"number"==typeof r.exclusiveMaximum?e=e.lt(r.exclusiveMaximum):!0===r.exclusiveMaximum&&"number"==typeof r.maximum&&(e=e.lt(r.maximum)),"number"==typeof r.multipleOf&&(e=e.multipleOf(r.multipleOf)),a=e;break}case"boolean":a=L.boolean();break;case"null":a=L.null();break;case"object":{let t={},n=r.properties||{},s=new Set(r.required||[]);for(let[r,a]of Object.entries(n)){let n=e(a,i);t[r]=s.has(r)?n:n.optional()}if(r.propertyNames){let n=e(r.propertyNames,i),s=r.additionalProperties&&"object"==typeof r.additionalProperties?e(r.additionalProperties,i):L.any();if(0===Object.keys(t).length){a=L.record(n,s);break}let o=L.object(t).passthrough(),l=L.looseRecord(n,s);a=L.intersection(o,l);break}if(r.patternProperties){let n=r.patternProperties,s=Object.keys(n),o=[];for(let t of s){let r=e(n[t],i),a=L.string().regex(new RegExp(t));o.push(L.looseRecord(a,r))}let l=[];if(Object.keys(t).length>0&&l.push(L.object(t).passthrough()),l.push(...o),0===l.length)a=L.object({}).passthrough();else if(1===l.length)a=l[0];else{let e=L.intersection(l[0],l[1]);for(let t=2;t<l.length;t++)e=L.intersection(e,l[t]);a=e}break}let o=L.object(t);a=!1===r.additionalProperties?o.strict():"object"==typeof r.additionalProperties?o.catchall(e(r.additionalProperties,i)):o.passthrough();break}case"array":{let t=r.prefixItems,n=r.items;if(t&&Array.isArray(t)){let s=t.map(t=>e(t,i)),o=n&&"object"==typeof n&&!Array.isArray(n)?e(n,i):void 0;a=o?L.tuple(s).rest(o):L.tuple(s),"number"==typeof r.minItems&&(a=a.check(L.minLength(r.minItems))),"number"==typeof r.maxItems&&(a=a.check(L.maxLength(r.maxItems)))}else if(Array.isArray(n)){let t=n.map(t=>e(t,i)),s=r.additionalItems&&"object"==typeof r.additionalItems?e(r.additionalItems,i):void 0;a=s?L.tuple(t).rest(s):L.tuple(t),"number"==typeof r.minItems&&(a=a.check(L.minLength(r.minItems))),"number"==typeof r.maxItems&&(a=a.check(L.maxLength(r.maxItems)))}else if(void 0!==n){let t=e(n,i),s=L.array(t);"number"==typeof r.minItems&&(s=s.min(r.minItems)),"number"==typeof r.maxItems&&(s=s.max(r.maxItems)),a=s}else a=L.array(L.any());break}default:throw Error(`Unsupported type: ${n}`)}return a}(t,r),a=t.type||void 0!==t.enum||void 0!==t.const;if(t.anyOf&&Array.isArray(t.anyOf)){let n=t.anyOf.map(t=>e(t,r)),s=L.union(n);i=a?L.intersection(i,s):s}if(t.oneOf&&Array.isArray(t.oneOf)){let n=t.oneOf.map(t=>e(t,r)),s=L.xor(n);i=a?L.intersection(i,s):s}if(t.allOf&&Array.isArray(t.allOf))if(0===t.allOf.length)i=a?i:L.any();else{let n=a?i:e(t.allOf[0],r),s=+!a;for(let i=s;i<t.allOf.length;i++)n=L.intersection(n,e(t.allOf[i],r));i=n}!0===t.nullable&&"openapi-3.0"===r.version&&(i=L.nullable(i)),!0===t.readOnly&&(i=L.readonly(i)),void 0!==t.default&&(i=i.default(t.default));let n={};for(let e of["$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor"])e in t&&(n[e]=t[e]);for(let e of["contentEncoding","contentMediaType","contentSchema"])e in t&&(n[e]=t[e]);for(let e of Object.keys(t))q.has(e)||(n[e]=t[e]);return Object.keys(n).length>0&&r.registry.add(i,n),t.description&&(i=i.describe(t.description)),i}(a,s)},"function",()=>C.function,"getErrorMap",0,P,"globalRegistry",()=>k.globalRegistry,"gt",()=>E._gt,"gte",()=>E._gte,"guid",()=>C.guid,"hash",()=>C.hash,"hex",()=>C.hex,"hostname",()=>C.hostname,"httpUrl",()=>C.httpUrl,"includes",()=>E._includes,"instanceof",()=>C.instanceof,"int",()=>C.int,"int32",()=>C.int32,"int64",()=>C.int64,"intersection",()=>C.intersection,"invertCodec",()=>C.invertCodec,"ipv4",()=>C.ipv4,"ipv6",()=>C.ipv6,"iso",0,j,"json",()=>C.json,"jwt",()=>C.jwt,"keyof",()=>C.keyof,"ksuid",()=>C.ksuid,"lazy",()=>C.lazy,"length",()=>E._length,"literal",()=>C.literal,"locales",0,v,"looseObject",()=>C.looseObject,"looseRecord",()=>C.looseRecord,"lowercase",()=>E._lowercase,"lt",()=>E._lt,"lte",()=>E._lte,"mac",()=>C.mac,"map",()=>C.map,"maxLength",()=>E._maxLength,"maxSize",()=>E._maxSize,"meta",()=>C.meta,"mime",()=>E._mime,"minLength",()=>E._minLength,"minSize",()=>E._minSize,"multipleOf",()=>E._multipleOf,"nan",()=>C.nan,"nanoid",()=>C.nanoid,"nativeEnum",()=>C.nativeEnum,"negative",()=>E._negative,"never",()=>C.never,"nonnegative",()=>E._nonnegative,"nonoptional",()=>C.nonoptional,"nonpositive",()=>E._nonpositive,"normalize",()=>E._normalize,"null",()=>C.null,"nullable",()=>C.nullable,"nullish",()=>C.nullish,"number",()=>C.number,"object",()=>C.object,"optional",()=>C.optional,"overwrite",()=>E._overwrite,"parse",()=>D.parse,"parseAsync",()=>D.parseAsync,"partialRecord",()=>C.partialRecord,"pipe",()=>C.pipe,"positive",()=>E._positive,"prefault",()=>C.prefault,"preprocess",()=>C.preprocess,"prettifyError",()=>s.prettifyError,"promise",()=>C.promise,"property",()=>E._property,"readonly",()=>C.readonly,"record",()=>C.record,"refine",()=>C.refine,"regex",()=>E._regex,"regexes",()=>$.regexes,"registry",()=>k.registry,"safeDecode",()=>D.safeDecode,"safeDecodeAsync",()=>D.safeDecodeAsync,"safeEncode",()=>D.safeEncode,"safeEncodeAsync",()=>D.safeEncodeAsync,"safeParse",()=>D.safeParse,"safeParseAsync",()=>D.safeParseAsync,"set",()=>C.set,"setErrorMap",0,O,"size",()=>E._size,"slugify",()=>E._slugify,"startsWith",()=>E._startsWith,"strictObject",()=>C.strictObject,"string",()=>C.string,"stringFormat",()=>C.stringFormat,"stringbool",()=>C.stringbool,"success",()=>C.success,"superRefine",()=>C.superRefine,"symbol",()=>C.symbol,"templateLiteral",()=>C.templateLiteral,"toJSONSchema",()=>x.toJSONSchema,"toLowerCase",()=>E._toLowerCase,"toUpperCase",()=>E._toUpperCase,"transform",()=>C.transform,"treeifyError",()=>s.treeifyError,"trim",()=>E._trim,"tuple",()=>C.tuple,"uint32",()=>C.uint32,"uint64",()=>C.uint64,"ulid",()=>C.ulid,"undefined",()=>C.undefined,"union",()=>C.union,"unknown",()=>C.unknown,"uppercase",()=>E._uppercase,"url",()=>C.url,"util",()=>B.util,"uuid",()=>C.uuid,"uuidv4",()=>C.uuidv4,"uuidv6",()=>C.uuidv6,"uuidv7",()=>C.uuidv7,"void",()=>C.void,"xid",()=>C.xid,"xor",()=>C.xor],562810);var F=e.i(562810);e.s(["z",0,F],469719)},497800,835544,499162,248626,e=>{"use strict";var t=e.i(469719),r=e.i(807055),i=e.i(184015),a=e.i(119909);let n=["JIRA_LOAD_TICKET","JIRA_TRANSITION","JIRA_COMMENT","JIRA_ASSIGN","JIRA_UPDATE_FIELDS","JIRA_RESOLVE_BRANCH","GITHUB_LOAD_PR","GITHUB_MERGE_PR","GITHUB_COLLECT_REVIEW_THREADS","GITHUB_REPLY_REVIEW_THREAD","GITHUB_SET_REVIEW_THREAD_RESOLVED","GITHUB_CREATE_PR","GITHUB_SET_PR_LABELS","GITHUB_RETRY_PIPELINE","GITHUB_RETRY_JOB","GITHUB_CANCEL_WORKFLOW_RUN","GITHUB_SAVE_AUTO_RETRY","GITHUB_WAIT_CHECKS","WORKTREE_CREATE","WORKTREE_CHANGE_BRANCH","WORKTREE_REFRESH_PULL_REQUEST","WORKTREE_OPERATION","WORKTREE_SET_AUTO_SYNC","WORKTREE_SET_AUTO_MERGE","WORKTREE_DELETE","WORKTREE_MOVE","WORKTREE_INSPECT","WORKTREE_INSPECT_GIT","WORKTREE_GIT_OPERATION","WORKTREE_WAIT_PUSH_READY","WORKTREE_SNAPSHOT","CODEBASE_FETCH_REFRESH","CODEBASE_INSPECT_GIT","CODEBASE_GIT_OPERATION","BUILD_START","BUILD_READ_TEST_RESULTS","BUILD_READ_COVERAGE","BUILD_IMPORT_COVERAGE","BUILD_EXPORT","BUILD_DEPLOY","BUILD_CANCEL","DISK_SPACE_LOAD","DISK_SPACE_REFRESH","DISK_SPACE_UPDATE_THRESHOLDS","DISK_SPACE_SET_MONITORING","DISK_SPACE_SET_PRESSURE_MODE","SKILL_APPLY","RUN_CREATE_PLAN","RUN_CREATE_SESSION","RUN_PLAY_PLAN","RUN_FOLLOW_UP","RUN_STEER","RUN_ANSWER","RUN_PAUSE","RUN_CONTINUE","RUN_CANCEL","RUN_REVISE_ANSWER","RUN_READ_RESULT","RUN_CAPTURE_CHECKPOINT","RUN_ARCHIVE_DELETE","NOTIFICATION_SEND","IOS_PUSH_SEND","HUMAN_CONFIRM","HUMAN_CHOICE","CONTROL_IF","CONTROL_JOIN","CONTROL_DELAY","CONTROL_WAIT_UNTIL","CONTROL_FOR_EACH","CONTROL_TRY","CONTROL_SET_VARIABLE","CONTROL_SUBWORKFLOW","SAVED_COMMAND","CUSTOM_COMMAND","COMMAND_RERUN","COMMAND_TERMINATE","COMMAND_READ_OUTPUT","WORKTREE_INSPECT_DIFF","WORKTREE_UPDATE_METADATA","WORKTREE_MOVE_CONTROL","BUILD_REBUILD","BUILD_GENERATE_REPORT","BUILD_DELETE","SKILL_PREPARE_SYNC","SKILL_RESOLVE_SYNC","SKILL_SKIP_SYNC","BUILD_DATA_REFRESH","BUILD_DATA_DELETE","BUILD_DATA_SET_LOCK","SIGNING_REFRESH","SIGNING_SYNC_PROFILE","SIGNING_DELETE_EXPIRED","IOS_DEVICE_REGISTER","IOS_DEVICE_REJECT","AGENT_RECONCILE","AGENT_UPDATE_CADENCE","CCUSAGE_COLLECT","MODEL_COST_REFRESH","GITHUB_UPDATE_PR","GITHUB_SUBMIT_REVIEW","GITHUB_REQUEST_REVIEWERS","GITHUB_DISPATCH_WORKFLOW","JIRA_CREATE_TICKET","JIRA_ADD_WORKLOG","JIRA_LINK_TICKETS","TERMINAL_RUN","MCP_CALL"],s=["MANUAL","MANUAL_CHOICE","RESOURCE_MANUAL","RESOURCE_MANUAL_CHOICE","SCHEDULE","WORKFLOW_FINISHED","GITHUB_PR_STATE","GITHUB_REVIEW_CHANGES_REQUESTED","GITHUB_REVIEW_COMMENT","GITHUB_PR_CLOSED","GITHUB_CHECK_FAILED","GITHUB_PUSH_DEFAULT","GITHUB_WORKFLOW_SUCCEEDED","GITHUB_ISSUE_COMMAND","GITHUB_ACTIONS_RESULT","GITHUB_PR_LABEL","BUILD_RESULT","BUILD_TEST_THRESHOLD","BUILD_COVERAGE_THRESHOLD","BUILD_HOOK_FAILED","AGENT_CONNECTION","AGENT_JOB_FAILED","AGENT_DISK_REPORT","AGENT_DISK_THRESHOLD","AGENT_DISK_STATE_CHANGED","AGENT_DISK_CLEANUP_RESULT","CCUSAGE_THRESHOLD","WORKTREE_CREATED","WORKTREE_BEHIND","WORKTREE_CONFLICT","WORKTREE_MISSING","WORKTREE_DIVERGED","WORKTREE_DIRTY_DURATION","WORKTREE_NEW_COMMIT","CODEBASE_REMOTE_BRANCH","JIRA_STATUS","JIRA_LABEL","JIRA_ASSIGNED_SELF","JIRA_SOURCE_NEW_TICKET","JIRA_MENTION","JIRA_SPRINT_STARTED","JIRA_ISSUE_CREATED","JIRA_ISSUE_DELETED","JIRA_ISSUE_COMMAND","JIRA_ATTACHMENT_ADDED","JIRA_ISSUE_LINKED","RUN_STARTED","RUN_COMPLETED","RUN_QUESTION_NEEDED","RUN_QUESTION_ANSWERED","RUN_PAUSED","RUN_CONTINUED","RUN_FAILED","RUN_CANCELLED","RUN_PLAN_PLAYED","RUN_FOLLOW_UP","RUN_IMPORTED","RUN_USAGE_THRESHOLD","RUN_EVENT_MATCH","COMMAND_RUN_RESULT","COMMAND_OUTPUT_MATCH","SKILL_SYNC_RESULT","SKILL_SYNC_CONFLICT","GITHUB_PIPELINE_STATUS_CHANGED","GITHUB_PR_SYNCHRONIZED","GITHUB_REVIEW_APPROVED","JIRA_TICKET_UPDATED","JIRA_COMMENT_ADDED","JIRA_WORKLOG_ADDED","JIRA_SPRINT_ENDED","CODEBASE_SYNC_STATE_CHANGED","CODEBASE_OPERATION_FAILED","WORKTREE_SYNC_STATE_CHANGED","WORKTREE_AUTOMATION_RESULT","WORKTREE_CLEAN","PUSH_NOTIFICATION_RESULT","IOS_DEVICE_ENROLLED","IOS_DEVICE_REGISTRATION_RESULT","SIGNING_OPERATION_RESULT","SIGNING_ASSET_EXPIRING","BUILD_DATA_THRESHOLD","BUILD_DATA_CLEANUP_RESULT","POLLING_OPERATION_STATE","MODEL_COST_CATALOG_CHANGED","CREDENTIAL_STORE_DEGRADED","AGENT_RESOURCE_THRESHOLD","AGENT_VERSION_CHANGED","TOOL_CALL_RESULT"],o=["BUILD","CODEBASE","JIRA_TICKET","AGENT_RUN","GITHUB_PIPELINE","GITHUB_JOB","PULL_REQUEST","WORKTREE","COMMAND_RUN","SKILL","SKILL_SYNC","IOS_DEVICE","SIGNING_PROFILE","PUSH_NOTIFICATION_BATCH","BUILD_DATA_COLLECTION"],l=new Set(["MANUAL_CHOICE","RESOURCE_MANUAL_CHOICE"]),u=new Set(["RESOURCE_MANUAL","RESOURCE_MANUAL_CHOICE"]);function c(e){return l.has(e)}function d(e){return u.has(e)}let p=/^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$/;function h(e){return"string"==typeof e&&p.test(e)}function m(e){return c(e)?[]:"CONTROL_IF"===e?["true","false"]:"CONTROL_FOR_EACH"===e?["body","empty"]:"CONTROL_TRY"===e?["success","catch"]:["success","failure"]}e.s(["WORKFLOW_CHOICE_KEY_PATTERN",0,p,"WORKFLOW_QUICK_ACTION_KINDS",0,["STANDARD","MERGE_CONFLICT","GITHUB_ACTIONS","NONE"],"WORKFLOW_RESOURCE_KINDS",0,o,"WORKFLOW_STEP_KINDS",0,n,"WORKFLOW_TRIGGER_KINDS",0,s,"isChoiceTriggerKind",0,c,"isResourceTriggerKind",0,d,"isWorkflowChoiceKey",0,h,"workflowStaticSourceHandles",0,m],835544);let f=/^([A-Za-z0-9_-]+)(?:\[(\d+)\])?$/,g=/^[A-Za-z0-9_-]+(?:\[\d+\])?(?:\.[A-Za-z0-9_-]+(?:\[\d+\])?)*$/,y=/\{\{\s*([A-Za-z0-9_-]+(?:\[\d+\])?(?:\.[A-Za-z0-9_-]+(?:\[\d+\])?)*)\s*\}\}/g,w=/\{\{([^{}]*)\}\}/g;function b(e){return e.split(".").flatMap(t=>{let r=f.exec(t);if(!r)throw Error(`Invalid session path: ${e}`);return void 0===r[2]?[r[1]]:[r[1],Number(r[2])]})}function v(e,t){let r=e;for(let e of b(t)){if(null==r)return;if("number"==typeof e){if(!Array.isArray(r))return;r=r[e]}else{if("object"!=typeof r||Array.isArray(r))return;r=r[e]}}return r}function k(e,t){var r,i;return e&&"object"==typeof e&&!Array.isArray(e)&&"SESSION"===e.source&&"string"==typeof e.path?v(t,e.path):e&&"object"==typeof e&&!Array.isArray(e)&&"LITERAL"===e.source?e.value:Array.isArray(e)?e.map(e=>k(e,t)):e&&"object"==typeof e?Object.fromEntries(Object.entries(e).map(([e,r])=>[e,k(r,t)])):"string"==typeof e?(r=e,i=t,r.replace(y,(e,t)=>{let r=v(i,t);return null==r?"":"string"==typeof r?r:JSON.stringify(r)})):e}function S(e,t=new Set){if(Array.isArray(e))for(let r of e)S(r,t);else if(e&&"object"==typeof e)for(let r of("SESSION"===e.source&&"string"==typeof e.path&&g.test(e.path)&&t.add(e.path),Object.values(e)))S(r,t);else if("string"==typeof e)for(let r of e.matchAll(y))t.add(r[1]);return t}function E(e,t=[]){if(Array.isArray(e))for(let r of e)E(r,t);else if(e&&"object"==typeof e)for(let r of("SESSION"!==e.source||"string"==typeof e.path&&g.test(e.path)||t.push("Session bindings require a valid dotted path"),Object.values(e)))E(r,t);else if("string"==typeof e&&/\{\{|\}\}/.test(e)){let r=e.replace(w,"");for(let i of(/\{\{|\}\}/.test(r)&&t.push("Text interpolation contains unmatched braces"),e.matchAll(w)))g.test(i[1].trim())||t.push("Text interpolation requires a valid dotted path")}return t}function I(e){return null===e||["string","number","boolean"].includes(typeof e)?e:JSON.stringify(e)}function x(e){return{kind:"static",options:e.map(e=>({value:e,label:e.charAt(0)+e.slice(1).toLowerCase().replace(/_/g," ")}))}}function A(e){return{kind:"static",options:e}}e.s(["evaluateWorkflowCondition",0,function e(t,r){if("ALL"===t.op)return t.conditions.every(t=>e(t,r));if("ANY"===t.op)return t.conditions.some(t=>e(t,r));if("NOT"===t.op)return!e(t.condition,r);if(!("left"in t))return!1;let i=k(t.left,r),a=k(t.right,r);switch(t.op){case"EXISTS":return null!=i;case"EQ":return JSON.stringify(i)===JSON.stringify(a);case"NE":return JSON.stringify(i)!==JSON.stringify(a);case"GT":return I(i)>I(a);case"GTE":return I(i)>=I(a);case"LT":return I(i)<I(a);case"LTE":return I(i)<=I(a);case"CONTAINS":return Array.isArray(i)?i.some(e=>JSON.stringify(e)===JSON.stringify(a)):String(i??"").includes(String(a??""));case"MATCHES":return new RegExp(String(a??"")).test(String(i??""))}},"getSessionValue",0,v,"hasSessionValue",0,function(e,t){return void 0!==v(e,t)},"invalidWorkflowValueBindings",0,E,"mergeSessionData",0,function(e,t){let r=(e,t)=>{if(e&&t&&"object"==typeof e&&"object"==typeof t&&!Array.isArray(e)&&!Array.isArray(t)){let i={...e};for(let[e,a]of Object.entries(t))i[e]=r(i[e],a);return i}return structuredClone(t)};return r(e,t)},"resolveWorkflowValue",0,k,"setSessionValue",0,function(e,t,r){let i=structuredClone(e),a=b(t),n=i;return a.forEach((e,i)=>{if(i===a.length-1){if("number"==typeof e){if(!Array.isArray(n))throw Error(`Expected an array at ${t}`);n[e]=r}else{if(Array.isArray(n))throw Error(`Expected an object at ${t}`);n[e]=r}return}let s="number"==typeof a[i+1];if("number"==typeof e){if(!Array.isArray(n))throw Error(`Expected an array at ${t}`);let r=n[e];r&&"object"==typeof r||(n[e]=s?[]:{}),n=n[e]}else{if(Array.isArray(n))throw Error(`Expected an object at ${t}`);let r=n[e];r&&"object"==typeof r||(n[e]=s?[]:{}),n=n[e]}}),i},"workflowSessionData",0,function(e){let t=JSON.parse(e);if(!t||"object"!=typeof t||Array.isArray(t))throw Error("Workflow session data must be a JSON object");return t},"workflowValueSessionPaths",0,S],499162);let _={agent:"agent.id",codebase:"codebase.id",worktree:"worktree.id",githubRepository:"repo.id",githubPullRequest:"pr.number",jiraTicket:"ticket.key",agentRun:"run.id",githubWorkflowRun:"pipeline.runId"};function C(e,t){return{kind:"resource",resource:e,scopeFrom:t,sessionPath:_[e]}}let R=["literal","session","interpolation"],T=["literal","interpolation"],D=(e,t,r={})=>({key:e,label:t,control:"text",valueModes:R,...r}),N=(e,t,r={})=>D(e,t,{multiline:!0,...r}),O=(e,t,r={})=>({key:e,label:t,control:"number",valueModes:["literal","session"],...r}),P=(e,t,r={})=>({key:e,label:t,control:"boolean",...r}),$=(e,t,r,i={})=>({key:e,label:t,control:"enum",options:r,...i}),U=(e,t,r,i={})=>{let{scopeFrom:a,...n}=i;return{key:e,label:t,control:"resource",options:C(r,a),valueModes:R,...n}},B=(e,t,r,i={})=>{let{scopeFrom:a,...n}=i;return{key:e,label:t,control:"resourceMulti",options:C(r,a),valueModes:T,...n}},j=(e,t,r={})=>({key:e,label:t,control:"stringList",valueModes:T,...r}),L=e=>({key:"mcpPresetIds",label:"MCP tool presets",control:"mcpPresetMulti",presetKind:e,default:[]}),q=(e,t,r={})=>({key:e,label:t,control:"record",valueModes:T,...r}),M=(e,t,r={})=>({key:e,label:t,control:"json",valueModes:T,...r}),F=(e,t,r={})=>({key:e,label:t,control:"triggerChoices",...r}),K=A([{value:"EQ",label:"Equals"},{value:"NE",label:"Not equal"},{value:"GT",label:"Greater than"},{value:"GTE",label:"Greater or equal"},{value:"LT",label:"Less than"},{value:"LTE",label:"Less or equal"},{value:"CONTAINS",label:"Contains"},{value:"MATCHES",label:"Matches regex"},{value:"EXISTS",label:"Exists"}]),V=x(a.WORKTREE_OPERATIONS.filter(e=>"OPEN_EDITOR"!==e)),G=()=>[D("owner","Repository owner",{placeholder:"octocat",help:"Defaults to the repository from session data."}),D("name","Repository name",{placeholder:"hello-world"})],H=e=>[U("worktreeId","Worktree","worktree"),U("jiraIssueKey","Jira issue key","jiraTicket",{placeholder:"APP-123"}),{key:"model",label:"Model",control:"model",required:!0,valueModes:["literal","session"],modelKeys:{provider:"provider",model:"model",effort:"effort",scopeFrom:"worktreeId"}},P("webSearchEnabled","Enable web search"),L(e),O("worktreeConcurrencyLimit","Worktree concurrency limit",{default:"PLAN"===e?0:"SESSION"===e?1:void 0,minimum:0,maximum:32,integer:!0,help:"PLAN"===e?"Maximum plans admitted on this worktree. Use 0 for unlimited.":"SESSION"===e?"Maximum sessions admitted on this worktree. Use 0 for unlimited.":"Maximum same-kind runs admitted on this worktree. Use 0 for unlimited; leave empty for the source kind's default."}),N("prompt","Prompt",{required:!0}),j("attachmentIds","Attachment IDs")],W={JIRA_LOAD_TICKET:{fields:[U("issueKey","Issue key","jiraTicket",{placeholder:"APP-123"}),P("force","Bypass cache")]},JIRA_TRANSITION:{fields:[U("issueKey","Issue key","jiraTicket",{placeholder:"APP-123"}),D("transitionId","Transition ID",{required:!0})]},JIRA_COMMENT:{fields:[U("issueKey","Issue key","jiraTicket",{placeholder:"APP-123"}),N("content","Comment",{required:!0}),$("format","Format",A([{value:"MARKDOWN",label:"Markdown"},{value:"JIRA_WIKI",label:"Jira wiki"}]))]},JIRA_ASSIGN:{fields:[U("issueKey","Issue key","jiraTicket",{placeholder:"APP-123"}),U("accountId","Assignee","jiraUser",{scopeFrom:"issueKey",help:"Leave empty to unassign the ticket."})]},JIRA_UPDATE_FIELDS:{fields:[U("issueKey","Issue key","jiraTicket",{placeholder:"APP-123"}),M("fields","Fields",{placeholder:'{ "labels": ["ready"] }'})]},JIRA_RESOLVE_BRANCH:{fields:[U("issueKey","Issue key","jiraTicket",{placeholder:"APP-123"}),U("codebaseId","Codebase","codebase")]},GITHUB_LOAD_PR:{fields:[...G(),O("number","Pull request number")]},GITHUB_MERGE_PR:{fields:[...G(),O("number","Pull request number"),$("method","Merge method",A([{value:"SQUASH",label:"Squash"},{value:"MERGE",label:"Merge"},{value:"REBASE",label:"Rebase"}])),D("commitHeadline","Commit headline"),N("commitBody","Commit body"),D("authorEmail","Author email")]},GITHUB_COLLECT_REVIEW_THREADS:{fields:[...G(),O("number","Pull request number")]},GITHUB_REPLY_REVIEW_THREAD:{fields:[D("threadId","Review thread ID",{required:!0}),N("body","Reply",{required:!0})]},GITHUB_SET_REVIEW_THREAD_RESOLVED:{fields:[D("threadId","Review thread ID",{required:!0}),P("resolved","Mark resolved")]},GITHUB_CREATE_PR:{fields:[...G(),D("baseRefName","Base branch"),D("headRefName","Head branch"),D("title","Title"),N("body","Body"),P("draft","Open as draft")]},GITHUB_SET_PR_LABELS:{fields:[...G(),O("number","Pull request number"),j("labels","Labels")]},GITHUB_RETRY_PIPELINE:{fields:[U("repositoryId","Repository","githubRepository"),D("checkSuiteId","Check suite ID")]},GITHUB_RETRY_JOB:{fields:[U("repositoryId","Repository","githubRepository"),D("checkSuiteId","Check suite ID",{required:!0}),D("jobId","Workflow job ID",{required:!0})]},GITHUB_CANCEL_WORKFLOW_RUN:{fields:[D("codebaseRepositoryId","Codebase repository ID"),U("workflowRunId","Workflow run","githubWorkflowRun",{scopeFrom:"codebaseRepositoryId"}),P("force","Force cancel")]},GITHUB_SAVE_AUTO_RETRY:{fields:[M("input","Auto-retry rule",{required:!0})]},GITHUB_WAIT_CHECKS:{fields:[D("repositoryId","Repository ID"),D("workflowRunId","Workflow run ID")]},WORKTREE_CREATE:{fields:[U("codebaseId","Codebase","codebase"),$("mode","Branch mode",x(["NEW","EXISTING","TICKET"])),D("branchName","Branch name"),D("ticketKey","Ticket key",{placeholder:"APP-123"}),D("baseBranch","Base branch")]},WORKTREE_CHANGE_BRANCH:{fields:[U("worktreeId","Worktree","worktree"),$("mode","Branch mode",x(["NEW","EXISTING","TICKET"])),D("branchName","Branch name"),D("ticketKey","Ticket key",{placeholder:"APP-123"}),D("baseBranch","Base branch"),P("stashOnFailure","Stash on failure")]},WORKTREE_REFRESH_PULL_REQUEST:{fields:[U("worktreeId","Worktree","worktree")]},WORKTREE_OPERATION:{fields:[U("worktreeId","Worktree","worktree"),$("operation","Operation",V)]},WORKTREE_SET_AUTO_SYNC:{fields:[U("worktreeId","Worktree","worktree"),$("action","Action",x(["ENABLE","RETRY","CANCEL"])),D("conflictWorkflowId","Conflict workflow ID"),D("conflictWorkflowChoice","Conflict workflow choice")]},WORKTREE_SET_AUTO_MERGE:{fields:[U("worktreeId","Worktree","worktree"),$("action","Action",x(["ENABLE","RETRY","CANCEL"])),D("repositoryNameWithOwner","Repository",{placeholder:"owner/repository"}),O("pullRequestNumber","Pull request number"),$("method","Merge method",x(["MERGE","REBASE","SQUASH"])),D("commitHeadline","Commit headline"),N("commitBody","Commit body"),D("authorEmail","Author email"),P("deleteWorktree","Delete worktree after merge"),P("moveTicketToDone","Move Jira ticket to done")]},WORKTREE_DELETE:{fields:[U("worktreeId","Worktree","worktree"),P("deleteRemoteBranch","Delete remote branch")]},WORKTREE_MOVE:{fields:[U("worktreeId","Source worktree","worktree"),U("targetCodebaseId","Target codebase","codebase",{required:!0}),U("targetWorktreeId","Target worktree","worktree"),P("deleteSource","Delete source")]},WORKTREE_INSPECT:{fields:[U("worktreeId","Worktree","worktree")]},WORKTREE_INSPECT_GIT:{fields:[U("worktreeId","Worktree","worktree")]},WORKTREE_GIT_OPERATION:{fields:[U("worktreeId","Worktree","worktree"),$("operation","Operation",x(a.WORKTREE_GIT_OPERATIONS)),D("branch","Branch"),D("stashOid","Stash OID"),P("stashChanges","Stash changes first")]},WORKTREE_WAIT_PUSH_READY:{fields:[U("worktreeId","Worktree","worktree")]},WORKTREE_SNAPSHOT:{fields:[D("kind","Checkpoint kind",{placeholder:"STEP"})]},CODEBASE_FETCH_REFRESH:{fields:[U("codebaseId","Codebase","codebase"),$("operation","Operation",x(["FETCH","REFRESH"]))]},CODEBASE_INSPECT_GIT:{fields:[U("codebaseId","Codebase","codebase")]},CODEBASE_GIT_OPERATION:{fields:[U("codebaseId","Codebase","codebase"),$("operation","Operation",x(i.CODEBASE_GIT_OPERATIONS)),D("branch","Branch"),D("stashOid","Stash OID"),P("stashChanges","Stash changes first")]},BUILD_START:{fields:[U("worktreeId","Worktree","worktree"),D("configurationId","Build configuration ID",{required:!0}),$("action","Action",x(r.BUILD_ACTIONS)),M("destination","Destination"),B("scriptIds","Build scripts","buildScript"),M("advancedSettings","Advanced settings"),P("exportWhenComplete","Export when complete"),M("exportSettings","Export settings"),P("worktreeCoverage","Collect worktree coverage")]},BUILD_READ_TEST_RESULTS:{fields:[D("buildId","Build ID")]},BUILD_READ_COVERAGE:{fields:[D("buildId","Build ID")]},BUILD_IMPORT_COVERAGE:{fields:[U("worktreeId","Worktree","worktree"),D("buildName","Build name",{default:"{{workflow.name}}",help:"Name shown on the build and coverage pages. Defaults to the workflow name."}),D("reportPath","Coverage file",{required:!0,default:"coverage/lcov.info",help:"Path inside the worktree, written by whichever test command ran first."}),$("format","Coverage format",x(["AUTO","LCOV","ISTANBUL"]))]},BUILD_EXPORT:{fields:[D("buildId","Build ID"),M("settings","Export settings",{required:!0})]},BUILD_DEPLOY:{fields:[D("buildId","Build ID"),M("destinations","Destinations")]},BUILD_CANCEL:{fields:[D("buildId","Build ID")]},DISK_SPACE_LOAD:{fields:[U("agentId","Agent","agent")]},DISK_SPACE_REFRESH:{fields:[U("agentId","Agent","agent")]},DISK_SPACE_UPDATE_THRESHOLDS:{fields:[O("normalThresholdGiB","Normal threshold (GiB)",{required:!0}),O("pressureThresholdGiB","Pressure threshold (GiB)",{required:!0})]},DISK_SPACE_SET_MONITORING:{fields:[U("agentId","Agent","agent"),P("enabled","Monitoring enabled",{required:!0,default:!0})]},DISK_SPACE_SET_PRESSURE_MODE:{fields:[U("agentId","Agent","agent"),P("enabled","Manual pressure mode",{required:!0,default:!0})]},SKILL_APPLY:{fields:[U("groupId","Skill group","skillGroup",{help:"Leave empty to sync all skills."})]},NOTIFICATION_SEND:{fields:[D("title","Title",{required:!0}),N("body","Body",{required:!0}),D("href","Link")]},IOS_PUSH_SEND:{fields:[$("targetMode","Target mode",x(["ALL","DEVICES","BROADCAST","DIRECT"])),B("registrationIds","Registrations","apnsRegistration"),U("channelId","Broadcast channel","apnsChannel"),M("editor","Notification editor"),D("directToken","Direct device token"),$("directTokenEncoding","Token encoding",x(["HEX","BASE64"])),$("directEnvironment","Environment",x(["SANDBOX","PRODUCTION"]))]},COMMAND_RERUN:{fields:[D("commandRunId","Command run ID",{required:!0})]},COMMAND_TERMINATE:{fields:[D("commandRunId","Command run ID",{required:!0})]},COMMAND_READ_OUTPUT:{fields:[D("commandRunId","Command run ID",{required:!0}),O("first","Maximum chunks")]},WORKTREE_INSPECT_DIFF:{fields:[D("worktreeId","Worktree ID"),D("scope","Diff scope",{required:!0}),D("path","Path"),D("previousPath","Previous path"),D("commitSha","Commit SHA")]},WORKTREE_UPDATE_METADATA:{fields:[D("worktreeId","Worktree ID"),D("baseBranch","Base branch"),D("highlightColor","Highlight color")]},WORKTREE_MOVE_CONTROL:{fields:[D("moveId","Move ID",{required:!0}),$("operation","Operation",x(["RETRY_WITH_STASH","CANCEL"]))]},BUILD_REBUILD:{fields:[D("buildId","Build ID")]},BUILD_GENERATE_REPORT:{fields:[D("buildId","Build ID"),$("reportKind","Report kind",x(["TEST_RESULTS","CODE_COVERAGE"]))]},BUILD_DELETE:{fields:[j("buildIds","Build IDs")]},SKILL_PREPARE_SYNC:{fields:[$("syncKind","Sync kind",x(["ALL","GROUP"])),D("groupId","Skill group ID")]},SKILL_RESOLVE_SYNC:{fields:[D("runId","Sync run ID",{required:!0}),D("itemId","Conflict item ID",{required:!0}),$("resolution","Resolution",x(["LOCAL","REMOTE","SKIP"]))]},SKILL_SKIP_SYNC:{fields:[D("runId","Sync run ID",{required:!0})]},BUILD_DATA_REFRESH:{fields:[]},BUILD_DATA_DELETE:{fields:[D("collectionId","Collection ID",{required:!0}),j("entryIds","Entry IDs"),P("overrideProtection","Override protection")]},BUILD_DATA_SET_LOCK:{fields:[D("collectionId","Collection ID",{required:!0}),D("entryId","Entry ID",{required:!0}),P("locked","Locked")]},SIGNING_REFRESH:{fields:[j("agentIds","Agent IDs")]},SIGNING_SYNC_PROFILE:{fields:[D("uuid","Profile UUID",{required:!0}),D("sourceAgentId","Source agent ID",{required:!0}),j("targetAgentIds","Target agent IDs")]},SIGNING_DELETE_EXPIRED:{fields:[j("agentIds","Agent IDs")]},IOS_DEVICE_REGISTER:{fields:[D("deviceId","Device ID",{required:!0})]},IOS_DEVICE_REJECT:{fields:[D("deviceId","Device ID",{required:!0})]},AGENT_RECONCILE:{fields:[j("agentIds","Agent IDs")]},AGENT_UPDATE_CADENCE:{fields:[D("agentId","Agent ID",{required:!0}),M("settings","Cadence settings")]},CCUSAGE_COLLECT:{fields:[]},MODEL_COST_REFRESH:{fields:[]},GITHUB_UPDATE_PR:{fields:[D("owner","Owner",{required:!0}),D("name","Repository",{required:!0}),O("number","Pull request number",{required:!0}),D("title","Title"),N("body","Body"),P("draft","Draft")]},GITHUB_SUBMIT_REVIEW:{fields:[D("owner","Owner",{required:!0}),D("name","Repository",{required:!0}),O("number","Pull request number",{required:!0}),$("event","Review event",x(["APPROVE","REQUEST_CHANGES","COMMENT"])),N("body","Body")]},GITHUB_REQUEST_REVIEWERS:{fields:[D("owner","Owner",{required:!0}),D("name","Repository",{required:!0}),O("number","Pull request number",{required:!0}),j("reviewers","Reviewers"),j("teamReviewers","Team reviewers")]},GITHUB_DISPATCH_WORKFLOW:{fields:[D("repositoryId","Repository ID",{required:!0}),D("workflowId","Workflow ID",{required:!0}),D("ref","Git ref",{required:!0}),q("inputs","Workflow inputs")]},JIRA_CREATE_TICKET:{fields:[D("projectKey","Project key",{required:!0}),D("issueTypeId","Issue type ID",{required:!0}),D("summary","Summary",{required:!0}),N("description","Description"),M("fields","Additional fields")]},JIRA_ADD_WORKLOG:{fields:[D("issueKey","Issue key"),O("timeSpentSeconds","Time spent (seconds)",{required:!0}),D("startedAt","Started at"),N("comment","Comment")]},JIRA_LINK_TICKETS:{fields:[D("inwardIssueKey","Inward issue key",{required:!0}),D("outwardIssueKey","Outward issue key",{required:!0}),D("linkType","Link type",{required:!0})]},MCP_CALL:{fields:[U("groupId","MCP server","mcpServer",{required:!0}),D("name","Tool name",{required:!0}),M("arguments","Arguments")]},RUN_CREATE_PLAN:{fields:H("PLAN")},RUN_CREATE_SESSION:{fields:H("SESSION")},RUN_PLAY_PLAN:{fields:[D("runId","Plan run ID"),L("SESSION"),O("worktreeConcurrencyLimit","Worktree concurrency limit",{default:1,minimum:0,maximum:32,integer:!0,help:"Maximum sessions admitted on this worktree. Use 0 for unlimited."})]},RUN_FOLLOW_UP:{fields:[D("runId","Source run ID"),...H(null),$("followUpMode","Follow-up mode",x(["RESUME","FRESH","RESEND"])),D("contextMode","Context mode")]},RUN_STEER:{fields:[D("runId","Run ID"),N("prompt","Steering prompt",{required:!0}),j("attachmentIds","Attachment IDs")]},RUN_ANSWER:{fields:[D("batchId","Question batch ID",{required:!0}),M("answers","Answers")]},RUN_PAUSE:{fields:[D("runId","Run ID")]},RUN_CONTINUE:{fields:[D("runId","Run ID")]},RUN_CANCEL:{fields:[D("runId","Run ID")]},RUN_REVISE_ANSWER:{fields:[D("batchId","Question batch ID",{required:!0}),M("answers","Answers"),P("stash","Stash before revision"),P("rollback","Roll back to the question")]},RUN_READ_RESULT:{fields:[D("runId","Run ID")]},RUN_CAPTURE_CHECKPOINT:{fields:[D("runId","Run ID")]},RUN_ARCHIVE_DELETE:{fields:[D("runId","Run ID"),P("delete","Delete permanently"),P("archived","Archive")]},HUMAN_CONFIRM:{fields:[N("prompt","Prompt")]},HUMAN_CHOICE:{fields:[N("prompt","Prompt"),P("multiSelect","Allow multiple selections"),P("allowCustom","Allow a custom answer"),((e,t,r={})=>({key:e,label:t,control:"choiceOptions",valueModes:T,...r}))("options","Buttons")]},CONTROL_IF:{fields:[((e,t,r={})=>({key:e,label:t,control:"condition",valueModes:T,...r}))("condition","Condition",{required:!0})]},CONTROL_JOIN:{fields:[$("mode","Join mode",A([{value:"ALL",label:"All — wait for every branch"},{value:"ANY",label:"Any — continue on the first branch"}]),{help:"All (default) waits until every incoming branch has finished before continuing. Any continues as soon as the first incoming branch arrives, and the remaining branches keep running on their own. Either way, branches that were skipped do not block the join, and the join itself is skipped when no branch reaches it."})]},CONTROL_DELAY:{fields:[O("seconds","Delay (seconds)",{required:!0})]},CONTROL_WAIT_UNTIL:{fields:[M("condition","Condition",{required:!0})]},CONTROL_FOR_EACH:{fields:[D("listPath","List session path",{placeholder:"pr.unresolvedThreads"}),M("items","Inline items"),$("errorMode","Error handling",A([{value:"FAIL_FAST",label:"Fail fast"},{value:"COLLECT_ERRORS",label:"Collect errors"}]))]},CONTROL_TRY:{fields:[]},CONTROL_SET_VARIABLE:{fields:[D("path","Output path",{required:!0,placeholder:"flags.ready"}),M("value","Value"),N("script","Script")]},CONTROL_SUBWORKFLOW:{fields:[D("versionId","Sub-workflow version ID",{required:!0}),M("inputMapping","Input mapping")]},SAVED_COMMAND:{fields:[D("commandId","Saved command ID",{required:!0}),$("completionMode","Completion",x(["WAIT_FOR_EXIT","FIRE_AND_FORGET"])),$("targetMode","Target",x(["CONTEXT","FIXED_AGENT","FIXED_WORKTREE"])),D("agentId","Fixed agent ID",{visibleWhen:{key:"targetMode",equals:"FIXED_AGENT"}}),D("worktreeId","Fixed worktree ID",{visibleWhen:{key:"targetMode",equals:"FIXED_WORKTREE"}})]},CUSTOM_COMMAND:{fields:[N("script","Script",{required:!0}),$("completionMode","Completion",x(["WAIT_FOR_EXIT","FIRE_AND_FORGET"])),$("targetMode","Target",x(["CONTEXT","FIXED_AGENT","FIXED_WORKTREE"])),D("agentId","Fixed agent ID",{visibleWhen:{key:"targetMode",equals:"FIXED_AGENT"}}),D("worktreeId","Fixed worktree ID",{visibleWhen:{key:"targetMode",equals:"FIXED_WORKTREE"}})]},TERMINAL_RUN:{fields:[N("script","Script",{required:!0}),$("interpreter","Interpreter",x(["SHELL","NODE"])),q("environment","Environment variables"),M("credentials","Credential environment",{help:"JSON array of { name, credential: { id, kind, ownerId } } entries."})]}},J=()=>O("timeoutSeconds","Timeout (seconds)",{help:"How long to keep waiting before the step fails. Leave empty to wait for as long as the work takes."});function z(e,t){for(let r of e){let e=W[r];if(!e)continue;let i=new Set(e.fields.map(({key:e})=>e));e.fields=[...e.fields,...t().filter(({key:e})=>!i.has(e))]}}function Z(e=[]){return{fields:[...e,q("filters","Filters",{help:"Match when each session path equals the given value.",recordValueType:"json"})]}}z(["WORKTREE_CREATE","WORKTREE_CHANGE_BRANCH","WORKTREE_OPERATION","WORKTREE_DELETE","WORKTREE_GIT_OPERATION","WORKTREE_MOVE","WORKTREE_WAIT_PUSH_READY","WORKTREE_SNAPSHOT","CODEBASE_FETCH_REFRESH","CODEBASE_GIT_OPERATION","BUILD_START","BUILD_IMPORT_COVERAGE","BUILD_EXPORT","BUILD_DEPLOY","DISK_SPACE_REFRESH","TERMINAL_RUN","RUN_CREATE_PLAN","RUN_CREATE_SESSION","RUN_PLAY_PLAN","RUN_FOLLOW_UP","RUN_REVISE_ANSWER","SAVED_COMMAND","CUSTOM_COMMAND","COMMAND_RERUN","BUILD_REBUILD","BUILD_DATA_REFRESH","SIGNING_REFRESH","SIGNING_SYNC_PROFILE","SIGNING_DELETE_EXPIRED","SKILL_APPLY","GITHUB_WAIT_CHECKS","CONTROL_SUBWORKFLOW","CONTROL_WAIT_UNTIL"],()=>[O("cadenceSeconds","Poll cadence (seconds)",{help:"How often to check whether the work has finished. Leave empty for this step's default."}),J()]),z(["HUMAN_CONFIRM","HUMAN_CHOICE"],()=>[J()]);let Y=["BUILD_TEST_THRESHOLD","BUILD_COVERAGE_THRESHOLD","AGENT_DISK_THRESHOLD","CCUSAGE_THRESHOLD","RUN_USAGE_THRESHOLD","BUILD_DATA_THRESHOLD","AGENT_RESOURCE_THRESHOLD","SIGNING_ASSET_EXPIRING"],Q=Object.fromEntries(["MANUAL","MANUAL_CHOICE","RESOURCE_MANUAL","RESOURCE_MANUAL_CHOICE","SCHEDULE","WORKFLOW_FINISHED","GITHUB_PR_STATE","GITHUB_REVIEW_CHANGES_REQUESTED","GITHUB_REVIEW_COMMENT","GITHUB_PR_CLOSED","GITHUB_CHECK_FAILED","GITHUB_PUSH_DEFAULT","GITHUB_WORKFLOW_SUCCEEDED","GITHUB_ISSUE_COMMAND","GITHUB_ACTIONS_RESULT","GITHUB_PR_LABEL","BUILD_RESULT","BUILD_TEST_THRESHOLD","BUILD_COVERAGE_THRESHOLD","BUILD_HOOK_FAILED","AGENT_CONNECTION","AGENT_JOB_FAILED","AGENT_DISK_REPORT","AGENT_DISK_THRESHOLD","AGENT_DISK_STATE_CHANGED","AGENT_DISK_CLEANUP_RESULT","CCUSAGE_THRESHOLD","WORKTREE_CREATED","WORKTREE_BEHIND","WORKTREE_CONFLICT","WORKTREE_MISSING","WORKTREE_DIVERGED","WORKTREE_DIRTY_DURATION","WORKTREE_NEW_COMMIT","CODEBASE_REMOTE_BRANCH","JIRA_STATUS","JIRA_LABEL","JIRA_ASSIGNED_SELF","JIRA_SOURCE_NEW_TICKET","JIRA_MENTION","JIRA_SPRINT_STARTED","JIRA_ISSUE_CREATED","JIRA_ISSUE_DELETED","JIRA_ISSUE_COMMAND","JIRA_ATTACHMENT_ADDED","JIRA_ISSUE_LINKED","RUN_STARTED","RUN_COMPLETED","RUN_QUESTION_NEEDED","RUN_QUESTION_ANSWERED","RUN_PAUSED","RUN_CONTINUED","RUN_FAILED","RUN_CANCELLED","RUN_PLAN_PLAYED","RUN_FOLLOW_UP","RUN_IMPORTED","RUN_USAGE_THRESHOLD","RUN_EVENT_MATCH","COMMAND_RUN_RESULT","COMMAND_OUTPUT_MATCH","SKILL_SYNC_RESULT","SKILL_SYNC_CONFLICT","GITHUB_PIPELINE_STATUS_CHANGED","GITHUB_PR_SYNCHRONIZED","GITHUB_REVIEW_APPROVED","JIRA_TICKET_UPDATED","JIRA_COMMENT_ADDED","JIRA_WORKLOG_ADDED","JIRA_SPRINT_ENDED","CODEBASE_SYNC_STATE_CHANGED","CODEBASE_OPERATION_FAILED","WORKTREE_SYNC_STATE_CHANGED","WORKTREE_AUTOMATION_RESULT","WORKTREE_CLEAN","PUSH_NOTIFICATION_RESULT","IOS_DEVICE_ENROLLED","IOS_DEVICE_REGISTRATION_RESULT","SIGNING_OPERATION_RESULT","SIGNING_ASSET_EXPIRING","BUILD_DATA_THRESHOLD","BUILD_DATA_CLEANUP_RESULT","POLLING_OPERATION_STATE","MODEL_COST_CATALOG_CHANGED","CREDENTIAL_STORE_DEGRADED","AGENT_RESOURCE_THRESHOLD","AGENT_VERSION_CHANGED","TOOL_CALL_RESULT"].map(e=>"RESOURCE_MANUAL"===e||"RESOURCE_MANUAL_CHOICE"===e?[e,Z([$("resourceKind","Resource kind",x(o),{required:!0}),..."RESOURCE_MANUAL_CHOICE"===e?[F("choices","Choices",{required:!0})]:[]])]:"MANUAL_CHOICE"===e?[e,Z([F("choices","Choices",{required:!0})])]:"SCHEDULE"===e?[e,Z([O("cadenceSeconds","Cadence (seconds)",{required:!0})])]:"GITHUB_ISSUE_COMMAND"===e?[e,Z([j("allowedLogins","Allowed logins",{placeholder:"octocat",required:!0}),D("commandPattern","Command pattern (regex)",{placeholder:"^/deploy\\b$",required:!0,valueModes:["literal","interpolation"]})])]:"JIRA_ISSUE_COMMAND"===e?[e,Z([j("allowedAccountIds","Allowed account IDs",{placeholder:"5b10a2844c20165700ede21g",required:!0}),D("commandPattern","Command pattern (regex)",{placeholder:"^/deploy\\b$",required:!0,valueModes:["literal","interpolation"]})])]:"COMMAND_OUTPUT_MATCH"===e?[e,Z([D("outputPattern","Output pattern (regex)",{placeholder:"error|failed",required:!0,valueModes:["literal","interpolation"]})])]:Y.includes(e)?[e,Z([D("thresholdPath","Threshold path",{placeholder:"build.testSummary.failed"}),$("thresholdOperator","Operator",K),M("thresholdValue","Threshold value")])]:[e,Z()]));function X(e,t){return"step"===t?W[e]:Q[e]}function ee(e,t,r){let i=function(e,t){let r=X(e,t);if(!r)return null;let i=new Set,a=new Set;for(let e of r.fields){for(let t of"model"===e.control&&e.modelKeys?[e.modelKeys.provider,e.modelKeys.model,e.modelKeys.effort]:[e.key])i.add(t);e.required&&a.add(e.key)}return{described:i,required:a}}(e,t);if(!i||!r||"object"!=typeof r||Array.isArray(r))return S(r);let a=new Set;for(let[e,t]of Object.entries(r))(!i.described.has(e)||i.required.has(e))&&S(t,a);return a}e.s(["getConfigDescriptor",0,X,"requiredConfigSessionPaths",0,ee],248626);let et=["EQ","NE","GT","GTE","LT","LTE","CONTAINS","MATCHES","EXISTS"],er={type:"object",title:"Session binding",description:"Reads the value from run session data at `path` instead of hard-coding it.",properties:{source:{const:"SESSION"},path:{type:"string",description:"Dotted session path, e.g. `ticket.key` or `pr.number`."}},required:["source","path"],additionalProperties:!1},ei={type:"object",title:"Literal wrapper",description:"An explicit constant. Equivalent to writing the value directly; the editor uses it to record that a field was pinned rather than bound.",properties:{source:{const:"LITERAL"},value:{}},required:["source"],additionalProperties:!1};function ea(e,t,r){let i=r.valueModes??[],a=[i.includes("session")?"May also be a session binding.":null,i.includes("interpolation")?"Strings here — including strings nested inside the value — may carry `{{path}}` interpolation tokens, e.g. `{{worktree.baseBranch}}`.":null].filter(Boolean),n=a.length?{...t,description:[t.description,...a].filter(Boolean).join(" ")}:t;return i.includes("session")?{anyOf:[e,er,ei],...n}:{...e,...n}}function en(e){let t=e.options?function(e){if("static"===e.kind){let t=e.options.filter(({label:e})=>e);return t.length?t.map(({value:e,label:t})=>`\`${e}\` — ${t}`).join("; "):null}let t=e.scopeFrom?` Scoped by the sibling \`${e.scopeFrom}\` value.`:"",r=e.sessionPath?` Usually bound to \`${e.sessionPath}\`.`:"";return`Identifier of a ${e.resource} known to the control plane.${r}${t}`}(e.options):null,r={description:[e.label,e.help,t].filter(Boolean).join(" — ")};return e.placeholder&&(r.examples=[e.placeholder]),void 0!==e.default&&(r.default=e.default),ea(function(e){switch(e.control){case"number":return{type:e.integer?"integer":"number",...void 0===e.minimum?{}:{minimum:e.minimum},...void 0===e.maximum?{}:{maximum:e.maximum}};case"boolean":return{type:"boolean"};case"enum":{let t=e.options;if(t?.kind==="static")return{type:"string",enum:t.options.map(({value:e})=>e)};return{type:"string"}}case"resource":case"model":case"text":default:return{type:"string"};case"resourceMulti":case"stringList":case"mcpPresetMulti":return{type:"array",items:{type:"string"}};case"record":return{type:"object",additionalProperties:"json"===e.recordValueType?{}:{type:"string"}};case"condition":return{$ref:"#/$defs/condition"};case"choiceOptions":return{type:"array",description:"Buttons offered to the person answering.",items:{type:"object",properties:{label:{type:"string"},description:{type:"string"}},required:["label"],additionalProperties:!1}};case"triggerChoices":return{type:"array",minItems:1,description:"Options this trigger offers. Each `key` names an outgoing handle on the trigger, so edges stay attached when a label is renamed.",items:{type:"object",properties:{key:{type:"string",pattern:p.source},label:{type:"string"},description:{type:"string"}},required:["key","label"],additionalProperties:!1}};case"json":return{}}}(e),r,e)}function es(e,t){let r=X(e,t);if(!r)return{type:"object",additionalProperties:!0};let i={},a=[],n=!1;for(let e of r.fields){for(let[t,r]of("condition"===e.control&&(n=!0),"model"===e.control?function(e){let t=e.modelKeys;if(!t)return[[e.key,en(e)]];let r=(t,r)=>[t,ea({type:"string"},{description:r},e)];return[r(t.provider,"AI provider that serves the model."),r(t.model,"Model identifier, as listed by the provider catalog."),r(t.effort,"Reasoning effort, when the model supports it.")]}(e):[[e.key,en(e)]]))i[t]=r;e.required&&a.push(e.key)}let s={type:"object",properties:i,additionalProperties:!0};return a.length&&(s.required=a),n&&(s.$defs={condition:{type:"object",description:"A condition tree. `ALL`/`ANY` combine nested conditions, `NOT` negates one, and the comparison operators test `left` against `right`.",anyOf:[{properties:{op:{enum:["ALL","ANY"]},conditions:{type:"array",items:{$ref:"#/$defs/condition"}}},required:["op","conditions"]},{properties:{op:{const:"NOT"},condition:{$ref:"#/$defs/condition"}},required:["op","condition"]},{properties:{op:{enum:[...et]},left:{description:"Value to test — usually a session binding. `EXISTS` needs only this side."},right:{description:"Value to compare against."}},required:["op","left"]}]}}),s}let eo="aide.workflow";function el(e){let t=e?.choices;if(!Array.isArray(t))return[];let r=[],i=new Set;for(let e of t)!(!e||"object"!=typeof e||Array.isArray(e))&&(!h(e.key)||i.has(e.key)||(i.add(e.key),r.push({key:e.key,label:"string"==typeof e.label&&e.label.trim()?e.label:e.key,description:"string"==typeof e.description?e.description:""})));return r}let eu={BUILD:["build.*","worktree.*","codebase.*","agent.*","repo.*","ticket.*"],CODEBASE:["codebase.*","agent.*","repo.*"],JIRA_TICKET:["ticket.*","comment.*"],AGENT_RUN:["run.*","worktree.*","codebase.*","agent.*","repo.*","ticket.*"],GITHUB_PIPELINE:["pipeline.*","repo.*","pr.*","worktree.*","codebase.*","agent.*","ticket.*"],GITHUB_JOB:["job.*","pipeline.*","repo.*","pr.*","worktree.*","codebase.*","agent.*","ticket.*"],PULL_REQUEST:["pr.number","repo.displayOrigin"],WORKTREE:["worktree.*","codebase.*","agent.*","repo.*","ticket.*","pr.*"],COMMAND_RUN:["command.*","agent.*","worktree.*","codebase.*","repo.*"],SKILL:["skill.*","repo.*","codebase.*"],SKILL_SYNC:["skillSync.*","skill.*","repo.*","codebase.*","worktree.*"],IOS_DEVICE:["device.*"],SIGNING_PROFILE:["signingProfile.*","device.*","agent.*"],PUSH_NOTIFICATION_BATCH:["pushBatch.*"],BUILD_DATA_COLLECTION:["buildData.*","agent.*","worktree.*","codebase.*"]};function ec(e){let t=e?.resourceKind;return"string"==typeof t&&o.includes(t)?t:null}function ed(e,t){if(!d(e))return[];let r=ec(t);return r?eu[r]:[]}let ep=(e,t,r,i,a,n,s)=>({kind:e,category:t,label:r,description:s.description,details:s.details,execution:i,configSchema:es(e,"step"),capabilityFlags:[i,...s.mutatesExternal?["MUTATES_EXTERNAL"]:[],...s.mutatesWorktree?["MUTATES_WORKTREE"]:[]],requiredPaths:a,providedPaths:n,sourceHandles:m(e),mutatesExternal:s.mutatesExternal??!1,mutatesWorktree:s.mutatesWorktree??!1}),eh=["worktree.*","codebase.*","agent.*","repo.*","ticket.*","pr.*"],em=["codebase.*","agent.*","repo.*"],ef=(e,t,r,i=[],a=["steps.<stepId>.*"],n={})=>ep(e,t,r,"SERVER",i,a,{description:`${r} using the control plane's typed service API.`,details:`${r} is a first-class action with validated configuration, audit-friendly output, resource links where available, and normal workflow failure routing.`,...n}),eg=[ef("COMMAND_RERUN","Commands","Rerun command",["command.id"],["command.*"]),ef("COMMAND_TERMINATE","Commands","Terminate command",["command.id"],["command.*"]),ef("COMMAND_READ_OUTPUT","Commands","Read command output",["command.id"],["command.*"]),ef("WORKTREE_INSPECT_DIFF","Worktrees","Inspect worktree diff",["worktree.id"],["worktree.diff.*"]),ef("WORKTREE_UPDATE_METADATA","Worktrees","Update worktree metadata",["worktree.id"],eh),ef("WORKTREE_MOVE_CONTROL","Worktrees","Control worktree move",[],eh,{mutatesWorktree:!0}),ef("BUILD_REBUILD","Builds","Rebuild build",["build.id"],["build.*"]),ef("BUILD_GENERATE_REPORT","Builds","Generate build report",["build.id"],["build.*"]),ef("BUILD_DELETE","Builds","Delete builds",[],["build.*"]),ef("SKILL_PREPARE_SYNC","Skills","Prepare skill sync",[],["skillSync.*"]),ef("SKILL_RESOLVE_SYNC","Skills","Resolve skill sync conflict",["skillSync.id"],["skillSync.*"]),ef("SKILL_SKIP_SYNC","Skills","Skip skill sync",["skillSync.id"],["skillSync.*"]),ef("BUILD_DATA_REFRESH","Build Data","Refresh build data",[],["buildData.*"]),ef("BUILD_DATA_DELETE","Build Data","Delete build data",["buildData.id"],["buildData.*"]),ef("BUILD_DATA_SET_LOCK","Build Data","Set build-data lock",["buildData.id"],["buildData.*"]),ef("SIGNING_REFRESH","Signing","Refresh signing assets",[],["signing.*"]),ef("SIGNING_SYNC_PROFILE","Signing","Sync signing profile",["signingProfile.id"],["signing.*"]),ef("SIGNING_DELETE_EXPIRED","Signing","Delete expired profiles",[],["signing.*"]),ef("IOS_DEVICE_REGISTER","Devices","Register iOS device",["device.id"],["device.*"],{mutatesExternal:!0}),ef("IOS_DEVICE_REJECT","Devices","Reject iOS device",["device.id"],["device.*"],{mutatesExternal:!0}),ef("AGENT_RECONCILE","Agents","Reconcile agents",[],["agent.*"]),ef("AGENT_UPDATE_CADENCE","Agents","Update agent cadence",["agent.id"],["agent.*"]),ef("CCUSAGE_COLLECT","Operations","Collect usage",[],["usage.*"]),ef("MODEL_COST_REFRESH","Operations","Refresh model costs",[],["modelCosts.*"],{mutatesExternal:!0}),ef("GITHUB_UPDATE_PR","GitHub","Update pull request",["pr.number","repo.*"],["pr.*"],{mutatesExternal:!0}),ef("GITHUB_SUBMIT_REVIEW","GitHub","Submit pull request review",["pr.number","repo.*"],["pr.*"],{mutatesExternal:!0}),ef("GITHUB_REQUEST_REVIEWERS","GitHub","Request pull request reviewers",["pr.number","repo.*"],["pr.*"],{mutatesExternal:!0}),ef("GITHUB_DISPATCH_WORKFLOW","GitHub","Dispatch GitHub workflow",["repo.*"],["pipeline.*"],{mutatesExternal:!0}),ef("JIRA_CREATE_TICKET","Jira","Create Jira ticket",[],["ticket.*"],{mutatesExternal:!0}),ef("JIRA_ADD_WORKLOG","Jira","Add Jira worklog",["ticket.key"],["ticket.*"],{mutatesExternal:!0}),ef("JIRA_LINK_TICKETS","Jira","Link Jira tickets",["ticket.key"],["ticket.*"],{mutatesExternal:!0})],ey=[ep("JIRA_LOAD_TICKET","Jira","Load Jira ticket","SERVER",[],["ticket.*"],{description:"Reads a Jira issue and puts its fields — key, title, type, status, assignee, labels — into session data as `ticket.*`.",details:'Needs a configured Jira credential. Leave the identifier unset to take it from session data. Results are served from cache unless "Bypass cache" is set, so a step that reads a ticket right after changing it should force a refresh. Fails when the issue does not exist or the credential cannot see it. Read-only: it changes nothing in Jira.'}),ep("JIRA_TRANSITION","Jira","Transition Jira ticket","SERVER",["ticket.key"],["ticket.*"],{description:"Moves a ticket to another status by applying one of its workflow transitions.",details:"Takes a transition id, not a status name — the ids are board-specific, so read them from the ticket's available transitions rather than hard-coding a guess. Fails when the transition is not currently available on that issue, which is what happens if an earlier step already moved it. Refreshes `ticket.*` from the response.",mutatesExternal:!0}),ep("JIRA_COMMENT","Jira","Add Jira comment","SERVER",["ticket.key"],["ticket.*"],{description:"Posts a comment on a Jira issue, written in Markdown or Jira wiki markup.",details:"The comment body is converted from Markdown by default; choose Jira wiki format to pass markup through untouched. Comments are never deduplicated, so a step that runs twice comments twice — guard it with a condition if the workflow can retry. Refreshes `ticket.*` from the response.",mutatesExternal:!0}),ep("JIRA_ASSIGN","Jira","Assign Jira ticket","SERVER",["ticket.key"],["ticket.*"],{description:"Sets the assignee of a Jira issue, or clears it when no account is given.",details:"Takes a Jira account id rather than a display name or email. Leaving the assignee empty unassigns the ticket. Fails when the account cannot be assigned on that project. Refreshes `ticket.*` from the response.",mutatesExternal:!0}),ep("JIRA_UPDATE_FIELDS","Jira","Update Jira fields","SERVER",["ticket.key"],["ticket.*"],{description:"Patches arbitrary fields on a Jira issue — labels, summary, custom fields — from a JSON object.",details:"The escape hatch for anything the dedicated Jira steps do not cover. Keys are passed to the Jira update API as given, so an unknown or screen-hidden field fails the step. Prefer the specific steps for status and assignee. Refreshes `ticket.*` from the response.",mutatesExternal:!0}),ep("JIRA_RESOLVE_BRANCH","Jira","Resolve ticket branch","SERVER",["ticket.key","ticket.title","ticket.type"],["worktree.branch","ticket.key","ticket.title","ticket.type"],{description:"Works out the branch name a ticket would get under the codebase's naming convention, without creating anything.",details:"A preview step: it writes `worktree.branch` plus the ticket key, title, and type into session data and touches neither Git nor Jira. Use it before Create worktree when you want the branch name available to earlier steps — for a worktree keyed off a ticket, Create worktree in TICKET mode derives the same name on its own."}),ep("GITHUB_LOAD_PR","GitHub","Load pull request","SERVER",[],["pr.*"],{description:"Reads a pull request and puts its state, branches, labels, checks, and review threads into session data as `pr.*`.",details:"Needs a configured GitHub credential. Owner and repository default to the repository already in session data, and the number to `pr.number`. Fails when the pull request does not exist or the credential cannot see it. Read-only."}),ep("GITHUB_MERGE_PR","GitHub","Merge pull request","SERVER",["pr.number"],["pr.state"],{description:"Merges an open pull request using squash, merge, or rebase, optionally overriding the commit message.",details:"Checks mergeability first and fails with GitHub's own blocking reason — conflicts, failing required checks, missing approvals, an already-closed pull request — rather than forcing the merge. Commit headline and body default to what GitHub would use. Squash is the default method. Irreversible, and repository policy may delete the head branch as a side effect, which strands any worktree still on it. Writes `pr.state`.",mutatesExternal:!0}),ep("GITHUB_COLLECT_REVIEW_THREADS","GitHub","Collect review comments","SERVER",["pr.number"],["pr.unresolvedThreads"],{description:"Gathers the unresolved review threads on a pull request into `pr.unresolvedThreads`.",details:"Resolved threads are filtered out. The result is a list, so it pairs with For each to work through the comments one at a time — the reply and resolve steps take a single thread id from the iteration. Read-only."}),ep("GITHUB_REPLY_REVIEW_THREAD","GitHub","Reply to review thread","SERVER",["pr.unresolvedThreads"],[],{description:"Posts a reply into an existing pull request review thread.",details:"Takes the thread id from Collect review comments, usually inside a For each. Replies are not deduplicated, so a retried step comments twice. Replying does not resolve the thread — follow with Resolve review thread when that is the intent.",mutatesExternal:!0}),ep("GITHUB_SET_REVIEW_THREAD_RESOLVED","GitHub","Resolve review thread","SERVER",["pr.unresolvedThreads"],[],{description:"Marks a pull request review thread resolved, or reopens it.",details:"Takes the thread id from Collect review comments. Resolving is the default; clear the flag to unresolve. Reviewers see this as the bot resolving their comment, so it is usually paired with a reply that explains what changed.",mutatesExternal:!0}),ep("GITHUB_CREATE_PR","GitHub","Open pull request","SERVER",["worktree.branch","worktree.baseBranch"],["pr.*"],{description:"Opens a pull request from the worktree's branch, optionally as a draft.",details:"Head branch defaults to `worktree.branch`, base to `worktree.baseBranch`, and the title to `ticket.title`. The head branch must already be pushed — put Wait for push-ready or a push operation in front of this step. Fails when a pull request is already open for the same branch pair. Writes the new pull request to `pr.*`.",mutatesExternal:!0}),ep("GITHUB_SET_PR_LABELS","GitHub","Set pull request labels","SERVER",["pr.number"],["pr.labels"],{description:"Replaces the labels on a pull request with the given list.",details:"This sets rather than adds — labels not in the list are removed, so include the ones you want to keep. Labels must already exist in the repository. Writes `pr.labels`.",mutatesExternal:!0}),ep("GITHUB_RETRY_PIPELINE","GitHub Actions","Retry failed pipeline","SERVER",["pipeline.runId"],["pipeline.status"],{description:"Re-runs the failed jobs of a check suite, leaving the jobs that passed alone.",details:"Targets a check suite rather than a single job — use Retry workflow job for that. Re-running consumes Actions minutes and re-executes whatever those jobs do, including deployments. Pair it with a Time delay and a retry limit so a permanently broken pipeline is not retried forever. Writes `pipeline.status`.",mutatesExternal:!0}),ep("GITHUB_RETRY_JOB","GitHub Actions","Retry workflow job","SERVER",["pipeline.failedJobs"],[],{description:"Re-runs one job of a GitHub Actions workflow run.",details:"Needs the repository, check suite, and job ids together — typically read out of `pipeline.failedJobs` inside a For each. Use Retry failed pipeline to re-run every failed job at once instead.",mutatesExternal:!0}),ep("GITHUB_CANCEL_WORKFLOW_RUN","GitHub Actions","Cancel workflow run","SERVER",["pipeline.runId"],["pipeline.status"],{description:"Cancels an in-progress GitHub Actions workflow run.",details:"Falls back to `repo.id` and `pipeline.runId` from session data. Force-cancel skips the graceful shutdown that lets `always()` cleanup jobs finish, so leave it off unless a run is stuck. Cancelling a run that has already finished is an error. Writes `pipeline.status`.",mutatesExternal:!0}),ep("GITHUB_SAVE_AUTO_RETRY","GitHub Actions","Install auto-retry rule","SERVER",["pipeline.runId"],[],{description:"Saves a standing rule that automatically retries matching GitHub Actions failures.",details:"Persists configuration rather than acting once — the rule keeps applying after this run ends, and stays until something removes it. Takes the rule as a JSON object. Treat it as a settings change, not a step you re-run casually.",mutatesExternal:!0}),ep("GITHUB_WAIT_CHECKS","GitHub Actions","Wait for checks","WAIT",["pipeline.runId"],["pipeline.status","pipeline.conclusion","pipeline.jobs"],{description:"Parks the run until a GitHub Actions workflow run finishes, then continues on its conclusion.",details:"Polls until the run reaches a terminal status. Anything other than success fails the step, so route the failure handle to the recovery path — or set the step's failure policy to continue and branch on `pipeline.conclusion` yourself. Also refreshes `pipeline.jobs`. Without a timeout the wait is open-ended; a hung pipeline holds the workflow run indefinitely. Falls back to `repo.id` and `pipeline.runId`."}),ep("WORKTREE_CREATE","Worktrees","Create worktree","SERVER",["codebase.id"],eh,{description:"Creates a Git worktree on the agent for a new, existing, or ticket-derived branch.",details:"Dispatches a job to the agent that owns the codebase and waits for it, so the agent must be online. Branch mode NEW cuts a branch from the base, EXISTING checks one out, and TICKET derives the name from `ticket.key`. Base branch falls back to `worktree.baseBranch` then `repo.defaultBranch`. Refreshes the created worktree, codebase, owning agent, repository, and any linked ticket. Creates real directories on disk.",mutatesWorktree:!0}),ep("WORKTREE_CHANGE_BRANCH","Worktrees","Change worktree branch","SERVER",["worktree.id"],eh,{description:"Switches an existing worktree to a different branch, creating it if needed.",details:'Same branch modes as Create worktree. Uncommitted changes block the switch unless "Stash on failure" is set, which stashes them and retries — the stash is left for a human to deal with. Refreshes the worktree and all of its related resource context.',mutatesWorktree:!0}),ep("WORKTREE_REFRESH_PULL_REQUEST","Worktrees","Refresh pull request","SERVER",["worktree.id"],["pr.*"],{description:"Forces exact-branch pull request discovery and refreshes the worktree's persisted pull request context.",details:"Uses the configured worktree, falling back to `worktree.id`. The step succeeds with `found: false` and clears `pr` when the branch has no open pull request.",mutatesWorktree:!0,mutatesExternal:!1}),ep("WORKTREE_OPERATION","Worktrees","Run worktree operation","SERVER",["worktree.id"],eh,{description:"Runs one of the built-in worktree maintenance operations, such as syncing with the base branch or pushing.",details:"Dispatches an agent job and waits for it. Opening an editor is rejected here — it needs a human at the machine. Sync and push touch the remote and can conflict; check `worktree.pushStatus` afterwards or follow with Inspect worktree Git state.",mutatesWorktree:!0}),ep("WORKTREE_SET_AUTO_SYNC","Worktrees","Set worktree Auto Sync","SERVER",["worktree.id"],["worktree.autoSync"],{description:"Enables, updates, retries, or cancels persistent Auto Sync for a worktree.",details:"An enabled rule rebases on the target branch whenever it changes and force-pushes with lease. A merge-conflict quick-action workflow can be selected as the automatic recovery path; unresolved conflicts pause the rule.",mutatesWorktree:!0,mutatesExternal:!0}),ep("WORKTREE_SET_AUTO_MERGE","Worktrees","Set worktree Auto Merge","SERVER",["worktree.id"],["worktree.autoMerge"],{description:"Enables, updates, retries, or cancels GitHub-native Auto Merge for a worktree.",details:"GitHub remains the authority for required checks and reviews. Optional post-merge actions can move the linked Jira ticket to its configured done status and safely delete a clean linked worktree.",mutatesWorktree:!0,mutatesExternal:!0}),ep("WORKTREE_DELETE","Worktrees","Delete worktree","SERVER",["worktree.id"],em,{description:"Removes a worktree from the agent, optionally deleting its remote branch too.",details:"Destroys the directory and any uncommitted work in it — there is no undo. Deleting the remote branch as well affects everyone, and closes any pull request from that branch. Do not put this before steps that still read `worktree.*`.",mutatesWorktree:!0}),ep("WORKTREE_MOVE","Worktrees","Move worktree","SERVER",["worktree.id"],eh,{description:"Moves a worktree's branch and changes into another codebase, optionally deleting the source.",details:"Waits for the move job to finish. Used when a branch was started against the wrong checkout. Deleting the source destroys the original directory; leaving it keeps both, which means two worktrees on one branch. Refreshes `worktree.*` to point at wherever the work now lives.",mutatesWorktree:!0}),ep("WORKTREE_INSPECT","Worktrees","Inspect worktree","SERVER",["worktree.id"],["worktree.commits","worktree.changes","worktree.branchChanges","worktree.commitsTruncated","worktree.changesTruncated","worktree.branchChangesTruncated"],{description:"Reads the worktree's commits and changed files into `worktree.commits` and `worktree.changes`.",details:"Read-only. Use it to give a later condition or AI prompt something concrete to work from — for example to skip opening a pull request when nothing changed. For push/dirty state use Inspect worktree Git state instead, which is cheaper."}),ep("WORKTREE_INSPECT_GIT","Worktrees","Inspect worktree Git state","SERVER",["worktree.id"],["worktree.*"],{description:"Reads the worktree's Git status — dirty flag, ahead/behind counts, push status, conflicts — into `worktree.*`.",details:"Read-only and the cheap way to branch on repository state: gate a commit on `worktree.dirty`, or a sync on the worktree being behind. Use Inspect worktree when you need the actual commits and diffs."}),ep("WORKTREE_GIT_OPERATION","Worktrees","Run worktree Git operation","SERVER",["worktree.id"],eh,{description:"Runs a specific Git operation in the worktree — pull, push, rebase, stash, and the rest.",details:'Dispatches an agent job and waits for it. Operations that rewrite history or touch the remote can fail on conflicts; "Stash changes first" clears the way for operations that need a clean tree. Prefer Run worktree operation for the higher-level sync and push flows, which handle more of the edge cases.',mutatesWorktree:!0}),ep("WORKTREE_WAIT_PUSH_READY","Worktrees","Wait for push-ready","WAIT",["worktree.id"],eh,{description:"Parks the run until the worktree's branch is pushed and tracking a remote.",details:"The step to put between an AI session that commits and Open pull request, which needs the branch to exist on the remote. Resolves as soon as the branch is push-ready; without a timeout it waits indefinitely, so set one if a human may never push. Writes `worktree.pushStatus`."}),ep("WORKTREE_SNAPSHOT","Worktrees","Snapshot Git state","AGENT",["worktree.path"],["steps.<stepId>.snapshotId"],{description:"Captures a restorable checkpoint of the worktree's Git state before a risky step.",details:"Runs on the agent, so it needs `worktree.path` and an online agent. The snapshot id it writes is what run replay restores from, which makes this the step to place before anything that rewrites the tree. Snapshots cost disk on the agent."}),ep("CODEBASE_FETCH_REFRESH","Codebases","Fetch or refresh codebase","SERVER",["codebase.id"],em,{description:"Fetches remote refs for a codebase, or fully refreshes its cached metadata.",details:"Fetch updates remote-tracking branches; refresh re-reads the whole checkout and is slower. Runs as an agent job and waits. Fails when the agent skips the operation — usually because the codebase is missing or already busy. Put a fetch in front of steps that check whether a remote branch exists.",mutatesWorktree:!0}),ep("CODEBASE_INSPECT_GIT","Codebases","Inspect codebase Git state","SERVER",["codebase.id"],["codebase.*"],{description:"Reads the codebase checkout's Git status into `codebase.*`.",details:"Read-only. This is the primary checkout, not a worktree — use Inspect worktree Git state for per-branch work. Useful for refusing to start work when the base checkout is dirty or on an unexpected branch."}),ep("CODEBASE_GIT_OPERATION","Codebases","Run codebase Git operation","SERVER",["codebase.id"],em,{description:"Runs a Git operation against the codebase's primary checkout.",details:'Same operations as the worktree version, aimed at the main checkout that every worktree branches from — so a bad rebase or reset here affects all of them. "Stash changes first" clears local modifications out of the way. Runs as an agent job and waits.',mutatesWorktree:!0}),ep("BUILD_START","Builds","Start build or test","SERVER",["codebase.id","worktree.id"],["build.*"],{description:"Queues an iOS build, test, or archive run on the agent and waits for it to finish.",details:"Needs a build configuration id and an online agent; the destination and build scripts are optional. The step parks until the build reaches a terminal status, so a long test suite holds the workflow run. Failing builds fail the step — route the failure handle if you want to read the results anyway. Writes `build.*`, which the read-results and coverage steps then consume.",mutatesExternal:!0}),ep("BUILD_READ_TEST_RESULTS","Builds","Read test results","SERVER",["build.id"],["build.testSummary","build.tests"],{description:"Reads a finished build's test report into `build.testSummary` and `build.tests`.",details:"Fails outright when the report is not ready, so it belongs after Start build or test rather than in parallel with it. The summary carries the passed/failed counts a condition can branch on; the per-test list is the detail an AI prompt can be pointed at. Read-only."}),ep("BUILD_READ_COVERAGE","Builds","Read code coverage","SERVER",["build.id"],["build.coverageSummary","build.coverageFiles","build.changedCoverageFiles"],{description:"Reads a finished build's coverage report into `build.coverageSummary` and the per-file breakdowns.",details:'Fails when the coverage report is not ready — the build must have been run with coverage collection on. Also writes the changed-files breakdown, which is what a "coverage on this branch\'s changes" gate should read rather than the whole-project number. Read-only.'}),ep("BUILD_IMPORT_COVERAGE","Builds","Import coverage report","SERVER",["worktree.id"],["build.id","build.coverageSummary"],{description:"Reads a coverage file a test command wrote in the worktree and records it as a coverage report.",details:"Pair it with a Terminal command step that runs the test suite first: this step only reads what that run left behind, at the path given in `Coverage file`. The build name defaults to the workflow name and can be overridden. LCOV and Istanbul (`coverage-final.json`) are both understood, and AUTO tells them apart by the file itself. Runs as an agent job and waits. The report is attached to a new build record of its own, so it shows up on that build's coverage page and in the coverage picker on Changes; changed-line coverage is measured against the worktree's base branch, and is left out when that branch cannot be resolved. Writes the totals to `build.coverageSummary` and the new id to `build.id` — follow with Read code coverage for the per-file breakdown. Fails when the file is missing, unreadable, or describes no files."}),ep("BUILD_EXPORT","Builds","Export archive","SERVER",["build.id"],["build.exportId",...eh],{description:"Exports a finished archive build into a distributable package on the agent.",details:"Needs export settings and an archive-action build. Runs as an agent job and waits. Writes files to the agent's disk and may talk to Apple's servers for signing, so it can fail on expired certificates or provisioning profiles.",mutatesExternal:!0}),ep("BUILD_DEPLOY","Builds","Deploy build","SERVER",["build.id"],eh,{description:"Installs and launches an existing build on its destinations without rebuilding.",details:"Reuses the artifacts from a previous build, so it is much faster than building again. Destinations default to the ones the build already targeted. Waits for the deployment job. This puts the app on real or simulated devices — treat it as an external effect.",mutatesExternal:!0}),ep("BUILD_CANCEL","Builds","Cancel build","SERVER",["build.id"],["build.id","build.status"],{description:"Cancels a queued or running build.",details:"Aimed at a different build from the one this run started — Start build or test already waits for its own. Cancelling an already-finished build is a no-op rather than an error. Writes `build.status`.",mutatesExternal:!0}),ep("DISK_SPACE_LOAD","Disk space","Load disk-space monitor","SERVER",[],["agent.*","disk.*"],{description:"Loads the current Derived Data disk-space monitor snapshot for an agent.",details:"Targets the configured agent, then falls back to `agent.id` or `codebase.agentId`. The least-free monitored Derived Data volume supplies `disk.freeBytes`, `disk.freeGiB`, and the percentage fields; root and base-repository volumes remain in `disk.volumes` for context only. Read-only and does not request a new report."}),ep("DISK_SPACE_REFRESH","Disk space","Refresh disk-space monitor","WAIT",[],["agent.*","disk.*"],{description:"Requests an immediate disk report from an agent and waits for fresh telemetry.",details:"Targets the configured agent, then falls back to `agent.id` or `codebase.agentId`. Monitoring must be enabled. The step waits until `lastReportedAt` advances, then refreshes `agent.*` and `disk.*`; by default it polls every two seconds and times out after 180 seconds."}),ep("DISK_SPACE_UPDATE_THRESHOLDS","Disk space","Update disk thresholds","SERVER",[],["disk.normalThresholdGiB","disk.pressureThresholdGiB","disk.pollIntervalSeconds","disk.staleAfterSeconds"],{description:"Updates the global normal and pressure free-space thresholds.",details:"Changes the thresholds used for every monitored agent, automatic cleanup, and admission control. The pressure threshold must be positive and lower than the normal threshold. Writes the resulting global settings into `disk.*`."}),ep("DISK_SPACE_SET_MONITORING","Disk space","Set agent disk monitoring","SERVER",[],["agent.*","disk.*"],{description:"Enables or disables Derived Data disk-space monitoring for an agent.",details:"Targets the configured agent, then falls back to `agent.id` or `codebase.agentId`. Disabling monitoring also clears manual and automatic pressure mode and releases cleanup leases that have not started a job. Refreshes `agent.*` and `disk.*`."}),ep("DISK_SPACE_SET_PRESSURE_MODE","Disk space","Set disk pressure mode","SERVER",[],["agent.*","disk.*"],{description:"Enables or clears manual disk pressure mode for an agent.",details:"Targets the configured agent, then falls back to `agent.id` or `codebase.agentId`. Manual pressure mode uses the lower pressure threshold; automatic pressure mode remains controlled by cleanup availability. Refreshes `agent.*` and `disk.*`."}),ep("SKILL_APPLY","Skills","Apply skill group","SERVER",["worktree.id","repo.id"],["steps.<stepId>.status"],{description:"Syncs a skill group's files into the target checkout, or every skill when no group is chosen.",details:"Starts a skill sync run and waits for it. Writes skill files into the repository, which shows up as uncommitted changes — commit or discard them before a step that needs a clean tree. Leave the group empty to sync everything.",mutatesWorktree:!0}),ep("RUN_CREATE_PLAN","AI runs","Create plan and wait","SERVER",["worktree.id"],["run.<stepId>.*"],{description:"Starts an AI planning run against the worktree and waits for the plan to be produced.",details:"Requires a worktree, a provider/model, and a prompt. Plans use a separate FIFO worktree queue and allow unlimited concurrent plans by default; set the worktree concurrency limit to 1–32 to cap them, or 0 for unlimited. Planning inspects the code but does not change it — use Run AI session and wait to actually make edits, or follow with Run completed plan. If the run asks a question it parks until someone answers, so pair long workflows with a question-needed trigger. Writes the run under `run.<stepId>.*`, which later steps reference by this step's id."}),ep("RUN_CREATE_SESSION","AI runs","Run AI session and wait","SERVER",["worktree.id"],["run.<stepId>.*"],{description:"Starts an AI coding session against the worktree and waits for it to finish.",details:"The workhorse step: the agent edits files in the worktree, so the tree is dirty afterwards and the changes still need committing and pushing. Sessions use a separate FIFO worktree queue with one active session by default; set the worktree concurrency limit to 2–32 for parallel sessions or 0 for unlimited. Requires a worktree, a provider/model, and a prompt; attachments and web search are optional. Parks on questions until answered. Writes `run.<stepId>.*`.",mutatesWorktree:!0}),ep("RUN_PLAY_PLAN","AI runs","Run completed plan","SERVER",[],["run.<stepId>.*"],{description:"Executes a plan that has already been produced, turning it into real code changes.",details:"Takes the plan's run id — usually `run.<planStepId>.id` from an earlier Create plan step. The plan must have completed. The resulting Session joins the worktree's FIFO Session queue, which allows one active Session by default; use 0 for unlimited or 2–32 for a larger limit. This is the half of the plan/execute split that touches the worktree. Writes a new run under `run.<stepId>.*`.",mutatesWorktree:!0}),ep("RUN_FOLLOW_UP","AI runs","Follow up run","SERVER",[],["run.<stepId>.*"],{description:"Starts a new AI run that continues from an existing one, resuming its context or starting fresh.",details:'RESUME keeps the previous conversation, FRESH starts over in the same worktree, and RESEND replays the original prompt. The new run joins the source kind\'s separate FIFO worktree queue and defaults to unlimited concurrency for Plans or one active run for Sessions; use 0 for unlimited or 1–32 for a finite limit. Needs the source run id plus a new prompt. The natural step for "fix the review comments" loops after a first session. Writes `run.<stepId>.*`.'}),ep("RUN_STEER","AI runs","Steer active run","SERVER",[],["run.<stepId>.*"],{description:"Sends extra instructions into a run that is already in progress.",details:"Only affects a run that is still going — it does not restart a finished one, which is what Follow up run is for. Because the steps in this workflow that start runs also wait for them, steering usually targets a run started elsewhere, reached through a run trigger."}),ep("RUN_ANSWER","AI runs","Answer run question","SERVER",[],["run.<stepId>.*"],{description:"Answers a question an AI run is blocked on so it can carry on.",details:"Needs the question batch id, typically from `run.questions` seeded by a run-needs-an-answer trigger, and answers keyed by question id. This answers questions asked by an AI run — the Request confirmation and Ask user to choose steps ask questions of a human about the workflow itself."}),ep("RUN_PAUSE","AI runs","Pause run","SERVER",[],["run.<stepId>.*"],{description:"Pauses an in-progress AI run.",details:"The run stops at its next checkpoint and stays paused until something continues it. Falls back to `run.id`. Pausing an already-finished run fails."}),ep("RUN_CONTINUE","AI runs","Continue run","SERVER",[],["run.<stepId>.*"],{description:"Resumes a paused AI run.",details:"The counterpart to Pause run. Fails when the run is not paused. Falls back to `run.id`."}),ep("RUN_CANCEL","AI runs","Cancel run","SERVER",[],["run.<stepId>.*"],{description:"Cancels an AI run, stopping its work.",details:"Whatever the run already wrote to the worktree stays — cancelling stops further work, it does not roll anything back. Falls back to `run.id`."}),ep("RUN_REVISE_ANSWER","AI runs","Revise answer and rewind","SERVER",[],["run.<stepId>.*"],{description:"Rewinds a run to an earlier question, replaces the answer, and replays from there.",details:"Two-phase: the step prepares the revision, parks, and applies it once the run is ready. Rolling back restores the worktree to the checkpoint at that question, discarding work done since — stash first if that work matters. The heavy way to correct a wrong answer; Follow up run is usually enough.",mutatesWorktree:!0}),ep("RUN_READ_RESULT","AI runs","Read run result","SERVER",[],["run.<stepId>.*"],{description:"Loads a finished run's events, questions, token usage, and linked items into session data.",details:"Read-only. Gives later steps the run's actual output to work from — a summary to put in a Jira comment, usage figures to threshold on, or the linked pull request. Falls back to `run.id`."}),ep("RUN_CAPTURE_CHECKPOINT","AI runs","Capture run checkpoint","SERVER",[],["steps.<stepId>.snapshotId"],{description:"Records the run's most recent checkpoint so a later replay can restore from it.",details:"Reads an existing checkpoint rather than creating one, and fails when the run has none. Use Snapshot Git state to capture a fresh checkpoint of the worktree instead. Writes the checkpoint id to `steps.<stepId>.snapshotId`."}),ep("RUN_ARCHIVE_DELETE","AI runs","Archive or delete run","SERVER",[],[],{description:"Archives a run out of the active list, or permanently deletes it.",details:"Archiving is reversible; deleting removes the run and its history for good. Delete wins when both flags are set. Housekeeping for workflows that generate many short-lived runs.",mutatesExternal:!0}),ep("NOTIFICATION_SEND","Human loop","Send notification","SERVER",[],[],{description:"Posts a notification into the app's notification list with a title, body, and link.",details:"Deduplicated per run, step, and generation, so a retried attempt does not notify twice. The link defaults to this workflow run. Fire-and-forget: it tells a human something happened but does not wait — use Request confirmation when the workflow needs an answer.",mutatesExternal:!0}),ep("IOS_PUSH_SEND","Human loop","Push to iOS device","SERVER",[],[],{description:"Sends an Apple push notification to registered devices, a broadcast channel, or one raw device token.",details:"Needs APNs credentials. Target mode picks between all registrations, a chosen few, a broadcast channel, or a direct token — the direct mode also needs the token's encoding and whether it is a sandbox or production token. Leaves the device once delivered; nothing about the run waits on it.",mutatesExternal:!0}),ep("HUMAN_CONFIRM","Human loop","Request confirmation","WAIT",[],["steps.<stepId>.answer"],{description:"Parks the run and asks a human to confirm before continuing.",details:"The approval gate to put in front of anything irreversible. Without a timeout the run waits indefinitely; with one it fails when nobody answers in time, which the failure handle can route to a safe default. The answer lands in `steps.<stepId>.answer`."}),ep("HUMAN_CHOICE","Human loop","Ask user to choose","WAIT",[],["steps.<stepId>.answer"],{description:"Parks the run and asks a human to pick from a set of options, optionally allowing several or a free-text answer.",details:"Like Request confirmation but with named buttons — branch on `steps.<stepId>.answer` with an If step afterwards. Multi-select returns a list. Allowing a custom answer means the value may be anything the person typed, so handle the unexpected case."}),ep("CONTROL_IF","Control flow","If / else","CONTROL",[],[],{description:"Evaluates a condition and sends the run down its `true` or `false` branch.",details:"Exactly one branch is taken; steps on the other are skipped, and a skipped branch does not block a downstream join. Conditions compare session values with the usual operators and combine with ALL/ANY/NOT. Both branches may be left unconnected, which simply ends that path."}),ep("CONTROL_JOIN","Control flow","Join branches","CONTROL",[],[],{description:"Brings parallel branches back together, waiting for all of them or continuing on the first.",details:"Required wherever more than one branch reaches the same step — the validator rejects a plain step with several incoming edges. ALL waits for every branch, ANY continues on the first and lets the others keep running. Skipped branches never block it, and the join is skipped when no branch reaches it. A join that closes a For each also reports the iteration failures."}),ep("CONTROL_DELAY","Control flow","Time delay","WAIT",[],[],{description:"Pauses the run for a fixed number of seconds.",details:"Accepts up to a year. The run is parked rather than held open, so a long delay costs nothing while it waits. Use it to space out polling or to give an external system time to settle; use Wait until when you are waiting for a condition rather than a duration."}),ep("CONTROL_WAIT_UNTIL","Control flow","Wait until","WAIT",[],[],{description:"Parks the run until a condition over session data becomes true, re-checking on a cadence.",details:"Evaluates immediately and continues at once if the condition already holds. Session data only changes when a step writes it, so the condition must be able to become true through some other branch — otherwise the wait never resolves. Default cadence is 15 seconds; set a timeout to bound it."}),ep("CONTROL_FOR_EACH","Control flow","For each","CONTROL",[],["steps.<stepId>.items"],{description:"Runs its `body` branch once per item in a list, or takes the `empty` branch when there is nothing to iterate.",details:"Reads the list from a session path or from inline items, and caps at 1,000. Iterations run in parallel and each sees its own item. Fail-fast stops the whole run on the first failing iteration; collect-errors lets them all finish and reports failures at the closing join. Writes the items to `steps.<stepId>.items`."}),ep("CONTROL_TRY","Control flow","Try / catch","CONTROL",[],[],{description:"Marks the start of a protected region whose failures route out of the `catch` handle.",details:"Takes no config — the recovery path is drawn in the graph. Steps on the `success` branch run normally; when one of them fails, the run continues from `catch` instead of failing outright. Use a step's own failure handle for a single fallible step; reach for this when a whole sequence shares one recovery path."}),ep("CONTROL_SET_VARIABLE","Control flow","Set or compute variable","CONTROL",[],[],{description:"Writes a value into session data at a chosen path, either a constant or the result of a small script.",details:"The script runs in a sandboxed JavaScript interpreter with the session data available and no network or filesystem access; its return value is what gets written. Without a script the literal value is used. The path may be any dotted path — write under a namespace of your own to avoid colliding with what steps produce. Because the path comes from config, the catalog cannot advertise it: list it in this step's own `providedPaths` too, or a later step that binds it fails to publish with REQUIREMENT_UNSATISFIED."}),ep("CONTROL_SUBWORKFLOW","Control flow","Call sub-workflow","SERVER",[],[],{description:"Runs another published workflow as a child and waits for it to finish.",details:"Must pin a specific published version — the validator rejects an unpinned reference, so a sub-workflow cannot change under a caller. The input mapping seeds the child's session data. The child appears as a nested run; its failure fails this step."}),ep("SAVED_COMMAND","Extensibility","Run saved command","AGENT",[],["steps.<stepId>.*"],{description:"Starts a saved command on an eligible agent home or worktree target.",details:"Uses the saved command snapshot, target rules, output log, and restart policy. Wait for exit fails the workflow when the command ultimately fails or is cancelled; fire and forget succeeds after durable dispatch and remains independent if the workflow is later cancelled. Always-restart commands can only use fire and forget.",mutatesWorktree:!0}),ep("CUSTOM_COMMAND","Extensibility","Run custom command","AGENT",[],["steps.<stepId>.*"],{description:"Runs a one-off shell command on an agent home or worktree and records it in Commands run history.",details:"The script is retained only in the immutable command-run snapshot, not as a reusable saved command. Context targeting prefers the current worktree, then the current agent. Wait for exit fails the workflow when the command fails or is cancelled; fire and forget succeeds after durable dispatch.",mutatesWorktree:!0}),...eg,ep("TERMINAL_RUN","Extensibility","Run terminal script","AGENT",["worktree.path"],["steps.<stepId>.*"],{description:"Runs a shell or Node script on the agent inside the worktree, capturing its output.",details:"Needs `worktree.path` and an online agent. A non-zero exit fails the step. Named credentials can be injected as environment variables so secrets never sit in the definition — the validator rejects secret-looking literals in config. Arbitrary code on the agent's machine: it can change anything the agent user can reach. Writes stdout, stderr, and the exit code under `steps.<stepId>.*`; to publish anything else the script produces into a named path, declare it in this step's own `providedPaths`.",mutatesWorktree:!0}),ep("MCP_CALL","Extensibility","Call MCP tool","SERVER",[],["steps.<stepId>.output"],{description:"Calls a tool on a configured MCP server — built-in or external — with a JSON argument object.",details:"The general escape hatch to anything reachable over MCP. Needs the server (tool group) and the exact tool name; arguments must match that tool's own schema. What it does depends entirely on the tool, so treat it as externally mutating. The result lands in `steps.<stepId>.output`.",mutatesExternal:!0})],ew=new Map(ey.map(e=>[e.kind,e])),eb=["run.*","worktree.*","codebase.*","agent.*","repo.*","ticket.*"],ev=["build.*","worktree.*","codebase.*","agent.*","repo.*","ticket.*"],ek=["worktree.*","codebase.*","agent.*","repo.*","ticket.*","pr.*"],eS=["ticket.*","comment.*","changelog.*"],eE=["repo.*","pr.*","ticket.*","worktree.*","codebase.*","agent.*"],eI=[...eE,"comment.*"],ex="Filters narrow it further: each session path must equal the given value, or be one of a list of values.",eA="Set a threshold path, operator, and value to fire only on the crossing: it fires when the comparison first becomes true and stays quiet until it goes false again, so a metric hovering over the line does not fire repeatedly.",e_=(e,t,r,i,a)=>({kind:e,category:t,label:r,description:a.description,details:a.details,configSchema:es(e,"trigger"),capabilityFlags:["DURABLE","DEDUPLICATED"],seedPaths:i,sourceHandles:m(e)}),eC=(e,t,r,i)=>e_(e,t,r,i,{description:`${r} emits a normalized, filterable workflow event.`,details:`${r} uses the canonical domain event and deduplicates deliveries by subject and revision. ${ex}`}),eR=[eC("COMMAND_RUN_RESULT","Commands","Command run result",["command.*","agent.*","worktree.*"]),eC("COMMAND_OUTPUT_MATCH","Commands","Command output match",["command.*","output.*"]),eC("SKILL_SYNC_RESULT","Skills","Skill sync result",["skillSync.*","skill.*","repo.*"]),eC("SKILL_SYNC_CONFLICT","Skills","Skill sync conflict",["skillSync.*","skill.*","repo.*"]),eC("GITHUB_PIPELINE_STATUS_CHANGED","GitHub","Pipeline status changed",["pipeline.*","repo.*","pr.*","worktree.*","codebase.*","agent.*","ticket.*"]),eC("GITHUB_PR_SYNCHRONIZED","GitHub","Pull request synchronized",eE),eC("GITHUB_REVIEW_APPROVED","GitHub","Pull request review approved",eE),eC("JIRA_TICKET_UPDATED","Jira","Jira ticket updated",eS),eC("JIRA_COMMENT_ADDED","Jira","Jira comment added",eS),eC("JIRA_WORKLOG_ADDED","Jira","Jira worklog added",eS),eC("JIRA_SPRINT_ENDED","Jira","Jira sprint ended",eS),eC("CODEBASE_SYNC_STATE_CHANGED","Codebases","Codebase sync state changed",["codebase.*","agent.*","repo.*"]),eC("CODEBASE_OPERATION_FAILED","Codebases","Codebase operation failed",["codebase.*","agent.*","repo.*","operation.*"]),eC("WORKTREE_SYNC_STATE_CHANGED","Worktrees","Worktree sync state changed",ek),eC("WORKTREE_AUTOMATION_RESULT","Worktrees","Worktree automation result",[...ek,"automation.*"]),eC("WORKTREE_CLEAN","Worktrees","Worktree became clean",ek),eC("PUSH_NOTIFICATION_RESULT","Notifications","Push notification result",["pushBatch.*"]),eC("IOS_DEVICE_ENROLLED","Devices","iOS device enrolled",["device.*"]),eC("IOS_DEVICE_REGISTRATION_RESULT","Devices","iOS device registration result",["device.*"]),eC("SIGNING_OPERATION_RESULT","Signing","Signing operation result",["signing.*","signingProfile.*","agent.*"]),eC("SIGNING_ASSET_EXPIRING","Signing","Signing asset expiring",["signing.*","signingProfile.*","agent.*"]),eC("BUILD_DATA_THRESHOLD","Build Data","Build-data threshold",["buildData.*","agent.*","worktree.*"]),eC("BUILD_DATA_CLEANUP_RESULT","Build Data","Build-data cleanup result",["buildData.*","cleanup.*","agent.*"]),eC("POLLING_OPERATION_STATE","Operations","Polling operation state",["polling.*"]),eC("MODEL_COST_CATALOG_CHANGED","Operations","Model-cost catalog changed",["modelCosts.*"]),eC("CREDENTIAL_STORE_DEGRADED","Operations","Credential store degraded",["credentials.*"]),eC("AGENT_RESOURCE_THRESHOLD","Agents","Agent resource threshold",["agent.*"]),eC("AGENT_VERSION_CHANGED","Agents","Agent version changed",["agent.*"]),eC("TOOL_CALL_RESULT","Tools","Tool call result",["toolCall.*"])],eT=[e_("MANUAL","Manual","Manual run",[],{description:"Fires when someone presses Run on the workflow. The default entry point.",details:"Seeds nothing beyond `workflow.*`, so steps hanging off it can only bind to values that later steps produce. A caller may still pass session data explicitly when starting the run. A workflow that has only a choice trigger refuses a plain run."}),e_("MANUAL_CHOICE","Manual","Manual run with a choice",[],{description:"Fires when someone picks an option from the menu under the run button, and routes the run out of that option's own handle.",details:"Declare at least one option, each with a unique key — the key names the outgoing handle, so renaming a label leaves edges attached. One workflow can fan out into several entry paths without a step in front of them. Every edge must leave a handle that still exists, or publishing fails."}),e_("RESOURCE_MANUAL","Manual","Run from a resource",[],{description:"Fires when someone starts the workflow from a specific resource page — a worktree, pull request, build, codebase, ticket, or run.",details:"Must target exactly one resource kind; add a second trigger to accept another. The page seeds that resource's namespace into session data, so a worktree-launched run gets its worktree, codebase, owning agent, repository, and any linked ticket. Those seeds are an optimistic contract — an optional link that is absent resolves to nothing at run time. A worktree does not seed `pr.*`; use a pull-request trigger or Load pull request to bring one into session data. This is also what makes the workflow show up on that resource's page."}),e_("RESOURCE_MANUAL_CHOICE","Manual","Run from a resource with a choice",[],{description:"Fires from a resource page after the person picks an option, routing out of that option's handle.",details:"The resource and choice triggers combined: pick a resource kind and declare keyed options. Same rules as both — one resource kind per trigger, unique option keys, and every edge on a live handle."}),e_("SCHEDULE","Schedule","On a schedule",[],{description:"Fires repeatedly on a fixed cadence measured in seconds.",details:'A cadence, not a cron expression — there is no way to say "weekdays at 9am". The clock runs while the workflow is enabled, and pausing the workflow stops it. Seeds nothing, so scheduled workflows normally start by loading whatever they operate on. Mind the overlap policy: a cadence shorter than the run takes will queue or coalesce.'}),e_("WORKFLOW_FINISHED","Workflows","Another workflow finished",["workflow.*"],{description:"Fires when a different workflow run reaches a terminal state.",details:`Chains workflows without making one a sub-workflow of the other, so the two stay independently runnable. Filter on \`workflow.id\` to watch a specific one and on the finishing status to react only to failures. ${ex}`}),e_("GITHUB_PR_STATE","GitHub","Pull request opened or ready",eE,{description:"Fires when a pull request is opened, or when a draft is marked ready for review.",details:`Needs GitHub polling configured for the repository. Seeds \`pr.*\` and \`repo.*\`, so steps can act on the pull request straight away. ${ex} Filter on \`pr.isDraft\` or the base branch to avoid firing on every pull request in the repository.`}),e_("GITHUB_REVIEW_CHANGES_REQUESTED","GitHub","Changes requested",eE,{description:"Fires when a reviewer submits a review requesting changes.",details:`The entry point for an automated "address the review" loop: pair it with Collect review comments and an AI session. Approvals and plain comments do not fire it. ${ex}`}),e_("GITHUB_REVIEW_COMMENT","GitHub","Review comment created",eI,{description:"Fires when a new review comment is posted on a pull request.",details:`Fires per comment rather than per review, so a reviewer leaving five comments fires it five times — take care with steps that start AI runs. Use Changes requested when you want one event per review. ${ex}`}),e_("GITHUB_PR_CLOSED","GitHub","Pull request merged or closed",eE,{description:"Fires when a pull request is merged or closed without merging.",details:`Both outcomes fire it; branch on \`pr.state\` to tell them apart. The natural place to hang cleanup — deleting the worktree, moving the ticket on. ${ex}`}),e_("GITHUB_CHECK_FAILED","GitHub","Check suite or run failed",["repo.*","pipeline.*","worktree.*","codebase.*","agent.*","pr.*","ticket.*"],{description:"Fires when a check suite or check run reports a failure.",details:`Seeds \`pipeline.*\`, including the ids the retry and cancel steps need. Flaky suites fire this often, so gate an automatic retry on a count or a delay rather than retrying unconditionally. ${ex}`}),e_("GITHUB_PUSH_DEFAULT","GitHub","Push to default branch",["repo.*","push.*","ticket.*"],{description:"Fires when a commit lands on the repository's default branch.",details:`Seeds \`repo.*\` and \`push.*\`, plus a ticket key when the pushed branch contains one. There is no pull request or worktree in scope, so a workflow hanging off it usually starts by creating one. Fires on merges too, since a merge is a push. ${ex}`}),e_("GITHUB_WORKFLOW_SUCCEEDED","GitHub","Workflow run succeeded",["repo.*","pipeline.*","worktree.*","codebase.*","agent.*","pr.*","ticket.*"],{description:"Fires when a GitHub Actions workflow run completes successfully.",details:`The success counterpart to the failure triggers — useful for gating a deploy or a merge on a green pipeline. Filter on the workflow name so every unrelated Actions run does not start this workflow. ${ex}`}),e_("GITHUB_ISSUE_COMMAND","GitHub","Issue comment command",["repo.*","pr.*","ticket.*","comment.*"],{description:"Fires when a comment from an allow-listed GitHub user matches a command pattern, such as `/deploy`.",details:`The only trigger that lets outside text start a workflow, so it is deliberately strict: an explicit list of GitHub logins is required, and the pattern must be anchored with \`^\` and \`$\` — publishing fails otherwise. Both checks must pass. Keep the allow-list tight, since anyone on it can start whatever the workflow does. ${ex}`}),e_("GITHUB_ACTIONS_RESULT","GitHub Actions","Workflow result",["repo.*","pipeline.*","worktree.*","codebase.*","agent.*","pr.*","ticket.*"],{description:"Fires when a tracked GitHub Actions run finishes, whatever its conclusion.",details:`The richest of the Actions triggers: it correlates the run back to its worktree, owning agent, pull request, and ticket when those links exist. Branch on the conclusion rather than adding separate success and failure triggers. ${ex}`}),e_("GITHUB_PR_LABEL","GitHub","Pull request label set",eE,{description:"Fires when a label is applied to a pull request.",details:`Turns a label into a manual switch — label a pull request \`automerge\` and let a workflow take it from there. Filter on the label name, or every label change in the repository starts the workflow. ${ex}`}),e_("BUILD_RESULT","Builds","Build result",ev,{description:"Fires when a build finishes, succeeded or failed.",details:`Seeds \`build.*\` along with the worktree it ran in, so the read-results and coverage steps can follow directly. Branch on \`build.status\` to separate the outcomes. ${ex}`}),e_("BUILD_TEST_THRESHOLD","Builds","Test failure threshold",ev,{description:"Fires when a build's failing-test count crosses a threshold you set.",details:`Point the threshold path at \`build.testSummary.failed\` and pick an operator and value. ${eA} ${ex}`}),e_("BUILD_COVERAGE_THRESHOLD","Builds","Coverage threshold",ev,{description:"Fires when a build's code coverage crosses a threshold you set.",details:`Point the threshold path at the coverage summary — usually the changed-files percentage rather than the whole-project number — and compare with a less-than operator. ${eA} ${ex}`}),e_("BUILD_HOOK_FAILED","Builds","Build hook failed",ev,{description:"Fires when one of a build's pre- or post-build scripts fails.",details:`Distinguishes a broken build script from a genuine compile or test failure, which is what Build result reports. Seeds \`build.*\`. ${ex}`}),e_("AGENT_CONNECTION","Agents","Agent connection changed",["agent.*","codebase.agentId"],{description:"Fires when an agent comes online or goes offline.",details:`Seeds the agent id, name, connection state, and capacity metrics. A workflow hanging off it is usually about notifying a human rather than doing repository work — an offline agent cannot run agent steps anyway. Filter on the connection status to react to one direction only. ${ex}`}),e_("AGENT_JOB_FAILED","Agents","Agent job failed",["steps.trigger.*","agent.*","codebase.*","worktree.*","repo.*","ticket.*"],{description:"Fires when a job dispatched to an agent fails — a build, a Git operation, a terminal script.",details:`The failing job is seeded under \`steps.trigger.*\`, including its kind and error. When it targeted a worktree, the owning agent, codebase, repository, and ticket are included too. Catches infrastructure failures that a workflow's own failure handles never see, because the job belonged to a different run. ${ex}`}),e_("AGENT_DISK_REPORT","Agents","Agent disk report",["agent.*","codebase.agentId","disk.*"],{description:"Fires whenever the Derived Data monitor accepts a new agent disk report.",details:`Seeds the complete monitor snapshot under \`disk.*\`, while \`agent.diskFreeBytes\` remains the legacy root-disk inventory value. This can fire at the agent poll cadence; use filters when every report is not needed. ${ex}`}),e_("AGENT_DISK_THRESHOLD","Agents","Agent disk threshold",["agent.*","codebase.agentId","disk.*"],{description:"Fires when monitored Derived Data free space crosses a threshold you set.",details:`Use \`disk.freeGiB\`, \`disk.freeBytes\`, or \`disk.freePercent\` to evaluate the least-free monitored Derived Data volume. \`agent.diskFreeBytes\` remains available for older root-disk workflows. ${eA} ${ex}`}),e_("AGENT_DISK_STATE_CHANGED","Agents","Agent disk state changed",["agent.*","codebase.agentId","disk.*"],{description:"Fires when an agent's disk monitor changes status, pressure mode, health, or monitored volume.",details:`Filter on \`disk.status\`, \`disk.pressureMode\`, \`disk.enabled\`, or errors and warnings to react to a specific transition. Cleanup start appears as \`DELETING\`; recovery can be selected with \`IDLE\`. Repeated reports in the same state stay quiet. ${ex}`}),e_("AGENT_DISK_CLEANUP_RESULT","Agents","Automatic disk cleanup result",["agent.*","codebase.agentId","disk.*","cleanup.*"],{description:"Fires whenever a monitor-managed automatic Derived Data cleanup finishes.",details:`Seeds the terminal agent job under \`cleanup.*\`, including status, error, targets, and deleted entries. Every cleanup job is independent, so two successive successes both fire. Manual Build Data deletions remain outside this trigger. ${ex}`}),e_("CCUSAGE_THRESHOLD","Agents","Usage threshold",["run.usage.*","agent.*"],{description:"Fires when aggregate AI usage crosses a threshold you set.",details:`Watches usage across runs rather than one run's spend — Run usage threshold does that. The cost guardrail: notify, or pause workflows that start AI runs. ${eA} ${ex}`}),e_("WORKTREE_CREATED","Worktrees","Worktree created",ek,{description:"Fires after a new worktree is successfully created.",details:`Fires once after the created worktree is projected into the control plane. Seeds the worktree, repository, codebase, and owning agent, plus a linked pull request and Jira ticket when the branch resolves to them. ${ex}`}),e_("WORKTREE_BEHIND","Worktrees","Worktree behind base",ek,{description:"Fires when a worktree's branch falls behind the branch it was cut from.",details:`Pairs with a sync operation to keep long-lived branches current. Fires again as the base moves on, so a workflow that reacts should either sync or be filtered narrowly. ${ex}`}),e_("WORKTREE_CONFLICT","Worktrees","Worktree has conflicts",ek,{description:"Fires when a worktree is left with Git conflicts after a merge or rebase.",details:`Only fires when the worktree is genuinely marked conflicted. Conflicts need resolving before most other worktree steps will work, so this usually leads to a notification or an AI session pointed at the conflict. ${ex}`}),e_("WORKTREE_MISSING","Worktrees","Worktree missing",ek,{description:"Fires when a worktree the control plane knows about is no longer on disk.",details:`Only fires once the worktree is actually recorded as missing — usually someone deleted the directory by hand, or the agent's disk was cleaned. Steps that need the worktree will fail, so react by recreating it or clearing the record. ${ex}`}),e_("WORKTREE_DIVERGED","Worktrees","Worktree diverged",ek,{description:"Fires when a worktree's branch and its remote have both moved on independently.",details:`Only fires when the push status is genuinely diverged. Resolving it means a rebase, a merge, or a force push — all destructive enough that this usually routes to a human rather than to an automatic fix. ${ex}`}),e_("WORKTREE_DIRTY_DURATION","Worktrees","Worktree dirty too long",ek,{description:"Fires when a worktree has had uncommitted changes for longer than expected.",details:`Catches work that stalled — an AI session that edited files and was never followed up, or a human who wandered off. Usually a nudge rather than an automatic commit. ${ex}`}),e_("WORKTREE_NEW_COMMIT","Worktrees","New worktree commit",ek,{description:"Fires when a new commit lands in a worktree.",details:`Fires per commit, so a rebase or a batch of commits fires it repeatedly — keep the reaction cheap, or filter to one branch. Useful for kicking off a build or lint pass as work lands. ${ex}`}),e_("CODEBASE_REMOTE_BRANCH","Codebases","Matching remote branch",["codebase.*","agent.*","repo.*"],{description:"Fires when a remote branch matching the codebase's conventions appears.",details:`Lets a branch pushed from elsewhere pull work into this system — creating a worktree for it, or opening a pull request. Needs a fetch to have run for the branch to be visible. ${ex}`}),e_("JIRA_STATUS","Jira","Ticket status changed",eS,{description:"Fires when a Jira ticket moves to another status.",details:`Needs Jira polling configured. Seeds \`ticket.*\`. Filter on \`ticket.status\` to react to one column only — without a filter, every transition on every polled ticket starts the workflow. ${ex}`}),e_("JIRA_LABEL","Jira","Jira label set",eS,{description:"Fires when a label is applied to a Jira ticket.",details:`The Jira counterpart to the pull request label trigger: a label becomes a manual switch for automation. Filter on the label name. ${ex}`}),e_("JIRA_ASSIGNED_SELF","Jira","Ticket assigned to me",eS,{description:"Fires when a ticket is assigned to the account behind the configured Jira credential.",details:`"Me" is whoever the Jira credential authenticates as, not whoever is looking at the screen. The usual start of a "pick up my next ticket" workflow — create a worktree, start a plan. ${ex}`}),e_("JIRA_SOURCE_NEW_TICKET","Jira","New ticket in source",eS,{description:"Fires when a ticket appears in a configured Jira source — a saved JQL query or board.",details:`Fires on tickets newly matching the source, which includes existing tickets edited into range, not only freshly created ones. The source itself does the filtering, so keep its JQL tight. Seeds \`ticket.*\`. ${ex}`}),e_("JIRA_MENTION","Jira","Jira comment mention",eS,{description:"Fires when the configured Jira account is mentioned in a ticket comment.",details:`Lets someone pull automation into a conversation by mentioning the bot. The comment is seeded under \`comment.*\`, so an AI step can read what was actually asked — treat that text as untrusted input rather than instructions. ${ex}`}),e_("JIRA_SPRINT_STARTED","Jira","Sprint started",eS,{description:"Fires when a Jira sprint is started.",details:`Fires per ticket in the sprint, so a sprint of thirty tickets starts thirty runs — mind the workflow's concurrency settings. Good for sprint-opening bookkeeping. ${ex}`}),e_("JIRA_ISSUE_CREATED","Jira","Ticket created",eS,{description:"Fires when a Jira ticket is created.",details:`Needs the Jira webhook configured in Settings — the polled Jira triggers only observe tickets something already fetched, so they cannot see a brand-new one. Scope the webhook's JQL filter to the projects you care about, since every created ticket otherwise starts a run. ${ex}`}),e_("JIRA_ISSUE_DELETED","Jira","Ticket deleted",eS,{description:"Fires when a Jira ticket is deleted.",details:`Needs the Jira webhook. The ticket is gone by the time this runs, so only the payload's \`ticket.*\` snapshot is available — a step that loads the ticket will fail. Use it for cleanup: close the worktree, cancel the run, archive the branch. ${ex}`}),e_("JIRA_ISSUE_COMMAND","Jira","Ticket comment command",eS,{description:"Fires when a comment from an allow-listed Jira account matches a command pattern, such as `/deploy`.",details:`The Jira counterpart to the GitHub issue comment command, and just as strict: an explicit list of Jira account IDs is required, and the pattern must be anchored with \`^\` and \`$\` — publishing fails otherwise. Jira identifies people by opaque account ID, not display name, so copy the ID from the user's Jira profile URL. Treat the comment body as untrusted input rather than instructions. Needs the Jira webhook. ${ex}`}),e_("JIRA_ATTACHMENT_ADDED","Jira","Attachment added",[...eS,"attachment.*"],{description:"Fires when a file is attached to a Jira ticket.",details:`Needs the Jira webhook. Seeds \`attachment.*\` with the filename, MIME type, and author. Filter on \`attachment.mimeType\` to react to one kind of upload — a crash log, a design export. ${ex}`}),e_("JIRA_ISSUE_LINKED","Jira","Ticket linked",[...eS,"link.*"],{description:"Fires when a Jira issue link is created.",details:`Needs the Jira webhook. Seeds \`link.*\` with the link type and both issue IDs. Filter on \`link.type\` to react to one relationship — "blocks", "duplicates" — rather than every link. ${ex}`}),e_("RUN_STARTED","Plans and sessions","Run started",eb,{description:"Fires when an AI plan or session run begins.",details:`Every run trigger seeds the same shape — \`run.*\` plus the worktree, codebase, repository, and ticket it is attached to. Filter on \`run.kind\` to separate plans from sessions. ${ex}`}),e_("RUN_COMPLETED","Plans and sessions","Run completed",eb,{description:"Fires when an AI run finishes successfully.",details:`The place to hang everything that happens after the agent is done — committing, pushing, opening a pull request, moving the ticket. Filter on \`run.kind\` to react only to plans or only to sessions. ${ex}`}),e_("RUN_QUESTION_NEEDED","Plans and sessions","Run needs an answer",eb,{description:"Fires when an AI run pauses to ask a question, with the pending questions in session data.",details:`The questions arrive under \`run.questions\`, so the Answer run question step can respond without a human — the basis for unattended runs. Answer carefully: an automatic answer to a question the agent should have asked a person is how unwanted changes get made. ${ex}`}),e_("RUN_QUESTION_ANSWERED","Plans and sessions","Run question answered",eb,{description:"Fires when a pending question on an AI run is answered.",details:`Fires however the answer arrived — from a person or from another workflow. Use it to record decisions, or to resume work that was gated on the answer. ${ex}`}),e_("RUN_PAUSED","Plans and sessions","Run paused",eb,{description:"Fires when an AI run is paused.",details:`Covers pauses from any source, including a run that paused itself. A run needing an answer reports separately through Run needs an answer. ${ex}`}),e_("RUN_CONTINUED","Plans and sessions","Run continued",eb,{description:"Fires when a paused AI run resumes.",details:`The counterpart to Run paused. Fires on each resume, so a run that stops and starts repeatedly fires it repeatedly. ${ex}`}),e_("RUN_FAILED","Plans and sessions","Run failed",eb,{description:"Fires when an AI run ends in failure.",details:`The error is in the seeded run data, so a follow-up run can be pointed at what went wrong. Beware of loops — a workflow that reacts by starting another run that fails the same way will keep going. ${ex}`}),e_("RUN_CANCELLED","Plans and sessions","Run cancelled",eb,{description:"Fires when an AI run is cancelled.",details:`Cancellation leaves whatever the run already wrote in the worktree, so cleanup usually means inspecting or reverting rather than assuming nothing happened. ${ex}`}),e_("RUN_PLAN_PLAYED","Plans and sessions","Plan played",eb,{description:"Fires when a run is created by executing a previously completed plan.",details:`Distinguishes plan execution from an ordinary session, which Run started cannot. Lets a workflow treat planned work differently from ad-hoc work. ${ex}`}),e_("RUN_FOLLOW_UP","Plans and sessions","Run follow-up created",eb,{description:"Fires when a run is created as a follow-up to another run.",details:`Does not fire for plan execution, which reports through Plan played. The parent run is in the seeded data, so a workflow can count how deep a follow-up chain has gone and stop it. ${ex}`}),e_("RUN_IMPORTED","Plans and sessions","Provider run imported",eb,{description:"Fires when a run started outside this system is imported from a provider.",details:`Lets work begun in another tool pick up the same automation — labelling, ticket updates, pull requests. The run did not originate here, so its worktree and ticket links may be incomplete. ${ex}`}),e_("RUN_USAGE_THRESHOLD","Plans and sessions","Run usage threshold",eb,{description:"Fires when a single run's token or cost usage crosses a threshold you set.",details:`Scoped to one run, unlike the aggregate Usage threshold. Point the threshold path at the usage figure you care about — a runaway session can then be cancelled automatically. ${eA} ${ex}`}),e_("RUN_EVENT_MATCH","Plans and sessions","Run event or tool matched",eb,{description:"Fires on individual events inside an AI run, including each tool call it makes.",details:`The finest-grained run trigger, and by far the most talkative — a single run produces hundreds of events, and every one is a candidate. Always filter, on the event type or the tool name. Useful for reacting to a specific tool being used; a poor choice for anything expensive. ${ex}`}),...eR],eD=new Map(eT.map(e=>[e.kind,e])),eN=t.z.string().min(1).max(128).regex(/^[A-Za-z0-9][A-Za-z0-9_-]*$/),eO=t.z.string().min(1).max(256).regex(/^[A-Za-z0-9_-]+(?:\.[A-Za-z0-9_*\[\]-]+)*$/),eP=t.z.record(t.z.string(),t.z.unknown()).default({}),e$=t.z.object({id:eN,kind:t.z.enum(s),name:t.z.string().min(1).max(200).optional(),position:t.z.object({x:t.z.number().finite(),y:t.z.number().finite()}),config:eP}),eU=t.z.object({id:eN,kind:t.z.enum(n),name:t.z.string().min(1).max(200).optional(),position:t.z.object({x:t.z.number().finite(),y:t.z.number().finite()}),config:eP,requiredPaths:t.z.array(eO).max(100).default([]),providedPaths:t.z.array(eO).max(100).default([]),retry:t.z.object({maxAttempts:t.z.number().int().min(1).max(20).default(1),strategy:t.z.enum(["FIXED","EXPONENTIAL"]).default("EXPONENTIAL"),delaySeconds:t.z.number().int().min(1).max(86400).default(5)}).default({maxAttempts:1,strategy:"EXPONENTIAL",delaySeconds:5}),failurePolicy:t.z.enum(["FAIL","CONTINUE"]).default("FAIL")}),eB=t.z.object({id:eN,source:eN,target:eN,sourceHandle:t.z.string().min(1).max(100).default("success"),targetHandle:t.z.string().min(1).max(100).default("input")}),ej=t.z.object({format:t.z.literal(eo),schemaVersion:t.z.literal(1),name:t.z.string().min(1).max(200),description:t.z.string().max(2e3).default(""),triggers:t.z.array(e$).max(100).default([]),nodes:t.z.array(eU).max(1e3).default([]),edges:t.z.array(eB).max(5e3).default([]),editor:t.z.object({viewport:t.z.object({x:t.z.number(),y:t.z.number(),zoom:t.z.number().positive()}).optional(),handleLayout:t.z.enum(["SIDES","TOP_BOTTOM"]).default("SIDES"),displayLayout:t.z.enum(["REGULAR","BASIC"]).default("REGULAR")}).default({handleLayout:"SIDES",displayLayout:"REGULAR"})});function eL(e,t){return t.map(t=>t.replaceAll("<stepId>",e.id))}function eq(e,t){return e===t||"*"===e||e.endsWith(".*")&&t.startsWith(e.slice(0,-1))}function eM(e){return e.length?new Set([...e[0]].filter(t=>e.every(e=>e.has(t)))):new Set}function eF(e,t){return[...e].some(e=>eq(e,t))}let eK={stepPaths(e){let t=ew.get(e);return{requiredPaths:t?.requiredPaths??[],providedPaths:t?.providedPaths??[]}},triggerSeedPaths:e=>eD.get(e)?.seedPaths??[]};function eV(e,t=eK){let r=new Set(e.nodes.map(({id:e})=>e)),i=new Map(e.nodes.map(e=>[e.id,e])),a=new Map,n=new Map;for(let t of e.edges)a.set(t.source,[...a.get(t.source)??[],t.target]),n.set(t.target,[...n.get(t.target)??[],t.source]);let s=new Map(e.nodes.map(e=>[e.id,0]));for(let t of e.edges)r.has(t.source)&&r.has(t.target)&&s.set(t.target,(s.get(t.target)??0)+1);let o=[...s].filter(([,e])=>0===e).map(([e])=>e),l=[];for(;o.length;){let e=o.shift();for(let t of(l.push(e),a.get(e)??[])){if(!r.has(t))continue;let e=(s.get(t)??0)-1;s.set(t,e),0===e&&o.push(t)}}let u=e=>{let t=new Set,r=[...a.get(e)??[]];for(;r.length;){let e=r.shift();t.has(e)||(t.add(e),r.push(...a.get(e)??[]))}return t},c=new Map;for(let t of[...e.triggers,...e.nodes])c.set(t.id,u(t.id));let d=new Map;for(let r of e.nodes){let e=t.stepPaths(r.kind);d.set(r.id,[...eL(r,e.providedPaths),...r.providedPaths,`steps.${r.id}.*`])}let p=new Map,h=[];for(let r of e.triggers){let e=new Set(["workflow.*"]);for(let i of t.triggerSeedPaths(r.kind))e.add(i);for(let t of ed(r.kind,r.config))e.add(t);let a=new Map;for(let s of l){if(!c.get(r.id)?.has(s))continue;let o=i.get(s),l=(n.get(s)??[]).filter(e=>e===r.id||a.has(e));if(!l.length)continue;let u=eM(l.map(t=>t===r.id?e:a.get(t))),m=p.get(s);p.set(s,m?eM([m,u]):new Set(u));let f=new Set(d.get(s)??[]),g=[...ee(o.kind,"step",o.config)].filter(e=>!eF(f,e));for(let e of new Set([...eL(o,t.stepPaths(o.kind).requiredPaths),...o.requiredPaths,...g]))eF(u,e)||h.push({nodeId:o.id,triggerId:r.id,triggerName:r.name??r.kind,path:e});let y=new Set(u);for(let e of d.get(s)??[])y.add(e);a.set(s,y)}}return{availableBefore:new Map([...p].map(([e,t])=>[e,[...t]])),provides:d,requirementViolations:h}}function eG(e,t=""){return Array.isArray(e)?e.some(e=>eG(e,t)):e&&"object"==typeof e?Object.entries(e).some(([e,t])=>eG(t,e)):"string"==typeof e&&/(token|secret|password|passwd|private.?key|api.?key|authorization)/i.test(t)&&!/(credential.?id|credential.?ids)$/i.test(t)}function eH(e){return Array.isArray(e)?e.some(eH):!!e&&"object"==typeof e&&("UNRESOLVED"===e.referenceStatus||Object.values(e).some(eH))}e.s(["WORKFLOW_SCHEMA_VERSION",0,1,"WORKFLOW_STEP_BY_KIND",0,ew,"WORKFLOW_STEP_CATALOG",0,ey,"WORKFLOW_TRIGGER_CATALOG",0,eT,"computeWorkflowPathAvailability",0,eV,"emptyWorkflowDefinition",0,function(e="Untitled workflow"){return ej.parse({format:eo,schemaVersion:1,name:e,description:"",triggers:[{id:"manual",kind:"MANUAL",position:{x:0,y:100},config:{}}],nodes:[],edges:[],editor:{}})},"hasWorkflowErrors",0,function(e){return e.some(({severity:e})=>"ERROR"===e)},"parseWorkflowDefinition",0,function(e){return ej.parse(e)},"resourceManualSeedPaths",0,ed,"sanitizeWorkflowExportDefinition",0,function(e){let t=(e,r="")=>Array.isArray(e)?e.map(e=>t(e,r)):e&&"object"==typeof e?Object.fromEntries(Object.entries(e).map(([e,r])=>[e,t(r,e)])):"string"==typeof e&&/(token|secret|password|passwd|private.?key|api.?key|authorization)/i.test(r)&&!/(credential.?id|credential.?ids)$/i.test(r)||"string"==typeof e&&/^(?:\/|[A-Za-z]:[\\/]|\\\\)/.test(e)&&/^(?:cwd|folder|path|directory)$/i.test(r)?null:e;return ej.parse(t(e))},"validateWorkflowDefinition",0,function(e){let t=ej.safeParse(e);if(!t.success)return{definition:null,diagnostics:t.error.issues.map(e=>({severity:"ERROR",code:"SCHEMA_INVALID",message:e.message,path:e.path.join(".")}))};let r=t.data,i=[],a=new Set;for(let e of[...r.triggers,...r.nodes])a.has(e.id)&&i.push({severity:"ERROR",code:"DUPLICATE_NODE_ID",message:`Duplicate graph id ${e.id}`,nodeId:e.id}),a.add(e.id);let n=new Set;for(let e of r.edges)n.has(e.id)&&i.push({severity:"ERROR",code:"DUPLICATE_EDGE_ID",message:`Duplicate edge id ${e.id}`}),n.add(e.id),a.has(e.source)&&a.has(e.target)||i.push({severity:"ERROR",code:"EDGE_ENDPOINT_MISSING",message:`Edge ${e.id} references a missing endpoint`}),r.triggers.some(({id:t})=>t===e.target)&&i.push({severity:"ERROR",code:"TRIGGER_HAS_INPUT",message:"Triggers cannot have incoming edges",triggerId:e.target});r.triggers.length||i.push({severity:"ERROR",code:"TRIGGER_REQUIRED",message:"At least one trigger is required"}),r.nodes.length||i.push({severity:"ERROR",code:"STEP_REQUIRED",message:"At least one step is required"});let s=new Set(r.nodes.map(({id:e})=>e)),o=new Map,l=new Map;for(let e of r.edges)o.set(e.source,[...o.get(e.source)??[],e.target]),l.set(e.target,[...l.get(e.target)??[],e.source]);for(let e of r.nodes)(l.get(e.id)??[]).filter(e=>s.has(e)).length>1&&"CONTROL_JOIN"!==e.kind&&i.push({severity:"ERROR",code:"EXPLICIT_JOIN_REQUIRED",message:"Nodes with multiple incoming branches must be explicit join nodes",nodeId:e.id});let u=new Map(r.nodes.map(e=>[e.id,0]));for(let e of r.edges)s.has(e.source)&&s.has(e.target)&&u.set(e.target,(u.get(e.target)??0)+1);let p=[...u].filter(([,e])=>0===e).map(([e])=>e),h=[];for(;p.length;){let e=p.shift();for(let t of(h.push(e),o.get(e)??[])){if(!s.has(t))continue;let e=(u.get(t)??0)-1;u.set(t,e),0===e&&p.push(t)}}h.length!==r.nodes.length&&i.push({severity:"ERROR",code:"DAG_CYCLE",message:"Workflow graphs cannot contain free-form cycles"});let m=new Map,f=e=>{let t=new Set,r=[...o.get(e)??[]];for(;r.length;){let e=r.shift();t.has(e)||(t.add(e),r.push(...o.get(e)??[]))}return t};for(let e of[...r.triggers,...r.nodes])m.set(e.id,f(e.id));for(let e of r.nodes){for(let t of(r.triggers.some(t=>m.get(t.id)?.has(e.id))||i.push({severity:"ERROR",code:"UNREACHABLE_STEP",message:"Step is not reachable from a trigger",nodeId:e.id}),eG(e.config)&&i.push({severity:"ERROR",code:"SECRET_LITERAL",message:"Store secrets as credential references, not workflow literals",nodeId:e.id}),eH(e.config)&&i.push({severity:"ERROR",code:"UNRESOLVED_REFERENCE",message:"Resolve imported references before publishing",nodeId:e.id}),new Set(E(e.config))))i.push({severity:"ERROR",code:"SESSION_BINDING_INVALID",message:t,nodeId:e.id});"CONTROL_SUBWORKFLOW"===e.kind&&"string"!=typeof e.config.versionId&&i.push({severity:"ERROR",code:"SUBWORKFLOW_VERSION_REQUIRED",message:"Sub-workflows must pin a published version",nodeId:e.id})}for(let e of r.triggers){for(let t of((o.get(e.id)??[]).length||i.push({severity:"ERROR",code:"TRIGGER_DISCONNECTED",message:"Trigger is not connected to a step",triggerId:e.id}),eG(e.config)&&i.push({severity:"ERROR",code:"SECRET_LITERAL",message:"Store secrets as credential references, not trigger literals",triggerId:e.id}),eH(e.config)&&i.push({severity:"ERROR",code:"UNRESOLVED_REFERENCE",message:"Resolve imported references before publishing",triggerId:e.id}),new Set(E(e.config))))i.push({severity:"ERROR",code:"SESSION_BINDING_INVALID",message:t,triggerId:e.id});if(d(e.kind)&&!ec(e.config)&&i.push({severity:"ERROR",code:"RESOURCE_KIND_REQUIRED",message:"Resource triggers must target a single resource kind; add one trigger per kind",triggerId:e.id}),c(e.kind)){let t=el(e.config),a=Array.isArray(e.config.choices)?e.config.choices.length:0;t.length&&t.length===a||i.push({severity:"ERROR",code:"TRIGGER_CHOICES_REQUIRED",message:"Choice triggers need at least one option, each with a unique key",triggerId:e.id});let n=new Set(t.map(({key:e})=>e));for(let t of r.edges)t.source===e.id&&(n.has(t.sourceHandle)||i.push({severity:"ERROR",code:"TRIGGER_CHOICE_HANDLE_UNKNOWN",message:`Connection ${t.id} leaves an option that no longer exists`,triggerId:e.id}))}if("GITHUB_ISSUE_COMMAND"===e.kind||"JIRA_ISSUE_COMMAND"===e.kind){let t="JIRA_ISSUE_COMMAND"===e.kind,r=t?e.config.allowedAccountIds:e.config.allowedLogins,a=e.config.commandPattern;(!Array.isArray(r)||!r.length||r.some(e=>"string"!=typeof e||!e.trim()))&&i.push({severity:"ERROR",code:"ISSUE_COMMAND_ALLOWLIST_REQUIRED",message:t?"Issue command triggers require an explicit Jira account ID allow-list":"Issue command triggers require an explicit GitHub login allow-list",triggerId:e.id}),"string"==typeof a&&a.startsWith("^")&&a.endsWith("$")||i.push({severity:"ERROR",code:"ISSUE_COMMAND_PATTERN_ANCHORED",message:"Issue command patterns must be anchored with ^ and $",triggerId:e.id})}}for(let e of eV(r).requirementViolations)i.push({severity:"ERROR",code:"REQUIREMENT_UNSATISFIED",message:`${e.path} is not guaranteed on the path from ${e.triggerName}`,nodeId:e.nodeId,triggerId:e.triggerId,path:e.path});for(let e=0;e<r.nodes.length;e+=1){let t=r.nodes[e],a=[...eL(t,ew.get(t.kind).providedPaths),...t.providedPaths].filter(e=>!e.startsWith(`steps.${t.id}.`));for(let n=e+1;n<r.nodes.length;n+=1){let e=r.nodes[n];if(m.get(t.id)?.has(e.id)||m.get(e.id)?.has(t.id))continue;let s=[...eL(e,ew.get(e.kind).providedPaths),...e.providedPaths].filter(t=>!t.startsWith(`steps.${e.id}.`));a.some(e=>s.some(t=>eq(e,t)||eq(t,e)))&&i.push({severity:"ERROR",code:"PARALLEL_WRITE_CONFLICT",message:`Parallel steps ${t.name??t.id} and ${e.name??e.id} can write the same session-data path`,nodeId:e.id})}}return{definition:r,diagnostics:i}},"workflowResourceKind",0,ec,"workflowTriggerChoices",0,el],497800)},107058,963910,112627,695248,e=>{"use strict";var t=e.i(666680),r=e.i(243783);e.i(582482);var i=e.i(318905),a=e.i(91022),n=e.i(397554),s=e.i(827957);function o(e){if(null===e||!/^\d+$/.test(e))return null;let t=Number(e);return Number.isSafeInteger(t)?t:null}function l(e){let t=o(e.get("x-ratelimit-limit")),r=o(e.get("x-ratelimit-remaining")),i=o(e.get("x-ratelimit-used")),a=o(e.get("x-ratelimit-reset")),n=e.get("x-ratelimit-resource")?.trim()??"";if(null===t||null===r||null===i||null===a||!n)return null;let s=new Date(1e3*a);return Number.isFinite(s.getTime())?{limit:t,remaining:r,used:i,resetAt:s,resource:n}:null}async function u(e,t){let i=l(t.headers);if(!i)return null;try{let t=await (0,r.getPrismaClient)(),a=`${e}:${i.resource}`,n=new Date;await t.gitHubRateLimitSnapshot.upsert({where:{authentication_resource:{authentication:e,resource:i.resource}},create:{id:a,authentication:e,observedAt:n,...i},update:{observedAt:n,...i}})}catch{}return i}async function c(){let e=await (0,r.getPrismaClient)();return(await e.gitHubRateLimitSnapshot.findMany({orderBy:[{resource:"asc"},{authentication:"asc"}]})).map(e=>({authentication:e.authentication,resource:e.resource,limit:e.limit,remaining:e.remaining,used:e.used,resetAt:e.resetAt.toISOString(),observedAt:e.observedAt.toISOString()}))}let d="actions.cancelWorkflowRun",p="actions.dispatchWorkflow",h="actions.forceCancelWorkflowRun",m="actions.getJobForWorkflowRun",f="actions.getWorkflowRun",g="actions.getWorkflowRunAttempt",y="actions.listJobsForWorkflowRun",w="actions.listJobsForWorkflowRunAttempt",b="actions.listRepoWorkflows",v="actions.listWorkflowRuns",k="actions.listWorkflowRunsForRepo",S="actions.reRunJobForWorkflowRun",E="actions.reRunWorkflow",I="actions.reRunWorkflowFailedJobs",x="apps.createInstallationAccessToken",A="apps.getAuthenticated",_="apps.getInstallation",C="apps.updateWebhookConfigForApp",R="repos.listPullRequestsAssociatedWithCommit",T="users.listEmailsForAuthenticatedUser";class D extends Error{code;githubRequestId;statusCode;rateLimit;constructor(e,t,r=null,i=null,a=null){super(t),this.code=e,this.githubRequestId=r,this.statusCode=i,this.rateLimit=a,this.name="GitHubAppError"}}let N=new Map,O=new Map;function P(e,t,r){let i=e.trim();if(!/^[1-9]\d*$/.test(i))throw new D(r,`${t} must be a positive integer`);return i}function $(e){let{privateKeyPkcs8:r,keyFingerprint:i}=function(e){try{let r=(0,t.createPrivateKey)({key:e.trim(),format:"pem"});if("rsa"!==r.asymmetricKeyType)throw Error("The key is not RSA");let i=r.export({format:"pem",type:"pkcs8"}).toString(),a=(0,t.createPublicKey)(r).export({format:"der",type:"spki"}),n=`SHA256:${(0,t.createHash)("sha256").update(a).digest("base64url")}`;return{key:r,privateKeyPkcs8:i,keyFingerprint:n}}catch{throw new D("INVALID_PRIVATE_KEY","The GitHub App private key is not a valid RSA PEM")}}(e.privateKey);return{...e,appId:P(e.appId,"GitHub App ID","INVALID_APP_ID"),installationId:P(e.installationId,"GitHub installation ID","INVALID_INSTALLATION_ID"),privateKeyPkcs8:r,keyFingerprint:i}}async function U(e){try{let t=await (0,n.importPKCS8)(e.privateKeyPkcs8,"RS256"),r=Math.floor(Date.now()/1e3);return await new s.SignJWT({}).setProtectedHeader({alg:"RS256",typ:"JWT"}).setIssuer(e.appId).setIssuedAt(r-60).setExpirationTime(r+540).sign(t)}catch{throw new D("INVALID_PRIVATE_KEY","The GitHub App private key could not sign an App JWT")}}function B(e){return`${e.appId}:${e.installationId}:${e.keyFingerprint}`}function j(e){return{accept:"application/vnd.github+json",authorization:e,"user-agent":"ai-development-environment","x-github-api-version":"2022-11-28"}}async function L(e,t,r,i,a){let n,s=Date.now(),o=(t.method??"GET").toUpperCase(),u=e===i?.graphqlUrl&&"string"==typeof t.body?t.body:null;try{n=await fetch(e,{...t,cache:"no-store"})}catch{throw i?.requestObserver&&await Promise.resolve(i.requestObserver({url:e,method:o,operation:r,requestSource:a,body:u,durationMs:Date.now()-s,statusCode:null,error:"GitHub could not be reached",rateLimit:null})).catch(()=>void 0),new D("GITHUB_APP_REQUEST_FAILED","GitHub could not be reached")}return i?.responseObserver&&await Promise.resolve(i.responseObserver(n)).catch(()=>void 0),i?.requestObserver&&await Promise.resolve(i.requestObserver({url:e,method:o,operation:r,requestSource:a,body:u,durationMs:Date.now()-s,statusCode:n.status,error:n.ok?null:`GitHub returned HTTP ${n.status}`,rateLimit:l(n.headers)})).catch(()=>void 0),n}async function q(e){try{return await e.json()}catch{return null}}function M(e){return e.headers.get("x-github-request-id")}function F(e,t,r=[]){let i=`GitHub returned HTTP ${t}`;for(let t of(e&&"object"==typeof e&&"message"in e&&"string"==typeof e.message&&(i=e.message),r))t&&(i=i.split(t).join("[REDACTED]"));return i}async function K(e,t){let r=await L(`${e.apiBaseUrl}/app/installations/${e.installationId}`,{headers:j(`Bearer ${t}`)},_,e,"GITHUB_SETTINGS"),i=await q(r),a=M(r);if(401===r.status)throw new D("GITHUB_APP_UNAUTHORIZED","GitHub rejected the App ID or private key",a);if(404===r.status)throw new D("INSTALLATION_NOT_FOUND","The GitHub App installation was not found",a);if(!r.ok||!i||"object"!=typeof i)throw new D("GITHUB_APP_REQUEST_FAILED",F(i,r.status,[t,e.privateKey,e.privateKeyPkcs8]),a);if(String(i.app_id)!==e.appId)throw new D("APP_INSTALLATION_MISMATCH","The installation does not belong to the configured GitHub App",a);return i}async function V(e,t){let r=await L(`${e.apiBaseUrl}/app`,{headers:j(`Bearer ${t}`)},A,e,"GITHUB_SETTINGS"),i=await q(r),a=M(r);if(401===r.status)throw new D("GITHUB_APP_UNAUTHORIZED","GitHub rejected the App ID or private key",a);if(!r.ok||!i||"object"!=typeof i)throw new D("GITHUB_APP_REQUEST_FAILED",F(i,r.status,[t,e.privateKey,e.privateKeyPkcs8]),a);if(String(i.id)!==e.appId||!i.slug||!i.owner?.login||!i.owner.type)throw new D("GITHUB_APP_REQUEST_FAILED","GitHub returned incomplete GitHub App registration details",a);return{details:i,githubRequestId:a}}async function G(e){let t=$(e),r=await U(t),i=await V(t,r);return{appSlug:i.details.slug,appOwnerLogin:i.details.owner.login,appOwnerType:i.details.owner.type,githubRequestId:i.githubRequestId}}async function H(e,t,r){let i=r??await U(e),a=await L(`${e.apiBaseUrl}/app/installations/${e.installationId}/access_tokens`,{method:"POST",headers:j(`Bearer ${i}`)},x,e,t),n=await q(a),s=M(a);if(401===a.status)throw new D("GITHUB_APP_UNAUTHORIZED","GitHub rejected the App ID or private key",s);if(404===a.status)throw new D("INSTALLATION_NOT_FOUND","The GitHub App installation was not found",s);if(!a.ok||!n||"object"!=typeof n)throw new D("GITHUB_APP_REQUEST_FAILED",F(n,a.status,[i,e.privateKey,e.privateKeyPkcs8]),s);if("string"!=typeof n.token||!n.token||"string"!=typeof n.expires_at||Number.isNaN(Date.parse(n.expires_at)))throw new D("GITHUB_APP_REQUEST_FAILED","GitHub returned an invalid installation token response",s);if("write"!==(n.permissions?.actions??"none"))throw new D("ACTIONS_PERMISSION_REQUIRED","The GitHub App installation must grant Actions: read and write",s);return{token:n.token,expiresAt:new Date(n.expires_at),permissions:n.permissions??{},repositorySelection:n.repository_selection??"selected"}}async function W(e,t){let r=B(e),i=N.get(r);if(i&&i.expiresAt.getTime()-3e5>Date.now())return i;let a=O.get(r);if(a)return a;let n=H(e,t).then(e=>(N.set(r,e),e)).finally(()=>O.delete(r));return O.set(r,n),n}function J(){N.clear(),O.clear()}async function z(e,t,r){let i=$(e),a=await W(i,r),n=await t(a.token);return 401===n.status&&(N.delete(B(i)),a=await W(i,r),n=await t(a.token)),{response:n,token:a.token}}async function Z(e,t,r,i){let{response:a,token:n}=await z(e,a=>L(e.graphqlUrl,{method:"POST",headers:{...j(`Bearer ${a}`),"content-type":"application/json"},body:JSON.stringify({query:t,variables:r})},null,e,i),i),s=await q(a),o=M(a),u=l(a.headers);if(401===a.status)throw new D("GITHUB_APP_UNAUTHORIZED","GitHub rejected the installation access token",o,a.status,u);if(!a.ok||s?.errors?.length||!s?.data){let t=s?.errors?.map(e=>e.message).filter(Boolean).join("; ")||F(s,a.status,[n]);throw new D("GITHUB_APP_REQUEST_FAILED",F({message:t},a.status,[n,e.privateKey]),o,a.status,u)}return{data:s.data,githubRequestId:o,statusCode:a.status,rateLimit:u}}async function Y(e){let t=$(e),r=await U(t),[i,a]=await Promise.all([K(t,r),V(t,r)]),n=await H(t,"GITHUB_SETTINGS",r);N.set(B(t),n);let s=await Z(t,"query VerifyGitHubApp { viewer { login } }",{},"GITHUB_SETTINGS");return{appId:t.appId,installationId:t.installationId,keyFingerprint:t.keyFingerprint,appSlug:a.details.slug,appOwnerLogin:a.details.owner.login,appOwnerType:a.details.owner.type,accountLogin:i.account.login,repositorySelection:n.repositorySelection,actionsPermission:n.permissions.actions??"none",checksPermission:n.permissions.checks??"none",commitStatusesPermission:n.permissions.statuses??"none",webhookEvents:Array.isArray(i.events)?i.events:[],viewerLogin:s.data.viewer.login,verifiedAt:new Date,githubRequestId:s.githubRequestId}}async function Q(e,t){let r=$(e),i=await U(r),a=await L(`${r.apiBaseUrl}/app/hook/config`,{method:"PATCH",headers:{...j(`Bearer ${i}`),"content-type":"application/json"},body:JSON.stringify({url:t.url,content_type:"json",secret:t.secret,insecure_ssl:"0"})},C,r,"GITHUB_SETTINGS"),n=M(a);if(404===a.status)return{configured:!1,githubRequestId:n};if(!a.ok)throw new D("GITHUB_APP_REQUEST_FAILED",F(await q(a),a.status,[i,t.secret,r.privateKey]),n);return{configured:!0,githubRequestId:n}}async function X(e,t){let r=`${e.apiBaseUrl}/repos/${encodeURIComponent(t.owner)}/${encodeURIComponent(t.repository)}/actions/runs/${encodeURIComponent(t.workflowRunId)}/rerun`,{response:i,token:a}=await z(e,i=>L(r,{method:"POST",headers:j(`Bearer ${i}`)},E,e,t.requestSource),t.requestSource),n=M(i);if(401===i.status)throw new D("GITHUB_APP_UNAUTHORIZED","GitHub rejected the installation access token",n);if(!i.ok){let t=await q(i);throw new D(404===i.status?"REPOSITORY_NOT_INSTALLED":"GITHUB_APP_REQUEST_FAILED",404===i.status?"The repository or workflow run is not available to this installation":F(t,i.status,[a,e.privateKey]),n)}return{githubRequestId:n}}async function ee(e,t){let r=`${e.apiBaseUrl}/repos/${encodeURIComponent(t.owner)}/${encodeURIComponent(t.repository)}/actions/runs/${encodeURIComponent(t.workflowRunId)}/rerun-failed-jobs`,{response:i,token:a}=await z(e,i=>L(r,{method:"POST",headers:j(`Bearer ${i}`)},I,e,t.requestSource),t.requestSource),n=M(i);if(!i.ok){let t=await q(i);throw new D(404===i.status?"REPOSITORY_NOT_INSTALLED":"GITHUB_APP_REQUEST_FAILED",404===i.status?"The repository or workflow run is not available to this installation":F(t,i.status,[a,e.privateKey]),n)}return{githubRequestId:n}}async function et(e,t){let r=t.force?"force-cancel":"cancel",i=t.force?h:d,a=`${e.apiBaseUrl}/repos/${encodeURIComponent(t.owner)}/${encodeURIComponent(t.repository)}/actions/runs/${encodeURIComponent(t.workflowRunId)}/${r}`,{response:n,token:s}=await z(e,r=>L(a,{method:"POST",headers:j(`Bearer ${r}`)},i,e,t.requestSource),t.requestSource),o=M(n);if(401===n.status)throw new D("GITHUB_APP_UNAUTHORIZED","GitHub rejected the installation access token",o);if(!n.ok){let t=await q(n);throw new D(404===n.status?"REPOSITORY_NOT_INSTALLED":"GITHUB_APP_REQUEST_FAILED",404===n.status?"The repository or workflow run is not available to this installation":F(t,n.status,[s,e.privateKey]),o)}return{githubRequestId:o}}async function er(e,t){let r=[],i=1,a=0;do{let n=`${e.apiBaseUrl}/repos/${encodeURIComponent(t.owner)}/${encodeURIComponent(t.repository)}/actions/runs/${encodeURIComponent(t.workflowRunId)}/jobs?filter=latest&per_page=100&page=${i}`,{response:s,token:o}=await z(e,r=>L(n,{headers:j(`Bearer ${r}`)},y,e,t.requestSource),t.requestSource),l=M(s);if(401===s.status)throw new D("GITHUB_APP_UNAUTHORIZED","GitHub rejected the installation access token",l);let u=await q(s);if(!s.ok||!u||"object"!=typeof u)throw new D("GITHUB_APP_REQUEST_FAILED",F(u,s.status,[o,e.privateKey]),l);if(!Number.isInteger(u.total_count)||!Array.isArray(u.jobs))throw new D("GITHUB_APP_REQUEST_FAILED","GitHub returned an invalid workflow jobs response",l);a=u.total_count??0,r.push(...u.jobs),i+=1}while(r.length<a)return r}async function ei(e,t){let r=`${e.apiBaseUrl}/repos/${encodeURIComponent(t.owner)}/${encodeURIComponent(t.repository)}`,i=`${r}/actions/jobs/${encodeURIComponent(t.jobId)}`,a=await z(e,r=>L(i,{headers:j(`Bearer ${r}`)},m,e,t.requestSource),t.requestSource),n=M(a.response);if(401===a.response.status)throw new D("GITHUB_APP_UNAUTHORIZED","GitHub rejected the installation access token",n);let s=await q(a.response);if(!a.response.ok||!s||"object"!=typeof s)throw new D(404===a.response.status?"ACTIONS_JOB_NOT_FOUND":"GITHUB_APP_REQUEST_FAILED",404===a.response.status?"The GitHub Actions job is not available to this installation":F(s,a.response.status,[a.token,e.privateKey]),n);if(String(s.run_id??"")!==t.workflowRunId)throw new D("ACTIONS_JOB_RUN_MISMATCH","The GitHub Actions job does not belong to the selected workflow run",n);if(s.status?.toLowerCase()!=="completed")throw new D("ACTIONS_JOB_NOT_COMPLETED","The GitHub Actions job must be completed before it can be retried",n);let o=await z(e,r=>L(`${i}/rerun`,{method:"POST",headers:j(`Bearer ${r}`)},S,e,t.requestSource),t.requestSource),l=M(o.response);if(401===o.response.status)throw new D("GITHUB_APP_UNAUTHORIZED","GitHub rejected the installation access token",l);if(!o.response.ok){let t=await q(o.response);throw new D(404===o.response.status?"ACTIONS_JOB_NOT_FOUND":"GITHUB_APP_REQUEST_FAILED",404===o.response.status?"The GitHub Actions job is not available to this installation":F(t,o.response.status,[o.token,e.privateKey]),l)}return{githubRequestId:l}}let ea=new Set(["FAILURE","ERROR","STARTUP_FAILURE","TIMED_OUT"]),en=new Set(["ACTION_REQUIRED","EXPECTED","IN_PROGRESS","PENDING","QUEUED"]),es=["COMPLETED","EXHAUSTED","STOPPED"],eo={WORKFLOW_RUN:4,PULL_REQUEST:3,WORKTREE_BRANCH:2,REPOSITORY:1},el="server:github-auto-retry";function eu(e){return e.toISOString()}function ec(e){return{...e,scope:e.scope,mode:e.mode,failureStrategy:e.failureStrategy,status:e.status,executions:e.executions.map(e=>({...e,lastStatus:e.lastStatus,updatedAt:eu(e.updatedAt)})),createdAt:eu(e.createdAt),updatedAt:eu(e.updatedAt)}}class ed{github;polling;timer;pollingTickRunning;rerunRequested;reconciling;constructor(e,t,r=!0){this.github=e,this.polling=t,this.timer=null,this.pollingTickRunning=!1,this.rerunRequested=!1,this.reconciling=!1,this.polling?.register({id:el,kind:"GITHUB_AUTO_RETRY",runtime:"SERVER",enabled:!0,cadenceSeconds:60,details:{}}),r&&queueMicrotask(()=>void this.pollReconcile())}schedule(e){this.timer&&clearTimeout(this.timer);let t=1e3*Math.max(30,e);this.timer=setTimeout(()=>void this.pollReconcile(),t),this.timer.unref(),this.polling?.schedule(el,new Date(Date.now()+t))}configurationChanged(){if(this.pollingTickRunning){this.rerunRequested=!0;return}this.timer&&clearTimeout(this.timer),this.timer=null,queueMicrotask(()=>void this.pollReconcile())}async pollReconcile(){if(this.pollingTickRunning)return;this.pollingTickRunning=!0;let e=60;try{let t=async()=>(e=(await (await (0,r.getPrismaClient)()).gitHubSettings.upsert({where:{id:"default"},create:{id:"default"},update:{}})).actionsNotificationPollIntervalSeconds,this.polling?.configure(el,{cadenceSeconds:e}),this.reconcile());this.polling?await this.polling.run(el,t,e=>({activeRules:e})):await t()}catch{}finally{this.pollingTickRunning=!1,this.rerunRequested?(this.rerunRequested=!1,queueMicrotask(()=>void this.pollReconcile())):this.schedule(e)}}include(){return{targets:{orderBy:{createdAt:"asc"}},executions:{orderBy:{updatedAt:"desc"}}}}async list(e){let t=await (0,r.getPrismaClient)(),i=e.codebaseRepositoryId?await this.github.autoRetryRepositoryId(e.codebaseRepositoryId):null;return(await t.gitHubAutoRetryRule.findMany({where:{...i?{codebaseRepositoryId:i}:{},...e.workflowRunId?{targets:{some:{workflowRunId:e.workflowRunId}}}:{}},include:this.include(),orderBy:{updatedAt:"desc"}})).map(ec)}validate(e){if(!e.codebaseRepositoryId.trim())throw Error("Codebase repository is required");if("COUNT"===e.mode&&null==e.retryLimit)throw Error("Count mode requires a retry limit");if(null!=e.retryLimit&&(!Number.isInteger(e.retryLimit)||e.retryLimit<1||e.retryLimit>100))throw Error("Retry limit must be an integer from 1 to 100");if("FAILURE"===e.mode&&void 0===e.retryLimit)throw Error("Failure retry limit must be a number or null");if("WORKFLOW_RUN"===e.scope){if(!e.targets.length||e.targets.some(e=>!e.workflowRunId))throw Error("Current-run rules require workflow run targets")}else if(!e.allWorkflows&&!e.targets.length)throw Error("Select at least one workflow or choose all workflows");if("WORKTREE_BRANCH"===e.scope&&!e.worktreeId)throw Error("Worktree future rules require a worktree");if("PULL_REQUEST"===e.scope&&!e.pullRequestNumber)throw Error("Pull request future rules require a pull request number")}async save(e){if(!await this.github.autoRetryCredentialsReady())throw Error("A GitHub token and verified GitHub App with Actions write access are required");e={...e,codebaseRepositoryId:await this.github.autoRetryRepositoryId(e.codebaseRepositoryId)},this.validate(e);let i=await (0,r.getPrismaClient)(),a=e.branch?.trim()||null;if("WORKTREE_BRANCH"===e.scope&&e.worktreeId){let t=await i.worktree.findUnique({where:{id:e.worktreeId},select:{branch:!0}});if(!(a=t?.branch??null))throw Error("The worktree does not have a branch")}let n=await i.gitHubAutoRetryRule.findMany({where:{id:e.id?{not:e.id}:void 0,enabled:!0,scope:e.scope,codebaseRepositoryId:e.codebaseRepositoryId},include:{targets:!0}}),s=new Set(e.targets.map(e=>e.workflowRunId).filter(e=>!!e));if(n.find(t=>"WORKFLOW_RUN"===e.scope?t.targets.some(e=>e.workflowRunId&&s.has(e.workflowRunId)):"WORKTREE_BRANCH"===e.scope?t.branch===a:"PULL_REQUEST"!==e.scope||t.pullRequestNumber===e.pullRequestNumber))throw Error("An enabled Auto Retry rule already exists for this scope");let o=e.id??(0,t.randomUUID)(),l=await i.$transaction(async r=>(await r.gitHubAutoRetryRule.upsert({where:{id:o},create:{id:o,scope:e.scope,codebaseRepositoryId:e.codebaseRepositoryId,repositoryGithubId:e.repositoryGithubId??null,worktreeId:e.worktreeId??null,branch:a,pullRequestNumber:e.pullRequestNumber??null,allWorkflows:e.allWorkflows,mode:e.mode,retryLimit:e.retryLimit??null,failureStrategy:e.failureStrategy,status:"ACTIVE",enabled:!0},update:{scope:e.scope,codebaseRepositoryId:e.codebaseRepositoryId,repositoryGithubId:e.repositoryGithubId??null,worktreeId:e.worktreeId??null,branch:a,pullRequestNumber:e.pullRequestNumber??null,allWorkflows:e.allWorkflows,mode:e.mode,retryLimit:e.retryLimit??null,failureStrategy:e.failureStrategy,status:"ACTIVE",enabled:!0,lastError:null,activatedAt:new Date}}),await r.gitHubAutoRetryTarget.deleteMany({where:{ruleId:o}}),e.targets.length&&await r.gitHubAutoRetryTarget.createMany({data:e.targets.map(e=>({id:(0,t.randomUUID)(),ruleId:o,workflowId:e.workflowId?.trim()||null,workflowRunId:e.workflowRunId?.trim()||null,jobName:e.jobName?.trim()||null}))}),await r.gitHubAutoRetryExecution.deleteMany({where:{ruleId:o}}),r.gitHubAutoRetryRule.findUniqueOrThrow({where:{id:o},include:this.include()})));return queueMicrotask(()=>void this.reconcile().catch(()=>void 0)),ec(l)}async setEnabled(e,t){let i=await (0,r.getPrismaClient)(),a=await i.$transaction(async r=>(t&&await r.gitHubAutoRetryExecution.updateMany({where:{ruleId:e,pendingFromAttempt:{not:null}},data:{pendingFromAttempt:null,observedAttempt:0,status:"WATCHING",lastError:null,finishedAt:null}}),r.gitHubAutoRetryRule.update({where:{id:e},data:{enabled:t,status:t?"ACTIVE":"PAUSED",lastError:null,...t?{activatedAt:new Date}:{}},include:this.include()})));return t&&queueMicrotask(()=>void this.reconcile().catch(()=>void 0)),ec(a)}async delete(e){return(await (await (0,r.getPrismaClient)()).gitHubAutoRetryRule.deleteMany({where:{id:e}})).count>0}matches(e,t,r=!1){if("WORKFLOW_RUN"!==e.scope){let i=en.has(t.status);if(!r&&!i&&Date.parse(t.createdAt)<e.activatedAt.getTime())return!1}return"WORKTREE_BRANCH"===e.scope?t.headBranch===e.branch:"PULL_REQUEST"!==e.scope||t.pullRequests.some(t=>t.number===e.pullRequestNumber)}async execution(e,i,a){return(await (0,r.getPrismaClient)()).gitHubAutoRetryExecution.upsert({where:{ruleId_workflowRunId_targetKey:{ruleId:e,workflowRunId:i.id,targetKey:a}},create:{id:(0,t.randomUUID)(),ruleId:e,workflowRunId:i.id,workflowId:i.workflowId,targetKey:a},update:{}})}targetKeys(e,t){if(e.allWorkflows)return["workflow"];let r=e.targets.filter(e=>e.workflowRunId===t.id||e.workflowId===t.workflowId);return r.some(e=>!e.jobName)||"FAILURE"===e.mode&&"ALL_JOBS"===e.failureStrategy?["workflow"]:r.flatMap(e=>e.jobName?[`job:${e.jobName}`]:[])}async finishExecution(e,t,i){await (await (0,r.getPrismaClient)()).gitHubAutoRetryExecution.update({where:{id:e},data:{status:i,observedAttempt:t.runAttempt,lastStatus:t.status,pendingFromAttempt:null,finishedAt:new Date,lastError:null}})}async trigger(e,t,i,a,n){let s=await (0,r.getPrismaClient)();await s.gitHubAutoRetryExecution.update({where:{id:t.id},data:{status:"RETRYING",pendingFromAttempt:i.runAttempt,observedAttempt:i.runAttempt,lastStatus:i.status,lastError:null}});try{await this.github.autoRetryRerun(e.codebaseRepositoryId,i.id,a,n,{actor:"auto-retry",ipAddress:null,autoRetryRuleId:e.id,autoRetryExecutionId:t.id}),await s.gitHubAutoRetryExecution.update({where:{id:t.id},data:{automaticRetries:{increment:1},lastError:null}})}catch(i){let r=i instanceof Error?i.message:String(i);await s.gitHubAutoRetryExecution.update({where:{id:t.id},data:{lastError:r}}),await s.gitHubAutoRetryRule.update({where:{id:e.id},data:{lastError:r}})}}async reconcileExecution(e,t,i,a){var n;let s,o=await this.execution(e.id,t,i);if(null!=o.pendingFromAttempt)if(t.runAttempt>o.pendingFromAttempt)await (await (0,r.getPrismaClient)()).gitHubAutoRetryExecution.update({where:{id:o.id},data:{pendingFromAttempt:null,status:"WATCHING",lastError:null}});else{if(Date.now()-o.updatedAt.getTime()<12e4)return!1;let t=await (0,r.getPrismaClient)(),i="GitHub did not report a new attempt after the rerun request; automatic retries are paused to prevent a duplicate rerun";return await t.$transaction(async t=>{await t.gitHubAutoRetryExecution.update({where:{id:o.id},data:{status:"ERROR",lastError:i}}),await t.gitHubAutoRetryRule.update({where:{id:e.id},data:{enabled:!1,status:"PAUSED",lastError:i}})}),!1}if(o.observedAttempt===t.runAttempt&&null==o.pendingFromAttempt)return!1;let l=a?.status??t.status,u=(s=null!=(n={mode:e.mode,retryLimit:e.retryLimit,automaticRetries:o.automaticRetries,state:l}).retryLimit&&n.automaticRetries>=n.retryLimit,"COUNT"===n.mode?"SUCCESS"!==n.state?"STOP":s?"COMPLETE":"RETRY":"SUCCESS"===n.state?"COMPLETE":ea.has(n.state)?s?"EXHAUSTED":"RETRY":"STOP");return"COMPLETE"===u?(await this.finishExecution(o.id,t,"COMPLETED"),!1):"EXHAUSTED"===u?(await this.finishExecution(o.id,t,"EXHAUSTED"),!1):"STOP"===u?(await this.finishExecution(o.id,t,"STOPPED"),!1):("COUNT"===e.mode?await this.trigger(e,o,t,a?"JOB":"ALL_JOBS",a?.id??null):await this.trigger(e,o,t,a?"ALL_JOBS"===e.failureStrategy?"ALL_JOBS":"JOB":"ALL_JOBS"===e.failureStrategy?"ALL_JOBS":"FAILED_JOBS",a?.id??null),!0)}async reconcile(){if(this.reconciling)return 0;this.reconciling=!0;let e=0;try{let t=await (0,r.getPrismaClient)(),i=await t.gitHubAutoRetryRule.findMany({where:{enabled:!0,status:"ACTIVE"},include:{targets:!0},orderBy:{createdAt:"asc"}});e=i.length;let a=new Map,n=i.length?await t.gitHubAutoRetryExecution.findMany({where:{ruleId:{in:i.map(e=>e.id)},status:{notIn:es}},select:{ruleId:!0,workflowRunId:!0}}):[],s=new Map;for(let e of n){let t=s.get(e.ruleId)??new Set;t.add(e.workflowRunId),s.set(e.ruleId,t)}let o=new Map;for(let e of i){let r=a.get(e.codebaseRepositoryId);if(!r)try{r=await this.github.autoRetryRuns(e.codebaseRepositoryId),a.set(e.codebaseRepositoryId,r)}catch(r){await t.gitHubAutoRetryRule.update({where:{id:e.id},data:{lastError:r instanceof Error?r.message:String(r)}});continue}let i=new Set(e.targets.map(e=>e.workflowRunId).filter(e=>!!e)),n=s.get(e.id)??new Set;for(let a of new Set([...i,...n]))if(!r.some(e=>e.id===a))try{r.push(await this.github.autoRetryRun(e.codebaseRepositoryId,a,!1))}catch(r){await t.gitHubAutoRetryRule.update({where:{id:e.id},data:{lastError:r instanceof Error?r.message:String(r)}})}for(let t of r){if("WORKFLOW_RUN"===e.scope&&!i.has(t.id)||!this.matches(e,t,n.has(t.id))||!e.allWorkflows&&!e.targets.some(e=>e.workflowRunId===t.id||e.workflowId===t.workflowId))continue;let r=o.get(t.id);(!r||eo[e.scope]>eo[r.rule.scope])&&o.set(t.id,{rule:e,run:t})}}for(let{rule:e,run:r}of o.values()){let i=this.targetKeys(e,r);if(en.has(r.status)){await Promise.all(i.map(t=>this.execution(e.id,r,t)));continue}let a=r,n=e.allWorkflows?[{jobName:null}]:e.targets.filter(e=>e.workflowRunId===a.id||e.workflowId===a.workflowId);if(n.some(e=>!e.jobName)){await this.reconcileExecution(e,a,"workflow",null);continue}let s=await Promise.all(i.map(t=>this.execution(e.id,a,t)));if(!s.some(e=>e.observedAttempt!==a.runAttempt||null!=e.pendingFromAttempt&&a.runAttempt>e.pendingFromAttempt)){for(let t=0;t<s.length;t+=1)s[t]?.pendingFromAttempt!=null&&await this.reconcileExecution(e,a,i[t],null);continue}try{a=await this.github.autoRetryRun(e.codebaseRepositoryId,a.id)}catch(r){await t.gitHubAutoRetryRule.update({where:{id:e.id},data:{lastError:r instanceof Error?r.message:String(r)}});continue}if("FAILURE"===e.mode&&"ALL_JOBS"===e.failureStrategy){let t=a.jobs.filter(e=>n.some(t=>t.jobName===e.name)),r=t.find(e=>ea.has(e.status))??t.find(e=>"SUCCESS"!==e.status)??t[0];r?await this.reconcileExecution(e,a,"workflow",r):s[0]&&await this.finishExecution(s[0].id,a,"STOPPED");continue}let o=new Map(i.map((e,t)=>[e,s[t]]));for(let t of n){let r=a.jobs.find(e=>e.name===t.jobName);if(!r){let e=o.get(`job:${t.jobName}`);e&&await this.finishExecution(e.id,a,"STOPPED");continue}if(await this.reconcileExecution(e,a,`job:${r.name}`,r))break}}for(let e of i.filter(e=>"WORKFLOW_RUN"===e.scope)){let r=await t.gitHubAutoRetryExecution.findMany({where:{ruleId:e.id},select:{status:!0}});r.length>0&&r.every(e=>es.includes(e.status))&&await t.gitHubAutoRetryRule.update({where:{id:e.id},data:{enabled:!1,status:r.some(e=>"EXHAUSTED"===e.status)?"EXHAUSTED":"COMPLETED"}})}}finally{this.reconciling=!1}return e}}e.i(805422);var ep=e.i(661983);let eh={LEGACY:0,GRAPHQL:1,REST:2,WEBHOOK:3,MUTATION:4},em=new Set(["CANCELLED","FAILURE","STALE","STARTUP_FAILURE","TIMED_OUT"]),ef=new Set(["ACTION_REQUIRED","IN_PROGRESS","PENDING","QUEUED"]),eg=new Set(["SUCCESS","NEUTRAL","SKIPPED"]);function ey(e,t=null){return e.some(e=>"ERROR"===e)?"ERROR":e.some(e=>em.has(e))?"FAILURE":e.some(e=>ef.has(e))?"PENDING":e.some(e=>"EXPECTED"===e)||"EXPECTED"===t?"EXPECTED":e.length>0&&e.every(e=>eg.has(e))?"SUCCESS":0===e.length&&t?t:"NONE"}function ew(e,t){let r=(t||e||"NONE").toUpperCase();return ek(r)?r:"REQUESTED"===r||"WAITING"===r?"QUEUED":"NONE"}function eb(e){return ef.has(e)?1:2*("NONE"!==e&&"EXPECTED"!==e)}function ev(e,t,r){let i=e.runAttempt??0,a=t.runAttempt??0;if(a!==i)return a>i;let n=e.githubUpdatedAt?.getTime()??0,s=t.githubUpdatedAt?.getTime()??0;if(s!==n)return s>n;if("MUTATION"===e.source&&e.optimisticUntil&&e.optimisticUntil.getTime()>r.getTime())return"MUTATION"===t.source;let o="MUTATION"===e.source?eh.LEGACY:eh[e.source],l=eh[t.source];if("MUTATION"!==e.source&&"MUTATION"!==t.source&&e.status&&t.status){let r=eb(e.status),i=eb(t.status);if(i!==r)return i>r}return l===o||l>o}function ek(e){return"ACTION_REQUIRED"===e||"CANCELLED"===e||"ERROR"===e||"EXPECTED"===e||"FAILURE"===e||"IN_PROGRESS"===e||"NEUTRAL"===e||"PENDING"===e||"QUEUED"===e||"SKIPPED"===e||"STALE"===e||"STARTUP_FAILURE"===e||"SUCCESS"===e||"TIMED_OUT"===e||"NONE"===e}function eS(e){return"ERROR"===e||"EXPECTED"===e||"FAILURE"===e||"PENDING"===e||"SUCCESS"===e||"NONE"===e}function eE(e){try{let t=JSON.parse(e);return Array.isArray(t)?t:[]}catch{return[]}}function eI(e){return"NONE"===e||"EXPECTED"===e?0:"ACTION_REQUIRED"===e||"PENDING"===e||"QUEUED"===e?1:"IN_PROGRESS"===e?2:3}function ex(e){return"GRAPHQL"===e||"REST"===e||"WEBHOOK"===e||"MUTATION"===e?e:"LEGACY"}function eA(e){return{id:e.githubPipelineId,name:e.name,status:ek(e.status)?e.status:"NONE",url:e.url,checkSuiteId:e.checkSuiteId,canRetry:e.canRetry,retryUnavailableReason:e.retryUnavailableReason,jobs:eE(e.jobsJson),workflowRunId:e.workflowRunId,workflowId:e.workflowId,runNumber:e.runNumber,runAttempt:e.runAttempt}}function e_(e,t){return{...eA(t),repositoryGithubId:e.repositoryGithubId,headSha:e.headSha,revision:e.revision,isCurrent:t.isCurrent}}function eC(e){return{repositoryGithubId:e.repositoryGithubId,repositoryNameWithOwner:e.repositoryNameWithOwner,repositoryUrl:e.repositoryUrl,headSha:e.headSha,pipelineStatus:eS(e.pipelineStatus)?e.pipelineStatus:"NONE",pipelines:e.records.filter(e=>e.isCurrent).map(eA).sort((e,t)=>e.name.localeCompare(t.name)),revision:e.revision,updatedAt:e.updatedAt.toISOString()}}function eR(e){return JSON.stringify({identityKey:e.identityKey,githubPipelineId:e.githubPipelineId,name:e.name,status:e.status,url:e.url,checkSuiteId:e.checkSuiteId,workflowRunId:e.workflowRunId,workflowId:e.workflowId,runNumber:e.runNumber,runAttempt:e.runAttempt,canRetry:e.canRetry,retryUnavailableReason:e.retryUnavailableReason,jobsJson:e.jobsJson,isCurrent:e.isCurrent})}function eT(e){return JSON.stringify({repositoryNameWithOwner:e.repositoryNameWithOwner,repositoryUrl:e.repositoryUrl,pipelineStatus:e.pipelineStatus,records:e.records.map(eR).sort((e,t)=>e.localeCompare(t))})}class eD{lastPrunedAt=0;async snapshot(e){let t=await (0,r.getPrismaClient)(),i=await t.gitHubPipelineSnapshot.findUnique({where:{repositoryGithubId_headSha:{repositoryGithubId:e.repositoryGithubId.trim(),headSha:e.headSha.trim()}},include:{records:!0}});return i?eC(i):null}async snapshots(e){let t=e.map(e=>({repositoryGithubId:e.repositoryGithubId.trim(),headSha:e.headSha.trim()})).filter(e=>e.repositoryGithubId&&e.headSha);if(0===t.length)return[];let i=await (0,r.getPrismaClient)();return(await i.gitHubPipelineSnapshot.findMany({where:{OR:t},include:{records:!0}})).map(eC)}async records(e){let t=e.map(e=>({repositoryGithubId:e.repositoryGithubId.trim(),workflowRunId:e.workflowRunId.trim()})).filter(e=>e.repositoryGithubId&&e.workflowRunId);if(0===t.length)return[];let i=await (0,r.getPrismaClient)();return(await i.gitHubPipelineRecord.findMany({where:{OR:t.map(e=>({workflowRunId:e.workflowRunId,snapshot:{repositoryGithubId:e.repositoryGithubId}}))},include:{snapshot:{include:{records:!0}}}})).map(e=>e_(e.snapshot,e))}async observeWorkflowRuns(e,t="REST",r=!0){let i=new Map;for(let t of e){if(!t.repositoryGithubId||!t.headSha)continue;let e=`${t.repositoryGithubId}\u0000${t.headSha}`,r=i.get(e)??[];r.push(t),i.set(e,r)}let a=new Map;for(let e of i.values()){let i=e[0];await this.observeSnapshot({repositoryGithubId:i.repositoryGithubId,repositoryNameWithOwner:i.repositoryNameWithOwner,repositoryUrl:i.repositoryUrl,headSha:i.headSha,pipelines:e.map(e=>(function(e,t,r=!0){return{id:e.id,name:e.name,status:e.status,url:e.url,checkSuiteId:e.checkSuiteId,workflowRunId:e.id,workflowId:e.workflowId,runNumber:e.runNumber,runAttempt:e.runAttempt,canRetry:e.canRetry,retryUnavailableReason:e.retryUnavailableReason,source:t,githubUpdatedAt:new Date(e.updatedAt),sourceFetchedAt:new Date,isCurrent:r}})(e,t,r))})}for(let t of(await this.records(e.map(e=>({repositoryGithubId:e.repositoryGithubId,workflowRunId:e.id})))))t.workflowRunId&&a.set(t.workflowRunId,t);return a}async observeJobs(e,t,i,a="REST",n=null){let s=await (0,r.getPrismaClient)(),o=await s.gitHubPipelineRecord.findFirst({where:{workflowRunId:t,...e?{snapshot:{repositoryGithubId:e}}:{}},include:{snapshot:!0},orderBy:[{runAttempt:"desc"},{sourceFetchedAt:"desc"}]});if(!o)return null;let l=i.filter(e=>null==e.runAttempt||null==o.runAttempt||e.runAttempt===o.runAttempt);if(i.length>0&&0===l.length)return e_({...o.snapshot,records:[o]},o);let u=eE(o.jobsJson),c=new Map(u.map(e=>[e.id,e])),d=l.map(e=>(function(e,t){if(!e)return t;let r=e.runAttempt??0,i=t.runAttempt??0;if(i!==r)return i>r?t:e;let a=eI(e.status),n=eI(t.status);return n<a?e:n===a&&t.steps.length<e.steps.length?{...t,steps:e.steps}:t})(c.get(e.id),e)),p="WEBHOOK"===a?[...new Map([...u,...d].map(e=>[e.id,e])).values()]:d,h=ek(o.status)?o.status:"NONE",m="REST"===a&&l.length>0?ey(l.map(e=>e.status),null):"NONE",f=("ERROR"===m||"FAILURE"===m||"SUCCESS"===m)&&o.snapshot.graphqlRollupStatus===m?m:h;return(await this.observeSnapshot({repositoryGithubId:o.snapshot.repositoryGithubId,repositoryNameWithOwner:o.snapshot.repositoryNameWithOwner,repositoryUrl:o.snapshot.repositoryUrl,headSha:o.snapshot.headSha,pipelines:[{...eA(o),status:f,source:a,jobs:p,githubUpdatedAt:n??o.githubUpdatedAt,isCurrent:o.isCurrent}]})).changedPipeline}async optimisticByCheckSuite(e,t,r){return this.optimisticRecord({repositoryGithubId:e,checkSuiteId:t,workflowRunId:null},r)}async optimisticByWorkflowRun(e,t,r){return this.optimisticRecord({repositoryGithubId:e,checkSuiteId:null,workflowRunId:t},r)}async optimisticJobByCheckSuite(e,t,i){let a=await (0,r.getPrismaClient)(),n=await a.gitHubPipelineRecord.findFirst({where:{checkSuiteId:t,snapshot:{repositoryGithubId:e}},orderBy:[{runAttempt:"desc"},{sourceFetchedAt:"desc"}]});if(!n)return null;let s=eE(n.jobsJson).map(e=>e.id===i?{...e,status:"QUEUED",canRetry:!1,retryUnavailableReason:"NOT_COMPLETED"}:e);return this.optimisticByCheckSuite(e,t,{status:"QUEUED",jobs:s})}async optimisticJobByWorkflowRun(e,t,i){let a=await (0,r.getPrismaClient)(),n=await a.gitHubPipelineRecord.findFirst({where:{workflowRunId:t,...e?{snapshot:{repositoryGithubId:e}}:{}},orderBy:[{runAttempt:"desc"},{sourceFetchedAt:"desc"}]});if(!n)return null;let s=eE(n.jobsJson).map(e=>e.id===i?{...e,status:"QUEUED",canRetry:!1,retryUnavailableReason:"NOT_COMPLETED"}:e);return this.optimisticByWorkflowRun(e,t,{status:"QUEUED",jobs:s})}async optimisticRecord(e,t){let i=await (0,r.getPrismaClient)(),a=await i.gitHubPipelineRecord.findFirst({where:{...e.repositoryGithubId?{snapshot:{repositoryGithubId:e.repositoryGithubId}}:{},...e.checkSuiteId?{checkSuiteId:e.checkSuiteId}:{workflowRunId:e.workflowRunId}},include:{snapshot:!0},orderBy:[{runAttempt:"desc"},{sourceFetchedAt:"desc"}]});if(!a)return null;let n=new Date;return(await this.observeSnapshot({repositoryGithubId:a.snapshot.repositoryGithubId,repositoryNameWithOwner:a.snapshot.repositoryNameWithOwner,repositoryUrl:a.snapshot.repositoryUrl,headSha:a.snapshot.headSha,pipelines:[{...eA(a),status:t.status,jobs:t.jobs,canRetry:!1,retryUnavailableReason:"NOT_COMPLETED",source:"MUTATION",githubUpdatedAt:a.githubUpdatedAt,sourceFetchedAt:n,optimisticUntil:new Date(n.getTime()+12e4),isCurrent:a.isCurrent}]})).changedPipeline}async observeSnapshot(e){let i=e.repositoryGithubId.trim(),a=e.headSha.trim();if(!i||!a)throw Error("GitHub repository ID and head SHA are required");let n=new Date,s=e.sourceFetchedAt??n,o=await (0,r.getPrismaClient)(),l=await o.$transaction(async r=>{let o=await r.gitHubPipelineSnapshot.upsert({where:{repositoryGithubId_headSha:{repositoryGithubId:i,headSha:a}},create:{id:(0,t.randomUUID)(),repositoryGithubId:i,repositoryNameWithOwner:e.repositoryNameWithOwner,repositoryUrl:e.repositoryUrl,headSha:a,pipelineStatus:"NONE",graphqlRollupStatus:null,revision:0,lastGraphqlSyncAt:null,lastObservedAt:n},update:{lastObservedAt:n},include:{records:!0}}),l=eT(o),u=!!(e.completeGraphqlRollup&&(!o.lastGraphqlSyncAt||s.getTime()>=o.lastGraphqlSyncAt.getTime())),c=new Set,d=null;for(let i of e.pipelines){let e=function(e){var t;return(t={id:e.id,checkSuiteId:e.checkSuiteId,workflowRunId:e.workflowRunId,statusContext:e.statusContext}).checkSuiteId?`CHECK_SUITE:${t.checkSuiteId}`:t.workflowRunId?`WORKFLOW_RUN:${t.workflowRunId}`:t.statusContext?`STATUS_CONTEXT:${t.statusContext}`:`PIPELINE:${t.id}`}(i),a=(await r.gitHubPipelineRecord.findMany({where:{snapshotId:o.id}})).filter(t=>t.identityKey===e||i.checkSuiteId&&t.checkSuiteId===i.checkSuiteId||i.workflowRunId&&t.workflowRunId===i.workflowRunId),l=a[0]??null;for(let e of a.slice(1))l&&ev({runAttempt:l.runAttempt,githubUpdatedAt:l.githubUpdatedAt,source:ex(l.source),optimisticUntil:l.optimisticUntil,status:ek(l.status)?l.status:"NONE"},{runAttempt:e.runAttempt,githubUpdatedAt:e.githubUpdatedAt,source:ex(e.source),status:ek(e.status)?e.status:"NONE"},n)&&(l=e);for(let e of a)l&&e.id!==l.id&&(0===eE(l.jobsJson).length&&eE(e.jobsJson).length>0&&(l=await r.gitHubPipelineRecord.update({where:{id:l.id},data:{jobsJson:e.jobsJson}})),await r.gitHubPipelineRecord.delete({where:{id:e.id}}),d=l.id);let p=i.sourceFetchedAt??s,h=i.githubUpdatedAt??null,m=void 0===i.runAttempt?l?.runAttempt??null:i.runAttempt,f=void 0!==i.jobs?JSON.stringify(i.jobs):l&&(m??0)<=(l.runAttempt??0)?l.jobsJson:"[]",g=!!u||(!1===i.isCurrent?l?.isCurrent??!1:i.isCurrent??l?.isCurrent??!0);if(l){c.add(l.id);let t=eR(l),a=ev({runAttempt:l.runAttempt,githubUpdatedAt:l.githubUpdatedAt,source:ex(l.source),optimisticUntil:l.optimisticUntil,status:ek(l.status)?l.status:"NONE"},{runAttempt:m,githubUpdatedAt:h,source:i.source,status:i.status},n),s=!!(!a&&"MUTATION"===l.source&&l.optimisticUntil&&l.optimisticUntil.getTime()>n.getTime()&&"MUTATION"!==i.source);t!==eR(l=await r.gitHubPipelineRecord.update({where:{id:l.id},data:a?{identityKey:e,githubPipelineId:i.id,name:i.name,status:i.status,url:void 0===i.url?l.url:i.url,checkSuiteId:void 0===i.checkSuiteId?l.checkSuiteId:i.checkSuiteId,workflowRunId:void 0===i.workflowRunId?l.workflowRunId:i.workflowRunId,workflowId:void 0===i.workflowId?l.workflowId:i.workflowId,runNumber:void 0===i.runNumber?l.runNumber:i.runNumber,runAttempt:m,canRetry:void 0===i.canRetry?l.canRetry:i.canRetry,retryUnavailableReason:void 0===i.retryUnavailableReason?l.retryUnavailableReason:i.retryUnavailableReason,jobsJson:f,source:i.source,githubUpdatedAt:h,sourceFetchedAt:p,lastObservedAt:n,optimisticUntil:void 0===i.optimisticUntil?l.optimisticUntil:i.optimisticUntil,isCurrent:g}:{lastObservedAt:n,...void 0!==i.jobs&&!s?{jobsJson:f}:{},...u?{isCurrent:!0}:{}}}))&&(d=l.id)}else d=(l=await r.gitHubPipelineRecord.create({data:{id:(0,t.randomUUID)(),snapshotId:o.id,identityKey:e,githubPipelineId:i.id,name:i.name,status:i.status,url:i.url??null,checkSuiteId:i.checkSuiteId??null,workflowRunId:i.workflowRunId??null,workflowId:i.workflowId??null,runNumber:i.runNumber??null,runAttempt:m,canRetry:i.canRetry??!1,retryUnavailableReason:i.retryUnavailableReason??null,jobsJson:f,source:i.source,githubUpdatedAt:h,sourceFetchedAt:p,lastObservedAt:n,optimisticUntil:i.optimisticUntil??null,isCurrent:g}})).id;c.add(l.id)}if(u)for(let e of(await r.gitHubPipelineRecord.findMany({where:{snapshotId:o.id,isCurrent:!0}})))!c.has(e.id)&&e.sourceFetchedAt.getTime()<=s.getTime()&&(!e.optimisticUntil||e.optimisticUntil.getTime()<=n.getTime())&&(await r.gitHubPipelineRecord.update({where:{id:e.id},data:{isCurrent:!1}}),d??=e.id);let p=await r.gitHubPipelineRecord.findMany({where:{snapshotId:o.id}}),h=u?e.graphqlRollupStatus??null:o.graphqlRollupStatus,m=ey(p.filter(e=>e.isCurrent).map(e=>ek(e.status)?e.status:"NONE"),h&&eS(h)?h:null),f=l!==eT(o=await r.gitHubPipelineSnapshot.update({where:{id:o.id},data:{repositoryNameWithOwner:e.repositoryNameWithOwner,repositoryUrl:e.repositoryUrl,pipelineStatus:m,graphqlRollupStatus:h,lastGraphqlSyncAt:u?s:o.lastGraphqlSyncAt,lastObservedAt:n},include:{records:!0}}))||null!==d;f&&(o=await r.gitHubPipelineSnapshot.update({where:{id:o.id},data:{revision:{increment:1}},include:{records:!0}}));let g=o,y=d?g.records.find(e=>e.id===d)??null:null;return{changed:f,change:{snapshot:eC(g),changedPipeline:y?e_(g,y):null}}});return l.changed&&ep.agentEventBus.publish(ep.GITHUB_PIPELINE_STATUS_CHANGED_TOPIC,{githubPipelineStatusChanged:l.change}),this.pruneIfNeeded().catch(()=>void 0),l.change}subscribe(){return ep.agentEventBus.iterate(ep.GITHUB_PIPELINE_STATUS_CHANGED_TOPIC)}async pruneIfNeeded(){let e=Date.now();if(e-this.lastPrunedAt<864e5)return;this.lastPrunedAt=e;let t=await (0,r.getPrismaClient)();await t.gitHubPipelineSnapshot.deleteMany({where:{lastObservedAt:{lt:new Date(e-2592e6)}}})}}e.s(["GitHubPipelineStatusService",0,eD],963910);let eN=/^[_A-Za-z][_0-9A-Za-z]*$/,eO=new Map([["GitHubWorktreePullRequestStatuses",60]]),eP=[{window:"5m",milliseconds:3e5},{window:"10m",milliseconds:6e5},{window:"1h",milliseconds:36e5},{window:"24h",milliseconds:864e5}];function e$(e){return JSON.stringify(function e(t){return Array.isArray(t)?t.map(e):t&&"object"==typeof t?Object.fromEntries(Object.keys(t).sort().map(r=>[r,e(t[r])])):t}(e))}let eU=/(?:authorization|password|private.?key|secret|token)$/i;function eB(e,t=""){return eU.test(t)?"[REDACTED]":Array.isArray(e)?e.map(e=>eB(e)):e&&"object"==typeof e?Object.fromEntries(Object.entries(e).map(([e,t])=>[e,eB(t,e)])):e}function ej(e){try{return JSON.parse(e)}catch{return null}}function eL(e){return e&&"object"==typeof e?{statusCode:"number"==typeof e.statusCode?e.statusCode:null,rateLimit:e.rateLimit&&"object"==typeof e.rateLimit?e.rateLimit:null}:{statusCode:null,rateLimit:null}}class eq{inFlight=new Map;cacheWrites=new Set;cacheGeneration=0;lastPrunedAt=0;cacheKey(e){return(0,t.createHash)("sha256").update(e$({authentication:e.authentication,endpoint:e.endpoint,query:e.normalizedQuery,variables:e.variables})).digest("hex")}inFlightKey(e,t,r){return[r,e,!0===t.force?"force":"normal",!1===t.allowStaleOnError?"strict":"stale"].join(":")}async defaultTtlSeconds(){let e=await (0,r.getPrismaClient)();return(await e.gitHubSettings.upsert({where:{id:"default"},create:{id:"default",cacheTtlSeconds:300},update:{}})).cacheTtlSeconds}async effectiveTtlSeconds(e){let t=await (0,r.getPrismaClient)(),[i,a]=await Promise.all([t.gitHubGraphqlCacheTtlOverride.findUnique({where:{operation:e}}),this.defaultTtlSeconds()]);return i?.ttlSeconds??a}async query(e){let i=this.cacheGeneration,a=await (0,r.getPrismaClient)(),n=this.cacheKey(e),s=this.inFlightKey(n,e,i),o=Date.now(),[l,u,c]=await Promise.all([a.gitHubGraphqlCacheEntry.findUnique({where:{cacheKey:n}}),this.effectiveTtlSeconds(e.operation),a.gitHubRateLimitSnapshot.findUnique({where:{authentication_resource:{authentication:e.authentication,resource:"graphql"}}})]);if(i!==this.cacheGeneration)return this.query(e);let d=null!==l&&Date.now()-l.fetchedAt.getTime()<1e3*u;if(!e.force&&d)return(await this.log({...this.graphqlContext(e),authentication:e.authentication,operation:e.operation,source:"CACHE",durationMs:Date.now()-o,pointCost:0,pointsAvoided:l.pointCost??0}).catch(()=>void 0),i!==this.cacheGeneration)?this.query(e):{data:ej(l.responseJson),source:"CACHE",stale:!1,fetchedAt:l.fetchedAt,entryId:l.id,pointCost:l.pointCost};let p=this.inFlight.get(s);if(p){let t=await p;return i!==this.cacheGeneration||(await this.log({...this.graphqlContext(e),authentication:e.authentication,operation:e.operation,source:"CACHE",durationMs:Date.now()-o,pointCost:0,pointsAvoided:t.pointCost??0}).catch(()=>void 0),i!==this.cacheGeneration)?this.query(e):{...t,source:"CACHE"}}if(c?.remaining===0&&c.resetAt.getTime()>Date.now()){let t=`GitHub GraphQL rate limit is exhausted until ${c.resetAt.toISOString()}`,r=null!==l&&!1!==e.allowStaleOnError;if(await this.log({...this.graphqlContext(e),authentication:e.authentication,operation:e.operation,source:"ERROR",durationMs:Date.now()-o,error:t,servedStale:r,pointCost:0,pointsAvoided:r?l.pointCost??0:0,rateLimit:{limit:c.limit,remaining:c.remaining,used:c.used,resetAt:c.resetAt,resource:c.resource}}).catch(()=>void 0),i!==this.cacheGeneration)return this.query(e);if(r)return{data:ej(l.responseJson),source:"ERROR",stale:!0,fetchedAt:l.fetchedAt,entryId:l.id,pointCost:l.pointCost};throw Error(t)}let h=(async()=>{try{let r=await e.fetcher(),s=new Date,l=null;if(i===this.cacheGeneration){let i=a.gitHubGraphqlCacheEntry.upsert({where:{cacheKey:n},create:{id:(0,t.randomUUID)(),cacheKey:n,authentication:e.authentication,endpoint:e.endpoint,operation:e.operation,query:e.query,variablesJson:e$(e.variables),responseJson:JSON.stringify(r.data),fetchedAt:s,pointCost:r.pointCost},update:{operation:e.operation,query:e.query,variablesJson:e$(e.variables),responseJson:JSON.stringify(r.data),fetchedAt:s,pointCost:r.pointCost}});this.cacheWrites.add(i);try{l=await i}finally{this.cacheWrites.delete(i)}}return await this.log({...this.graphqlContext(e),authentication:e.authentication,operation:e.operation,source:"LIVE",durationMs:Date.now()-o,statusCode:r.statusCode,pointCost:r.pointCost,rateLimit:r.rateLimit}).catch(()=>void 0),{data:r.data,source:"LIVE",stale:!1,fetchedAt:s,entryId:i===this.cacheGeneration?l?.id??null:null,pointCost:r.pointCost}}catch(a){let t=eL(a),r=i===this.cacheGeneration&&null!==l&&!1!==e.allowStaleOnError;if(await this.log({...this.graphqlContext(e),authentication:e.authentication,operation:e.operation,source:"ERROR",durationMs:Date.now()-o,statusCode:t.statusCode,error:a instanceof Error?a.message:String(a),servedStale:r,pointsAvoided:r?l?.pointCost??0:0,rateLimit:t.rateLimit}).catch(()=>void 0),i!==this.cacheGeneration)throw a;if(r)return{data:ej(l.responseJson),source:"ERROR",stale:!0,fetchedAt:l.fetchedAt,entryId:l.id,pointCost:l.pointCost};throw a}})();this.inFlight.set(s,h);try{return await h}finally{this.inFlight.get(s)===h&&this.inFlight.delete(s)}}async mutation(e){let t,r=Date.now();try{t=await e.fetcher()}catch(i){let t=eL(i);throw await this.log({...this.graphqlContext(e),authentication:e.authentication,operation:e.operation,source:"ERROR",durationMs:Date.now()-r,statusCode:t.statusCode,error:i instanceof Error?i.message:String(i),rateLimit:t.rateLimit}).catch(()=>void 0),i}return await this.clear(),await this.log({...this.graphqlContext(e),authentication:e.authentication,operation:e.operation,source:"LIVE",durationMs:Date.now()-r,statusCode:t.statusCode,pointCost:null,rateLimit:t.rateLimit}).catch(()=>void 0),t.data}async updateTtl(e,t){if(!Number.isInteger(e)||e<1||e>1440)throw Error("Cache TTL must be an integer from 1 to 1440 minutes");let i=await (0,r.getPrismaClient)();return await i.gitHubSettings.upsert({where:{id:"default"},create:{id:"default",cacheTtlSeconds:60*e},update:{cacheTtlSeconds:60*e}}),t()}async ttlOverrides(){let e=await (0,r.getPrismaClient)();return(await e.gitHubGraphqlCacheTtlOverride.findMany({orderBy:{operation:"asc"}})).map(e=>({operation:e.operation,ttlSeconds:e.ttlSeconds,builtIn:eO.has(e.operation),createdAt:e.createdAt.toISOString(),updatedAt:e.updatedAt.toISOString()}))}async cacheableOperations(){let e=await (0,r.getPrismaClient)(),[t,i]=await Promise.all([e.gitHubGraphqlCacheTtlOverride.findMany({select:{operation:!0}}),e.gitHubGraphqlCacheEntry.findMany({distinct:["operation"],select:{operation:!0}})]);return[...new Set([...eO.keys(),...t.map(({operation:e})=>e),...i.map(({operation:e})=>e)])].sort((e,t)=>e.localeCompare(t))}async saveTtlOverride(e,t){let i=e.trim();if(!eN.test(i))throw Error("Operation must be a valid GraphQL operation name");if(!Number.isInteger(t)||t<1||t>86400)throw Error("Cache TTL must be an integer from 1 to 86400 seconds");let a=await (0,r.getPrismaClient)(),n=await a.gitHubGraphqlCacheTtlOverride.upsert({where:{operation:i},create:{operation:i,ttlSeconds:t},update:{ttlSeconds:t}});return{operation:n.operation,ttlSeconds:n.ttlSeconds,builtIn:eO.has(n.operation),createdAt:n.createdAt.toISOString(),updatedAt:n.updatedAt.toISOString()}}async deleteTtlOverride(e){let t=e.trim();if(eO.has(t))throw Error("Built-in cache TTL overrides cannot be deleted");let i=await (0,r.getPrismaClient)();return(await i.gitHubGraphqlCacheTtlOverride.deleteMany({where:{operation:t}})).count>0}async recordRestCall(e){let t=e.endpoint,r={};try{let i=new URL(e.endpoint);t=i.pathname,r={path:i.pathname,query:Object.fromEntries(i.searchParams)}}catch{r={endpoint:e.endpoint}}await this.log({authentication:e.authentication,apiType:"REST",method:e.method.toUpperCase(),endpoint:e.endpoint,operation:e.operation,requestSource:e.requestSource,requestSummary:`${e.method.toUpperCase()} ${t}`,variables:r,source:e.error?"ERROR":"LIVE",durationMs:e.durationMs,statusCode:e.statusCode,error:e.error,pointCost:1,rateLimit:e.rateLimit})}async recordGraphqlTransportCall(e){await this.log({...this.graphqlContext(e),authentication:e.authentication,operation:e.operation,requestSource:e.requestSource,source:e.error?"ERROR":"LIVE",durationMs:e.durationMs,statusCode:e.statusCode,error:e.error,rateLimit:e.rateLimit})}async clear(){let{cacheWrites:e}=this.beginInvalidation();await Promise.allSettled(e);let t=await (0,r.getPrismaClient)();return await t.gitHubGraphqlCacheEntry.deleteMany(),!0}async clearForCredentialChange(e){let{cacheWrites:t,inFlight:i}=this.beginInvalidation();await Promise.allSettled(t);let a=await (0,r.getPrismaClient)();return await a.gitHubGraphqlCacheEntry.deleteMany(),await Promise.allSettled(i),await a.gitHubRateLimitSnapshot.deleteMany({where:{authentication:e}}),!0}async clearCalls(){let e=await (0,r.getPrismaClient)();return await e.gitHubApiCallLog.deleteMany(),!0}async delete(e){let t=await (0,r.getPrismaClient)();return(await t.gitHubGraphqlCacheEntry.deleteMany({where:{id:e}})).count>0}async entries(e=50,t=0){let i=this.pagination(e,t),a=await (0,r.getPrismaClient)(),[n,s,o,l]=await Promise.all([a.gitHubGraphqlCacheEntry.findMany({take:i.limit,skip:i.offset,orderBy:{fetchedAt:"desc"}}),a.gitHubGraphqlCacheEntry.count(),this.defaultTtlSeconds(),a.gitHubGraphqlCacheTtlOverride.findMany({select:{operation:!0,ttlSeconds:!0}})]),u=new Map(l.map(({operation:e,ttlSeconds:t})=>[e,t]));return{...i,total:s,items:n.map(e=>this.entryView(e,u.get(e.operation)??o))}}async entry(e){let t=await (0,r.getPrismaClient)(),i=await t.gitHubGraphqlCacheEntry.findUnique({where:{id:e}});if(!i)return null;let a=await this.effectiveTtlSeconds(i.operation);return{...this.entryView(i,a),query:i.query,variables:ej(i.variablesJson),response:ej(i.responseJson)}}async calls(e=50,t=0,i={}){let a=this.pagination(e,t);await this.pruneLogs();let n=await (0,r.getPrismaClient)(),s={...i.apiType?{apiType:i.apiType}:{},...i.requestSource?{requestSource:i.requestSource}:{},...i.source?{source:i.source}:{}},[o,l]=await Promise.all([n.gitHubApiCallLog.findMany({where:s,take:a.limit,skip:a.offset,orderBy:{createdAt:"desc"}}),n.gitHubApiCallLog.count({where:s})]);return{...a,total:l,items:o.map(e=>({id:e.id,authentication:e.authentication,apiType:e.apiType,method:e.method,endpoint:e.endpoint,operation:e.operation,requestSource:e.requestSource,requestSummary:e.requestSummary,variables:ej(e.variablesJson),source:e.source,durationMs:e.durationMs,statusCode:e.statusCode,error:e.error,servedStale:e.servedStale,pointCost:e.pointCost,pointsAvoided:e.pointsAvoided,rateLimitLimit:e.rateLimitLimit,rateLimitRemaining:e.rateLimitRemaining,rateLimitUsed:e.rateLimitUsed,rateLimitResetAt:e.rateLimitResetAt?.toISOString()??null,rateLimitResource:e.rateLimitResource,createdAt:e.createdAt.toISOString()}))}}async metrics(){await this.pruneLogs();let e=await (0,r.getPrismaClient)(),t=Date.now(),i=await e.gitHubApiCallLog.findMany({where:{createdAt:{gte:new Date(t-eP.at(-1).milliseconds)}},orderBy:{createdAt:"asc"}}),a=eP.map(e=>this.metricWindow(e.window,i.filter(r=>r.createdAt.getTime()>=t-e.milliseconds)));return{windows:a,apiTypes:["GRAPHQL","REST"].map(e=>({apiType:e,windows:eP.map(r=>this.metricWindow(r.window,i.filter(i=>i.apiType===e&&i.createdAt.getTime()>=t-r.milliseconds)))})),operations:[...new Set(i.map(e=>e.operation))].sort().map(e=>({operation:e,windows:eP.map(r=>this.metricWindow(r.window,i.filter(i=>i.operation===e&&i.createdAt.getTime()>=t-r.milliseconds)))})),requestSources:[...new Set(i.map(e=>e.requestSource))].sort().map(e=>({requestSource:e,windows:eP.map(r=>this.metricWindow(r.window,i.filter(i=>i.requestSource===e&&i.createdAt.getTime()>=t-r.milliseconds)))}))}}entryView(e,t){return{id:e.id,authentication:e.authentication,operation:e.operation,endpoint:e.endpoint,fetchedAt:e.fetchedAt.toISOString(),pointCost:e.pointCost,stale:Date.now()-e.fetchedAt.getTime()>=1e3*t}}metricWindow(e,t){let r=t.length;return{window:e,total:r,live:t.filter(e=>"LIVE"===e.source).length,cache:t.filter(e=>"CACHE"===e.source).length,errors:t.filter(e=>"ERROR"===e.source).length,averageMs:0===r?0:Math.round(t.reduce((e,t)=>e+t.durationMs,0)/r),pointsUsed:t.reduce((e,t)=>e+Math.max(0,t.pointCost??0),0),pointsAvoided:t.reduce((e,t)=>e+Math.max(0,t.pointsAvoided),0)}}pagination(e,t){if(!Number.isInteger(e)||e<1||e>100)throw Error("limit must be an integer from 1 to 100");if(!Number.isInteger(t)||t<0)throw Error("offset must be a non-negative integer");return{limit:e,offset:t}}beginInvalidation(){let e=[...this.cacheWrites],t=[...new Set(this.inFlight.values())];return this.cacheGeneration+=1,this.inFlight.clear(),{cacheWrites:e,inFlight:t}}graphqlContext(e){let t=eB(e.variables);return{apiType:"GRAPHQL",method:"POST",endpoint:e.endpoint,requestSource:e.requestSource,requestSummary:function(e){if(!e||"object"!=typeof e||Array.isArray(e))return"No variables";let t=Object.entries(e);return t.length?t.map(([e,t])=>{let r=("string"==typeof t?t:JSON.stringify(t))??String(t);return`${e}=${r.length>120?`${r.slice(0,117)}…`:r}`}).join(" · "):"No variables"}(t),variables:t}}async log(e){await this.pruneLogs();let i=await (0,r.getPrismaClient)();await i.gitHubApiCallLog.create({data:{id:(0,t.randomUUID)(),authentication:e.authentication,apiType:e.apiType,method:e.method,endpoint:e.endpoint,operation:e.operation,requestSource:e.requestSource,requestSummary:e.requestSummary,variablesJson:e$(eB(e.variables)),source:e.source,durationMs:Math.max(0,Math.round(e.durationMs)),statusCode:e.statusCode??null,error:e.error?.slice(0,2e3)??null,servedStale:e.servedStale??!1,pointCost:e.pointCost??null,pointsAvoided:Math.max(0,e.pointsAvoided??0),rateLimitLimit:e.rateLimit?.limit??null,rateLimitRemaining:e.rateLimit?.remaining??null,rateLimitUsed:e.rateLimit?.used??null,rateLimitResetAt:e.rateLimit?.resetAt??null,rateLimitResource:e.rateLimit?.resource??null}})}async pruneLogs(){let e=Date.now();if(e-this.lastPrunedAt<36e5)return;this.lastPrunedAt=e;let t=await (0,r.getPrismaClient)();await t.gitHubApiCallLog.deleteMany({where:{createdAt:{lt:new Date(e-2592e6)}}})}}let eM=(process.env.GITHUB_API_BASE_URL||"https://api.github.com").replace(/\/+$/,""),eF=process.env.GITHUB_GRAPHQL_URL||`${eM}/graphql`;var eK=e.i(995702),eV=e.i(151112),eG=e.i(312851);let eH="_adeRateLimit";function eW(e){let t=(0,eV.parse)(e),r=t.definitions.filter(e=>e.kind===eK.Kind.OPERATION_DEFINITION);if(1!==r.length||!r[0])throw Error("GitHub GraphQL requests must contain one operation");let i=r[0],a=i.name?.value??("mutation"===i.operation?"AnonymousMutation":"AnonymousQuery"),n=(0,eG.print)(t);if("query"!==i.operation)return{kind:"mutation",operation:a,normalizedQuery:n,liveQuery:n};let s={...t,definitions:t.definitions.map(e=>e===i?{...i,selectionSet:{...i.selectionSet,selections:[...i.selectionSet.selections,{kind:eK.Kind.FIELD,alias:{kind:eK.Kind.NAME,value:eH},name:{kind:eK.Kind.NAME,value:"rateLimit"},arguments:[],directives:[],selectionSet:{kind:eK.Kind.SELECTION_SET,selections:[{kind:eK.Kind.FIELD,name:{kind:eK.Kind.NAME,value:"cost"},arguments:[],directives:[]}]}}]}}:e)};return{kind:"query",operation:a,normalizedQuery:n,liveQuery:(0,eG.print)(s)}}function eJ(e){if(!e||"object"!=typeof e||Array.isArray(e))return{data:e,pointCost:null};let t=e[eH],r=t&&"object"==typeof t&&!Array.isArray(t)&&Number.isSafeInteger(t.cost)?t.cost:null;if(!(eH in e))return{data:e,pointCost:r};let i={...e};return delete i[eH],{data:i,pointCost:r}}let ez="default",eZ="default",eY=String.raw`\b([A-Z][A-Z0-9_]*-\d+)\b`,eQ=["workflow_run","workflow_job","check_run","check_suite","status"];function eX(e){return"read"===e||"write"===e}function e0(e){let t=[];for(let r of(e.webhookConfigured||t.push("configure the signed webhook URL"),eX(e.actionsPermission)||t.push("grant Actions read permission"),eX(e.checksPermission)||t.push("grant Checks read permission"),eX(e.commitStatusesPermission)||t.push("grant Commit statuses read permission"),eQ))e.webhookEvents.includes(r)||t.push(`subscribe to the ${r} event`);return t}function e1(e){return"auto-retry"===e.actor?"AUTO_RETRY":"workflow"===e.actor?"WORKFLOW_AUTOMATION":"ACTIONS_PAGE"}class e2 extends Error{statusCode;rateLimit;constructor(e,t,r){super(e),this.statusCode=t,this.rateLimit=r,this.name="GitHubRequestError"}}let e3=`
1
+ module.exports=[735255,e=>{"use strict";let t=Symbol("unattributed");function r(){return{inputTokens:0,outputTokens:0,cacheCreationTokens:0,cacheReadTokens:0,totalTokens:0,totalCost:0}}function i(e,t){e.inputTokens+=t.inputTokens,e.outputTokens+=t.outputTokens,e.cacheCreationTokens+=t.cacheCreationTokens,e.cacheReadTokens+=t.cacheReadTokens,e.totalTokens+=t.totalTokens,e.totalCost+=t.totalCost}function a(e,t){return t.totalCost-e.totalCost||t.totalTokens-e.totalTokens||(e.modelName??e.agentName??"").localeCompare(t.modelName??t.agentName??"")}e.s(["aggregateUsage",0,function(e){let n=new Map,s=r();for(let{agent:a,report:o}of e)for(let e of(i(s,o.totals),o.daily)){let s=n.get(e.period);s||(s={...r(),period:e.period,models:new Map,sourceSet:new Set},n.set(e.period,s)),i(s,e),e.metadata.agents.forEach(e=>s.sourceSet.add(e));let o=0;for(let t of e.modelBreakdowns){let n={inputTokens:t.inputTokens,outputTokens:t.outputTokens,cacheCreationTokens:t.cacheCreationTokens,cacheReadTokens:t.cacheReadTokens,totalTokens:t.inputTokens+t.outputTokens+t.cacheCreationTokens+t.cacheReadTokens,totalCost:t.cost};o+=n.totalTokens;let l=s.models.get(t.modelName);l||(l={...r(),modelName:t.modelName,agents:new Map},s.models.set(t.modelName,l)),i(l,n);let u=l.agents.get(a.id);u||(u={...r(),agentId:a.id,agentName:a.name,hostname:a.hostname,sources:[],sourceSet:new Set},l.agents.set(a.id,u)),i(u,n),e.metadata.agents.forEach(e=>u.sourceSet.add(e))}!function(e,i,a,n){if(n<=0)return;let s=e.models.get(t);s||(s={...r(),modelName:"Unattributed tokens",agents:new Map,unattributed:!0},e.models.set(t,s)),s.totalTokens+=n;let o=s.agents.get(i.id);o||(o={...r(),agentId:i.id,agentName:i.name,hostname:i.hostname,sources:[],sourceSet:new Set},s.agents.set(i.id,o)),o.totalTokens+=n,a.forEach(e=>o.sourceSet.add(e))}(s,a,e.metadata.agents,e.totalTokens-o)}return{totals:s,days:[...n.values()].sort((e,t)=>t.period.localeCompare(e.period)).map(e=>({inputTokens:e.inputTokens,outputTokens:e.outputTokens,cacheCreationTokens:e.cacheCreationTokens,cacheReadTokens:e.cacheReadTokens,totalTokens:e.totalTokens,totalCost:e.totalCost,period:e.period,sources:[...e.sourceSet].sort(),models:[...e.models.values()].sort(a).map(e=>({inputTokens:e.inputTokens,outputTokens:e.outputTokens,cacheCreationTokens:e.cacheCreationTokens,cacheReadTokens:e.cacheReadTokens,totalTokens:e.totalTokens,totalCost:e.totalCost,modelName:e.modelName,...e.unattributed?{unattributed:!0}:{},agents:[...e.agents.values()].sort(a).map(e=>({inputTokens:e.inputTokens,outputTokens:e.outputTokens,cacheCreationTokens:e.cacheCreationTokens,cacheReadTokens:e.cacheReadTokens,totalTokens:e.totalTokens,totalCost:e.totalCost,agentId:e.agentId,agentName:e.agentName,hostname:e.hostname,sources:[...e.sourceSet].sort()}))}))}))}},"filterUsageByDays",0,function(e,t,a=new Date){let n;if(null===t)return e;let s=new Date(a);s.setHours(0,0,0,0),s.setDate(s.getDate()-(t-1));let o=(n=e=>String(e).padStart(2,"0"),`${s.getFullYear()}-${n(s.getMonth()+1)}-${n(s.getDate())}`),l=e.days.filter(e=>e.period>=o),u=r();return l.forEach(e=>i(u,e)),{days:l,totals:u}}])},121717,483024,988349,e=>{"use strict";var t=e.i(666680),r=e.i(986847),i=e.i(735255),a=e.i(243783);e.i(805422);var n=e.i(694355),s=e.i(661983);let o=new Set(["SUCCEEDED","FAILED","CANCELLED","TIMED_OUT"]);e.s(["CcusageService",0,class{agentControlService;now;deadlineTimers;initialized;initializationPromise;completionObservers;constructor(e,t=()=>new Date){this.agentControlService=e,this.now=t,this.deadlineTimers=new Map,this.initialized=!1,this.initializationPromise=null,this.completionObservers=new Set}async initialize(){if(!this.initialized)return this.initializationPromise||(this.initializationPromise=this.restoreCollections().then(()=>{this.initialized=!0}).finally(()=>{this.initializationPromise=null})),this.initializationPromise}async restoreCollections(){let e=await (0,a.getPrismaClient)(),t=await e.ccusageCollection.findMany({where:{finishedAt:null},select:{id:!0}});await Promise.all(t.map(async({id:e})=>{await this.ensureJobs(e),await this.getCollection(e)}))}async collect(e){let r=e?.trim()||(0,t.randomUUID)();await this.ensureCollection(r);let i=await this.waitForCompletion(r);for(let e of this.completionObservers)try{await e(i)}catch(e){console.error("ccusage completion observer failed:",e instanceof Error?e.message:e)}return i}registerCompletionObserver(e){return this.completionObservers.add(e),()=>this.completionObservers.delete(e)}async getCollection(e){let t=await this.loadCollection(e);if(!t)return null;null===t.finishedAt&&t.deadlineAt.getTime()<=this.now().getTime()&&(await this.timeoutMembersWithoutJobs(t),await this.agentControlService.timeoutCollectionJobs(e),t=await this.loadCollection(e)??t);let r=this.snapshot(t);if("COMPLETED"===r.status&&null===t.finishedAt){let t=this.now(),i=await (0,a.getPrismaClient)();await i.ccusageCollection.updateMany({where:{id:e,finishedAt:null},data:{finishedAt:t}}),r.finishedAt=t.toISOString(),this.clearDeadline(e)}else"COLLECTING"===r.status&&this.scheduleDeadline(t);return r}async *subscribe(e){let t=s.agentEventBus.iterate((0,s.ccusageCollectionChangedTopic)(e));try{let r=await this.getCollection(e);for(r&&(yield r);;){if((await t.next()).done)return;let r=await this.getCollection(e);r&&(yield r)}}finally{await t.return?.()}}async ensureCollection(e){let t=await (0,a.getPrismaClient)(),i=await t.ccusageCollection.findUnique({where:{id:e},select:{id:!0}});if(!i){let a=await this.agentControlService.listAgents();try{i=await t.ccusageCollection.create({data:{id:e,deadlineAt:new Date(this.now().getTime()+15e4),agents:{create:a.map(e=>{var t;return{agentId:e.id,initialStatus:(t=this.now().getTime(),null!==e.lastSeenAt&&t-e.lastSeenAt.getTime()<=(0,n.agentOnlineWindowMs)(e)&&null===e.disconnectedAt?(function(e){try{let t=JSON.parse(e.capabilitiesJson);return Array.isArray(t)?t.filter(e=>"string"==typeof e):[]}catch{return[]}})(e).includes(r.CCUSAGE_REPORT_JOB_KIND)?"QUEUING":"UNSUPPORTED":"OFFLINE")}})}},select:{id:!0}}),this.publish(e)}catch(r){if(!(i=await t.ccusageCollection.findUnique({where:{id:e},select:{id:!0}})))throw r}}await this.ensureJobs(e);let s=await this.getCollection(e);if(s?.status==="COLLECTING"){let r=await t.ccusageCollection.findUnique({where:{id:e},select:{id:!0,deadlineAt:!0,finishedAt:!0}});r&&this.scheduleDeadline(r)}}async ensureJobs(e){let t=await (0,a.getPrismaClient)(),i=await t.ccusageCollection.findUnique({where:{id:e},select:{deadlineAt:!0,finishedAt:!0}});if(!i||i.finishedAt||i.deadlineAt.getTime()<=this.now().getTime())return;let n=await t.ccusageCollectionAgent.findMany({where:{collectionId:e,initialStatus:"QUEUING"},select:{agentId:!0}}),s=new Set((await t.agentJob.findMany({where:{ccusageCollectionId:e},select:{agentId:!0}})).map(({agentId:e})=>e));await Promise.all(n.filter(({agentId:e})=>!s.has(e)).map(async({agentId:i})=>{try{await this.agentControlService.createJob({agentId:i,kind:r.CCUSAGE_REPORT_JOB_KIND,payload:{},idempotencyKey:`ccusage:${e}`,timeoutSeconds:120,ccusageCollectionId:e})}catch(r){await t.ccusageCollectionAgent.update({where:{collectionId_agentId:{collectionId:e,agentId:i}},data:{initialStatus:"FAILED",error:r instanceof Error?r.message:String(r)}}),this.publish(e)}}))}async waitForCompletion(e){let t=s.agentEventBus.iterate((0,s.ccusageCollectionChangedTopic)(e));try{for(;;){let r=await this.getCollection(e);if(!r)throw Error("ccusage collection disappeared");if("COMPLETED"===r.status)return r;let i=Math.max(1,new Date(r.deadlineAt).getTime()-this.now().getTime()+25);await Promise.race([t.next(),new Promise(e=>setTimeout(e,i))])}}finally{await t.return?.()}}async loadCollection(e){return(await (0,a.getPrismaClient)()).ccusageCollection.findUnique({where:{id:e},include:{agents:{include:{agent:!0}},jobs:!0}})}async timeoutMembersWithoutJobs(e){let t=new Set(e.jobs.map(({agentId:e})=>e)),r=e.agents.filter(({agentId:e,initialStatus:r})=>"QUEUING"===r&&!t.has(e)).map(({agentId:e})=>e);if(0===r.length)return;let i=await (0,a.getPrismaClient)();(await i.ccusageCollectionAgent.updateMany({where:{collectionId:e.id,agentId:{in:r},initialStatus:"QUEUING"},data:{initialStatus:"TIMED_OUT"}})).count>0&&this.publish(e.id)}snapshot(e){let t=new Map(e.jobs.map(e=>[e.agentId,e])),a=e.agents.map(e=>(function(e,t){let i={agent:e.agent,jobId:t?.id??null};if("QUEUING"!==e.initialStatus)return{progress:{...i,status:e.initialStatus,error:e.error}};if(!t)return{progress:{...i,status:"QUEUING",error:e.error}};if("SUCCEEDED"!==t.status)return{progress:{...i,status:t.status,error:t.error}};try{let e=(0,r.parseCcusageJobResult)(null===t.resultJson?null:JSON.parse(t.resultJson));return{progress:{...i,status:"SUCCEEDED",error:null},report:e.report}}catch(e){return{progress:{...i,status:"INVALID",error:e instanceof Error?e.message:String(e)}}}})(e,t.get(e.agentId))),n=a.map(({progress:e})=>e),s=n.filter(({status:e})=>"OFFLINE"!==e&&"UNSUPPORTED"!==e),l=s.filter(({status:e})=>"INVALID"===e||o.has(e)),u=a.flatMap(({progress:e,report:t})=>t?[{agent:{id:e.agent.id,name:e.agent.name,hostname:e.agent.hostname},report:t}]:[]);return{id:e.id,status:l.length===s.length?"COMPLETED":"COLLECTING",createdAt:e.createdAt.toISOString(),deadlineAt:e.deadlineAt.toISOString(),finishedAt:e.finishedAt?.toISOString()??null,progress:{eligibleCount:s.length,finishedCount:l.length,successfulCount:s.filter(({status:e})=>"SUCCEEDED"===e).length,agents:n},aggregate:(0,i.aggregateUsage)(u)}}scheduleDeadline(e){if(e.finishedAt||this.deadlineTimers.has(e.id))return;let t=setTimeout(()=>{this.deadlineTimers.delete(e.id),this.expire(e.id)},Math.max(0,e.deadlineAt.getTime()-this.now().getTime()));t.unref?.(),this.deadlineTimers.set(e.id,t)}async expire(e){try{await this.agentControlService.timeoutCollectionJobs(e),await this.getCollection(e),this.publish(e)}catch(t){console.error(`Could not expire ccusage collection ${e}:`,t instanceof Error?t.message:t)}}clearDeadline(e){let t=this.deadlineTimers.get(e);t&&clearTimeout(t),this.deadlineTimers.delete(e)}publish(e){s.agentEventBus.publish((0,s.ccusageCollectionChangedTopic)(e),{ccusageCollectionChanged:{id:e}})}}],483024),e.s([],121717),e.s(["CodebaseBusyError",0,class extends Error{constructor(e="Another operation is active for this codebase"){super(e),this.name="CodebaseBusyError"}},"isCodebaseBusyError",0,function(e){return e instanceof Error&&"CodebaseBusyError"===e.name}],988349)},469719,733137,334512,e=>{"use strict";var t,r=e.i(127438),i=e.i(486618);function a(){let e,t,r;return{localeError:(e={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}},t={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},r={nan:"NaN"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;return`Invalid input: expected ${e}, received ${n}`}case"invalid_value":if(1===a.values.length)return`Invalid input: expected ${i.stringifyPrimitive(a.values[0])}`;return`Invalid option: expected one of ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`Too big: expected ${a.origin??"value"} to have ${t}${a.maximum.toString()} ${r.unit??"elements"}`;return`Too big: expected ${a.origin??"value"} to be ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`Too small: expected ${a.origin} to have ${t}${a.minimum.toString()} ${r.unit}`;return`Too small: expected ${a.origin} to be ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Invalid string: must start with "${a.prefix}"`;if("ends_with"===a.format)return`Invalid string: must end with "${a.suffix}"`;if("includes"===a.format)return`Invalid string: must include "${a.includes}"`;if("regex"===a.format)return`Invalid string: must match pattern ${a.pattern}`;return`Invalid ${t[a.format]??a.format}`;case"not_multiple_of":return`Invalid number: must be a multiple of ${a.divisor}`;case"unrecognized_keys":return`Unrecognized key${a.keys.length>1?"s":""}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Invalid key in ${a.origin}`;case"invalid_union":if(a.options&&Array.isArray(a.options)&&a.options.length>0){let e=a.options.map(e=>`'${e}'`).join(" | ");return`Invalid discriminator value. Expected ${e}`}return"Invalid input";case"invalid_element":return`Invalid value in ${a.origin}`;default:return"Invalid input"}})}}(0,r.config)(a()),e.s([],654048),e.i(654048),e.s([],482811),e.i(482811);var n=e.i(715143),s=e.i(67021),o=e.i(639510);e.s(["$ZodAny",()=>o.$ZodAny,"$ZodArray",()=>o.$ZodArray,"$ZodBase64",()=>o.$ZodBase64,"$ZodBase64URL",()=>o.$ZodBase64URL,"$ZodBigInt",()=>o.$ZodBigInt,"$ZodBigIntFormat",()=>o.$ZodBigIntFormat,"$ZodBoolean",()=>o.$ZodBoolean,"$ZodCIDRv4",()=>o.$ZodCIDRv4,"$ZodCIDRv6",()=>o.$ZodCIDRv6,"$ZodCUID",()=>o.$ZodCUID,"$ZodCUID2",()=>o.$ZodCUID2,"$ZodCatch",()=>o.$ZodCatch,"$ZodCodec",()=>o.$ZodCodec,"$ZodCustom",()=>o.$ZodCustom,"$ZodCustomStringFormat",()=>o.$ZodCustomStringFormat,"$ZodDate",()=>o.$ZodDate,"$ZodDefault",()=>o.$ZodDefault,"$ZodDiscriminatedUnion",()=>o.$ZodDiscriminatedUnion,"$ZodE164",()=>o.$ZodE164,"$ZodEmail",()=>o.$ZodEmail,"$ZodEmoji",()=>o.$ZodEmoji,"$ZodEnum",()=>o.$ZodEnum,"$ZodExactOptional",()=>o.$ZodExactOptional,"$ZodFile",()=>o.$ZodFile,"$ZodFunction",()=>o.$ZodFunction,"$ZodGUID",()=>o.$ZodGUID,"$ZodIPv4",()=>o.$ZodIPv4,"$ZodIPv6",()=>o.$ZodIPv6,"$ZodISODate",()=>o.$ZodISODate,"$ZodISODateTime",()=>o.$ZodISODateTime,"$ZodISODuration",()=>o.$ZodISODuration,"$ZodISOTime",()=>o.$ZodISOTime,"$ZodIntersection",()=>o.$ZodIntersection,"$ZodJWT",()=>o.$ZodJWT,"$ZodKSUID",()=>o.$ZodKSUID,"$ZodLazy",()=>o.$ZodLazy,"$ZodLiteral",()=>o.$ZodLiteral,"$ZodMAC",()=>o.$ZodMAC,"$ZodMap",()=>o.$ZodMap,"$ZodNaN",()=>o.$ZodNaN,"$ZodNanoID",()=>o.$ZodNanoID,"$ZodNever",()=>o.$ZodNever,"$ZodNonOptional",()=>o.$ZodNonOptional,"$ZodNull",()=>o.$ZodNull,"$ZodNullable",()=>o.$ZodNullable,"$ZodNumber",()=>o.$ZodNumber,"$ZodNumberFormat",()=>o.$ZodNumberFormat,"$ZodObject",()=>o.$ZodObject,"$ZodObjectJIT",()=>o.$ZodObjectJIT,"$ZodOptional",()=>o.$ZodOptional,"$ZodPipe",()=>o.$ZodPipe,"$ZodPrefault",()=>o.$ZodPrefault,"$ZodPreprocess",()=>o.$ZodPreprocess,"$ZodPromise",()=>o.$ZodPromise,"$ZodReadonly",()=>o.$ZodReadonly,"$ZodRecord",()=>o.$ZodRecord,"$ZodSet",()=>o.$ZodSet,"$ZodString",()=>o.$ZodString,"$ZodStringFormat",()=>o.$ZodStringFormat,"$ZodSuccess",()=>o.$ZodSuccess,"$ZodSymbol",()=>o.$ZodSymbol,"$ZodTemplateLiteral",()=>o.$ZodTemplateLiteral,"$ZodTransform",()=>o.$ZodTransform,"$ZodTuple",()=>o.$ZodTuple,"$ZodType",()=>o.$ZodType,"$ZodULID",()=>o.$ZodULID,"$ZodURL",()=>o.$ZodURL,"$ZodUUID",()=>o.$ZodUUID,"$ZodUndefined",()=>o.$ZodUndefined,"$ZodUnion",()=>o.$ZodUnion,"$ZodUnknown",()=>o.$ZodUnknown,"$ZodVoid",()=>o.$ZodVoid,"$ZodXID",()=>o.$ZodXID,"$ZodXor",()=>o.$ZodXor,"clone",()=>i.clone,"isValidBase64",()=>o.isValidBase64,"isValidBase64URL",()=>o.isValidBase64URL,"isValidJWT",()=>o.isValidJWT],662429),e.i(662429);var l=e.i(236608),u=e.i(622824),c=e.i(486618),d=e.i(421131);function p(e,t,r,i){let a=Math.abs(e),n=a%10,s=a%100;return s>=11&&s<=19?i:1===n?t:n>=2&&n<=4?r:i}function h(e,t,r){return 1===Math.abs(e)?t:r}function m(e){if(!e)return"";let t=e[e.length-1];return e+(["ա","ե","ը","ի","ո","ու","օ"].includes(t)?"ն":"ը")}function f(){let e,t,r;return{localeError:(e={string:{unit:"តួអក្សរ",verb:"គួរមាន"},file:{unit:"បៃ",verb:"គួរមាន"},array:{unit:"ធាតុ",verb:"គួរមាន"},set:{unit:"ធាតុ",verb:"គួរមាន"}},t={regex:"ទិន្នន័យបញ្ចូល",email:"អាសយដ្ឋានអ៊ីមែល",url:"URL",emoji:"សញ្ញាអារម្មណ៍",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"កាលបរិច្ឆេទ និងម៉ោង ISO",date:"កាលបរិច្ឆេទ ISO",time:"ម៉ោង ISO",duration:"រយៈពេល ISO",ipv4:"អាសយដ្ឋាន IPv4",ipv6:"អាសយដ្ឋាន IPv6",cidrv4:"ដែនអាសយដ្ឋាន IPv4",cidrv6:"ដែនអាសយដ្ឋាន IPv6",base64:"ខ្សែអក្សរអ៊ិកូដ base64",base64url:"ខ្សែអក្សរអ៊ិកូដ base64url",json_string:"ខ្សែអក្សរ JSON",e164:"លេខ E.164",jwt:"JWT",template_literal:"ទិន្នន័យបញ្ចូល"},r={nan:"NaN",number:"លេខ",array:"អារេ (Array)",null:"គ្មានតម្លៃ (null)"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ instanceof ${a.expected} ប៉ុន្តែទទួលបាន ${n}`;return`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${e} ប៉ុន្តែទទួលបាន ${n}`}case"invalid_value":if(1===a.values.length)return`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${i.stringifyPrimitive(a.values[0])}`;return`ជម្រើសមិនត្រឹមត្រូវ៖ ត្រូវជាមួយក្នុងចំណោម ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`ធំពេក៖ ត្រូវការ ${a.origin??"តម្លៃ"} ${t} ${a.maximum.toString()} ${r.unit??"ធាតុ"}`;return`ធំពេក៖ ត្រូវការ ${a.origin??"តម្លៃ"} ${t} ${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`តូចពេក៖ ត្រូវការ ${a.origin} ${t} ${a.minimum.toString()} ${r.unit}`;return`តូចពេក៖ ត្រូវការ ${a.origin} ${t} ${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវចាប់ផ្តើមដោយ "${a.prefix}"`;if("ends_with"===a.format)return`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវបញ្ចប់ដោយ "${a.suffix}"`;if("includes"===a.format)return`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវមាន "${a.includes}"`;if("regex"===a.format)return`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវតែផ្គូផ្គងនឹងទម្រង់ដែលបានកំណត់ ${a.pattern}`;return`មិនត្រឹមត្រូវ៖ ${t[a.format]??a.format}`;case"not_multiple_of":return`លេខមិនត្រឹមត្រូវ៖ ត្រូវតែជាពហុគុណនៃ ${a.divisor}`;case"unrecognized_keys":return`រកឃើញសោមិនស្គាល់៖ ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`សោមិនត្រឹមត្រូវនៅក្នុង ${a.origin}`;case"invalid_union":default:return"ទិន្នន័យមិនត្រឹមត្រូវ";case"invalid_element":return`ទិន្នន័យមិនត្រឹមត្រូវនៅក្នុង ${a.origin}`}})}}e.s([],879113),e.i(879113);let g=e=>e.charAt(0).toUpperCase()+e.slice(1);function y(e){let t=Math.abs(e),r=t%10,i=t%100;return i>=11&&i<=19||0===r?"many":1===r?"one":"few"}function w(e,t,r,i){let a=Math.abs(e),n=a%10,s=a%100;return s>=11&&s<=19?i:1===n?t:n>=2&&n<=4?r:i}function b(){let e,t,r;return{localeError:(e={string:{unit:"символів",verb:"матиме"},file:{unit:"байтів",verb:"матиме"},array:{unit:"елементів",verb:"матиме"},set:{unit:"елементів",verb:"матиме"}},t={regex:"вхідні дані",email:"адреса електронної пошти",url:"URL",emoji:"емодзі",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"дата та час ISO",date:"дата ISO",time:"час ISO",duration:"тривалість ISO",ipv4:"адреса IPv4",ipv6:"адреса IPv6",cidrv4:"діапазон IPv4",cidrv6:"діапазон IPv6",base64:"рядок у кодуванні base64",base64url:"рядок у кодуванні base64url",json_string:"рядок JSON",e164:"номер E.164",jwt:"JWT",template_literal:"вхідні дані"},r={nan:"NaN",number:"число",array:"масив"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Неправильні вхідні дані: очікується instanceof ${a.expected}, отримано ${n}`;return`Неправильні вхідні дані: очікується ${e}, отримано ${n}`}case"invalid_value":if(1===a.values.length)return`Неправильні вхідні дані: очікується ${i.stringifyPrimitive(a.values[0])}`;return`Неправильна опція: очікується одне з ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`Занадто велике: очікується, що ${a.origin??"значення"} ${r.verb} ${t}${a.maximum.toString()} ${r.unit??"елементів"}`;return`Занадто велике: очікується, що ${a.origin??"значення"} буде ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`Занадто мале: очікується, що ${a.origin} ${r.verb} ${t}${a.minimum.toString()} ${r.unit}`;return`Занадто мале: очікується, що ${a.origin} буде ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Неправильний рядок: повинен починатися з "${a.prefix}"`;if("ends_with"===a.format)return`Неправильний рядок: повинен закінчуватися на "${a.suffix}"`;if("includes"===a.format)return`Неправильний рядок: повинен містити "${a.includes}"`;if("regex"===a.format)return`Неправильний рядок: повинен відповідати шаблону ${a.pattern}`;return`Неправильний ${t[a.format]??a.format}`;case"not_multiple_of":return`Неправильне число: повинно бути кратним ${a.divisor}`;case"unrecognized_keys":return`Нерозпізнаний ключ${a.keys.length>1?"і":""}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Неправильний ключ у ${a.origin}`;case"invalid_union":default:return"Неправильні вхідні дані";case"invalid_element":return`Неправильне значення у ${a.origin}`}})}}e.s(["ar",0,function(){let e,t,r;return{localeError:(e={string:{unit:"حرف",verb:"أن يحوي"},file:{unit:"بايت",verb:"أن يحوي"},array:{unit:"عنصر",verb:"أن يحوي"},set:{unit:"عنصر",verb:"أن يحوي"}},t={regex:"مدخل",email:"بريد إلكتروني",url:"رابط",emoji:"إيموجي",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"تاريخ ووقت بمعيار ISO",date:"تاريخ بمعيار ISO",time:"وقت بمعيار ISO",duration:"مدة بمعيار ISO",ipv4:"عنوان IPv4",ipv6:"عنوان IPv6",cidrv4:"مدى عناوين بصيغة IPv4",cidrv6:"مدى عناوين بصيغة IPv6",base64:"نَص بترميز base64-encoded",base64url:"نَص بترميز base64url-encoded",json_string:"نَص على هيئة JSON",e164:"رقم هاتف بمعيار E.164",jwt:"JWT",template_literal:"مدخل"},r={nan:"NaN"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`مدخلات غير مقبولة: يفترض إدخال instanceof ${a.expected}، ولكن تم إدخال ${n}`;return`مدخلات غير مقبولة: يفترض إدخال ${e}، ولكن تم إدخال ${n}`}case"invalid_value":if(1===a.values.length)return`مدخلات غير مقبولة: يفترض إدخال ${i.stringifyPrimitive(a.values[0])}`;return`اختيار غير مقبول: يتوقع انتقاء أحد هذه الخيارات: ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return` أكبر من اللازم: يفترض أن تكون ${a.origin??"القيمة"} ${t} ${a.maximum.toString()} ${r.unit??"عنصر"}`;return`أكبر من اللازم: يفترض أن تكون ${a.origin??"القيمة"} ${t} ${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`أصغر من اللازم: يفترض لـ ${a.origin} أن يكون ${t} ${a.minimum.toString()} ${r.unit}`;return`أصغر من اللازم: يفترض لـ ${a.origin} أن يكون ${t} ${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`نَص غير مقبول: يجب أن يبدأ بـ "${a.prefix}"`;if("ends_with"===a.format)return`نَص غير مقبول: يجب أن ينتهي بـ "${a.suffix}"`;if("includes"===a.format)return`نَص غير مقبول: يجب أن يتضمَّن "${a.includes}"`;if("regex"===a.format)return`نَص غير مقبول: يجب أن يطابق النمط ${a.pattern}`;return`${t[a.format]??a.format} غير مقبول`;case"not_multiple_of":return`رقم غير مقبول: يجب أن يكون من مضاعفات ${a.divisor}`;case"unrecognized_keys":return`معرف${a.keys.length>1?"ات":""} غريب${a.keys.length>1?"ة":""}: ${i.joinValues(a.keys,"، ")}`;case"invalid_key":return`معرف غير مقبول في ${a.origin}`;case"invalid_union":default:return"مدخل غير مقبول";case"invalid_element":return`مدخل غير مقبول في ${a.origin}`}})}},"az",0,function(){let e,t,r;return{localeError:(e={string:{unit:"simvol",verb:"olmalıdır"},file:{unit:"bayt",verb:"olmalıdır"},array:{unit:"element",verb:"olmalıdır"},set:{unit:"element",verb:"olmalıdır"}},t={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},r={nan:"NaN"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Yanlış dəyər: g\xf6zlənilən instanceof ${a.expected}, daxil olan ${n}`;return`Yanlış dəyər: g\xf6zlənilən ${e}, daxil olan ${n}`}case"invalid_value":if(1===a.values.length)return`Yanlış dəyər: g\xf6zlənilən ${i.stringifyPrimitive(a.values[0])}`;return`Yanlış se\xe7im: aşağıdakılardan biri olmalıdır: ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`\xc7ox b\xf6y\xfck: g\xf6zlənilən ${a.origin??"dəyər"} ${t}${a.maximum.toString()} ${r.unit??"element"}`;return`\xc7ox b\xf6y\xfck: g\xf6zlənilən ${a.origin??"dəyər"} ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`\xc7ox ki\xe7ik: g\xf6zlənilən ${a.origin} ${t}${a.minimum.toString()} ${r.unit}`;return`\xc7ox ki\xe7ik: g\xf6zlənilən ${a.origin} ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Yanlış mətn: "${a.prefix}" ilə başlamalıdır`;if("ends_with"===a.format)return`Yanlış mətn: "${a.suffix}" ilə bitməlidir`;if("includes"===a.format)return`Yanlış mətn: "${a.includes}" daxil olmalıdır`;if("regex"===a.format)return`Yanlış mətn: ${a.pattern} şablonuna uyğun olmalıdır`;return`Yanlış ${t[a.format]??a.format}`;case"not_multiple_of":return`Yanlış ədəd: ${a.divisor} ilə b\xf6l\xfcnə bilən olmalıdır`;case"unrecognized_keys":return`Tanınmayan a\xe7ar${a.keys.length>1?"lar":""}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`${a.origin} daxilində yanlış a\xe7ar`;case"invalid_union":default:return"Yanlış dəyər";case"invalid_element":return`${a.origin} daxilində yanlış dəyər`}})}},"be",0,function(){let e,t,r;return{localeError:(e={string:{unit:{one:"сімвал",few:"сімвалы",many:"сімвалаў"},verb:"мець"},array:{unit:{one:"элемент",few:"элементы",many:"элементаў"},verb:"мець"},set:{unit:{one:"элемент",few:"элементы",many:"элементаў"},verb:"мець"},file:{unit:{one:"байт",few:"байты",many:"байтаў"},verb:"мець"}},t={regex:"увод",email:"email адрас",url:"URL",emoji:"эмодзі",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO дата і час",date:"ISO дата",time:"ISO час",duration:"ISO працягласць",ipv4:"IPv4 адрас",ipv6:"IPv6 адрас",cidrv4:"IPv4 дыяпазон",cidrv6:"IPv6 дыяпазон",base64:"радок у фармаце base64",base64url:"радок у фармаце base64url",json_string:"JSON радок",e164:"нумар E.164",jwt:"JWT",template_literal:"увод"},r={nan:"NaN",number:"лік",array:"масіў"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Няправільны ўвод: чакаўся instanceof ${a.expected}, атрымана ${n}`;return`Няправільны ўвод: чакаўся ${e}, атрымана ${n}`}case"invalid_value":if(1===a.values.length)return`Няправільны ўвод: чакалася ${i.stringifyPrimitive(a.values[0])}`;return`Няправільны варыянт: чакаўся адзін з ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r){let e=p(Number(a.maximum),r.unit.one,r.unit.few,r.unit.many);return`Занадта вялікі: чакалася, што ${a.origin??"значэнне"} павінна ${r.verb} ${t}${a.maximum.toString()} ${e}`}return`Занадта вялікі: чакалася, што ${a.origin??"значэнне"} павінна быць ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r){let e=p(Number(a.minimum),r.unit.one,r.unit.few,r.unit.many);return`Занадта малы: чакалася, што ${a.origin} павінна ${r.verb} ${t}${a.minimum.toString()} ${e}`}return`Занадта малы: чакалася, што ${a.origin} павінна быць ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Няправільны радок: павінен пачынацца з "${a.prefix}"`;if("ends_with"===a.format)return`Няправільны радок: павінен заканчвацца на "${a.suffix}"`;if("includes"===a.format)return`Няправільны радок: павінен змяшчаць "${a.includes}"`;if("regex"===a.format)return`Няправільны радок: павінен адпавядаць шаблону ${a.pattern}`;return`Няправільны ${t[a.format]??a.format}`;case"not_multiple_of":return`Няправільны лік: павінен быць кратным ${a.divisor}`;case"unrecognized_keys":return`Нераспазнаны ${a.keys.length>1?"ключы":"ключ"}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Няправільны ключ у ${a.origin}`;case"invalid_union":default:return"Няправільны ўвод";case"invalid_element":return`Няправільнае значэнне ў ${a.origin}`}})}},"bg",0,function(){let e,t,r;return{localeError:(e={string:{unit:"символа",verb:"да съдържа"},file:{unit:"байта",verb:"да съдържа"},array:{unit:"елемента",verb:"да съдържа"},set:{unit:"елемента",verb:"да съдържа"}},t={regex:"вход",email:"имейл адрес",url:"URL",emoji:"емоджи",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO време",date:"ISO дата",time:"ISO време",duration:"ISO продължителност",ipv4:"IPv4 адрес",ipv6:"IPv6 адрес",cidrv4:"IPv4 диапазон",cidrv6:"IPv6 диапазон",base64:"base64-кодиран низ",base64url:"base64url-кодиран низ",json_string:"JSON низ",e164:"E.164 номер",jwt:"JWT",template_literal:"вход"},r={nan:"NaN",number:"число",array:"масив"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Невалиден вход: очакван instanceof ${a.expected}, получен ${n}`;return`Невалиден вход: очакван ${e}, получен ${n}`}case"invalid_value":if(1===a.values.length)return`Невалиден вход: очакван ${i.stringifyPrimitive(a.values[0])}`;return`Невалидна опция: очаквано едно от ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`Твърде голямо: очаква се ${a.origin??"стойност"} да съдържа ${t}${a.maximum.toString()} ${r.unit??"елемента"}`;return`Твърде голямо: очаква се ${a.origin??"стойност"} да бъде ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`Твърде малко: очаква се ${a.origin} да съдържа ${t}${a.minimum.toString()} ${r.unit}`;return`Твърде малко: очаква се ${a.origin} да бъде ${t}${a.minimum.toString()}`}case"invalid_format":{if("starts_with"===a.format)return`Невалиден низ: трябва да започва с "${a.prefix}"`;if("ends_with"===a.format)return`Невалиден низ: трябва да завършва с "${a.suffix}"`;if("includes"===a.format)return`Невалиден низ: трябва да включва "${a.includes}"`;if("regex"===a.format)return`Невалиден низ: трябва да съвпада с ${a.pattern}`;let e="Невалиден";return"emoji"===a.format&&(e="Невалидно"),"datetime"===a.format&&(e="Невалидно"),"date"===a.format&&(e="Невалидна"),"time"===a.format&&(e="Невалидно"),"duration"===a.format&&(e="Невалидна"),`${e} ${t[a.format]??a.format}`}case"not_multiple_of":return`Невалидно число: трябва да бъде кратно на ${a.divisor}`;case"unrecognized_keys":return`Неразпознат${a.keys.length>1?"и":""} ключ${a.keys.length>1?"ове":""}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Невалиден ключ в ${a.origin}`;case"invalid_union":default:return"Невалиден вход";case"invalid_element":return`Невалидна стойност в ${a.origin}`}})}},"ca",0,function(){let e,t,r;return{localeError:(e={string:{unit:"caràcters",verb:"contenir"},file:{unit:"bytes",verb:"contenir"},array:{unit:"elements",verb:"contenir"},set:{unit:"elements",verb:"contenir"}},t={regex:"entrada",email:"adreça electrònica",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i hora ISO",date:"data ISO",time:"hora ISO",duration:"durada ISO",ipv4:"adreça IPv4",ipv6:"adreça IPv6",cidrv4:"rang IPv4",cidrv6:"rang IPv6",base64:"cadena codificada en base64",base64url:"cadena codificada en base64url",json_string:"cadena JSON",e164:"número E.164",jwt:"JWT",template_literal:"entrada"},r={nan:"NaN"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Tipus inv\xe0lid: s'esperava instanceof ${a.expected}, s'ha rebut ${n}`;return`Tipus inv\xe0lid: s'esperava ${e}, s'ha rebut ${n}`}case"invalid_value":if(1===a.values.length)return`Valor inv\xe0lid: s'esperava ${i.stringifyPrimitive(a.values[0])}`;return`Opci\xf3 inv\xe0lida: s'esperava una de ${i.joinValues(a.values," o ")}`;case"too_big":{let t=a.inclusive?"com a màxim":"menys de",r=e[a.origin]??null;if(r)return`Massa gran: s'esperava que ${a.origin??"el valor"} contingu\xe9s ${t} ${a.maximum.toString()} ${r.unit??"elements"}`;return`Massa gran: s'esperava que ${a.origin??"el valor"} fos ${t} ${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?"com a mínim":"més de",r=e[a.origin]??null;if(r)return`Massa petit: s'esperava que ${a.origin} contingu\xe9s ${t} ${a.minimum.toString()} ${r.unit}`;return`Massa petit: s'esperava que ${a.origin} fos ${t} ${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Format inv\xe0lid: ha de comen\xe7ar amb "${a.prefix}"`;if("ends_with"===a.format)return`Format inv\xe0lid: ha d'acabar amb "${a.suffix}"`;if("includes"===a.format)return`Format inv\xe0lid: ha d'incloure "${a.includes}"`;if("regex"===a.format)return`Format inv\xe0lid: ha de coincidir amb el patr\xf3 ${a.pattern}`;return`Format inv\xe0lid per a ${t[a.format]??a.format}`;case"not_multiple_of":return`N\xfamero inv\xe0lid: ha de ser m\xfaltiple de ${a.divisor}`;case"unrecognized_keys":return`Clau${a.keys.length>1?"s":""} no reconeguda${a.keys.length>1?"s":""}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Clau inv\xe0lida a ${a.origin}`;case"invalid_union":default:return"Entrada invàlida";case"invalid_element":return`Element inv\xe0lid a ${a.origin}`}})}},"cs",0,function(){let e,t,r;return{localeError:(e={string:{unit:"znaků",verb:"mít"},file:{unit:"bajtů",verb:"mít"},array:{unit:"prvků",verb:"mít"},set:{unit:"prvků",verb:"mít"}},t={regex:"regulární výraz",email:"e-mailová adresa",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"datum a čas ve formátu ISO",date:"datum ve formátu ISO",time:"čas ve formátu ISO",duration:"doba trvání ISO",ipv4:"IPv4 adresa",ipv6:"IPv6 adresa",cidrv4:"rozsah IPv4",cidrv6:"rozsah IPv6",base64:"řetězec zakódovaný ve formátu base64",base64url:"řetězec zakódovaný ve formátu base64url",json_string:"řetězec ve formátu JSON",e164:"číslo E.164",jwt:"JWT",template_literal:"vstup"},r={nan:"NaN",number:"číslo",string:"řetězec",function:"funkce",array:"pole"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Neplatn\xfd vstup: oček\xe1v\xe1no instanceof ${a.expected}, obdrženo ${n}`;return`Neplatn\xfd vstup: oček\xe1v\xe1no ${e}, obdrženo ${n}`}case"invalid_value":if(1===a.values.length)return`Neplatn\xfd vstup: oček\xe1v\xe1no ${i.stringifyPrimitive(a.values[0])}`;return`Neplatn\xe1 možnost: oček\xe1v\xe1na jedna z hodnot ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`Hodnota je př\xedliš velk\xe1: ${a.origin??"hodnota"} mus\xed m\xedt ${t}${a.maximum.toString()} ${r.unit??"prvků"}`;return`Hodnota je př\xedliš velk\xe1: ${a.origin??"hodnota"} mus\xed b\xfdt ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`Hodnota je př\xedliš mal\xe1: ${a.origin??"hodnota"} mus\xed m\xedt ${t}${a.minimum.toString()} ${r.unit??"prvků"}`;return`Hodnota je př\xedliš mal\xe1: ${a.origin??"hodnota"} mus\xed b\xfdt ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Neplatn\xfd řetězec: mus\xed zač\xednat na "${a.prefix}"`;if("ends_with"===a.format)return`Neplatn\xfd řetězec: mus\xed končit na "${a.suffix}"`;if("includes"===a.format)return`Neplatn\xfd řetězec: mus\xed obsahovat "${a.includes}"`;if("regex"===a.format)return`Neplatn\xfd řetězec: mus\xed odpov\xeddat vzoru ${a.pattern}`;return`Neplatn\xfd form\xe1t ${t[a.format]??a.format}`;case"not_multiple_of":return`Neplatn\xe9 č\xedslo: mus\xed b\xfdt n\xe1sobkem ${a.divisor}`;case"unrecognized_keys":return`Nezn\xe1m\xe9 kl\xedče: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Neplatn\xfd kl\xedč v ${a.origin}`;case"invalid_union":default:return"Neplatný vstup";case"invalid_element":return`Neplatn\xe1 hodnota v ${a.origin}`}})}},"da",0,function(){let e,t,r;return{localeError:(e={string:{unit:"tegn",verb:"havde"},file:{unit:"bytes",verb:"havde"},array:{unit:"elementer",verb:"indeholdt"},set:{unit:"elementer",verb:"indeholdt"}},t={regex:"input",email:"e-mailadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkeslæt",date:"ISO-dato",time:"ISO-klokkeslæt",duration:"ISO-varighed",ipv4:"IPv4-område",ipv6:"IPv6-område",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodet streng",base64url:"base64url-kodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"},r={nan:"NaN",string:"streng",number:"tal",boolean:"boolean",array:"liste",object:"objekt",set:"sæt",file:"fil"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Ugyldigt input: forventede instanceof ${a.expected}, fik ${n}`;return`Ugyldigt input: forventede ${e}, fik ${n}`}case"invalid_value":if(1===a.values.length)return`Ugyldig v\xe6rdi: forventede ${i.stringifyPrimitive(a.values[0])}`;return`Ugyldigt valg: forventede en af f\xf8lgende ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",i=e[a.origin]??null,n=r[a.origin]??a.origin;if(i)return`For stor: forventede ${n??"value"} ${i.verb} ${t} ${a.maximum.toString()} ${i.unit??"elementer"}`;return`For stor: forventede ${n??"value"} havde ${t} ${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",i=e[a.origin]??null,n=r[a.origin]??a.origin;if(i)return`For lille: forventede ${n} ${i.verb} ${t} ${a.minimum.toString()} ${i.unit}`;return`For lille: forventede ${n} havde ${t} ${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Ugyldig streng: skal starte med "${a.prefix}"`;if("ends_with"===a.format)return`Ugyldig streng: skal ende med "${a.suffix}"`;if("includes"===a.format)return`Ugyldig streng: skal indeholde "${a.includes}"`;if("regex"===a.format)return`Ugyldig streng: skal matche m\xf8nsteret ${a.pattern}`;return`Ugyldig ${t[a.format]??a.format}`;case"not_multiple_of":return`Ugyldigt tal: skal v\xe6re deleligt med ${a.divisor}`;case"unrecognized_keys":return`${a.keys.length>1?"Ukendte nøgler":"Ukendt nøgle"}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Ugyldig n\xf8gle i ${a.origin}`;case"invalid_union":return"Ugyldigt input: matcher ingen af de tilladte typer";case"invalid_element":return`Ugyldig v\xe6rdi i ${a.origin}`;default:return"Ugyldigt input"}})}},"de",0,function(){let e,t,r;return{localeError:(e={string:{unit:"Zeichen",verb:"zu haben"},file:{unit:"Bytes",verb:"zu haben"},array:{unit:"Elemente",verb:"zu haben"},set:{unit:"Elemente",verb:"zu haben"}},t={regex:"Eingabe",email:"E-Mail-Adresse",url:"URL",emoji:"Emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-Datum und -Uhrzeit",date:"ISO-Datum",time:"ISO-Uhrzeit",duration:"ISO-Dauer",ipv4:"IPv4-Adresse",ipv6:"IPv6-Adresse",cidrv4:"IPv4-Bereich",cidrv6:"IPv6-Bereich",base64:"Base64-codierter String",base64url:"Base64-URL-codierter String",json_string:"JSON-String",e164:"E.164-Nummer",jwt:"JWT",template_literal:"Eingabe"},r={nan:"NaN",number:"Zahl",array:"Array"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Ung\xfcltige Eingabe: erwartet instanceof ${a.expected}, erhalten ${n}`;return`Ung\xfcltige Eingabe: erwartet ${e}, erhalten ${n}`}case"invalid_value":if(1===a.values.length)return`Ung\xfcltige Eingabe: erwartet ${i.stringifyPrimitive(a.values[0])}`;return`Ung\xfcltige Option: erwartet eine von ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`Zu gro\xdf: erwartet, dass ${a.origin??"Wert"} ${t}${a.maximum.toString()} ${r.unit??"Elemente"} hat`;return`Zu gro\xdf: erwartet, dass ${a.origin??"Wert"} ${t}${a.maximum.toString()} ist`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`Zu klein: erwartet, dass ${a.origin} ${t}${a.minimum.toString()} ${r.unit} hat`;return`Zu klein: erwartet, dass ${a.origin} ${t}${a.minimum.toString()} ist`}case"invalid_format":if("starts_with"===a.format)return`Ung\xfcltiger String: muss mit "${a.prefix}" beginnen`;if("ends_with"===a.format)return`Ung\xfcltiger String: muss mit "${a.suffix}" enden`;if("includes"===a.format)return`Ung\xfcltiger String: muss "${a.includes}" enthalten`;if("regex"===a.format)return`Ung\xfcltiger String: muss dem Muster ${a.pattern} entsprechen`;return`Ung\xfcltig: ${t[a.format]??a.format}`;case"not_multiple_of":return`Ung\xfcltige Zahl: muss ein Vielfaches von ${a.divisor} sein`;case"unrecognized_keys":return`${a.keys.length>1?"Unbekannte Schlüssel":"Unbekannter Schlüssel"}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Ung\xfcltiger Schl\xfcssel in ${a.origin}`;case"invalid_union":default:return"Ungültige Eingabe";case"invalid_element":return`Ung\xfcltiger Wert in ${a.origin}`}})}},"el",0,function(){let e,t,r;return{localeError:(e={string:{unit:"χαρακτήρες",verb:"να έχει"},file:{unit:"bytes",verb:"να έχει"},array:{unit:"στοιχεία",verb:"να έχει"},set:{unit:"στοιχεία",verb:"να έχει"},map:{unit:"καταχωρήσεις",verb:"να έχει"}},t={regex:"είσοδος",email:"διεύθυνση email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO ημερομηνία και ώρα",date:"ISO ημερομηνία",time:"ISO ώρα",duration:"ISO διάρκεια",ipv4:"διεύθυνση IPv4",ipv6:"διεύθυνση IPv6",mac:"διεύθυνση MAC",cidrv4:"εύρος IPv4",cidrv6:"εύρος IPv6",base64:"συμβολοσειρά κωδικοποιημένη σε base64",base64url:"συμβολοσειρά κωδικοποιημένη σε base64url",json_string:"συμβολοσειρά JSON",e164:"αριθμός E.164",jwt:"JWT",template_literal:"είσοδος"},r={nan:"NaN"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if("string"==typeof a.expected&&/^[A-Z]/.test(a.expected))return`Μη έγκυρη είσοδος: αναμενόταν instanceof ${a.expected}, λήφθηκε ${n}`;return`Μη έγκυρη είσοδος: αναμενόταν ${e}, λήφθηκε ${n}`}case"invalid_value":if(1===a.values.length)return`Μη έγκυρη είσοδος: αναμενόταν ${i.stringifyPrimitive(a.values[0])}`;return`Μη έγκυρη επιλογή: αναμενόταν ένα από ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`Πολύ μεγάλο: αναμενόταν ${a.origin??"τιμή"} να έχει ${t}${a.maximum.toString()} ${r.unit??"στοιχεία"}`;return`Πολύ μεγάλο: αναμενόταν ${a.origin??"τιμή"} να είναι ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`Πολύ μικρό: αναμενόταν ${a.origin} να έχει ${t}${a.minimum.toString()} ${r.unit}`;return`Πολύ μικρό: αναμενόταν ${a.origin} να είναι ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Μη έγκυρη συμβολοσειρά: πρέπει να ξεκινά με "${a.prefix}"`;if("ends_with"===a.format)return`Μη έγκυρη συμβολοσειρά: πρέπει να τελειώνει με "${a.suffix}"`;if("includes"===a.format)return`Μη έγκυρη συμβολοσειρά: πρέπει να περιέχει "${a.includes}"`;if("regex"===a.format)return`Μη έγκυρη συμβολοσειρά: πρέπει να ταιριάζει με το μοτίβο ${a.pattern}`;return`Μη έγκυρο: ${t[a.format]??a.format}`;case"not_multiple_of":return`Μη έγκυρος αριθμός: πρέπει να είναι πολλαπλάσιο του ${a.divisor}`;case"unrecognized_keys":return`Άγνωστ${a.keys.length>1?"α":"ο"} κλειδ${a.keys.length>1?"ιά":"ί"}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Μη έγκυρο κλειδί στο ${a.origin}`;case"invalid_union":default:return"Μη έγκυρη είσοδος";case"invalid_element":return`Μη έγκυρη τιμή στο ${a.origin}`}})}},"en",0,a,"eo",0,function(){let e,t,r;return{localeError:(e={string:{unit:"karaktrojn",verb:"havi"},file:{unit:"bajtojn",verb:"havi"},array:{unit:"elementojn",verb:"havi"},set:{unit:"elementojn",verb:"havi"}},t={regex:"enigo",email:"retadreso",url:"URL",emoji:"emoĝio",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datotempo",date:"ISO-dato",time:"ISO-tempo",duration:"ISO-daŭro",ipv4:"IPv4-adreso",ipv6:"IPv6-adreso",cidrv4:"IPv4-rango",cidrv6:"IPv6-rango",base64:"64-ume kodita karaktraro",base64url:"URL-64-ume kodita karaktraro",json_string:"JSON-karaktraro",e164:"E.164-nombro",jwt:"JWT",template_literal:"enigo"},r={nan:"NaN",number:"nombro",array:"tabelo",null:"senvalora"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Nevalida enigo: atendiĝis instanceof ${a.expected}, riceviĝis ${n}`;return`Nevalida enigo: atendiĝis ${e}, riceviĝis ${n}`}case"invalid_value":if(1===a.values.length)return`Nevalida enigo: atendiĝis ${i.stringifyPrimitive(a.values[0])}`;return`Nevalida opcio: atendiĝis unu el ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`Tro granda: atendiĝis ke ${a.origin??"valoro"} havu ${t}${a.maximum.toString()} ${r.unit??"elementojn"}`;return`Tro granda: atendiĝis ke ${a.origin??"valoro"} havu ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`Tro malgranda: atendiĝis ke ${a.origin} havu ${t}${a.minimum.toString()} ${r.unit}`;return`Tro malgranda: atendiĝis ke ${a.origin} estu ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Nevalida karaktraro: devas komenciĝi per "${a.prefix}"`;if("ends_with"===a.format)return`Nevalida karaktraro: devas finiĝi per "${a.suffix}"`;if("includes"===a.format)return`Nevalida karaktraro: devas inkluzivi "${a.includes}"`;if("regex"===a.format)return`Nevalida karaktraro: devas kongrui kun la modelo ${a.pattern}`;return`Nevalida ${t[a.format]??a.format}`;case"not_multiple_of":return`Nevalida nombro: devas esti oblo de ${a.divisor}`;case"unrecognized_keys":return`Nekonata${a.keys.length>1?"j":""} ŝlosilo${a.keys.length>1?"j":""}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Nevalida ŝlosilo en ${a.origin}`;case"invalid_union":default:return"Nevalida enigo";case"invalid_element":return`Nevalida valoro en ${a.origin}`}})}},"es",0,function(){let e,t,r;return{localeError:(e={string:{unit:"caracteres",verb:"tener"},file:{unit:"bytes",verb:"tener"},array:{unit:"elementos",verb:"tener"},set:{unit:"elementos",verb:"tener"}},t={regex:"entrada",email:"dirección de correo electrónico",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"fecha y hora ISO",date:"fecha ISO",time:"hora ISO",duration:"duración ISO",ipv4:"dirección IPv4",ipv6:"dirección IPv6",cidrv4:"rango IPv4",cidrv6:"rango IPv6",base64:"cadena codificada en base64",base64url:"URL codificada en base64",json_string:"cadena JSON",e164:"número E.164",jwt:"JWT",template_literal:"entrada"},r={nan:"NaN",string:"texto",number:"número",boolean:"booleano",array:"arreglo",object:"objeto",set:"conjunto",file:"archivo",date:"fecha",bigint:"número grande",symbol:"símbolo",undefined:"indefinido",null:"nulo",function:"función",map:"mapa",record:"registro",tuple:"tupla",enum:"enumeración",union:"unión",literal:"literal",promise:"promesa",void:"vacío",never:"nunca",unknown:"desconocido",any:"cualquiera"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Entrada inv\xe1lida: se esperaba instanceof ${a.expected}, recibido ${n}`;return`Entrada inv\xe1lida: se esperaba ${e}, recibido ${n}`}case"invalid_value":if(1===a.values.length)return`Entrada inv\xe1lida: se esperaba ${i.stringifyPrimitive(a.values[0])}`;return`Opci\xf3n inv\xe1lida: se esperaba una de ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",i=e[a.origin]??null,n=r[a.origin]??a.origin;if(i)return`Demasiado grande: se esperaba que ${n??"valor"} tuviera ${t}${a.maximum.toString()} ${i.unit??"elementos"}`;return`Demasiado grande: se esperaba que ${n??"valor"} fuera ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",i=e[a.origin]??null,n=r[a.origin]??a.origin;if(i)return`Demasiado peque\xf1o: se esperaba que ${n} tuviera ${t}${a.minimum.toString()} ${i.unit}`;return`Demasiado peque\xf1o: se esperaba que ${n} fuera ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Cadena inv\xe1lida: debe comenzar con "${a.prefix}"`;if("ends_with"===a.format)return`Cadena inv\xe1lida: debe terminar en "${a.suffix}"`;if("includes"===a.format)return`Cadena inv\xe1lida: debe incluir "${a.includes}"`;if("regex"===a.format)return`Cadena inv\xe1lida: debe coincidir con el patr\xf3n ${a.pattern}`;return`Inv\xe1lido ${t[a.format]??a.format}`;case"not_multiple_of":return`N\xfamero inv\xe1lido: debe ser m\xfaltiplo de ${a.divisor}`;case"unrecognized_keys":return`Llave${a.keys.length>1?"s":""} desconocida${a.keys.length>1?"s":""}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Llave inv\xe1lida en ${r[a.origin]??a.origin}`;case"invalid_union":default:return"Entrada inválida";case"invalid_element":return`Valor inv\xe1lido en ${r[a.origin]??a.origin}`}})}},"fa",0,function(){let e,t,r;return{localeError:(e={string:{unit:"کاراکتر",verb:"داشته باشد"},file:{unit:"بایت",verb:"داشته باشد"},array:{unit:"آیتم",verb:"داشته باشد"},set:{unit:"آیتم",verb:"داشته باشد"}},t={regex:"ورودی",email:"آدرس ایمیل",url:"URL",emoji:"ایموجی",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"تاریخ و زمان ایزو",date:"تاریخ ایزو",time:"زمان ایزو",duration:"مدت زمان ایزو",ipv4:"IPv4 آدرس",ipv6:"IPv6 آدرس",cidrv4:"IPv4 دامنه",cidrv6:"IPv6 دامنه",base64:"base64-encoded رشته",base64url:"base64url-encoded رشته",json_string:"JSON رشته",e164:"E.164 عدد",jwt:"JWT",template_literal:"ورودی"},r={nan:"NaN",number:"عدد",array:"آرایه"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`ورودی نامعتبر: می‌بایست instanceof ${a.expected} می‌بود، ${n} دریافت شد`;return`ورودی نامعتبر: می‌بایست ${e} می‌بود، ${n} دریافت شد`}case"invalid_value":if(1===a.values.length)return`ورودی نامعتبر: می‌بایست ${i.stringifyPrimitive(a.values[0])} می‌بود`;return`گزینه نامعتبر: می‌بایست یکی از ${i.joinValues(a.values,"|")} می‌بود`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`خیلی بزرگ: ${a.origin??"مقدار"} باید ${t}${a.maximum.toString()} ${r.unit??"عنصر"} باشد`;return`خیلی بزرگ: ${a.origin??"مقدار"} باید ${t}${a.maximum.toString()} باشد`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`خیلی کوچک: ${a.origin} باید ${t}${a.minimum.toString()} ${r.unit} باشد`;return`خیلی کوچک: ${a.origin} باید ${t}${a.minimum.toString()} باشد`}case"invalid_format":if("starts_with"===a.format)return`رشته نامعتبر: باید با "${a.prefix}" شروع شود`;if("ends_with"===a.format)return`رشته نامعتبر: باید با "${a.suffix}" تمام شود`;if("includes"===a.format)return`رشته نامعتبر: باید شامل "${a.includes}" باشد`;if("regex"===a.format)return`رشته نامعتبر: باید با الگوی ${a.pattern} مطابقت داشته باشد`;return`${t[a.format]??a.format} نامعتبر`;case"not_multiple_of":return`عدد نامعتبر: باید مضرب ${a.divisor} باشد`;case"unrecognized_keys":return`کلید${a.keys.length>1?"های":""} ناشناس: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`کلید ناشناس در ${a.origin}`;case"invalid_union":default:return"ورودی نامعتبر";case"invalid_element":return`مقدار نامعتبر در ${a.origin}`}})}},"fi",0,function(){let e,t,r;return{localeError:(e={string:{unit:"merkkiä",subject:"merkkijonon"},file:{unit:"tavua",subject:"tiedoston"},array:{unit:"alkiota",subject:"listan"},set:{unit:"alkiota",subject:"joukon"},number:{unit:"",subject:"luvun"},bigint:{unit:"",subject:"suuren kokonaisluvun"},int:{unit:"",subject:"kokonaisluvun"},date:{unit:"",subject:"päivämäärän"}},t={regex:"säännöllinen lauseke",email:"sähköpostiosoite",url:"URL-osoite",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-aikaleima",date:"ISO-päivämäärä",time:"ISO-aika",duration:"ISO-kesto",ipv4:"IPv4-osoite",ipv6:"IPv6-osoite",cidrv4:"IPv4-alue",cidrv6:"IPv6-alue",base64:"base64-koodattu merkkijono",base64url:"base64url-koodattu merkkijono",json_string:"JSON-merkkijono",e164:"E.164-luku",jwt:"JWT",template_literal:"templaattimerkkijono"},r={nan:"NaN"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Virheellinen tyyppi: odotettiin instanceof ${a.expected}, oli ${n}`;return`Virheellinen tyyppi: odotettiin ${e}, oli ${n}`}case"invalid_value":if(1===a.values.length)return`Virheellinen sy\xf6te: t\xe4ytyy olla ${i.stringifyPrimitive(a.values[0])}`;return`Virheellinen valinta: t\xe4ytyy olla yksi seuraavista: ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`Liian suuri: ${r.subject} t\xe4ytyy olla ${t}${a.maximum.toString()} ${r.unit}`.trim();return`Liian suuri: arvon t\xe4ytyy olla ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`Liian pieni: ${r.subject} t\xe4ytyy olla ${t}${a.minimum.toString()} ${r.unit}`.trim();return`Liian pieni: arvon t\xe4ytyy olla ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Virheellinen sy\xf6te: t\xe4ytyy alkaa "${a.prefix}"`;if("ends_with"===a.format)return`Virheellinen sy\xf6te: t\xe4ytyy loppua "${a.suffix}"`;if("includes"===a.format)return`Virheellinen sy\xf6te: t\xe4ytyy sis\xe4lt\xe4\xe4 "${a.includes}"`;if("regex"===a.format)return`Virheellinen sy\xf6te: t\xe4ytyy vastata s\xe4\xe4nn\xf6llist\xe4 lauseketta ${a.pattern}`;return`Virheellinen ${t[a.format]??a.format}`;case"not_multiple_of":return`Virheellinen luku: t\xe4ytyy olla luvun ${a.divisor} monikerta`;case"unrecognized_keys":return`${a.keys.length>1?"Tuntemattomat avaimet":"Tuntematon avain"}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return"Virheellinen avain tietueessa";case"invalid_union":return"Virheellinen unioni";case"invalid_element":return"Virheellinen arvo joukossa";default:return"Virheellinen syöte"}})}},"fr",0,function(){let e,t,r;return{localeError:(e={string:{unit:"caractères",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"éléments",verb:"avoir"},set:{unit:"éléments",verb:"avoir"}},t={regex:"entrée",email:"adresse e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date et heure ISO",date:"date ISO",time:"heure ISO",duration:"durée ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"chaîne encodée en base64",base64url:"chaîne encodée en base64url",json_string:"chaîne JSON",e164:"numéro E.164",jwt:"JWT",template_literal:"entrée"},r={string:"chaîne",number:"nombre",int:"entier",boolean:"booléen",bigint:"grand entier",symbol:"symbole",undefined:"indéfini",null:"null",never:"jamais",void:"vide",date:"date",array:"tableau",object:"objet",tuple:"tuple",record:"enregistrement",map:"carte",set:"ensemble",file:"fichier",nonoptional:"non-optionnel",nan:"NaN",function:"fonction"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Entr\xe9e invalide : instanceof ${a.expected} attendu, ${n} re\xe7u`;return`Entr\xe9e invalide : ${e} attendu, ${n} re\xe7u`}case"invalid_value":if(1===a.values.length)return`Entr\xe9e invalide : ${i.stringifyPrimitive(a.values[0])} attendu`;return`Option invalide : une valeur parmi ${i.joinValues(a.values,"|")} attendue`;case"too_big":{let t=a.inclusive?"<=":"<",i=e[a.origin]??null;if(i)return`Trop grand : ${r[a.origin]??"valeur"} doit ${i.verb} ${t}${a.maximum.toString()} ${i.unit??"élément(s)"}`;return`Trop grand : ${r[a.origin]??"valeur"} doit \xeatre ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",i=e[a.origin]??null;if(i)return`Trop petit : ${r[a.origin]??"valeur"} doit ${i.verb} ${t}${a.minimum.toString()} ${i.unit}`;return`Trop petit : ${r[a.origin]??"valeur"} doit \xeatre ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Cha\xeene invalide : doit commencer par "${a.prefix}"`;if("ends_with"===a.format)return`Cha\xeene invalide : doit se terminer par "${a.suffix}"`;if("includes"===a.format)return`Cha\xeene invalide : doit inclure "${a.includes}"`;if("regex"===a.format)return`Cha\xeene invalide : doit correspondre au mod\xe8le ${a.pattern}`;return`${t[a.format]??a.format} invalide`;case"not_multiple_of":return`Nombre invalide : doit \xeatre un multiple de ${a.divisor}`;case"unrecognized_keys":return`Cl\xe9${a.keys.length>1?"s":""} non reconnue${a.keys.length>1?"s":""} : ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Cl\xe9 invalide dans ${a.origin}`;case"invalid_union":default:return"Entrée invalide";case"invalid_element":return`Valeur invalide dans ${a.origin}`}})}},"frCA",0,function(){let e,t,r;return{localeError:(e={string:{unit:"caractères",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"éléments",verb:"avoir"},set:{unit:"éléments",verb:"avoir"}},t={regex:"entrée",email:"adresse courriel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date-heure ISO",date:"date ISO",time:"heure ISO",duration:"durée ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"chaîne encodée en base64",base64url:"chaîne encodée en base64url",json_string:"chaîne JSON",e164:"numéro E.164",jwt:"JWT",template_literal:"entrée"},r={nan:"NaN"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Entr\xe9e invalide : attendu instanceof ${a.expected}, re\xe7u ${n}`;return`Entr\xe9e invalide : attendu ${e}, re\xe7u ${n}`}case"invalid_value":if(1===a.values.length)return`Entr\xe9e invalide : attendu ${i.stringifyPrimitive(a.values[0])}`;return`Option invalide : attendu l'une des valeurs suivantes ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"≤":"<",r=e[a.origin]??null;if(r)return`Trop grand : attendu que ${a.origin??"la valeur"} ait ${t}${a.maximum.toString()} ${r.unit}`;return`Trop grand : attendu que ${a.origin??"la valeur"} soit ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?"≥":">",r=e[a.origin]??null;if(r)return`Trop petit : attendu que ${a.origin} ait ${t}${a.minimum.toString()} ${r.unit}`;return`Trop petit : attendu que ${a.origin} soit ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Cha\xeene invalide : doit commencer par "${a.prefix}"`;if("ends_with"===a.format)return`Cha\xeene invalide : doit se terminer par "${a.suffix}"`;if("includes"===a.format)return`Cha\xeene invalide : doit inclure "${a.includes}"`;if("regex"===a.format)return`Cha\xeene invalide : doit correspondre au motif ${a.pattern}`;return`${t[a.format]??a.format} invalide`;case"not_multiple_of":return`Nombre invalide : doit \xeatre un multiple de ${a.divisor}`;case"unrecognized_keys":return`Cl\xe9${a.keys.length>1?"s":""} non reconnue${a.keys.length>1?"s":""} : ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Cl\xe9 invalide dans ${a.origin}`;case"invalid_union":default:return"Entrée invalide";case"invalid_element":return`Valeur invalide dans ${a.origin}`}})}},"he",0,function(){let e,t,r,a,n,s,o,l,u;return{localeError:(e={string:{label:"מחרוזת",gender:"f"},number:{label:"מספר",gender:"m"},boolean:{label:"ערך בוליאני",gender:"m"},bigint:{label:"BigInt",gender:"m"},date:{label:"תאריך",gender:"m"},array:{label:"מערך",gender:"m"},object:{label:"אובייקט",gender:"m"},null:{label:"ערך ריק (null)",gender:"m"},undefined:{label:"ערך לא מוגדר (undefined)",gender:"m"},symbol:{label:"סימבול (Symbol)",gender:"m"},function:{label:"פונקציה",gender:"f"},map:{label:"מפה (Map)",gender:"f"},set:{label:"קבוצה (Set)",gender:"f"},file:{label:"קובץ",gender:"m"},promise:{label:"Promise",gender:"m"},NaN:{label:"NaN",gender:"m"},unknown:{label:"ערך לא ידוע",gender:"m"},value:{label:"ערך",gender:"m"}},t={string:{unit:"תווים",shortLabel:"קצר",longLabel:"ארוך"},file:{unit:"בייטים",shortLabel:"קטן",longLabel:"גדול"},array:{unit:"פריטים",shortLabel:"קטן",longLabel:"גדול"},set:{unit:"פריטים",shortLabel:"קטן",longLabel:"גדול"},number:{unit:"",shortLabel:"קטן",longLabel:"גדול"}},r=t=>t?e[t]:void 0,a=t=>{let i=r(t);return i?i.label:t??e.unknown.label},n=e=>`ה${a(e)}`,s=e=>{let t=r(e);return"f"===(t?.gender??"m")?"צריכה להיות":"צריך להיות"},o=e=>e?t[e]??null:null,l={regex:{label:"קלט",gender:"m"},email:{label:"כתובת אימייל",gender:"f"},url:{label:"כתובת רשת",gender:"f"},emoji:{label:"אימוג'י",gender:"m"},uuid:{label:"UUID",gender:"m"},nanoid:{label:"nanoid",gender:"m"},guid:{label:"GUID",gender:"m"},cuid:{label:"cuid",gender:"m"},cuid2:{label:"cuid2",gender:"m"},ulid:{label:"ULID",gender:"m"},xid:{label:"XID",gender:"m"},ksuid:{label:"KSUID",gender:"m"},datetime:{label:"תאריך וזמן ISO",gender:"m"},date:{label:"תאריך ISO",gender:"m"},time:{label:"זמן ISO",gender:"m"},duration:{label:"משך זמן ISO",gender:"m"},ipv4:{label:"כתובת IPv4",gender:"f"},ipv6:{label:"כתובת IPv6",gender:"f"},cidrv4:{label:"טווח IPv4",gender:"m"},cidrv6:{label:"טווח IPv6",gender:"m"},base64:{label:"מחרוזת בבסיס 64",gender:"f"},base64url:{label:"מחרוזת בבסיס 64 לכתובות רשת",gender:"f"},json_string:{label:"מחרוזת JSON",gender:"f"},e164:{label:"מספר E.164",gender:"m"},jwt:{label:"JWT",gender:"m"},ends_with:{label:"קלט",gender:"m"},includes:{label:"קלט",gender:"m"},lowercase:{label:"קלט",gender:"m"},starts_with:{label:"קלט",gender:"m"},uppercase:{label:"קלט",gender:"m"}},u={nan:"NaN"},t=>{switch(t.code){case"invalid_type":{let r=t.expected,n=u[r??""]??a(r),s=i.parsedType(t.input),o=u[s]??e[s]?.label??s;if(/^[A-Z]/.test(t.expected))return`קלט לא תקין: צריך להיות instanceof ${t.expected}, התקבל ${o}`;return`קלט לא תקין: צריך להיות ${n}, התקבל ${o}`}case"invalid_value":{if(1===t.values.length)return`ערך לא תקין: הערך חייב להיות ${i.stringifyPrimitive(t.values[0])}`;let e=t.values.map(e=>i.stringifyPrimitive(e));if(2===t.values.length)return`ערך לא תקין: האפשרויות המתאימות הן ${e[0]} או ${e[1]}`;let r=e[e.length-1],a=e.slice(0,-1).join(", ");return`ערך לא תקין: האפשרויות המתאימות הן ${a} או ${r}`}case"too_big":{let e=o(t.origin),r=n(t.origin??"value");if("string"===t.origin)return`${e?.longLabel??"ארוך"} מדי: ${r} צריכה להכיל ${t.maximum.toString()} ${e?.unit??""} ${t.inclusive?"או פחות":"לכל היותר"}`.trim();if("number"===t.origin){let e=t.inclusive?`קטן או שווה ל-${t.maximum}`:`קטן מ-${t.maximum}`;return`גדול מדי: ${r} צריך להיות ${e}`}if("array"===t.origin||"set"===t.origin){let i="set"===t.origin?"צריכה":"צריך",a=t.inclusive?`${t.maximum} ${e?.unit??""} או פחות`:`פחות מ-${t.maximum} ${e?.unit??""}`;return`גדול מדי: ${r} ${i} להכיל ${a}`.trim()}let i=t.inclusive?"<=":"<",a=s(t.origin??"value");if(e?.unit)return`${e.longLabel} מדי: ${r} ${a} ${i}${t.maximum.toString()} ${e.unit}`;return`${e?.longLabel??"גדול"} מדי: ${r} ${a} ${i}${t.maximum.toString()}`}case"too_small":{let e=o(t.origin),r=n(t.origin??"value");if("string"===t.origin)return`${e?.shortLabel??"קצר"} מדי: ${r} צריכה להכיל ${t.minimum.toString()} ${e?.unit??""} ${t.inclusive?"או יותר":"לפחות"}`.trim();if("number"===t.origin){let e=t.inclusive?`גדול או שווה ל-${t.minimum}`:`גדול מ-${t.minimum}`;return`קטן מדי: ${r} צריך להיות ${e}`}if("array"===t.origin||"set"===t.origin){let i="set"===t.origin?"צריכה":"צריך";if(1===t.minimum&&t.inclusive){let e=(t.origin,"לפחות פריט אחד");return`קטן מדי: ${r} ${i} להכיל ${e}`}let a=t.inclusive?`${t.minimum} ${e?.unit??""} או יותר`:`יותר מ-${t.minimum} ${e?.unit??""}`;return`קטן מדי: ${r} ${i} להכיל ${a}`.trim()}let i=t.inclusive?">=":">",a=s(t.origin??"value");if(e?.unit)return`${e.shortLabel} מדי: ${r} ${a} ${i}${t.minimum.toString()} ${e.unit}`;return`${e?.shortLabel??"קטן"} מדי: ${r} ${a} ${i}${t.minimum.toString()}`}case"invalid_format":{if("starts_with"===t.format)return`המחרוזת חייבת להתחיל ב "${t.prefix}"`;if("ends_with"===t.format)return`המחרוזת חייבת להסתיים ב "${t.suffix}"`;if("includes"===t.format)return`המחרוזת חייבת לכלול "${t.includes}"`;if("regex"===t.format)return`המחרוזת חייבת להתאים לתבנית ${t.pattern}`;let e=l[t.format],r=e?.label??t.format,i=e?.gender??"m";return`${r} לא ${"f"===i?"תקינה":"תקין"}`}case"not_multiple_of":return`מספר לא תקין: חייב להיות מכפלה של ${t.divisor}`;case"unrecognized_keys":return`מפתח${t.keys.length>1?"ות":""} לא מזוה${t.keys.length>1?"ים":"ה"}: ${i.joinValues(t.keys,", ")}`;case"invalid_key":return"שדה לא תקין באובייקט";case"invalid_union":default:return"קלט לא תקין";case"invalid_element":{let e=n(t.origin??"array");return`ערך לא תקין ב${e}`}}})}},"hr",0,function(){let e,t,r;return{localeError:(e={string:{unit:"znakova",verb:"imati"},file:{unit:"bajtova",verb:"imati"},array:{unit:"stavki",verb:"imati"},set:{unit:"stavki",verb:"imati"}},t={regex:"unos",email:"email adresa",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum i vrijeme",date:"ISO datum",time:"ISO vrijeme",duration:"ISO trajanje",ipv4:"IPv4 adresa",ipv6:"IPv6 adresa",cidrv4:"IPv4 raspon",cidrv6:"IPv6 raspon",base64:"base64 kodirani tekst",base64url:"base64url kodirani tekst",json_string:"JSON tekst",e164:"E.164 broj",jwt:"JWT",template_literal:"unos"},r={nan:"NaN",string:"tekst",number:"broj",boolean:"boolean",array:"niz",object:"objekt",set:"skup",file:"datoteka",date:"datum",bigint:"bigint",symbol:"simbol",undefined:"undefined",null:"null",function:"funkcija",map:"mapa"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Neispravan unos: očekuje se instanceof ${a.expected}, a primljeno je ${n}`;return`Neispravan unos: očekuje se ${e}, a primljeno je ${n}`}case"invalid_value":if(1===a.values.length)return`Neispravna vrijednost: očekivano ${i.stringifyPrimitive(a.values[0])}`;return`Neispravna opcija: očekivano jedno od ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",i=e[a.origin]??null,n=r[a.origin]??a.origin;if(i)return`Preveliko: očekivano da ${n??"vrijednost"} ima ${t}${a.maximum.toString()} ${i.unit??"elemenata"}`;return`Preveliko: očekivano da ${n??"vrijednost"} bude ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",i=e[a.origin]??null,n=r[a.origin]??a.origin;if(i)return`Premalo: očekivano da ${n} ima ${t}${a.minimum.toString()} ${i.unit}`;return`Premalo: očekivano da ${n} bude ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Neispravan tekst: mora započinjati s "${a.prefix}"`;if("ends_with"===a.format)return`Neispravan tekst: mora završavati s "${a.suffix}"`;if("includes"===a.format)return`Neispravan tekst: mora sadržavati "${a.includes}"`;if("regex"===a.format)return`Neispravan tekst: mora odgovarati uzorku ${a.pattern}`;return`Neispravna ${t[a.format]??a.format}`;case"not_multiple_of":return`Neispravan broj: mora biti višekratnik od ${a.divisor}`;case"unrecognized_keys":return`Neprepoznat${a.keys.length>1?"i ključevi":" ključ"}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Neispravan ključ u ${r[a.origin]??a.origin}`;case"invalid_union":default:return"Neispravan unos";case"invalid_element":return`Neispravna vrijednost u ${r[a.origin]??a.origin}`}})}},"hu",0,function(){let e,t,r;return{localeError:(e={string:{unit:"karakter",verb:"legyen"},file:{unit:"byte",verb:"legyen"},array:{unit:"elem",verb:"legyen"},set:{unit:"elem",verb:"legyen"}},t={regex:"bemenet",email:"email cím",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO időbélyeg",date:"ISO dátum",time:"ISO idő",duration:"ISO időintervallum",ipv4:"IPv4 cím",ipv6:"IPv6 cím",cidrv4:"IPv4 tartomány",cidrv6:"IPv6 tartomány",base64:"base64-kódolt string",base64url:"base64url-kódolt string",json_string:"JSON string",e164:"E.164 szám",jwt:"JWT",template_literal:"bemenet"},r={nan:"NaN",number:"szám",array:"tömb"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`\xc9rv\xe9nytelen bemenet: a v\xe1rt \xe9rt\xe9k instanceof ${a.expected}, a kapott \xe9rt\xe9k ${n}`;return`\xc9rv\xe9nytelen bemenet: a v\xe1rt \xe9rt\xe9k ${e}, a kapott \xe9rt\xe9k ${n}`}case"invalid_value":if(1===a.values.length)return`\xc9rv\xe9nytelen bemenet: a v\xe1rt \xe9rt\xe9k ${i.stringifyPrimitive(a.values[0])}`;return`\xc9rv\xe9nytelen opci\xf3: valamelyik \xe9rt\xe9k v\xe1rt ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`T\xfal nagy: ${a.origin??"érték"} m\xe9rete t\xfal nagy ${t}${a.maximum.toString()} ${r.unit??"elem"}`;return`T\xfal nagy: a bemeneti \xe9rt\xe9k ${a.origin??"érték"} t\xfal nagy: ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`T\xfal kicsi: a bemeneti \xe9rt\xe9k ${a.origin} m\xe9rete t\xfal kicsi ${t}${a.minimum.toString()} ${r.unit}`;return`T\xfal kicsi: a bemeneti \xe9rt\xe9k ${a.origin} t\xfal kicsi ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`\xc9rv\xe9nytelen string: "${a.prefix}" \xe9rt\xe9kkel kell kezdődnie`;if("ends_with"===a.format)return`\xc9rv\xe9nytelen string: "${a.suffix}" \xe9rt\xe9kkel kell v\xe9gződnie`;if("includes"===a.format)return`\xc9rv\xe9nytelen string: "${a.includes}" \xe9rt\xe9ket kell tartalmaznia`;if("regex"===a.format)return`\xc9rv\xe9nytelen string: ${a.pattern} mint\xe1nak kell megfelelnie`;return`\xc9rv\xe9nytelen ${t[a.format]??a.format}`;case"not_multiple_of":return`\xc9rv\xe9nytelen sz\xe1m: ${a.divisor} t\xf6bbsz\xf6r\xf6s\xe9nek kell lennie`;case"unrecognized_keys":return`Ismeretlen kulcs${a.keys.length>1?"s":""}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`\xc9rv\xe9nytelen kulcs ${a.origin}`;case"invalid_union":default:return"Érvénytelen bemenet";case"invalid_element":return`\xc9rv\xe9nytelen \xe9rt\xe9k: ${a.origin}`}})}},"hy",0,function(){let e,t,r;return{localeError:(e={string:{unit:{one:"նշան",many:"նշաններ"},verb:"ունենալ"},file:{unit:{one:"բայթ",many:"բայթեր"},verb:"ունենալ"},array:{unit:{one:"տարր",many:"տարրեր"},verb:"ունենալ"},set:{unit:{one:"տարր",many:"տարրեր"},verb:"ունենալ"}},t={regex:"մուտք",email:"էլ. հասցե",url:"URL",emoji:"էմոջի",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO ամսաթիվ և ժամ",date:"ISO ամսաթիվ",time:"ISO ժամ",duration:"ISO տևողություն",ipv4:"IPv4 հասցե",ipv6:"IPv6 հասցե",cidrv4:"IPv4 միջակայք",cidrv6:"IPv6 միջակայք",base64:"base64 ձևաչափով տող",base64url:"base64url ձևաչափով տող",json_string:"JSON տող",e164:"E.164 համար",jwt:"JWT",template_literal:"մուտք"},r={nan:"NaN",number:"թիվ",array:"զանգված"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Սխալ մուտքագրում․ սպասվում էր instanceof ${a.expected}, ստացվել է ${n}`;return`Սխալ մուտքագրում․ սպասվում էր ${e}, ստացվել է ${n}`}case"invalid_value":if(1===a.values.length)return`Սխալ մուտքագրում․ սպասվում էր ${i.stringifyPrimitive(a.values[1])}`;return`Սխալ տարբերակ․ սպասվում էր հետևյալներից մեկը՝ ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r){let e=h(Number(a.maximum),r.unit.one,r.unit.many);return`Չափազանց մեծ արժեք․ սպասվում է, որ ${m(a.origin??"արժեք")} կունենա ${t}${a.maximum.toString()} ${e}`}return`Չափազանց մեծ արժեք․ սպասվում է, որ ${m(a.origin??"արժեք")} լինի ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r){let e=h(Number(a.minimum),r.unit.one,r.unit.many);return`Չափազանց փոքր արժեք․ սպասվում է, որ ${m(a.origin)} կունենա ${t}${a.minimum.toString()} ${e}`}return`Չափազանց փոքր արժեք․ սպասվում է, որ ${m(a.origin)} լինի ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Սխալ տող․ պետք է սկսվի "${a.prefix}"-ով`;if("ends_with"===a.format)return`Սխալ տող․ պետք է ավարտվի "${a.suffix}"-ով`;if("includes"===a.format)return`Սխալ տող․ պետք է պարունակի "${a.includes}"`;if("regex"===a.format)return`Սխալ տող․ պետք է համապատասխանի ${a.pattern} ձևաչափին`;return`Սխալ ${t[a.format]??a.format}`;case"not_multiple_of":return`Սխալ թիվ․ պետք է բազմապատիկ լինի ${a.divisor}-ի`;case"unrecognized_keys":return`Չճանաչված բանալի${a.keys.length>1?"ներ":""}. ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Սխալ բանալի ${m(a.origin)}-ում`;case"invalid_union":default:return"Սխալ մուտքագրում";case"invalid_element":return`Սխալ արժեք ${m(a.origin)}-ում`}})}},"id",0,function(){let e,t,r;return{localeError:(e={string:{unit:"karakter",verb:"memiliki"},file:{unit:"byte",verb:"memiliki"},array:{unit:"item",verb:"memiliki"},set:{unit:"item",verb:"memiliki"}},t={regex:"input",email:"alamat email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tanggal dan waktu format ISO",date:"tanggal format ISO",time:"jam format ISO",duration:"durasi format ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"rentang alamat IPv4",cidrv6:"rentang alamat IPv6",base64:"string dengan enkode base64",base64url:"string dengan enkode base64url",json_string:"string JSON",e164:"angka E.164",jwt:"JWT",template_literal:"input"},r={nan:"NaN"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Input tidak valid: diharapkan instanceof ${a.expected}, diterima ${n}`;return`Input tidak valid: diharapkan ${e}, diterima ${n}`}case"invalid_value":if(1===a.values.length)return`Input tidak valid: diharapkan ${i.stringifyPrimitive(a.values[0])}`;return`Pilihan tidak valid: diharapkan salah satu dari ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`Terlalu besar: diharapkan ${a.origin??"value"} memiliki ${t}${a.maximum.toString()} ${r.unit??"elemen"}`;return`Terlalu besar: diharapkan ${a.origin??"value"} menjadi ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`Terlalu kecil: diharapkan ${a.origin} memiliki ${t}${a.minimum.toString()} ${r.unit}`;return`Terlalu kecil: diharapkan ${a.origin} menjadi ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`String tidak valid: harus dimulai dengan "${a.prefix}"`;if("ends_with"===a.format)return`String tidak valid: harus berakhir dengan "${a.suffix}"`;if("includes"===a.format)return`String tidak valid: harus menyertakan "${a.includes}"`;if("regex"===a.format)return`String tidak valid: harus sesuai pola ${a.pattern}`;return`${t[a.format]??a.format} tidak valid`;case"not_multiple_of":return`Angka tidak valid: harus kelipatan dari ${a.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali ${a.keys.length>1?"s":""}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Kunci tidak valid di ${a.origin}`;case"invalid_union":default:return"Input tidak valid";case"invalid_element":return`Nilai tidak valid di ${a.origin}`}})}},"is",0,function(){let e,t,r;return{localeError:(e={string:{unit:"stafi",verb:"að hafa"},file:{unit:"bæti",verb:"að hafa"},array:{unit:"hluti",verb:"að hafa"},set:{unit:"hluti",verb:"að hafa"}},t={regex:"gildi",email:"netfang",url:"vefslóð",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dagsetning og tími",date:"ISO dagsetning",time:"ISO tími",duration:"ISO tímalengd",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded strengur",base64url:"base64url-encoded strengur",json_string:"JSON strengur",e164:"E.164 tölugildi",jwt:"JWT",template_literal:"gildi"},r={nan:"NaN",number:"númer",array:"fylki"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Rangt gildi: \xde\xfa sl\xf3st inn ${n} \xfear sem \xe1 a\xf0 vera instanceof ${a.expected}`;return`Rangt gildi: \xde\xfa sl\xf3st inn ${n} \xfear sem \xe1 a\xf0 vera ${e}`}case"invalid_value":if(1===a.values.length)return`Rangt gildi: gert r\xe1\xf0 fyrir ${i.stringifyPrimitive(a.values[0])}`;return`\xd3gilt val: m\xe1 vera eitt af eftirfarandi ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`Of st\xf3rt: gert er r\xe1\xf0 fyrir a\xf0 ${a.origin??"gildi"} hafi ${t}${a.maximum.toString()} ${r.unit??"hluti"}`;return`Of st\xf3rt: gert er r\xe1\xf0 fyrir a\xf0 ${a.origin??"gildi"} s\xe9 ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`Of l\xedti\xf0: gert er r\xe1\xf0 fyrir a\xf0 ${a.origin} hafi ${t}${a.minimum.toString()} ${r.unit}`;return`Of l\xedti\xf0: gert er r\xe1\xf0 fyrir a\xf0 ${a.origin} s\xe9 ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`\xd3gildur strengur: ver\xf0ur a\xf0 byrja \xe1 "${a.prefix}"`;if("ends_with"===a.format)return`\xd3gildur strengur: ver\xf0ur a\xf0 enda \xe1 "${a.suffix}"`;if("includes"===a.format)return`\xd3gildur strengur: ver\xf0ur a\xf0 innihalda "${a.includes}"`;if("regex"===a.format)return`\xd3gildur strengur: ver\xf0ur a\xf0 fylgja mynstri ${a.pattern}`;return`Rangt ${t[a.format]??a.format}`;case"not_multiple_of":return`R\xf6ng tala: ver\xf0ur a\xf0 vera margfeldi af ${a.divisor}`;case"unrecognized_keys":return`\xd3\xfeekkt ${a.keys.length>1?"ir lyklar":"ur lykill"}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Rangur lykill \xed ${a.origin}`;case"invalid_union":default:return"Rangt gildi";case"invalid_element":return`Rangt gildi \xed ${a.origin}`}})}},"it",0,function(){let e,t,r;return{localeError:(e={string:{unit:"caratteri",verb:"avere"},file:{unit:"byte",verb:"avere"},array:{unit:"elementi",verb:"avere"},set:{unit:"elementi",verb:"avere"}},t={regex:"input",email:"indirizzo email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e ora ISO",date:"data ISO",time:"ora ISO",duration:"durata ISO",ipv4:"indirizzo IPv4",ipv6:"indirizzo IPv6",cidrv4:"intervallo IPv4",cidrv6:"intervallo IPv6",base64:"stringa codificata in base64",base64url:"URL codificata in base64",json_string:"stringa JSON",e164:"numero E.164",jwt:"JWT",template_literal:"input"},r={nan:"NaN",number:"numero",array:"vettore"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Input non valido: atteso instanceof ${a.expected}, ricevuto ${n}`;return`Input non valido: atteso ${e}, ricevuto ${n}`}case"invalid_value":if(1===a.values.length)return`Input non valido: atteso ${i.stringifyPrimitive(a.values[0])}`;return`Opzione non valida: atteso uno tra ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`Troppo grande: ${a.origin??"valore"} deve avere ${t}${a.maximum.toString()} ${r.unit??"elementi"}`;return`Troppo grande: ${a.origin??"valore"} deve essere ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`Troppo piccolo: ${a.origin} deve avere ${t}${a.minimum.toString()} ${r.unit}`;return`Troppo piccolo: ${a.origin} deve essere ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Stringa non valida: deve iniziare con "${a.prefix}"`;if("ends_with"===a.format)return`Stringa non valida: deve terminare con "${a.suffix}"`;if("includes"===a.format)return`Stringa non valida: deve includere "${a.includes}"`;if("regex"===a.format)return`Stringa non valida: deve corrispondere al pattern ${a.pattern}`;return`Input non valido: ${t[a.format]??a.format}`;case"not_multiple_of":return`Numero non valido: deve essere un multiplo di ${a.divisor}`;case"unrecognized_keys":return`Chiav${a.keys.length>1?"i":"e"} non riconosciut${a.keys.length>1?"e":"a"}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Chiave non valida in ${a.origin}`;case"invalid_union":default:return"Input non valido";case"invalid_element":return`Valore non valido in ${a.origin}`}})}},"ja",0,function(){let e,t,r;return{localeError:(e={string:{unit:"文字",verb:"である"},file:{unit:"バイト",verb:"である"},array:{unit:"要素",verb:"である"},set:{unit:"要素",verb:"である"}},t={regex:"入力値",email:"メールアドレス",url:"URL",emoji:"絵文字",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO日時",date:"ISO日付",time:"ISO時刻",duration:"ISO期間",ipv4:"IPv4アドレス",ipv6:"IPv6アドレス",cidrv4:"IPv4範囲",cidrv6:"IPv6範囲",base64:"base64エンコード文字列",base64url:"base64urlエンコード文字列",json_string:"JSON文字列",e164:"E.164番号",jwt:"JWT",template_literal:"入力値"},r={nan:"NaN",number:"数値",array:"配列"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`無効な入力: instanceof ${a.expected}が期待されましたが、${n}が入力されました`;return`無効な入力: ${e}が期待されましたが、${n}が入力されました`}case"invalid_value":if(1===a.values.length)return`無効な入力: ${i.stringifyPrimitive(a.values[0])}が期待されました`;return`無効な選択: ${i.joinValues(a.values,"、")}のいずれかである必要があります`;case"too_big":{let t=a.inclusive?"以下である":"より小さい",r=e[a.origin]??null;if(r)return`大きすぎる値: ${a.origin??"値"}は${a.maximum.toString()}${r.unit??"要素"}${t}必要があります`;return`大きすぎる値: ${a.origin??"値"}は${a.maximum.toString()}${t}必要があります`}case"too_small":{let t=a.inclusive?"以上である":"より大きい",r=e[a.origin]??null;if(r)return`小さすぎる値: ${a.origin}は${a.minimum.toString()}${r.unit}${t}必要があります`;return`小さすぎる値: ${a.origin}は${a.minimum.toString()}${t}必要があります`}case"invalid_format":if("starts_with"===a.format)return`無効な文字列: "${a.prefix}"で始まる必要があります`;if("ends_with"===a.format)return`無効な文字列: "${a.suffix}"で終わる必要があります`;if("includes"===a.format)return`無効な文字列: "${a.includes}"を含む必要があります`;if("regex"===a.format)return`無効な文字列: パターン${a.pattern}に一致する必要があります`;return`無効な${t[a.format]??a.format}`;case"not_multiple_of":return`無効な数値: ${a.divisor}の倍数である必要があります`;case"unrecognized_keys":return`認識されていないキー${a.keys.length>1?"群":""}: ${i.joinValues(a.keys,"、")}`;case"invalid_key":return`${a.origin}内の無効なキー`;case"invalid_union":default:return"無効な入力";case"invalid_element":return`${a.origin}内の無効な値`}})}},"ka",0,function(){let e,t,r;return{localeError:(e={string:{unit:"სიმბოლო",verb:"უნდა შეიცავდეს"},file:{unit:"ბაიტი",verb:"უნდა შეიცავდეს"},array:{unit:"ელემენტი",verb:"უნდა შეიცავდეს"},set:{unit:"ელემენტი",verb:"უნდა შეიცავდეს"}},t={regex:"შეყვანა",email:"ელ-ფოსტის მისამართი",url:"URL",emoji:"ემოჯი",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"თარიღი-დრო",date:"თარიღი",time:"დრო",duration:"ხანგრძლივობა",ipv4:"IPv4 მისამართი",ipv6:"IPv6 მისამართი",cidrv4:"IPv4 დიაპაზონი",cidrv6:"IPv6 დიაპაზონი",base64:"base64-კოდირებული ველი",base64url:"base64url-კოდირებული ველი",json_string:"JSON ველი",e164:"E.164 ნომერი",jwt:"JWT",template_literal:"შეყვანა"},r={nan:"NaN",number:"რიცხვი",string:"ველი",boolean:"ბულეანი",function:"ფუნქცია",array:"მასივი"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`არასწორი შეყვანა: მოსალოდნელი instanceof ${a.expected}, მიღებული ${n}`;return`არასწორი შეყვანა: მოსალოდნელი ${e}, მიღებული ${n}`}case"invalid_value":if(1===a.values.length)return`არასწორი შეყვანა: მოსალოდნელი ${i.stringifyPrimitive(a.values[0])}`;return`არასწორი ვარიანტი: მოსალოდნელია ერთ-ერთი ${i.joinValues(a.values,"|")}-დან`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`ზედმეტად დიდი: მოსალოდნელი ${a.origin??"მნიშვნელობა"} ${r.verb} ${t}${a.maximum.toString()} ${r.unit}`;return`ზედმეტად დიდი: მოსალოდნელი ${a.origin??"მნიშვნელობა"} იყოს ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`ზედმეტად პატარა: მოსალოდნელი ${a.origin} ${r.verb} ${t}${a.minimum.toString()} ${r.unit}`;return`ზედმეტად პატარა: მოსალოდნელი ${a.origin} იყოს ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`არასწორი ველი: უნდა იწყებოდეს "${a.prefix}"-ით`;if("ends_with"===a.format)return`არასწორი ველი: უნდა მთავრდებოდეს "${a.suffix}"-ით`;if("includes"===a.format)return`არასწორი ველი: უნდა შეიცავდეს "${a.includes}"-ს`;if("regex"===a.format)return`არასწორი ველი: უნდა შეესაბამებოდეს შაბლონს ${a.pattern}`;return`არასწორი ${t[a.format]??a.format}`;case"not_multiple_of":return`არასწორი რიცხვი: უნდა იყოს ${a.divisor}-ის ჯერადი`;case"unrecognized_keys":return`უცნობი გასაღებ${a.keys.length>1?"ები":"ი"}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`არასწორი გასაღები ${a.origin}-ში`;case"invalid_union":default:return"არასწორი შეყვანა";case"invalid_element":return`არასწორი მნიშვნელობა ${a.origin}-ში`}})}},"kh",0,function(){return f()},"km",0,f,"ko",0,function(){let e,t,r;return{localeError:(e={string:{unit:"문자",verb:"to have"},file:{unit:"바이트",verb:"to have"},array:{unit:"개",verb:"to have"},set:{unit:"개",verb:"to have"}},t={regex:"입력",email:"이메일 주소",url:"URL",emoji:"이모지",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO 날짜시간",date:"ISO 날짜",time:"ISO 시간",duration:"ISO 기간",ipv4:"IPv4 주소",ipv6:"IPv6 주소",cidrv4:"IPv4 범위",cidrv6:"IPv6 범위",base64:"base64 인코딩 문자열",base64url:"base64url 인코딩 문자열",json_string:"JSON 문자열",e164:"E.164 번호",jwt:"JWT",template_literal:"입력"},r={nan:"NaN"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`잘못된 입력: 예상 타입은 instanceof ${a.expected}, 받은 타입은 ${n}입니다`;return`잘못된 입력: 예상 타입은 ${e}, 받은 타입은 ${n}입니다`}case"invalid_value":if(1===a.values.length)return`잘못된 입력: 값은 ${i.stringifyPrimitive(a.values[0])} 이어야 합니다`;return`잘못된 옵션: ${i.joinValues(a.values,"또는 ")} 중 하나여야 합니다`;case"too_big":{let t=a.inclusive?"이하":"미만",r="미만"===t?"이어야 합니다":"여야 합니다",i=e[a.origin]??null,n=i?.unit??"요소";if(i)return`${a.origin??"값"}이 너무 큽니다: ${a.maximum.toString()}${n} ${t}${r}`;return`${a.origin??"값"}이 너무 큽니다: ${a.maximum.toString()} ${t}${r}`}case"too_small":{let t=a.inclusive?"이상":"초과",r="이상"===t?"이어야 합니다":"여야 합니다",i=e[a.origin]??null,n=i?.unit??"요소";if(i)return`${a.origin??"값"}이 너무 작습니다: ${a.minimum.toString()}${n} ${t}${r}`;return`${a.origin??"값"}이 너무 작습니다: ${a.minimum.toString()} ${t}${r}`}case"invalid_format":if("starts_with"===a.format)return`잘못된 문자열: "${a.prefix}"(으)로 시작해야 합니다`;if("ends_with"===a.format)return`잘못된 문자열: "${a.suffix}"(으)로 끝나야 합니다`;if("includes"===a.format)return`잘못된 문자열: "${a.includes}"을(를) 포함해야 합니다`;if("regex"===a.format)return`잘못된 문자열: 정규식 ${a.pattern} 패턴과 일치해야 합니다`;return`잘못된 ${t[a.format]??a.format}`;case"not_multiple_of":return`잘못된 숫자: ${a.divisor}의 배수여야 합니다`;case"unrecognized_keys":return`인식할 수 없는 키: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`잘못된 키: ${a.origin}`;case"invalid_union":default:return"잘못된 입력";case"invalid_element":return`잘못된 값: ${a.origin}`}})}},"lt",0,function(){return{localeError:(()=>{let e={string:{unit:{one:"simbolis",few:"simboliai",many:"simbolių"},verb:{smaller:{inclusive:"turi būti ne ilgesnė kaip",notInclusive:"turi būti trumpesnė kaip"},bigger:{inclusive:"turi būti ne trumpesnė kaip",notInclusive:"turi būti ilgesnė kaip"}}},file:{unit:{one:"baitas",few:"baitai",many:"baitų"},verb:{smaller:{inclusive:"turi būti ne didesnis kaip",notInclusive:"turi būti mažesnis kaip"},bigger:{inclusive:"turi būti ne mažesnis kaip",notInclusive:"turi būti didesnis kaip"}}},array:{unit:{one:"elementą",few:"elementus",many:"elementų"},verb:{smaller:{inclusive:"turi turėti ne daugiau kaip",notInclusive:"turi turėti mažiau kaip"},bigger:{inclusive:"turi turėti ne mažiau kaip",notInclusive:"turi turėti daugiau kaip"}}},set:{unit:{one:"elementą",few:"elementus",many:"elementų"},verb:{smaller:{inclusive:"turi turėti ne daugiau kaip",notInclusive:"turi turėti mažiau kaip"},bigger:{inclusive:"turi turėti ne mažiau kaip",notInclusive:"turi turėti daugiau kaip"}}}};function t(t,r,i,a){let n=e[t]??null;return null===n?n:{unit:n.unit[r],verb:n.verb[a][i?"inclusive":"notInclusive"]}}let r={regex:"įvestis",email:"el. pašto adresas",url:"URL",emoji:"jaustukas",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO data ir laikas",date:"ISO data",time:"ISO laikas",duration:"ISO trukmė",ipv4:"IPv4 adresas",ipv6:"IPv6 adresas",cidrv4:"IPv4 tinklo prefiksas (CIDR)",cidrv6:"IPv6 tinklo prefiksas (CIDR)",base64:"base64 užkoduota eilutė",base64url:"base64url užkoduota eilutė",json_string:"JSON eilutė",e164:"E.164 numeris",jwt:"JWT",template_literal:"įvestis"},a={nan:"NaN",number:"skaičius",bigint:"sveikasis skaičius",string:"eilutė",boolean:"loginė reikšmė",undefined:"neapibrėžta reikšmė",function:"funkcija",symbol:"simbolis",array:"masyvas",object:"objektas",null:"nulinė reikšmė"};return e=>{switch(e.code){case"invalid_type":{let t=a[e.expected]??e.expected,r=i.parsedType(e.input),n=a[r]??r;if(/^[A-Z]/.test(e.expected))return`Gautas tipas ${n}, o tikėtasi - instanceof ${e.expected}`;return`Gautas tipas ${n}, o tikėtasi - ${t}`}case"invalid_value":if(1===e.values.length)return`Privalo būti ${i.stringifyPrimitive(e.values[0])}`;return`Privalo būti vienas iš ${i.joinValues(e.values,"|")} pasirinkimų`;case"too_big":{let r=a[e.origin]??e.origin,i=t(e.origin,y(Number(e.maximum)),e.inclusive??!1,"smaller");if(i?.verb)return`${g(r??e.origin??"reikšmė")} ${i.verb} ${e.maximum.toString()} ${i.unit??"elementų"}`;let n=e.inclusive?"ne didesnis kaip":"mažesnis kaip";return`${g(r??e.origin??"reikšmė")} turi būti ${n} ${e.maximum.toString()} ${i?.unit}`}case"too_small":{let r=a[e.origin]??e.origin,i=t(e.origin,y(Number(e.minimum)),e.inclusive??!1,"bigger");if(i?.verb)return`${g(r??e.origin??"reikšmė")} ${i.verb} ${e.minimum.toString()} ${i.unit??"elementų"}`;let n=e.inclusive?"ne mažesnis kaip":"didesnis kaip";return`${g(r??e.origin??"reikšmė")} turi būti ${n} ${e.minimum.toString()} ${i?.unit}`}case"invalid_format":if("starts_with"===e.format)return`Eilutė privalo prasidėti "${e.prefix}"`;if("ends_with"===e.format)return`Eilutė privalo pasibaigti "${e.suffix}"`;if("includes"===e.format)return`Eilutė privalo įtraukti "${e.includes}"`;if("regex"===e.format)return`Eilutė privalo atitikti ${e.pattern}`;return`Neteisingas ${r[e.format]??e.format}`;case"not_multiple_of":return`Skaičius privalo būti ${e.divisor} kartotinis.`;case"unrecognized_keys":return`Neatpažint${e.keys.length>1?"i":"as"} rakt${e.keys.length>1?"ai":"as"}: ${i.joinValues(e.keys,", ")}`;case"invalid_key":return"Rastas klaidingas raktas";case"invalid_union":default:return"Klaidinga įvestis";case"invalid_element":{let t=a[e.origin]??e.origin;return`${g(t??e.origin??"reikšmė")} turi klaidingą įvestį`}}}})()}},"mk",0,function(){let e,t,r;return{localeError:(e={string:{unit:"знаци",verb:"да имаат"},file:{unit:"бајти",verb:"да имаат"},array:{unit:"ставки",verb:"да имаат"},set:{unit:"ставки",verb:"да имаат"}},t={regex:"внес",email:"адреса на е-пошта",url:"URL",emoji:"емоџи",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO датум и време",date:"ISO датум",time:"ISO време",duration:"ISO времетраење",ipv4:"IPv4 адреса",ipv6:"IPv6 адреса",cidrv4:"IPv4 опсег",cidrv6:"IPv6 опсег",base64:"base64-енкодирана низа",base64url:"base64url-енкодирана низа",json_string:"JSON низа",e164:"E.164 број",jwt:"JWT",template_literal:"внес"},r={nan:"NaN",number:"број",array:"низа"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Грешен внес: се очекува instanceof ${a.expected}, примено ${n}`;return`Грешен внес: се очекува ${e}, примено ${n}`}case"invalid_value":if(1===a.values.length)return`Invalid input: expected ${i.stringifyPrimitive(a.values[0])}`;return`Грешана опција: се очекува една ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`Премногу голем: се очекува ${a.origin??"вредноста"} да има ${t}${a.maximum.toString()} ${r.unit??"елементи"}`;return`Премногу голем: се очекува ${a.origin??"вредноста"} да биде ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`Премногу мал: се очекува ${a.origin} да има ${t}${a.minimum.toString()} ${r.unit}`;return`Премногу мал: се очекува ${a.origin} да биде ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Неважечка низа: мора да започнува со "${a.prefix}"`;if("ends_with"===a.format)return`Неважечка низа: мора да завршува со "${a.suffix}"`;if("includes"===a.format)return`Неважечка низа: мора да вклучува "${a.includes}"`;if("regex"===a.format)return`Неважечка низа: мора да одгоара на патернот ${a.pattern}`;return`Invalid ${t[a.format]??a.format}`;case"not_multiple_of":return`Грешен број: мора да биде делив со ${a.divisor}`;case"unrecognized_keys":return`${a.keys.length>1?"Непрепознаени клучеви":"Непрепознаен клуч"}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Грешен клуч во ${a.origin}`;case"invalid_union":default:return"Грешен внес";case"invalid_element":return`Грешна вредност во ${a.origin}`}})}},"ms",0,function(){let e,t,r;return{localeError:(e={string:{unit:"aksara",verb:"mempunyai"},file:{unit:"bait",verb:"mempunyai"},array:{unit:"elemen",verb:"mempunyai"},set:{unit:"elemen",verb:"mempunyai"}},t={regex:"input",email:"alamat e-mel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tarikh masa ISO",date:"tarikh ISO",time:"masa ISO",duration:"tempoh ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"julat IPv4",cidrv6:"julat IPv6",base64:"string dikodkan base64",base64url:"string dikodkan base64url",json_string:"string JSON",e164:"nombor E.164",jwt:"JWT",template_literal:"input"},r={nan:"NaN",number:"nombor"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Input tidak sah: dijangka instanceof ${a.expected}, diterima ${n}`;return`Input tidak sah: dijangka ${e}, diterima ${n}`}case"invalid_value":if(1===a.values.length)return`Input tidak sah: dijangka ${i.stringifyPrimitive(a.values[0])}`;return`Pilihan tidak sah: dijangka salah satu daripada ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`Terlalu besar: dijangka ${a.origin??"nilai"} ${r.verb} ${t}${a.maximum.toString()} ${r.unit??"elemen"}`;return`Terlalu besar: dijangka ${a.origin??"nilai"} adalah ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`Terlalu kecil: dijangka ${a.origin} ${r.verb} ${t}${a.minimum.toString()} ${r.unit}`;return`Terlalu kecil: dijangka ${a.origin} adalah ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`String tidak sah: mesti bermula dengan "${a.prefix}"`;if("ends_with"===a.format)return`String tidak sah: mesti berakhir dengan "${a.suffix}"`;if("includes"===a.format)return`String tidak sah: mesti mengandungi "${a.includes}"`;if("regex"===a.format)return`String tidak sah: mesti sepadan dengan corak ${a.pattern}`;return`${t[a.format]??a.format} tidak sah`;case"not_multiple_of":return`Nombor tidak sah: perlu gandaan ${a.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Kunci tidak sah dalam ${a.origin}`;case"invalid_union":default:return"Input tidak sah";case"invalid_element":return`Nilai tidak sah dalam ${a.origin}`}})}},"nl",0,function(){let e,t,r;return{localeError:(e={string:{unit:"tekens",verb:"heeft"},file:{unit:"bytes",verb:"heeft"},array:{unit:"elementen",verb:"heeft"},set:{unit:"elementen",verb:"heeft"}},t={regex:"invoer",email:"emailadres",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum en tijd",date:"ISO datum",time:"ISO tijd",duration:"ISO duur",ipv4:"IPv4-adres",ipv6:"IPv6-adres",cidrv4:"IPv4-bereik",cidrv6:"IPv6-bereik",base64:"base64-gecodeerde tekst",base64url:"base64 URL-gecodeerde tekst",json_string:"JSON string",e164:"E.164-nummer",jwt:"JWT",template_literal:"invoer"},r={nan:"NaN",number:"getal"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Ongeldige invoer: verwacht instanceof ${a.expected}, ontving ${n}`;return`Ongeldige invoer: verwacht ${e}, ontving ${n}`}case"invalid_value":if(1===a.values.length)return`Ongeldige invoer: verwacht ${i.stringifyPrimitive(a.values[0])}`;return`Ongeldige optie: verwacht \xe9\xe9n van ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null,i="date"===a.origin?"laat":"string"===a.origin?"lang":"groot";if(r)return`Te ${i}: verwacht dat ${a.origin??"waarde"} ${t}${a.maximum.toString()} ${r.unit??"elementen"} ${r.verb}`;return`Te ${i}: verwacht dat ${a.origin??"waarde"} ${t}${a.maximum.toString()} is`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null,i="date"===a.origin?"vroeg":"string"===a.origin?"kort":"klein";if(r)return`Te ${i}: verwacht dat ${a.origin} ${t}${a.minimum.toString()} ${r.unit} ${r.verb}`;return`Te ${i}: verwacht dat ${a.origin} ${t}${a.minimum.toString()} is`}case"invalid_format":if("starts_with"===a.format)return`Ongeldige tekst: moet met "${a.prefix}" beginnen`;if("ends_with"===a.format)return`Ongeldige tekst: moet op "${a.suffix}" eindigen`;if("includes"===a.format)return`Ongeldige tekst: moet "${a.includes}" bevatten`;if("regex"===a.format)return`Ongeldige tekst: moet overeenkomen met patroon ${a.pattern}`;return`Ongeldig: ${t[a.format]??a.format}`;case"not_multiple_of":return`Ongeldig getal: moet een veelvoud van ${a.divisor} zijn`;case"unrecognized_keys":return`Onbekende key${a.keys.length>1?"s":""}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Ongeldige key in ${a.origin}`;case"invalid_union":default:return"Ongeldige invoer";case"invalid_element":return`Ongeldige waarde in ${a.origin}`}})}},"no",0,function(){let e,t,r;return{localeError:(e={string:{unit:"tegn",verb:"å ha"},file:{unit:"bytes",verb:"å ha"},array:{unit:"elementer",verb:"å inneholde"},set:{unit:"elementer",verb:"å inneholde"}},t={regex:"input",email:"e-postadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkeslett",date:"ISO-dato",time:"ISO-klokkeslett",duration:"ISO-varighet",ipv4:"IPv4-område",ipv6:"IPv6-område",cidrv4:"IPv4-spekter",cidrv6:"IPv6-spekter",base64:"base64-enkodet streng",base64url:"base64url-enkodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"},r={nan:"NaN",number:"tall",array:"liste"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Ugyldig input: forventet instanceof ${a.expected}, fikk ${n}`;return`Ugyldig input: forventet ${e}, fikk ${n}`}case"invalid_value":if(1===a.values.length)return`Ugyldig verdi: forventet ${i.stringifyPrimitive(a.values[0])}`;return`Ugyldig valg: forventet en av ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`For stor(t): forventet ${a.origin??"value"} til \xe5 ha ${t}${a.maximum.toString()} ${r.unit??"elementer"}`;return`For stor(t): forventet ${a.origin??"value"} til \xe5 ha ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`For lite(n): forventet ${a.origin} til \xe5 ha ${t}${a.minimum.toString()} ${r.unit}`;return`For lite(n): forventet ${a.origin} til \xe5 ha ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Ugyldig streng: m\xe5 starte med "${a.prefix}"`;if("ends_with"===a.format)return`Ugyldig streng: m\xe5 ende med "${a.suffix}"`;if("includes"===a.format)return`Ugyldig streng: m\xe5 inneholde "${a.includes}"`;if("regex"===a.format)return`Ugyldig streng: m\xe5 matche m\xf8nsteret ${a.pattern}`;return`Ugyldig ${t[a.format]??a.format}`;case"not_multiple_of":return`Ugyldig tall: m\xe5 v\xe6re et multiplum av ${a.divisor}`;case"unrecognized_keys":return`${a.keys.length>1?"Ukjente nøkler":"Ukjent nøkkel"}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Ugyldig n\xf8kkel i ${a.origin}`;case"invalid_union":default:return"Ugyldig input";case"invalid_element":return`Ugyldig verdi i ${a.origin}`}})}},"ota",0,function(){let e,t,r;return{localeError:(e={string:{unit:"harf",verb:"olmalıdır"},file:{unit:"bayt",verb:"olmalıdır"},array:{unit:"unsur",verb:"olmalıdır"},set:{unit:"unsur",verb:"olmalıdır"}},t={regex:"giren",email:"epostagâh",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO hengâmı",date:"ISO tarihi",time:"ISO zamanı",duration:"ISO müddeti",ipv4:"IPv4 nişânı",ipv6:"IPv6 nişânı",cidrv4:"IPv4 menzili",cidrv6:"IPv6 menzili",base64:"base64-şifreli metin",base64url:"base64url-şifreli metin",json_string:"JSON metin",e164:"E.164 sayısı",jwt:"JWT",template_literal:"giren"},r={nan:"NaN",number:"numara",array:"saf",null:"gayb"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`F\xe2sit giren: umulan instanceof ${a.expected}, alınan ${n}`;return`F\xe2sit giren: umulan ${e}, alınan ${n}`}case"invalid_value":if(1===a.values.length)return`F\xe2sit giren: umulan ${i.stringifyPrimitive(a.values[0])}`;return`F\xe2sit tercih: m\xfbteberler ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`Fazla b\xfcy\xfck: ${a.origin??"value"}, ${t}${a.maximum.toString()} ${r.unit??"elements"} sahip olmalıydı.`;return`Fazla b\xfcy\xfck: ${a.origin??"value"}, ${t}${a.maximum.toString()} olmalıydı.`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`Fazla k\xfc\xe7\xfck: ${a.origin}, ${t}${a.minimum.toString()} ${r.unit} sahip olmalıydı.`;return`Fazla k\xfc\xe7\xfck: ${a.origin}, ${t}${a.minimum.toString()} olmalıydı.`}case"invalid_format":if("starts_with"===a.format)return`F\xe2sit metin: "${a.prefix}" ile başlamalı.`;if("ends_with"===a.format)return`F\xe2sit metin: "${a.suffix}" ile bitmeli.`;if("includes"===a.format)return`F\xe2sit metin: "${a.includes}" ihtiv\xe2 etmeli.`;if("regex"===a.format)return`F\xe2sit metin: ${a.pattern} nakşına uymalı.`;return`F\xe2sit ${t[a.format]??a.format}`;case"not_multiple_of":return`F\xe2sit sayı: ${a.divisor} katı olmalıydı.`;case"unrecognized_keys":return`Tanınmayan anahtar ${a.keys.length>1?"s":""}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`${a.origin} i\xe7in tanınmayan anahtar var.`;case"invalid_union":return"Giren tanınamadı.";case"invalid_element":return`${a.origin} i\xe7in tanınmayan kıymet var.`;default:return"Kıymet tanınamadı."}})}},"pl",0,function(){let e,t,r;return{localeError:(e={string:{unit:"znaków",verb:"mieć"},file:{unit:"bajtów",verb:"mieć"},array:{unit:"elementów",verb:"mieć"},set:{unit:"elementów",verb:"mieć"}},t={regex:"wyrażenie",email:"adres email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i godzina w formacie ISO",date:"data w formacie ISO",time:"godzina w formacie ISO",duration:"czas trwania ISO",ipv4:"adres IPv4",ipv6:"adres IPv6",cidrv4:"zakres IPv4",cidrv6:"zakres IPv6",base64:"ciąg znaków zakodowany w formacie base64",base64url:"ciąg znaków zakodowany w formacie base64url",json_string:"ciąg znaków w formacie JSON",e164:"liczba E.164",jwt:"JWT",template_literal:"wejście"},r={nan:"NaN",number:"liczba",array:"tablica"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Nieprawidłowe dane wejściowe: oczekiwano instanceof ${a.expected}, otrzymano ${n}`;return`Nieprawidłowe dane wejściowe: oczekiwano ${e}, otrzymano ${n}`}case"invalid_value":if(1===a.values.length)return`Nieprawidłowe dane wejściowe: oczekiwano ${i.stringifyPrimitive(a.values[0])}`;return`Nieprawidłowa opcja: oczekiwano jednej z wartości ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`Za duża wartość: oczekiwano, że ${a.origin??"wartość"} będzie mieć ${t}${a.maximum.toString()} ${r.unit??"elementów"}`;return`Zbyt duż(y/a/e): oczekiwano, że ${a.origin??"wartość"} będzie wynosić ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`Za mała wartość: oczekiwano, że ${a.origin??"wartość"} będzie mieć ${t}${a.minimum.toString()} ${r.unit??"elementów"}`;return`Zbyt mał(y/a/e): oczekiwano, że ${a.origin??"wartość"} będzie wynosić ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Nieprawidłowy ciąg znak\xf3w: musi zaczynać się od "${a.prefix}"`;if("ends_with"===a.format)return`Nieprawidłowy ciąg znak\xf3w: musi kończyć się na "${a.suffix}"`;if("includes"===a.format)return`Nieprawidłowy ciąg znak\xf3w: musi zawierać "${a.includes}"`;if("regex"===a.format)return`Nieprawidłowy ciąg znak\xf3w: musi odpowiadać wzorcowi ${a.pattern}`;return`Nieprawidłow(y/a/e) ${t[a.format]??a.format}`;case"not_multiple_of":return`Nieprawidłowa liczba: musi być wielokrotnością ${a.divisor}`;case"unrecognized_keys":return`Nierozpoznane klucze${a.keys.length>1?"s":""}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Nieprawidłowy klucz w ${a.origin}`;case"invalid_union":default:return"Nieprawidłowe dane wejściowe";case"invalid_element":return`Nieprawidłowa wartość w ${a.origin}`}})}},"ps",0,function(){let e,t,r;return{localeError:(e={string:{unit:"توکي",verb:"ولري"},file:{unit:"بایټس",verb:"ولري"},array:{unit:"توکي",verb:"ولري"},set:{unit:"توکي",verb:"ولري"}},t={regex:"ورودي",email:"بریښنالیک",url:"یو آر ال",emoji:"ایموجي",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"نیټه او وخت",date:"نېټه",time:"وخت",duration:"موده",ipv4:"د IPv4 پته",ipv6:"د IPv6 پته",cidrv4:"د IPv4 ساحه",cidrv6:"د IPv6 ساحه",base64:"base64-encoded متن",base64url:"base64url-encoded متن",json_string:"JSON متن",e164:"د E.164 شمېره",jwt:"JWT",template_literal:"ورودي"},r={nan:"NaN",number:"عدد",array:"ارې"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`ناسم ورودي: باید instanceof ${a.expected} وای, مګر ${n} ترلاسه شو`;return`ناسم ورودي: باید ${e} وای, مګر ${n} ترلاسه شو`}case"invalid_value":if(1===a.values.length)return`ناسم ورودي: باید ${i.stringifyPrimitive(a.values[0])} وای`;return`ناسم انتخاب: باید یو له ${i.joinValues(a.values,"|")} څخه وای`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`ډیر لوی: ${a.origin??"ارزښت"} باید ${t}${a.maximum.toString()} ${r.unit??"عنصرونه"} ولري`;return`ډیر لوی: ${a.origin??"ارزښت"} باید ${t}${a.maximum.toString()} وي`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`ډیر کوچنی: ${a.origin} باید ${t}${a.minimum.toString()} ${r.unit} ولري`;return`ډیر کوچنی: ${a.origin} باید ${t}${a.minimum.toString()} وي`}case"invalid_format":if("starts_with"===a.format)return`ناسم متن: باید د "${a.prefix}" سره پیل شي`;if("ends_with"===a.format)return`ناسم متن: باید د "${a.suffix}" سره پای ته ورسيږي`;if("includes"===a.format)return`ناسم متن: باید "${a.includes}" ولري`;if("regex"===a.format)return`ناسم متن: باید د ${a.pattern} سره مطابقت ولري`;return`${t[a.format]??a.format} ناسم دی`;case"not_multiple_of":return`ناسم عدد: باید د ${a.divisor} مضرب وي`;case"unrecognized_keys":return`ناسم ${a.keys.length>1?"کلیډونه":"کلیډ"}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`ناسم کلیډ په ${a.origin} کې`;case"invalid_union":default:return"ناسمه ورودي";case"invalid_element":return`ناسم عنصر په ${a.origin} کې`}})}},"pt",0,function(){let e,t,r;return{localeError:(e={string:{unit:"caracteres",verb:"ter"},file:{unit:"bytes",verb:"ter"},array:{unit:"itens",verb:"ter"},set:{unit:"itens",verb:"ter"}},t={regex:"padrão",email:"endereço de e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e hora ISO",date:"data ISO",time:"hora ISO",duration:"duração ISO",ipv4:"endereço IPv4",ipv6:"endereço IPv6",cidrv4:"faixa de IPv4",cidrv6:"faixa de IPv6",base64:"texto codificado em base64",base64url:"URL codificada em base64",json_string:"texto JSON",e164:"número E.164",jwt:"JWT",template_literal:"entrada"},r={nan:"NaN",number:"número",null:"nulo"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Tipo inv\xe1lido: esperado instanceof ${a.expected}, recebido ${n}`;return`Tipo inv\xe1lido: esperado ${e}, recebido ${n}`}case"invalid_value":if(1===a.values.length)return`Entrada inv\xe1lida: esperado ${i.stringifyPrimitive(a.values[0])}`;return`Op\xe7\xe3o inv\xe1lida: esperada uma das ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`Muito grande: esperado que ${a.origin??"valor"} tivesse ${t}${a.maximum.toString()} ${r.unit??"elementos"}`;return`Muito grande: esperado que ${a.origin??"valor"} fosse ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`Muito pequeno: esperado que ${a.origin} tivesse ${t}${a.minimum.toString()} ${r.unit}`;return`Muito pequeno: esperado que ${a.origin} fosse ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Texto inv\xe1lido: deve come\xe7ar com "${a.prefix}"`;if("ends_with"===a.format)return`Texto inv\xe1lido: deve terminar com "${a.suffix}"`;if("includes"===a.format)return`Texto inv\xe1lido: deve incluir "${a.includes}"`;if("regex"===a.format)return`Texto inv\xe1lido: deve corresponder ao padr\xe3o ${a.pattern}`;return`${t[a.format]??a.format} inv\xe1lido`;case"not_multiple_of":return`N\xfamero inv\xe1lido: deve ser m\xfaltiplo de ${a.divisor}`;case"unrecognized_keys":return`Chave${a.keys.length>1?"s":""} desconhecida${a.keys.length>1?"s":""}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Chave inv\xe1lida em ${a.origin}`;case"invalid_union":return"Entrada inválida";case"invalid_element":return`Valor inv\xe1lido em ${a.origin}`;default:return"Campo inválido"}})}},"ro",0,function(){let e,t,r;return{localeError:(e={string:{unit:"caractere",verb:"să aibă"},file:{unit:"octeți",verb:"să aibă"},array:{unit:"elemente",verb:"să aibă"},set:{unit:"elemente",verb:"să aibă"},map:{unit:"intrări",verb:"să aibă"}},t={regex:"intrare",email:"adresă de email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"dată și oră ISO",date:"dată ISO",time:"oră ISO",duration:"durată ISO",ipv4:"adresă IPv4",ipv6:"adresă IPv6",mac:"adresă MAC",cidrv4:"interval IPv4",cidrv6:"interval IPv6",base64:"șir codat base64",base64url:"șir codat base64url",json_string:"șir JSON",e164:"număr E.164",jwt:"JWT",template_literal:"intrare"},r={nan:"NaN",string:"șir",number:"număr",boolean:"boolean",function:"funcție",array:"matrice",object:"obiect",undefined:"nedefinit",symbol:"simbol",bigint:"număr mare",void:"void",never:"never",map:"hartă",set:"set"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;return`Intrare invalidă: așteptat ${e}, primit ${n}`}case"invalid_value":if(1===a.values.length)return`Intrare invalidă: așteptat ${i.stringifyPrimitive(a.values[0])}`;return`Opțiune invalidă: așteptat una dintre ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`Prea mare: așteptat ca ${a.origin??"valoarea"} ${r.verb} ${t}${a.maximum.toString()} ${r.unit??"elemente"}`;return`Prea mare: așteptat ca ${a.origin??"valoarea"} să fie ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`Prea mic: așteptat ca ${a.origin} ${r.verb} ${t}${a.minimum.toString()} ${r.unit}`;return`Prea mic: așteptat ca ${a.origin} să fie ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Șir invalid: trebuie să \xeenceapă cu "${a.prefix}"`;if("ends_with"===a.format)return`Șir invalid: trebuie să se termine cu "${a.suffix}"`;if("includes"===a.format)return`Șir invalid: trebuie să includă "${a.includes}"`;if("regex"===a.format)return`Șir invalid: trebuie să se potrivească cu modelul ${a.pattern}`;return`Format invalid: ${t[a.format]??a.format}`;case"not_multiple_of":return`Număr invalid: trebuie să fie multiplu de ${a.divisor}`;case"unrecognized_keys":return`Chei nerecunoscute: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Cheie invalidă \xeen ${a.origin}`;case"invalid_union":default:return"Intrare invalidă";case"invalid_element":return`Valoare invalidă \xeen ${a.origin}`}})}},"ru",0,function(){let e,t,r;return{localeError:(e={string:{unit:{one:"символ",few:"символа",many:"символов"},verb:"иметь"},file:{unit:{one:"байт",few:"байта",many:"байт"},verb:"иметь"},array:{unit:{one:"элемент",few:"элемента",many:"элементов"},verb:"иметь"},set:{unit:{one:"элемент",few:"элемента",many:"элементов"},verb:"иметь"}},t={regex:"ввод",email:"email адрес",url:"URL",emoji:"эмодзи",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO дата и время",date:"ISO дата",time:"ISO время",duration:"ISO длительность",ipv4:"IPv4 адрес",ipv6:"IPv6 адрес",cidrv4:"IPv4 диапазон",cidrv6:"IPv6 диапазон",base64:"строка в формате base64",base64url:"строка в формате base64url",json_string:"JSON строка",e164:"номер E.164",jwt:"JWT",template_literal:"ввод"},r={nan:"NaN",number:"число",array:"массив"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Неверный ввод: ожидалось instanceof ${a.expected}, получено ${n}`;return`Неверный ввод: ожидалось ${e}, получено ${n}`}case"invalid_value":if(1===a.values.length)return`Неверный ввод: ожидалось ${i.stringifyPrimitive(a.values[0])}`;return`Неверный вариант: ожидалось одно из ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r){let e=w(Number(a.maximum),r.unit.one,r.unit.few,r.unit.many);return`Слишком большое значение: ожидалось, что ${a.origin??"значение"} будет иметь ${t}${a.maximum.toString()} ${e}`}return`Слишком большое значение: ожидалось, что ${a.origin??"значение"} будет ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r){let e=w(Number(a.minimum),r.unit.one,r.unit.few,r.unit.many);return`Слишком маленькое значение: ожидалось, что ${a.origin} будет иметь ${t}${a.minimum.toString()} ${e}`}return`Слишком маленькое значение: ожидалось, что ${a.origin} будет ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Неверная строка: должна начинаться с "${a.prefix}"`;if("ends_with"===a.format)return`Неверная строка: должна заканчиваться на "${a.suffix}"`;if("includes"===a.format)return`Неверная строка: должна содержать "${a.includes}"`;if("regex"===a.format)return`Неверная строка: должна соответствовать шаблону ${a.pattern}`;return`Неверный ${t[a.format]??a.format}`;case"not_multiple_of":return`Неверное число: должно быть кратным ${a.divisor}`;case"unrecognized_keys":return`Нераспознанн${a.keys.length>1?"ые":"ый"} ключ${a.keys.length>1?"и":""}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Неверный ключ в ${a.origin}`;case"invalid_union":default:return"Неверные входные данные";case"invalid_element":return`Неверное значение в ${a.origin}`}})}},"sl",0,function(){let e,t,r;return{localeError:(e={string:{unit:"znakov",verb:"imeti"},file:{unit:"bajtov",verb:"imeti"},array:{unit:"elementov",verb:"imeti"},set:{unit:"elementov",verb:"imeti"}},t={regex:"vnos",email:"e-poštni naslov",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum in čas",date:"ISO datum",time:"ISO čas",duration:"ISO trajanje",ipv4:"IPv4 naslov",ipv6:"IPv6 naslov",cidrv4:"obseg IPv4",cidrv6:"obseg IPv6",base64:"base64 kodiran niz",base64url:"base64url kodiran niz",json_string:"JSON niz",e164:"E.164 številka",jwt:"JWT",template_literal:"vnos"},r={nan:"NaN",number:"število",array:"tabela"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Neveljaven vnos: pričakovano instanceof ${a.expected}, prejeto ${n}`;return`Neveljaven vnos: pričakovano ${e}, prejeto ${n}`}case"invalid_value":if(1===a.values.length)return`Neveljaven vnos: pričakovano ${i.stringifyPrimitive(a.values[0])}`;return`Neveljavna možnost: pričakovano eno izmed ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`Preveliko: pričakovano, da bo ${a.origin??"vrednost"} imelo ${t}${a.maximum.toString()} ${r.unit??"elementov"}`;return`Preveliko: pričakovano, da bo ${a.origin??"vrednost"} ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`Premajhno: pričakovano, da bo ${a.origin} imelo ${t}${a.minimum.toString()} ${r.unit}`;return`Premajhno: pričakovano, da bo ${a.origin} ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Neveljaven niz: mora se začeti z "${a.prefix}"`;if("ends_with"===a.format)return`Neveljaven niz: mora se končati z "${a.suffix}"`;if("includes"===a.format)return`Neveljaven niz: mora vsebovati "${a.includes}"`;if("regex"===a.format)return`Neveljaven niz: mora ustrezati vzorcu ${a.pattern}`;return`Neveljaven ${t[a.format]??a.format}`;case"not_multiple_of":return`Neveljavno število: mora biti večkratnik ${a.divisor}`;case"unrecognized_keys":return`Neprepoznan${a.keys.length>1?"i ključi":" ključ"}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Neveljaven ključ v ${a.origin}`;case"invalid_union":default:return"Neveljaven vnos";case"invalid_element":return`Neveljavna vrednost v ${a.origin}`}})}},"sv",0,function(){let e,t,r;return{localeError:(e={string:{unit:"tecken",verb:"att ha"},file:{unit:"bytes",verb:"att ha"},array:{unit:"objekt",verb:"att innehålla"},set:{unit:"objekt",verb:"att innehålla"}},t={regex:"reguljärt uttryck",email:"e-postadress",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datum och tid",date:"ISO-datum",time:"ISO-tid",duration:"ISO-varaktighet",ipv4:"IPv4-intervall",ipv6:"IPv6-intervall",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodad sträng",base64url:"base64url-kodad sträng",json_string:"JSON-sträng",e164:"E.164-nummer",jwt:"JWT",template_literal:"mall-literal"},r={nan:"NaN",number:"antal",array:"lista"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Ogiltig inmatning: f\xf6rv\xe4ntat instanceof ${a.expected}, fick ${n}`;return`Ogiltig inmatning: f\xf6rv\xe4ntat ${e}, fick ${n}`}case"invalid_value":if(1===a.values.length)return`Ogiltig inmatning: f\xf6rv\xe4ntat ${i.stringifyPrimitive(a.values[0])}`;return`Ogiltigt val: f\xf6rv\xe4ntade en av ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`F\xf6r stor(t): f\xf6rv\xe4ntade ${a.origin??"värdet"} att ha ${t}${a.maximum.toString()} ${r.unit??"element"}`;return`F\xf6r stor(t): f\xf6rv\xe4ntat ${a.origin??"värdet"} att ha ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`F\xf6r lite(t): f\xf6rv\xe4ntade ${a.origin??"värdet"} att ha ${t}${a.minimum.toString()} ${r.unit}`;return`F\xf6r lite(t): f\xf6rv\xe4ntade ${a.origin??"värdet"} att ha ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Ogiltig str\xe4ng: m\xe5ste b\xf6rja med "${a.prefix}"`;if("ends_with"===a.format)return`Ogiltig str\xe4ng: m\xe5ste sluta med "${a.suffix}"`;if("includes"===a.format)return`Ogiltig str\xe4ng: m\xe5ste inneh\xe5lla "${a.includes}"`;if("regex"===a.format)return`Ogiltig str\xe4ng: m\xe5ste matcha m\xf6nstret "${a.pattern}"`;return`Ogiltig(t) ${t[a.format]??a.format}`;case"not_multiple_of":return`Ogiltigt tal: m\xe5ste vara en multipel av ${a.divisor}`;case"unrecognized_keys":return`${a.keys.length>1?"Okända nycklar":"Okänd nyckel"}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Ogiltig nyckel i ${a.origin??"värdet"}`;case"invalid_union":default:return"Ogiltig input";case"invalid_element":return`Ogiltigt v\xe4rde i ${a.origin??"värdet"}`}})}},"ta",0,function(){let e,t,r;return{localeError:(e={string:{unit:"எழுத்துக்கள்",verb:"கொண்டிருக்க வேண்டும்"},file:{unit:"பைட்டுகள்",verb:"கொண்டிருக்க வேண்டும்"},array:{unit:"உறுப்புகள்",verb:"கொண்டிருக்க வேண்டும்"},set:{unit:"உறுப்புகள்",verb:"கொண்டிருக்க வேண்டும்"}},t={regex:"உள்ளீடு",email:"மின்னஞ்சல் முகவரி",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO தேதி நேரம்",date:"ISO தேதி",time:"ISO நேரம்",duration:"ISO கால அளவு",ipv4:"IPv4 முகவரி",ipv6:"IPv6 முகவரி",cidrv4:"IPv4 வரம்பு",cidrv6:"IPv6 வரம்பு",base64:"base64-encoded சரம்",base64url:"base64url-encoded சரம்",json_string:"JSON சரம்",e164:"E.164 எண்",jwt:"JWT",template_literal:"input"},r={nan:"NaN",number:"எண்",array:"அணி",null:"வெறுமை"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது instanceof ${a.expected}, பெறப்பட்டது ${n}`;return`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது ${e}, பெறப்பட்டது ${n}`}case"invalid_value":if(1===a.values.length)return`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது ${i.stringifyPrimitive(a.values[0])}`;return`தவறான விருப்பம்: எதிர்பார்க்கப்பட்டது ${i.joinValues(a.values,"|")} இல் ஒன்று`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`மிக பெரியது: எதிர்பார்க்கப்பட்டது ${a.origin??"மதிப்பு"} ${t}${a.maximum.toString()} ${r.unit??"உறுப்புகள்"} ஆக இருக்க வேண்டும்`;return`மிக பெரியது: எதிர்பார்க்கப்பட்டது ${a.origin??"மதிப்பு"} ${t}${a.maximum.toString()} ஆக இருக்க வேண்டும்`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`மிகச் சிறியது: எதிர்பார்க்கப்பட்டது ${a.origin} ${t}${a.minimum.toString()} ${r.unit} ஆக இருக்க வேண்டும்`;return`மிகச் சிறியது: எதிர்பார்க்கப்பட்டது ${a.origin} ${t}${a.minimum.toString()} ஆக இருக்க வேண்டும்`}case"invalid_format":if("starts_with"===a.format)return`தவறான சரம்: "${a.prefix}" இல் தொடங்க வேண்டும்`;if("ends_with"===a.format)return`தவறான சரம்: "${a.suffix}" இல் முடிவடைய வேண்டும்`;if("includes"===a.format)return`தவறான சரம்: "${a.includes}" ஐ உள்ளடக்க வேண்டும்`;if("regex"===a.format)return`தவறான சரம்: ${a.pattern} முறைபாட்டுடன் பொருந்த வேண்டும்`;return`தவறான ${t[a.format]??a.format}`;case"not_multiple_of":return`தவறான எண்: ${a.divisor} இன் பலமாக இருக்க வேண்டும்`;case"unrecognized_keys":return`அடையாளம் தெரியாத விசை${a.keys.length>1?"கள்":""}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`${a.origin} இல் தவறான விசை`;case"invalid_union":default:return"தவறான உள்ளீடு";case"invalid_element":return`${a.origin} இல் தவறான மதிப்பு`}})}},"th",0,function(){let e,t,r;return{localeError:(e={string:{unit:"ตัวอักษร",verb:"ควรมี"},file:{unit:"ไบต์",verb:"ควรมี"},array:{unit:"รายการ",verb:"ควรมี"},set:{unit:"รายการ",verb:"ควรมี"}},t={regex:"ข้อมูลที่ป้อน",email:"ที่อยู่อีเมล",url:"URL",emoji:"อิโมจิ",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"วันที่เวลาแบบ ISO",date:"วันที่แบบ ISO",time:"เวลาแบบ ISO",duration:"ช่วงเวลาแบบ ISO",ipv4:"ที่อยู่ IPv4",ipv6:"ที่อยู่ IPv6",cidrv4:"ช่วง IP แบบ IPv4",cidrv6:"ช่วง IP แบบ IPv6",base64:"ข้อความแบบ Base64",base64url:"ข้อความแบบ Base64 สำหรับ URL",json_string:"ข้อความแบบ JSON",e164:"เบอร์โทรศัพท์ระหว่างประเทศ (E.164)",jwt:"โทเคน JWT",template_literal:"ข้อมูลที่ป้อน"},r={nan:"NaN",number:"ตัวเลข",array:"อาร์เรย์ (Array)",null:"ไม่มีค่า (null)"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`ประเภทข้อมูลไม่ถูกต้อง: ควรเป็น instanceof ${a.expected} แต่ได้รับ ${n}`;return`ประเภทข้อมูลไม่ถูกต้อง: ควรเป็น ${e} แต่ได้รับ ${n}`}case"invalid_value":if(1===a.values.length)return`ค่าไม่ถูกต้อง: ควรเป็น ${i.stringifyPrimitive(a.values[0])}`;return`ตัวเลือกไม่ถูกต้อง: ควรเป็นหนึ่งใน ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"ไม่เกิน":"น้อยกว่า",r=e[a.origin]??null;if(r)return`เกินกำหนด: ${a.origin??"ค่า"} ควรมี${t} ${a.maximum.toString()} ${r.unit??"รายการ"}`;return`เกินกำหนด: ${a.origin??"ค่า"} ควรมี${t} ${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?"อย่างน้อย":"มากกว่า",r=e[a.origin]??null;if(r)return`น้อยกว่ากำหนด: ${a.origin} ควรมี${t} ${a.minimum.toString()} ${r.unit}`;return`น้อยกว่ากำหนด: ${a.origin} ควรมี${t} ${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`รูปแบบไม่ถูกต้อง: ข้อความต้องขึ้นต้นด้วย "${a.prefix}"`;if("ends_with"===a.format)return`รูปแบบไม่ถูกต้อง: ข้อความต้องลงท้ายด้วย "${a.suffix}"`;if("includes"===a.format)return`รูปแบบไม่ถูกต้อง: ข้อความต้องมี "${a.includes}" อยู่ในข้อความ`;if("regex"===a.format)return`รูปแบบไม่ถูกต้อง: ต้องตรงกับรูปแบบที่กำหนด ${a.pattern}`;return`รูปแบบไม่ถูกต้อง: ${t[a.format]??a.format}`;case"not_multiple_of":return`ตัวเลขไม่ถูกต้อง: ต้องเป็นจำนวนที่หารด้วย ${a.divisor} ได้ลงตัว`;case"unrecognized_keys":return`พบคีย์ที่ไม่รู้จัก: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`คีย์ไม่ถูกต้องใน ${a.origin}`;case"invalid_union":return"ข้อมูลไม่ถูกต้อง: ไม่ตรงกับรูปแบบยูเนียนที่กำหนดไว้";case"invalid_element":return`ข้อมูลไม่ถูกต้องใน ${a.origin}`;default:return"ข้อมูลไม่ถูกต้อง"}})}},"tr",0,function(){let e,t,r;return{localeError:(e={string:{unit:"karakter",verb:"olmalı"},file:{unit:"bayt",verb:"olmalı"},array:{unit:"öğe",verb:"olmalı"},set:{unit:"öğe",verb:"olmalı"}},t={regex:"girdi",email:"e-posta adresi",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO tarih ve saat",date:"ISO tarih",time:"ISO saat",duration:"ISO süre",ipv4:"IPv4 adresi",ipv6:"IPv6 adresi",cidrv4:"IPv4 aralığı",cidrv6:"IPv6 aralığı",base64:"base64 ile şifrelenmiş metin",base64url:"base64url ile şifrelenmiş metin",json_string:"JSON dizesi",e164:"E.164 sayısı",jwt:"JWT",template_literal:"Şablon dizesi"},r={nan:"NaN"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Ge\xe7ersiz değer: beklenen instanceof ${a.expected}, alınan ${n}`;return`Ge\xe7ersiz değer: beklenen ${e}, alınan ${n}`}case"invalid_value":if(1===a.values.length)return`Ge\xe7ersiz değer: beklenen ${i.stringifyPrimitive(a.values[0])}`;return`Ge\xe7ersiz se\xe7enek: aşağıdakilerden biri olmalı: ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`\xc7ok b\xfcy\xfck: beklenen ${a.origin??"değer"} ${t}${a.maximum.toString()} ${r.unit??"öğe"}`;return`\xc7ok b\xfcy\xfck: beklenen ${a.origin??"değer"} ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`\xc7ok k\xfc\xe7\xfck: beklenen ${a.origin} ${t}${a.minimum.toString()} ${r.unit}`;return`\xc7ok k\xfc\xe7\xfck: beklenen ${a.origin} ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Ge\xe7ersiz metin: "${a.prefix}" ile başlamalı`;if("ends_with"===a.format)return`Ge\xe7ersiz metin: "${a.suffix}" ile bitmeli`;if("includes"===a.format)return`Ge\xe7ersiz metin: "${a.includes}" i\xe7ermeli`;if("regex"===a.format)return`Ge\xe7ersiz metin: ${a.pattern} desenine uymalı`;return`Ge\xe7ersiz ${t[a.format]??a.format}`;case"not_multiple_of":return`Ge\xe7ersiz sayı: ${a.divisor} ile tam b\xf6l\xfcnebilmeli`;case"unrecognized_keys":return`Tanınmayan anahtar${a.keys.length>1?"lar":""}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`${a.origin} i\xe7inde ge\xe7ersiz anahtar`;case"invalid_union":default:return"Geçersiz değer";case"invalid_element":return`${a.origin} i\xe7inde ge\xe7ersiz değer`}})}},"ua",0,function(){return b()},"uk",0,b,"ur",0,function(){let e,t,r;return{localeError:(e={string:{unit:"حروف",verb:"ہونا"},file:{unit:"بائٹس",verb:"ہونا"},array:{unit:"آئٹمز",verb:"ہونا"},set:{unit:"آئٹمز",verb:"ہونا"}},t={regex:"ان پٹ",email:"ای میل ایڈریس",url:"یو آر ایل",emoji:"ایموجی",uuid:"یو یو آئی ڈی",uuidv4:"یو یو آئی ڈی وی 4",uuidv6:"یو یو آئی ڈی وی 6",nanoid:"نینو آئی ڈی",guid:"جی یو آئی ڈی",cuid:"سی یو آئی ڈی",cuid2:"سی یو آئی ڈی 2",ulid:"یو ایل آئی ڈی",xid:"ایکس آئی ڈی",ksuid:"کے ایس یو آئی ڈی",datetime:"آئی ایس او ڈیٹ ٹائم",date:"آئی ایس او تاریخ",time:"آئی ایس او وقت",duration:"آئی ایس او مدت",ipv4:"آئی پی وی 4 ایڈریس",ipv6:"آئی پی وی 6 ایڈریس",cidrv4:"آئی پی وی 4 رینج",cidrv6:"آئی پی وی 6 رینج",base64:"بیس 64 ان کوڈڈ سٹرنگ",base64url:"بیس 64 یو آر ایل ان کوڈڈ سٹرنگ",json_string:"جے ایس او این سٹرنگ",e164:"ای 164 نمبر",jwt:"جے ڈبلیو ٹی",template_literal:"ان پٹ"},r={nan:"NaN",number:"نمبر",array:"آرے",null:"نل"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`غلط ان پٹ: instanceof ${a.expected} متوقع تھا، ${n} موصول ہوا`;return`غلط ان پٹ: ${e} متوقع تھا، ${n} موصول ہوا`}case"invalid_value":if(1===a.values.length)return`غلط ان پٹ: ${i.stringifyPrimitive(a.values[0])} متوقع تھا`;return`غلط آپشن: ${i.joinValues(a.values,"|")} میں سے ایک متوقع تھا`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`بہت بڑا: ${a.origin??"ویلیو"} کے ${t}${a.maximum.toString()} ${r.unit??"عناصر"} ہونے متوقع تھے`;return`بہت بڑا: ${a.origin??"ویلیو"} کا ${t}${a.maximum.toString()} ہونا متوقع تھا`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`بہت چھوٹا: ${a.origin} کے ${t}${a.minimum.toString()} ${r.unit} ہونے متوقع تھے`;return`بہت چھوٹا: ${a.origin} کا ${t}${a.minimum.toString()} ہونا متوقع تھا`}case"invalid_format":if("starts_with"===a.format)return`غلط سٹرنگ: "${a.prefix}" سے شروع ہونا چاہیے`;if("ends_with"===a.format)return`غلط سٹرنگ: "${a.suffix}" پر ختم ہونا چاہیے`;if("includes"===a.format)return`غلط سٹرنگ: "${a.includes}" شامل ہونا چاہیے`;if("regex"===a.format)return`غلط سٹرنگ: پیٹرن ${a.pattern} سے میچ ہونا چاہیے`;return`غلط ${t[a.format]??a.format}`;case"not_multiple_of":return`غلط نمبر: ${a.divisor} کا مضاعف ہونا چاہیے`;case"unrecognized_keys":return`غیر تسلیم شدہ کی${a.keys.length>1?"ز":""}: ${i.joinValues(a.keys,"، ")}`;case"invalid_key":return`${a.origin} میں غلط کی`;case"invalid_union":default:return"غلط ان پٹ";case"invalid_element":return`${a.origin} میں غلط ویلیو`}})}},"uz",0,function(){let e,t,r;return{localeError:(e={string:{unit:"belgi",verb:"bo‘lishi kerak"},file:{unit:"bayt",verb:"bo‘lishi kerak"},array:{unit:"element",verb:"bo‘lishi kerak"},set:{unit:"element",verb:"bo‘lishi kerak"},map:{unit:"yozuv",verb:"bo‘lishi kerak"}},t={regex:"kirish",email:"elektron pochta manzili",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO sana va vaqti",date:"ISO sana",time:"ISO vaqt",duration:"ISO davomiylik",ipv4:"IPv4 manzil",ipv6:"IPv6 manzil",mac:"MAC manzil",cidrv4:"IPv4 diapazon",cidrv6:"IPv6 diapazon",base64:"base64 kodlangan satr",base64url:"base64url kodlangan satr",json_string:"JSON satr",e164:"E.164 raqam",jwt:"JWT",template_literal:"kirish"},r={nan:"NaN",number:"raqam",array:"massiv"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Noto‘g‘ri kirish: kutilgan instanceof ${a.expected}, qabul qilingan ${n}`;return`Noto‘g‘ri kirish: kutilgan ${e}, qabul qilingan ${n}`}case"invalid_value":if(1===a.values.length)return`Noto‘g‘ri kirish: kutilgan ${i.stringifyPrimitive(a.values[0])}`;return`Noto‘g‘ri variant: quyidagilardan biri kutilgan ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`Juda katta: kutilgan ${a.origin??"qiymat"} ${t}${a.maximum.toString()} ${r.unit} ${r.verb}`;return`Juda katta: kutilgan ${a.origin??"qiymat"} ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`Juda kichik: kutilgan ${a.origin} ${t}${a.minimum.toString()} ${r.unit} ${r.verb}`;return`Juda kichik: kutilgan ${a.origin} ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Noto‘g‘ri satr: "${a.prefix}" bilan boshlanishi kerak`;if("ends_with"===a.format)return`Noto‘g‘ri satr: "${a.suffix}" bilan tugashi kerak`;if("includes"===a.format)return`Noto‘g‘ri satr: "${a.includes}" ni o‘z ichiga olishi kerak`;if("regex"===a.format)return`Noto‘g‘ri satr: ${a.pattern} shabloniga mos kelishi kerak`;return`Noto‘g‘ri ${t[a.format]??a.format}`;case"not_multiple_of":return`Noto‘g‘ri raqam: ${a.divisor} ning karralisi bo‘lishi kerak`;case"unrecognized_keys":return`Noma’lum kalit${a.keys.length>1?"lar":""}: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`${a.origin} dagi kalit noto‘g‘ri`;case"invalid_union":default:return"Noto‘g‘ri kirish";case"invalid_element":return`${a.origin} da noto‘g‘ri qiymat`}})}},"vi",0,function(){let e,t,r;return{localeError:(e={string:{unit:"ký tự",verb:"có"},file:{unit:"byte",verb:"có"},array:{unit:"phần tử",verb:"có"},set:{unit:"phần tử",verb:"có"}},t={regex:"đầu vào",email:"địa chỉ email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ngày giờ ISO",date:"ngày ISO",time:"giờ ISO",duration:"khoảng thời gian ISO",ipv4:"địa chỉ IPv4",ipv6:"địa chỉ IPv6",cidrv4:"dải IPv4",cidrv6:"dải IPv6",base64:"chuỗi mã hóa base64",base64url:"chuỗi mã hóa base64url",json_string:"chuỗi JSON",e164:"số E.164",jwt:"JWT",template_literal:"đầu vào"},r={nan:"NaN",number:"số",array:"mảng"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`Đầu v\xe0o kh\xf4ng hợp lệ: mong đợi instanceof ${a.expected}, nhận được ${n}`;return`Đầu v\xe0o kh\xf4ng hợp lệ: mong đợi ${e}, nhận được ${n}`}case"invalid_value":if(1===a.values.length)return`Đầu v\xe0o kh\xf4ng hợp lệ: mong đợi ${i.stringifyPrimitive(a.values[0])}`;return`T\xf9y chọn kh\xf4ng hợp lệ: mong đợi một trong c\xe1c gi\xe1 trị ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`Qu\xe1 lớn: mong đợi ${a.origin??"giá trị"} ${r.verb} ${t}${a.maximum.toString()} ${r.unit??"phần tử"}`;return`Qu\xe1 lớn: mong đợi ${a.origin??"giá trị"} ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`Qu\xe1 nhỏ: mong đợi ${a.origin} ${r.verb} ${t}${a.minimum.toString()} ${r.unit}`;return`Qu\xe1 nhỏ: mong đợi ${a.origin} ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`Chuỗi kh\xf4ng hợp lệ: phải bắt đầu bằng "${a.prefix}"`;if("ends_with"===a.format)return`Chuỗi kh\xf4ng hợp lệ: phải kết th\xfac bằng "${a.suffix}"`;if("includes"===a.format)return`Chuỗi kh\xf4ng hợp lệ: phải bao gồm "${a.includes}"`;if("regex"===a.format)return`Chuỗi kh\xf4ng hợp lệ: phải khớp với mẫu ${a.pattern}`;return`${t[a.format]??a.format} kh\xf4ng hợp lệ`;case"not_multiple_of":return`Số kh\xf4ng hợp lệ: phải l\xe0 bội số của ${a.divisor}`;case"unrecognized_keys":return`Kh\xf3a kh\xf4ng được nhận dạng: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Kh\xf3a kh\xf4ng hợp lệ trong ${a.origin}`;case"invalid_union":default:return"Đầu vào không hợp lệ";case"invalid_element":return`Gi\xe1 trị kh\xf4ng hợp lệ trong ${a.origin}`}})}},"yo",0,function(){let e,t,r;return{localeError:(e={string:{unit:"àmi",verb:"ní"},file:{unit:"bytes",verb:"ní"},array:{unit:"nkan",verb:"ní"},set:{unit:"nkan",verb:"ní"}},t={regex:"ẹ̀rọ ìbáwọlé",email:"àdírẹ́sì ìmẹ́lì",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"àkókò ISO",date:"ọjọ́ ISO",time:"àkókò ISO",duration:"àkókò tó pé ISO",ipv4:"àdírẹ́sì IPv4",ipv6:"àdírẹ́sì IPv6",cidrv4:"àgbègbè IPv4",cidrv6:"àgbègbè IPv6",base64:"ọ̀rọ̀ tí a kọ́ ní base64",base64url:"ọ̀rọ̀ base64url",json_string:"ọ̀rọ̀ JSON",e164:"nọ́mbà E.164",jwt:"JWT",template_literal:"ẹ̀rọ ìbáwọlé"},r={nan:"NaN",number:"nọ́mbà",array:"akopọ"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`\xccb\xe1wọl\xe9 aṣ\xecṣe: a n\xed l\xe1ti fi instanceof ${a.expected}, \xe0mọ̀ a r\xed ${n}`;return`\xccb\xe1wọl\xe9 aṣ\xecṣe: a n\xed l\xe1ti fi ${e}, \xe0mọ̀ a r\xed ${n}`}case"invalid_value":if(1===a.values.length)return`\xccb\xe1wọl\xe9 aṣ\xecṣe: a n\xed l\xe1ti fi ${i.stringifyPrimitive(a.values[0])}`;return`\xc0ṣ\xe0y\xe0n aṣ\xecṣe: yan ọ̀kan l\xe1ra ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`T\xf3 pọ̀ j\xf9: a n\xed l\xe1ti jẹ́ p\xe9 ${a.origin??"iye"} ${r.verb} ${t}${a.maximum} ${r.unit}`;return`T\xf3 pọ̀ j\xf9: a n\xed l\xe1ti jẹ́ ${t}${a.maximum}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`K\xe9r\xe9 ju: a n\xed l\xe1ti jẹ́ p\xe9 ${a.origin} ${r.verb} ${t}${a.minimum} ${r.unit}`;return`K\xe9r\xe9 ju: a n\xed l\xe1ti jẹ́ ${t}${a.minimum}`}case"invalid_format":if("starts_with"===a.format)return`Ọ̀rọ̀ aṣ\xecṣe: gbọ́dọ̀ bẹ̀rẹ̀ pẹ̀l\xfa "${a.prefix}"`;if("ends_with"===a.format)return`Ọ̀rọ̀ aṣ\xecṣe: gbọ́dọ̀ par\xed pẹ̀l\xfa "${a.suffix}"`;if("includes"===a.format)return`Ọ̀rọ̀ aṣ\xecṣe: gbọ́dọ̀ n\xed "${a.includes}"`;if("regex"===a.format)return`Ọ̀rọ̀ aṣ\xecṣe: gbọ́dọ̀ b\xe1 \xe0pẹẹrẹ mu ${a.pattern}`;return`Aṣ\xecṣe: ${t[a.format]??a.format}`;case"not_multiple_of":return`Nọ́mb\xe0 aṣ\xecṣe: gbọ́dọ̀ jẹ́ \xe8y\xe0 p\xedp\xedn ti ${a.divisor}`;case"unrecognized_keys":return`Bọt\xecn\xec \xe0\xecmọ̀: ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`Bọt\xecn\xec aṣ\xecṣe n\xedn\xfa ${a.origin}`;case"invalid_union":default:return"Ìbáwọlé aṣìṣe";case"invalid_element":return`Iye aṣ\xecṣe n\xedn\xfa ${a.origin}`}})}},"zhCN",0,function(){let e,t,r;return{localeError:(e={string:{unit:"字符",verb:"包含"},file:{unit:"字节",verb:"包含"},array:{unit:"项",verb:"包含"},set:{unit:"项",verb:"包含"}},t={regex:"输入",email:"电子邮件",url:"URL",emoji:"表情符号",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO日期时间",date:"ISO日期",time:"ISO时间",duration:"ISO时长",ipv4:"IPv4地址",ipv6:"IPv6地址",cidrv4:"IPv4网段",cidrv6:"IPv6网段",base64:"base64编码字符串",base64url:"base64url编码字符串",json_string:"JSON字符串",e164:"E.164号码",jwt:"JWT",template_literal:"输入"},r={nan:"NaN",number:"数字",array:"数组",null:"空值(null)"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`无效输入:期望 instanceof ${a.expected},实际接收 ${n}`;return`无效输入:期望 ${e},实际接收 ${n}`}case"invalid_value":if(1===a.values.length)return`无效输入:期望 ${i.stringifyPrimitive(a.values[0])}`;return`无效选项:期望以下之一 ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`数值过大:期望 ${a.origin??"值"} ${t}${a.maximum.toString()} ${r.unit??"个元素"}`;return`数值过大:期望 ${a.origin??"值"} ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`数值过小:期望 ${a.origin} ${t}${a.minimum.toString()} ${r.unit}`;return`数值过小:期望 ${a.origin} ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`无效字符串:必须以 "${a.prefix}" 开头`;if("ends_with"===a.format)return`无效字符串:必须以 "${a.suffix}" 结尾`;if("includes"===a.format)return`无效字符串:必须包含 "${a.includes}"`;if("regex"===a.format)return`无效字符串:必须满足正则表达式 ${a.pattern}`;return`无效${t[a.format]??a.format}`;case"not_multiple_of":return`无效数字:必须是 ${a.divisor} 的倍数`;case"unrecognized_keys":return`出现未知的键(key): ${i.joinValues(a.keys,", ")}`;case"invalid_key":return`${a.origin} 中的键(key)无效`;case"invalid_union":default:return"无效输入";case"invalid_element":return`${a.origin} 中包含无效值(value)`}})}},"zhTW",0,function(){let e,t,r;return{localeError:(e={string:{unit:"字元",verb:"擁有"},file:{unit:"位元組",verb:"擁有"},array:{unit:"項目",verb:"擁有"},set:{unit:"項目",verb:"擁有"}},t={regex:"輸入",email:"郵件地址",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO 日期時間",date:"ISO 日期",time:"ISO 時間",duration:"ISO 期間",ipv4:"IPv4 位址",ipv6:"IPv6 位址",cidrv4:"IPv4 範圍",cidrv6:"IPv6 範圍",base64:"base64 編碼字串",base64url:"base64url 編碼字串",json_string:"JSON 字串",e164:"E.164 數值",jwt:"JWT",template_literal:"輸入"},r={nan:"NaN"},a=>{switch(a.code){case"invalid_type":{let e=r[a.expected]??a.expected,t=i.parsedType(a.input),n=r[t]??t;if(/^[A-Z]/.test(a.expected))return`無效的輸入值:預期為 instanceof ${a.expected},但收到 ${n}`;return`無效的輸入值:預期為 ${e},但收到 ${n}`}case"invalid_value":if(1===a.values.length)return`無效的輸入值:預期為 ${i.stringifyPrimitive(a.values[0])}`;return`無效的選項:預期為以下其中之一 ${i.joinValues(a.values,"|")}`;case"too_big":{let t=a.inclusive?"<=":"<",r=e[a.origin]??null;if(r)return`數值過大:預期 ${a.origin??"值"} 應為 ${t}${a.maximum.toString()} ${r.unit??"個元素"}`;return`數值過大:預期 ${a.origin??"值"} 應為 ${t}${a.maximum.toString()}`}case"too_small":{let t=a.inclusive?">=":">",r=e[a.origin]??null;if(r)return`數值過小:預期 ${a.origin} 應為 ${t}${a.minimum.toString()} ${r.unit}`;return`數值過小:預期 ${a.origin} 應為 ${t}${a.minimum.toString()}`}case"invalid_format":if("starts_with"===a.format)return`無效的字串:必須以 "${a.prefix}" 開頭`;if("ends_with"===a.format)return`無效的字串:必須以 "${a.suffix}" 結尾`;if("includes"===a.format)return`無效的字串:必須包含 "${a.includes}"`;if("regex"===a.format)return`無效的字串:必須符合格式 ${a.pattern}`;return`無效的 ${t[a.format]??a.format}`;case"not_multiple_of":return`無效的數字:必須為 ${a.divisor} 的倍數`;case"unrecognized_keys":return`無法識別的鍵值${a.keys.length>1?"們":""}:${i.joinValues(a.keys,"、")}`;case"invalid_key":return`${a.origin} 中有無效的鍵值`;case"invalid_union":default:return"無效的輸入值";case"invalid_element":return`${a.origin} 中有無效的值`}})}}],860544);var v=e.i(860544),k=e.i(52637),S=e.i(173911),E=e.i(862061),I=e.i(207159),x=e.i(865889);e.s([],233145);var A=e.i(233145);e.s(["$ZodAny",()=>o.$ZodAny,"$ZodArray",()=>o.$ZodArray,"$ZodAsyncError",()=>r.$ZodAsyncError,"$ZodBase64",()=>o.$ZodBase64,"$ZodBase64URL",()=>o.$ZodBase64URL,"$ZodBigInt",()=>o.$ZodBigInt,"$ZodBigIntFormat",()=>o.$ZodBigIntFormat,"$ZodBoolean",()=>o.$ZodBoolean,"$ZodCIDRv4",()=>o.$ZodCIDRv4,"$ZodCIDRv6",()=>o.$ZodCIDRv6,"$ZodCUID",()=>o.$ZodCUID,"$ZodCUID2",()=>o.$ZodCUID2,"$ZodCatch",()=>o.$ZodCatch,"$ZodCheck",()=>l.$ZodCheck,"$ZodCheckBigIntFormat",()=>l.$ZodCheckBigIntFormat,"$ZodCheckEndsWith",()=>l.$ZodCheckEndsWith,"$ZodCheckGreaterThan",()=>l.$ZodCheckGreaterThan,"$ZodCheckIncludes",()=>l.$ZodCheckIncludes,"$ZodCheckLengthEquals",()=>l.$ZodCheckLengthEquals,"$ZodCheckLessThan",()=>l.$ZodCheckLessThan,"$ZodCheckLowerCase",()=>l.$ZodCheckLowerCase,"$ZodCheckMaxLength",()=>l.$ZodCheckMaxLength,"$ZodCheckMaxSize",()=>l.$ZodCheckMaxSize,"$ZodCheckMimeType",()=>l.$ZodCheckMimeType,"$ZodCheckMinLength",()=>l.$ZodCheckMinLength,"$ZodCheckMinSize",()=>l.$ZodCheckMinSize,"$ZodCheckMultipleOf",()=>l.$ZodCheckMultipleOf,"$ZodCheckNumberFormat",()=>l.$ZodCheckNumberFormat,"$ZodCheckOverwrite",()=>l.$ZodCheckOverwrite,"$ZodCheckProperty",()=>l.$ZodCheckProperty,"$ZodCheckRegex",()=>l.$ZodCheckRegex,"$ZodCheckSizeEquals",()=>l.$ZodCheckSizeEquals,"$ZodCheckStartsWith",()=>l.$ZodCheckStartsWith,"$ZodCheckStringFormat",()=>l.$ZodCheckStringFormat,"$ZodCheckUpperCase",()=>l.$ZodCheckUpperCase,"$ZodCodec",()=>o.$ZodCodec,"$ZodCustom",()=>o.$ZodCustom,"$ZodCustomStringFormat",()=>o.$ZodCustomStringFormat,"$ZodDate",()=>o.$ZodDate,"$ZodDefault",()=>o.$ZodDefault,"$ZodDiscriminatedUnion",()=>o.$ZodDiscriminatedUnion,"$ZodE164",()=>o.$ZodE164,"$ZodEmail",()=>o.$ZodEmail,"$ZodEmoji",()=>o.$ZodEmoji,"$ZodEncodeError",()=>r.$ZodEncodeError,"$ZodEnum",()=>o.$ZodEnum,"$ZodError",()=>s.$ZodError,"$ZodExactOptional",()=>o.$ZodExactOptional,"$ZodFile",()=>o.$ZodFile,"$ZodFunction",()=>o.$ZodFunction,"$ZodGUID",()=>o.$ZodGUID,"$ZodIPv4",()=>o.$ZodIPv4,"$ZodIPv6",()=>o.$ZodIPv6,"$ZodISODate",()=>o.$ZodISODate,"$ZodISODateTime",()=>o.$ZodISODateTime,"$ZodISODuration",()=>o.$ZodISODuration,"$ZodISOTime",()=>o.$ZodISOTime,"$ZodIntersection",()=>o.$ZodIntersection,"$ZodJWT",()=>o.$ZodJWT,"$ZodKSUID",()=>o.$ZodKSUID,"$ZodLazy",()=>o.$ZodLazy,"$ZodLiteral",()=>o.$ZodLiteral,"$ZodMAC",()=>o.$ZodMAC,"$ZodMap",()=>o.$ZodMap,"$ZodNaN",()=>o.$ZodNaN,"$ZodNanoID",()=>o.$ZodNanoID,"$ZodNever",()=>o.$ZodNever,"$ZodNonOptional",()=>o.$ZodNonOptional,"$ZodNull",()=>o.$ZodNull,"$ZodNullable",()=>o.$ZodNullable,"$ZodNumber",()=>o.$ZodNumber,"$ZodNumberFormat",()=>o.$ZodNumberFormat,"$ZodObject",()=>o.$ZodObject,"$ZodObjectJIT",()=>o.$ZodObjectJIT,"$ZodOptional",()=>o.$ZodOptional,"$ZodPipe",()=>o.$ZodPipe,"$ZodPrefault",()=>o.$ZodPrefault,"$ZodPreprocess",()=>o.$ZodPreprocess,"$ZodPromise",()=>o.$ZodPromise,"$ZodReadonly",()=>o.$ZodReadonly,"$ZodRealError",()=>s.$ZodRealError,"$ZodRecord",()=>o.$ZodRecord,"$ZodRegistry",()=>k.$ZodRegistry,"$ZodSet",()=>o.$ZodSet,"$ZodString",()=>o.$ZodString,"$ZodStringFormat",()=>o.$ZodStringFormat,"$ZodSuccess",()=>o.$ZodSuccess,"$ZodSymbol",()=>o.$ZodSymbol,"$ZodTemplateLiteral",()=>o.$ZodTemplateLiteral,"$ZodTransform",()=>o.$ZodTransform,"$ZodTuple",()=>o.$ZodTuple,"$ZodType",()=>o.$ZodType,"$ZodULID",()=>o.$ZodULID,"$ZodURL",()=>o.$ZodURL,"$ZodUUID",()=>o.$ZodUUID,"$ZodUndefined",()=>o.$ZodUndefined,"$ZodUnion",()=>o.$ZodUnion,"$ZodUnknown",()=>o.$ZodUnknown,"$ZodVoid",()=>o.$ZodVoid,"$ZodXID",()=>o.$ZodXID,"$ZodXor",()=>o.$ZodXor,"$brand",()=>r.$brand,"$constructor",()=>r.$constructor,"$input",()=>k.$input,"$output",()=>k.$output,"Doc",()=>S.Doc,"JSONSchema",0,A,"JSONSchemaGenerator",0,class{get metadataRegistry(){return this.ctx.metadataRegistry}get target(){return this.ctx.target}get unrepresentable(){return this.ctx.unrepresentable}get override(){return this.ctx.override}get io(){return this.ctx.io}get counter(){return this.ctx.counter}set counter(e){this.ctx.counter=e}get seen(){return this.ctx.seen}constructor(e){let t=e?.target??"draft-2020-12";"draft-4"===t&&(t="draft-04"),"draft-7"===t&&(t="draft-07"),this.ctx=(0,I.initializeContext)({processors:x.allProcessors,target:t,...e?.metadata&&{metadata:e.metadata},...e?.unrepresentable&&{unrepresentable:e.unrepresentable},...e?.override&&{override:e.override},...e?.io&&{io:e.io}})}process(e,t={path:[],schemaPath:[]}){return(0,I.process)(e,this.ctx,t)}emit(e,t){t&&(t.cycles&&(this.ctx.cycles=t.cycles),t.reused&&(this.ctx.reused=t.reused),t.external&&(this.ctx.external=t.external)),(0,I.extractDefs)(this.ctx,e);let{"~standard":r,...i}=(0,I.finalize)(this.ctx,e);return i}},"NEVER",()=>r.NEVER,"TimePrecision",()=>E.TimePrecision,"_any",()=>E._any,"_array",()=>E._array,"_base64",()=>E._base64,"_base64url",()=>E._base64url,"_bigint",()=>E._bigint,"_boolean",()=>E._boolean,"_catch",()=>E._catch,"_check",()=>E._check,"_cidrv4",()=>E._cidrv4,"_cidrv6",()=>E._cidrv6,"_coercedBigint",()=>E._coercedBigint,"_coercedBoolean",()=>E._coercedBoolean,"_coercedDate",()=>E._coercedDate,"_coercedNumber",()=>E._coercedNumber,"_coercedString",()=>E._coercedString,"_cuid",()=>E._cuid,"_cuid2",()=>E._cuid2,"_custom",()=>E._custom,"_date",()=>E._date,"_decode",()=>n._decode,"_decodeAsync",()=>n._decodeAsync,"_default",()=>E._default,"_discriminatedUnion",()=>E._discriminatedUnion,"_e164",()=>E._e164,"_email",()=>E._email,"_emoji",()=>E._emoji,"_encode",()=>n._encode,"_encodeAsync",()=>n._encodeAsync,"_endsWith",()=>E._endsWith,"_enum",()=>E._enum,"_file",()=>E._file,"_float32",()=>E._float32,"_float64",()=>E._float64,"_gt",()=>E._gt,"_gte",()=>E._gte,"_guid",()=>E._guid,"_includes",()=>E._includes,"_int",()=>E._int,"_int32",()=>E._int32,"_int64",()=>E._int64,"_intersection",()=>E._intersection,"_ipv4",()=>E._ipv4,"_ipv6",()=>E._ipv6,"_isoDate",()=>E._isoDate,"_isoDateTime",()=>E._isoDateTime,"_isoDuration",()=>E._isoDuration,"_isoTime",()=>E._isoTime,"_jwt",()=>E._jwt,"_ksuid",()=>E._ksuid,"_lazy",()=>E._lazy,"_length",()=>E._length,"_literal",()=>E._literal,"_lowercase",()=>E._lowercase,"_lt",()=>E._lt,"_lte",()=>E._lte,"_mac",()=>E._mac,"_map",()=>E._map,"_max",()=>E._max,"_maxLength",()=>E._maxLength,"_maxSize",()=>E._maxSize,"_mime",()=>E._mime,"_min",()=>E._min,"_minLength",()=>E._minLength,"_minSize",()=>E._minSize,"_multipleOf",()=>E._multipleOf,"_nan",()=>E._nan,"_nanoid",()=>E._nanoid,"_nativeEnum",()=>E._nativeEnum,"_negative",()=>E._negative,"_never",()=>E._never,"_nonnegative",()=>E._nonnegative,"_nonoptional",()=>E._nonoptional,"_nonpositive",()=>E._nonpositive,"_normalize",()=>E._normalize,"_null",()=>E._null,"_nullable",()=>E._nullable,"_number",()=>E._number,"_optional",()=>E._optional,"_overwrite",()=>E._overwrite,"_parse",()=>n._parse,"_parseAsync",()=>n._parseAsync,"_pipe",()=>E._pipe,"_positive",()=>E._positive,"_promise",()=>E._promise,"_property",()=>E._property,"_readonly",()=>E._readonly,"_record",()=>E._record,"_refine",()=>E._refine,"_regex",()=>E._regex,"_safeDecode",()=>n._safeDecode,"_safeDecodeAsync",()=>n._safeDecodeAsync,"_safeEncode",()=>n._safeEncode,"_safeEncodeAsync",()=>n._safeEncodeAsync,"_safeParse",()=>n._safeParse,"_safeParseAsync",()=>n._safeParseAsync,"_set",()=>E._set,"_size",()=>E._size,"_slugify",()=>E._slugify,"_startsWith",()=>E._startsWith,"_string",()=>E._string,"_stringFormat",()=>E._stringFormat,"_stringbool",()=>E._stringbool,"_success",()=>E._success,"_superRefine",()=>E._superRefine,"_symbol",()=>E._symbol,"_templateLiteral",()=>E._templateLiteral,"_toLowerCase",()=>E._toLowerCase,"_toUpperCase",()=>E._toUpperCase,"_transform",()=>E._transform,"_trim",()=>E._trim,"_tuple",()=>E._tuple,"_uint32",()=>E._uint32,"_uint64",()=>E._uint64,"_ulid",()=>E._ulid,"_undefined",()=>E._undefined,"_union",()=>E._union,"_unknown",()=>E._unknown,"_uppercase",()=>E._uppercase,"_url",()=>E._url,"_uuid",()=>E._uuid,"_uuidv4",()=>E._uuidv4,"_uuidv6",()=>E._uuidv6,"_uuidv7",()=>E._uuidv7,"_void",()=>E._void,"_xid",()=>E._xid,"_xor",()=>E._xor,"clone",()=>i.clone,"config",()=>r.config,"createStandardJSONSchemaMethod",()=>I.createStandardJSONSchemaMethod,"createToJSONSchemaMethod",()=>I.createToJSONSchemaMethod,"decode",()=>n.decode,"decodeAsync",()=>n.decodeAsync,"describe",()=>E.describe,"encode",()=>n.encode,"encodeAsync",()=>n.encodeAsync,"extractDefs",()=>I.extractDefs,"finalize",()=>I.finalize,"flattenError",()=>s.flattenError,"formatError",()=>s.formatError,"globalConfig",()=>r.globalConfig,"globalRegistry",()=>k.globalRegistry,"initializeContext",()=>I.initializeContext,"isValidBase64",()=>o.isValidBase64,"isValidBase64URL",()=>o.isValidBase64URL,"isValidJWT",()=>o.isValidJWT,"locales",0,v,"meta",()=>E.meta,"parse",()=>n.parse,"parseAsync",()=>n.parseAsync,"prettifyError",()=>s.prettifyError,"process",()=>I.process,"regexes",0,d,"registry",()=>k.registry,"safeDecode",()=>n.safeDecode,"safeDecodeAsync",()=>n.safeDecodeAsync,"safeEncode",()=>n.safeEncode,"safeEncodeAsync",()=>n.safeEncodeAsync,"safeParse",()=>n.safeParse,"safeParseAsync",()=>n.safeParseAsync,"toDotPath",()=>s.toDotPath,"toJSONSchema",()=>x.toJSONSchema,"treeifyError",()=>s.treeifyError,"util",0,c,"version",()=>u.version],113007);var _=e.i(113007),C=e.i(907855);e.s([],664328),e.i(664328),e.s(["endsWith",()=>E._endsWith,"gt",()=>E._gt,"gte",()=>E._gte,"includes",()=>E._includes,"length",()=>E._length,"lowercase",()=>E._lowercase,"lt",()=>E._lt,"lte",()=>E._lte,"maxLength",()=>E._maxLength,"maxSize",()=>E._maxSize,"mime",()=>E._mime,"minLength",()=>E._minLength,"minSize",()=>E._minSize,"multipleOf",()=>E._multipleOf,"negative",()=>E._negative,"nonnegative",()=>E._nonnegative,"nonpositive",()=>E._nonpositive,"normalize",()=>E._normalize,"overwrite",()=>E._overwrite,"positive",()=>E._positive,"property",()=>E._property,"regex",()=>E._regex,"size",()=>E._size,"slugify",()=>E._slugify,"startsWith",()=>E._startsWith,"toLowerCase",()=>E._toLowerCase,"toUpperCase",()=>E._toUpperCase,"trim",()=>E._trim,"uppercase",()=>E._uppercase],185648);var R=e.i(185648),T=e.i(915874),D=e.i(248804);let N={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};function O(e){r.config({customError:e})}function P(){return r.config().customError}t||(t={}),e.s(["ZodFirstPartyTypeKind",0,t,"ZodIssueCode",0,N,"getErrorMap",0,P,"setErrorMap",0,O],733137),e.i(733137),e.s(["$brand",()=>r.$brand,"ZodFirstPartyTypeKind",0,t,"ZodIssueCode",0,N,"config",()=>r.config,"getErrorMap",0,P,"setErrorMap",0,O],863203),e.i(863203);var $=e.i(467662),U=e.i(862061),B=e.i(628343),j=e.i(551047);let L={...C,...R,iso:j},q=new Set(["$schema","$ref","$defs","definitions","$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor","type","enum","const","anyOf","oneOf","allOf","not","properties","required","additionalProperties","patternProperties","propertyNames","minProperties","maxProperties","items","prefixItems","additionalItems","minItems","maxItems","uniqueItems","contains","minContains","maxContains","minLength","maxLength","pattern","format","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","description","default","contentEncoding","contentMediaType","contentSchema","unevaluatedItems","unevaluatedProperties","if","then","else","dependentSchemas","dependentRequired","nullable","readOnly"]);e.s(["bigint",0,function(e){return E._coercedBigint(C.ZodBigInt,e)},"boolean",0,function(e){return E._coercedBoolean(C.ZodBoolean,e)},"date",0,function(e){return E._coercedDate(C.ZodDate,e)},"number",0,function(e){return E._coercedNumber(C.ZodNumber,e)},"string",0,function(e){return E._coercedString(C.ZodString,e)}],334512);var M=e.i(334512);e.s(["$brand",()=>r.$brand,"$input",()=>k.$input,"$output",()=>k.$output,"NEVER",()=>r.NEVER,"TimePrecision",()=>U.TimePrecision,"ZodAny",()=>C.ZodAny,"ZodArray",()=>C.ZodArray,"ZodBase64",()=>C.ZodBase64,"ZodBase64URL",()=>C.ZodBase64URL,"ZodBigInt",()=>C.ZodBigInt,"ZodBigIntFormat",()=>C.ZodBigIntFormat,"ZodBoolean",()=>C.ZodBoolean,"ZodCIDRv4",()=>C.ZodCIDRv4,"ZodCIDRv6",()=>C.ZodCIDRv6,"ZodCUID",()=>C.ZodCUID,"ZodCUID2",()=>C.ZodCUID2,"ZodCatch",()=>C.ZodCatch,"ZodCodec",()=>C.ZodCodec,"ZodCustom",()=>C.ZodCustom,"ZodCustomStringFormat",()=>C.ZodCustomStringFormat,"ZodDate",()=>C.ZodDate,"ZodDefault",()=>C.ZodDefault,"ZodDiscriminatedUnion",()=>C.ZodDiscriminatedUnion,"ZodE164",()=>C.ZodE164,"ZodEmail",()=>C.ZodEmail,"ZodEmoji",()=>C.ZodEmoji,"ZodEnum",()=>C.ZodEnum,"ZodError",()=>T.ZodError,"ZodExactOptional",()=>C.ZodExactOptional,"ZodFile",()=>C.ZodFile,"ZodFirstPartyTypeKind",0,t,"ZodFunction",()=>C.ZodFunction,"ZodGUID",()=>C.ZodGUID,"ZodIPv4",()=>C.ZodIPv4,"ZodIPv6",()=>C.ZodIPv6,"ZodISODate",()=>j.ZodISODate,"ZodISODateTime",()=>j.ZodISODateTime,"ZodISODuration",()=>j.ZodISODuration,"ZodISOTime",()=>j.ZodISOTime,"ZodIntersection",()=>C.ZodIntersection,"ZodIssueCode",0,N,"ZodJWT",()=>C.ZodJWT,"ZodKSUID",()=>C.ZodKSUID,"ZodLazy",()=>C.ZodLazy,"ZodLiteral",()=>C.ZodLiteral,"ZodMAC",()=>C.ZodMAC,"ZodMap",()=>C.ZodMap,"ZodNaN",()=>C.ZodNaN,"ZodNanoID",()=>C.ZodNanoID,"ZodNever",()=>C.ZodNever,"ZodNonOptional",()=>C.ZodNonOptional,"ZodNull",()=>C.ZodNull,"ZodNullable",()=>C.ZodNullable,"ZodNumber",()=>C.ZodNumber,"ZodNumberFormat",()=>C.ZodNumberFormat,"ZodObject",()=>C.ZodObject,"ZodOptional",()=>C.ZodOptional,"ZodPipe",()=>C.ZodPipe,"ZodPrefault",()=>C.ZodPrefault,"ZodPreprocess",()=>C.ZodPreprocess,"ZodPromise",()=>C.ZodPromise,"ZodReadonly",()=>C.ZodReadonly,"ZodRealError",()=>T.ZodRealError,"ZodRecord",()=>C.ZodRecord,"ZodSet",()=>C.ZodSet,"ZodString",()=>C.ZodString,"ZodStringFormat",()=>C.ZodStringFormat,"ZodSuccess",()=>C.ZodSuccess,"ZodSymbol",()=>C.ZodSymbol,"ZodTemplateLiteral",()=>C.ZodTemplateLiteral,"ZodTransform",()=>C.ZodTransform,"ZodTuple",()=>C.ZodTuple,"ZodType",()=>C.ZodType,"ZodULID",()=>C.ZodULID,"ZodURL",()=>C.ZodURL,"ZodUUID",()=>C.ZodUUID,"ZodUndefined",()=>C.ZodUndefined,"ZodUnion",()=>C.ZodUnion,"ZodUnknown",()=>C.ZodUnknown,"ZodVoid",()=>C.ZodVoid,"ZodXID",()=>C.ZodXID,"ZodXor",()=>C.ZodXor,"_ZodString",()=>C._ZodString,"_default",()=>C._default,"_function",()=>C._function,"any",()=>C.any,"array",()=>C.array,"base64",()=>C.base64,"base64url",()=>C.base64url,"bigint",()=>C.bigint,"boolean",()=>C.boolean,"catch",()=>C.catch,"check",()=>C.check,"cidrv4",()=>C.cidrv4,"cidrv6",()=>C.cidrv6,"clone",()=>i.clone,"codec",()=>C.codec,"coerce",0,M,"config",()=>r.config,"core",0,_,"cuid",()=>C.cuid,"cuid2",()=>C.cuid2,"custom",()=>C.custom,"date",()=>C.date,"decode",()=>D.decode,"decodeAsync",()=>D.decodeAsync,"describe",()=>C.describe,"discriminatedUnion",()=>C.discriminatedUnion,"e164",()=>C.e164,"email",()=>C.email,"emoji",()=>C.emoji,"encode",()=>D.encode,"encodeAsync",()=>D.encodeAsync,"endsWith",()=>E._endsWith,"enum",()=>C.enum,"exactOptional",()=>C.exactOptional,"file",()=>C.file,"flattenError",()=>s.flattenError,"float32",()=>C.float32,"float64",()=>C.float64,"formatError",()=>s.formatError,"fromJSONSchema",0,function(e,t){var r,i;let a,n;if("boolean"==typeof e)return e?L.any():L.never();try{a=JSON.parse(JSON.stringify(e))}catch{throw Error("fromJSONSchema input is not valid JSON (possibly cyclic); use $defs/$ref for recursive schemas")}let s={version:(r=a,i=t?.defaultTarget,"https://json-schema.org/draft/2020-12/schema"===(n=r.$schema)?"draft-2020-12":"http://json-schema.org/draft-07/schema#"===n?"draft-7":"http://json-schema.org/draft-04/schema#"===n?"draft-4":i??"draft-2020-12"),defs:a.$defs||a.definitions||{},refs:new Map,processing:new Set,rootSchema:a,registry:t?.registry??k.globalRegistry};return function e(t,r){if("boolean"==typeof t)return t?L.any():L.never();let i=function t(r,i){let a;if(void 0!==r.not){if("object"==typeof r.not&&0===Object.keys(r.not).length)return L.never();throw Error("not is not supported in Zod (except { not: {} } for never)")}if(void 0!==r.unevaluatedItems)throw Error("unevaluatedItems is not supported");if(void 0!==r.unevaluatedProperties)throw Error("unevaluatedProperties is not supported");if(void 0!==r.if||void 0!==r.then||void 0!==r.else)throw Error("Conditional schemas (if/then/else) are not supported");if(void 0!==r.dependentSchemas||void 0!==r.dependentRequired)throw Error("dependentSchemas and dependentRequired are not supported");if(r.$ref){let t=r.$ref;if(i.refs.has(t))return i.refs.get(t);if(i.processing.has(t))return L.lazy(()=>{if(!i.refs.has(t))throw Error(`Circular reference not resolved: ${t}`);return i.refs.get(t)});i.processing.add(t);let a=e(function(e,t){if(!e.startsWith("#"))throw Error("External $ref is not supported, only local refs (#/...) are allowed");let r=e.slice(1).split("/").filter(Boolean);if(0===r.length)return t.rootSchema;let i="draft-2020-12"===t.version?"$defs":"definitions";if(r[0]===i){let i=r[1];if(!i||!t.defs[i])throw Error(`Reference not found: ${e}`);return t.defs[i]}throw Error(`Reference not found: ${e}`)}(t,i),i);return i.refs.set(t,a),i.processing.delete(t),a}if(void 0!==r.enum){let e=r.enum;if("openapi-3.0"===i.version&&!0===r.nullable&&1===e.length&&null===e[0])return L.null();if(0===e.length)return L.never();if(1===e.length)return L.literal(e[0]);if(e.every(e=>"string"==typeof e))return L.enum(e);let t=e.map(e=>L.literal(e));return t.length<2?t[0]:L.union([t[0],t[1],...t.slice(2)])}if(void 0!==r.const)return L.literal(r.const);let n=r.type;if(Array.isArray(n)){let e=n.map(e=>t({...r,type:e},i));return 0===e.length?L.never():1===e.length?e[0]:L.union(e)}if(!n)return L.any();switch(n){case"string":{let e=L.string();if(r.format){let t=r.format;"email"===t?e=e.check(L.email()):"uri"===t||"uri-reference"===t?e=e.check(L.url()):"uuid"===t||"guid"===t?e=e.check(L.uuid()):"date-time"===t?e=e.check(L.iso.datetime()):"date"===t?e=e.check(L.iso.date()):"time"===t?e=e.check(L.iso.time()):"duration"===t?e=e.check(L.iso.duration()):"ipv4"===t?e=e.check(L.ipv4()):"ipv6"===t?e=e.check(L.ipv6()):"mac"===t?e=e.check(L.mac()):"cidr"===t?e=e.check(L.cidrv4()):"cidr-v6"===t?e=e.check(L.cidrv6()):"base64"===t?e=e.check(L.base64()):"base64url"===t?e=e.check(L.base64url()):"e164"===t?e=e.check(L.e164()):"jwt"===t?e=e.check(L.jwt()):"emoji"===t?e=e.check(L.emoji()):"nanoid"===t?e=e.check(L.nanoid()):"cuid"===t?e=e.check(L.cuid()):"cuid2"===t?e=e.check(L.cuid2()):"ulid"===t?e=e.check(L.ulid()):"xid"===t?e=e.check(L.xid()):"ksuid"===t&&(e=e.check(L.ksuid()))}"number"==typeof r.minLength&&(e=e.min(r.minLength)),"number"==typeof r.maxLength&&(e=e.max(r.maxLength)),r.pattern&&(e=e.regex(new RegExp(r.pattern))),a=e;break}case"number":case"integer":{let e="integer"===n?L.number().int():L.number();"number"==typeof r.minimum&&(e=e.min(r.minimum)),"number"==typeof r.maximum&&(e=e.max(r.maximum)),"number"==typeof r.exclusiveMinimum?e=e.gt(r.exclusiveMinimum):!0===r.exclusiveMinimum&&"number"==typeof r.minimum&&(e=e.gt(r.minimum)),"number"==typeof r.exclusiveMaximum?e=e.lt(r.exclusiveMaximum):!0===r.exclusiveMaximum&&"number"==typeof r.maximum&&(e=e.lt(r.maximum)),"number"==typeof r.multipleOf&&(e=e.multipleOf(r.multipleOf)),a=e;break}case"boolean":a=L.boolean();break;case"null":a=L.null();break;case"object":{let t={},n=r.properties||{},s=new Set(r.required||[]);for(let[r,a]of Object.entries(n)){let n=e(a,i);t[r]=s.has(r)?n:n.optional()}if(r.propertyNames){let n=e(r.propertyNames,i),s=r.additionalProperties&&"object"==typeof r.additionalProperties?e(r.additionalProperties,i):L.any();if(0===Object.keys(t).length){a=L.record(n,s);break}let o=L.object(t).passthrough(),l=L.looseRecord(n,s);a=L.intersection(o,l);break}if(r.patternProperties){let n=r.patternProperties,s=Object.keys(n),o=[];for(let t of s){let r=e(n[t],i),a=L.string().regex(new RegExp(t));o.push(L.looseRecord(a,r))}let l=[];if(Object.keys(t).length>0&&l.push(L.object(t).passthrough()),l.push(...o),0===l.length)a=L.object({}).passthrough();else if(1===l.length)a=l[0];else{let e=L.intersection(l[0],l[1]);for(let t=2;t<l.length;t++)e=L.intersection(e,l[t]);a=e}break}let o=L.object(t);a=!1===r.additionalProperties?o.strict():"object"==typeof r.additionalProperties?o.catchall(e(r.additionalProperties,i)):o.passthrough();break}case"array":{let t=r.prefixItems,n=r.items;if(t&&Array.isArray(t)){let s=t.map(t=>e(t,i)),o=n&&"object"==typeof n&&!Array.isArray(n)?e(n,i):void 0;a=o?L.tuple(s).rest(o):L.tuple(s),"number"==typeof r.minItems&&(a=a.check(L.minLength(r.minItems))),"number"==typeof r.maxItems&&(a=a.check(L.maxLength(r.maxItems)))}else if(Array.isArray(n)){let t=n.map(t=>e(t,i)),s=r.additionalItems&&"object"==typeof r.additionalItems?e(r.additionalItems,i):void 0;a=s?L.tuple(t).rest(s):L.tuple(t),"number"==typeof r.minItems&&(a=a.check(L.minLength(r.minItems))),"number"==typeof r.maxItems&&(a=a.check(L.maxLength(r.maxItems)))}else if(void 0!==n){let t=e(n,i),s=L.array(t);"number"==typeof r.minItems&&(s=s.min(r.minItems)),"number"==typeof r.maxItems&&(s=s.max(r.maxItems)),a=s}else a=L.array(L.any());break}default:throw Error(`Unsupported type: ${n}`)}return a}(t,r),a=t.type||void 0!==t.enum||void 0!==t.const;if(t.anyOf&&Array.isArray(t.anyOf)){let n=t.anyOf.map(t=>e(t,r)),s=L.union(n);i=a?L.intersection(i,s):s}if(t.oneOf&&Array.isArray(t.oneOf)){let n=t.oneOf.map(t=>e(t,r)),s=L.xor(n);i=a?L.intersection(i,s):s}if(t.allOf&&Array.isArray(t.allOf))if(0===t.allOf.length)i=a?i:L.any();else{let n=a?i:e(t.allOf[0],r),s=+!a;for(let i=s;i<t.allOf.length;i++)n=L.intersection(n,e(t.allOf[i],r));i=n}!0===t.nullable&&"openapi-3.0"===r.version&&(i=L.nullable(i)),!0===t.readOnly&&(i=L.readonly(i)),void 0!==t.default&&(i=i.default(t.default));let n={};for(let e of["$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor"])e in t&&(n[e]=t[e]);for(let e of["contentEncoding","contentMediaType","contentSchema"])e in t&&(n[e]=t[e]);for(let e of Object.keys(t))q.has(e)||(n[e]=t[e]);return Object.keys(n).length>0&&r.registry.add(i,n),t.description&&(i=i.describe(t.description)),i}(a,s)},"function",()=>C.function,"getErrorMap",0,P,"globalRegistry",()=>k.globalRegistry,"gt",()=>E._gt,"gte",()=>E._gte,"guid",()=>C.guid,"hash",()=>C.hash,"hex",()=>C.hex,"hostname",()=>C.hostname,"httpUrl",()=>C.httpUrl,"includes",()=>E._includes,"instanceof",()=>C.instanceof,"int",()=>C.int,"int32",()=>C.int32,"int64",()=>C.int64,"intersection",()=>C.intersection,"invertCodec",()=>C.invertCodec,"ipv4",()=>C.ipv4,"ipv6",()=>C.ipv6,"iso",0,j,"json",()=>C.json,"jwt",()=>C.jwt,"keyof",()=>C.keyof,"ksuid",()=>C.ksuid,"lazy",()=>C.lazy,"length",()=>E._length,"literal",()=>C.literal,"locales",0,v,"looseObject",()=>C.looseObject,"looseRecord",()=>C.looseRecord,"lowercase",()=>E._lowercase,"lt",()=>E._lt,"lte",()=>E._lte,"mac",()=>C.mac,"map",()=>C.map,"maxLength",()=>E._maxLength,"maxSize",()=>E._maxSize,"meta",()=>C.meta,"mime",()=>E._mime,"minLength",()=>E._minLength,"minSize",()=>E._minSize,"multipleOf",()=>E._multipleOf,"nan",()=>C.nan,"nanoid",()=>C.nanoid,"nativeEnum",()=>C.nativeEnum,"negative",()=>E._negative,"never",()=>C.never,"nonnegative",()=>E._nonnegative,"nonoptional",()=>C.nonoptional,"nonpositive",()=>E._nonpositive,"normalize",()=>E._normalize,"null",()=>C.null,"nullable",()=>C.nullable,"nullish",()=>C.nullish,"number",()=>C.number,"object",()=>C.object,"optional",()=>C.optional,"overwrite",()=>E._overwrite,"parse",()=>D.parse,"parseAsync",()=>D.parseAsync,"partialRecord",()=>C.partialRecord,"pipe",()=>C.pipe,"positive",()=>E._positive,"prefault",()=>C.prefault,"preprocess",()=>C.preprocess,"prettifyError",()=>s.prettifyError,"promise",()=>C.promise,"property",()=>E._property,"readonly",()=>C.readonly,"record",()=>C.record,"refine",()=>C.refine,"regex",()=>E._regex,"regexes",()=>$.regexes,"registry",()=>k.registry,"safeDecode",()=>D.safeDecode,"safeDecodeAsync",()=>D.safeDecodeAsync,"safeEncode",()=>D.safeEncode,"safeEncodeAsync",()=>D.safeEncodeAsync,"safeParse",()=>D.safeParse,"safeParseAsync",()=>D.safeParseAsync,"set",()=>C.set,"setErrorMap",0,O,"size",()=>E._size,"slugify",()=>E._slugify,"startsWith",()=>E._startsWith,"strictObject",()=>C.strictObject,"string",()=>C.string,"stringFormat",()=>C.stringFormat,"stringbool",()=>C.stringbool,"success",()=>C.success,"superRefine",()=>C.superRefine,"symbol",()=>C.symbol,"templateLiteral",()=>C.templateLiteral,"toJSONSchema",()=>x.toJSONSchema,"toLowerCase",()=>E._toLowerCase,"toUpperCase",()=>E._toUpperCase,"transform",()=>C.transform,"treeifyError",()=>s.treeifyError,"trim",()=>E._trim,"tuple",()=>C.tuple,"uint32",()=>C.uint32,"uint64",()=>C.uint64,"ulid",()=>C.ulid,"undefined",()=>C.undefined,"union",()=>C.union,"unknown",()=>C.unknown,"uppercase",()=>E._uppercase,"url",()=>C.url,"util",()=>B.util,"uuid",()=>C.uuid,"uuidv4",()=>C.uuidv4,"uuidv6",()=>C.uuidv6,"uuidv7",()=>C.uuidv7,"void",()=>C.void,"xid",()=>C.xid,"xor",()=>C.xor],562810);var F=e.i(562810);e.s(["z",0,F],469719)},497800,835544,499162,248626,e=>{"use strict";var t=e.i(469719),r=e.i(807055),i=e.i(184015),a=e.i(119909);let n=["JIRA_LOAD_TICKET","JIRA_TRANSITION","JIRA_COMMENT","JIRA_ASSIGN","JIRA_UPDATE_FIELDS","JIRA_RESOLVE_BRANCH","GITHUB_LOAD_PR","GITHUB_MERGE_PR","GITHUB_COLLECT_REVIEW_THREADS","GITHUB_REPLY_REVIEW_THREAD","GITHUB_SET_REVIEW_THREAD_RESOLVED","GITHUB_CREATE_PR","GITHUB_SET_PR_LABELS","GITHUB_RETRY_PIPELINE","GITHUB_RETRY_JOB","GITHUB_CANCEL_WORKFLOW_RUN","GITHUB_SAVE_AUTO_RETRY","GITHUB_WAIT_CHECKS","WORKTREE_CREATE","WORKTREE_CHANGE_BRANCH","WORKTREE_REFRESH_PULL_REQUEST","WORKTREE_OPERATION","WORKTREE_SET_AUTO_SYNC","WORKTREE_SET_AUTO_MERGE","WORKTREE_DELETE","WORKTREE_MOVE","WORKTREE_INSPECT","WORKTREE_INSPECT_GIT","WORKTREE_GIT_OPERATION","WORKTREE_WAIT_PUSH_READY","WORKTREE_SNAPSHOT","CODEBASE_FETCH_REFRESH","CODEBASE_INSPECT_GIT","CODEBASE_GIT_OPERATION","BUILD_START","BUILD_READ_TEST_RESULTS","BUILD_READ_COVERAGE","BUILD_IMPORT_COVERAGE","BUILD_EXPORT","BUILD_DEPLOY","BUILD_CANCEL","DISK_SPACE_LOAD","DISK_SPACE_REFRESH","DISK_SPACE_UPDATE_THRESHOLDS","DISK_SPACE_SET_MONITORING","DISK_SPACE_SET_PRESSURE_MODE","SKILL_APPLY","RUN_CREATE_PLAN","RUN_CREATE_SESSION","RUN_PLAY_PLAN","RUN_FOLLOW_UP","RUN_STEER","RUN_ANSWER","RUN_PAUSE","RUN_CONTINUE","RUN_CANCEL","RUN_REVISE_ANSWER","RUN_READ_RESULT","RUN_CAPTURE_CHECKPOINT","RUN_ARCHIVE_DELETE","NOTIFICATION_SEND","IOS_PUSH_SEND","HUMAN_CONFIRM","HUMAN_CHOICE","CONTROL_IF","CONTROL_JOIN","CONTROL_DELAY","CONTROL_WAIT_UNTIL","CONTROL_FOR_EACH","CONTROL_TRY","CONTROL_SET_VARIABLE","CONTROL_SUBWORKFLOW","SAVED_COMMAND","CUSTOM_COMMAND","COMMAND_RERUN","COMMAND_TERMINATE","COMMAND_READ_OUTPUT","WORKTREE_INSPECT_DIFF","WORKTREE_UPDATE_METADATA","WORKTREE_MOVE_CONTROL","BUILD_REBUILD","BUILD_GENERATE_REPORT","BUILD_DELETE","SKILL_PREPARE_SYNC","SKILL_RESOLVE_SYNC","SKILL_SKIP_SYNC","BUILD_DATA_REFRESH","BUILD_DATA_DELETE","BUILD_DATA_SET_LOCK","SIGNING_REFRESH","SIGNING_SYNC_PROFILE","SIGNING_DELETE_EXPIRED","IOS_DEVICE_REGISTER","IOS_DEVICE_REJECT","AGENT_RECONCILE","AGENT_UPDATE_CADENCE","CCUSAGE_COLLECT","MODEL_COST_REFRESH","GITHUB_UPDATE_PR","GITHUB_SUBMIT_REVIEW","GITHUB_REQUEST_REVIEWERS","GITHUB_DISPATCH_WORKFLOW","JIRA_CREATE_TICKET","JIRA_ADD_WORKLOG","JIRA_LINK_TICKETS","TERMINAL_RUN","MCP_CALL"],s=["MANUAL","MANUAL_CHOICE","RESOURCE_MANUAL","RESOURCE_MANUAL_CHOICE","SCHEDULE","WORKFLOW_FINISHED","GITHUB_PR_STATE","GITHUB_REVIEW_CHANGES_REQUESTED","GITHUB_REVIEW_COMMENT","GITHUB_PR_CLOSED","GITHUB_CHECK_FAILED","GITHUB_PUSH_DEFAULT","GITHUB_WORKFLOW_SUCCEEDED","GITHUB_ISSUE_COMMAND","GITHUB_ACTIONS_RESULT","GITHUB_PR_LABEL","BUILD_RESULT","BUILD_TEST_THRESHOLD","BUILD_COVERAGE_THRESHOLD","BUILD_HOOK_FAILED","AGENT_CONNECTION","AGENT_JOB_FAILED","AGENT_DISK_REPORT","AGENT_DISK_THRESHOLD","AGENT_DISK_STATE_CHANGED","AGENT_DISK_CLEANUP_RESULT","CCUSAGE_THRESHOLD","WORKTREE_CREATED","WORKTREE_BEHIND","WORKTREE_CONFLICT","WORKTREE_MISSING","WORKTREE_DIVERGED","WORKTREE_DIRTY_DURATION","WORKTREE_NEW_COMMIT","CODEBASE_REMOTE_BRANCH","JIRA_STATUS","JIRA_LABEL","JIRA_ASSIGNED_SELF","JIRA_SOURCE_NEW_TICKET","JIRA_MENTION","JIRA_SPRINT_STARTED","JIRA_ISSUE_CREATED","JIRA_ISSUE_DELETED","JIRA_ISSUE_COMMAND","JIRA_ATTACHMENT_ADDED","JIRA_ISSUE_LINKED","RUN_STARTED","RUN_COMPLETED","RUN_QUESTION_NEEDED","RUN_QUESTION_ANSWERED","RUN_PAUSED","RUN_CONTINUED","RUN_FAILED","RUN_CANCELLED","RUN_PLAN_PLAYED","RUN_FOLLOW_UP","RUN_IMPORTED","RUN_USAGE_THRESHOLD","RUN_EVENT_MATCH","COMMAND_RUN_RESULT","COMMAND_OUTPUT_MATCH","SKILL_SYNC_RESULT","SKILL_SYNC_CONFLICT","GITHUB_PIPELINE_STATUS_CHANGED","GITHUB_PR_SYNCHRONIZED","GITHUB_REVIEW_APPROVED","JIRA_TICKET_UPDATED","JIRA_COMMENT_ADDED","JIRA_WORKLOG_ADDED","JIRA_SPRINT_ENDED","CODEBASE_SYNC_STATE_CHANGED","CODEBASE_OPERATION_FAILED","WORKTREE_SYNC_STATE_CHANGED","WORKTREE_AUTOMATION_RESULT","WORKTREE_CLEAN","PUSH_NOTIFICATION_RESULT","IOS_DEVICE_ENROLLED","IOS_DEVICE_REGISTRATION_RESULT","SIGNING_OPERATION_RESULT","SIGNING_ASSET_EXPIRING","BUILD_DATA_THRESHOLD","BUILD_DATA_CLEANUP_RESULT","POLLING_OPERATION_STATE","MODEL_COST_CATALOG_CHANGED","CREDENTIAL_STORE_DEGRADED","AGENT_RESOURCE_THRESHOLD","AGENT_VERSION_CHANGED","TOOL_CALL_RESULT"],o=["BUILD","CODEBASE","JIRA_TICKET","AGENT_RUN","GITHUB_PIPELINE","GITHUB_JOB","PULL_REQUEST","WORKTREE","COMMAND_RUN","SKILL","SKILL_SYNC","IOS_DEVICE","SIGNING_PROFILE","PUSH_NOTIFICATION_BATCH","BUILD_DATA_COLLECTION"],l=new Set(["MANUAL_CHOICE","RESOURCE_MANUAL_CHOICE"]),u=new Set(["RESOURCE_MANUAL","RESOURCE_MANUAL_CHOICE"]);function c(e){return l.has(e)}function d(e){return u.has(e)}let p=/^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$/;function h(e){return"string"==typeof e&&p.test(e)}function m(e){return c(e)?[]:"CONTROL_IF"===e?["true","false"]:"CONTROL_FOR_EACH"===e?["body","empty"]:"CONTROL_TRY"===e?["success","catch"]:["success","failure"]}e.s(["WORKFLOW_CHOICE_KEY_PATTERN",0,p,"WORKFLOW_QUICK_ACTION_KINDS",0,["STANDARD","MERGE_CONFLICT","GITHUB_ACTIONS","NONE"],"WORKFLOW_RESOURCE_KINDS",0,o,"WORKFLOW_STEP_KINDS",0,n,"WORKFLOW_TRIGGER_KINDS",0,s,"isChoiceTriggerKind",0,c,"isResourceTriggerKind",0,d,"isWorkflowChoiceKey",0,h,"workflowStaticSourceHandles",0,m],835544);let f=/^([A-Za-z0-9_-]+)(?:\[(\d+)\])?$/,g=/^[A-Za-z0-9_-]+(?:\[\d+\])?(?:\.[A-Za-z0-9_-]+(?:\[\d+\])?)*$/,y=/\{\{\s*([A-Za-z0-9_-]+(?:\[\d+\])?(?:\.[A-Za-z0-9_-]+(?:\[\d+\])?)*)\s*\}\}/g,w=/\{\{([^{}]*)\}\}/g;function b(e){return e.split(".").flatMap(t=>{let r=f.exec(t);if(!r)throw Error(`Invalid session path: ${e}`);return void 0===r[2]?[r[1]]:[r[1],Number(r[2])]})}function v(e,t){let r=e;for(let e of b(t)){if(null==r)return;if("number"==typeof e){if(!Array.isArray(r))return;r=r[e]}else{if("object"!=typeof r||Array.isArray(r))return;r=r[e]}}return r}function k(e,t){var r,i;return e&&"object"==typeof e&&!Array.isArray(e)&&"SESSION"===e.source&&"string"==typeof e.path?v(t,e.path):e&&"object"==typeof e&&!Array.isArray(e)&&"LITERAL"===e.source?e.value:Array.isArray(e)?e.map(e=>k(e,t)):e&&"object"==typeof e?Object.fromEntries(Object.entries(e).map(([e,r])=>[e,k(r,t)])):"string"==typeof e?(r=e,i=t,r.replace(y,(e,t)=>{let r=v(i,t);return null==r?"":"string"==typeof r?r:JSON.stringify(r)})):e}function S(e,t=new Set){if(Array.isArray(e))for(let r of e)S(r,t);else if(e&&"object"==typeof e)for(let r of("SESSION"===e.source&&"string"==typeof e.path&&g.test(e.path)&&t.add(e.path),Object.values(e)))S(r,t);else if("string"==typeof e)for(let r of e.matchAll(y))t.add(r[1]);return t}function E(e,t=[]){if(Array.isArray(e))for(let r of e)E(r,t);else if(e&&"object"==typeof e)for(let r of("SESSION"!==e.source||"string"==typeof e.path&&g.test(e.path)||t.push("Session bindings require a valid dotted path"),Object.values(e)))E(r,t);else if("string"==typeof e&&/\{\{|\}\}/.test(e)){let r=e.replace(w,"");for(let i of(/\{\{|\}\}/.test(r)&&t.push("Text interpolation contains unmatched braces"),e.matchAll(w)))g.test(i[1].trim())||t.push("Text interpolation requires a valid dotted path")}return t}function I(e){return null===e||["string","number","boolean"].includes(typeof e)?e:JSON.stringify(e)}function x(e){return{kind:"static",options:e.map(e=>({value:e,label:e.charAt(0)+e.slice(1).toLowerCase().replace(/_/g," ")}))}}function A(e){return{kind:"static",options:e}}e.s(["evaluateWorkflowCondition",0,function e(t,r){if("ALL"===t.op)return t.conditions.every(t=>e(t,r));if("ANY"===t.op)return t.conditions.some(t=>e(t,r));if("NOT"===t.op)return!e(t.condition,r);if(!("left"in t))return!1;let i=k(t.left,r),a=k(t.right,r);switch(t.op){case"EXISTS":return null!=i;case"EQ":return JSON.stringify(i)===JSON.stringify(a);case"NE":return JSON.stringify(i)!==JSON.stringify(a);case"GT":return I(i)>I(a);case"GTE":return I(i)>=I(a);case"LT":return I(i)<I(a);case"LTE":return I(i)<=I(a);case"CONTAINS":return Array.isArray(i)?i.some(e=>JSON.stringify(e)===JSON.stringify(a)):String(i??"").includes(String(a??""));case"MATCHES":return new RegExp(String(a??"")).test(String(i??""))}},"getSessionValue",0,v,"hasSessionValue",0,function(e,t){return void 0!==v(e,t)},"invalidWorkflowValueBindings",0,E,"mergeSessionData",0,function(e,t){let r=(e,t)=>{if(e&&t&&"object"==typeof e&&"object"==typeof t&&!Array.isArray(e)&&!Array.isArray(t)){let i={...e};for(let[e,a]of Object.entries(t))i[e]=r(i[e],a);return i}return structuredClone(t)};return r(e,t)},"resolveWorkflowValue",0,k,"setSessionValue",0,function(e,t,r){let i=structuredClone(e),a=b(t),n=i;return a.forEach((e,i)=>{if(i===a.length-1){if("number"==typeof e){if(!Array.isArray(n))throw Error(`Expected an array at ${t}`);n[e]=r}else{if(Array.isArray(n))throw Error(`Expected an object at ${t}`);n[e]=r}return}let s="number"==typeof a[i+1];if("number"==typeof e){if(!Array.isArray(n))throw Error(`Expected an array at ${t}`);let r=n[e];r&&"object"==typeof r||(n[e]=s?[]:{}),n=n[e]}else{if(Array.isArray(n))throw Error(`Expected an object at ${t}`);let r=n[e];r&&"object"==typeof r||(n[e]=s?[]:{}),n=n[e]}}),i},"workflowSessionData",0,function(e){let t=JSON.parse(e);if(!t||"object"!=typeof t||Array.isArray(t))throw Error("Workflow session data must be a JSON object");return t},"workflowValueSessionPaths",0,S],499162);let _={agent:"agent.id",codebase:"codebase.id",worktree:"worktree.id",githubRepository:"repo.id",githubPullRequest:"pr.number",jiraTicket:"ticket.key",agentRun:"run.id",githubWorkflowRun:"pipeline.runId"};function C(e,t){return{kind:"resource",resource:e,scopeFrom:t,sessionPath:_[e]}}let R=["literal","session","interpolation"],T=["literal","interpolation"],D=(e,t,r={})=>({key:e,label:t,control:"text",valueModes:R,...r}),N=(e,t,r={})=>D(e,t,{multiline:!0,...r}),O=(e,t,r={})=>({key:e,label:t,control:"number",valueModes:["literal","session"],...r}),P=(e,t,r={})=>({key:e,label:t,control:"boolean",...r}),$=(e,t,r,i={})=>({key:e,label:t,control:"enum",options:r,...i}),U=(e,t,r,i={})=>{let{scopeFrom:a,...n}=i;return{key:e,label:t,control:"resource",options:C(r,a),valueModes:R,...n}},B=(e,t,r,i={})=>{let{scopeFrom:a,...n}=i;return{key:e,label:t,control:"resourceMulti",options:C(r,a),valueModes:T,...n}},j=(e,t,r={})=>({key:e,label:t,control:"stringList",valueModes:T,...r}),L=e=>({key:"mcpPresetIds",label:"MCP tool presets",control:"mcpPresetMulti",presetKind:e,default:[]}),q=(e,t,r={})=>({key:e,label:t,control:"record",valueModes:T,...r}),M=(e,t,r={})=>({key:e,label:t,control:"json",valueModes:T,...r}),F=(e,t,r={})=>({key:e,label:t,control:"triggerChoices",...r}),K=A([{value:"EQ",label:"Equals"},{value:"NE",label:"Not equal"},{value:"GT",label:"Greater than"},{value:"GTE",label:"Greater or equal"},{value:"LT",label:"Less than"},{value:"LTE",label:"Less or equal"},{value:"CONTAINS",label:"Contains"},{value:"MATCHES",label:"Matches regex"},{value:"EXISTS",label:"Exists"}]),V=x(a.WORKTREE_OPERATIONS.filter(e=>"OPEN_EDITOR"!==e)),G=()=>[D("owner","Repository owner",{placeholder:"octocat",help:"Defaults to the repository from session data."}),D("name","Repository name",{placeholder:"hello-world"})],H=e=>[U("worktreeId","Worktree","worktree"),U("jiraIssueKey","Jira issue key","jiraTicket",{placeholder:"APP-123"}),{key:"model",label:"Model",control:"model",required:!0,valueModes:["literal","session"],modelKeys:{provider:"provider",model:"model",effort:"effort",scopeFrom:"worktreeId"}},P("webSearchEnabled","Enable web search"),L(e),O("worktreeConcurrencyLimit","Worktree concurrency limit",{default:"PLAN"===e?0:"SESSION"===e?1:void 0,minimum:0,maximum:32,integer:!0,help:"PLAN"===e?"Maximum plans admitted on this worktree. Use 0 for unlimited.":"SESSION"===e?"Maximum sessions admitted on this worktree. Use 0 for unlimited.":"Maximum same-kind runs admitted on this worktree. Use 0 for unlimited; leave empty for the source kind's default."}),N("prompt","Prompt",{required:!0}),j("attachmentIds","Attachment IDs")],W={JIRA_LOAD_TICKET:{fields:[U("issueKey","Issue key","jiraTicket",{placeholder:"APP-123"}),P("force","Bypass cache")]},JIRA_TRANSITION:{fields:[U("issueKey","Issue key","jiraTicket",{placeholder:"APP-123"}),D("transitionId","Transition ID",{required:!0})]},JIRA_COMMENT:{fields:[U("issueKey","Issue key","jiraTicket",{placeholder:"APP-123"}),N("content","Comment",{required:!0}),$("format","Format",A([{value:"MARKDOWN",label:"Markdown"},{value:"JIRA_WIKI",label:"Jira wiki"}]))]},JIRA_ASSIGN:{fields:[U("issueKey","Issue key","jiraTicket",{placeholder:"APP-123"}),U("accountId","Assignee","jiraUser",{scopeFrom:"issueKey",help:"Leave empty to unassign the ticket."})]},JIRA_UPDATE_FIELDS:{fields:[U("issueKey","Issue key","jiraTicket",{placeholder:"APP-123"}),M("fields","Fields",{placeholder:'{ "labels": ["ready"] }'})]},JIRA_RESOLVE_BRANCH:{fields:[U("issueKey","Issue key","jiraTicket",{placeholder:"APP-123"}),U("codebaseId","Codebase","codebase")]},GITHUB_LOAD_PR:{fields:[...G(),O("number","Pull request number")]},GITHUB_MERGE_PR:{fields:[...G(),O("number","Pull request number"),$("method","Merge method",A([{value:"SQUASH",label:"Squash"},{value:"MERGE",label:"Merge"},{value:"REBASE",label:"Rebase"}])),D("commitHeadline","Commit headline"),N("commitBody","Commit body"),D("authorEmail","Author email")]},GITHUB_COLLECT_REVIEW_THREADS:{fields:[...G(),O("number","Pull request number")]},GITHUB_REPLY_REVIEW_THREAD:{fields:[D("threadId","Review thread ID",{required:!0}),N("body","Reply",{required:!0})]},GITHUB_SET_REVIEW_THREAD_RESOLVED:{fields:[D("threadId","Review thread ID",{required:!0}),P("resolved","Mark resolved")]},GITHUB_CREATE_PR:{fields:[...G(),D("baseRefName","Base branch"),D("headRefName","Head branch"),D("title","Title"),N("body","Body"),P("draft","Open as draft")]},GITHUB_SET_PR_LABELS:{fields:[...G(),O("number","Pull request number"),j("labels","Labels")]},GITHUB_RETRY_PIPELINE:{fields:[U("repositoryId","Repository","githubRepository"),D("checkSuiteId","Check suite ID")]},GITHUB_RETRY_JOB:{fields:[U("repositoryId","Repository","githubRepository"),D("checkSuiteId","Check suite ID",{required:!0}),D("jobId","Workflow job ID",{required:!0})]},GITHUB_CANCEL_WORKFLOW_RUN:{fields:[D("codebaseRepositoryId","Codebase repository ID"),U("workflowRunId","Workflow run","githubWorkflowRun",{scopeFrom:"codebaseRepositoryId"}),P("force","Force cancel")]},GITHUB_SAVE_AUTO_RETRY:{fields:[M("input","Auto-retry rule",{required:!0})]},GITHUB_WAIT_CHECKS:{fields:[D("repositoryId","Repository ID"),D("workflowRunId","Workflow run ID")]},WORKTREE_CREATE:{fields:[U("codebaseId","Codebase","codebase"),$("mode","Branch mode",x(["NEW","EXISTING","TICKET"])),D("branchName","Branch name"),D("ticketKey","Ticket key",{placeholder:"APP-123"}),D("baseBranch","Base branch")]},WORKTREE_CHANGE_BRANCH:{fields:[U("worktreeId","Worktree","worktree"),$("mode","Branch mode",x(["NEW","EXISTING","TICKET"])),D("branchName","Branch name"),D("ticketKey","Ticket key",{placeholder:"APP-123"}),D("baseBranch","Base branch"),P("stashOnFailure","Stash on failure")]},WORKTREE_REFRESH_PULL_REQUEST:{fields:[U("worktreeId","Worktree","worktree")]},WORKTREE_OPERATION:{fields:[U("worktreeId","Worktree","worktree"),$("operation","Operation",V)]},WORKTREE_SET_AUTO_SYNC:{fields:[U("worktreeId","Worktree","worktree"),$("action","Action",x(["ENABLE","RETRY","CANCEL"])),D("conflictWorkflowId","Conflict workflow ID"),D("conflictWorkflowChoice","Conflict workflow choice")]},WORKTREE_SET_AUTO_MERGE:{fields:[U("worktreeId","Worktree","worktree"),$("action","Action",x(["ENABLE","RETRY","CANCEL"])),D("repositoryNameWithOwner","Repository",{placeholder:"owner/repository"}),O("pullRequestNumber","Pull request number"),$("method","Merge method",x(["MERGE","REBASE","SQUASH"])),D("commitHeadline","Commit headline"),N("commitBody","Commit body"),D("authorEmail","Author email"),P("deleteWorktree","Delete worktree after merge"),P("moveTicketToDone","Move Jira ticket to done")]},WORKTREE_DELETE:{fields:[U("worktreeId","Worktree","worktree"),P("deleteRemoteBranch","Delete remote branch")]},WORKTREE_MOVE:{fields:[U("worktreeId","Source worktree","worktree"),U("targetCodebaseId","Target codebase","codebase",{required:!0}),U("targetWorktreeId","Target worktree","worktree"),P("deleteSource","Delete source")]},WORKTREE_INSPECT:{fields:[U("worktreeId","Worktree","worktree")]},WORKTREE_INSPECT_GIT:{fields:[U("worktreeId","Worktree","worktree")]},WORKTREE_GIT_OPERATION:{fields:[U("worktreeId","Worktree","worktree"),$("operation","Operation",x(a.WORKTREE_GIT_OPERATIONS)),D("branch","Branch"),D("stashOid","Stash OID"),P("stashChanges","Stash changes first")]},WORKTREE_WAIT_PUSH_READY:{fields:[U("worktreeId","Worktree","worktree")]},WORKTREE_SNAPSHOT:{fields:[D("kind","Checkpoint kind",{placeholder:"STEP"})]},CODEBASE_FETCH_REFRESH:{fields:[U("codebaseId","Codebase","codebase"),$("operation","Operation",x(["FETCH","REFRESH"]))]},CODEBASE_INSPECT_GIT:{fields:[U("codebaseId","Codebase","codebase")]},CODEBASE_GIT_OPERATION:{fields:[U("codebaseId","Codebase","codebase"),$("operation","Operation",x(i.CODEBASE_GIT_OPERATIONS)),D("branch","Branch"),D("stashOid","Stash OID"),P("stashChanges","Stash changes first")]},BUILD_START:{fields:[U("worktreeId","Worktree","worktree"),D("configurationId","Build configuration ID",{required:!0}),$("action","Action",x(r.BUILD_ACTIONS)),M("destination","Destination"),B("scriptIds","Build scripts","buildScript"),M("advancedSettings","Advanced settings"),P("exportWhenComplete","Export when complete"),M("exportSettings","Export settings"),P("worktreeCoverage","Collect worktree coverage")]},BUILD_READ_TEST_RESULTS:{fields:[D("buildId","Build ID")]},BUILD_READ_COVERAGE:{fields:[D("buildId","Build ID")]},BUILD_IMPORT_COVERAGE:{fields:[U("worktreeId","Worktree","worktree"),D("buildName","Build name",{default:"{{workflow.name}}",help:"Name shown on the build and coverage pages. Defaults to the workflow name."}),D("reportPath","Coverage file",{required:!0,default:"coverage/lcov.info",help:"Path inside the worktree, written by whichever test command ran first."}),$("format","Coverage format",x(["AUTO","LCOV","ISTANBUL"]))]},BUILD_EXPORT:{fields:[D("buildId","Build ID"),M("settings","Export settings",{required:!0})]},BUILD_DEPLOY:{fields:[D("buildId","Build ID"),M("destinations","Destinations")]},BUILD_CANCEL:{fields:[D("buildId","Build ID")]},DISK_SPACE_LOAD:{fields:[U("agentId","Agent","agent")]},DISK_SPACE_REFRESH:{fields:[U("agentId","Agent","agent")]},DISK_SPACE_UPDATE_THRESHOLDS:{fields:[O("normalThresholdGiB","Normal threshold (GiB)",{required:!0}),O("pressureThresholdGiB","Pressure threshold (GiB)",{required:!0})]},DISK_SPACE_SET_MONITORING:{fields:[U("agentId","Agent","agent"),P("enabled","Monitoring enabled",{required:!0,default:!0})]},DISK_SPACE_SET_PRESSURE_MODE:{fields:[U("agentId","Agent","agent"),P("enabled","Manual pressure mode",{required:!0,default:!0})]},SKILL_APPLY:{fields:[U("groupId","Skill group","skillGroup",{help:"Leave empty to sync all skills."})]},NOTIFICATION_SEND:{fields:[D("title","Title",{required:!0}),N("body","Body",{required:!0}),D("href","Link")]},IOS_PUSH_SEND:{fields:[$("targetMode","Target mode",x(["ALL","DEVICES","BROADCAST","DIRECT"])),B("registrationIds","Registrations","apnsRegistration"),U("channelId","Broadcast channel","apnsChannel"),M("editor","Notification editor"),D("directToken","Direct device token"),$("directTokenEncoding","Token encoding",x(["HEX","BASE64"])),$("directEnvironment","Environment",x(["SANDBOX","PRODUCTION"]))]},COMMAND_RERUN:{fields:[D("commandRunId","Command run ID",{required:!0})]},COMMAND_TERMINATE:{fields:[D("commandRunId","Command run ID",{required:!0})]},COMMAND_READ_OUTPUT:{fields:[D("commandRunId","Command run ID",{required:!0}),O("first","Maximum chunks")]},WORKTREE_INSPECT_DIFF:{fields:[D("worktreeId","Worktree ID"),D("scope","Diff scope",{required:!0}),D("path","Path"),D("previousPath","Previous path"),D("commitSha","Commit SHA")]},WORKTREE_UPDATE_METADATA:{fields:[D("worktreeId","Worktree ID"),D("baseBranch","Base branch"),D("highlightColor","Highlight color")]},WORKTREE_MOVE_CONTROL:{fields:[D("moveId","Move ID",{required:!0}),$("operation","Operation",x(["RETRY_WITH_STASH","CANCEL"]))]},BUILD_REBUILD:{fields:[D("buildId","Build ID")]},BUILD_GENERATE_REPORT:{fields:[D("buildId","Build ID"),$("reportKind","Report kind",x(["TEST_RESULTS","CODE_COVERAGE"]))]},BUILD_DELETE:{fields:[j("buildIds","Build IDs")]},SKILL_PREPARE_SYNC:{fields:[$("syncKind","Sync kind",x(["ALL","GROUP"])),D("groupId","Skill group ID")]},SKILL_RESOLVE_SYNC:{fields:[D("runId","Sync run ID",{required:!0}),D("itemId","Conflict item ID",{required:!0}),$("resolution","Resolution",x(["LOCAL","REMOTE","SKIP"]))]},SKILL_SKIP_SYNC:{fields:[D("runId","Sync run ID",{required:!0})]},BUILD_DATA_REFRESH:{fields:[]},BUILD_DATA_DELETE:{fields:[D("collectionId","Collection ID",{required:!0}),j("entryIds","Entry IDs"),P("overrideProtection","Override protection")]},BUILD_DATA_SET_LOCK:{fields:[D("collectionId","Collection ID",{required:!0}),D("entryId","Entry ID",{required:!0}),P("locked","Locked")]},SIGNING_REFRESH:{fields:[j("agentIds","Agent IDs")]},SIGNING_SYNC_PROFILE:{fields:[D("uuid","Profile UUID",{required:!0}),D("sourceAgentId","Source agent ID",{required:!0}),j("targetAgentIds","Target agent IDs")]},SIGNING_DELETE_EXPIRED:{fields:[j("agentIds","Agent IDs")]},IOS_DEVICE_REGISTER:{fields:[D("deviceId","Device ID",{required:!0})]},IOS_DEVICE_REJECT:{fields:[D("deviceId","Device ID",{required:!0})]},AGENT_RECONCILE:{fields:[j("agentIds","Agent IDs")]},AGENT_UPDATE_CADENCE:{fields:[D("agentId","Agent ID",{required:!0}),M("settings","Cadence settings")]},CCUSAGE_COLLECT:{fields:[]},MODEL_COST_REFRESH:{fields:[]},GITHUB_UPDATE_PR:{fields:[D("owner","Owner",{required:!0}),D("name","Repository",{required:!0}),O("number","Pull request number",{required:!0}),D("title","Title"),N("body","Body"),P("draft","Draft")]},GITHUB_SUBMIT_REVIEW:{fields:[D("owner","Owner",{required:!0}),D("name","Repository",{required:!0}),O("number","Pull request number",{required:!0}),$("event","Review event",x(["APPROVE","REQUEST_CHANGES","COMMENT"])),N("body","Body")]},GITHUB_REQUEST_REVIEWERS:{fields:[D("owner","Owner",{required:!0}),D("name","Repository",{required:!0}),O("number","Pull request number",{required:!0}),j("reviewers","Reviewers"),j("teamReviewers","Team reviewers")]},GITHUB_DISPATCH_WORKFLOW:{fields:[D("repositoryId","Repository ID",{required:!0}),D("workflowId","Workflow ID",{required:!0}),D("ref","Git ref",{required:!0}),q("inputs","Workflow inputs")]},JIRA_CREATE_TICKET:{fields:[D("projectKey","Project key",{required:!0}),D("issueTypeId","Issue type ID",{required:!0}),D("summary","Summary",{required:!0}),N("description","Description"),M("fields","Additional fields")]},JIRA_ADD_WORKLOG:{fields:[D("issueKey","Issue key"),O("timeSpentSeconds","Time spent (seconds)",{required:!0}),D("startedAt","Started at"),N("comment","Comment")]},JIRA_LINK_TICKETS:{fields:[D("inwardIssueKey","Inward issue key",{required:!0}),D("outwardIssueKey","Outward issue key",{required:!0}),D("linkType","Link type",{required:!0})]},MCP_CALL:{fields:[U("groupId","MCP server","mcpServer",{required:!0}),D("name","Tool name",{required:!0}),M("arguments","Arguments")]},RUN_CREATE_PLAN:{fields:H("PLAN")},RUN_CREATE_SESSION:{fields:H("SESSION")},RUN_PLAY_PLAN:{fields:[D("runId","Plan run ID"),L("SESSION"),O("worktreeConcurrencyLimit","Worktree concurrency limit",{default:1,minimum:0,maximum:32,integer:!0,help:"Maximum sessions admitted on this worktree. Use 0 for unlimited."})]},RUN_FOLLOW_UP:{fields:[D("runId","Source run ID"),...H(null),$("followUpMode","Follow-up mode",x(["RESUME","FRESH","RESEND"])),D("contextMode","Context mode")]},RUN_STEER:{fields:[D("runId","Run ID"),N("prompt","Steering prompt",{required:!0}),j("attachmentIds","Attachment IDs")]},RUN_ANSWER:{fields:[D("batchId","Question batch ID",{required:!0}),M("answers","Answers")]},RUN_PAUSE:{fields:[D("runId","Run ID")]},RUN_CONTINUE:{fields:[D("runId","Run ID")]},RUN_CANCEL:{fields:[D("runId","Run ID")]},RUN_REVISE_ANSWER:{fields:[D("batchId","Question batch ID",{required:!0}),M("answers","Answers"),P("stash","Stash before revision"),P("rollback","Roll back to the question")]},RUN_READ_RESULT:{fields:[D("runId","Run ID")]},RUN_CAPTURE_CHECKPOINT:{fields:[D("runId","Run ID")]},RUN_ARCHIVE_DELETE:{fields:[D("runId","Run ID"),P("delete","Delete permanently"),P("archived","Archive")]},HUMAN_CONFIRM:{fields:[N("prompt","Prompt")]},HUMAN_CHOICE:{fields:[N("prompt","Prompt"),P("multiSelect","Allow multiple selections"),P("allowCustom","Allow a custom answer"),((e,t,r={})=>({key:e,label:t,control:"choiceOptions",valueModes:T,...r}))("options","Buttons")]},CONTROL_IF:{fields:[((e,t,r={})=>({key:e,label:t,control:"condition",valueModes:T,...r}))("condition","Condition",{required:!0})]},CONTROL_JOIN:{fields:[$("mode","Join mode",A([{value:"ALL",label:"All — wait for every branch"},{value:"ANY",label:"Any — continue on the first branch"}]),{help:"All (default) waits until every incoming branch has finished before continuing. Any continues as soon as the first incoming branch arrives, and the remaining branches keep running on their own. Either way, branches that were skipped do not block the join, and the join itself is skipped when no branch reaches it."})]},CONTROL_DELAY:{fields:[O("seconds","Delay (seconds)",{required:!0})]},CONTROL_WAIT_UNTIL:{fields:[M("condition","Condition",{required:!0})]},CONTROL_FOR_EACH:{fields:[D("listPath","List session path",{placeholder:"pr.unresolvedThreads"}),M("items","Inline items"),$("errorMode","Error handling",A([{value:"FAIL_FAST",label:"Fail fast"},{value:"COLLECT_ERRORS",label:"Collect errors"}]))]},CONTROL_TRY:{fields:[]},CONTROL_SET_VARIABLE:{fields:[D("path","Output path",{required:!0,placeholder:"flags.ready"}),M("value","Value"),N("script","Script")]},CONTROL_SUBWORKFLOW:{fields:[D("versionId","Sub-workflow version ID",{required:!0}),M("inputMapping","Input mapping")]},SAVED_COMMAND:{fields:[D("commandId","Saved command ID",{required:!0}),$("completionMode","Completion",x(["WAIT_FOR_EXIT","FIRE_AND_FORGET"])),$("targetMode","Target",x(["CONTEXT","FIXED_AGENT","FIXED_WORKTREE"])),D("agentId","Fixed agent ID",{visibleWhen:{key:"targetMode",equals:"FIXED_AGENT"}}),D("worktreeId","Fixed worktree ID",{visibleWhen:{key:"targetMode",equals:"FIXED_WORKTREE"}})]},CUSTOM_COMMAND:{fields:[N("script","Script",{required:!0}),$("completionMode","Completion",x(["WAIT_FOR_EXIT","FIRE_AND_FORGET"])),$("targetMode","Target",x(["CONTEXT","FIXED_AGENT","FIXED_WORKTREE"])),D("agentId","Fixed agent ID",{visibleWhen:{key:"targetMode",equals:"FIXED_AGENT"}}),D("worktreeId","Fixed worktree ID",{visibleWhen:{key:"targetMode",equals:"FIXED_WORKTREE"}})]},TERMINAL_RUN:{fields:[N("script","Script",{required:!0}),$("interpreter","Interpreter",x(["SHELL","NODE"])),q("environment","Environment variables"),M("credentials","Credential environment",{help:"JSON array of { name, credential: { id, kind, ownerId } } entries."})]}},J=()=>O("timeoutSeconds","Timeout (seconds)",{help:"How long to keep waiting before the step fails. Leave empty to wait for as long as the work takes."});function z(e,t){for(let r of e){let e=W[r];if(!e)continue;let i=new Set(e.fields.map(({key:e})=>e));e.fields=[...e.fields,...t().filter(({key:e})=>!i.has(e))]}}function Z(e=[]){return{fields:[...e,q("filters","Filters",{help:"Match when each session path equals the given value.",recordValueType:"json"})]}}z(["WORKTREE_CREATE","WORKTREE_CHANGE_BRANCH","WORKTREE_OPERATION","WORKTREE_DELETE","WORKTREE_GIT_OPERATION","WORKTREE_MOVE","WORKTREE_WAIT_PUSH_READY","WORKTREE_SNAPSHOT","CODEBASE_FETCH_REFRESH","CODEBASE_GIT_OPERATION","BUILD_START","BUILD_IMPORT_COVERAGE","BUILD_EXPORT","BUILD_DEPLOY","DISK_SPACE_REFRESH","TERMINAL_RUN","RUN_CREATE_PLAN","RUN_CREATE_SESSION","RUN_PLAY_PLAN","RUN_FOLLOW_UP","RUN_REVISE_ANSWER","SAVED_COMMAND","CUSTOM_COMMAND","COMMAND_RERUN","BUILD_REBUILD","BUILD_DATA_REFRESH","SIGNING_REFRESH","SIGNING_SYNC_PROFILE","SIGNING_DELETE_EXPIRED","SKILL_APPLY","GITHUB_WAIT_CHECKS","CONTROL_SUBWORKFLOW","CONTROL_WAIT_UNTIL"],()=>[O("cadenceSeconds","Poll cadence (seconds)",{help:"How often to check whether the work has finished. Leave empty for this step's default."}),J()]),z(["HUMAN_CONFIRM","HUMAN_CHOICE"],()=>[J()]);let Y=["BUILD_TEST_THRESHOLD","BUILD_COVERAGE_THRESHOLD","AGENT_DISK_THRESHOLD","CCUSAGE_THRESHOLD","RUN_USAGE_THRESHOLD","BUILD_DATA_THRESHOLD","AGENT_RESOURCE_THRESHOLD","SIGNING_ASSET_EXPIRING"],Q=Object.fromEntries(["MANUAL","MANUAL_CHOICE","RESOURCE_MANUAL","RESOURCE_MANUAL_CHOICE","SCHEDULE","WORKFLOW_FINISHED","GITHUB_PR_STATE","GITHUB_REVIEW_CHANGES_REQUESTED","GITHUB_REVIEW_COMMENT","GITHUB_PR_CLOSED","GITHUB_CHECK_FAILED","GITHUB_PUSH_DEFAULT","GITHUB_WORKFLOW_SUCCEEDED","GITHUB_ISSUE_COMMAND","GITHUB_ACTIONS_RESULT","GITHUB_PR_LABEL","BUILD_RESULT","BUILD_TEST_THRESHOLD","BUILD_COVERAGE_THRESHOLD","BUILD_HOOK_FAILED","AGENT_CONNECTION","AGENT_JOB_FAILED","AGENT_DISK_REPORT","AGENT_DISK_THRESHOLD","AGENT_DISK_STATE_CHANGED","AGENT_DISK_CLEANUP_RESULT","CCUSAGE_THRESHOLD","WORKTREE_CREATED","WORKTREE_BEHIND","WORKTREE_CONFLICT","WORKTREE_MISSING","WORKTREE_DIVERGED","WORKTREE_DIRTY_DURATION","WORKTREE_NEW_COMMIT","CODEBASE_REMOTE_BRANCH","JIRA_STATUS","JIRA_LABEL","JIRA_ASSIGNED_SELF","JIRA_SOURCE_NEW_TICKET","JIRA_MENTION","JIRA_SPRINT_STARTED","JIRA_ISSUE_CREATED","JIRA_ISSUE_DELETED","JIRA_ISSUE_COMMAND","JIRA_ATTACHMENT_ADDED","JIRA_ISSUE_LINKED","RUN_STARTED","RUN_COMPLETED","RUN_QUESTION_NEEDED","RUN_QUESTION_ANSWERED","RUN_PAUSED","RUN_CONTINUED","RUN_FAILED","RUN_CANCELLED","RUN_PLAN_PLAYED","RUN_FOLLOW_UP","RUN_IMPORTED","RUN_USAGE_THRESHOLD","RUN_EVENT_MATCH","COMMAND_RUN_RESULT","COMMAND_OUTPUT_MATCH","SKILL_SYNC_RESULT","SKILL_SYNC_CONFLICT","GITHUB_PIPELINE_STATUS_CHANGED","GITHUB_PR_SYNCHRONIZED","GITHUB_REVIEW_APPROVED","JIRA_TICKET_UPDATED","JIRA_COMMENT_ADDED","JIRA_WORKLOG_ADDED","JIRA_SPRINT_ENDED","CODEBASE_SYNC_STATE_CHANGED","CODEBASE_OPERATION_FAILED","WORKTREE_SYNC_STATE_CHANGED","WORKTREE_AUTOMATION_RESULT","WORKTREE_CLEAN","PUSH_NOTIFICATION_RESULT","IOS_DEVICE_ENROLLED","IOS_DEVICE_REGISTRATION_RESULT","SIGNING_OPERATION_RESULT","SIGNING_ASSET_EXPIRING","BUILD_DATA_THRESHOLD","BUILD_DATA_CLEANUP_RESULT","POLLING_OPERATION_STATE","MODEL_COST_CATALOG_CHANGED","CREDENTIAL_STORE_DEGRADED","AGENT_RESOURCE_THRESHOLD","AGENT_VERSION_CHANGED","TOOL_CALL_RESULT"].map(e=>"RESOURCE_MANUAL"===e||"RESOURCE_MANUAL_CHOICE"===e?[e,Z([$("resourceKind","Resource kind",x(o),{required:!0}),..."RESOURCE_MANUAL_CHOICE"===e?[F("choices","Choices",{required:!0})]:[]])]:"MANUAL_CHOICE"===e?[e,Z([F("choices","Choices",{required:!0})])]:"SCHEDULE"===e?[e,Z([O("cadenceSeconds","Cadence (seconds)",{required:!0})])]:"GITHUB_ISSUE_COMMAND"===e?[e,Z([j("allowedLogins","Allowed logins",{placeholder:"octocat",required:!0}),D("commandPattern","Command pattern (regex)",{placeholder:"^/deploy\\b$",required:!0,valueModes:["literal","interpolation"]})])]:"JIRA_ISSUE_COMMAND"===e?[e,Z([j("allowedAccountIds","Allowed account IDs",{placeholder:"5b10a2844c20165700ede21g",required:!0}),D("commandPattern","Command pattern (regex)",{placeholder:"^/deploy\\b$",required:!0,valueModes:["literal","interpolation"]})])]:"COMMAND_OUTPUT_MATCH"===e?[e,Z([D("outputPattern","Output pattern (regex)",{placeholder:"error|failed",required:!0,valueModes:["literal","interpolation"]})])]:Y.includes(e)?[e,Z([D("thresholdPath","Threshold path",{placeholder:"build.testSummary.failed"}),$("thresholdOperator","Operator",K),M("thresholdValue","Threshold value")])]:[e,Z()]));function X(e,t){return"step"===t?W[e]:Q[e]}function ee(e,t,r){let i=function(e,t){let r=X(e,t);if(!r)return null;let i=new Set,a=new Set;for(let e of r.fields){for(let t of"model"===e.control&&e.modelKeys?[e.modelKeys.provider,e.modelKeys.model,e.modelKeys.effort]:[e.key])i.add(t);e.required&&a.add(e.key)}return{described:i,required:a}}(e,t);if(!i||!r||"object"!=typeof r||Array.isArray(r))return S(r);let a=new Set;for(let[e,t]of Object.entries(r))(!i.described.has(e)||i.required.has(e))&&S(t,a);return a}e.s(["getConfigDescriptor",0,X,"requiredConfigSessionPaths",0,ee],248626);let et=["EQ","NE","GT","GTE","LT","LTE","CONTAINS","MATCHES","EXISTS"],er={type:"object",title:"Session binding",description:"Reads the value from run session data at `path` instead of hard-coding it.",properties:{source:{const:"SESSION"},path:{type:"string",description:"Dotted session path, e.g. `ticket.key` or `pr.number`."}},required:["source","path"],additionalProperties:!1},ei={type:"object",title:"Literal wrapper",description:"An explicit constant. Equivalent to writing the value directly; the editor uses it to record that a field was pinned rather than bound.",properties:{source:{const:"LITERAL"},value:{}},required:["source"],additionalProperties:!1};function ea(e,t,r){let i=r.valueModes??[],a=[i.includes("session")?"May also be a session binding.":null,i.includes("interpolation")?"Strings here — including strings nested inside the value — may carry `{{path}}` interpolation tokens, e.g. `{{worktree.baseBranch}}`.":null].filter(Boolean),n=a.length?{...t,description:[t.description,...a].filter(Boolean).join(" ")}:t;return i.includes("session")?{anyOf:[e,er,ei],...n}:{...e,...n}}function en(e){let t=e.options?function(e){if("static"===e.kind){let t=e.options.filter(({label:e})=>e);return t.length?t.map(({value:e,label:t})=>`\`${e}\` — ${t}`).join("; "):null}let t=e.scopeFrom?` Scoped by the sibling \`${e.scopeFrom}\` value.`:"",r=e.sessionPath?` Usually bound to \`${e.sessionPath}\`.`:"";return`Identifier of a ${e.resource} known to the control plane.${r}${t}`}(e.options):null,r={description:[e.label,e.help,t].filter(Boolean).join(" — ")};return e.placeholder&&(r.examples=[e.placeholder]),void 0!==e.default&&(r.default=e.default),ea(function(e){switch(e.control){case"number":return{type:e.integer?"integer":"number",...void 0===e.minimum?{}:{minimum:e.minimum},...void 0===e.maximum?{}:{maximum:e.maximum}};case"boolean":return{type:"boolean"};case"enum":{let t=e.options;if(t?.kind==="static")return{type:"string",enum:t.options.map(({value:e})=>e)};return{type:"string"}}case"resource":case"model":case"text":default:return{type:"string"};case"resourceMulti":case"stringList":case"mcpPresetMulti":return{type:"array",items:{type:"string"}};case"record":return{type:"object",additionalProperties:"json"===e.recordValueType?{}:{type:"string"}};case"condition":return{$ref:"#/$defs/condition"};case"choiceOptions":return{type:"array",description:"Buttons offered to the person answering.",items:{type:"object",properties:{label:{type:"string"},description:{type:"string"}},required:["label"],additionalProperties:!1}};case"triggerChoices":return{type:"array",minItems:1,description:"Options this trigger offers. Each `key` names an outgoing handle on the trigger, so edges stay attached when a label is renamed.",items:{type:"object",properties:{key:{type:"string",pattern:p.source},label:{type:"string"},description:{type:"string"}},required:["key","label"],additionalProperties:!1}};case"json":return{}}}(e),r,e)}function es(e,t){let r=X(e,t);if(!r)return{type:"object",additionalProperties:!0};let i={},a=[],n=!1;for(let e of r.fields){for(let[t,r]of("condition"===e.control&&(n=!0),"model"===e.control?function(e){let t=e.modelKeys;if(!t)return[[e.key,en(e)]];let r=(t,r)=>[t,ea({type:"string"},{description:r},e)];return[r(t.provider,"AI provider that serves the model."),r(t.model,"Model identifier, as listed by the provider catalog."),r(t.effort,"Reasoning effort, when the model supports it.")]}(e):[[e.key,en(e)]]))i[t]=r;e.required&&a.push(e.key)}let s={type:"object",properties:i,additionalProperties:!0};return a.length&&(s.required=a),n&&(s.$defs={condition:{type:"object",description:"A condition tree. `ALL`/`ANY` combine nested conditions, `NOT` negates one, and the comparison operators test `left` against `right`.",anyOf:[{properties:{op:{enum:["ALL","ANY"]},conditions:{type:"array",items:{$ref:"#/$defs/condition"}}},required:["op","conditions"]},{properties:{op:{const:"NOT"},condition:{$ref:"#/$defs/condition"}},required:["op","condition"]},{properties:{op:{enum:[...et]},left:{description:"Value to test — usually a session binding. `EXISTS` needs only this side."},right:{description:"Value to compare against."}},required:["op","left"]}]}}),s}let eo="aide.workflow";function el(e){let t=e?.choices;if(!Array.isArray(t))return[];let r=[],i=new Set;for(let e of t)!(!e||"object"!=typeof e||Array.isArray(e))&&(!h(e.key)||i.has(e.key)||(i.add(e.key),r.push({key:e.key,label:"string"==typeof e.label&&e.label.trim()?e.label:e.key,description:"string"==typeof e.description?e.description:""})));return r}let eu={BUILD:["build.*","worktree.*","codebase.*","agent.*","repo.*","ticket.*"],CODEBASE:["codebase.*","agent.*","repo.*"],JIRA_TICKET:["ticket.*","comment.*"],AGENT_RUN:["run.*","worktree.*","codebase.*","agent.*","repo.*","ticket.*"],GITHUB_PIPELINE:["pipeline.*","repo.*","pr.*","worktree.*","codebase.*","agent.*","ticket.*"],GITHUB_JOB:["job.*","pipeline.*","repo.*","pr.*","worktree.*","codebase.*","agent.*","ticket.*"],PULL_REQUEST:["pr.number","repo.displayOrigin"],WORKTREE:["worktree.*","codebase.*","agent.*","repo.*","ticket.*","pr.*"],COMMAND_RUN:["command.*","agent.*","worktree.*","codebase.*","repo.*"],SKILL:["skill.*","repo.*","codebase.*"],SKILL_SYNC:["skillSync.*","skill.*","repo.*","codebase.*","worktree.*"],IOS_DEVICE:["device.*"],SIGNING_PROFILE:["signingProfile.*","device.*","agent.*"],PUSH_NOTIFICATION_BATCH:["pushBatch.*"],BUILD_DATA_COLLECTION:["buildData.*","agent.*","worktree.*","codebase.*"]};function ec(e){let t=e?.resourceKind;return"string"==typeof t&&o.includes(t)?t:null}function ed(e,t){if(!d(e))return[];let r=ec(t);return r?eu[r]:[]}let ep=(e,t,r,i,a,n,s)=>({kind:e,category:t,label:r,description:s.description,details:s.details,execution:i,configSchema:es(e,"step"),capabilityFlags:[i,...s.mutatesExternal?["MUTATES_EXTERNAL"]:[],...s.mutatesWorktree?["MUTATES_WORKTREE"]:[]],requiredPaths:a,providedPaths:n,sourceHandles:m(e),mutatesExternal:s.mutatesExternal??!1,mutatesWorktree:s.mutatesWorktree??!1}),eh=["worktree.*","codebase.*","agent.*","repo.*","ticket.*","pr.*"],em=["codebase.*","agent.*","repo.*"],ef=(e,t,r,i=[],a=["steps.<stepId>.*"],n={})=>ep(e,t,r,"SERVER",i,a,{description:`${r} using the control plane's typed service API.`,details:`${r} is a first-class action with validated configuration, audit-friendly output, resource links where available, and normal workflow failure routing.`,...n}),eg=[ef("COMMAND_RERUN","Commands","Rerun command",["command.id"],["command.*"]),ef("COMMAND_TERMINATE","Commands","Terminate command",["command.id"],["command.*"]),ef("COMMAND_READ_OUTPUT","Commands","Read command output",["command.id"],["command.*"]),ef("WORKTREE_INSPECT_DIFF","Worktrees","Inspect worktree diff",["worktree.id"],["worktree.diff.*"]),ef("WORKTREE_UPDATE_METADATA","Worktrees","Update worktree metadata",["worktree.id"],eh),ef("WORKTREE_MOVE_CONTROL","Worktrees","Control worktree move",[],eh,{mutatesWorktree:!0}),ef("BUILD_REBUILD","Builds","Rebuild build",["build.id"],["build.*"]),ef("BUILD_GENERATE_REPORT","Builds","Generate build report",["build.id"],["build.*"]),ef("BUILD_DELETE","Builds","Delete builds",[],["build.*"]),ef("SKILL_PREPARE_SYNC","Skills","Prepare skill sync",[],["skillSync.*"]),ef("SKILL_RESOLVE_SYNC","Skills","Resolve skill sync conflict",["skillSync.id"],["skillSync.*"]),ef("SKILL_SKIP_SYNC","Skills","Skip skill sync",["skillSync.id"],["skillSync.*"]),ef("BUILD_DATA_REFRESH","Build Data","Refresh build data",[],["buildData.*"]),ef("BUILD_DATA_DELETE","Build Data","Delete build data",["buildData.id"],["buildData.*"]),ef("BUILD_DATA_SET_LOCK","Build Data","Set build-data lock",["buildData.id"],["buildData.*"]),ef("SIGNING_REFRESH","Signing","Refresh signing assets",[],["signing.*"]),ef("SIGNING_SYNC_PROFILE","Signing","Sync signing profile",["signingProfile.id"],["signing.*"]),ef("SIGNING_DELETE_EXPIRED","Signing","Delete expired profiles",[],["signing.*"]),ef("IOS_DEVICE_REGISTER","Devices","Register iOS device",["device.id"],["device.*"],{mutatesExternal:!0}),ef("IOS_DEVICE_REJECT","Devices","Reject iOS device",["device.id"],["device.*"],{mutatesExternal:!0}),ef("AGENT_RECONCILE","Agents","Reconcile agents",[],["agent.*"]),ef("AGENT_UPDATE_CADENCE","Agents","Update agent cadence",["agent.id"],["agent.*"]),ef("CCUSAGE_COLLECT","Operations","Collect usage",[],["usage.*"]),ef("MODEL_COST_REFRESH","Operations","Refresh model costs",[],["modelCosts.*"],{mutatesExternal:!0}),ef("GITHUB_UPDATE_PR","GitHub","Update pull request",["pr.number","repo.*"],["pr.*"],{mutatesExternal:!0}),ef("GITHUB_SUBMIT_REVIEW","GitHub","Submit pull request review",["pr.number","repo.*"],["pr.*"],{mutatesExternal:!0}),ef("GITHUB_REQUEST_REVIEWERS","GitHub","Request pull request reviewers",["pr.number","repo.*"],["pr.*"],{mutatesExternal:!0}),ef("GITHUB_DISPATCH_WORKFLOW","GitHub","Dispatch GitHub workflow",["repo.*"],["pipeline.*"],{mutatesExternal:!0}),ef("JIRA_CREATE_TICKET","Jira","Create Jira ticket",[],["ticket.*"],{mutatesExternal:!0}),ef("JIRA_ADD_WORKLOG","Jira","Add Jira worklog",["ticket.key"],["ticket.*"],{mutatesExternal:!0}),ef("JIRA_LINK_TICKETS","Jira","Link Jira tickets",["ticket.key"],["ticket.*"],{mutatesExternal:!0})],ey=[ep("JIRA_LOAD_TICKET","Jira","Load Jira ticket","SERVER",[],["ticket.*"],{description:"Reads a Jira issue and puts its fields — key, title, type, status, assignee, labels — into session data as `ticket.*`.",details:'Needs a configured Jira credential. Leave the identifier unset to take it from session data. Results are served from cache unless "Bypass cache" is set, so a step that reads a ticket right after changing it should force a refresh. Fails when the issue does not exist or the credential cannot see it. Read-only: it changes nothing in Jira.'}),ep("JIRA_TRANSITION","Jira","Transition Jira ticket","SERVER",["ticket.key"],["ticket.*"],{description:"Moves a ticket to another status by applying one of its workflow transitions.",details:"Takes a transition id, not a status name — the ids are board-specific, so read them from the ticket's available transitions rather than hard-coding a guess. Fails when the transition is not currently available on that issue, which is what happens if an earlier step already moved it. Refreshes `ticket.*` from the response.",mutatesExternal:!0}),ep("JIRA_COMMENT","Jira","Add Jira comment","SERVER",["ticket.key"],["ticket.*"],{description:"Posts a comment on a Jira issue, written in Markdown or Jira wiki markup.",details:"The comment body is converted from Markdown by default; choose Jira wiki format to pass markup through untouched. Comments are never deduplicated, so a step that runs twice comments twice — guard it with a condition if the workflow can retry. Refreshes `ticket.*` from the response.",mutatesExternal:!0}),ep("JIRA_ASSIGN","Jira","Assign Jira ticket","SERVER",["ticket.key"],["ticket.*"],{description:"Sets the assignee of a Jira issue, or clears it when no account is given.",details:"Takes a Jira account id rather than a display name or email. Leaving the assignee empty unassigns the ticket. Fails when the account cannot be assigned on that project. Refreshes `ticket.*` from the response.",mutatesExternal:!0}),ep("JIRA_UPDATE_FIELDS","Jira","Update Jira fields","SERVER",["ticket.key"],["ticket.*"],{description:"Patches arbitrary fields on a Jira issue — labels, summary, custom fields — from a JSON object.",details:"The escape hatch for anything the dedicated Jira steps do not cover. Keys are passed to the Jira update API as given, so an unknown or screen-hidden field fails the step. Prefer the specific steps for status and assignee. Refreshes `ticket.*` from the response.",mutatesExternal:!0}),ep("JIRA_RESOLVE_BRANCH","Jira","Resolve ticket branch","SERVER",["ticket.key","ticket.title","ticket.type"],["worktree.branch","ticket.key","ticket.title","ticket.type"],{description:"Works out the branch name a ticket would get under the codebase's naming convention, without creating anything.",details:"A preview step: it writes `worktree.branch` plus the ticket key, title, and type into session data and touches neither Git nor Jira. Use it before Create worktree when you want the branch name available to earlier steps — for a worktree keyed off a ticket, Create worktree in TICKET mode derives the same name on its own."}),ep("GITHUB_LOAD_PR","GitHub","Load pull request","SERVER",[],["pr.*"],{description:"Reads a pull request and puts its state, branches, labels, checks, and review threads into session data as `pr.*`.",details:"Needs a configured GitHub credential. Owner and repository default to the repository already in session data, and the number to `pr.number`. Fails when the pull request does not exist or the credential cannot see it. Read-only."}),ep("GITHUB_MERGE_PR","GitHub","Merge pull request","SERVER",["pr.number"],["pr.state"],{description:"Merges an open pull request using squash, merge, or rebase, optionally overriding the commit message.",details:"Checks mergeability first and fails with GitHub's own blocking reason — conflicts, failing required checks, missing approvals, an already-closed pull request — rather than forcing the merge. Commit headline and body default to what GitHub would use. Squash is the default method. Irreversible, and repository policy may delete the head branch as a side effect, which strands any worktree still on it. Writes `pr.state`.",mutatesExternal:!0}),ep("GITHUB_COLLECT_REVIEW_THREADS","GitHub","Collect review comments","SERVER",["pr.number"],["pr.unresolvedThreads"],{description:"Gathers the unresolved review threads on a pull request into `pr.unresolvedThreads`.",details:"Resolved threads are filtered out. The result is a list, so it pairs with For each to work through the comments one at a time — the reply and resolve steps take a single thread id from the iteration. Read-only."}),ep("GITHUB_REPLY_REVIEW_THREAD","GitHub","Reply to review thread","SERVER",["pr.unresolvedThreads"],[],{description:"Posts a reply into an existing pull request review thread.",details:"Takes the thread id from Collect review comments, usually inside a For each. Replies are not deduplicated, so a retried step comments twice. Replying does not resolve the thread — follow with Resolve review thread when that is the intent.",mutatesExternal:!0}),ep("GITHUB_SET_REVIEW_THREAD_RESOLVED","GitHub","Resolve review thread","SERVER",["pr.unresolvedThreads"],[],{description:"Marks a pull request review thread resolved, or reopens it.",details:"Takes the thread id from Collect review comments. Resolving is the default; clear the flag to unresolve. Reviewers see this as the bot resolving their comment, so it is usually paired with a reply that explains what changed.",mutatesExternal:!0}),ep("GITHUB_CREATE_PR","GitHub","Open pull request","SERVER",["worktree.branch","worktree.baseBranch"],["pr.*"],{description:"Opens a pull request from the worktree's branch, optionally as a draft.",details:"Head branch defaults to `worktree.branch`, base to `worktree.baseBranch`, and the title to `ticket.title`. The head branch must already be pushed — put Wait for push-ready or a push operation in front of this step. Fails when a pull request is already open for the same branch pair. Writes the new pull request to `pr.*`.",mutatesExternal:!0}),ep("GITHUB_SET_PR_LABELS","GitHub","Set pull request labels","SERVER",["pr.number"],["pr.labels"],{description:"Replaces the labels on a pull request with the given list.",details:"This sets rather than adds — labels not in the list are removed, so include the ones you want to keep. Labels must already exist in the repository. Writes `pr.labels`.",mutatesExternal:!0}),ep("GITHUB_RETRY_PIPELINE","GitHub Actions","Retry failed pipeline","SERVER",["pipeline.runId"],["pipeline.status"],{description:"Re-runs the failed jobs of a check suite, leaving the jobs that passed alone.",details:"Targets a check suite rather than a single job — use Retry workflow job for that. Re-running consumes Actions minutes and re-executes whatever those jobs do, including deployments. Pair it with a Time delay and a retry limit so a permanently broken pipeline is not retried forever. Writes `pipeline.status`.",mutatesExternal:!0}),ep("GITHUB_RETRY_JOB","GitHub Actions","Retry workflow job","SERVER",["pipeline.failedJobs"],[],{description:"Re-runs one job of a GitHub Actions workflow run.",details:"Needs the repository, check suite, and job ids together — typically read out of `pipeline.failedJobs` inside a For each. Use Retry failed pipeline to re-run every failed job at once instead.",mutatesExternal:!0}),ep("GITHUB_CANCEL_WORKFLOW_RUN","GitHub Actions","Cancel workflow run","SERVER",["pipeline.runId"],["pipeline.status"],{description:"Cancels an in-progress GitHub Actions workflow run.",details:"Falls back to `repo.id` and `pipeline.runId` from session data. Force-cancel skips the graceful shutdown that lets `always()` cleanup jobs finish, so leave it off unless a run is stuck. Cancelling a run that has already finished is an error. Writes `pipeline.status`.",mutatesExternal:!0}),ep("GITHUB_SAVE_AUTO_RETRY","GitHub Actions","Install auto-retry rule","SERVER",["pipeline.runId"],[],{description:"Saves a standing rule that automatically retries matching GitHub Actions failures.",details:"Persists configuration rather than acting once — the rule keeps applying after this run ends, and stays until something removes it. Takes the rule as a JSON object. Treat it as a settings change, not a step you re-run casually.",mutatesExternal:!0}),ep("GITHUB_WAIT_CHECKS","GitHub Actions","Wait for checks","WAIT",["pipeline.runId"],["pipeline.status","pipeline.conclusion","pipeline.jobs"],{description:"Parks the run until a GitHub Actions workflow run finishes, then continues on its conclusion.",details:"Polls until the run reaches a terminal status. Anything other than success fails the step, so route the failure handle to the recovery path — or set the step's failure policy to continue and branch on `pipeline.conclusion` yourself. Also refreshes `pipeline.jobs`. Without a timeout the wait is open-ended; a hung pipeline holds the workflow run indefinitely. Falls back to `repo.id` and `pipeline.runId`."}),ep("WORKTREE_CREATE","Worktrees","Create worktree","SERVER",["codebase.id"],eh,{description:"Creates a Git worktree on the agent for a new, existing, or ticket-derived branch.",details:"Dispatches a job to the agent that owns the codebase and waits for it, so the agent must be online. Branch mode NEW cuts a branch from the base, EXISTING checks one out, and TICKET derives the name from `ticket.key`. Base branch falls back to `worktree.baseBranch` then `repo.defaultBranch`. Refreshes the created worktree, codebase, owning agent, repository, and any linked ticket. Creates real directories on disk.",mutatesWorktree:!0}),ep("WORKTREE_CHANGE_BRANCH","Worktrees","Change worktree branch","SERVER",["worktree.id"],eh,{description:"Switches an existing worktree to a different branch, creating it if needed.",details:'Same branch modes as Create worktree. Uncommitted changes block the switch unless "Stash on failure" is set, which stashes them and retries — the stash is left for a human to deal with. Refreshes the worktree and all of its related resource context.',mutatesWorktree:!0}),ep("WORKTREE_REFRESH_PULL_REQUEST","Worktrees","Refresh pull request","SERVER",["worktree.id"],["pr.*"],{description:"Forces exact-branch pull request discovery and refreshes the worktree's persisted pull request context.",details:"Uses the configured worktree, falling back to `worktree.id`. The step succeeds with `found: false` and clears `pr` when the branch has no open pull request.",mutatesWorktree:!0,mutatesExternal:!1}),ep("WORKTREE_OPERATION","Worktrees","Run worktree operation","SERVER",["worktree.id"],eh,{description:"Runs one of the built-in worktree maintenance operations, such as syncing with the base branch or pushing.",details:"Dispatches an agent job and waits for it. Opening an editor is rejected here — it needs a human at the machine. Sync and push touch the remote and can conflict; check `worktree.pushStatus` afterwards or follow with Inspect worktree Git state.",mutatesWorktree:!0}),ep("WORKTREE_SET_AUTO_SYNC","Worktrees","Set worktree Auto Sync","SERVER",["worktree.id"],["worktree.autoSync"],{description:"Enables, updates, retries, or cancels persistent Auto Sync for a worktree.",details:"An enabled rule rebases on the target branch whenever it changes and force-pushes with lease. A merge-conflict quick-action workflow can be selected as the automatic recovery path; unresolved conflicts pause the rule.",mutatesWorktree:!0,mutatesExternal:!0}),ep("WORKTREE_SET_AUTO_MERGE","Worktrees","Set worktree Auto Merge","SERVER",["worktree.id"],["worktree.autoMerge"],{description:"Enables, updates, retries, or cancels GitHub-native Auto Merge for a worktree.",details:"GitHub remains the authority for required checks and reviews. Optional post-merge actions can move the linked Jira ticket to its configured done status and safely delete a clean linked worktree.",mutatesWorktree:!0,mutatesExternal:!0}),ep("WORKTREE_DELETE","Worktrees","Delete worktree","SERVER",["worktree.id"],em,{description:"Removes a worktree from the agent, optionally deleting its remote branch too.",details:"Destroys the directory and any uncommitted work in it — there is no undo. Deleting the remote branch as well affects everyone, and closes any pull request from that branch. Do not put this before steps that still read `worktree.*`.",mutatesWorktree:!0}),ep("WORKTREE_MOVE","Worktrees","Move worktree","SERVER",["worktree.id"],eh,{description:"Moves a worktree's branch and changes into another codebase, optionally deleting the source.",details:"Waits for the move job to finish. Used when a branch was started against the wrong checkout. Deleting the source destroys the original directory; leaving it keeps both, which means two worktrees on one branch. Refreshes `worktree.*` to point at wherever the work now lives.",mutatesWorktree:!0}),ep("WORKTREE_INSPECT","Worktrees","Inspect worktree","SERVER",["worktree.id"],["worktree.commits","worktree.changes","worktree.branchChanges","worktree.commitsTruncated","worktree.changesTruncated","worktree.branchChangesTruncated"],{description:"Reads the worktree's commits and changed files into `worktree.commits` and `worktree.changes`.",details:"Read-only. Use it to give a later condition or AI prompt something concrete to work from — for example to skip opening a pull request when nothing changed. For push/dirty state use Inspect worktree Git state instead, which is cheaper."}),ep("WORKTREE_INSPECT_GIT","Worktrees","Inspect worktree Git state","SERVER",["worktree.id"],["worktree.*"],{description:"Reads the worktree's Git status — dirty flag, ahead/behind counts, push status, conflicts — into `worktree.*`.",details:"Read-only and the cheap way to branch on repository state: gate a commit on `worktree.dirty`, or a sync on the worktree being behind. Use Inspect worktree when you need the actual commits and diffs."}),ep("WORKTREE_GIT_OPERATION","Worktrees","Run worktree Git operation","SERVER",["worktree.id"],eh,{description:"Runs a specific Git operation in the worktree — pull, push, rebase, stash, and the rest.",details:'Dispatches an agent job and waits for it. Operations that rewrite history or touch the remote can fail on conflicts; "Stash changes first" clears the way for operations that need a clean tree. Prefer Run worktree operation for the higher-level sync and push flows, which handle more of the edge cases.',mutatesWorktree:!0}),ep("WORKTREE_WAIT_PUSH_READY","Worktrees","Wait for push-ready","WAIT",["worktree.id"],eh,{description:"Parks the run until the worktree's branch is pushed and tracking a remote.",details:"The step to put between an AI session that commits and Open pull request, which needs the branch to exist on the remote. Resolves as soon as the branch is push-ready; without a timeout it waits indefinitely, so set one if a human may never push. Writes `worktree.pushStatus`."}),ep("WORKTREE_SNAPSHOT","Worktrees","Snapshot Git state","AGENT",["worktree.path"],["steps.<stepId>.snapshotId"],{description:"Captures a restorable checkpoint of the worktree's Git state before a risky step.",details:"Runs on the agent, so it needs `worktree.path` and an online agent. The snapshot id it writes is what run replay restores from, which makes this the step to place before anything that rewrites the tree. Snapshots cost disk on the agent."}),ep("CODEBASE_FETCH_REFRESH","Codebases","Fetch or refresh codebase","SERVER",["codebase.id"],em,{description:"Fetches remote refs for a codebase, or fully refreshes its cached metadata.",details:"Fetch updates remote-tracking branches; refresh re-reads the whole checkout and is slower. Runs as an agent job and waits. Fails when the agent skips the operation — usually because the codebase is missing or already busy. Put a fetch in front of steps that check whether a remote branch exists.",mutatesWorktree:!0}),ep("CODEBASE_INSPECT_GIT","Codebases","Inspect codebase Git state","SERVER",["codebase.id"],["codebase.*"],{description:"Reads the codebase checkout's Git status into `codebase.*`.",details:"Read-only. This is the primary checkout, not a worktree — use Inspect worktree Git state for per-branch work. Useful for refusing to start work when the base checkout is dirty or on an unexpected branch."}),ep("CODEBASE_GIT_OPERATION","Codebases","Run codebase Git operation","SERVER",["codebase.id"],em,{description:"Runs a Git operation against the codebase's primary checkout.",details:'Same operations as the worktree version, aimed at the main checkout that every worktree branches from — so a bad rebase or reset here affects all of them. "Stash changes first" clears local modifications out of the way. Runs as an agent job and waits.',mutatesWorktree:!0}),ep("BUILD_START","Builds","Start build or test","SERVER",["codebase.id","worktree.id"],["build.*"],{description:"Queues an iOS build, test, or archive run on the agent and waits for it to finish.",details:"Needs a build configuration id and an online agent; the destination and build scripts are optional. The step parks until the build reaches a terminal status, so a long test suite holds the workflow run. Failing builds fail the step — route the failure handle if you want to read the results anyway. Writes `build.*`, which the read-results and coverage steps then consume.",mutatesExternal:!0}),ep("BUILD_READ_TEST_RESULTS","Builds","Read test results","SERVER",["build.id"],["build.testSummary","build.tests"],{description:"Reads a finished build's test report into `build.testSummary` and `build.tests`.",details:"Fails outright when the report is not ready, so it belongs after Start build or test rather than in parallel with it. The summary carries the passed/failed counts a condition can branch on; the per-test list is the detail an AI prompt can be pointed at. Read-only."}),ep("BUILD_READ_COVERAGE","Builds","Read code coverage","SERVER",["build.id"],["build.coverageSummary","build.coverageFiles","build.changedCoverageFiles"],{description:"Reads a finished build's coverage report into `build.coverageSummary` and the per-file breakdowns.",details:'Fails when the coverage report is not ready — the build must have been run with coverage collection on. Also writes the changed-files breakdown, which is what a "coverage on this branch\'s changes" gate should read rather than the whole-project number. Read-only.'}),ep("BUILD_IMPORT_COVERAGE","Builds","Import coverage report","SERVER",["worktree.id"],["build.id","build.coverageSummary"],{description:"Reads a coverage file a test command wrote in the worktree and records it as a coverage report.",details:"Pair it with a Terminal command step that runs the test suite first: this step only reads what that run left behind, at the path given in `Coverage file`. The build name defaults to the workflow name and can be overridden. LCOV and Istanbul (`coverage-final.json`) are both understood, and AUTO tells them apart by the file itself. Runs as an agent job and waits. The report is attached to a new build record of its own, so it shows up on that build's coverage page and in the coverage picker on Changes; changed-line coverage is measured against the worktree's base branch, and is left out when that branch cannot be resolved. Writes the totals to `build.coverageSummary` and the new id to `build.id` — follow with Read code coverage for the per-file breakdown. Fails when the file is missing, unreadable, or describes no files."}),ep("BUILD_EXPORT","Builds","Export archive","SERVER",["build.id"],["build.exportId",...eh],{description:"Exports a finished archive build into a distributable package on the agent.",details:"Needs export settings and an archive-action build. Runs as an agent job and waits. Writes files to the agent's disk and may talk to Apple's servers for signing, so it can fail on expired certificates or provisioning profiles.",mutatesExternal:!0}),ep("BUILD_DEPLOY","Builds","Deploy build","SERVER",["build.id"],eh,{description:"Installs and launches an existing build on its destinations without rebuilding.",details:"Reuses the artifacts from a previous build, so it is much faster than building again. Destinations default to the ones the build already targeted. Waits for the deployment job. This puts the app on real or simulated devices — treat it as an external effect.",mutatesExternal:!0}),ep("BUILD_CANCEL","Builds","Cancel build","SERVER",["build.id"],["build.id","build.status"],{description:"Cancels a queued or running build.",details:"Aimed at a different build from the one this run started — Start build or test already waits for its own. Cancelling an already-finished build is a no-op rather than an error. Writes `build.status`.",mutatesExternal:!0}),ep("DISK_SPACE_LOAD","Disk space","Load disk-space monitor","SERVER",[],["agent.*","disk.*"],{description:"Loads the current Derived Data disk-space monitor snapshot for an agent.",details:"Targets the configured agent, then falls back to `agent.id` or `codebase.agentId`. The least-free monitored Derived Data volume supplies `disk.freeBytes`, `disk.freeGiB`, and the percentage fields; root and base-repository volumes remain in `disk.volumes` for context only. Read-only and does not request a new report."}),ep("DISK_SPACE_REFRESH","Disk space","Refresh disk-space monitor","WAIT",[],["agent.*","disk.*"],{description:"Requests an immediate disk report from an agent and waits for fresh telemetry.",details:"Targets the configured agent, then falls back to `agent.id` or `codebase.agentId`. Monitoring must be enabled. The step waits until `lastReportedAt` advances, then refreshes `agent.*` and `disk.*`; by default it polls every two seconds and times out after 180 seconds."}),ep("DISK_SPACE_UPDATE_THRESHOLDS","Disk space","Update disk thresholds","SERVER",[],["disk.normalThresholdGiB","disk.pressureThresholdGiB","disk.pollIntervalSeconds","disk.staleAfterSeconds"],{description:"Updates the global normal and pressure free-space thresholds.",details:"Changes the thresholds used for every monitored agent, automatic cleanup, and admission control. The pressure threshold must be positive and lower than the normal threshold. Writes the resulting global settings into `disk.*`."}),ep("DISK_SPACE_SET_MONITORING","Disk space","Set agent disk monitoring","SERVER",[],["agent.*","disk.*"],{description:"Enables or disables Derived Data disk-space monitoring for an agent.",details:"Targets the configured agent, then falls back to `agent.id` or `codebase.agentId`. Disabling monitoring also clears manual and automatic pressure mode and releases cleanup leases that have not started a job. Refreshes `agent.*` and `disk.*`."}),ep("DISK_SPACE_SET_PRESSURE_MODE","Disk space","Set disk pressure mode","SERVER",[],["agent.*","disk.*"],{description:"Enables or clears manual disk pressure mode for an agent.",details:"Targets the configured agent, then falls back to `agent.id` or `codebase.agentId`. Manual pressure mode uses the lower pressure threshold; automatic pressure mode remains controlled by cleanup availability. Refreshes `agent.*` and `disk.*`."}),ep("SKILL_APPLY","Skills","Apply skill group","SERVER",["worktree.id","repo.id"],["steps.<stepId>.status"],{description:"Syncs a skill group's files into the target checkout, or every skill when no group is chosen.",details:"Starts a skill sync run and waits for it. Writes skill files into the repository, which shows up as uncommitted changes — commit or discard them before a step that needs a clean tree. Leave the group empty to sync everything.",mutatesWorktree:!0}),ep("RUN_CREATE_PLAN","AI runs","Create plan and wait","SERVER",["worktree.id"],["run.<stepId>.*"],{description:"Starts an AI planning run against the worktree and waits for the plan to be produced.",details:"Requires a worktree, a provider/model, and a prompt. Plans use a separate FIFO worktree queue and allow unlimited concurrent plans by default; set the worktree concurrency limit to 1–32 to cap them, or 0 for unlimited. Planning inspects the code but does not change it — use Run AI session and wait to actually make edits, or follow with Run completed plan. If the run asks a question it parks until someone answers, so pair long workflows with a question-needed trigger. Writes the run under `run.<stepId>.*`, which later steps reference by this step's id."}),ep("RUN_CREATE_SESSION","AI runs","Run AI session and wait","SERVER",["worktree.id"],["run.<stepId>.*"],{description:"Starts an AI coding session against the worktree and waits for it to finish.",details:"The workhorse step: the agent edits files in the worktree, so the tree is dirty afterwards and the changes still need committing and pushing. Sessions use a separate FIFO worktree queue with one active session by default; set the worktree concurrency limit to 2–32 for parallel sessions or 0 for unlimited. Requires a worktree, a provider/model, and a prompt; attachments and web search are optional. Parks on questions until answered. Writes `run.<stepId>.*`.",mutatesWorktree:!0}),ep("RUN_PLAY_PLAN","AI runs","Run completed plan","SERVER",[],["run.<stepId>.*"],{description:"Executes a plan that has already been produced, turning it into real code changes.",details:"Takes the plan's run id — usually `run.<planStepId>.id` from an earlier Create plan step. The plan must have completed. The resulting Session joins the worktree's FIFO Session queue, which allows one active Session by default; use 0 for unlimited or 2–32 for a larger limit. This is the half of the plan/execute split that touches the worktree. Writes a new run under `run.<stepId>.*`.",mutatesWorktree:!0}),ep("RUN_FOLLOW_UP","AI runs","Follow up run","SERVER",[],["run.<stepId>.*"],{description:"Starts a new AI run that continues from an existing one, resuming its context or starting fresh.",details:'RESUME keeps the previous conversation, FRESH starts over in the same worktree, and RESEND replays the original prompt. The new run joins the source kind\'s separate FIFO worktree queue and defaults to unlimited concurrency for Plans or one active run for Sessions; use 0 for unlimited or 1–32 for a finite limit. Needs the source run id plus a new prompt. The natural step for "fix the review comments" loops after a first session. Writes `run.<stepId>.*`.'}),ep("RUN_STEER","AI runs","Steer active run","SERVER",[],["run.<stepId>.*"],{description:"Sends extra instructions into a run that is already in progress.",details:"Only affects a run that is still going — it does not restart a finished one, which is what Follow up run is for. Because the steps in this workflow that start runs also wait for them, steering usually targets a run started elsewhere, reached through a run trigger."}),ep("RUN_ANSWER","AI runs","Answer run question","SERVER",[],["run.<stepId>.*"],{description:"Answers a question an AI run is blocked on so it can carry on.",details:"Needs the question batch id, typically from `run.questions` seeded by a run-needs-an-answer trigger, and answers keyed by question id. This answers questions asked by an AI run — the Request confirmation and Ask user to choose steps ask questions of a human about the workflow itself."}),ep("RUN_PAUSE","AI runs","Pause run","SERVER",[],["run.<stepId>.*"],{description:"Pauses an in-progress AI run.",details:"The run stops at its next checkpoint and stays paused until something continues it. Falls back to `run.id`. Pausing an already-finished run fails."}),ep("RUN_CONTINUE","AI runs","Continue run","SERVER",[],["run.<stepId>.*"],{description:"Resumes a paused AI run.",details:"The counterpart to Pause run. Fails when the run is not paused. Falls back to `run.id`."}),ep("RUN_CANCEL","AI runs","Cancel run","SERVER",[],["run.<stepId>.*"],{description:"Cancels an AI run, stopping its work.",details:"Whatever the run already wrote to the worktree stays — cancelling stops further work, it does not roll anything back. Falls back to `run.id`."}),ep("RUN_REVISE_ANSWER","AI runs","Revise answer and rewind","SERVER",[],["run.<stepId>.*"],{description:"Rewinds a run to an earlier question, replaces the answer, and replays from there.",details:"Two-phase: the step prepares the revision, parks, and applies it once the run is ready. Rolling back restores the worktree to the checkpoint at that question, discarding work done since — stash first if that work matters. The heavy way to correct a wrong answer; Follow up run is usually enough.",mutatesWorktree:!0}),ep("RUN_READ_RESULT","AI runs","Read run result","SERVER",[],["run.<stepId>.*"],{description:"Loads a finished run's events, questions, token usage, and linked items into session data.",details:"Read-only. Gives later steps the run's actual output to work from — a summary to put in a Jira comment, usage figures to threshold on, or the linked pull request. Falls back to `run.id`."}),ep("RUN_CAPTURE_CHECKPOINT","AI runs","Capture run checkpoint","SERVER",[],["steps.<stepId>.snapshotId"],{description:"Records the run's most recent checkpoint so a later replay can restore from it.",details:"Reads an existing checkpoint rather than creating one, and fails when the run has none. Use Snapshot Git state to capture a fresh checkpoint of the worktree instead. Writes the checkpoint id to `steps.<stepId>.snapshotId`."}),ep("RUN_ARCHIVE_DELETE","AI runs","Archive or delete run","SERVER",[],[],{description:"Archives a run out of the active list, or permanently deletes it.",details:"Archiving is reversible; deleting removes the run and its history for good. Delete wins when both flags are set. Housekeeping for workflows that generate many short-lived runs.",mutatesExternal:!0}),ep("NOTIFICATION_SEND","Human loop","Send notification","SERVER",[],[],{description:"Posts a notification into the app's notification list with a title, body, and link.",details:"Deduplicated per run, step, and generation, so a retried attempt does not notify twice. The link defaults to this workflow run. Fire-and-forget: it tells a human something happened but does not wait — use Request confirmation when the workflow needs an answer.",mutatesExternal:!0}),ep("IOS_PUSH_SEND","Human loop","Push to iOS device","SERVER",[],[],{description:"Sends an Apple push notification to registered devices, a broadcast channel, or one raw device token.",details:"Needs APNs credentials. Target mode picks between all registrations, a chosen few, a broadcast channel, or a direct token — the direct mode also needs the token's encoding and whether it is a sandbox or production token. Leaves the device once delivered; nothing about the run waits on it.",mutatesExternal:!0}),ep("HUMAN_CONFIRM","Human loop","Request confirmation","WAIT",[],["steps.<stepId>.answer"],{description:"Parks the run and asks a human to confirm before continuing.",details:"The approval gate to put in front of anything irreversible. Without a timeout the run waits indefinitely; with one it fails when nobody answers in time, which the failure handle can route to a safe default. The answer lands in `steps.<stepId>.answer`."}),ep("HUMAN_CHOICE","Human loop","Ask user to choose","WAIT",[],["steps.<stepId>.answer"],{description:"Parks the run and asks a human to pick from a set of options, optionally allowing several or a free-text answer.",details:"Like Request confirmation but with named buttons — branch on `steps.<stepId>.answer` with an If step afterwards. Multi-select returns a list. Allowing a custom answer means the value may be anything the person typed, so handle the unexpected case."}),ep("CONTROL_IF","Control flow","If / else","CONTROL",[],[],{description:"Evaluates a condition and sends the run down its `true` or `false` branch.",details:"Exactly one branch is taken; steps on the other are skipped, and a skipped branch does not block a downstream join. Conditions compare session values with the usual operators and combine with ALL/ANY/NOT. Both branches may be left unconnected, which simply ends that path."}),ep("CONTROL_JOIN","Control flow","Join branches","CONTROL",[],[],{description:"Brings parallel branches back together, waiting for all of them or continuing on the first.",details:"Required wherever more than one branch reaches the same step — the validator rejects a plain step with several incoming edges. ALL waits for every branch, ANY continues on the first and lets the others keep running. Skipped branches never block it, and the join is skipped when no branch reaches it. A join that closes a For each also reports the iteration failures."}),ep("CONTROL_DELAY","Control flow","Time delay","WAIT",[],[],{description:"Pauses the run for a fixed number of seconds.",details:"Accepts up to a year. The run is parked rather than held open, so a long delay costs nothing while it waits. Use it to space out polling or to give an external system time to settle; use Wait until when you are waiting for a condition rather than a duration."}),ep("CONTROL_WAIT_UNTIL","Control flow","Wait until","WAIT",[],[],{description:"Parks the run until a condition over session data becomes true, re-checking on a cadence.",details:"Evaluates immediately and continues at once if the condition already holds. Session data only changes when a step writes it, so the condition must be able to become true through some other branch — otherwise the wait never resolves. Default cadence is 15 seconds; set a timeout to bound it."}),ep("CONTROL_FOR_EACH","Control flow","For each","CONTROL",[],["steps.<stepId>.items"],{description:"Runs its `body` branch once per item in a list, or takes the `empty` branch when there is nothing to iterate.",details:"Reads the list from a session path or from inline items, and caps at 1,000. Iterations run in parallel and each sees its own item. Fail-fast stops the whole run on the first failing iteration; collect-errors lets them all finish and reports failures at the closing join. Writes the items to `steps.<stepId>.items`."}),ep("CONTROL_TRY","Control flow","Try / catch","CONTROL",[],[],{description:"Marks the start of a protected region whose failures route out of the `catch` handle.",details:"Takes no config — the recovery path is drawn in the graph. Steps on the `success` branch run normally; when one of them fails, the run continues from `catch` instead of failing outright. Use a step's own failure handle for a single fallible step; reach for this when a whole sequence shares one recovery path."}),ep("CONTROL_SET_VARIABLE","Control flow","Set or compute variable","CONTROL",[],[],{description:"Writes a value into session data at a chosen path, either a constant or the result of a small script.",details:"The script runs in a sandboxed JavaScript interpreter with the session data available and no network or filesystem access; its return value is what gets written. Without a script the literal value is used. The path may be any dotted path — write under a namespace of your own to avoid colliding with what steps produce. Because the path comes from config, the catalog cannot advertise it: list it in this step's own `providedPaths` too, or a later step that binds it fails to publish with REQUIREMENT_UNSATISFIED."}),ep("CONTROL_SUBWORKFLOW","Control flow","Call sub-workflow","SERVER",[],[],{description:"Runs another published workflow as a child and waits for it to finish.",details:"Must pin a specific published version — the validator rejects an unpinned reference, so a sub-workflow cannot change under a caller. The input mapping seeds the child's session data. The child appears as a nested run; its failure fails this step."}),ep("SAVED_COMMAND","Extensibility","Run saved command","AGENT",[],["steps.<stepId>.*"],{description:"Starts a saved command on an eligible agent home or worktree target.",details:"Uses the saved command snapshot, target rules, output log, and restart policy. Wait for exit fails the workflow when the command ultimately fails or is cancelled; fire and forget succeeds after durable dispatch and remains independent if the workflow is later cancelled. Always-restart commands can only use fire and forget.",mutatesWorktree:!0}),ep("CUSTOM_COMMAND","Extensibility","Run custom command","AGENT",[],["steps.<stepId>.*"],{description:"Runs a one-off shell command on an agent home or worktree and records it in Commands run history.",details:"The script is retained only in the immutable command-run snapshot, not as a reusable saved command. Context targeting prefers the current worktree, then the current agent. Wait for exit fails the workflow when the command fails or is cancelled; fire and forget succeeds after durable dispatch.",mutatesWorktree:!0}),...eg,ep("TERMINAL_RUN","Extensibility","Run terminal script","AGENT",["worktree.path"],["steps.<stepId>.*"],{description:"Runs a shell or Node script on the agent inside the worktree, capturing its output.",details:"Needs `worktree.path` and an online agent. A non-zero exit fails the step. Named credentials can be injected as environment variables so secrets never sit in the definition — the validator rejects secret-looking literals in config. Arbitrary code on the agent's machine: it can change anything the agent user can reach. Writes stdout, stderr, and the exit code under `steps.<stepId>.*`; to publish anything else the script produces into a named path, declare it in this step's own `providedPaths`.",mutatesWorktree:!0}),ep("MCP_CALL","Extensibility","Call MCP tool","SERVER",[],["steps.<stepId>.output"],{description:"Calls a tool on a configured MCP server — built-in or external — with a JSON argument object.",details:"The general escape hatch to anything reachable over MCP. Needs the server (tool group) and the exact tool name; arguments must match that tool's own schema. What it does depends entirely on the tool, so treat it as externally mutating. The result lands in `steps.<stepId>.output`.",mutatesExternal:!0})],ew=new Map(ey.map(e=>[e.kind,e])),eb=["run.*","worktree.*","codebase.*","agent.*","repo.*","ticket.*"],ev=["build.*","worktree.*","codebase.*","agent.*","repo.*","ticket.*"],ek=["worktree.*","codebase.*","agent.*","repo.*","ticket.*","pr.*"],eS=["ticket.*","comment.*","changelog.*"],eE=["repo.*","pr.*","ticket.*","worktree.*","codebase.*","agent.*"],eI=[...eE,"comment.*"],ex="Filters narrow it further: each session path must equal the given value, or be one of a list of values.",eA="Set a threshold path, operator, and value to fire only on the crossing: it fires when the comparison first becomes true and stays quiet until it goes false again, so a metric hovering over the line does not fire repeatedly.",e_=(e,t,r,i,a)=>({kind:e,category:t,label:r,description:a.description,details:a.details,configSchema:es(e,"trigger"),capabilityFlags:["DURABLE","DEDUPLICATED"],seedPaths:i,sourceHandles:m(e)}),eC=(e,t,r,i)=>e_(e,t,r,i,{description:`${r} emits a normalized, filterable workflow event.`,details:`${r} uses the canonical domain event and deduplicates deliveries by subject and revision. ${ex}`}),eR=[eC("COMMAND_RUN_RESULT","Commands","Command run result",["command.*","agent.*","worktree.*"]),eC("COMMAND_OUTPUT_MATCH","Commands","Command output match",["command.*","output.*"]),eC("SKILL_SYNC_RESULT","Skills","Skill sync result",["skillSync.*","skill.*","repo.*"]),eC("SKILL_SYNC_CONFLICT","Skills","Skill sync conflict",["skillSync.*","skill.*","repo.*"]),eC("GITHUB_PIPELINE_STATUS_CHANGED","GitHub","Pipeline status changed",["pipeline.*","repo.*","pr.*","worktree.*","codebase.*","agent.*","ticket.*"]),eC("GITHUB_PR_SYNCHRONIZED","GitHub","Pull request synchronized",eE),eC("GITHUB_REVIEW_APPROVED","GitHub","Pull request review approved",eE),eC("JIRA_TICKET_UPDATED","Jira","Jira ticket updated",eS),eC("JIRA_COMMENT_ADDED","Jira","Jira comment added",eS),eC("JIRA_WORKLOG_ADDED","Jira","Jira worklog added",eS),eC("JIRA_SPRINT_ENDED","Jira","Jira sprint ended",eS),eC("CODEBASE_SYNC_STATE_CHANGED","Codebases","Codebase sync state changed",["codebase.*","agent.*","repo.*"]),eC("CODEBASE_OPERATION_FAILED","Codebases","Codebase operation failed",["codebase.*","agent.*","repo.*","operation.*"]),eC("WORKTREE_SYNC_STATE_CHANGED","Worktrees","Worktree sync state changed",ek),eC("WORKTREE_AUTOMATION_RESULT","Worktrees","Worktree automation result",[...ek,"automation.*"]),eC("WORKTREE_CLEAN","Worktrees","Worktree became clean",ek),eC("PUSH_NOTIFICATION_RESULT","Notifications","Push notification result",["pushBatch.*"]),eC("IOS_DEVICE_ENROLLED","Devices","iOS device enrolled",["device.*"]),eC("IOS_DEVICE_REGISTRATION_RESULT","Devices","iOS device registration result",["device.*"]),eC("SIGNING_OPERATION_RESULT","Signing","Signing operation result",["signing.*","signingProfile.*","agent.*"]),eC("SIGNING_ASSET_EXPIRING","Signing","Signing asset expiring",["signing.*","signingProfile.*","agent.*"]),eC("BUILD_DATA_THRESHOLD","Build Data","Build-data threshold",["buildData.*","agent.*","worktree.*"]),eC("BUILD_DATA_CLEANUP_RESULT","Build Data","Build-data cleanup result",["buildData.*","cleanup.*","agent.*"]),eC("POLLING_OPERATION_STATE","Operations","Polling operation state",["polling.*"]),eC("MODEL_COST_CATALOG_CHANGED","Operations","Model-cost catalog changed",["modelCosts.*"]),eC("CREDENTIAL_STORE_DEGRADED","Operations","Credential store degraded",["credentials.*"]),eC("AGENT_RESOURCE_THRESHOLD","Agents","Agent resource threshold",["agent.*"]),eC("AGENT_VERSION_CHANGED","Agents","Agent version changed",["agent.*"]),eC("TOOL_CALL_RESULT","Tools","Tool call result",["toolCall.*"])],eT=[e_("MANUAL","Manual","Manual run",[],{description:"Fires when someone presses Run on the workflow. The default entry point.",details:"Seeds nothing beyond `workflow.*`, so steps hanging off it can only bind to values that later steps produce. A caller may still pass session data explicitly when starting the run. A workflow that has only a choice trigger refuses a plain run."}),e_("MANUAL_CHOICE","Manual","Manual run with a choice",[],{description:"Fires when someone picks an option from the menu under the run button, and routes the run out of that option's own handle.",details:"Declare at least one option, each with a unique key — the key names the outgoing handle, so renaming a label leaves edges attached. One workflow can fan out into several entry paths without a step in front of them. Every edge must leave a handle that still exists, or publishing fails."}),e_("RESOURCE_MANUAL","Manual","Run from a resource",[],{description:"Fires when someone starts the workflow from a specific resource page — a worktree, pull request, build, codebase, ticket, or run.",details:"Must target exactly one resource kind; add a second trigger to accept another. The page seeds that resource's namespace into session data, so a worktree-launched run gets its worktree, codebase, owning agent, repository, and any linked ticket. Those seeds are an optimistic contract — an optional link that is absent resolves to nothing at run time. A worktree does not seed `pr.*`; use a pull-request trigger or Load pull request to bring one into session data. This is also what makes the workflow show up on that resource's page."}),e_("RESOURCE_MANUAL_CHOICE","Manual","Run from a resource with a choice",[],{description:"Fires from a resource page after the person picks an option, routing out of that option's handle.",details:"The resource and choice triggers combined: pick a resource kind and declare keyed options. Same rules as both — one resource kind per trigger, unique option keys, and every edge on a live handle."}),e_("SCHEDULE","Schedule","On a schedule",[],{description:"Fires repeatedly on a fixed cadence measured in seconds.",details:'A cadence, not a cron expression — there is no way to say "weekdays at 9am". The clock runs while the workflow is enabled, and pausing the workflow stops it. Seeds nothing, so scheduled workflows normally start by loading whatever they operate on. Mind the overlap policy: a cadence shorter than the run takes will queue or coalesce.'}),e_("WORKFLOW_FINISHED","Workflows","Another workflow finished",["workflow.*"],{description:"Fires when a different workflow run reaches a terminal state.",details:`Chains workflows without making one a sub-workflow of the other, so the two stay independently runnable. Filter on \`workflow.id\` to watch a specific one and on the finishing status to react only to failures. ${ex}`}),e_("GITHUB_PR_STATE","GitHub","Pull request opened or ready",eE,{description:"Fires when a pull request is opened, or when a draft is marked ready for review.",details:`Needs GitHub polling configured for the repository. Seeds \`pr.*\` and \`repo.*\`, so steps can act on the pull request straight away. ${ex} Filter on \`pr.isDraft\` or the base branch to avoid firing on every pull request in the repository.`}),e_("GITHUB_REVIEW_CHANGES_REQUESTED","GitHub","Changes requested",eE,{description:"Fires when a reviewer submits a review requesting changes.",details:`The entry point for an automated "address the review" loop: pair it with Collect review comments and an AI session. Approvals and plain comments do not fire it. ${ex}`}),e_("GITHUB_REVIEW_COMMENT","GitHub","Review comment created",eI,{description:"Fires when a new review comment is posted on a pull request.",details:`Fires per comment rather than per review, so a reviewer leaving five comments fires it five times — take care with steps that start AI runs. Use Changes requested when you want one event per review. ${ex}`}),e_("GITHUB_PR_CLOSED","GitHub","Pull request merged or closed",eE,{description:"Fires when a pull request is merged or closed without merging.",details:`Both outcomes fire it; branch on \`pr.state\` to tell them apart. The natural place to hang cleanup — deleting the worktree, moving the ticket on. ${ex}`}),e_("GITHUB_CHECK_FAILED","GitHub","Check suite or run failed",["repo.*","pipeline.*","worktree.*","codebase.*","agent.*","pr.*","ticket.*"],{description:"Fires when a check suite or check run reports a failure.",details:`Seeds \`pipeline.*\`, including the ids the retry and cancel steps need. Flaky suites fire this often, so gate an automatic retry on a count or a delay rather than retrying unconditionally. ${ex}`}),e_("GITHUB_PUSH_DEFAULT","GitHub","Push to default branch",["repo.*","push.*","ticket.*"],{description:"Fires when a commit lands on the repository's default branch.",details:`Seeds \`repo.*\` and \`push.*\`, plus a ticket key when the pushed branch contains one. There is no pull request or worktree in scope, so a workflow hanging off it usually starts by creating one. Fires on merges too, since a merge is a push. ${ex}`}),e_("GITHUB_WORKFLOW_SUCCEEDED","GitHub","Workflow run succeeded",["repo.*","pipeline.*","worktree.*","codebase.*","agent.*","pr.*","ticket.*"],{description:"Fires when a GitHub Actions workflow run completes successfully.",details:`The success counterpart to the failure triggers — useful for gating a deploy or a merge on a green pipeline. Filter on the workflow name so every unrelated Actions run does not start this workflow. ${ex}`}),e_("GITHUB_ISSUE_COMMAND","GitHub","Issue comment command",["repo.*","pr.*","ticket.*","comment.*"],{description:"Fires when a comment from an allow-listed GitHub user matches a command pattern, such as `/deploy`.",details:`The only trigger that lets outside text start a workflow, so it is deliberately strict: an explicit list of GitHub logins is required, and the pattern must be anchored with \`^\` and \`$\` — publishing fails otherwise. Both checks must pass. Keep the allow-list tight, since anyone on it can start whatever the workflow does. ${ex}`}),e_("GITHUB_ACTIONS_RESULT","GitHub Actions","Workflow result",["repo.*","pipeline.*","worktree.*","codebase.*","agent.*","pr.*","ticket.*"],{description:"Fires when a tracked GitHub Actions run finishes, whatever its conclusion.",details:`The richest of the Actions triggers: it correlates the run back to its worktree, owning agent, pull request, and ticket when those links exist. Branch on the conclusion rather than adding separate success and failure triggers. ${ex}`}),e_("GITHUB_PR_LABEL","GitHub","Pull request label set",eE,{description:"Fires when a label is applied to a pull request.",details:`Turns a label into a manual switch — label a pull request \`automerge\` and let a workflow take it from there. Filter on the label name, or every label change in the repository starts the workflow. ${ex}`}),e_("BUILD_RESULT","Builds","Build result",ev,{description:"Fires when a build finishes, succeeded or failed.",details:`Seeds \`build.*\` along with the worktree it ran in, so the read-results and coverage steps can follow directly. Branch on \`build.status\` to separate the outcomes. ${ex}`}),e_("BUILD_TEST_THRESHOLD","Builds","Test failure threshold",ev,{description:"Fires when a build's failing-test count crosses a threshold you set.",details:`Point the threshold path at \`build.testSummary.failed\` and pick an operator and value. ${eA} ${ex}`}),e_("BUILD_COVERAGE_THRESHOLD","Builds","Coverage threshold",ev,{description:"Fires when a build's code coverage crosses a threshold you set.",details:`Point the threshold path at the coverage summary — usually the changed-files percentage rather than the whole-project number — and compare with a less-than operator. ${eA} ${ex}`}),e_("BUILD_HOOK_FAILED","Builds","Build hook failed",ev,{description:"Fires when one of a build's pre- or post-build scripts fails.",details:`Distinguishes a broken build script from a genuine compile or test failure, which is what Build result reports. Seeds \`build.*\`. ${ex}`}),e_("AGENT_CONNECTION","Agents","Agent connection changed",["agent.*","codebase.agentId"],{description:"Fires when an agent comes online or goes offline.",details:`Seeds the agent id, name, connection state, and capacity metrics. A workflow hanging off it is usually about notifying a human rather than doing repository work — an offline agent cannot run agent steps anyway. Filter on the connection status to react to one direction only. ${ex}`}),e_("AGENT_JOB_FAILED","Agents","Agent job failed",["steps.trigger.*","agent.*","codebase.*","worktree.*","repo.*","ticket.*"],{description:"Fires when a job dispatched to an agent fails — a build, a Git operation, a terminal script.",details:`The failing job is seeded under \`steps.trigger.*\`, including its kind and error. When it targeted a worktree, the owning agent, codebase, repository, and ticket are included too. Catches infrastructure failures that a workflow's own failure handles never see, because the job belonged to a different run. ${ex}`}),e_("AGENT_DISK_REPORT","Agents","Agent disk report",["agent.*","codebase.agentId","disk.*"],{description:"Fires whenever the Derived Data monitor accepts a new agent disk report.",details:`Seeds the complete monitor snapshot under \`disk.*\`, while \`agent.diskFreeBytes\` remains the legacy root-disk inventory value. This can fire at the agent poll cadence; use filters when every report is not needed. ${ex}`}),e_("AGENT_DISK_THRESHOLD","Agents","Agent disk threshold",["agent.*","codebase.agentId","disk.*"],{description:"Fires when monitored Derived Data free space crosses a threshold you set.",details:`Use \`disk.freeGiB\`, \`disk.freeBytes\`, or \`disk.freePercent\` to evaluate the least-free monitored Derived Data volume. \`agent.diskFreeBytes\` remains available for older root-disk workflows. ${eA} ${ex}`}),e_("AGENT_DISK_STATE_CHANGED","Agents","Agent disk state changed",["agent.*","codebase.agentId","disk.*"],{description:"Fires when an agent's disk monitor changes status, pressure mode, health, or monitored volume.",details:`Filter on \`disk.status\`, \`disk.pressureMode\`, \`disk.enabled\`, or errors and warnings to react to a specific transition. Cleanup start appears as \`DELETING\`; recovery can be selected with \`IDLE\`. Repeated reports in the same state stay quiet. ${ex}`}),e_("AGENT_DISK_CLEANUP_RESULT","Agents","Automatic disk cleanup result",["agent.*","codebase.agentId","disk.*","cleanup.*"],{description:"Fires whenever a monitor-managed automatic Derived Data cleanup finishes.",details:`Seeds the terminal agent job under \`cleanup.*\`, including status, error, targets, and deleted entries. Every cleanup job is independent, so two successive successes both fire. Manual Build Data deletions remain outside this trigger. ${ex}`}),e_("CCUSAGE_THRESHOLD","Agents","Usage threshold",["run.usage.*","agent.*"],{description:"Fires when aggregate AI usage crosses a threshold you set.",details:`Watches usage across runs rather than one run's spend — Run usage threshold does that. The cost guardrail: notify, or pause workflows that start AI runs. ${eA} ${ex}`}),e_("WORKTREE_CREATED","Worktrees","Worktree created",ek,{description:"Fires after a new worktree is successfully created.",details:`Fires once after the created worktree is projected into the control plane. Seeds the worktree, repository, codebase, and owning agent, plus a linked pull request and Jira ticket when the branch resolves to them. ${ex}`}),e_("WORKTREE_BEHIND","Worktrees","Worktree behind base",ek,{description:"Fires when a worktree's branch falls behind the branch it was cut from.",details:`Pairs with a sync operation to keep long-lived branches current. Fires again as the base moves on, so a workflow that reacts should either sync or be filtered narrowly. ${ex}`}),e_("WORKTREE_CONFLICT","Worktrees","Worktree has conflicts",ek,{description:"Fires when a worktree is left with Git conflicts after a merge or rebase.",details:`Only fires when the worktree is genuinely marked conflicted. Conflicts need resolving before most other worktree steps will work, so this usually leads to a notification or an AI session pointed at the conflict. ${ex}`}),e_("WORKTREE_MISSING","Worktrees","Worktree missing",ek,{description:"Fires when a worktree the control plane knows about is no longer on disk.",details:`Only fires once the worktree is actually recorded as missing — usually someone deleted the directory by hand, or the agent's disk was cleaned. Steps that need the worktree will fail, so react by recreating it or clearing the record. ${ex}`}),e_("WORKTREE_DIVERGED","Worktrees","Worktree diverged",ek,{description:"Fires when a worktree's branch and its remote have both moved on independently.",details:`Only fires when the push status is genuinely diverged. Resolving it means a rebase, a merge, or a force push — all destructive enough that this usually routes to a human rather than to an automatic fix. ${ex}`}),e_("WORKTREE_DIRTY_DURATION","Worktrees","Worktree dirty too long",ek,{description:"Fires when a worktree has had uncommitted changes for longer than expected.",details:`Catches work that stalled — an AI session that edited files and was never followed up, or a human who wandered off. Usually a nudge rather than an automatic commit. ${ex}`}),e_("WORKTREE_NEW_COMMIT","Worktrees","New worktree commit",ek,{description:"Fires when a new commit lands in a worktree.",details:`Fires per commit, so a rebase or a batch of commits fires it repeatedly — keep the reaction cheap, or filter to one branch. Useful for kicking off a build or lint pass as work lands. ${ex}`}),e_("CODEBASE_REMOTE_BRANCH","Codebases","Matching remote branch",["codebase.*","agent.*","repo.*"],{description:"Fires when a remote branch matching the codebase's conventions appears.",details:`Lets a branch pushed from elsewhere pull work into this system — creating a worktree for it, or opening a pull request. Needs a fetch to have run for the branch to be visible. ${ex}`}),e_("JIRA_STATUS","Jira","Ticket status changed",eS,{description:"Fires when a Jira ticket moves to another status.",details:`Needs Jira polling configured. Seeds \`ticket.*\`. Filter on \`ticket.status\` to react to one column only — without a filter, every transition on every polled ticket starts the workflow. ${ex}`}),e_("JIRA_LABEL","Jira","Jira label set",eS,{description:"Fires when a label is applied to a Jira ticket.",details:`The Jira counterpart to the pull request label trigger: a label becomes a manual switch for automation. Filter on the label name. ${ex}`}),e_("JIRA_ASSIGNED_SELF","Jira","Ticket assigned to me",eS,{description:"Fires when a ticket is assigned to the account behind the configured Jira credential.",details:`"Me" is whoever the Jira credential authenticates as, not whoever is looking at the screen. The usual start of a "pick up my next ticket" workflow — create a worktree, start a plan. ${ex}`}),e_("JIRA_SOURCE_NEW_TICKET","Jira","New ticket in source",eS,{description:"Fires when a ticket appears in a configured Jira source — a saved JQL query or board.",details:`Fires on tickets newly matching the source, which includes existing tickets edited into range, not only freshly created ones. The source itself does the filtering, so keep its JQL tight. Seeds \`ticket.*\`. ${ex}`}),e_("JIRA_MENTION","Jira","Jira comment mention",eS,{description:"Fires when the configured Jira account is mentioned in a ticket comment.",details:`Lets someone pull automation into a conversation by mentioning the bot. The comment is seeded under \`comment.*\`, so an AI step can read what was actually asked — treat that text as untrusted input rather than instructions. ${ex}`}),e_("JIRA_SPRINT_STARTED","Jira","Sprint started",eS,{description:"Fires when a Jira sprint is started.",details:`Fires per ticket in the sprint, so a sprint of thirty tickets starts thirty runs — mind the workflow's concurrency settings. Good for sprint-opening bookkeeping. ${ex}`}),e_("JIRA_ISSUE_CREATED","Jira","Ticket created",eS,{description:"Fires when a Jira ticket is created.",details:`Needs the Jira webhook configured in Settings — the polled Jira triggers only observe tickets something already fetched, so they cannot see a brand-new one. Scope the webhook's JQL filter to the projects you care about, since every created ticket otherwise starts a run. ${ex}`}),e_("JIRA_ISSUE_DELETED","Jira","Ticket deleted",eS,{description:"Fires when a Jira ticket is deleted.",details:`Needs the Jira webhook. The ticket is gone by the time this runs, so only the payload's \`ticket.*\` snapshot is available — a step that loads the ticket will fail. Use it for cleanup: close the worktree, cancel the run, archive the branch. ${ex}`}),e_("JIRA_ISSUE_COMMAND","Jira","Ticket comment command",eS,{description:"Fires when a comment from an allow-listed Jira account matches a command pattern, such as `/deploy`.",details:`The Jira counterpart to the GitHub issue comment command, and just as strict: an explicit list of Jira account IDs is required, and the pattern must be anchored with \`^\` and \`$\` — publishing fails otherwise. Jira identifies people by opaque account ID, not display name, so copy the ID from the user's Jira profile URL. Treat the comment body as untrusted input rather than instructions. Needs the Jira webhook. ${ex}`}),e_("JIRA_ATTACHMENT_ADDED","Jira","Attachment added",[...eS,"attachment.*"],{description:"Fires when a file is attached to a Jira ticket.",details:`Needs the Jira webhook. Seeds \`attachment.*\` with the filename, MIME type, and author. Filter on \`attachment.mimeType\` to react to one kind of upload — a crash log, a design export. ${ex}`}),e_("JIRA_ISSUE_LINKED","Jira","Ticket linked",[...eS,"link.*"],{description:"Fires when a Jira issue link is created.",details:`Needs the Jira webhook. Seeds \`link.*\` with the link type and both issue IDs. Filter on \`link.type\` to react to one relationship — "blocks", "duplicates" — rather than every link. ${ex}`}),e_("RUN_STARTED","Plans and sessions","Run started",eb,{description:"Fires when an AI plan or session run begins.",details:`Every run trigger seeds the same shape — \`run.*\` plus the worktree, codebase, repository, and ticket it is attached to. Filter on \`run.kind\` to separate plans from sessions. ${ex}`}),e_("RUN_COMPLETED","Plans and sessions","Run completed",eb,{description:"Fires when an AI run finishes successfully.",details:`The place to hang everything that happens after the agent is done — committing, pushing, opening a pull request, moving the ticket. Filter on \`run.kind\` to react only to plans or only to sessions. ${ex}`}),e_("RUN_QUESTION_NEEDED","Plans and sessions","Run needs an answer",eb,{description:"Fires when an AI run pauses to ask a question, with the pending questions in session data.",details:`The questions arrive under \`run.questions\`, so the Answer run question step can respond without a human — the basis for unattended runs. Answer carefully: an automatic answer to a question the agent should have asked a person is how unwanted changes get made. ${ex}`}),e_("RUN_QUESTION_ANSWERED","Plans and sessions","Run question answered",eb,{description:"Fires when a pending question on an AI run is answered.",details:`Fires however the answer arrived — from a person or from another workflow. Use it to record decisions, or to resume work that was gated on the answer. ${ex}`}),e_("RUN_PAUSED","Plans and sessions","Run paused",eb,{description:"Fires when an AI run is paused.",details:`Covers pauses from any source, including a run that paused itself. A run needing an answer reports separately through Run needs an answer. ${ex}`}),e_("RUN_CONTINUED","Plans and sessions","Run continued",eb,{description:"Fires when a paused AI run resumes.",details:`The counterpart to Run paused. Fires on each resume, so a run that stops and starts repeatedly fires it repeatedly. ${ex}`}),e_("RUN_FAILED","Plans and sessions","Run failed",eb,{description:"Fires when an AI run ends in failure.",details:`The error is in the seeded run data, so a follow-up run can be pointed at what went wrong. Beware of loops — a workflow that reacts by starting another run that fails the same way will keep going. ${ex}`}),e_("RUN_CANCELLED","Plans and sessions","Run cancelled",eb,{description:"Fires when an AI run is cancelled.",details:`Cancellation leaves whatever the run already wrote in the worktree, so cleanup usually means inspecting or reverting rather than assuming nothing happened. ${ex}`}),e_("RUN_PLAN_PLAYED","Plans and sessions","Plan played",eb,{description:"Fires when a run is created by executing a previously completed plan.",details:`Distinguishes plan execution from an ordinary session, which Run started cannot. Lets a workflow treat planned work differently from ad-hoc work. ${ex}`}),e_("RUN_FOLLOW_UP","Plans and sessions","Run follow-up created",eb,{description:"Fires when a run is created as a follow-up to another run.",details:`Does not fire for plan execution, which reports through Plan played. The parent run is in the seeded data, so a workflow can count how deep a follow-up chain has gone and stop it. ${ex}`}),e_("RUN_IMPORTED","Plans and sessions","Provider run imported",eb,{description:"Fires when a run started outside this system is imported from a provider.",details:`Lets work begun in another tool pick up the same automation — labelling, ticket updates, pull requests. The run did not originate here, so its worktree and ticket links may be incomplete. ${ex}`}),e_("RUN_USAGE_THRESHOLD","Plans and sessions","Run usage threshold",eb,{description:"Fires when a single run's token or cost usage crosses a threshold you set.",details:`Scoped to one run, unlike the aggregate Usage threshold. Point the threshold path at the usage figure you care about — a runaway session can then be cancelled automatically. ${eA} ${ex}`}),e_("RUN_EVENT_MATCH","Plans and sessions","Run event or tool matched",eb,{description:"Fires on individual events inside an AI run, including each tool call it makes.",details:`The finest-grained run trigger, and by far the most talkative — a single run produces hundreds of events, and every one is a candidate. Always filter, on the event type or the tool name. Useful for reacting to a specific tool being used; a poor choice for anything expensive. ${ex}`}),...eR],eD=new Map(eT.map(e=>[e.kind,e])),eN=t.z.string().min(1).max(128).regex(/^[A-Za-z0-9][A-Za-z0-9_-]*$/),eO=t.z.string().min(1).max(256).regex(/^[A-Za-z0-9_-]+(?:\.[A-Za-z0-9_*\[\]-]+)*$/),eP=t.z.record(t.z.string(),t.z.unknown()).default({}),e$=t.z.object({id:eN,kind:t.z.enum(s),name:t.z.string().min(1).max(200).optional(),position:t.z.object({x:t.z.number().finite(),y:t.z.number().finite()}),config:eP}),eU=t.z.object({id:eN,kind:t.z.enum(n),name:t.z.string().min(1).max(200).optional(),position:t.z.object({x:t.z.number().finite(),y:t.z.number().finite()}),config:eP,requiredPaths:t.z.array(eO).max(100).default([]),providedPaths:t.z.array(eO).max(100).default([]),retry:t.z.object({maxAttempts:t.z.number().int().min(1).max(20).default(1),strategy:t.z.enum(["FIXED","EXPONENTIAL"]).default("EXPONENTIAL"),delaySeconds:t.z.number().int().min(1).max(86400).default(5)}).default({maxAttempts:1,strategy:"EXPONENTIAL",delaySeconds:5}),failurePolicy:t.z.enum(["FAIL","CONTINUE"]).default("FAIL")}),eB=t.z.object({id:eN,source:eN,target:eN,sourceHandle:t.z.string().min(1).max(100).default("success"),targetHandle:t.z.string().min(1).max(100).default("input")}),ej=t.z.object({format:t.z.literal(eo),schemaVersion:t.z.literal(1),name:t.z.string().min(1).max(200),description:t.z.string().max(2e3).default(""),triggers:t.z.array(e$).max(100).default([]),nodes:t.z.array(eU).max(1e3).default([]),edges:t.z.array(eB).max(5e3).default([]),editor:t.z.object({viewport:t.z.object({x:t.z.number(),y:t.z.number(),zoom:t.z.number().positive()}).optional(),handleLayout:t.z.enum(["SIDES","TOP_BOTTOM"]).default("SIDES"),displayLayout:t.z.enum(["REGULAR","BASIC"]).default("REGULAR")}).default({handleLayout:"SIDES",displayLayout:"REGULAR"})});function eL(e,t){return t.map(t=>t.replaceAll("<stepId>",e.id))}function eq(e,t){return e===t||"*"===e||e.endsWith(".*")&&t.startsWith(e.slice(0,-1))}function eM(e){return e.length?new Set([...e[0]].filter(t=>e.every(e=>e.has(t)))):new Set}function eF(e,t){return[...e].some(e=>eq(e,t))}let eK={stepPaths(e){let t=ew.get(e);return{requiredPaths:t?.requiredPaths??[],providedPaths:t?.providedPaths??[]}},triggerSeedPaths:e=>eD.get(e)?.seedPaths??[]};function eV(e,t=eK){let r=new Set(e.nodes.map(({id:e})=>e)),i=new Map(e.nodes.map(e=>[e.id,e])),a=new Map,n=new Map;for(let t of e.edges)a.set(t.source,[...a.get(t.source)??[],t.target]),n.set(t.target,[...n.get(t.target)??[],t.source]);let s=new Map(e.nodes.map(e=>[e.id,0]));for(let t of e.edges)r.has(t.source)&&r.has(t.target)&&s.set(t.target,(s.get(t.target)??0)+1);let o=[...s].filter(([,e])=>0===e).map(([e])=>e),l=[];for(;o.length;){let e=o.shift();for(let t of(l.push(e),a.get(e)??[])){if(!r.has(t))continue;let e=(s.get(t)??0)-1;s.set(t,e),0===e&&o.push(t)}}let u=e=>{let t=new Set,r=[...a.get(e)??[]];for(;r.length;){let e=r.shift();t.has(e)||(t.add(e),r.push(...a.get(e)??[]))}return t},c=new Map;for(let t of[...e.triggers,...e.nodes])c.set(t.id,u(t.id));let d=new Map;for(let r of e.nodes){let e=t.stepPaths(r.kind);d.set(r.id,[...eL(r,e.providedPaths),...r.providedPaths,`steps.${r.id}.*`])}let p=new Map,h=[];for(let r of e.triggers){let e=new Set(["workflow.*"]);for(let i of t.triggerSeedPaths(r.kind))e.add(i);for(let t of ed(r.kind,r.config))e.add(t);let a=new Map;for(let s of l){if(!c.get(r.id)?.has(s))continue;let o=i.get(s),l=(n.get(s)??[]).filter(e=>e===r.id||a.has(e));if(!l.length)continue;let u=eM(l.map(t=>t===r.id?e:a.get(t))),m=p.get(s);p.set(s,m?eM([m,u]):new Set(u));let f=new Set(d.get(s)??[]),g=[...ee(o.kind,"step",o.config)].filter(e=>!eF(f,e));for(let e of new Set([...eL(o,t.stepPaths(o.kind).requiredPaths),...o.requiredPaths,...g]))eF(u,e)||h.push({nodeId:o.id,triggerId:r.id,triggerName:r.name??r.kind,path:e});let y=new Set(u);for(let e of d.get(s)??[])y.add(e);a.set(s,y)}}return{availableBefore:new Map([...p].map(([e,t])=>[e,[...t]])),provides:d,requirementViolations:h}}function eG(e,t=""){return Array.isArray(e)?e.some(e=>eG(e,t)):e&&"object"==typeof e?Object.entries(e).some(([e,t])=>eG(t,e)):"string"==typeof e&&/(token|secret|password|passwd|private.?key|api.?key|authorization)/i.test(t)&&!/(credential.?id|credential.?ids)$/i.test(t)}function eH(e){return Array.isArray(e)?e.some(eH):!!e&&"object"==typeof e&&("UNRESOLVED"===e.referenceStatus||Object.values(e).some(eH))}e.s(["WORKFLOW_SCHEMA_VERSION",0,1,"WORKFLOW_STEP_BY_KIND",0,ew,"WORKFLOW_STEP_CATALOG",0,ey,"WORKFLOW_TRIGGER_CATALOG",0,eT,"computeWorkflowPathAvailability",0,eV,"emptyWorkflowDefinition",0,function(e="Untitled workflow"){return ej.parse({format:eo,schemaVersion:1,name:e,description:"",triggers:[{id:"manual",kind:"MANUAL",position:{x:0,y:100},config:{}}],nodes:[],edges:[],editor:{}})},"hasWorkflowErrors",0,function(e){return e.some(({severity:e})=>"ERROR"===e)},"parseWorkflowDefinition",0,function(e){return ej.parse(e)},"resourceManualSeedPaths",0,ed,"sanitizeWorkflowExportDefinition",0,function(e){let t=(e,r="")=>Array.isArray(e)?e.map(e=>t(e,r)):e&&"object"==typeof e?Object.fromEntries(Object.entries(e).map(([e,r])=>[e,t(r,e)])):"string"==typeof e&&/(token|secret|password|passwd|private.?key|api.?key|authorization)/i.test(r)&&!/(credential.?id|credential.?ids)$/i.test(r)||"string"==typeof e&&/^(?:\/|[A-Za-z]:[\\/]|\\\\)/.test(e)&&/^(?:cwd|folder|path|directory)$/i.test(r)?null:e;return ej.parse(t(e))},"validateWorkflowDefinition",0,function(e){let t=ej.safeParse(e);if(!t.success)return{definition:null,diagnostics:t.error.issues.map(e=>({severity:"ERROR",code:"SCHEMA_INVALID",message:e.message,path:e.path.join(".")}))};let r=t.data,i=[],a=new Set;for(let e of[...r.triggers,...r.nodes])a.has(e.id)&&i.push({severity:"ERROR",code:"DUPLICATE_NODE_ID",message:`Duplicate graph id ${e.id}`,nodeId:e.id}),a.add(e.id);let n=new Set;for(let e of r.edges)n.has(e.id)&&i.push({severity:"ERROR",code:"DUPLICATE_EDGE_ID",message:`Duplicate edge id ${e.id}`}),n.add(e.id),a.has(e.source)&&a.has(e.target)||i.push({severity:"ERROR",code:"EDGE_ENDPOINT_MISSING",message:`Edge ${e.id} references a missing endpoint`}),r.triggers.some(({id:t})=>t===e.target)&&i.push({severity:"ERROR",code:"TRIGGER_HAS_INPUT",message:"Triggers cannot have incoming edges",triggerId:e.target});r.triggers.length||i.push({severity:"ERROR",code:"TRIGGER_REQUIRED",message:"At least one trigger is required"}),r.nodes.length||i.push({severity:"ERROR",code:"STEP_REQUIRED",message:"At least one step is required"});let s=new Set(r.nodes.map(({id:e})=>e)),o=new Map,l=new Map;for(let e of r.edges)o.set(e.source,[...o.get(e.source)??[],e.target]),l.set(e.target,[...l.get(e.target)??[],e.source]);for(let e of r.nodes)(l.get(e.id)??[]).filter(e=>s.has(e)).length>1&&"CONTROL_JOIN"!==e.kind&&i.push({severity:"ERROR",code:"EXPLICIT_JOIN_REQUIRED",message:"Nodes with multiple incoming branches must be explicit join nodes",nodeId:e.id});let u=new Map(r.nodes.map(e=>[e.id,0]));for(let e of r.edges)s.has(e.source)&&s.has(e.target)&&u.set(e.target,(u.get(e.target)??0)+1);let p=[...u].filter(([,e])=>0===e).map(([e])=>e),h=[];for(;p.length;){let e=p.shift();for(let t of(h.push(e),o.get(e)??[])){if(!s.has(t))continue;let e=(u.get(t)??0)-1;u.set(t,e),0===e&&p.push(t)}}h.length!==r.nodes.length&&i.push({severity:"ERROR",code:"DAG_CYCLE",message:"Workflow graphs cannot contain free-form cycles"});let m=new Map,f=e=>{let t=new Set,r=[...o.get(e)??[]];for(;r.length;){let e=r.shift();t.has(e)||(t.add(e),r.push(...o.get(e)??[]))}return t};for(let e of[...r.triggers,...r.nodes])m.set(e.id,f(e.id));for(let e of r.nodes){for(let t of(r.triggers.some(t=>m.get(t.id)?.has(e.id))||i.push({severity:"ERROR",code:"UNREACHABLE_STEP",message:"Step is not reachable from a trigger",nodeId:e.id}),eG(e.config)&&i.push({severity:"ERROR",code:"SECRET_LITERAL",message:"Store secrets as credential references, not workflow literals",nodeId:e.id}),eH(e.config)&&i.push({severity:"ERROR",code:"UNRESOLVED_REFERENCE",message:"Resolve imported references before publishing",nodeId:e.id}),new Set(E(e.config))))i.push({severity:"ERROR",code:"SESSION_BINDING_INVALID",message:t,nodeId:e.id});"CONTROL_SUBWORKFLOW"===e.kind&&"string"!=typeof e.config.versionId&&i.push({severity:"ERROR",code:"SUBWORKFLOW_VERSION_REQUIRED",message:"Sub-workflows must pin a published version",nodeId:e.id})}for(let e of r.triggers){for(let t of((o.get(e.id)??[]).length||i.push({severity:"ERROR",code:"TRIGGER_DISCONNECTED",message:"Trigger is not connected to a step",triggerId:e.id}),eG(e.config)&&i.push({severity:"ERROR",code:"SECRET_LITERAL",message:"Store secrets as credential references, not trigger literals",triggerId:e.id}),eH(e.config)&&i.push({severity:"ERROR",code:"UNRESOLVED_REFERENCE",message:"Resolve imported references before publishing",triggerId:e.id}),new Set(E(e.config))))i.push({severity:"ERROR",code:"SESSION_BINDING_INVALID",message:t,triggerId:e.id});if(d(e.kind)&&!ec(e.config)&&i.push({severity:"ERROR",code:"RESOURCE_KIND_REQUIRED",message:"Resource triggers must target a single resource kind; add one trigger per kind",triggerId:e.id}),c(e.kind)){let t=el(e.config),a=Array.isArray(e.config.choices)?e.config.choices.length:0;t.length&&t.length===a||i.push({severity:"ERROR",code:"TRIGGER_CHOICES_REQUIRED",message:"Choice triggers need at least one option, each with a unique key",triggerId:e.id});let n=new Set(t.map(({key:e})=>e));for(let t of r.edges)t.source===e.id&&(n.has(t.sourceHandle)||i.push({severity:"ERROR",code:"TRIGGER_CHOICE_HANDLE_UNKNOWN",message:`Connection ${t.id} leaves an option that no longer exists`,triggerId:e.id}))}if("GITHUB_ISSUE_COMMAND"===e.kind||"JIRA_ISSUE_COMMAND"===e.kind){let t="JIRA_ISSUE_COMMAND"===e.kind,r=t?e.config.allowedAccountIds:e.config.allowedLogins,a=e.config.commandPattern;(!Array.isArray(r)||!r.length||r.some(e=>"string"!=typeof e||!e.trim()))&&i.push({severity:"ERROR",code:"ISSUE_COMMAND_ALLOWLIST_REQUIRED",message:t?"Issue command triggers require an explicit Jira account ID allow-list":"Issue command triggers require an explicit GitHub login allow-list",triggerId:e.id}),"string"==typeof a&&a.startsWith("^")&&a.endsWith("$")||i.push({severity:"ERROR",code:"ISSUE_COMMAND_PATTERN_ANCHORED",message:"Issue command patterns must be anchored with ^ and $",triggerId:e.id})}}for(let e of eV(r).requirementViolations)i.push({severity:"ERROR",code:"REQUIREMENT_UNSATISFIED",message:`${e.path} is not guaranteed on the path from ${e.triggerName}`,nodeId:e.nodeId,triggerId:e.triggerId,path:e.path});for(let e=0;e<r.nodes.length;e+=1){let t=r.nodes[e],a=[...eL(t,ew.get(t.kind).providedPaths),...t.providedPaths].filter(e=>!e.startsWith(`steps.${t.id}.`));for(let n=e+1;n<r.nodes.length;n+=1){let e=r.nodes[n];if(m.get(t.id)?.has(e.id)||m.get(e.id)?.has(t.id))continue;let s=[...eL(e,ew.get(e.kind).providedPaths),...e.providedPaths].filter(t=>!t.startsWith(`steps.${e.id}.`));a.some(e=>s.some(t=>eq(e,t)||eq(t,e)))&&i.push({severity:"ERROR",code:"PARALLEL_WRITE_CONFLICT",message:`Parallel steps ${t.name??t.id} and ${e.name??e.id} can write the same session-data path`,nodeId:e.id})}}return{definition:r,diagnostics:i}},"workflowResourceKind",0,ec,"workflowTriggerChoices",0,el],497800)},107058,963910,112627,695248,e=>{"use strict";var t=e.i(666680),r=e.i(243783);e.i(582482);var i=e.i(318905),a=e.i(91022),n=e.i(397554),s=e.i(827957);function o(e){if(null===e||!/^\d+$/.test(e))return null;let t=Number(e);return Number.isSafeInteger(t)?t:null}function l(e){let t=o(e.get("x-ratelimit-limit")),r=o(e.get("x-ratelimit-remaining")),i=o(e.get("x-ratelimit-used")),a=o(e.get("x-ratelimit-reset")),n=e.get("x-ratelimit-resource")?.trim()??"";if(null===t||null===r||null===i||null===a||!n)return null;let s=new Date(1e3*a);return Number.isFinite(s.getTime())?{limit:t,remaining:r,used:i,resetAt:s,resource:n}:null}async function u(e,t){let i=l(t.headers);if(!i)return null;try{let t=await (0,r.getPrismaClient)(),a=`${e}:${i.resource}`,n=new Date;await t.gitHubRateLimitSnapshot.upsert({where:{authentication_resource:{authentication:e,resource:i.resource}},create:{id:a,authentication:e,observedAt:n,...i},update:{observedAt:n,...i}})}catch{}return i}async function c(){let e=await (0,r.getPrismaClient)();return(await e.gitHubRateLimitSnapshot.findMany({orderBy:[{resource:"asc"},{authentication:"asc"}]})).map(e=>({authentication:e.authentication,resource:e.resource,limit:e.limit,remaining:e.remaining,used:e.used,resetAt:e.resetAt.toISOString(),observedAt:e.observedAt.toISOString()}))}let d="actions.cancelWorkflowRun",p="actions.dispatchWorkflow",h="actions.forceCancelWorkflowRun",m="actions.getJobForWorkflowRun",f="actions.getWorkflowRun",g="actions.getWorkflowRunAttempt",y="actions.listJobsForWorkflowRun",w="actions.listJobsForWorkflowRunAttempt",b="actions.listRepoWorkflows",v="actions.listWorkflowRuns",k="actions.listWorkflowRunsForRepo",S="actions.reRunJobForWorkflowRun",E="actions.reRunWorkflow",I="actions.reRunWorkflowFailedJobs",x="apps.createInstallationAccessToken",A="apps.getAuthenticated",_="apps.getInstallation",C="apps.updateWebhookConfigForApp",R="repos.listPullRequestsAssociatedWithCommit",T="users.listEmailsForAuthenticatedUser";class D extends Error{code;githubRequestId;statusCode;rateLimit;constructor(e,t,r=null,i=null,a=null){super(t),this.code=e,this.githubRequestId=r,this.statusCode=i,this.rateLimit=a,this.name="GitHubAppError"}}let N=new Map,O=new Map;function P(e,t,r){let i=e.trim();if(!/^[1-9]\d*$/.test(i))throw new D(r,`${t} must be a positive integer`);return i}function $(e){let{privateKeyPkcs8:r,keyFingerprint:i}=function(e){try{let r=(0,t.createPrivateKey)({key:e.trim(),format:"pem"});if("rsa"!==r.asymmetricKeyType)throw Error("The key is not RSA");let i=r.export({format:"pem",type:"pkcs8"}).toString(),a=(0,t.createPublicKey)(r).export({format:"der",type:"spki"}),n=`SHA256:${(0,t.createHash)("sha256").update(a).digest("base64url")}`;return{key:r,privateKeyPkcs8:i,keyFingerprint:n}}catch{throw new D("INVALID_PRIVATE_KEY","The GitHub App private key is not a valid RSA PEM")}}(e.privateKey);return{...e,appId:P(e.appId,"GitHub App ID","INVALID_APP_ID"),installationId:P(e.installationId,"GitHub installation ID","INVALID_INSTALLATION_ID"),privateKeyPkcs8:r,keyFingerprint:i}}async function U(e){try{let t=await (0,n.importPKCS8)(e.privateKeyPkcs8,"RS256"),r=Math.floor(Date.now()/1e3);return await new s.SignJWT({}).setProtectedHeader({alg:"RS256",typ:"JWT"}).setIssuer(e.appId).setIssuedAt(r-60).setExpirationTime(r+540).sign(t)}catch{throw new D("INVALID_PRIVATE_KEY","The GitHub App private key could not sign an App JWT")}}function B(e){return`${e.appId}:${e.installationId}:${e.keyFingerprint}`}function j(e){return{accept:"application/vnd.github+json",authorization:e,"user-agent":"ai-development-environment","x-github-api-version":"2022-11-28"}}async function L(e,t,r,i,a){let n,s=Date.now(),o=(t.method??"GET").toUpperCase(),u=e===i?.graphqlUrl&&"string"==typeof t.body?t.body:null;try{n=await fetch(e,{...t,cache:"no-store"})}catch{throw i?.requestObserver&&await Promise.resolve(i.requestObserver({url:e,method:o,operation:r,requestSource:a,body:u,durationMs:Date.now()-s,statusCode:null,error:"GitHub could not be reached",rateLimit:null})).catch(()=>void 0),new D("GITHUB_APP_REQUEST_FAILED","GitHub could not be reached")}return i?.responseObserver&&await Promise.resolve(i.responseObserver(n)).catch(()=>void 0),i?.requestObserver&&await Promise.resolve(i.requestObserver({url:e,method:o,operation:r,requestSource:a,body:u,durationMs:Date.now()-s,statusCode:n.status,error:n.ok?null:`GitHub returned HTTP ${n.status}`,rateLimit:l(n.headers)})).catch(()=>void 0),n}async function q(e){try{return await e.json()}catch{return null}}function M(e){return e.headers.get("x-github-request-id")}function F(e,t,r=[]){let i=`GitHub returned HTTP ${t}`;for(let t of(e&&"object"==typeof e&&"message"in e&&"string"==typeof e.message&&(i=e.message),r))t&&(i=i.split(t).join("[REDACTED]"));return i}async function K(e,t){let r=await L(`${e.apiBaseUrl}/app/installations/${e.installationId}`,{headers:j(`Bearer ${t}`)},_,e,"GITHUB_SETTINGS"),i=await q(r),a=M(r);if(401===r.status)throw new D("GITHUB_APP_UNAUTHORIZED","GitHub rejected the App ID or private key",a);if(404===r.status)throw new D("INSTALLATION_NOT_FOUND","The GitHub App installation was not found",a);if(!r.ok||!i||"object"!=typeof i)throw new D("GITHUB_APP_REQUEST_FAILED",F(i,r.status,[t,e.privateKey,e.privateKeyPkcs8]),a);if(String(i.app_id)!==e.appId)throw new D("APP_INSTALLATION_MISMATCH","The installation does not belong to the configured GitHub App",a);return i}async function V(e,t){let r=await L(`${e.apiBaseUrl}/app`,{headers:j(`Bearer ${t}`)},A,e,"GITHUB_SETTINGS"),i=await q(r),a=M(r);if(401===r.status)throw new D("GITHUB_APP_UNAUTHORIZED","GitHub rejected the App ID or private key",a);if(!r.ok||!i||"object"!=typeof i)throw new D("GITHUB_APP_REQUEST_FAILED",F(i,r.status,[t,e.privateKey,e.privateKeyPkcs8]),a);if(String(i.id)!==e.appId||!i.slug||!i.owner?.login||!i.owner.type)throw new D("GITHUB_APP_REQUEST_FAILED","GitHub returned incomplete GitHub App registration details",a);return{details:i,githubRequestId:a}}async function G(e){let t=$(e),r=await U(t),i=await V(t,r);return{appSlug:i.details.slug,appOwnerLogin:i.details.owner.login,appOwnerType:i.details.owner.type,githubRequestId:i.githubRequestId}}async function H(e,t,r){let i=r??await U(e),a=await L(`${e.apiBaseUrl}/app/installations/${e.installationId}/access_tokens`,{method:"POST",headers:j(`Bearer ${i}`)},x,e,t),n=await q(a),s=M(a);if(401===a.status)throw new D("GITHUB_APP_UNAUTHORIZED","GitHub rejected the App ID or private key",s);if(404===a.status)throw new D("INSTALLATION_NOT_FOUND","The GitHub App installation was not found",s);if(!a.ok||!n||"object"!=typeof n)throw new D("GITHUB_APP_REQUEST_FAILED",F(n,a.status,[i,e.privateKey,e.privateKeyPkcs8]),s);if("string"!=typeof n.token||!n.token||"string"!=typeof n.expires_at||Number.isNaN(Date.parse(n.expires_at)))throw new D("GITHUB_APP_REQUEST_FAILED","GitHub returned an invalid installation token response",s);if("write"!==(n.permissions?.actions??"none"))throw new D("ACTIONS_PERMISSION_REQUIRED","The GitHub App installation must grant Actions: read and write",s);return{token:n.token,expiresAt:new Date(n.expires_at),permissions:n.permissions??{},repositorySelection:n.repository_selection??"selected"}}async function W(e,t){let r=B(e),i=N.get(r);if(i&&i.expiresAt.getTime()-3e5>Date.now())return i;let a=O.get(r);if(a)return a;let n=H(e,t).then(e=>(N.set(r,e),e)).finally(()=>O.delete(r));return O.set(r,n),n}function J(){N.clear(),O.clear()}async function z(e,t,r){let i=$(e),a=await W(i,r),n=await t(a.token);return 401===n.status&&(N.delete(B(i)),a=await W(i,r),n=await t(a.token)),{response:n,token:a.token}}async function Z(e,t,r,i){let{response:a,token:n}=await z(e,a=>L(e.graphqlUrl,{method:"POST",headers:{...j(`Bearer ${a}`),"content-type":"application/json"},body:JSON.stringify({query:t,variables:r})},null,e,i),i),s=await q(a),o=M(a),u=l(a.headers);if(401===a.status)throw new D("GITHUB_APP_UNAUTHORIZED","GitHub rejected the installation access token",o,a.status,u);if(!a.ok||s?.errors?.length||!s?.data){let t=s?.errors?.map(e=>e.message).filter(Boolean).join("; ")||F(s,a.status,[n]);throw new D("GITHUB_APP_REQUEST_FAILED",F({message:t},a.status,[n,e.privateKey]),o,a.status,u)}return{data:s.data,githubRequestId:o,statusCode:a.status,rateLimit:u}}async function Y(e){let t=$(e),r=await U(t),[i,a]=await Promise.all([K(t,r),V(t,r)]),n=await H(t,"GITHUB_SETTINGS",r);N.set(B(t),n);let s=await Z(t,"query VerifyGitHubApp { viewer { login } }",{},"GITHUB_SETTINGS");return{appId:t.appId,installationId:t.installationId,keyFingerprint:t.keyFingerprint,appSlug:a.details.slug,appOwnerLogin:a.details.owner.login,appOwnerType:a.details.owner.type,accountLogin:i.account.login,repositorySelection:n.repositorySelection,actionsPermission:n.permissions.actions??"none",checksPermission:n.permissions.checks??"none",commitStatusesPermission:n.permissions.statuses??"none",webhookEvents:Array.isArray(i.events)?i.events:[],viewerLogin:s.data.viewer.login,verifiedAt:new Date,githubRequestId:s.githubRequestId}}async function Q(e,t){let r=$(e),i=await U(r),a=await L(`${r.apiBaseUrl}/app/hook/config`,{method:"PATCH",headers:{...j(`Bearer ${i}`),"content-type":"application/json"},body:JSON.stringify({url:t.url,content_type:"json",secret:t.secret,insecure_ssl:"0"})},C,r,"GITHUB_SETTINGS"),n=M(a);if(404===a.status)return{configured:!1,githubRequestId:n};if(!a.ok)throw new D("GITHUB_APP_REQUEST_FAILED",F(await q(a),a.status,[i,t.secret,r.privateKey]),n);return{configured:!0,githubRequestId:n}}async function X(e,t){let r=`${e.apiBaseUrl}/repos/${encodeURIComponent(t.owner)}/${encodeURIComponent(t.repository)}/actions/runs/${encodeURIComponent(t.workflowRunId)}/rerun`,{response:i,token:a}=await z(e,i=>L(r,{method:"POST",headers:j(`Bearer ${i}`)},E,e,t.requestSource),t.requestSource),n=M(i);if(401===i.status)throw new D("GITHUB_APP_UNAUTHORIZED","GitHub rejected the installation access token",n);if(!i.ok){let t=await q(i);throw new D(404===i.status?"REPOSITORY_NOT_INSTALLED":"GITHUB_APP_REQUEST_FAILED",404===i.status?"The repository or workflow run is not available to this installation":F(t,i.status,[a,e.privateKey]),n)}return{githubRequestId:n}}async function ee(e,t){let r=`${e.apiBaseUrl}/repos/${encodeURIComponent(t.owner)}/${encodeURIComponent(t.repository)}/actions/runs/${encodeURIComponent(t.workflowRunId)}/rerun-failed-jobs`,{response:i,token:a}=await z(e,i=>L(r,{method:"POST",headers:j(`Bearer ${i}`)},I,e,t.requestSource),t.requestSource),n=M(i);if(!i.ok){let t=await q(i);throw new D(404===i.status?"REPOSITORY_NOT_INSTALLED":"GITHUB_APP_REQUEST_FAILED",404===i.status?"The repository or workflow run is not available to this installation":F(t,i.status,[a,e.privateKey]),n)}return{githubRequestId:n}}async function et(e,t){let r=t.force?"force-cancel":"cancel",i=t.force?h:d,a=`${e.apiBaseUrl}/repos/${encodeURIComponent(t.owner)}/${encodeURIComponent(t.repository)}/actions/runs/${encodeURIComponent(t.workflowRunId)}/${r}`,{response:n,token:s}=await z(e,r=>L(a,{method:"POST",headers:j(`Bearer ${r}`)},i,e,t.requestSource),t.requestSource),o=M(n);if(401===n.status)throw new D("GITHUB_APP_UNAUTHORIZED","GitHub rejected the installation access token",o);if(!n.ok){let t=await q(n);throw new D(404===n.status?"REPOSITORY_NOT_INSTALLED":"GITHUB_APP_REQUEST_FAILED",404===n.status?"The repository or workflow run is not available to this installation":F(t,n.status,[s,e.privateKey]),o)}return{githubRequestId:o}}async function er(e,t){let r=[],i=1,a=0;do{let n=`${e.apiBaseUrl}/repos/${encodeURIComponent(t.owner)}/${encodeURIComponent(t.repository)}/actions/runs/${encodeURIComponent(t.workflowRunId)}/jobs?filter=latest&per_page=100&page=${i}`,{response:s,token:o}=await z(e,r=>L(n,{headers:j(`Bearer ${r}`)},y,e,t.requestSource),t.requestSource),l=M(s);if(401===s.status)throw new D("GITHUB_APP_UNAUTHORIZED","GitHub rejected the installation access token",l);let u=await q(s);if(!s.ok||!u||"object"!=typeof u)throw new D("GITHUB_APP_REQUEST_FAILED",F(u,s.status,[o,e.privateKey]),l);if(!Number.isInteger(u.total_count)||!Array.isArray(u.jobs))throw new D("GITHUB_APP_REQUEST_FAILED","GitHub returned an invalid workflow jobs response",l);a=u.total_count??0,r.push(...u.jobs),i+=1}while(r.length<a)return r}async function ei(e,t){let r=`${e.apiBaseUrl}/repos/${encodeURIComponent(t.owner)}/${encodeURIComponent(t.repository)}`,i=`${r}/actions/jobs/${encodeURIComponent(t.jobId)}`,a=await z(e,r=>L(i,{headers:j(`Bearer ${r}`)},m,e,t.requestSource),t.requestSource),n=M(a.response);if(401===a.response.status)throw new D("GITHUB_APP_UNAUTHORIZED","GitHub rejected the installation access token",n);let s=await q(a.response);if(!a.response.ok||!s||"object"!=typeof s)throw new D(404===a.response.status?"ACTIONS_JOB_NOT_FOUND":"GITHUB_APP_REQUEST_FAILED",404===a.response.status?"The GitHub Actions job is not available to this installation":F(s,a.response.status,[a.token,e.privateKey]),n);if(String(s.run_id??"")!==t.workflowRunId)throw new D("ACTIONS_JOB_RUN_MISMATCH","The GitHub Actions job does not belong to the selected workflow run",n);if(s.status?.toLowerCase()!=="completed")throw new D("ACTIONS_JOB_NOT_COMPLETED","The GitHub Actions job must be completed before it can be retried",n);let o=await z(e,r=>L(`${i}/rerun`,{method:"POST",headers:j(`Bearer ${r}`)},S,e,t.requestSource),t.requestSource),l=M(o.response);if(401===o.response.status)throw new D("GITHUB_APP_UNAUTHORIZED","GitHub rejected the installation access token",l);if(!o.response.ok){let t=await q(o.response);throw new D(404===o.response.status?"ACTIONS_JOB_NOT_FOUND":"GITHUB_APP_REQUEST_FAILED",404===o.response.status?"The GitHub Actions job is not available to this installation":F(t,o.response.status,[o.token,e.privateKey]),l)}return{githubRequestId:l}}let ea=new Set(["FAILURE","ERROR","STARTUP_FAILURE","TIMED_OUT"]),en=new Set(["ACTION_REQUIRED","EXPECTED","IN_PROGRESS","PENDING","QUEUED"]),es=["COMPLETED","EXHAUSTED","STOPPED"],eo={WORKFLOW_RUN:4,PULL_REQUEST:3,WORKTREE_BRANCH:2,REPOSITORY:1},el="server:github-auto-retry";function eu(e){return e.toISOString()}function ec(e){return{...e,scope:e.scope,mode:e.mode,failureStrategy:e.failureStrategy,status:e.status,executions:e.executions.map(e=>({...e,lastStatus:e.lastStatus,updatedAt:eu(e.updatedAt)})),createdAt:eu(e.createdAt),updatedAt:eu(e.updatedAt)}}class ed{github;polling;timer;pollingTickRunning;rerunRequested;reconciling;constructor(e,t,r=!0){this.github=e,this.polling=t,this.timer=null,this.pollingTickRunning=!1,this.rerunRequested=!1,this.reconciling=!1,this.polling?.register({id:el,kind:"GITHUB_AUTO_RETRY",runtime:"SERVER",enabled:!0,cadenceSeconds:60,details:{}}),r&&queueMicrotask(()=>void this.pollReconcile())}schedule(e){this.timer&&clearTimeout(this.timer);let t=1e3*Math.max(30,e);this.timer=setTimeout(()=>void this.pollReconcile(),t),this.timer.unref(),this.polling?.schedule(el,new Date(Date.now()+t))}configurationChanged(){if(this.pollingTickRunning){this.rerunRequested=!0;return}this.timer&&clearTimeout(this.timer),this.timer=null,queueMicrotask(()=>void this.pollReconcile())}async pollReconcile(){if(this.pollingTickRunning)return;this.pollingTickRunning=!0;let e=60;try{let t=async()=>(e=(await (await (0,r.getPrismaClient)()).gitHubSettings.upsert({where:{id:"default"},create:{id:"default"},update:{}})).actionsNotificationPollIntervalSeconds,this.polling?.configure(el,{cadenceSeconds:e}),this.reconcile());this.polling?await this.polling.run(el,t,e=>({activeRules:e})):await t()}catch{}finally{this.pollingTickRunning=!1,this.rerunRequested?(this.rerunRequested=!1,queueMicrotask(()=>void this.pollReconcile())):this.schedule(e)}}include(){return{targets:{orderBy:{createdAt:"asc"}},executions:{orderBy:{updatedAt:"desc"}}}}async list(e){let t=await (0,r.getPrismaClient)(),i=e.codebaseRepositoryId?await this.github.autoRetryRepositoryId(e.codebaseRepositoryId):null;return(await t.gitHubAutoRetryRule.findMany({where:{...i?{codebaseRepositoryId:i}:{},...e.workflowRunId?{targets:{some:{workflowRunId:e.workflowRunId}}}:{}},include:this.include(),orderBy:{updatedAt:"desc"}})).map(ec)}validate(e){if(!e.codebaseRepositoryId.trim())throw Error("Codebase repository is required");if("COUNT"===e.mode&&null==e.retryLimit)throw Error("Count mode requires a retry limit");if(null!=e.retryLimit&&(!Number.isInteger(e.retryLimit)||e.retryLimit<1||e.retryLimit>100))throw Error("Retry limit must be an integer from 1 to 100");if("FAILURE"===e.mode&&void 0===e.retryLimit)throw Error("Failure retry limit must be a number or null");if("WORKFLOW_RUN"===e.scope){if(!e.targets.length||e.targets.some(e=>!e.workflowRunId))throw Error("Current-run rules require workflow run targets")}else if(!e.allWorkflows&&!e.targets.length)throw Error("Select at least one workflow or choose all workflows");if("WORKTREE_BRANCH"===e.scope&&!e.worktreeId)throw Error("Worktree future rules require a worktree");if("PULL_REQUEST"===e.scope&&!e.pullRequestNumber)throw Error("Pull request future rules require a pull request number")}async save(e){if(!await this.github.autoRetryCredentialsReady())throw Error("A GitHub token and verified GitHub App with Actions write access are required");e={...e,codebaseRepositoryId:await this.github.autoRetryRepositoryId(e.codebaseRepositoryId)},this.validate(e);let i=await (0,r.getPrismaClient)(),a=e.branch?.trim()||null;if("WORKTREE_BRANCH"===e.scope&&e.worktreeId){let t=await i.worktree.findUnique({where:{id:e.worktreeId},select:{branch:!0}});if(!(a=t?.branch??null))throw Error("The worktree does not have a branch")}let n=await i.gitHubAutoRetryRule.findMany({where:{id:e.id?{not:e.id}:void 0,enabled:!0,scope:e.scope,codebaseRepositoryId:e.codebaseRepositoryId},include:{targets:!0}}),s=new Set(e.targets.map(e=>e.workflowRunId).filter(e=>!!e));if(n.find(t=>"WORKFLOW_RUN"===e.scope?t.targets.some(e=>e.workflowRunId&&s.has(e.workflowRunId)):"WORKTREE_BRANCH"===e.scope?t.branch===a:"PULL_REQUEST"!==e.scope||t.pullRequestNumber===e.pullRequestNumber))throw Error("An enabled Auto Retry rule already exists for this scope");let o=e.id??(0,t.randomUUID)(),l=await i.$transaction(async r=>(await r.gitHubAutoRetryRule.upsert({where:{id:o},create:{id:o,scope:e.scope,codebaseRepositoryId:e.codebaseRepositoryId,repositoryGithubId:e.repositoryGithubId??null,worktreeId:e.worktreeId??null,branch:a,pullRequestNumber:e.pullRequestNumber??null,allWorkflows:e.allWorkflows,mode:e.mode,retryLimit:e.retryLimit??null,failureStrategy:e.failureStrategy,status:"ACTIVE",enabled:!0},update:{scope:e.scope,codebaseRepositoryId:e.codebaseRepositoryId,repositoryGithubId:e.repositoryGithubId??null,worktreeId:e.worktreeId??null,branch:a,pullRequestNumber:e.pullRequestNumber??null,allWorkflows:e.allWorkflows,mode:e.mode,retryLimit:e.retryLimit??null,failureStrategy:e.failureStrategy,status:"ACTIVE",enabled:!0,lastError:null,activatedAt:new Date}}),await r.gitHubAutoRetryTarget.deleteMany({where:{ruleId:o}}),e.targets.length&&await r.gitHubAutoRetryTarget.createMany({data:e.targets.map(e=>({id:(0,t.randomUUID)(),ruleId:o,workflowId:e.workflowId?.trim()||null,workflowRunId:e.workflowRunId?.trim()||null,jobName:e.jobName?.trim()||null}))}),await r.gitHubAutoRetryExecution.deleteMany({where:{ruleId:o}}),r.gitHubAutoRetryRule.findUniqueOrThrow({where:{id:o},include:this.include()})));return queueMicrotask(()=>void this.reconcile().catch(()=>void 0)),ec(l)}async setEnabled(e,t){let i=await (0,r.getPrismaClient)(),a=await i.$transaction(async r=>(t&&await r.gitHubAutoRetryExecution.updateMany({where:{ruleId:e,pendingFromAttempt:{not:null}},data:{pendingFromAttempt:null,observedAttempt:0,status:"WATCHING",lastError:null,finishedAt:null}}),r.gitHubAutoRetryRule.update({where:{id:e},data:{enabled:t,status:t?"ACTIVE":"PAUSED",lastError:null,...t?{activatedAt:new Date}:{}},include:this.include()})));return t&&queueMicrotask(()=>void this.reconcile().catch(()=>void 0)),ec(a)}async delete(e){return(await (await (0,r.getPrismaClient)()).gitHubAutoRetryRule.deleteMany({where:{id:e}})).count>0}matches(e,t,r=!1){if("WORKFLOW_RUN"!==e.scope){let i=en.has(t.status);if(!r&&!i&&Date.parse(t.createdAt)<e.activatedAt.getTime())return!1}return"WORKTREE_BRANCH"===e.scope?t.headBranch===e.branch:"PULL_REQUEST"!==e.scope||t.pullRequests.some(t=>t.number===e.pullRequestNumber)}async execution(e,i,a){return(await (0,r.getPrismaClient)()).gitHubAutoRetryExecution.upsert({where:{ruleId_workflowRunId_targetKey:{ruleId:e,workflowRunId:i.id,targetKey:a}},create:{id:(0,t.randomUUID)(),ruleId:e,workflowRunId:i.id,workflowId:i.workflowId,targetKey:a},update:{}})}targetKeys(e,t){if(e.allWorkflows)return["workflow"];let r=e.targets.filter(e=>e.workflowRunId===t.id||e.workflowId===t.workflowId);return r.some(e=>!e.jobName)||"FAILURE"===e.mode&&"ALL_JOBS"===e.failureStrategy?["workflow"]:r.flatMap(e=>e.jobName?[`job:${e.jobName}`]:[])}async finishExecution(e,t,i){await (await (0,r.getPrismaClient)()).gitHubAutoRetryExecution.update({where:{id:e},data:{status:i,observedAttempt:t.runAttempt,lastStatus:t.status,pendingFromAttempt:null,finishedAt:new Date,lastError:null}})}async trigger(e,t,i,a,n){let s=await (0,r.getPrismaClient)();await s.gitHubAutoRetryExecution.update({where:{id:t.id},data:{status:"RETRYING",pendingFromAttempt:i.runAttempt,observedAttempt:i.runAttempt,lastStatus:i.status,lastError:null}});try{await this.github.autoRetryRerun(e.codebaseRepositoryId,i.id,a,n,{actor:"auto-retry",ipAddress:null,autoRetryRuleId:e.id,autoRetryExecutionId:t.id}),await s.gitHubAutoRetryExecution.update({where:{id:t.id},data:{automaticRetries:{increment:1},lastError:null}})}catch(i){let r=i instanceof Error?i.message:String(i);await s.gitHubAutoRetryExecution.update({where:{id:t.id},data:{lastError:r}}),await s.gitHubAutoRetryRule.update({where:{id:e.id},data:{lastError:r}})}}async reconcileExecution(e,t,i,a){var n;let s,o=await this.execution(e.id,t,i);if(null!=o.pendingFromAttempt)if(t.runAttempt>o.pendingFromAttempt)await (await (0,r.getPrismaClient)()).gitHubAutoRetryExecution.update({where:{id:o.id},data:{pendingFromAttempt:null,status:"WATCHING",lastError:null}});else{if(Date.now()-o.updatedAt.getTime()<12e4)return!1;let t=await (0,r.getPrismaClient)(),i="GitHub did not report a new attempt after the rerun request; automatic retries are paused to prevent a duplicate rerun";return await t.$transaction(async t=>{await t.gitHubAutoRetryExecution.update({where:{id:o.id},data:{status:"ERROR",lastError:i}}),await t.gitHubAutoRetryRule.update({where:{id:e.id},data:{enabled:!1,status:"PAUSED",lastError:i}})}),!1}if(o.observedAttempt===t.runAttempt&&null==o.pendingFromAttempt)return!1;let l=a?.status??t.status,u=(s=null!=(n={mode:e.mode,retryLimit:e.retryLimit,automaticRetries:o.automaticRetries,state:l}).retryLimit&&n.automaticRetries>=n.retryLimit,"COUNT"===n.mode?"SUCCESS"!==n.state?"STOP":s?"COMPLETE":"RETRY":"SUCCESS"===n.state?"COMPLETE":ea.has(n.state)?s?"EXHAUSTED":"RETRY":"STOP");return"COMPLETE"===u?(await this.finishExecution(o.id,t,"COMPLETED"),!1):"EXHAUSTED"===u?(await this.finishExecution(o.id,t,"EXHAUSTED"),!1):"STOP"===u?(await this.finishExecution(o.id,t,"STOPPED"),!1):("COUNT"===e.mode?await this.trigger(e,o,t,a?"JOB":"ALL_JOBS",a?.id??null):await this.trigger(e,o,t,a?"ALL_JOBS"===e.failureStrategy?"ALL_JOBS":"JOB":"ALL_JOBS"===e.failureStrategy?"ALL_JOBS":"FAILED_JOBS",a?.id??null),!0)}async reconcile(){if(this.reconciling)return 0;this.reconciling=!0;let e=0;try{let t=await (0,r.getPrismaClient)(),i=await t.gitHubAutoRetryRule.findMany({where:{enabled:!0,status:"ACTIVE"},include:{targets:!0},orderBy:{createdAt:"asc"}});e=i.length;let a=new Map,n=i.length?await t.gitHubAutoRetryExecution.findMany({where:{ruleId:{in:i.map(e=>e.id)},status:{notIn:es}},select:{ruleId:!0,workflowRunId:!0}}):[],s=new Map;for(let e of n){let t=s.get(e.ruleId)??new Set;t.add(e.workflowRunId),s.set(e.ruleId,t)}let o=new Map;for(let e of i){let r=a.get(e.codebaseRepositoryId);if(!r)try{r=await this.github.autoRetryRuns(e.codebaseRepositoryId),a.set(e.codebaseRepositoryId,r)}catch(r){await t.gitHubAutoRetryRule.update({where:{id:e.id},data:{lastError:r instanceof Error?r.message:String(r)}});continue}let i=new Set(e.targets.map(e=>e.workflowRunId).filter(e=>!!e)),n=s.get(e.id)??new Set;for(let a of new Set([...i,...n]))if(!r.some(e=>e.id===a))try{r.push(await this.github.autoRetryRun(e.codebaseRepositoryId,a,!1))}catch(r){await t.gitHubAutoRetryRule.update({where:{id:e.id},data:{lastError:r instanceof Error?r.message:String(r)}})}for(let t of r){if("WORKFLOW_RUN"===e.scope&&!i.has(t.id)||!this.matches(e,t,n.has(t.id))||!e.allWorkflows&&!e.targets.some(e=>e.workflowRunId===t.id||e.workflowId===t.workflowId))continue;let r=o.get(t.id);(!r||eo[e.scope]>eo[r.rule.scope])&&o.set(t.id,{rule:e,run:t})}}for(let{rule:e,run:r}of o.values()){let i=this.targetKeys(e,r);if(en.has(r.status)){await Promise.all(i.map(t=>this.execution(e.id,r,t)));continue}let a=r,n=e.allWorkflows?[{jobName:null}]:e.targets.filter(e=>e.workflowRunId===a.id||e.workflowId===a.workflowId);if(n.some(e=>!e.jobName)){await this.reconcileExecution(e,a,"workflow",null);continue}let s=await Promise.all(i.map(t=>this.execution(e.id,a,t)));if(!s.some(e=>e.observedAttempt!==a.runAttempt||null!=e.pendingFromAttempt&&a.runAttempt>e.pendingFromAttempt)){for(let t=0;t<s.length;t+=1)s[t]?.pendingFromAttempt!=null&&await this.reconcileExecution(e,a,i[t],null);continue}try{a=await this.github.autoRetryRun(e.codebaseRepositoryId,a.id)}catch(r){await t.gitHubAutoRetryRule.update({where:{id:e.id},data:{lastError:r instanceof Error?r.message:String(r)}});continue}if("FAILURE"===e.mode&&"ALL_JOBS"===e.failureStrategy){let t=a.jobs.filter(e=>n.some(t=>t.jobName===e.name)),r=t.find(e=>ea.has(e.status))??t.find(e=>"SUCCESS"!==e.status)??t[0];r?await this.reconcileExecution(e,a,"workflow",r):s[0]&&await this.finishExecution(s[0].id,a,"STOPPED");continue}let o=new Map(i.map((e,t)=>[e,s[t]]));for(let t of n){let r=a.jobs.find(e=>e.name===t.jobName);if(!r){let e=o.get(`job:${t.jobName}`);e&&await this.finishExecution(e.id,a,"STOPPED");continue}if(await this.reconcileExecution(e,a,`job:${r.name}`,r))break}}for(let e of i.filter(e=>"WORKFLOW_RUN"===e.scope)){let r=await t.gitHubAutoRetryExecution.findMany({where:{ruleId:e.id},select:{status:!0}});r.length>0&&r.every(e=>es.includes(e.status))&&await t.gitHubAutoRetryRule.update({where:{id:e.id},data:{enabled:!1,status:r.some(e=>"EXHAUSTED"===e.status)?"EXHAUSTED":"COMPLETED"}})}}finally{this.reconciling=!1}return e}}e.i(805422);var ep=e.i(661983);let eh={LEGACY:0,GRAPHQL:1,REST:2,WEBHOOK:3,MUTATION:4},em=new Set(["CANCELLED","FAILURE","STALE","STARTUP_FAILURE","TIMED_OUT"]),ef=new Set(["ACTION_REQUIRED","IN_PROGRESS","PENDING","QUEUED"]),eg=new Set(["SUCCESS","NEUTRAL","SKIPPED"]);function ey(e,t=null){return e.some(e=>"ERROR"===e)?"ERROR":e.some(e=>em.has(e))?"FAILURE":e.some(e=>ef.has(e))?"PENDING":e.some(e=>"EXPECTED"===e)||"EXPECTED"===t?"EXPECTED":e.length>0&&e.every(e=>eg.has(e))?"SUCCESS":0===e.length&&t?t:"NONE"}function ew(e,t){let r=(t||e||"NONE").toUpperCase();return ek(r)?r:"REQUESTED"===r||"WAITING"===r?"QUEUED":"NONE"}function eb(e){return ef.has(e)?1:2*("NONE"!==e&&"EXPECTED"!==e)}function ev(e,t,r){let i=e.runAttempt??0,a=t.runAttempt??0;if(a!==i)return a>i;let n=e.githubUpdatedAt?.getTime()??0,s=t.githubUpdatedAt?.getTime()??0;if(s!==n)return s>n;if("MUTATION"===e.source&&e.optimisticUntil&&e.optimisticUntil.getTime()>r.getTime())return"MUTATION"===t.source;let o="MUTATION"===e.source?eh.LEGACY:eh[e.source],l=eh[t.source];if("MUTATION"!==e.source&&"MUTATION"!==t.source&&e.status&&t.status){let r=eb(e.status),i=eb(t.status);if(i!==r)return i>r}return l===o||l>o}function ek(e){return"ACTION_REQUIRED"===e||"CANCELLED"===e||"ERROR"===e||"EXPECTED"===e||"FAILURE"===e||"IN_PROGRESS"===e||"NEUTRAL"===e||"PENDING"===e||"QUEUED"===e||"SKIPPED"===e||"STALE"===e||"STARTUP_FAILURE"===e||"SUCCESS"===e||"TIMED_OUT"===e||"NONE"===e}function eS(e){return"ERROR"===e||"EXPECTED"===e||"FAILURE"===e||"PENDING"===e||"SUCCESS"===e||"NONE"===e}function eE(e){try{let t=JSON.parse(e);return Array.isArray(t)?t:[]}catch{return[]}}function eI(e){return"NONE"===e||"EXPECTED"===e?0:"ACTION_REQUIRED"===e||"PENDING"===e||"QUEUED"===e?1:"IN_PROGRESS"===e?2:3}function ex(e){return"GRAPHQL"===e||"REST"===e||"WEBHOOK"===e||"MUTATION"===e?e:"LEGACY"}function eA(e){return{id:e.githubPipelineId,name:e.name,status:ek(e.status)?e.status:"NONE",url:e.url,checkSuiteId:e.checkSuiteId,canRetry:e.canRetry,retryUnavailableReason:e.retryUnavailableReason,jobs:eE(e.jobsJson),workflowRunId:e.workflowRunId,workflowId:e.workflowId,runNumber:e.runNumber,runAttempt:e.runAttempt}}function e_(e,t){return{...eA(t),repositoryGithubId:e.repositoryGithubId,headSha:e.headSha,revision:e.revision,isCurrent:t.isCurrent}}function eC(e){return{repositoryGithubId:e.repositoryGithubId,repositoryNameWithOwner:e.repositoryNameWithOwner,repositoryUrl:e.repositoryUrl,headSha:e.headSha,pipelineStatus:eS(e.pipelineStatus)?e.pipelineStatus:"NONE",pipelines:e.records.filter(e=>e.isCurrent).map(eA).sort((e,t)=>e.name.localeCompare(t.name)),revision:e.revision,updatedAt:e.updatedAt.toISOString()}}function eR(e){return JSON.stringify({identityKey:e.identityKey,githubPipelineId:e.githubPipelineId,name:e.name,status:e.status,url:e.url,checkSuiteId:e.checkSuiteId,workflowRunId:e.workflowRunId,workflowId:e.workflowId,runNumber:e.runNumber,runAttempt:e.runAttempt,canRetry:e.canRetry,retryUnavailableReason:e.retryUnavailableReason,jobsJson:e.jobsJson,isCurrent:e.isCurrent})}function eT(e){return JSON.stringify({repositoryNameWithOwner:e.repositoryNameWithOwner,repositoryUrl:e.repositoryUrl,pipelineStatus:e.pipelineStatus,records:e.records.map(eR).sort((e,t)=>e.localeCompare(t))})}class eD{lastPrunedAt=0;async snapshot(e){let t=await (0,r.getPrismaClient)(),i=await t.gitHubPipelineSnapshot.findUnique({where:{repositoryGithubId_headSha:{repositoryGithubId:e.repositoryGithubId.trim(),headSha:e.headSha.trim()}},include:{records:!0}});return i?eC(i):null}async snapshots(e){let t=e.map(e=>({repositoryGithubId:e.repositoryGithubId.trim(),headSha:e.headSha.trim()})).filter(e=>e.repositoryGithubId&&e.headSha);if(0===t.length)return[];let i=await (0,r.getPrismaClient)();return(await i.gitHubPipelineSnapshot.findMany({where:{OR:t},include:{records:!0}})).map(eC)}async records(e){let t=e.map(e=>({repositoryGithubId:e.repositoryGithubId.trim(),workflowRunId:e.workflowRunId.trim()})).filter(e=>e.repositoryGithubId&&e.workflowRunId);if(0===t.length)return[];let i=await (0,r.getPrismaClient)();return(await i.gitHubPipelineRecord.findMany({where:{OR:t.map(e=>({workflowRunId:e.workflowRunId,snapshot:{repositoryGithubId:e.repositoryGithubId}}))},include:{snapshot:{include:{records:!0}}}})).map(e=>e_(e.snapshot,e))}async observeWorkflowRuns(e,t="REST",r=!0){let i=new Map;for(let t of e){if(!t.repositoryGithubId||!t.headSha)continue;let e=`${t.repositoryGithubId}\u0000${t.headSha}`,r=i.get(e)??[];r.push(t),i.set(e,r)}let a=new Map;for(let e of i.values()){let i=e[0];await this.observeSnapshot({repositoryGithubId:i.repositoryGithubId,repositoryNameWithOwner:i.repositoryNameWithOwner,repositoryUrl:i.repositoryUrl,headSha:i.headSha,pipelines:e.map(e=>(function(e,t,r=!0){return{id:e.id,name:e.name,status:e.status,url:e.url,checkSuiteId:e.checkSuiteId,workflowRunId:e.id,workflowId:e.workflowId,runNumber:e.runNumber,runAttempt:e.runAttempt,canRetry:e.canRetry,retryUnavailableReason:e.retryUnavailableReason,source:t,githubUpdatedAt:new Date(e.updatedAt),sourceFetchedAt:new Date,isCurrent:r}})(e,t,r))})}for(let t of(await this.records(e.map(e=>({repositoryGithubId:e.repositoryGithubId,workflowRunId:e.id})))))t.workflowRunId&&a.set(t.workflowRunId,t);return a}async observeJobs(e,t,i,a="REST",n=null){let s=await (0,r.getPrismaClient)(),o=await s.gitHubPipelineRecord.findFirst({where:{workflowRunId:t,...e?{snapshot:{repositoryGithubId:e}}:{}},include:{snapshot:!0},orderBy:[{runAttempt:"desc"},{sourceFetchedAt:"desc"}]});if(!o)return null;let l=i.filter(e=>null==e.runAttempt||null==o.runAttempt||e.runAttempt===o.runAttempt);if(i.length>0&&0===l.length)return e_({...o.snapshot,records:[o]},o);let u=eE(o.jobsJson),c=new Map(u.map(e=>[e.id,e])),d=l.map(e=>(function(e,t){if(!e)return t;let r=e.runAttempt??0,i=t.runAttempt??0;if(i!==r)return i>r?t:e;let a=eI(e.status),n=eI(t.status);return n<a?e:n===a&&t.steps.length<e.steps.length?{...t,steps:e.steps}:t})(c.get(e.id),e)),p="WEBHOOK"===a?[...new Map([...u,...d].map(e=>[e.id,e])).values()]:d,h=ek(o.status)?o.status:"NONE",m="REST"===a&&l.length>0?ey(l.map(e=>e.status),null):"NONE",f=("ERROR"===m||"FAILURE"===m||"SUCCESS"===m)&&o.snapshot.graphqlRollupStatus===m?m:h;return(await this.observeSnapshot({repositoryGithubId:o.snapshot.repositoryGithubId,repositoryNameWithOwner:o.snapshot.repositoryNameWithOwner,repositoryUrl:o.snapshot.repositoryUrl,headSha:o.snapshot.headSha,pipelines:[{...eA(o),status:f,source:a,jobs:p,githubUpdatedAt:n??o.githubUpdatedAt,isCurrent:o.isCurrent}]})).changedPipeline}async optimisticByCheckSuite(e,t,r){return this.optimisticRecord({repositoryGithubId:e,checkSuiteId:t,workflowRunId:null},r)}async optimisticByWorkflowRun(e,t,r){return this.optimisticRecord({repositoryGithubId:e,checkSuiteId:null,workflowRunId:t},r)}async optimisticJobByCheckSuite(e,t,i){let a=await (0,r.getPrismaClient)(),n=await a.gitHubPipelineRecord.findFirst({where:{checkSuiteId:t,snapshot:{repositoryGithubId:e}},orderBy:[{runAttempt:"desc"},{sourceFetchedAt:"desc"}]});if(!n)return null;let s=eE(n.jobsJson).map(e=>e.id===i?{...e,status:"QUEUED",canRetry:!1,retryUnavailableReason:"NOT_COMPLETED"}:e);return this.optimisticByCheckSuite(e,t,{status:"QUEUED",jobs:s})}async optimisticJobByWorkflowRun(e,t,i){let a=await (0,r.getPrismaClient)(),n=await a.gitHubPipelineRecord.findFirst({where:{workflowRunId:t,...e?{snapshot:{repositoryGithubId:e}}:{}},orderBy:[{runAttempt:"desc"},{sourceFetchedAt:"desc"}]});if(!n)return null;let s=eE(n.jobsJson).map(e=>e.id===i?{...e,status:"QUEUED",canRetry:!1,retryUnavailableReason:"NOT_COMPLETED"}:e);return this.optimisticByWorkflowRun(e,t,{status:"QUEUED",jobs:s})}async optimisticRecord(e,t){let i=await (0,r.getPrismaClient)(),a=await i.gitHubPipelineRecord.findFirst({where:{...e.repositoryGithubId?{snapshot:{repositoryGithubId:e.repositoryGithubId}}:{},...e.checkSuiteId?{checkSuiteId:e.checkSuiteId}:{workflowRunId:e.workflowRunId}},include:{snapshot:!0},orderBy:[{runAttempt:"desc"},{sourceFetchedAt:"desc"}]});if(!a)return null;let n=new Date;return(await this.observeSnapshot({repositoryGithubId:a.snapshot.repositoryGithubId,repositoryNameWithOwner:a.snapshot.repositoryNameWithOwner,repositoryUrl:a.snapshot.repositoryUrl,headSha:a.snapshot.headSha,pipelines:[{...eA(a),status:t.status,jobs:t.jobs,canRetry:!1,retryUnavailableReason:"NOT_COMPLETED",source:"MUTATION",githubUpdatedAt:a.githubUpdatedAt,sourceFetchedAt:n,optimisticUntil:new Date(n.getTime()+12e4),isCurrent:a.isCurrent}]})).changedPipeline}async observeSnapshot(e){let i=e.repositoryGithubId.trim(),a=e.headSha.trim();if(!i||!a)throw Error("GitHub repository ID and head SHA are required");let n=new Date,s=e.sourceFetchedAt??n,o=await (0,r.getPrismaClient)(),l=await o.$transaction(async r=>{let o=await r.gitHubPipelineSnapshot.upsert({where:{repositoryGithubId_headSha:{repositoryGithubId:i,headSha:a}},create:{id:(0,t.randomUUID)(),repositoryGithubId:i,repositoryNameWithOwner:e.repositoryNameWithOwner,repositoryUrl:e.repositoryUrl,headSha:a,pipelineStatus:"NONE",graphqlRollupStatus:null,revision:0,lastGraphqlSyncAt:null,lastObservedAt:n},update:{lastObservedAt:n},include:{records:!0}}),l=eT(o),u=!!(e.completeGraphqlRollup&&(!o.lastGraphqlSyncAt||s.getTime()>=o.lastGraphqlSyncAt.getTime())),c=new Set,d=null;for(let i of e.pipelines){let e=function(e){var t;return(t={id:e.id,checkSuiteId:e.checkSuiteId,workflowRunId:e.workflowRunId,statusContext:e.statusContext}).checkSuiteId?`CHECK_SUITE:${t.checkSuiteId}`:t.workflowRunId?`WORKFLOW_RUN:${t.workflowRunId}`:t.statusContext?`STATUS_CONTEXT:${t.statusContext}`:`PIPELINE:${t.id}`}(i),a=(await r.gitHubPipelineRecord.findMany({where:{snapshotId:o.id}})).filter(t=>t.identityKey===e||i.checkSuiteId&&t.checkSuiteId===i.checkSuiteId||i.workflowRunId&&t.workflowRunId===i.workflowRunId),l=a[0]??null;for(let e of a.slice(1))l&&ev({runAttempt:l.runAttempt,githubUpdatedAt:l.githubUpdatedAt,source:ex(l.source),optimisticUntil:l.optimisticUntil,status:ek(l.status)?l.status:"NONE"},{runAttempt:e.runAttempt,githubUpdatedAt:e.githubUpdatedAt,source:ex(e.source),status:ek(e.status)?e.status:"NONE"},n)&&(l=e);for(let e of a)l&&e.id!==l.id&&(0===eE(l.jobsJson).length&&eE(e.jobsJson).length>0&&(l=await r.gitHubPipelineRecord.update({where:{id:l.id},data:{jobsJson:e.jobsJson}})),await r.gitHubPipelineRecord.delete({where:{id:e.id}}),d=l.id);let p=i.sourceFetchedAt??s,h=i.githubUpdatedAt??null,m=void 0===i.runAttempt?l?.runAttempt??null:i.runAttempt,f=void 0!==i.jobs?JSON.stringify(i.jobs):l&&(m??0)<=(l.runAttempt??0)?l.jobsJson:"[]",g=!!u||(!1===i.isCurrent?l?.isCurrent??!1:i.isCurrent??l?.isCurrent??!0);if(l){c.add(l.id);let t=eR(l),a=ev({runAttempt:l.runAttempt,githubUpdatedAt:l.githubUpdatedAt,source:ex(l.source),optimisticUntil:l.optimisticUntil,status:ek(l.status)?l.status:"NONE"},{runAttempt:m,githubUpdatedAt:h,source:i.source,status:i.status},n),s=!!(!a&&"MUTATION"===l.source&&l.optimisticUntil&&l.optimisticUntil.getTime()>n.getTime()&&"MUTATION"!==i.source);t!==eR(l=await r.gitHubPipelineRecord.update({where:{id:l.id},data:a?{identityKey:e,githubPipelineId:i.id,name:i.name,status:i.status,url:void 0===i.url?l.url:i.url,checkSuiteId:void 0===i.checkSuiteId?l.checkSuiteId:i.checkSuiteId,workflowRunId:void 0===i.workflowRunId?l.workflowRunId:i.workflowRunId,workflowId:void 0===i.workflowId?l.workflowId:i.workflowId,runNumber:void 0===i.runNumber?l.runNumber:i.runNumber,runAttempt:m,canRetry:void 0===i.canRetry?l.canRetry:i.canRetry,retryUnavailableReason:void 0===i.retryUnavailableReason?l.retryUnavailableReason:i.retryUnavailableReason,jobsJson:f,source:i.source,githubUpdatedAt:h,sourceFetchedAt:p,lastObservedAt:n,optimisticUntil:void 0===i.optimisticUntil?l.optimisticUntil:i.optimisticUntil,isCurrent:g}:{lastObservedAt:n,...void 0!==i.jobs&&!s?{jobsJson:f}:{},...u?{isCurrent:!0}:{}}}))&&(d=l.id)}else d=(l=await r.gitHubPipelineRecord.create({data:{id:(0,t.randomUUID)(),snapshotId:o.id,identityKey:e,githubPipelineId:i.id,name:i.name,status:i.status,url:i.url??null,checkSuiteId:i.checkSuiteId??null,workflowRunId:i.workflowRunId??null,workflowId:i.workflowId??null,runNumber:i.runNumber??null,runAttempt:m,canRetry:i.canRetry??!1,retryUnavailableReason:i.retryUnavailableReason??null,jobsJson:f,source:i.source,githubUpdatedAt:h,sourceFetchedAt:p,lastObservedAt:n,optimisticUntil:i.optimisticUntil??null,isCurrent:g}})).id;c.add(l.id)}if(u)for(let e of(await r.gitHubPipelineRecord.findMany({where:{snapshotId:o.id,isCurrent:!0}})))!c.has(e.id)&&e.sourceFetchedAt.getTime()<=s.getTime()&&(!e.optimisticUntil||e.optimisticUntil.getTime()<=n.getTime())&&(await r.gitHubPipelineRecord.update({where:{id:e.id},data:{isCurrent:!1}}),d??=e.id);let p=await r.gitHubPipelineRecord.findMany({where:{snapshotId:o.id}}),h=u?e.graphqlRollupStatus??null:o.graphqlRollupStatus,m=ey(p.filter(e=>e.isCurrent).map(e=>ek(e.status)?e.status:"NONE"),h&&eS(h)?h:null),f=l!==eT(o=await r.gitHubPipelineSnapshot.update({where:{id:o.id},data:{repositoryNameWithOwner:e.repositoryNameWithOwner,repositoryUrl:e.repositoryUrl,pipelineStatus:m,graphqlRollupStatus:h,lastGraphqlSyncAt:u?s:o.lastGraphqlSyncAt,lastObservedAt:n},include:{records:!0}}))||null!==d;f&&(o=await r.gitHubPipelineSnapshot.update({where:{id:o.id},data:{revision:{increment:1}},include:{records:!0}}));let g=o,y=d?g.records.find(e=>e.id===d)??null:null;return{changed:f,change:{snapshot:eC(g),changedPipeline:y?e_(g,y):null}}});return l.changed&&ep.agentEventBus.publish(ep.GITHUB_PIPELINE_STATUS_CHANGED_TOPIC,{githubPipelineStatusChanged:l.change}),this.pruneIfNeeded().catch(()=>void 0),l.change}subscribe(){return ep.agentEventBus.iterate(ep.GITHUB_PIPELINE_STATUS_CHANGED_TOPIC)}async pruneIfNeeded(){let e=Date.now();if(e-this.lastPrunedAt<864e5)return;this.lastPrunedAt=e;let t=await (0,r.getPrismaClient)();await t.gitHubPipelineSnapshot.deleteMany({where:{lastObservedAt:{lt:new Date(e-2592e6)}}})}}e.s(["GitHubPipelineStatusService",0,eD],963910);let eN=/^[_A-Za-z][_0-9A-Za-z]*$/,eO=new Map([["GitHubWorktreePullRequestStatuses",60]]),eP=[{window:"5m",milliseconds:3e5},{window:"10m",milliseconds:6e5},{window:"1h",milliseconds:36e5},{window:"24h",milliseconds:864e5}];function e$(e){return JSON.stringify(function e(t){return Array.isArray(t)?t.map(e):t&&"object"==typeof t?Object.fromEntries(Object.keys(t).sort().map(r=>[r,e(t[r])])):t}(e))}let eU=/(?:authorization|password|private.?key|secret|token)$/i;function eB(e,t=""){return eU.test(t)?"[REDACTED]":Array.isArray(e)?e.map(e=>eB(e)):e&&"object"==typeof e?Object.fromEntries(Object.entries(e).map(([e,t])=>[e,eB(t,e)])):e}function ej(e){try{return JSON.parse(e)}catch{return null}}function eL(e){return e&&"object"==typeof e?{statusCode:"number"==typeof e.statusCode?e.statusCode:null,rateLimit:e.rateLimit&&"object"==typeof e.rateLimit?e.rateLimit:null}:{statusCode:null,rateLimit:null}}class eq{recordCallLogs;inFlight;cacheWrites;cacheGeneration;lastPrunedAt;constructor(e="true"!==process.env.GITHUB_CACHE_LOGGING_DISABLED){this.recordCallLogs=e,this.inFlight=new Map,this.cacheWrites=new Set,this.cacheGeneration=0,this.lastPrunedAt=0}cacheKey(e){return(0,t.createHash)("sha256").update(e$({authentication:e.authentication,endpoint:e.endpoint,query:e.normalizedQuery,variables:e.variables})).digest("hex")}inFlightKey(e,t,r){return[r,e,!0===t.force?"force":"normal",!1===t.allowStaleOnError?"strict":"stale"].join(":")}async defaultTtlSeconds(){let e=await (0,r.getPrismaClient)();return(await e.gitHubSettings.upsert({where:{id:"default"},create:{id:"default",cacheTtlSeconds:300},update:{}})).cacheTtlSeconds}async effectiveTtlSeconds(e){let t=await (0,r.getPrismaClient)(),[i,a]=await Promise.all([t.gitHubGraphqlCacheTtlOverride.findUnique({where:{operation:e}}),this.defaultTtlSeconds()]);return i?.ttlSeconds??a}async query(e){let i=this.cacheGeneration,a=await (0,r.getPrismaClient)(),n=this.cacheKey(e),s=this.inFlightKey(n,e,i),o=Date.now(),[l,u,c]=await Promise.all([a.gitHubGraphqlCacheEntry.findUnique({where:{cacheKey:n}}),this.effectiveTtlSeconds(e.operation),a.gitHubRateLimitSnapshot.findUnique({where:{authentication_resource:{authentication:e.authentication,resource:"graphql"}}})]);if(i!==this.cacheGeneration)return this.query(e);let d=null!==l&&Date.now()-l.fetchedAt.getTime()<1e3*u;if(!e.force&&d)return(await this.log({...this.graphqlContext(e),authentication:e.authentication,operation:e.operation,source:"CACHE",durationMs:Date.now()-o,pointCost:0,pointsAvoided:l.pointCost??0}).catch(()=>void 0),i!==this.cacheGeneration)?this.query(e):{data:ej(l.responseJson),source:"CACHE",stale:!1,fetchedAt:l.fetchedAt,entryId:l.id,pointCost:l.pointCost};let p=this.inFlight.get(s);if(p){let t=await p;return i!==this.cacheGeneration||(await this.log({...this.graphqlContext(e),authentication:e.authentication,operation:e.operation,source:"CACHE",durationMs:Date.now()-o,pointCost:0,pointsAvoided:t.pointCost??0}).catch(()=>void 0),i!==this.cacheGeneration)?this.query(e):{...t,source:"CACHE"}}if(c?.remaining===0&&c.resetAt.getTime()>Date.now()){let t=`GitHub GraphQL rate limit is exhausted until ${c.resetAt.toISOString()}`,r=null!==l&&!1!==e.allowStaleOnError;if(await this.log({...this.graphqlContext(e),authentication:e.authentication,operation:e.operation,source:"ERROR",durationMs:Date.now()-o,error:t,servedStale:r,pointCost:0,pointsAvoided:r?l.pointCost??0:0,rateLimit:{limit:c.limit,remaining:c.remaining,used:c.used,resetAt:c.resetAt,resource:c.resource}}).catch(()=>void 0),i!==this.cacheGeneration)return this.query(e);if(r)return{data:ej(l.responseJson),source:"ERROR",stale:!0,fetchedAt:l.fetchedAt,entryId:l.id,pointCost:l.pointCost};throw Error(t)}let h=(async()=>{try{let r=await e.fetcher(),s=new Date,l=null;if(i===this.cacheGeneration){let i=a.gitHubGraphqlCacheEntry.upsert({where:{cacheKey:n},create:{id:(0,t.randomUUID)(),cacheKey:n,authentication:e.authentication,endpoint:e.endpoint,operation:e.operation,query:e.query,variablesJson:e$(e.variables),responseJson:JSON.stringify(r.data),fetchedAt:s,pointCost:r.pointCost},update:{operation:e.operation,query:e.query,variablesJson:e$(e.variables),responseJson:JSON.stringify(r.data),fetchedAt:s,pointCost:r.pointCost}});this.cacheWrites.add(i);try{l=await i}finally{this.cacheWrites.delete(i)}}return await this.log({...this.graphqlContext(e),authentication:e.authentication,operation:e.operation,source:"LIVE",durationMs:Date.now()-o,statusCode:r.statusCode,pointCost:r.pointCost,rateLimit:r.rateLimit}).catch(()=>void 0),{data:r.data,source:"LIVE",stale:!1,fetchedAt:s,entryId:i===this.cacheGeneration?l?.id??null:null,pointCost:r.pointCost}}catch(a){let t=eL(a),r=i===this.cacheGeneration&&null!==l&&!1!==e.allowStaleOnError;if(await this.log({...this.graphqlContext(e),authentication:e.authentication,operation:e.operation,source:"ERROR",durationMs:Date.now()-o,statusCode:t.statusCode,error:a instanceof Error?a.message:String(a),servedStale:r,pointsAvoided:r?l?.pointCost??0:0,rateLimit:t.rateLimit}).catch(()=>void 0),i!==this.cacheGeneration)throw a;if(r)return{data:ej(l.responseJson),source:"ERROR",stale:!0,fetchedAt:l.fetchedAt,entryId:l.id,pointCost:l.pointCost};throw a}})();this.inFlight.set(s,h);try{return await h}finally{this.inFlight.get(s)===h&&this.inFlight.delete(s)}}async mutation(e){let t,r=Date.now();try{t=await e.fetcher()}catch(i){let t=eL(i);throw await this.log({...this.graphqlContext(e),authentication:e.authentication,operation:e.operation,source:"ERROR",durationMs:Date.now()-r,statusCode:t.statusCode,error:i instanceof Error?i.message:String(i),rateLimit:t.rateLimit}).catch(()=>void 0),i}return await this.clear(),await this.log({...this.graphqlContext(e),authentication:e.authentication,operation:e.operation,source:"LIVE",durationMs:Date.now()-r,statusCode:t.statusCode,pointCost:null,rateLimit:t.rateLimit}).catch(()=>void 0),t.data}async updateTtl(e,t){if(!Number.isInteger(e)||e<1||e>1440)throw Error("Cache TTL must be an integer from 1 to 1440 minutes");let i=await (0,r.getPrismaClient)();return await i.gitHubSettings.upsert({where:{id:"default"},create:{id:"default",cacheTtlSeconds:60*e},update:{cacheTtlSeconds:60*e}}),t()}async ttlOverrides(){let e=await (0,r.getPrismaClient)();return(await e.gitHubGraphqlCacheTtlOverride.findMany({orderBy:{operation:"asc"}})).map(e=>({operation:e.operation,ttlSeconds:e.ttlSeconds,builtIn:eO.has(e.operation),createdAt:e.createdAt.toISOString(),updatedAt:e.updatedAt.toISOString()}))}async cacheableOperations(){let e=await (0,r.getPrismaClient)(),[t,i]=await Promise.all([e.gitHubGraphqlCacheTtlOverride.findMany({select:{operation:!0}}),e.gitHubGraphqlCacheEntry.findMany({distinct:["operation"],select:{operation:!0}})]);return[...new Set([...eO.keys(),...t.map(({operation:e})=>e),...i.map(({operation:e})=>e)])].sort((e,t)=>e.localeCompare(t))}async saveTtlOverride(e,t){let i=e.trim();if(!eN.test(i))throw Error("Operation must be a valid GraphQL operation name");if(!Number.isInteger(t)||t<1||t>86400)throw Error("Cache TTL must be an integer from 1 to 86400 seconds");let a=await (0,r.getPrismaClient)(),n=await a.gitHubGraphqlCacheTtlOverride.upsert({where:{operation:i},create:{operation:i,ttlSeconds:t},update:{ttlSeconds:t}});return{operation:n.operation,ttlSeconds:n.ttlSeconds,builtIn:eO.has(n.operation),createdAt:n.createdAt.toISOString(),updatedAt:n.updatedAt.toISOString()}}async deleteTtlOverride(e){let t=e.trim();if(eO.has(t))throw Error("Built-in cache TTL overrides cannot be deleted");let i=await (0,r.getPrismaClient)();return(await i.gitHubGraphqlCacheTtlOverride.deleteMany({where:{operation:t}})).count>0}async recordRestCall(e){let t=e.endpoint,r={};try{let i=new URL(e.endpoint);t=i.pathname,r={path:i.pathname,query:Object.fromEntries(i.searchParams)}}catch{r={endpoint:e.endpoint}}await this.log({authentication:e.authentication,apiType:"REST",method:e.method.toUpperCase(),endpoint:e.endpoint,operation:e.operation,requestSource:e.requestSource,requestSummary:`${e.method.toUpperCase()} ${t}`,variables:r,source:e.error?"ERROR":"LIVE",durationMs:e.durationMs,statusCode:e.statusCode,error:e.error,pointCost:1,rateLimit:e.rateLimit})}async recordGraphqlTransportCall(e){await this.log({...this.graphqlContext(e),authentication:e.authentication,operation:e.operation,requestSource:e.requestSource,source:e.error?"ERROR":"LIVE",durationMs:e.durationMs,statusCode:e.statusCode,error:e.error,rateLimit:e.rateLimit})}async clear(){let{cacheWrites:e}=this.beginInvalidation();await Promise.allSettled(e);let t=await (0,r.getPrismaClient)();return await t.gitHubGraphqlCacheEntry.deleteMany(),!0}async clearForCredentialChange(e){let{cacheWrites:t,inFlight:i}=this.beginInvalidation();await Promise.allSettled(t);let a=await (0,r.getPrismaClient)();return await a.gitHubGraphqlCacheEntry.deleteMany(),await Promise.allSettled(i),await a.gitHubRateLimitSnapshot.deleteMany({where:{authentication:e}}),!0}async clearCalls(){let e=await (0,r.getPrismaClient)();return await e.gitHubApiCallLog.deleteMany(),!0}async delete(e){let t=await (0,r.getPrismaClient)();return(await t.gitHubGraphqlCacheEntry.deleteMany({where:{id:e}})).count>0}async entries(e=50,t=0){let i=this.pagination(e,t),a=await (0,r.getPrismaClient)(),[n,s,o,l]=await Promise.all([a.gitHubGraphqlCacheEntry.findMany({take:i.limit,skip:i.offset,orderBy:{fetchedAt:"desc"}}),a.gitHubGraphqlCacheEntry.count(),this.defaultTtlSeconds(),a.gitHubGraphqlCacheTtlOverride.findMany({select:{operation:!0,ttlSeconds:!0}})]),u=new Map(l.map(({operation:e,ttlSeconds:t})=>[e,t]));return{...i,total:s,items:n.map(e=>this.entryView(e,u.get(e.operation)??o))}}async entry(e){let t=await (0,r.getPrismaClient)(),i=await t.gitHubGraphqlCacheEntry.findUnique({where:{id:e}});if(!i)return null;let a=await this.effectiveTtlSeconds(i.operation);return{...this.entryView(i,a),query:i.query,variables:ej(i.variablesJson),response:ej(i.responseJson)}}async calls(e=50,t=0,i={}){let a=this.pagination(e,t);await this.pruneLogs();let n=await (0,r.getPrismaClient)(),s={...i.apiType?{apiType:i.apiType}:{},...i.requestSource?{requestSource:i.requestSource}:{},...i.source?{source:i.source}:{}},[o,l]=await Promise.all([n.gitHubApiCallLog.findMany({where:s,take:a.limit,skip:a.offset,orderBy:{createdAt:"desc"}}),n.gitHubApiCallLog.count({where:s})]);return{...a,total:l,items:o.map(e=>({id:e.id,authentication:e.authentication,apiType:e.apiType,method:e.method,endpoint:e.endpoint,operation:e.operation,requestSource:e.requestSource,requestSummary:e.requestSummary,variables:ej(e.variablesJson),source:e.source,durationMs:e.durationMs,statusCode:e.statusCode,error:e.error,servedStale:e.servedStale,pointCost:e.pointCost,pointsAvoided:e.pointsAvoided,rateLimitLimit:e.rateLimitLimit,rateLimitRemaining:e.rateLimitRemaining,rateLimitUsed:e.rateLimitUsed,rateLimitResetAt:e.rateLimitResetAt?.toISOString()??null,rateLimitResource:e.rateLimitResource,createdAt:e.createdAt.toISOString()}))}}async metrics(){await this.pruneLogs();let e=await (0,r.getPrismaClient)(),t=Date.now(),i=await e.gitHubApiCallLog.findMany({where:{createdAt:{gte:new Date(t-eP.at(-1).milliseconds)}},orderBy:{createdAt:"asc"}}),a=eP.map(e=>this.metricWindow(e.window,i.filter(r=>r.createdAt.getTime()>=t-e.milliseconds)));return{windows:a,apiTypes:["GRAPHQL","REST"].map(e=>({apiType:e,windows:eP.map(r=>this.metricWindow(r.window,i.filter(i=>i.apiType===e&&i.createdAt.getTime()>=t-r.milliseconds)))})),operations:[...new Set(i.map(e=>e.operation))].sort().map(e=>({operation:e,windows:eP.map(r=>this.metricWindow(r.window,i.filter(i=>i.operation===e&&i.createdAt.getTime()>=t-r.milliseconds)))})),requestSources:[...new Set(i.map(e=>e.requestSource))].sort().map(e=>({requestSource:e,windows:eP.map(r=>this.metricWindow(r.window,i.filter(i=>i.requestSource===e&&i.createdAt.getTime()>=t-r.milliseconds)))}))}}entryView(e,t){return{id:e.id,authentication:e.authentication,operation:e.operation,endpoint:e.endpoint,fetchedAt:e.fetchedAt.toISOString(),pointCost:e.pointCost,stale:Date.now()-e.fetchedAt.getTime()>=1e3*t}}metricWindow(e,t){let r=t.length;return{window:e,total:r,live:t.filter(e=>"LIVE"===e.source).length,cache:t.filter(e=>"CACHE"===e.source).length,errors:t.filter(e=>"ERROR"===e.source).length,averageMs:0===r?0:Math.round(t.reduce((e,t)=>e+t.durationMs,0)/r),pointsUsed:t.reduce((e,t)=>e+Math.max(0,t.pointCost??0),0),pointsAvoided:t.reduce((e,t)=>e+Math.max(0,t.pointsAvoided),0)}}pagination(e,t){if(!Number.isInteger(e)||e<1||e>100)throw Error("limit must be an integer from 1 to 100");if(!Number.isInteger(t)||t<0)throw Error("offset must be a non-negative integer");return{limit:e,offset:t}}beginInvalidation(){let e=[...this.cacheWrites],t=[...new Set(this.inFlight.values())];return this.cacheGeneration+=1,this.inFlight.clear(),{cacheWrites:e,inFlight:t}}graphqlContext(e){let t=eB(e.variables);return{apiType:"GRAPHQL",method:"POST",endpoint:e.endpoint,requestSource:e.requestSource,requestSummary:function(e){if(!e||"object"!=typeof e||Array.isArray(e))return"No variables";let t=Object.entries(e);return t.length?t.map(([e,t])=>{let r=("string"==typeof t?t:JSON.stringify(t))??String(t);return`${e}=${r.length>120?`${r.slice(0,117)}…`:r}`}).join(" · "):"No variables"}(t),variables:t}}async log(e){if(!this.recordCallLogs)return;await this.pruneLogs();let i=await (0,r.getPrismaClient)();await i.gitHubApiCallLog.create({data:{id:(0,t.randomUUID)(),authentication:e.authentication,apiType:e.apiType,method:e.method,endpoint:e.endpoint,operation:e.operation,requestSource:e.requestSource,requestSummary:e.requestSummary,variablesJson:e$(eB(e.variables)),source:e.source,durationMs:Math.max(0,Math.round(e.durationMs)),statusCode:e.statusCode??null,error:e.error?.slice(0,2e3)??null,servedStale:e.servedStale??!1,pointCost:e.pointCost??null,pointsAvoided:Math.max(0,e.pointsAvoided??0),rateLimitLimit:e.rateLimit?.limit??null,rateLimitRemaining:e.rateLimit?.remaining??null,rateLimitUsed:e.rateLimit?.used??null,rateLimitResetAt:e.rateLimit?.resetAt??null,rateLimitResource:e.rateLimit?.resource??null}})}async pruneLogs(){let e=Date.now();if(e-this.lastPrunedAt<36e5)return;this.lastPrunedAt=e;let t=await (0,r.getPrismaClient)();await t.gitHubApiCallLog.deleteMany({where:{createdAt:{lt:new Date(e-2592e6)}}})}}let eM=(process.env.GITHUB_API_BASE_URL||"https://api.github.com").replace(/\/+$/,""),eF=process.env.GITHUB_GRAPHQL_URL||`${eM}/graphql`;var eK=e.i(995702),eV=e.i(151112),eG=e.i(312851);let eH="_adeRateLimit";function eW(e){let t=(0,eV.parse)(e),r=t.definitions.filter(e=>e.kind===eK.Kind.OPERATION_DEFINITION);if(1!==r.length||!r[0])throw Error("GitHub GraphQL requests must contain one operation");let i=r[0],a=i.name?.value??("mutation"===i.operation?"AnonymousMutation":"AnonymousQuery"),n=(0,eG.print)(t);if("query"!==i.operation)return{kind:"mutation",operation:a,normalizedQuery:n,liveQuery:n};let s={...t,definitions:t.definitions.map(e=>e===i?{...i,selectionSet:{...i.selectionSet,selections:[...i.selectionSet.selections,{kind:eK.Kind.FIELD,alias:{kind:eK.Kind.NAME,value:eH},name:{kind:eK.Kind.NAME,value:"rateLimit"},arguments:[],directives:[],selectionSet:{kind:eK.Kind.SELECTION_SET,selections:[{kind:eK.Kind.FIELD,name:{kind:eK.Kind.NAME,value:"cost"},arguments:[],directives:[]}]}}]}}:e)};return{kind:"query",operation:a,normalizedQuery:n,liveQuery:(0,eG.print)(s)}}function eJ(e){if(!e||"object"!=typeof e||Array.isArray(e))return{data:e,pointCost:null};let t=e[eH],r=t&&"object"==typeof t&&!Array.isArray(t)&&Number.isSafeInteger(t.cost)?t.cost:null;if(!(eH in e))return{data:e,pointCost:r};let i={...e};return delete i[eH],{data:i,pointCost:r}}let ez="default",eZ="default",eY=String.raw`\b([A-Z][A-Z0-9_]*-\d+)\b`,eQ=["workflow_run","workflow_job","check_run","check_suite","status"];function eX(e){return"read"===e||"write"===e}function e0(e){let t=[];for(let r of(e.webhookConfigured||t.push("configure the signed webhook URL"),eX(e.actionsPermission)||t.push("grant Actions read permission"),eX(e.checksPermission)||t.push("grant Checks read permission"),eX(e.commitStatusesPermission)||t.push("grant Commit statuses read permission"),eQ))e.webhookEvents.includes(r)||t.push(`subscribe to the ${r} event`);return t}function e1(e){return"auto-retry"===e.actor?"AUTO_RETRY":"workflow"===e.actor?"WORKFLOW_AUTOMATION":"ACTIONS_PAGE"}class e2 extends Error{statusCode;rateLimit;constructor(e,t,r){super(e),this.statusCode=t,this.rateLimit=r,this.name="GitHubRequestError"}}let e3=`
2
2
  __typename
3
3
  ... on CheckRun {
4
4
  id
@@ -589,7 +589,7 @@ ${i}
589
589
  ${i}
590
590
  ~~~`}},sE=class{constructor(){(0,tG.__publicField)(this,"nodeType","blockquote")}toMarkdown(e,t){if(!e.content||0===e.content.length)return"> ";let r=e.content.map(r=>{let i=t.options.registry?.getNodeConverter(r.type);return i?i.toMarkdown(r,{...t,depth:t.depth+1,parent:e}):""}).join("\n").split("\n").map(e=>""===e.trim()?">":`> ${e}`);if(e.attrs&&Object.keys(e.attrs).length>0){let t=r.join("\n");return`${t}<!-- adf:blockquote attrs='${JSON.stringify(e.attrs)}' -->`}return r.join("\n")}},sI=class{constructor(){(0,tG.__publicField)(this,"nodeType","rule")}toMarkdown(e,t){return"---"}},sx=class{constructor(){(0,tG.__publicField)(this,"nodeType","hardBreak")}toMarkdown(e,t){return" \n"}},sA=class{constructor(){(0,tG.__publicField)(this,"nodeType","mention")}toMarkdown(e,t){let{id:r,text:i,userType:a}=e.attrs||{},n=`adf://mention/${r||"unknown"}`,s=i||`@${r||"unknown"}`;if(e.attrs&&Object.keys(e.attrs).length>0){let t=`<!-- adf:mention attrs='${JSON.stringify(e.attrs)}' -->`;return`[${s}](${n})${t}`}return`[${s}](${n})`}},s_=class{constructor(){(0,tG.__publicField)(this,"nodeType","date")}toMarkdown(e,t){let{timestamp:r}=e.attrs||{};if(!r)return"[Date]";let i=new Date(parseInt(r));if(isNaN(i.getTime())){if(e.attrs&&Object.keys(e.attrs).length>0){let t=`<!-- adf:date attrs='${JSON.stringify(e.attrs)}' -->`;return`[Invalid Date]${t}`}return"[Invalid Date]"}let a=i.toISOString().split("T")[0];if(e.attrs&&Object.keys(e.attrs).length>0){let t=`<!-- adf:date attrs='${JSON.stringify(e.attrs)}' -->`;return`${a}${t}`}return a}},sC=class{constructor(){(0,tG.__publicField)(this,"nodeType","emoji")}toMarkdown(e,t){let{shortName:r,text:i}=e.attrs||{};if(i){if(e.attrs&&Object.keys(e.attrs).length>0){let t=`<!-- adf:emoji attrs='${JSON.stringify(e.attrs)}' -->`;return`${i}${t}`}return i}if(r){let t=r.startsWith(":")&&r.endsWith(":")?r:`:${r}:`;if(e.attrs&&Object.keys(e.attrs).length>0){let r=`<!-- adf:emoji attrs='${JSON.stringify(e.attrs)}' -->`;return`${t}${r}`}return t}return":emoji:"}},sR=class{constructor(){(0,tG.__publicField)(this,"nodeType","status")}toMarkdown(e,t){let{text:r,color:i}=e.attrs||{},a=r||"Status";return i&&"neutral"!==i?`{status:${a}|color:${i}}`:`{status:${a}}`}},sT=class{constructor(){(0,tG.__publicField)(this,"nodeType","inlineCard")}toMarkdown(e,t){let{url:r,data:i}=e.attrs||{};if(!r)return"[Card]";let a=i?.title||i?.name||"Card",n=`adf://card/${encodeURIComponent(r)}`;if(e.attrs&&Object.keys(e.attrs).length>0){let t=`<!-- adf:inlineCard attrs='${JSON.stringify(e.attrs)}' -->`;return`[${a}](${n})${t}`}return`[${a}](${n})`}},sD=class{constructor(){(0,tG.__publicField)(this,"nodeType","mediaGroup")}toMarkdown(e,t){return(e.content||[]).map(e=>{let r=t.options.registry?.getNodeConverter(e.type);return r?r.toMarkdown(e,t):""}).filter(e=>e.length>0).join(" ")+"\n\n"}},sN=class{constructor(){(0,tG.__publicField)(this,"nodeType","doc")}toMarkdown(e,t){let r=e.content||[];return t.convertChildren(r).trim()+"\n"}},sO=class{constructor(){(0,tG.__publicField)(this,"markType","strong")}toMarkdown(e,t,r){return t.attrs&&Object.keys(t.attrs).length>0?`**${e}**<!-- adf:strong attrs='${JSON.stringify(t.attrs)}' -->`:`**${e}**`}},sP=class{constructor(){(0,tG.__publicField)(this,"markType","em")}toMarkdown(e,t,r){return t.attrs&&Object.keys(t.attrs).length>0?`*${e}*<!-- adf:em attrs='${JSON.stringify(t.attrs)}' -->`:`*${e}*`}},s$=class{constructor(){(0,tG.__publicField)(this,"markType","code")}toMarkdown(e,t,r){return t.attrs&&Object.keys(t.attrs).length>0?`\`${e}\`<!-- adf:code attrs='${JSON.stringify(t.attrs)}' -->`:`\`${e}\``}},sU=class{constructor(){(0,tG.__publicField)(this,"markType","link")}toMarkdown(e,t,r){let i;if(!t.attrs?.href)return e;let{href:a,title:n,...s}=t.attrs;return i=n?`[${e}](${a} "${n}")`:`[${e}](${a})`,Object.keys(s).length>0&&(i+=`<!-- adf:link attrs='${JSON.stringify(s)}' -->`),i}},sB=class{constructor(){(0,tG.__publicField)(this,"markType","strike")}toMarkdown(e,t,r){return t.attrs&&Object.keys(t.attrs).length>0?`~~${e}~~<!-- adf:strike attrs='${JSON.stringify(t.attrs)}' -->`:`~~${e}~~`}},sj=class{constructor(){(0,tG.__publicField)(this,"markType","underline")}toMarkdown(e,t,r){let i=`<u>${e}</u>`;return t.attrs&&Object.keys(t.attrs).length>0?`${i}<!-- adf:underline attrs='${JSON.stringify(t.attrs)}' -->`:i}},sL=class{constructor(){(0,tG.__publicField)(this,"markType","textColor")}toMarkdown(e,t,r){if(!t.attrs?.color)return e;let{color:i,...a}=t.attrs,n=`<span style="color: ${i}">${e}</span>`;return Object.keys(a).length>0&&(n+=`<!-- adf:textColor attrs='${JSON.stringify(a)}' -->`),n}},sq=class{constructor(){(0,tG.__publicField)(this,"markType","backgroundColor")}toMarkdown(e,t,r){let{color:i}=t.attrs||{},a=`<mark style="background-color: ${i||"yellow"}">${e}</mark>`;if(t.attrs&&Object.keys(t.attrs).length>0){let e=`<!-- adf:backgroundColor attrs='${JSON.stringify(t.attrs)}' -->`;return`${a}${e}`}return a}},sM=class{constructor(){(0,tG.__publicField)(this,"markType","subsup")}toMarkdown(e,t,r){let i,{type:a}=t.attrs||{};if(i="sub"===a?`<sub>${e}</sub>`:`<sup>${e}</sup>`,t.attrs&&Object.keys(t.attrs).length>0){let e=`<!-- adf:subsup attrs='${JSON.stringify(t.attrs)}' -->`;return`${i}${e}`}return i}},sF=class{constructor(e={}){(0,tG.__publicField)(this,"registry"),(0,tG.__publicField)(this,"validator"),(0,tG.__publicField)(this,"options"),this.options={strict:!1,gfm:!0,frontmatter:!0,enableAdfExtensions:!0,maxDepth:5,enableLogging:!1,preserveWhitespace:!1,validateInput:!1,preserveUnknownNodes:!0,maxRetries:3,retryDelay:100,fallbackStrategy:"best-effort",...e},this.registry=new nY,this.validator=new nH,this.registerConverters()}convert(e){if(!e||"object"!=typeof e){if(this.options.strict)throw Error("Invalid ADF document: must be a non-null object");return""}if("doc"!==e.type&&this.options.strict)throw Error('Invalid ADF document: root node must be of type "doc"');try{let t=this.validator.validate(e);if(!t.valid&&this.options.strict)throw Error(`Invalid ADF structure: ${t.errors.map(e=>e.message).join(", ")}`);return this.convertAdfToMarkdown(e)}catch(e){if(this.options.strict)throw e;return this.options.enableLogging&&console.warn("ADF to Markdown conversion failed, returning empty string:",e),""}}convertWithValidation(e){let t=[],r=this.validator.validate(e);if(!r.valid){if(this.options.strict)throw Error(`Invalid ADF structure: ${r.errors.map(e=>e.message).join(", ")}`);t.push(...r.errors.map(e=>e.message))}try{return{markdown:this.convertAdfToMarkdown(e),warnings:t}}catch(e){if(this.options.strict)throw e;return t.push(`Conversion failed: ${e instanceof Error?e.message:"Unknown error"}`),{markdown:"",warnings:t}}}getStats(e){let t={nodeCount:0,hasAdfExtensions:!1,hasGfmFeatures:!1,supportedTypes:new Set,unsupportedTypes:new Set},r=e=>{t.nodeCount++;try{this.registry.getNodeConverter(e.type),t.supportedTypes.add(e.type)}catch{t.unsupportedTypes.add(e.type)}["panel","expand","mediaSingle","mediaGroup","mention","emoji","date","status"].includes(e.type)&&(t.hasAdfExtensions=!0),["table","tableRow","tableHeader","tableCell"].includes(e.type)&&(t.hasGfmFeatures=!0),e.content&&Array.isArray(e.content)&&e.content.forEach(r)};e.content&&e.content.forEach(r);let i=t.nodeCount<10?"simple":t.nodeCount<50?"moderate":"complex";return{nodeCount:t.nodeCount,hasAdfExtensions:t.hasAdfExtensions,hasGfmFeatures:t.hasGfmFeatures,complexity:i,supportedTypes:Array.from(t.supportedTypes),unsupportedTypes:Array.from(t.unsupportedTypes)}}registerConverters(){this.registry.registerNodes([new so,new sl,new su,new sc,new sd,new sp,new sh,new sm,new sf,new sg,new sy,new sw,new sb,new sv,new sk,new sS,new sE,new sI,new sx,new sA,new s_,new sC,new sR,new sT,new sD,new sN]),this.registry.registerMarks([new sO,new sP,new s$,new sU,new sB,new sj,new sL,new sq,new sM])}convertAdfToMarkdown(e){let t={convertChildren:e=>Array.isArray(e)?e.map(e=>{try{return this.registry.getNodeConverter(e.type).toMarkdown(e,t)}catch(t){return this.options.enableLogging&&console.warn(`Failed to convert node type "${e.type}":`,t),this.options.preserveUnknownNodes?`<!-- Unknown node: ${e.type} -->`:""}}).join(""):"",depth:0,options:{...this.options,registry:this.registry}};return e.content&&Array.isArray(e.content)?e.content.map(e=>{try{return this.registry.getNodeConverter(e.type).toMarkdown(e,t)}catch(t){return this.options.enableLogging&&console.warn(`Failed to convert node type "${e.type}":`,t),this.options.preserveUnknownNodes?`<!-- Unknown node: ${e.type} -->`:""}}).filter(e=>e.length>0).join("\n\n"):""}},sK=class{constructor(e={}){(0,tG.__publicField)(this,"options"),this.options={maxRetries:3,retryDelay:100,fallbackStrategy:"best-effort",onError:()=>{},onRecovery:()=>{},enableLogging:!1,...e}}async executeWithRecovery(e,t){let r,i={operation:"unknown",input:"",attempt:0,previousErrors:[],...t},a=[];for(let t=0;t<=this.options.maxRetries;t++){i.attempt=t;try{let r=await e();return t>0&&this.options.onRecovery&&this.options.onRecovery("retry-success",i),{success:!0,data:r,warnings:a}}catch(e){if(r=e,i.previousErrors.push(r),this.options.onError&&this.options.onError(r,i),this.options.enableLogging&&console.warn(`Attempt ${t+1} failed:`,r.message),this.isNonRetryableError(r))break;t<this.options.maxRetries&&await this.delay(this.options.retryDelay)}}return this.applyFallbackStrategy(r,i,a)}async recoverAdfToMarkdown(e,t,r){let i=[];try{if(e.content&&Array.isArray(e.content)){let t=[];for(let r of e.content)try{let e=await this.recoverNodeConversion(r,"adf-to-markdown");e.success&&e.data?t.push(e.data):(i.push(`Failed to convert node type: ${r.type}`),t.push(this.createNodeFallback(r,"markdown")))}catch(e){i.push(`Node conversion error: ${e}`),t.push(this.createNodeFallback(r,"markdown"))}let a=t.join("\n\n");return this.options.onRecovery&&this.options.onRecovery("node-by-node-recovery",r),{success:!0,data:a,strategy:"node-by-node-recovery",fallback:!0,warnings:i}}let t=this.createMinimalMarkdown(e);return i.push("Used minimal fallback conversion"),{success:!0,data:t,strategy:"minimal-fallback",fallback:!0,warnings:i}}catch(e){return{success:!1,error:e,warnings:i}}}async recoverMarkdownToAdf(e,t,r){let i=[];try{let t=this.splitMarkdownIntoSections(e),a=[];for(let e of t)try{let t=await this.parseMarkdownSection(e);t.success&&t.data?a.push(...t.data.content):(i.push(`Failed to parse section: ${e.substring(0,50)}...`),a.push(this.createTextFallback(e)))}catch(t){i.push(`Section parsing error: ${t}`),a.push(this.createTextFallback(e))}return this.options.onRecovery&&this.options.onRecovery("section-by-section-recovery",r),{success:!0,data:{version:1,type:"doc",content:a},strategy:"section-by-section-recovery",fallback:!0,warnings:i}}catch(r){let t={version:1,type:"doc",content:[this.createTextFallback(e)]};return i.push("Used text-only fallback conversion"),{success:!0,data:t,strategy:"text-fallback",fallback:!0,warnings:i}}}async applyFallbackStrategy(e,t,r){switch(this.options.fallbackStrategy){case"skip":return r.push("Operation skipped due to errors"),{success:!1,error:e,warnings:r};case"placeholder":let i=this.createPlaceholder(t);return r.push("Used placeholder due to errors"),{success:!0,data:i,strategy:"placeholder",fallback:!0,warnings:r};case"best-effort":return await this.attemptBestEffortRecovery(e,t,r);default:return{success:!1,error:e,warnings:r}}}async attemptBestEffortRecovery(e,t,r){try{if(t.operation.includes("adfToMarkdown"))return await this.recoverAdfToMarkdown(t.input,e,t);if(t.operation.includes("markdownToAdf"))return await this.recoverMarkdownToAdf(t.input,e,t);return r.push("Applied generic fallback recovery"),{success:!1,error:e,strategy:"generic-fallback",warnings:r}}catch(e){return{success:!1,error:e,warnings:r}}}isNonRetryableError(e){return e instanceof nz||e.message.includes("Invalid JSON")||e.message.includes("Syntax error")}delay(e){return new Promise(t=>setTimeout(t,e))}async recoverNodeConversion(e,t){try{if("adf-to-markdown"===t)return{success:!0,data:this.createNodeFallback(e,"markdown"),warnings:[]};return{success:!0,data:JSON.stringify(e),warnings:[]}}catch(e){return{success:!1,error:e,warnings:[]}}}createNodeFallback(e,t){if("markdown"!==t)return JSON.stringify(e,null,2);switch(e.type){case"paragraph":return e.content?this.extractTextFromNodes(e.content):"[Paragraph]";case"heading":let r=e.attrs?.level||1,i=e.content?this.extractTextFromNodes(e.content):"[Heading]";return"#".repeat(r)+" "+i;case"codeBlock":return"```\n[Code Block]\n```";case"panel":return`> [${e.attrs?.panelType||"info"} panel]`;default:return`[${e.type}]`}}extractTextFromNodes(e){return e.map(e=>"text"===e.type&&e.text?e.text:e.content?this.extractTextFromNodes(e.content):"").join("")}createMinimalMarkdown(e){let t=e.content?e.content.map(e=>this.createNodeFallback(e,"markdown")).join("\n\n"):"[No content]";return`# Document
591
591
 
592
- ${t}`}splitMarkdownIntoSections(e){let t=e.split(/(?=^#{1,6}\s)|(?:\n\s*\n)/m).filter(e=>e.trim().length>0);return t.length>0?t:[e]}async parseMarkdownSection(e){try{let t=[this.createTextFallback(e)];return{success:!0,data:{version:1,type:"doc",content:t},warnings:[]}}catch(e){return{success:!1,error:e,warnings:[]}}}createTextFallback(e){return{type:"paragraph",content:[{type:"text",text:e.trim()}]}}createPlaceholder(e){return e.operation.includes("adfToMarkdown")?`[Error converting ADF to Markdown: ${e.operation}]`:e.operation.includes("markdownToAdf")?{version:1,type:"doc",content:[{type:"paragraph",content:[{type:"text",text:`[Error converting Markdown to ADF: ${e.operation}]`}]}]}:`[Error in operation: ${e.operation}]`}},sV=class{constructor(e){(0,tG.__publicField)(this,"mdToAdfEngine"),(0,tG.__publicField)(this,"adfToMdEngine"),(0,tG.__publicField)(this,"options"),(0,tG.__publicField)(this,"errorRecovery"),(0,tG.__publicField)(this,"remarkProcessor"),(0,tG.__publicField)(this,"registry");try{this.options=e||{},this.mdToAdfEngine=new ss(this.options),this.adfToMdEngine=new sF(this.options),this.errorRecovery=new sK({maxRetries:e?.maxRetries||3,retryDelay:e?.retryDelay||100,fallbackStrategy:e?.fallbackStrategy||"best-effort",enableLogging:e?.enableLogging||!1,onError:e?.onError,onRecovery:e?.onRecovery}),this.remarkProcessor=ri().use(iD).use(a_,["yaml"]).use(n$).use(nV,{strict:e?.strict||!1}).use(am),this.registry=new nY,this.registerConverters()}catch(e){throw new nJ("Failed to initialize Parser","INIT_ERROR")}}adfToMarkdown(e,t){return t&&Object.keys(t).length>0?new sF({...this.options,...t}).convert(e):this.adfToMdEngine.convert(e)}async adfToMarkdownWithRecovery(e,t){let r=await this.errorRecovery.executeWithRecovery(()=>this.adfToMarkdown(e,t),{operation:"adfToMarkdown",input:e,nodeType:e.type});if(!r.success)throw r.error||Error("ADF to Markdown conversion failed");return r.data}markdownToAdf(e,t){return t&&Object.keys(t).length>0?new ss({...this.options,...t}).convert(e):this.mdToAdfEngine.convert(e)}async markdownToAdfWithRecovery(e,t){let r=await this.errorRecovery.executeWithRecovery(()=>this.markdownToAdf(e,t),{operation:"markdownToAdf",input:e});if(!r.success)throw r.error||Error("Markdown to ADF conversion failed");return r.data}async markdownToAdfAsync(e,t){return await this.mdToAdfEngine.convertAsync(e)}async markdownToAdfAsyncWithRecovery(e,t){let r=await this.errorRecovery.executeWithRecovery(async()=>this.markdownToAdfAsync(e,t),{operation:"markdownToAdfAsync",input:e});if(!r.success)throw r.error||Error("Async Markdown to ADF conversion failed");return r.data}async validateMarkdownAsync(e){let t=await this.mdToAdfEngine.validate(e);return{valid:t.valid,errors:t.errors.map(e=>({message:e})),warnings:t.warnings}}async getStats(e){return await this.mdToAdfEngine.getStats(e)}stringify(e,t){return this.adfToMarkdown(e,t)}async stringifyAsync(e,t){return this.adfToMarkdownWithRecovery(e,t)}validateAdf(e){return new nH().validate(e)}validateMarkdown(e){return new nW().validate(e)}getErrorRecovery(){return this.errorRecovery}registerConverters(){this.registry.registerNodes([new so,new sl,new su,new sc,new sd,new sp,new sh,new sm,new sf,new sg,new sy,new sw,new sb,new sv,new sk,new sS,new sE,new sI,new sx,new sA,new s_,new sC,new sR,new sT,new sD,new sN]),this.registry.registerMarks([new sO,new sP,new s$,new sU,new sB,new sj,new sL,new sq,new sM])}convertAdfToMarkdown(e){return this.adfToMdEngine.convert(e)}convertMdastToAdf(e){return this.mdToAdfEngine.convert(e)}fallbackConversion(e){return this.mdToAdfEngine.convert(e)}countNodes(e){let t=0;for(let r of e)t++,r.content&&Array.isArray(r.content)&&(t+=this.countNodes(r.content));return t}postProcessAdfFenceBlocks(e){return e}parseAdfLanguageString(e,t){return{}}},sG=e.i(378731);let sH=[/^h[1-6]\.\s/m,/^bq\.\s/m,/\{code(?::[^}]+)?\}/i,/\{noformat\}/i,/\{\{[^}\n]+\}\}/,/^\|\|.+\|\|\s*$/m,/\[[^\]\n]+\|https?:\/\//i,/\[~[^\]\n]+\]/,/\[\^[^\]\n]+\]/,/![^!\n]+!/];function sW(e){return!(!e||"object"!=typeof e||Array.isArray(e))&&"doc"===e.type&&1===e.version&&Array.isArray(e.content)}function sJ(e,t){return sG.default.to_markdown(e.replace(/\[~([^\]\n]+)\]/g,"@$1").replace(/\[\^([^\]\n]+)\]/g,"[Attachment: $1]").replace(/\[([A-Z][A-Z0-9_]*-\d+)\]/g,(e,r)=>t?`[${r}](${t}/browse/${r})`:`**${r}**`))}let sz=new sV;function sZ(e,t){if(null==e)return null;let r=function(e){if(sW(e))return"ADF";let t="string"==typeof e?e:"";return sH.some(e=>e.test(t))?"JIRA_WIKI":"MARKDOWN"}(e),i="string"==typeof e?e:null==e?"":JSON.stringify(e,null,2),a="ADF"===r?function(e){try{return sz.adfToMarkdown(e)}catch{return function e(t){return t&&"object"==typeof t?["string"==typeof t.text?t.text:"",...Array.isArray(t.content)?t.content.map(e).filter(Boolean):[]].filter(Boolean).join("\n"):""}(e)}}(e):"JIRA_WIKI"===r?sJ(i,t):i;return{format:r,raw:e,rawText:i,markdown:a,wikiMarkup:"JIRA_WIKI"===r?i:sG.default.to_jira(a)}}function sY(e){let t=e.value.trim(),r="JIRA_WIKI"===e.format?sJ(t):t,i=sz.markdownToAdf(r);if(!sW(i))throw Error("The Jira text could not be converted to valid ADF");return i}let sQ="default",sX=["summary","status","issuetype","priority","assignee","project","updated"],s0=[{window:"5m",milliseconds:3e5},{window:"10m",milliseconds:6e5},{window:"1h",milliseconds:36e5},{window:"24h",milliseconds:864e5}];function s1(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function s2(e){return s1(e)?e:{}}function s3(e){return Array.isArray(e)?e:[]}function s4(e){return"string"==typeof e&&e.length>0?e:null}function s6(e){return"number"==typeof e&&Number.isFinite(e)?e:null}function s8(e){let t=e.trim().toUpperCase();if(!/^[A-Z][A-Z0-9_]*-\d+$/.test(t))throw Error("Invalid Jira issue key");return t}function s5(e){if(null===e)return null;try{return JSON.parse(e)}catch{return null}}function s9(e){return s3(s5(e)).flatMap(e=>"string"==typeof e&&e.length>0?[e]:[])}function s7(e){return JSON.stringify(function e(t){return Array.isArray(t)?t.map(e):s1(t)?Object.fromEntries(Object.keys(t).sort().map(r=>[r,e(t[r])])):t}(e))}function oe(e){if(!s1(e))return null;let t=e.status??s2(e.response).status;return"number"==typeof t?t:null}function ot(e,t){let r=e instanceof Error?e.message:String(e);return(t?r.replaceAll(t,"[REDACTED]"):r).slice(0,1e3)}function or(e){return s4(s2(s2(e.fields).project).key)??(e.key?.split("-")[0]||"UNKNOWN")}function oi(e){let t=s2(e),r=s4(t.displayName);if(!r)return null;let i=s2(t.avatarUrls);return{accountId:s4(t.accountId),displayName:r,avatarUrl:s4(i["48x48"])??s4(i["32x32"])??s4(i["24x24"])}}function oa(e){return s3(e).map(s2).map(e=>({id:s4(e.id),name:s4(e.name)??"Unknown"}))}function on(e,t){let r=s2(e),i=s4(r.key);if(!i)return null;let a=s2(r.fields);return{relationship:t,key:i,summary:s4(a.summary)??i,status:s4(s2(a.status).name)}}function os(e){return{...e,kind:"BOARD"===e.kind?"BOARD":"JQL"}}function oo(e){return{source:e.source,stale:e.stale,fetchedAt:e.fetchedAt.toISOString()}}function ol(e){return 0===e.length?{source:"CACHE",stale:!1,fetchedAt:new Date(0).toISOString()}:{source:e.some(e=>"ERROR"===e.source)?"ERROR":e.some(e=>"LIVE"===e.source)?"LIVE":"CACHE",stale:e.some(e=>e.stale),fetchedAt:new Date(Math.max(...e.map(e=>e.fetchedAt.getTime()))).toISOString()}}function ou(e){let t=s2(e.fields),r=s2(t.status),i=s2(r.statusCategory),a=s2(t.assignee),n=s2(a.avatarUrls),s=s2(t.project),o=e.key??"UNKNOWN";return{id:e.id??o,key:o,summary:s4(t.summary)??o,statusId:s4(r.id)??s4(r.name)??"unknown",status:s4(r.name)??"Unknown",statusCategory:s4(i.key)??s4(i.name)??"unknown",issueType:s4(s2(t.issuetype).name),priority:s4(s2(t.priority).name),assignee:s4(a.displayName),assigneeAccountId:s4(a.accountId),assigneeAvatarUrl:s4(n["48x48"])??s4(n["32x32"]),projectKey:s4(s.key)??or(e),updatedAt:s4(t.updated)}}function oc(e){let t=e.toLowerCase();return"new"===t||t.includes("to do")?0:"indeterminate"===t||t.includes("progress")?1:"done"===t?2:3}let od=new Set(["ALL","UNASSIGNED_OR_SELF","SELF_IN_PROGRESS"]);function op(e){return od.has(e)?e:"ALL"}e.s(["JiraService",0,class{credentials;workflowEvents;inFlight;clients;lastPrunedAt;constructor(e=new tO.CredentialService,t){this.credentials=e,this.workflowEvents=t,this.inFlight=new Map,this.lastPrunedAt=0}async recordTicketWorkflowEvents(e,t){if(!this.workflowEvents)return;let r=e.comments.at(-1)??null,i={ticket:{key:e.key,title:e.summary,type:e.issueType,status:e.status,statusId:e.statusId,statusCategory:e.statusCategory,assignee:e.assignee,assigneeAccountId:e.assigneeAccountId,labels:e.labels,sprintNames:e.sprintNames,activeSprintNames:e.activeSprintNames,closedSprintNames:e.closedSprintNames,url:e.jiraUrl},comment:r?{id:r.id,body:r.content?.rawText??"",author:r.author}:null,...void 0!==t?{changelog:t}:{}},a=e.cache.fetchedAt,n=e.assigneeAccountId?await this.currentAccountId().catch(()=>null):null,s=[["JIRA_STATUS",e.statusId],["JIRA_LABEL",JSON.stringify([...e.labels].sort())],["JIRA_MENTION",r?.id??"none"],["JIRA_SPRINT_STARTED",[...e.activeSprintNames].sort()],["JIRA_TICKET_UPDATED",e.updatedAt??"unknown"],["JIRA_COMMENT_ADDED",r?.id??"none"],["JIRA_SPRINT_ENDED",[...e.closedSprintNames].sort()]];if(n&&n===e.assigneeAccountId&&s.push(["JIRA_ASSIGNED_SELF",n]),t?.items.length){let e=new Set(t.items.flatMap(e=>[e.fieldId,e.field].filter(e=>!!e).map(e=>e.trim().toLowerCase()))),r=new Set(["JIRA_TICKET_UPDATED"]);e.has("status")&&r.add("JIRA_STATUS"),(e.has("label")||e.has("labels"))&&r.add("JIRA_LABEL"),e.has("assignee")&&r.add("JIRA_ASSIGNED_SELF"),e.has("sprint")&&(r.add("JIRA_SPRINT_STARTED"),r.add("JIRA_SPRINT_ENDED")),s=s.filter(([e])=>r.has(e))}await Promise.allSettled(s.map(([t,r])=>this.workflowEvents.record({kind:t,subjectKey:e.key,dedupeKey:`jira-trigger:${t}:${e.key}:${a}`,payload:{...i,sessionData:i,cursorValue:r}})))}async getSettings(){let e=await (0,tD.getPrismaClient)(),t=await e.jiraSettings.upsert({where:{id:sQ},create:{id:sQ,cacheTtlSeconds:300},update:{}});return{siteUrl:t.siteUrl,email:t.email,tokenConfigured:await this.credentials.isConfigured(tN.CREDENTIALS.jiraApiToken),cacheTtlSeconds:t.cacheTtlSeconds,updatedAt:t.updatedAt.toISOString()}}async saveSettings(e){let t=await (0,tD.getPrismaClient)(),r=function(e){let t=new URL(e.trim());if("https:"!==t.protocol)throw Error("Jira Cloud site URL must use HTTPS");if(!t.hostname.toLowerCase().endsWith(".atlassian.net"))throw Error("Only Jira Cloud *.atlassian.net sites are supported");if(t.username||t.password||t.search||t.hash)throw Error("Jira site URL must not include credentials, query, or fragment");return t.origin}(e.siteUrl),i=e.email.trim();if(!/^\S+@\S+\.\S+$/.test(i))throw Error("A valid Jira email is required");let a=await t.jiraSettings.findUnique({where:{id:sQ}}),n=e.apiToken?.trim()||null,s=!!(a?.siteUrl&&a.siteUrl!==r);if(s&&!e.resetSite)throw Error("Changing the Jira site requires resetSite=true");let o=a?.siteUrl!==r||a?.email!==i||!!n,l=async e=>{s&&(await e.jiraProject.deleteMany(),await e.jiraWebhookDelivery.deleteMany()),o&&(await e.jiraCacheEntry.deleteMany(),await e.jiraCachedTicket.deleteMany()),await e.jiraSettings.upsert({where:{id:sQ},create:{id:sQ,siteUrl:r,email:i,cacheTtlSeconds:300},update:s?{siteUrl:r,email:i,webhookEnabled:!1,webhookConfiguredAt:null,webhookId:null,webhookUrl:null,webhookJql:null}:{siteUrl:r,email:i}})};return n?await this.credentials.setText(tN.CREDENTIALS.jiraApiToken,n,l):await t.$transaction(l),s&&await this.credentials.delete(tN.CREDENTIALS.jiraWebhookSecret),this.clients=void 0,this.getSettings()}async clearCredentials(){let e=await (0,tD.getPrismaClient)(),t=await e.jiraSettings.findUnique({where:{id:sQ},select:{siteUrl:!0,email:!0,webhookId:!0}}),r=await this.credentials.isConfigured(tN.CREDENTIALS.jiraApiToken);if(t?.siteUrl&&t.email&&t.webhookId&&r)try{await this.webhookApiRequest("DELETE",`/rest/webhooks/1.0/webhook/${encodeURIComponent(t.webhookId)}`)}catch(e){if(404!==oe(e))throw e}return await this.credentials.deleteMany([tN.CREDENTIALS.jiraApiToken,tN.CREDENTIALS.jiraWebhookSecret],async e=>{await e.jiraCacheEntry.deleteMany(),await e.jiraCachedTicket.deleteMany(),await e.jiraWebhookDelivery.deleteMany(),await e.jiraSettings.upsert({where:{id:sQ},create:{id:sQ,cacheTtlSeconds:300},update:{email:null,webhookEnabled:!1,webhookConfiguredAt:null,webhookId:null,webhookUrl:null,webhookJql:null}})}),this.clients=void 0,this.getSettings()}async updateCacheTtl(e){if(!Number.isInteger(e)||e<1||e>1440)throw Error("Cache TTL must be an integer from 1 to 1440 minutes");let t=await (0,tD.getPrismaClient)();return await t.jiraSettings.upsert({where:{id:sQ},create:{id:sQ,cacheTtlSeconds:60*e},update:{cacheTtlSeconds:60*e}}),this.getSettings()}async testConnection(){let e=await this.cachedCall({operation:"MYSELF",params:{},requestSummary:"Current Jira user",force:!0,allowStaleOnError:!1,fetcher:async()=>{let{version3:e}=await this.getClients();return e.myself.getCurrentUser()}});if(e.stale)throw Error("Jira connection test failed because the live request failed");let t=s2(e.value);return{accountId:s4(t.accountId),displayName:s4(t.displayName)??"Jira user",emailAddress:s4(t.emailAddress),cache:oo(e)}}async listProjects(){let e=await (0,tD.getPrismaClient)();return(await e.jiraProject.findMany({include:{sources:{orderBy:[{position:"asc"},{createdAt:"asc"}]}},orderBy:[{position:"asc"},{createdAt:"asc"}]})).map(e=>({id:e.id,jiraId:e.jiraId,key:e.key,name:e.name,avatarUrl:e.avatarUrl,position:e.position,ticketAssignmentFilter:op(e.ticketAssignmentFilter),hideCompletedTickets:e.hideCompletedTickets,completedStatusIds:s9(e.completedStatusIdsJson),doneStatusId:e.doneStatusId,branchNamingScript:e.branchNamingScript??tF,sources:e.sources.map(os)}))}async projectStatuses(e){let t=await (0,tD.getPrismaClient)(),r=await t.jiraProject.findUnique({where:{id:e},select:{jiraId:!0,key:!0}});if(!r)throw Error("Jira project not found");let i=await this.cachedCall({operation:"PROJECT_STATUSES",params:{jiraId:r.jiraId},requestSummary:`Statuses for project ${r.key}`,fetcher:async()=>{let{version3:e}=await this.getClients();return e.projects.getAllStatuses(r.jiraId)}}),a=new Map;for(let e of s3(i.value).map(s2))for(let t of s3(e.statuses).map(s2)){let e=s4(t.id),r=s4(t.name);if(!e||!r||a.has(e))continue;let i=s2(t.statusCategory);a.set(e,{id:e,name:r,category:s4(i.key)??s4(i.name)??"unknown"})}return[...a.values()].sort((e,t)=>oc(e.category)-oc(t.category)||e.name.localeCompare(t.name))}async updateProjectDisplaySettings(e){if(!od.has(e.ticketAssignmentFilter))throw Error("Invalid Jira ticket assignment filter");let t=[...new Set(e.completedStatusIds.map(e=>e.trim()).filter(Boolean))].slice(0,200),r=await (0,tD.getPrismaClient)(),i=void 0===e.doneStatusId?void 0:e.doneStatusId?.trim()||null;if(i&&!(await this.projectStatuses(e.projectId)).some(e=>e.id===i))throw Error("The selected Jira done status is not available");return await r.jiraProject.update({where:{id:e.projectId},data:{ticketAssignmentFilter:e.ticketAssignmentFilter,hideCompletedTickets:e.hideCompletedTickets,completedStatusIdsJson:JSON.stringify(t),...void 0===i?{}:{doneStatusId:i}}}),this.listProjects()}async updateProjectBranchNaming(e,t){let r=await (0,tD.getPrismaClient)(),i=await r.jiraProject.findUnique({where:{id:e},select:{key:!0}});if(!i)throw Error("Jira project not found");let a=await tV(t,i.key);return await r.jiraProject.update({where:{id:e},data:{branchNamingScript:a}}),this.listProjects()}async availableProjects(){let e=[],t=0;for(;;){let r=await this.cachedCall({operation:"PROJECTS",params:{startAt:t,maxResults:100},requestSummary:`Visible projects from ${t}`,fetcher:async()=>{let{version3:e}=await this.getClients();return e.projects.searchProjects({startAt:t,maxResults:100,orderBy:"name"})},itemCount:e=>s3(s2(e).values).length}),i=s2(r.value),a=s3(i.values).map(s2);e.push(...a.flatMap(e=>{let t=s4(e.id),r=s4(e.key),i=s4(e.name);if(!t||!r||!i)return[];let a=s2(e.avatarUrls);return[{jiraId:t,key:r,name:i,avatarUrl:s4(a["48x48"])??s4(a["32x32"])}]}));let n=s6(i.total)??e.length;if(0===a.length||e.length>=n)break;t+=a.length}return e}async addProject(e){let t=e.trim();if(!t)throw Error("Jira project ID is required");let i=s2((await this.cachedCall({operation:"PROJECT",params:{jiraId:t},requestSummary:`Project ${t}`,fetcher:async()=>{let{version3:e}=await this.getClients();return e.projects.getProject(t)}})).value),a=s4(i.key),n=s4(i.name),s=s4(i.id);if(!a||!n||!s)throw Error("Jira returned an incomplete project");let o=s2(i.avatarUrls),l=await (0,tD.getPrismaClient)(),u=await l.jiraProject.aggregate({_max:{position:!0}});return await l.jiraProject.create({data:{id:(0,r.randomUUID)(),jiraId:s,key:a,name:n,avatarUrl:s4(o["48x48"])??s4(o["32x32"]),position:(u._max.position??-1)+1,branchNamingScript:tF}}),this.listProjects()}async removeProject(e){let t=await (0,tD.getPrismaClient)(),r=(await t.jiraSource.findMany({where:{projectId:e},select:{id:!0}})).map(e=>e.id);return await t.$transaction(async t=>{r.length>0&&await t.jiraCacheEntry.deleteMany({where:{sourceId:{in:r}}}),await t.jiraProject.delete({where:{id:e}}),await t.jiraCachedTicket.deleteMany({where:{cacheEntries:{none:{}}}})}),this.listProjects()}async createSource(e){let t=await this.validateSource(e.kind,e.value),i=this.validateSourceName(e.name),a=await (0,tD.getPrismaClient)();if(!await a.jiraProject.findUnique({where:{id:e.projectId}}))throw Error("Jira project not found");let n=await a.jiraSource.aggregate({where:{projectId:e.projectId},_max:{position:!0}});return await a.jiraSource.create({data:{id:(0,r.randomUUID)(),projectId:e.projectId,name:i,kind:e.kind,value:t.value,boardId:t.boardId,position:(n._max.position??-1)+1}}),this.listProjects()}async updateSource(e){let t=await this.validateSource(e.kind,e.value),r=this.validateSourceName(e.name),i=await (0,tD.getPrismaClient)();return await i.$transaction([i.jiraCacheEntry.deleteMany({where:{sourceId:e.id}}),i.jiraSource.update({where:{id:e.id},data:{name:r,kind:e.kind,value:t.value,boardId:t.boardId}})]),this.listProjects()}async deleteSource(e){let t=await (0,tD.getPrismaClient)();return await t.$transaction(async t=>{await t.jiraCacheEntry.deleteMany({where:{sourceId:e}}),await t.jiraSource.delete({where:{id:e}}),await t.jiraCachedTicket.deleteMany({where:{cacheEntries:{none:{}}}})}),this.listProjects()}async ticketBoard(e,t=!1){var r;let i,a,n,s=await (0,tD.getPrismaClient)(),o=await s.jiraSource.findUnique({where:{id:e},include:{project:!0}});if(!o)throw Error("Jira source not found");let l=await s.jiraCacheEntry.findFirst({where:{sourceId:e,issues:{some:{}}},orderBy:{fetchedAt:"desc"},include:{issues:{select:{issueKey:!0}}}}),u=new Set(l?.issues.map(({issueKey:e})=>e)??[]),c="BOARD"===o.kind?await this.loadBoardSource(os(o),t):await this.loadJqlSource(os(o),t),d={ticketAssignmentFilter:op(o.project.ticketAssignmentFilter),hideCompletedTickets:o.project.hideCompletedTickets,completedStatusIds:s9(o.project.completedStatusIdsJson)},p="ALL"===d.ticketAssignmentFilter?null:await this.currentAccountId(),h=(r={source:os(o),...c},i=d.hideCompletedTickets?new Set(d.completedStatusIds):new Set,a=new Set(r.tickets.filter(e=>i.has(e.statusId)).map(e=>e.status)),n=r.tickets.filter(e=>{let t;return!i.has(e.statusId)&&("ALL"===d.ticketAssignmentFilter||("UNASSIGNED_OR_SELF"===d.ticketAssignmentFilter?null===e.assigneeAccountId||e.assigneeAccountId===p:null!==p&&e.assigneeAccountId===p&&("indeterminate"===(t=e.statusCategory.toLowerCase())||t.includes("progress"))))}),{...r,tickets:n,statusOrder:r.statusOrder.filter(e=>!a.has(e))});return this.workflowEvents&&l&&await Promise.allSettled(h.tickets.filter(({key:e})=>!u.has(e)).map(t=>{let r={ticket:{key:t.key,title:t.summary,type:t.issueType,status:t.status,statusId:t.statusId,statusCategory:t.statusCategory,assignee:t.assignee}};return this.workflowEvents.record({kind:"JIRA_SOURCE_NEW_TICKET",subjectKey:`${e}:${t.key}`,dedupeKey:`jira-source-new:${e}:${t.key}:${h.cache.fetchedAt}`,payload:{...r,sessionData:r,source:{id:e,name:o.name,kind:o.kind},cursorValue:t.key}})})),h}async ticket(e,t=!1,r){let i=s8(e),a=await this.cachedCall({operation:"ISSUE",params:{issueKey:i,fields:"*all",expand:"names,schema"},requestSummary:`Issue ${i} with all fields`,force:t,fetcher:async()=>{let{version3:e}=await this.getClients();return e.issues.getIssue({issueIdOrKey:i,fields:["*all"],expand:["names","schema"],updateHistory:!1})}});"LIVE"===a.source&&await this.storeDetail(a.entryId,a.value,a.fetchedAt);let n=[],s=[],o=0;for(;;){let e=await this.cachedCall({operation:"COMMENTS",params:{issueKey:i,startAt:o,maxResults:100},requestSummary:`Comments for ${i} from ${o}`,force:t,fetcher:async()=>{let{version3:e}=await this.getClients();return e.issueComments.getComments({issueIdOrKey:i,startAt:o,maxResults:100,orderBy:"created"})},itemCount:e=>s3(s2(e).comments).length});n.push(e);let r=s2(e.value),a=s3(r.comments);s.push(...a);let l=s6(r.total)??s.length;if(0===a.length||s.length>=l)break;o+=a.length}let l=new Date(Math.min(...n.map(e=>e.fetchedAt.getTime())));await this.storeComments(i,s,l,n.map(e=>e.entryId));let u=await this.requireCredentials(),c=this.normalizeTicketDetail(a.value,s,u.siteUrl,oo(a),ol(n));return await this.recordTicketWorkflowEvents(c,r),c}async assignableUsers(e,t=""){let r=s8(e),i=t.trim().slice(0,100),a=await this.cachedCall({operation:"ASSIGNABLE_USERS",params:{issueKey:r,query:i,maxResults:50},requestSummary:`Assignable users for ${r}`,fetcher:async()=>{let{version3:e}=await this.getClients();return e.userSearch.findAssignableUsers({issueKey:r,query:i,maxResults:50,recommend:!0})},itemCount:e=>s3(e).length});return await this.linkCacheEntryToIssue(r,a.entryId),s3(a.value).map(oi).filter(e=>null!==e)}async ticketTransitions(e){let t=s8(e),r=await this.cachedCall({operation:"ISSUE_TRANSITIONS",params:{issueKey:t,expand:"transitions.fields"},requestSummary:`Available transitions for ${t}`,fetcher:async()=>{let{version3:e}=await this.getClients();return e.issues.getTransitions({issueIdOrKey:t,expand:"transitions.fields"})},itemCount:e=>s3(s2(e).transitions).length});return await this.linkCacheEntryToIssue(t,r.entryId),s3(s2(r.value).transitions).map(s2).filter(e=>!1!==e.isAvailable).flatMap(e=>{let t=s4(e.id),r=s4(e.name);if(!t||!r)return[];let i=s2(e.to),a=s2(i.statusCategory),n=Object.entries(s2(e.fields)).filter(([,e])=>!0===s2(e).required).map(([e,t])=>s4(s2(t).name)??e);return[{id:t,name:r,toStatusId:s4(i.id),toStatus:s4(i.name)??r,toStatusCategory:s4(a.key)??s4(a.name),hasScreen:!0===e.hasScreen,requiredFields:n}]})}async ticketEditFields(e){let t=s8(e),r=await this.cachedCall({operation:"ISSUE_EDIT_META",params:{issueKey:t},requestSummary:`Editable fields for ${t}`,fetcher:async()=>{let{version3:e}=await this.getClients();return e.issues.getEditIssueMeta({issueIdOrKey:t})},itemCount:e=>Object.keys(s2(s2(e).fields)).length});return await this.linkCacheEntryToIssue(t,r.entryId),Object.entries(s2(s2(r.value).fields)).map(([e,t])=>{let r=s2(t);return{id:e,name:s4(r.name)??e,required:!0===r.required,schemaType:s4(s2(r.schema).type),allowedValues:s3(r.allowedValues).flatMap(e=>{if("string"==typeof e)return[{id:e,name:e}];let t=s2(e),r=s4(t.name)??s4(t.value)??s4(t.displayName)??s4(t.key);return r?[{id:s4(t.id)??s4(t.accountId)??s4(t.value)??r,name:r}]:[]})}}).sort((e,t)=>e.name.localeCompare(t.name))}async ticketChanges(e,t=50,i=0){let a=s8(e),n=this.validatePagination(t,i),s=await this.cachedCall({operation:"ISSUE_CHANGELOG",params:{issueKey:a,startAt:0,maxResults:1},requestSummary:`Changelog count for ${a}`,fetcher:async()=>{let{version3:e}=await this.getClients();return e.issues.getChangeLogs({issueIdOrKey:a,startAt:0,maxResults:1})},itemCount:e=>s3(s2(e).values).length});await this.linkCacheEntryToIssue(a,s.entryId);let o=s6(s2(s.value).total)??0,l=Math.min(n.limit,Math.max(0,o-n.offset)),u=Math.max(0,o-n.offset-l);if(0===l)return{...n,total:o,items:[],cache:oo(s)};let c=await this.cachedCall({operation:"ISSUE_CHANGELOG",params:{issueKey:a,startAt:u,maxResults:l},requestSummary:`Changelog for ${a} from ${u}`,fetcher:async()=>{let{version3:e}=await this.getClients();return e.issues.getChangeLogs({issueIdOrKey:a,startAt:u,maxResults:l})},itemCount:e=>s3(s2(e).values).length});await this.linkCacheEntryToIssue(a,c.entryId);let d=s3(s2(c.value).values).map(s2).reverse().map(e=>({id:s4(e.id)??(0,r.randomUUID)(),author:oi(e.author),createdAt:s4(e.created),items:s3(e.items).map(s2).map(e=>({field:s4(e.field)??"Field",fieldId:s4(e.fieldId),from:s4(e.fromString)??s4(e.from),to:s4(e.toString)??s4(e.to)}))}));return{...n,total:o,items:d,cache:ol([s,c])}}async ticketWorklogs(e,t=50,i=0){let a=s8(e),n=this.validatePagination(t,i),s=await this.cachedCall({operation:"ISSUE_WORKLOGS",params:{issueKey:a,startAt:0,maxResults:1},requestSummary:`Worklog count for ${a}`,fetcher:async()=>{let{version3:e}=await this.getClients();return e.issueWorklogs.getIssueWorklog({issueIdOrKey:a,startAt:0,maxResults:1})},itemCount:e=>s3(s2(e).worklogs).length});await this.linkCacheEntryToIssue(a,s.entryId);let o=s6(s2(s.value).total)??0,l=Math.min(n.limit,Math.max(0,o-n.offset)),u=Math.max(0,o-n.offset-l);if(0===l)return{...n,total:o,items:[],cache:oo(s)};let c=await this.cachedCall({operation:"ISSUE_WORKLOGS",params:{issueKey:a,startAt:u,maxResults:l},requestSummary:`Worklogs for ${a} from ${u}`,fetcher:async()=>{let{version3:e}=await this.getClients();return e.issueWorklogs.getIssueWorklog({issueIdOrKey:a,startAt:u,maxResults:l})},itemCount:e=>s3(s2(e).worklogs).length});await this.linkCacheEntryToIssue(a,c.entryId);let d=await this.requireCredentials(),p=s3(s2(c.value).worklogs).map(s2).reverse().map(e=>({id:s4(e.id)??(0,r.randomUUID)(),author:oi(e.author),comment:sZ(e.comment??null,d.siteUrl),timeSpent:s4(e.timeSpent),timeSpentSeconds:s6(e.timeSpentSeconds),startedAt:s4(e.started),createdAt:s4(e.created),updatedAt:s4(e.updated)})),h=p[0];if(this.workflowEvents&&h){let e={ticket:{key:a},worklog:{id:h.id,author:h.author,timeSpent:h.timeSpent,timeSpentSeconds:h.timeSpentSeconds,startedAt:h.startedAt,updatedAt:h.updatedAt}};await this.workflowEvents.record({kind:"JIRA_WORKLOG_ADDED",subjectKey:a,dedupeKey:`jira-worklog:${a}:${h.id}:${c.fetchedAt}`,payload:{...e,sessionData:e,cursorValue:h.id}})}return{...n,total:o,items:p,cache:ol([s,c])}}async addComment(e,t){let r=s8(e);if(!t.value.trim())throw Error("Comment text is required");let i=sY(t);return this.mutateTicket(r,"ADD_COMMENT",async()=>{let{version3:e}=await this.getClients();await e.issueComments.addComment({issueIdOrKey:r,comment:i})})}async assignTicket(e,t){let r=s8(e),i=t?.trim()||null;return this.mutateTicket(r,"ASSIGN_ISSUE",async()=>{let{version3:e}=await this.getClients();await e.issues.assignIssue({issueIdOrKey:r,accountId:i})})}async transitionTicket(e,t){let r=s8(e),i=(await this.ticketTransitions(r)).find(e=>e.id===t);if(!i)throw Error("The Jira transition is not available");if(i.requiredFields.length>0)throw Error(`This transition requires fields that must be completed in Jira: ${i.requiredFields.join(", ")}`);return this.mutateTicket(r,"TRANSITION_ISSUE",async()=>{let{version3:e}=await this.getClients();await e.issues.doTransition({issueIdOrKey:r,transition:{id:i.id}})})}async transitionTicketToConfiguredDone(e){let t=s8(e),r=t.split("-")[0]??"",i=await (0,tD.getPrismaClient)(),a=await i.jiraProject.findUnique({where:{key:r},select:{doneStatusId:!0}});if(!a?.doneStatusId)throw Error(`Configure a done status for Jira project ${r} before using this option`);let n=await this.ticket(t);if(n.statusId===a.doneStatusId)return n;let s=(await this.ticketTransitions(t)).filter(e=>e.toStatusId===a.doneStatusId).sort((e,t)=>e.requiredFields.length-t.requiredFields.length)[0];if(!s)throw Error("Jira does not currently offer a transition to the configured done status");return this.transitionTicket(t,s.id)}async updateTicket(e){let t=s8(e.issueKey),r=new Map((await this.ticketEditFields(t)).map(e=>[e.id,e])),i={},a=e=>{let t=r.get(e);if(!t)throw Error(`${e} is not editable on this ticket`);return t},n=t=>Object.prototype.hasOwnProperty.call(e,t);if(n("summary")){a("summary");let t=e.summary?.trim();if(!t)throw Error("Ticket summary is required");i.summary=t}if(n("description")){let t=a("description");if(null===e.description){if(t.required)throw Error("Description is required");i.description=null}else e.description&&(i.description=sY(e.description))}if(n("priorityId")){let t=a("priority"),r=e.priorityId?.trim()||null;if(!r&&t.required)throw Error("Priority is required");if(r&&t.allowedValues.length>0&&!t.allowedValues.some(e=>e.id===r))throw Error("The selected priority is not available");i.priority=r?{id:r}:null}n("labels")&&(a("labels"),i.labels=[...new Set((e.labels??[]).map(e=>e.trim()).filter(Boolean))]);let s=(t,r)=>{if(!n(t))return;let s=a(r),o=[...new Set(e[t]??[])];if(s.allowedValues.length>0&&o.some(e=>!s.allowedValues.some(t=>t.id===e)))throw Error(`A selected ${s.name} value is not available`);i[r]=o.map(e=>({id:e}))};if(s("componentIds","components"),s("fixVersionIds","fixVersions"),s("affectedVersionIds","versions"),n("dueDate")){let t=a("duedate"),r=e.dueDate?.trim()||null;if(r&&!/^\d{4}-\d{2}-\d{2}$/.test(r))throw Error("Due date must use YYYY-MM-DD");if(!r&&t.required)throw Error("Due date is required");i.duedate=r}if(0===Object.keys(i).length)throw Error("At least one editable Jira field is required");return this.mutateTicket(t,"EDIT_ISSUE",async()=>{let{version3:e}=await this.getClients();await e.issues.editIssue({issueIdOrKey:t,fields:i})})}async createTicket(e){let t=e.projectKey.trim().toUpperCase(),r=e.issueTypeId.trim(),i=e.summary.trim();if(!t||!r||!i)throw Error("Project, issue type, and summary are required");let{version3:a}=await this.getClients(),n=await a.issues.createIssue({fields:{...e.fields??{},project:{key:t},issuetype:{id:r},summary:i,...e.description?{description:sY(e.description)}:{}}});if(!n.key)throw Error("Jira did not return the created issue key");return this.ticket(n.key,!0)}async addWorklog(e){let t=s8(e.issueKey);if(!Number.isInteger(e.timeSpentSeconds)||e.timeSpentSeconds<1)throw Error("Time spent must be a positive number of seconds");let{version3:r}=await this.getClients();return await r.issueWorklogs.addWorklog({issueIdOrKey:t,timeSpentSeconds:e.timeSpentSeconds,started:e.startedAt??new Date().toISOString(),...e.comment?{comment:sY(e.comment)}:{}}),this.ticket(t,!0)}async linkTickets(e){let t=s8(e.inwardIssueKey),r=s8(e.outwardIssueKey),i=e.linkType.trim();if(!i)throw Error("Jira issue link type is required");let{version3:a}=await this.getClients();return await a.issueLinks.linkIssues({type:{name:i},inwardIssue:{key:t},outwardIssue:{key:r}}),this.ticket(t,!0)}async branchTicket(e){let t=s8(e),r=t.replace(/-\d+$/,""),i=await (0,tD.getPrismaClient)(),a=await i.jiraProject.findUnique({where:{key:r},select:{key:!0,branchNamingScript:!0}});if(!a)throw Error(`Jira project ${r} is not managed; add it in Manage Jira projects and sources`);let n=await this.cachedCall({operation:"ISSUE_BRANCH",params:{issueKey:t,fields:["summary","issuetype","project"]},requestSummary:`Branch details for ${t}`,fetcher:async()=>{let{version3:e}=await this.getClients();return e.issues.getIssue({issueIdOrKey:t,fields:["summary","issuetype","project"],updateHistory:!1})}});await this.linkCacheEntryToIssue(t,n.entryId);let s=s2(n.value.fields);if((s4(s2(s.project).key)??or(n.value))!==a.key)throw Error(`Jira ticket ${t} does not belong to project ${a.key}`);return{ticketKey:n.value.key??t,ticketTitle:s4(s.summary)??t,ticketType:s4(s2(s.issuetype).name),projectKey:a.key,branchNamingScript:a.branchNamingScript??tF}}async clearCache(){let e=await (0,tD.getPrismaClient)();return await e.$transaction([e.jiraCacheEntry.deleteMany(),e.jiraCachedTicket.deleteMany()]),!0}async clearApiCalls(){let e=await (0,tD.getPrismaClient)();return await e.jiraApiCallLog.deleteMany(),!0}async deleteCachedTicket(e){return await this.invalidateIssueCaches(s8(e)),!0}async invalidateIssueCaches(e){let t=await (0,tD.getPrismaClient)(),r=await t.jiraCacheEntryIssue.findMany({where:{issueKey:e},select:{cacheEntryId:!0}});await t.$transaction(async t=>{r.length>0&&await t.jiraCacheEntry.deleteMany({where:{id:{in:r.map(e=>e.cacheEntryId)}}}),await t.jiraCachedTicket.deleteMany({where:{issueKey:e}})})}async refreshCachedTicket(e,t){let r=await (0,tD.getPrismaClient)(),i=await r.jiraCacheEntryIssue.findMany({where:{issueKey:e},select:{cacheEntryId:!0}});return i.length>0&&await r.jiraCacheEntry.deleteMany({where:{id:{in:i.map(e=>e.cacheEntryId)}}}),this.ticket(e,!0,t)}async resolveIssueKeys(e){let t=[...new Set(e.map(e=>e.trim()).filter(Boolean))];if(0===t.length)return[];let{version3:r}=await this.getClients();return[...new Set((await Promise.all(t.map(e=>r.issues.getIssue({issueIdOrKey:e,fields:["key"]})))).map(e=>{let t=s4(e.key);if(!t)throw Error(`Jira issue ${e.id??""} has no key`);return s8(t)}))]}async refreshSprintTickets(e){if(!Number.isSafeInteger(e)||e<=0)throw Error("Invalid Jira sprint ID");let{agile:t}=await this.getClients(),r=[],i=0;for(;r.length<1e3;){let a=Math.min(100,1e3-r.length),n=await t.sprint.getIssuesForSprint({sprintId:e,startAt:i,maxResults:a,fields:["key"]}),s=n.issues??[];r.push(...s.flatMap(e=>{let t=s4(e.key);return t?[s8(t)]:[]}));let o=void 0===n.total?s.length<a:i+s.length>=n.total;if(0===s.length||o)break;i+=s.length}let a=[],n=[...new Set(r)];for(let e=0;e<n.length;e+=5)a.push(...await Promise.all(n.slice(e,e+5).map(e=>this.refreshCachedTicket(e))));return a}async listCachedTickets(e=50,t=0){let r=this.validatePagination(e,t),i=await (0,tD.getPrismaClient)(),[a,n,s]=await Promise.all([i.jiraCachedTicket.findMany({take:r.limit,skip:r.offset,orderBy:{updatedAt:"desc"}}),i.jiraCachedTicket.count(),this.getSettings()]);return{...r,total:n,items:a.map(e=>this.cachedTicketView(e,s.cacheTtlSeconds))}}async cachedTicket(e){let t=await (0,tD.getPrismaClient)(),[r,i]=await Promise.all([t.jiraCachedTicket.findUnique({where:{issueKey:e},include:{cacheEntries:{include:{cacheEntry:!0}}}}),this.getSettings()]);return r?{...this.cachedTicketView(r,i.cacheTtlSeconds),summaryData:s5(r.summaryJson),detailData:s5(r.detailJson),commentsData:s5(r.commentsJson),cacheEntries:r.cacheEntries.map(e=>({id:e.cacheEntry.id,operation:e.cacheEntry.operation,fetchedAt:e.cacheEntry.fetchedAt.toISOString()})).sort((e,t)=>t.fetchedAt.localeCompare(e.fetchedAt))}:null}async listApiCalls(e=50,t=0){let r=this.validatePagination(e,t);await this.pruneLogs();let i=await (0,tD.getPrismaClient)(),[a,n]=await Promise.all([i.jiraApiCallLog.findMany({take:r.limit,skip:r.offset,orderBy:{createdAt:"desc"}}),i.jiraApiCallLog.count()]);return{...r,total:n,items:a.map(e=>({id:e.id,operation:e.operation,requestSummary:e.requestSummary,source:e.source,durationMs:e.durationMs,statusCode:e.statusCode,error:e.error,itemCount:e.itemCount,servedStale:e.servedStale,createdAt:e.createdAt.toISOString()}))}}async cacheMetrics(){await this.pruneLogs();let e=await (0,tD.getPrismaClient)(),t=Date.now(),r=await e.jiraApiCallLog.findMany({where:{createdAt:{gte:new Date(t-s0.at(-1).milliseconds)}},orderBy:{createdAt:"asc"}});return{windows:s0.map(e=>this.metricWindow(e.window,r.filter(r=>r.createdAt.getTime()>=t-e.milliseconds))),operations:[...new Set(r.map(e=>e.operation))].sort().map(e=>({operation:e,windows:s0.map(i=>this.metricWindow(i.window,r.filter(r=>r.operation===e&&r.createdAt.getTime()>=t-i.milliseconds)))}))}}async requireCredentials(){let e=await (0,tD.getPrismaClient)(),t=await e.jiraSettings.findUnique({where:{id:sQ}});if(!t?.siteUrl||!t.email)throw Error("Configure the Jira site, email, and API token in Settings first");let r=await this.credentials.getText(tN.CREDENTIALS.jiraApiToken);if(!r)throw Error("Configure the Jira site, email, and API token in Settings first");return{siteUrl:t.siteUrl,email:t.email,apiToken:r,cacheTtlSeconds:t.cacheTtlSeconds}}async getClients(){let e=await this.requireCredentials(),t=(0,r.createHash)("sha256").update(`${e.siteUrl}\0${e.email}\0${e.apiToken}`).digest("hex");if(this.clients?.key===t)return this.clients;let i={host:e.siteUrl,authentication:{basic:{email:e.email,apiToken:e.apiToken}},baseRequestConfig:{timeout:15e3}};return this.clients={key:t,version3:new tT(i),agile:new q(i)},this.clients}async webhookApiRequest(e,t,r){let i,a=await this.requireCredentials(),n=Buffer.from(`${a.email}:${a.apiToken}`).toString("base64");try{i=await fetch(`${a.siteUrl}${t}`,{method:e,headers:{Accept:"application/json",Authorization:`Basic ${n}`,"Content-Type":"application/json"},body:void 0===r?void 0:JSON.stringify(r),signal:AbortSignal.timeout(15e3)})}catch(e){throw Error(ot(e,a.apiToken))}let s=await i.text();if(!i.ok){let e=s.trim().slice(0,300)||i.statusText;throw Object.assign(Error(ot(`Jira rejected the webhook request with ${i.status}: ${e}`,a.apiToken)),{status:i.status})}if(!s.trim())return null;try{return JSON.parse(s)}catch{return null}}async currentAccountId(){let e=s4(s2((await this.cachedCall({operation:"MYSELF",params:{},requestSummary:"Current Jira user",fetcher:async()=>{let{version3:e}=await this.getClients();return e.myself.getCurrentUser()}})).value).accountId);if(!e)throw Error("Jira did not return the current user ID");return e}async linkCacheEntryToIssue(e,t){let r=await (0,tD.getPrismaClient)();await r.$transaction(async r=>{await r.jiraCachedTicket.upsert({where:{issueKey:e},create:{issueKey:e,projectKey:e.replace(/-\d+$/,"")},update:{}}),await r.jiraCacheEntryIssue.upsert({where:{cacheEntryId_issueKey:{cacheEntryId:t,issueKey:e}},create:{cacheEntryId:t,issueKey:e},update:{}})})}async mutateTicket(e,t,r){let i=await this.requireCredentials(),a=Date.now();try{await r(),await this.logCall({operation:t,requestSummary:`${t.replaceAll("_"," ")} for ${e}`,source:"LIVE",durationMs:Date.now()-a})}catch(n){let r=ot(n,i.apiToken);throw await this.logCall({operation:t,requestSummary:`${t.replaceAll("_"," ")} for ${e}`,source:"ERROR",durationMs:Date.now()-a,statusCode:oe(n),error:r}),Error(r)}await this.invalidateIssueCaches(e);try{return await this.ticket(e,!0)}catch(e){throw Error(`Jira accepted the update, but refreshed ticket details could not be loaded: ${ot(e,i.apiToken)}`)}}cacheKey(e,t,i){return(0,r.createHash)("sha256").update(s7({siteUrl:e,operation:t,params:i})).digest("hex")}async cachedCall(e){let t=await this.requireCredentials(),i=await (0,tD.getPrismaClient)(),a=this.cacheKey(t.siteUrl,e.operation,e.params),n=Date.now(),s=await i.jiraCacheEntry.findUnique({where:{cacheKey:a}}),o=null!==s&&Date.now()-s.fetchedAt.getTime()<1e3*t.cacheTtlSeconds;if(!e.force&&o)return await this.logCall({operation:e.operation,requestSummary:e.requestSummary,source:"CACHE",durationMs:Date.now()-n,itemCount:e.itemCount?.(s5(s.responseJson))??null,sourceId:e.sourceId}),{value:s5(s.responseJson),source:"CACHE",stale:!1,fetchedAt:s.fetchedAt,entryId:s.id};let l=this.inFlight.get(a);if(l){let t=await l;return await this.logCall({operation:e.operation,requestSummary:`${e.requestSummary} (coalesced)`,source:"CACHE",durationMs:Date.now()-n,itemCount:e.itemCount?.(t.value)??null,sourceId:e.sourceId}),{...t,source:"CACHE"}}let u=(async()=>{try{let t=await e.fetcher(),s=new Date,o=await i.jiraCacheEntry.upsert({where:{cacheKey:a},create:{id:(0,r.randomUUID)(),cacheKey:a,operation:e.operation,paramsJson:s7(e.params),responseJson:JSON.stringify(t),fetchedAt:s,sourceId:e.sourceId??null},update:{operation:e.operation,paramsJson:s7(e.params),responseJson:JSON.stringify(t),fetchedAt:s,sourceId:e.sourceId??null}});return await this.logCall({operation:e.operation,requestSummary:e.requestSummary,source:"LIVE",durationMs:Date.now()-n,itemCount:e.itemCount?.(t)??null,sourceId:e.sourceId}),{value:t,source:"LIVE",stale:!1,fetchedAt:s,entryId:o.id}}catch(i){let r=null!==s&&!1!==e.allowStaleOnError;if(await this.logCall({operation:e.operation,requestSummary:e.requestSummary,source:"ERROR",durationMs:Date.now()-n,statusCode:oe(i),error:ot(i,t.apiToken),servedStale:r,sourceId:e.sourceId}),r)return{value:s5(s.responseJson),source:"ERROR",stale:!0,fetchedAt:s.fetchedAt,entryId:s.id};throw Error(ot(i,t.apiToken))}})();this.inFlight.set(a,u);try{return await u}finally{this.inFlight.delete(a)}}async logCall(e){let t=await (0,tD.getPrismaClient)();await t.jiraApiCallLog.create({data:{id:(0,r.randomUUID)(),operation:e.operation,requestSummary:e.requestSummary.slice(0,1e3),source:e.source,durationMs:Math.max(0,Math.round(e.durationMs)),statusCode:e.statusCode??null,error:e.error??null,itemCount:e.itemCount??null,servedStale:e.servedStale??!1,sourceId:e.sourceId??null}})}validateSourceName(e){let t=e.trim();if(!t||t.length>100)throw Error("Source name must be 1 to 100 characters");return t}async validateSource(e,t){let r=t.trim();if(!r)throw Error("BOARD"===e?"Board URL is required":"JQL is required");if("JQL"===e)return await this.cachedCall({operation:"JQL_VALIDATE",params:{jql:r},requestSummary:`Validate JQL: ${r}`,fetcher:async()=>{let{version3:e}=await this.getClients();return e.issueSearch.searchForIssuesUsingJqlEnhancedSearch({jql:r,maxResults:1,fields:["key"],failFast:!0})}}),{value:r,boardId:null};let i=function(e,t){let r=new URL(e.trim());if(r.origin!==new URL(t).origin)throw Error("Board URL must belong to the configured Jira site");let i=r.pathname.match(/\/boards\/(\d+)(?:\/|$)/i),a=r.searchParams.get("rapidView"),n=Number(i?.[1]??a);if(!Number.isSafeInteger(n)||n<=0)throw Error("Board URL must contain a Jira board ID");return{boardId:n,normalizedUrl:r.toString()}}(r,(await this.requireCredentials()).siteUrl);return await this.cachedCall({operation:"BOARD",params:{boardId:i.boardId},requestSummary:`Board ${i.boardId}`,fetcher:async()=>{let{agile:e}=await this.getClients();return e.board.getBoard({boardId:i.boardId})}}),{value:i.normalizedUrl,boardId:i.boardId}}async loadJqlSource(e,t){let r,i=[],a=[],n=[],s=!1;do{let o=Math.min(100,1e3-i.length),l=await this.cachedCall({operation:"JQL_SEARCH",params:{jql:e.value,nextPageToken:r??null,maxResults:o,fields:sX},requestSummary:`JQL ${e.name}${r?" next page":""}`,sourceId:e.id,force:t,fetcher:async()=>{let{version3:t}=await this.getClients();return t.issueSearch.searchForIssuesUsingJqlEnhancedSearch({jql:e.value,nextPageToken:r,maxResults:o,fields:sX})},itemCount:e=>e.issues?.length??0});a.push(l);let u=l.value.issues??[];i.push(...u),n.push(...l.value.warningMessages??[]),"LIVE"===l.source&&await this.storeSummaries(l.entryId,u,l.fetchedAt),r=l.value.nextPageToken,i.length>=1e3&&r&&(s=!0)}while(r&&i.length<1e3)return this.buildBoardResult(i,a,n,s)}async loadBoardSource(e,t){if(!e.boardId)throw Error("Saved board source has no board ID");let r=await this.cachedCall({operation:"BOARD",params:{boardId:e.boardId},requestSummary:`Board ${e.boardId}`,sourceId:e.id,force:t,fetcher:async()=>{let{agile:t}=await this.getClients();return t.board.getBoard({boardId:e.boardId})}}),i=await this.cachedCall({operation:"BOARD_CONFIGURATION",params:{boardId:e.boardId},requestSummary:`Board ${e.boardId} configuration`,sourceId:e.id,force:t,fetcher:async()=>{let{agile:t}=await this.getClients();return t.board.getConfiguration({boardId:e.boardId})}}),a=[r,i],n=[],s=[],o=!1;if("scrum"===(s4(r.value.type)??"").toLowerCase()){let r=await this.cachedCall({operation:"SPRINTS",params:{boardId:e.boardId,state:"active"},requestSummary:`Active sprints for board ${e.boardId}`,sourceId:e.id,force:t,fetcher:async()=>{let{agile:t}=await this.getClients();return t.board.getAllSprints({boardId:e.boardId,state:"active",startAt:0,maxResults:100})},itemCount:e=>s3(e.values).length});a.push(r);let i=s3(r.value.values).map(s2);for(let r of(0===i.length&&s.push("This Scrum board has no active sprint."),i)){let i=s6(r.id);if(!i||n.length>=1e3)continue;let l=await this.loadAgileIssues("SPRINT_ISSUES",e,t,(e,t)=>({sprintId:i,startAt:e,maxResults:t,fields:sX}),async e=>{let{agile:t}=await this.getClients();return t.sprint.getIssuesForSprint(e)},n.length);n.push(...l.issues),a.push(...l.results),s.push(...l.warnings),o||=l.truncated}}else{let r=await this.loadAgileIssues("BOARD_ISSUES",e,t,(t,r)=>({boardId:e.boardId,startAt:t,maxResults:r,fields:sX}),async e=>{let{agile:t}=await this.getClients();return t.board.getIssuesForBoard(e)},0);n.push(...r.issues),a.push(...r.results),s.push(...r.warnings),o=r.truncated}let l=[...new Map(n.map(e=>[e.key??e.id,e])).values()],u=new Map;return s3(s2(i.value.columnConfig).columns).map(s2).forEach((e,t)=>{s3(e.statuses).map(s2).forEach(e=>{let r=s4(e.id);r&&u.set(r,t)})}),this.buildBoardResult(l,a,s,o,u)}async loadAgileIssues(e,t,r,i,a,n){let s=[],o=[],l=[],u=0,c=1/0,d=!1;for(;u<c&&s.length+n<1e3;){let d=i(u,Math.min(100,1e3-n-s.length)),p=await this.cachedCall({operation:e,params:d,requestSummary:`${e.replaceAll("_"," ")} from ${u}`,sourceId:t.id,force:r,fetcher:()=>a(d),itemCount:e=>e.issues?.length??0});o.push(p);let h=p.value.issues??[];if(s.push(...h),l.push(...p.value.warningMessages??[]),"LIVE"===p.source&&await this.storeSummaries(p.entryId,h,p.fetchedAt),c=p.value.total??s.length,0===h.length)break;u+=h.length}return s.length+n>=1e3&&u<c&&(d=!0),{issues:s,results:o,warnings:l,truncated:d}}buildBoardResult(e,t,r,i,a){let n=e.slice(0,1e3).map(ou),s=[...new Map(n.map(e=>[e.status,e])).values()];return s.sort((e,t)=>{let r=a?.get(e.statusId),i=a?.get(t.statusId);return void 0!==r||void 0!==i?(r??Number.MAX_SAFE_INTEGER)-(i??Number.MAX_SAFE_INTEGER):oc(e.statusCategory)-oc(t.statusCategory)||e.status.localeCompare(t.status)}),{tickets:n,statusOrder:s.map(e=>e.status),cache:ol(t),truncated:i,warnings:[...new Set(r)]}}async storeSummaries(e,t,r){let i=await (0,tD.getPrismaClient)();await i.$transaction(async i=>{for(let e of t)e.key&&await i.jiraCachedTicket.upsert({where:{issueKey:e.key},create:{issueKey:e.key,projectKey:or(e),summaryJson:JSON.stringify(e),summaryFetchedAt:r},update:{projectKey:or(e),summaryJson:JSON.stringify(e),summaryFetchedAt:r}});await i.jiraCacheEntryIssue.deleteMany({where:{cacheEntryId:e}});let a=[...new Set(t.map(e=>e.key).filter(Boolean))];a.length>0&&await i.jiraCacheEntryIssue.createMany({data:a.map(t=>({cacheEntryId:e,issueKey:t}))})})}async storeDetail(e,t,r){if(!t.key)throw Error("Jira detail response did not include an issue key");let i=await (0,tD.getPrismaClient)();await i.$transaction(async i=>{await i.jiraCachedTicket.upsert({where:{issueKey:t.key},create:{issueKey:t.key,projectKey:or(t),detailJson:JSON.stringify(t),detailFetchedAt:r},update:{projectKey:or(t),detailJson:JSON.stringify(t),detailFetchedAt:r}}),await i.jiraCacheEntryIssue.upsert({where:{cacheEntryId_issueKey:{cacheEntryId:e,issueKey:t.key}},create:{cacheEntryId:e,issueKey:t.key},update:{}})})}async storeComments(e,t,r,i){let a=await (0,tD.getPrismaClient)();await a.$transaction(async a=>{for(let n of(await a.jiraCachedTicket.upsert({where:{issueKey:e},create:{issueKey:e,projectKey:e.split("-")[0]??"UNKNOWN",commentsJson:JSON.stringify(t),commentsFetchedAt:r},update:{commentsJson:JSON.stringify(t),commentsFetchedAt:r}}),i))await a.jiraCacheEntryIssue.upsert({where:{cacheEntryId_issueKey:{cacheEntryId:n,issueKey:e}},create:{cacheEntryId:n,issueKey:e},update:{}})})}normalizeTicketDetail(e,t,i,a,n){let s=ou(e),o=s2(e.fields),l=s2(e.names),u=s2(e.schema),c=[];for(let e of s3(o.issuelinks).map(s2)){let t=s2(e.type),r=on(e.outwardIssue,s4(t.outward)??"relates to"),i=on(e.inwardIssue,s4(t.inward)??"relates to");r&&c.push(r),i&&c.push(i)}let d=on(o.parent,"parent"),p=s3(o.subtasks).map(e=>on(e,"subtask")).filter(e=>null!==e),h=s3(o.sprint).map(s2),m=s3(o.closedSprints).map(s2),f=h.filter(e=>{let t=s4(e.state)?.toLowerCase();return!t||"active"===t}).map(e=>s4(e.name)).filter(e=>!!e),g=m.concat(h.filter(e=>s4(e.state)?.toLowerCase()==="closed")).map(e=>s4(e.name)).filter(e=>!!e),y=f.concat(g),w=t.map(s2).map(e=>({id:s4(e.id)??(0,r.randomUUID)(),author:oi(e.author),body:e.body??null,content:sZ(e.body??null,i),createdAt:s4(e.created),updatedAt:s4(e.updated)}));return{...s,jiraUrl:`${i}/browse/${s.key}`,description:o.description??null,descriptionContent:sZ(o.description??null,i),reporter:oi(o.reporter),creator:oi(o.creator),labels:s3(o.labels).filter(e=>"string"==typeof e),components:oa(o.components),fixVersions:oa(o.fixVersions),affectedVersions:oa(o.versions),sprintNames:[...new Set(y)],activeSprintNames:[...new Set(f)],closedSprintNames:[...new Set(g)],parent:d,subtasks:p,issueLinks:c,attachments:s3(o.attachment).map(s2).map(e=>({id:s4(e.id)??(0,r.randomUUID)(),filename:s4(e.filename)??"Attachment",contentUrl:s4(e.content),mimeType:s4(e.mimeType),size:s6(e.size),author:oi(e.author),createdAt:s4(e.created)})),comments:w,createdAt:s4(o.created),dueAt:s4(o.duedate),resolvedAt:s4(o.resolutiondate),timeTracking:o.timetracking??null,allFields:Object.entries(o).map(([e,t])=>{let r=s2(u[e]),a="string"==typeof t||s1(t)&&"doc"===t.type?sZ(t,i):null;return{id:e,name:s4(l[e])??e,schemaType:s4(r.type),custom:!0===r.custom||e.startsWith("customfield_"),value:t??null,content:a}}).sort((e,t)=>e.name.localeCompare(t.name)),cache:a,commentsCache:n}}cachedTicketView(e,t){let r=ou(s2(s5(e.detailJson)??s5(e.summaryJson))),i=e.detailJson&&e.commentsJson?"FULL":e.detailJson?"DETAIL":"SUMMARY",a=[e.summaryFetchedAt,e.detailFetchedAt,e.commentsFetchedAt].filter(e=>null!==e).some(e=>Date.now()-e.getTime()>=1e3*t);return{issueKey:e.issueKey,projectKey:e.projectKey,summary:r.summary,status:"Unknown"===r.status?null:r.status,coverage:i,stale:a,summaryFetchedAt:e.summaryFetchedAt?.toISOString()??null,detailFetchedAt:e.detailFetchedAt?.toISOString()??null,commentsFetchedAt:e.commentsFetchedAt?.toISOString()??null,updatedAt:e.updatedAt.toISOString()}}validatePagination(e,t){if(!Number.isInteger(e)||e<1||e>100)throw Error("Pagination limit must be from 1 to 100");if(!Number.isInteger(t)||t<0)throw Error("Pagination offset must be non-negative");return{limit:e,offset:t}}metricWindow(e,t){return{window:e,total:t.length,live:t.filter(e=>"LIVE"===e.source).length,cache:t.filter(e=>"CACHE"===e.source).length,errors:t.filter(e=>"ERROR"===e.source).length,averageMs:0===t.length?0:Math.round(t.reduce((e,t)=>e+t.durationMs,0)/t.length)}}async pruneLogs(){let e=Date.now();if(e-this.lastPrunedAt<36e5)return;this.lastPrunedAt=e;let t=await (0,tD.getPrismaClient)();await t.jiraApiCallLog.deleteMany({where:{createdAt:{lt:new Date(e-2592e6)}}})}}],126223);var oh=e.i(661983);let om="default",of=/^[A-Z][A-Z0-9_]*-\d+$/,og=new Set(["jira:issue_created","jira:issue_updated","comment_created","comment_updated","comment_deleted","worklog_created","worklog_updated","worklog_deleted","jira:worklog_updated","attachment_created","attachment_deleted","issuelink_created","issuelink_deleted","sprint_started","sprint_closed"]),oy={"jira:issue_created":"JIRA_ISSUE_CREATED","jira:issue_deleted":"JIRA_ISSUE_DELETED",comment_created:"JIRA_ISSUE_COMMAND",attachment_created:"JIRA_ATTACHMENT_ADDED",issuelink_created:"JIRA_ISSUE_LINKED"},ow="/api/public/jira/webhook",ob="/rest/webhooks/1.0/webhook",ov=new Set(["localhost","0.0.0.0","::1","[::1]",""]),ok=["jira:issue_created","jira:issue_updated","jira:issue_deleted","comment_created","worklog_created","attachment_created","issuelink_created","sprint_started","sprint_closed"];class oS extends Error{httpStatus;constructor(e,t){super(e),this.httpStatus=t,this.name="JiraWebhookRequestError"}}function oE(e){return"string"==typeof e&&e.trim()?e.trim():null}function oI(e){return"string"==typeof e?e.length?e:null:"number"==typeof e||"boolean"==typeof e?String(e):null}function ox(e){let t=oA(e);if(!t)return null;let r=Array.isArray(t.items)?t.items:[];return{id:oI(t.id),items:r.map(oA).filter(e=>null!==e).map(e=>({field:oE(e.field)??oE(e.fieldId)??"Field",fieldId:oE(e.fieldId),fieldType:oE(e.fieldtype)??oE(e.fieldType),from:oI(e.from),fromString:oI(e.fromString),to:oI(e.to),toString:oI(e.toString)}))}}function oA(e){return"object"!=typeof e||null===e||Array.isArray(e)?null:e}function o_(e){return"object"==typeof e&&null!==e&&"status"in e&&"number"==typeof e.status?e.status:null}function oC(e){let t=oA(e);return t?{accountId:oE(t.accountId),displayName:oE(t.displayName)}:null}function oR(e){return{deliveryId:e.deliveryId,event:e.event,issueKey:e.issueKey,projectKey:e.projectKey,changelog:function(e){if(!e)return null;try{return ox(JSON.parse(e))}catch{return null}}(e.changelogJson),retryCount:e.retryCount,outcome:e.outcome,error:e.error,receivedAt:e.receivedAt.toISOString(),processedAt:e.processedAt?.toISOString()??null}}e.s(["JiraWebhookRequestError",0,oS,"JiraWebhookService",0,class{jira;credentials;workflowEvents;constructor(e,t,r){this.jira=e,this.credentials=t,this.workflowEvents=r}async webhooksEnabled(){let e=await (0,tD.getPrismaClient)(),t=await e.jiraSettings.findUnique({where:{id:om},select:{webhookEnabled:!0}});return!!t?.webhookEnabled&&this.credentials.isConfigured(tN.CREDENTIALS.jiraWebhookSecret)}async getWebhookSettings(){let e=await (0,tD.getPrismaClient)(),[t,r,i]=await Promise.all([e.jiraSettings.upsert({where:{id:om},create:{id:om},update:{}}),this.credentials.isConfigured(tN.CREDENTIALS.jiraWebhookSecret),e.jiraWebhookDelivery.findFirst({orderBy:[{receivedAt:"desc"},{deliveryId:"desc"}]})]);return{enabled:t.webhookEnabled&&r,secretConfigured:r,registered:!!t.webhookId,registrationId:t.webhookId??null,registeredUrl:t.webhookUrl??null,jql:t.webhookJql??null,configuredAt:t.webhookConfiguredAt?.toISOString()??null,lastReceivedAt:i?.receivedAt.toISOString()??null,lastOutcome:i?.outcome??null,lastError:i?.error??null}}async enableWebhook(){let e=(0,r.randomBytes)(32).toString("base64url");return await this.credentials.setText(tN.CREDENTIALS.jiraWebhookSecret,e,async e=>{await e.jiraSettings.upsert({where:{id:om},create:{id:om,webhookEnabled:!0,webhookConfiguredAt:new Date},update:{webhookEnabled:!0,webhookConfiguredAt:new Date}})}),{settings:await this.getWebhookSettings(),secret:e}}async registerWebhook(e){let t=function(e){let t;try{t=new URL(e.trim())}catch{throw Error("Enter the public URL of this server")}if("https:"!==t.protocol&&"http:"!==t.protocol)throw Error("The webhook URL must use HTTP or HTTPS");if(t.username||t.password||t.search||t.hash)throw Error("The webhook URL must not include credentials, query, or fragment");let r=t.hostname.toLowerCase().replace(/^\[|\]$/g,"");if(ov.has(r)||r.endsWith(".local")||r.endsWith(".localhost")||/^127\./.test(r)||/^10\./.test(r)||/^192\.168\./.test(r)||/^172\.(1[6-9]|2\d|3[01])\./.test(r))throw Error(`Jira cannot reach ${t.host}. Expose this server publicly, or set PUBLIC_BASE_URL to its public address.`);let i=t.pathname.replace(/\/+$/,"");if(!i)return`${t.origin}${ow}`;if(i.endsWith(ow))return`${t.origin}${i}`;throw Error(`The webhook URL must end with ${ow}`)}(e.url),i=e.jql?.trim()||null,a=(0,r.randomBytes)(32).toString("base64url"),n=await (0,tD.getPrismaClient)(),s=await n.jiraSettings.findUnique({where:{id:om},select:{webhookId:!0}}),o=await this.writeToJira({webhookId:s?.webhookId??null,url:t,jql:i,secret:a});return await this.credentials.setText(tN.CREDENTIALS.jiraWebhookSecret,a,async e=>{await e.jiraSettings.upsert({where:{id:om},create:{id:om,webhookEnabled:!0,webhookConfiguredAt:new Date,webhookId:o,webhookUrl:t,webhookJql:i},update:{webhookEnabled:!0,webhookConfiguredAt:new Date,webhookId:o,webhookUrl:t,webhookJql:i}})}),{settings:await this.getWebhookSettings(),secret:a}}async rotateSecret(){if(!await this.credentials.isConfigured(tN.CREDENTIALS.jiraWebhookSecret))throw Error("The Jira webhook is not configured");let e=await (0,tD.getPrismaClient)(),t=await e.jiraSettings.findUnique({where:{id:om},select:{webhookId:!0,webhookUrl:!0,webhookJql:!0}});return t?.webhookId&&t.webhookUrl?this.registerWebhook({url:t.webhookUrl,jql:t.webhookJql}):this.enableWebhook()}async disableWebhook(){let e=await (0,tD.getPrismaClient)(),t=await e.jiraSettings.findUnique({where:{id:om},select:{webhookId:!0}});return t?.webhookId&&await this.deleteFromJira(t.webhookId),await this.credentials.delete(tN.CREDENTIALS.jiraWebhookSecret,async e=>{await e.jiraSettings.upsert({where:{id:om},create:{id:om},update:{webhookEnabled:!1,webhookConfiguredAt:null,webhookId:null,webhookUrl:null,webhookJql:null}})}),this.getWebhookSettings()}async writeToJira(e){let t,r,i={name:"AI Development Environment",description:"Registered by AI Development Environment. Drives Jira workflow triggers and live ticket updates.",url:e.url,events:[...ok],excludeBody:!1,secret:e.secret,...e.jql?{filters:{"issue-related-events-section":e.jql}}:{}};if(e.webhookId){let t=`${ob}/${encodeURIComponent(e.webhookId)}`;try{return await this.jira.webhookApiRequest("PUT",t,i),e.webhookId}catch(e){if(404!==o_(e))throw e}}let a=await this.jira.webhookApiRequest("POST",ob,i),n=(t=oE(a?.self),(r=t?.match(/\/webhook\/([^/]+)\/?$/)?.[1])?decodeURIComponent(r):null);if(!n)throw Error("Jira did not return the ID of the new webhook");return n}async deleteFromJira(e){try{await this.jira.webhookApiRequest("DELETE",`${ob}/${encodeURIComponent(e)}`)}catch(e){if(404!==o_(e))throw e}}async deliveries(e=50,t=0){if(!Number.isInteger(e)||e<1||e>100)throw Error("Limit must be an integer from 1 to 100");if(!Number.isInteger(t)||t<0)throw Error("Offset must be a non-negative integer");let r=await this.webhooksEnabled();if(!r)return{enabled:r,items:[],total:0,limit:e,offset:t};let i=await (0,tD.getPrismaClient)(),[a,n]=await Promise.all([i.jiraWebhookDelivery.findMany({orderBy:[{receivedAt:"desc"},{deliveryId:"desc"}],take:e,skip:t}),i.jiraWebhookDelivery.count()]);return{enabled:r,items:a.map(oR),total:n,limit:e,offset:t}}async clearDeliveries(){let e=await (0,tD.getPrismaClient)();return await e.jiraWebhookDelivery.deleteMany(),!0}async prune(){let e=await (0,tD.getPrismaClient)();await e.jiraWebhookDelivery.deleteMany({where:{receivedAt:{lt:new Date(Date.now()-2592e6)}}})}async handleWebhook(e){var t,i,a,n,s,o;let l,u,c=await this.credentials.getText(tN.CREDENTIALS.jiraWebhookSecret);if(!c)throw new oS("Jira webhook is not configured",503);if(!e.signature?.startsWith("sha256="))throw new oS("Jira webhook signature is missing",401);if(t=`sha256=${(0,r.createHmac)("sha256",c).update(e.body).digest("hex")}`,i=e.signature,l=Buffer.from(t),u=Buffer.from(i),!(l.length===u.length&&(0,r.timingSafeEqual)(l,u)))throw new oS("Jira webhook signature is invalid",401);if(!e.deliveryId?.trim())throw new oS("Jira delivery ID is missing",400);let d=await (0,tD.getPrismaClient)(),p=e.deliveryId.trim(),h=Number.parseInt(e.retryCount??"",10),m=Number.isInteger(h)?h:null;try{await d.jiraWebhookDelivery.create({data:{deliveryId:p,event:"unknown",outcome:"RECEIVED",retryCount:m}})}catch(e){if(!("object"==typeof e&&null!==e&&"code"in e&&"P2002"===e.code))throw e;if(0===(await d.jiraWebhookDelivery.updateMany({where:{deliveryId:p,outcome:{notIn:["PROCESSED","IGNORED"]}},data:{event:"unknown",issueKey:null,projectKey:null,changelogJson:null,retryCount:m,outcome:"RECEIVED",error:null,receivedAt:new Date,processedAt:null}})).count)return await this.prune().catch(()=>void 0),{outcome:"DUPLICATE",event:null,issueKey:null,triggersRecorded:0}}let f=async(e,t=null)=>{let r=await d.jiraWebhookDelivery.update({where:{deliveryId:p},data:{outcome:e,error:t,processedAt:new Date}});oh.agentEventBus.publish(oh.JIRA_WEBHOOK_DELIVERY_TOPIC,{jiraWebhookDeliveryChanged:oR(r)})};try{let t,r,i,l,u,c;try{let r=JSON.parse(Buffer.from(e.body).toString("utf8")),i=oA(r);if(!i)throw Error("Payload is not an object");t=i}catch{throw new oS("Jira webhook payload is invalid JSON",400)}let h=oE(t.webhookEvent),g=(a=t,r=oA(a.issue),(i=oE(r?.key)?.toUpperCase()??null)&&of.test(i)?i:null),y=(n=t,l=oA(n.issue),u=oA(l?.fields),c=oA(u?.project)??oA(n.project),oE(c?.key)?.toUpperCase()??null),w=ox(t.changelog);if(await d.jiraWebhookDelivery.update({where:{deliveryId:p},data:{event:h??"unknown",issueKey:g,projectKey:y,changelogJson:w?JSON.stringify(w):null}}),!h)return await f("IGNORED","Payload has no webhookEvent"),{outcome:"IGNORED",event:h,issueKey:g,triggersRecorded:0};if(!(og.has(h)||"jira:issue_deleted"===h))return await f("IGNORED",`Unhandled Jira event ${h}`),{outcome:"IGNORED",event:h,issueKey:g,triggersRecorded:0};let b=g?[g]:[];if("issuelink_created"===h||"issuelink_deleted"===h){let e,r,i=(s=t,e=oA(s.issueLink),[oI(e?.sourceIssueId),oI(e?.destinationIssueId)].filter((e,t,r)=>!!(e&&r.indexOf(e)===t)));if(0===i.length)return await f("IGNORED","Payload has no issue-link issue IDs"),{outcome:"IGNORED",event:h,issueKey:g,triggersRecorded:0};y=(g=(b=await this.jira.resolveIssueKeys(i))[0]??null)?y??((r=(o=g).lastIndexOf("-"))>0?o.slice(0,r):null):y,await d.jiraWebhookDelivery.update({where:{deliveryId:p},data:{issueKey:g,projectKey:y}})}let v="sprint_started"===h||"sprint_closed"===h;if(!v&&!g)return await f("IGNORED","Payload has no issue key"),{outcome:"IGNORED",event:h,issueKey:g,triggersRecorded:0};let k=[];if("jira:issue_deleted"===h)await this.jira.deleteCachedTicket(g),k.push({key:g,projectKey:y});else if(v){let e=function(e){let t=oI(oA(e.sprint)?.id);if(!t)return null;let r=Number(t);return Number.isSafeInteger(r)&&r>0?r:null}(t);if(!e)return await f("IGNORED","Payload has no valid sprint ID"),{outcome:"IGNORED",event:h,issueKey:g,triggersRecorded:0};let r=await this.jira.refreshSprintTickets(e);k.push(...r.map(e=>({key:e.key,projectKey:e.projectKey})))}else if("jira:issue_updated"===h){let e=await this.jira.refreshCachedTicket(g,w);k.push({key:e.key,projectKey:e.projectKey})}else if(og.has(h)){let e=await Promise.all(b.map(e=>this.jira.refreshCachedTicket(e)));k.push(...e.map(e=>({key:e.key,projectKey:e.projectKey})))}let S=g?await this.recordWebhookTrigger({event:h,deliveryId:p,issueKey:g,projectKey:y,retries:m,payload:t}):0;for(let e of k)oh.agentEventBus.publish(oh.JIRA_TICKET_CHANGED_TOPIC,{jiraTicketChanged:{issueKey:e.key,projectKey:e.projectKey,event:h}});return await f("PROCESSED"),{outcome:"PROCESSED",event:h,issueKey:g,triggersRecorded:S}}catch(t){let e=t instanceof Error?t.message:String(t);throw await f("ERROR",e),t}finally{await this.prune().catch(()=>void 0)}}async recordWebhookTrigger(e){if(!this.workflowEvents)return 0;let t=oy[e.event];if(!t)return 0;let{payload:r}=e,i=oA(r.issue),a=oA(i?.fields),n=oA(r.comment),s=oA(r.attachment),o=oA(r.issueLink),l=oA(a?.status),u=ox(r.changelog),c={ticket:{key:e.issueKey,title:oE(a?.summary),type:oE(oA(a?.issuetype)?.name),status:oE(l?.name),statusId:oE(l?.id),statusCategory:oE(oA(l?.statusCategory)?.key),assignee:oE(oA(a?.assignee)?.displayName),assigneeAccountId:oE(oA(a?.assignee)?.accountId),labels:Array.isArray(a?.labels)?a.labels:[],projectKey:e.projectKey,url:null},comment:n?{id:oE(n.id),body:oE(n.body)??"",author:oC(n.author)}:null,attachment:s?{id:oE(s.id),filename:oE(s.filename),mimeType:oE(s.mimeType),author:oC(s.author)}:null,link:o?{id:oE(o.id),type:oE(oA(o.issueLinkType)?.name),sourceIssueId:oE(o.sourceIssueId),destinationIssueId:oE(o.destinationIssueId)}:null,user:oC(r.user),changelog:u};return+!!await this.workflowEvents.record({kind:t,subjectKey:e.issueKey,dedupeKey:`jira-webhook-trigger:${e.deliveryId}:${t}`,payload:{...c,sessionData:c,cursorValue:`${e.deliveryId}:${t}`,webhook:{event:e.event,deliveryId:e.deliveryId,retryCount:e.retries}}})}},"subscribeJiraTicketChanges",0,function(){return oh.agentEventBus.iterate(oh.JIRA_TICKET_CHANGED_TOPIC)},"subscribeJiraWebhookDeliveries",0,function(){return oh.agentEventBus.iterate(oh.JIRA_WEBHOOK_DELIVERY_TOPIC)}],642983),e.s([],151666)},984179,e=>{"use strict";let t=new Set(["QUEUED","PREPARING","RUNNING"]);e.s(["buildOutOfDate",0,function(e){let r;if(t.has(e.status)||!e.worktree||(e.worktree._count?.builds??0)>0||e.finishedAt&&(!e.worktree.lastCheckedAt||e.worktree.lastCheckedAt<e.finishedAt))return!1;try{r=JSON.parse(e.snapshotJson)}catch{return!1}if(!r||"object"!=typeof r||Array.isArray(r))return!1;let i=r.worktree;if(!i||"object"!=typeof i||Array.isArray(i))return!1;if("string"==typeof i.codeStateHash&&e.worktree.codeStateHash)return i.codeStateHash!==e.worktree.codeStateHash;if("string"==typeof i.headSha&&e.worktree.headSha!==i.headSha)return!0;if("boolean"==typeof i.hasStagedChanges){if(i.hasStagedChanges!==e.worktree.hasStagedChanges)return!0}else if(e.worktree.hasStagedChanges)return!0;return"boolean"==typeof i.hasUnstagedChanges?i.hasUnstagedChanges!==e.worktree.hasUnstagedChanges:e.worktree.hasUnstagedChanges}])},396763,504173,518733,925991,e=>{"use strict";var t=e.i(666680),r=e.i(885418),i=e.i(243783);e.i(805422);var a=e.i(694355),n=e.i(661983),s=e.i(750227),o=e.i(184015),l=e.i(119909),u=e.i(988349),c=e.i(497800),d=e.i(835544),p=e.i(499162);e.i(107058);var h=e.i(963910);e.i(151666);var m=e.i(468399),f=e.i(984179);let g="default",y=["QUEUED","RUNNING"],w=["PUSHING","CHECKING_OUT","AWAITING_STASH","CLEANING_UP"],b=["gray","stone","red","rose","orange","amber","yellow","lime","green","emerald","teal","cyan","sky","blue","indigo","violet","purple","fuchsia","pink"],v={codebase:{include:{agent:!0,repository:{include:{projects:{where:{type:"IOS_APP"},include:{configurations:{select:{id:!0}}}}}},jobs:{where:{status:{in:y}},orderBy:{createdAt:"desc"},take:1}}},tags:{include:{tag:!0}},builds:{orderBy:{createdAt:"desc"},take:1,select:{id:!0,status:!0,action:!0,destinationType:!0,destinationJson:!0,snapshotJson:!0,createdAt:!0,finishedAt:!0,artifacts:{select:{id:!0,kind:!0}}}},autoSync:!0,autoMerge:!0,pullRequest:!0,_count:{select:{builds:{where:{status:{in:["QUEUED","PREPARING","RUNNING"]}}}}}};function k(e){return null!==e.lastSeenAt&&Date.now()-e.lastSeenAt.getTime()<=(0,a.agentOnlineWindowMs)(e)&&null===e.disconnectedAt}function S(e){try{let t=JSON.parse(e.capabilitiesJson);return Array.isArray(t)?t.filter(e=>"string"==typeof e):[]}catch{return[]}}function E(e){try{let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>"string"==typeof e):[]}catch{return[]}}function I(e,t){if(!e||!t)return null;try{let r=RegExp(t,"i").exec(e),i=(r?.[1]??r?.[0])?.trim();return i?i.toUpperCase():null}catch{return null}}function x(e,t){return{id:e.githubId,number:e.number,title:e.title,url:e.url,repositoryGithubId:e.repositoryGithubId,repositoryNameWithOwner:e.repositoryNameWithOwner,repositoryUrl:e.repositoryUrl,labels:function(e){try{let t=JSON.parse(e);return Array.isArray(t)?t:[]}catch{return[]}}(e.labelsJson),jiraKey:e.jiraKey,pipelineStatus:t?.pipelineStatus??"NONE",pipelines:t?.pipelines??[],pipelineRevision:t?.revision??0,reviewDecision:e.reviewDecision,unresolvedReviewThreadCount:e.unresolvedReviewThreadCount,state:e.state,isDraft:e.isDraft,mergeable:e.mergeable,mergeStateStatus:e.mergeStateStatus,autoMergeEnabled:e.autoMergeEnabled,viewerCanEnableAutoMerge:e.viewerCanEnableAutoMerge,viewerCanDisableAutoMerge:e.viewerCanDisableAutoMerge,headRefOid:e.headRefOid,headRefName:e.headRefName,worktreeId:e.worktreeId,worktreeHighlightColor:null,createdAt:e.githubCreatedAt.toISOString()}}function A(e){return{reviewDecision:e.reviewDecision,unresolvedReviewThreadCount:e.unresolvedReviewThreadCount,state:e.state,isDraft:e.isDraft,mergeable:e.mergeable,mergeStateStatus:e.mergeStateStatus,autoMergeEnabled:e.autoMergeEnabled,viewerCanEnableAutoMerge:e.viewerCanEnableAutoMerge,viewerCanDisableAutoMerge:e.viewerCanDisableAutoMerge,headRefOid:e.headRefOid}}function _(e){return/^[A-Za-z]:[\\/]/.test(e)||e.startsWith("\\\\")}function C(e,t){if(!t)return e;let r=_(t);if(r!==_(e))return e;let i=r?s.win32:s.posix,a=i.relative(t,e);return i.isAbsolute(a)||".."===a||a.startsWith(`..${i.sep}`)?e:a||"."}function R(e){if("SUCCEEDED"!==e.status||!e.resultJson)throw Error(e.error||"Worktree job failed");let t=JSON.parse(e.resultJson);if(!t||"object"!=typeof t||Array.isArray(t))throw Error("Worktree job returned an invalid result");return t}function T(e,t,r){if(!t||!e.has(t))return;let i=e.get(t);i.some(e=>e.kind===r.kind&&e.id===r.id)||i.push(r)}async function D(e){let t=[...new Set(e.filter(Boolean))],r=new Map(t.map(e=>[e,[]]));if(!t.length)return r;let a=await (0,i.getPrismaClient)(),[n,s,o,l]=await Promise.all([a.build.findMany({where:{worktreeId:{in:t},OR:[{status:{in:["PREPARING","RUNNING"]}},{status:"QUEUED",job:{status:"RUNNING"}}]},select:{id:!0,worktreeId:!0}}),a.agentRun.findMany({where:{worktreeId:{in:t},attempts:{some:{status:{in:["STARTING","RUNNING"]},supersededAt:null}}},select:{id:!0,kind:!0,displayNumber:!0,worktreeId:!0}}),a.workflowStepAttempt.findMany({where:{status:"RUNNING",supersededAt:null},select:{id:!0,run:{select:{id:!0,displayNumber:!0,sessionDataJson:!0}}}}),a.agentJob.findMany({where:{worktreeId:{in:t},status:"RUNNING",kind:{startsWith:"workflow."}},select:{id:!0,worktreeId:!0}})]);for(let e of n)T(r,e.worktreeId,{kind:"BUILD",id:e.id,label:"Build",href:`/builds/${encodeURIComponent(e.id)}`});for(let e of s){let t="PLAN"===e.kind?"PLAN":"SESSION";T(r,e.worktreeId,{kind:t,id:e.id,label:`${"PLAN"===t?"Plan":"Session"} #${e.displayNumber}`,href:`/${"PLAN"===t?"plans":"sessions"}/${encodeURIComponent(e.id)}`})}for(let e of o)T(r,function(e){try{let t=JSON.parse(e);if(!t||"object"!=typeof t||Array.isArray(t))return null;let r=t.worktree;if(!r||"object"!=typeof r||Array.isArray(r))return null;let i=r.id;return"string"==typeof i&&i?i:null}catch{return null}}(e.run.sessionDataJson),{kind:"WORKFLOW",id:e.run.id,label:`Workflow run #${e.run.displayNumber}`,href:`/workflows/runs/${encodeURIComponent(e.run.id)}`});for(let e of l)T(r,e.worktreeId,{kind:"WORKFLOW_JOB",id:e.id,label:"Workflow terminal job",href:`/jobs/${encodeURIComponent(e.id)}`});return r}e.s(["WorktreesService",0,class{agentControl;jiraService;gitHubService;skillsService;workflowEvents;pipelineStatus;watchDemand;constructor(e,t,r,i,a,n=new h.GitHubPipelineStatusService){this.agentControl=e,this.jiraService=t,this.gitHubService=r,this.skillsService=i,this.workflowEvents=a,this.pipelineStatus=n,this.watchDemand=new Map,this.agentControl.registerCompletionHandler(l.WORKTREE_OPERATION_JOB_KIND,e=>this.projectOperation(e)),this.agentControl.registerCompletionHandler(l.WORKTREE_AUTO_SYNC_JOB_KIND,e=>this.projectOperation(e)),this.agentControl.registerCompletionHandler(l.WORKTREE_GIT_OPERATION_JOB_KIND,e=>this.projectOperation(e)),this.agentControl.registerCompletionHandler(l.WORKTREE_BRANCH_JOB_KIND,e=>this.projectBranchOperation(e)),this.agentControl.registerCompletionHandler(l.WORKTREE_MOVE_PUSH_JOB_KIND,e=>this.advanceMoveAfterPush(e)),this.agentControl.registerCompletionHandler(l.WORKTREE_MOVE_CHECKOUT_JOB_KIND,e=>this.advanceMoveAfterCheckout(e)),this.agentControl.registerCompletionHandler(l.WORKTREE_DELETE_JOB_KIND,e=>this.projectDeleteOperation(e))}async settings(){return(await (0,i.getPrismaClient)()).worktreeSettings.upsert({where:{id:g},create:{id:g,editorVariant:"CODE"},update:{}})}async saveSettings(e){if(!["CODE","CODE_INSIDERS","NONE"].includes(e))throw Error("Unknown editor setting");let t=await (0,i.getPrismaClient)(),r=await t.worktreeSettings.upsert({where:{id:g},create:{id:g,editorVariant:e},update:{editorVariant:e}});return this.publish(null,null),r}async requestRefresh(){let e=await (0,i.getPrismaClient)(),t=await e.codebase.findMany({select:{agentId:!0}});return this.agentControl.requestCodebaseReconcile(t.map(e=>e.agentId))}async cleanupExpired(){let e=await (0,i.getPrismaClient)();await e.worktree.deleteMany({where:{missingAt:{lt:new Date(Date.now()-6048e5)}}})}view(e,t=""){let r=e.codebase.repository.jiraBranchRegex??t;return{...e,relativePath:C(e.folder,e.codebase.agent.baseRepoDirectory),tags:e.tags.map(e=>e.tag),activeJob:e.codebase.jobs.find(t=>t.worktreeId===e.id)??e.codebase.jobs[0]??null,baseBranch:e.baseBranchOverride??e.codebase.defaultBranch??null,ticketKey:I(e.branch,String(r)),ticketTitle:null,ticketStatus:null,pullRequest:e.pullRequest?x(e.pullRequest):null,latestBuild:e.builds?.[0]?{...e.builds[0],outOfDate:(0,f.buildOutOfDate)({...e.builds[0],worktree:e})}:null}}async storePullRequest(e,t,r,a){let n=await (0,i.getPrismaClient)(),s=new Date;await n.$transaction(async i=>{if(await i.worktree.update({where:{id:e},data:{pullRequestLookupOrigin:t,pullRequestLookupBranch:r,pullRequestLookupAt:s}}),a){let t={githubId:a.id,number:a.number,title:a.title,url:a.url,repositoryGithubId:a.repositoryGithubId,repositoryNameWithOwner:a.repositoryNameWithOwner,repositoryUrl:a.repositoryUrl,labelsJson:JSON.stringify(a.labels),jiraKey:a.jiraKey,reviewDecision:a.reviewDecision,unresolvedReviewThreadCount:a.unresolvedReviewThreadCount,state:a.state,isDraft:a.isDraft,mergeable:a.mergeable,mergeStateStatus:a.mergeStateStatus,autoMergeEnabled:a.autoMergeEnabled,viewerCanEnableAutoMerge:a.viewerCanEnableAutoMerge,viewerCanDisableAutoMerge:a.viewerCanDisableAutoMerge,headRefOid:a.headRefOid,headRefName:a.headRefName,githubCreatedAt:new Date(a.createdAt)};await i.worktreePullRequest.upsert({where:{worktreeId:e},create:{worktreeId:e,...t},update:t})}else await i.worktreePullRequest.deleteMany({where:{worktreeId:e}})})}async clearPullRequest(e,t=!0){let r=await (0,i.getPrismaClient)();await r.$transaction([r.worktreePullRequest.deleteMany({where:{worktreeId:e}}),...t?[r.worktree.update({where:{id:e},data:{pullRequestLookupOrigin:null,pullRequestLookupBranch:null,pullRequestLookupAt:null}})]:[]])}async synchronizePullRequests(e){let t=await (0,i.getPrismaClient)(),r=await this.gitHubService.effectiveCacheTtlSeconds("GitHubWorktreePullRequests")*1e3,a=new Set,n=new Map;for(let t of e){let e=t.codebase.repository.canonicalOrigin;!(t.branch&&t.pullRequestLookupOrigin?.toLowerCase()===e.toLowerCase()&&t.pullRequestLookupBranch===t.branch)&&(t.pullRequest||t.pullRequestLookupOrigin||t.pullRequestLookupBranch||t.pullRequestLookupAt)&&(await this.clearPullRequest(t.id),t.pullRequest=null,t.pullRequestLookupOrigin=null,t.pullRequestLookupBranch=null,t.pullRequestLookupAt=null)}let s=e.filter(e=>e.pullRequest);if(s.length)try{let e=await this.gitHubService.pullRequestLiveStatuses(s.flatMap(e=>e.pullRequest?[e.pullRequest.id]:[]),{requestSource:"WORKTREES"});for(let r of s){let i=r.pullRequest;if(!i)continue;let s=e.get(i.id)??null;if(!s||"OPEN"!==s.state){n.set(r.id,i),r.pullRequest=null,a.add(r.id);continue}let o=A(s),l=A(i);JSON.stringify(o)!==JSON.stringify(l)&&(await t.worktreePullRequest.updateMany({where:{worktreeId:r.id},data:o}),r.pullRequest={...i,...s})}}catch{}let o=Date.now(),l=e.filter(e=>{if(e.pullRequest||!e.branch)return!1;let t=e.codebase.repository.canonicalOrigin;return!!/^github\.com\/[^/]+\/[^/]+$/i.test(t)&&(!!a.has(e.id)||e.pullRequestLookupOrigin?.toLowerCase()!==t.toLowerCase()||e.pullRequestLookupBranch!==e.branch||!e.pullRequestLookupAt||o-e.pullRequestLookupAt.getTime()>=r)}),u=new Map;for(let e of l){let t=e.codebase.repository.canonicalOrigin,r=`${a.has(e.id)?"force":"cached"}\0${t}`;u.set(r,[...u.get(r)??[],e])}await Promise.all([...u.entries()].map(async([e,t])=>{let r=e.startsWith("force\0"),i=t[0].codebase.repository.canonicalOrigin;try{let e=await this.gitHubService.pullRequestsForBranches(i,t.flatMap(e=>e.branch?[e.branch]:[]),{force:r,allowStaleOnError:!r,requestSource:"WORKTREES"});await Promise.all(t.map(async t=>{let r=t.branch,a=e.get(r)??null;await this.storePullRequest(t.id,i,r,a),t.pullRequest=a,t.pullRequestLookupOrigin=i,t.pullRequestLookupBranch=r,t.pullRequestLookupAt=new Date}))}catch{for(let e of t){let t=n.get(e.id);t&&(e.pullRequest=t)}}}))}async hydratePullRequestPipelines(e){let t=new Map((await this.pipelineStatus.snapshots(e.flatMap(e=>e.pullRequest?[{repositoryGithubId:e.pullRequest.repositoryGithubId,headSha:e.pullRequest.headRefOid}]:[]))).map(e=>[`${e.repositoryGithubId}\u0000${e.headSha}`,e]));for(let r of e){if(!r.pullRequest)continue;let e=t.get(`${r.pullRequest.repositoryGithubId}\u0000${r.pullRequest.headRefOid}`);r.pullRequest={...r.pullRequest,pipelineStatus:e?.pipelineStatus??r.pullRequest.pipelineStatus,pipelines:e?.pipelines??r.pullRequest.pipelines,pipelineRevision:e?.revision??r.pullRequest.pipelineRevision??0}}}async hydratedView(e,t=""){let r=this.view(e,t);return await this.hydratePullRequestPipelines([r]),r}async refreshPullRequest(e){let t=await (0,i.getPrismaClient)(),r=await t.worktree.findUnique({where:{id:e},include:v});if(!r||r.missingAt)throw Error("Worktree not found");let a=r.codebase.repository.canonicalOrigin;if(!r.branch)throw Error("A named worktree branch is required");if(!/^github\.com\/[^/]+\/[^/]+$/i.test(a))throw Error("The worktree repository is not hosted on GitHub");let n=await this.gitHubService.pullRequestsForBranches(a,[r.branch],{force:!0,allowStaleOnError:!1,requestSource:"WORKTREES"});await this.storePullRequest(e,a,r.branch,n.get(r.branch)??null);let s=await t.worktree.findUniqueOrThrow({where:{id:e},include:v});return this.publish(e,r.codebaseId),this.hydratedView(s)}async attachPullRequestForBranch(e,t,r){let a=await (0,i.getPrismaClient)(),n=(await a.worktree.findMany({where:{branch:t,missingAt:null},select:{id:!0,codebaseId:!0,codebase:{select:{repository:{select:{canonicalOrigin:!0}}}}}})).filter(t=>t.codebase.repository.canonicalOrigin.toLowerCase()===e.toLowerCase());return await Promise.all(n.map(async i=>{await this.storePullRequest(i.id,e,t,r),this.publish(i.id,i.codebaseId)})),n.length}async overview(){await this.cleanupExpired();let e=await (0,i.getPrismaClient)(),[t,r,a,n,s,o]=await Promise.all([e.worktree.findMany({where:{missingAt:null},include:v,orderBy:[{codebase:{agent:{name:"asc"}}},{codebase:{repository:{name:"asc"}}},{primary:"desc"},{branch:"asc"},{folder:"asc"}]}),e.worktreeTag.findMany({orderBy:{name:"asc"}}),this.settings(),e.codebaseSettings.findUnique({where:{id:"default"}}),e.worktree.count({where:{missingAt:{not:null}}}),e.worktreeMove.findMany({where:{status:{in:w}},orderBy:{createdAt:"asc"}})]),l=n?.defaultJiraBranchRegex??"",u=t.map(e=>this.view(e,l)),p=[...new Set(u.map(e=>e.codebase.repository.id))],h=(await e.workflow.findMany({where:{enabled:!0,archivedAt:null,activeVersionId:{not:null},quickActionKind:{in:["STANDARD","MERGE_CONFLICT"]},OR:[{quickActionRepositories:{none:{}}},{quickActionRepositories:{some:{repositoryId:{in:p}}}}]},include:{activeVersion:{include:{triggers:!0}},quickActionRepositories:{select:{repositoryId:!0}}},orderBy:[{name:"asc"},{id:"asc"}]})).filter(e=>e.activeVersion?.triggers.some(e=>{if(!(0,d.isResourceTriggerKind)(e.kind))return!1;try{return"WORKTREE"===(0,c.workflowResourceKind)(JSON.parse(e.configJson))}catch{return!1}}));await this.synchronizePullRequests(u),await this.hydratePullRequestPipelines(u);let m=[...new Set(u.map(e=>e.ticketKey).filter(Boolean))],f=new Map;for(let e of(await Promise.all(m.map(async e=>{try{let t=await this.jiraService.cachedTicket(e)??await this.jiraService.ticket(e);f.set(e,{title:t.summary,status:t.status})}catch{}})),u))e.ticketTitle=e.ticketKey?f.get(e.ticketKey)?.title??null:null,e.ticketStatus=e.ticketKey?f.get(e.ticketKey)?.status??null:null;let g=new Map;for(let e of u){let t=e.codebase.agent,r=g.get(t.id);r||(r={agent:t,codebases:[],codebaseMap:new Map},g.set(t.id,r));let i=r.codebaseMap.get(e.codebase.id);i||(i={codebase:e.codebase,repository:e.codebase.repository,worktrees:[],iosBuildConfigured:e.codebase.repository.projects?.some(e=>e.configurations.length>0)??!1,quickActions:h.filter(t=>"STANDARD"===t.quickActionKind&&(0===t.quickActionRepositories.length||t.quickActionRepositories.some(({repositoryId:t})=>t===e.codebase.repository.id))),mergeConflictQuickActions:h.filter(t=>"MERGE_CONFLICT"===t.quickActionKind&&(0===t.quickActionRepositories.length||t.quickActionRepositories.some(({repositoryId:t})=>t===e.codebase.repository.id)))},r.codebaseMap.set(e.codebase.id,i),r.codebases.push(i)),i.worktrees.push(e)}return{agents:[...g.values()].map(e=>({agent:e.agent,codebases:e.codebases})),tags:r,settings:a,hiddenCount:s,activeMoves:o}}async hidden(){await this.cleanupExpired();let e=await (0,i.getPrismaClient)(),t=await e.codebaseSettings.findUnique({where:{id:"default"}}),r=(await e.worktree.findMany({where:{missingAt:{not:null}},include:v,orderBy:{missingAt:"desc"}})).map(e=>this.view(e,t?.defaultJiraBranchRegex??""));return await this.hydratePullRequestPipelines(r),r}async report(e,r){let a=await (0,i.getPrismaClient)(),n=[],s=!1;for(let i of r.slice(0,100)){let r=(0,l.parseCodebaseWorktreeReport)(i),o=await a.codebase.findUnique({where:{id:r.codebaseId}});if(!o||o.agentId!==e)throw Error("Codebase not found for this agent");let u=r.worktrees.slice(0,1e3).map(e=>(0,l.parseWorktreeInventoryItem)(e)),c=await a.worktree.findMany({where:{codebaseId:o.id},select:{gitDirectory:!0,folder:!0,missingAt:!0}}),d=new Map(c.map(e=>[e.gitDirectory,e])),p=new Set(u.map(e=>e.gitDirectory));s||=u.some(e=>{let t=d.get(e.gitDirectory);return!t||t.folder!==e.folder||null!==t.missingAt})||r.complete&&c.some(e=>null===e.missingAt&&!p.has(e.gitDirectory)),await a.$transaction(async e=>{await e.codebase.update({where:{id:o.id},data:{defaultBranch:r.defaultBranch,localBranchesJson:JSON.stringify(r.localBranches),remoteBranchesJson:JSON.stringify(r.remoteBranches),...r.fetchedAt?{lastFetchedAt:new Date(r.fetchedAt)}:{},...r.fetchAttemptedAt?{lastFetchAttemptAt:new Date(r.fetchAttemptedAt),lastFetchError:r.fetchError}:r.fetchError?{lastFetchError:r.fetchError}:{}}});let i=[];for(let r of u){i.push(r.gitDirectory);let a=await e.worktree.upsert({where:{codebaseId_gitDirectory:{codebaseId:o.id,gitDirectory:r.gitDirectory}},create:{id:(0,t.randomUUID)(),codebaseId:o.id,gitDirectory:r.gitDirectory,...this.inventoryData(r)},update:{}}),s=a.branch!==r.branch,l=await e.worktree.updateMany({where:{id:a.id,OR:[{lastCheckedAt:null},{lastCheckedAt:{lt:new Date(r.checkedAt)}}]},data:{...this.inventoryData(r),missingAt:null,...s?{pullRequestLookupOrigin:null,pullRequestLookupBranch:null,pullRequestLookupAt:null}:{}}});s&&l.count>0&&await e.worktreePullRequest.deleteMany({where:{worktreeId:a.id}}),n.push(a.id)}r.complete&&await e.worktree.updateMany({where:{codebaseId:o.id,missingAt:null,...i.length?{gitDirectory:{notIn:i}}:{}},data:{missingAt:new Date}})}),this.publish(null,o.id)}return await this.cleanupExpired(),s&&await this.skillsService?.requestAutoReconcile(),a.worktree.findMany({where:{id:{in:n}},include:v})}async reportActivity(e,t){let r=(0,l.parseWorktreeActivityReport)(t),a=await (0,i.getPrismaClient)(),s=await a.worktree.findFirst({where:{codebaseId:r.codebaseId,gitDirectory:r.gitDirectory,missingAt:null,codebase:{agentId:e}},select:{id:!0,codebaseId:!0,branch:!0}});if(!s)throw Error("Worktree activity source was not found");let o=void 0!==r.branch||void 0!==r.headSha||void 0!==r.upstream||void 0!==r.ahead||void 0!==r.behind||void 0!==r.syncState||void 0!==r.baseAhead||void 0!==r.baseBehind,u=!0;if(o||void 0!==r.hasStagedChanges||void 0!==r.hasUnstagedChanges||void 0!==r.rebaseInProgress||void 0!==r.hasConflicts||void 0!==r.codeStateHash||void 0!==r.pushStatus){let e=void 0!==r.branch&&r.branch!==s.branch;(u=(await a.worktree.updateMany({where:{id:s.id,OR:[{lastCheckedAt:null},{lastCheckedAt:{lt:new Date(r.observedAt)}}]},data:{...void 0===r.branch?{}:{branch:r.branch},...e?{pullRequestLookupOrigin:null,pullRequestLookupBranch:null,pullRequestLookupAt:null}:{},...void 0===r.headSha?{}:{headSha:r.headSha},...void 0===r.upstream?{}:{upstream:r.upstream},...void 0===r.ahead?{}:{ahead:r.ahead},...void 0===r.behind?{}:{behind:r.behind},...void 0===r.syncState?{}:{syncState:r.syncState},...void 0===r.baseAhead?{}:{baseAhead:r.baseAhead},...void 0===r.baseBehind?{}:{baseBehind:r.baseBehind},lastCheckedAt:new Date(r.observedAt),...void 0===r.hasStagedChanges?{}:{hasStagedChanges:r.hasStagedChanges},...void 0===r.hasUnstagedChanges?{}:{hasUnstagedChanges:r.hasUnstagedChanges},...void 0===r.rebaseInProgress?{}:{rebaseInProgress:r.rebaseInProgress},...void 0===r.hasConflicts?{}:{hasConflicts:r.hasConflicts},...void 0===r.codeStateHash?{}:{codeStateHash:r.codeStateHash},...void 0===r.pushStatus?{}:{pushStatus:r.pushStatus}}})).count>0)&&(e&&await a.worktreePullRequest.deleteMany({where:{worktreeId:s.id}}),this.publish(s.id,s.codebaseId))}let c={worktreeId:s.id,...void 0===r.branch?{}:{branch:r.branch},...void 0===r.headSha?{}:{headSha:r.headSha},...void 0===r.upstream?{}:{upstream:r.upstream},...void 0===r.ahead?{}:{ahead:r.ahead},...void 0===r.behind?{}:{behind:r.behind},...void 0===r.syncState?{}:{syncState:r.syncState},...void 0===r.baseAhead?{}:{baseAhead:r.baseAhead},...void 0===r.baseBehind?{}:{baseBehind:r.baseBehind},...void 0===r.hasStagedChanges?{}:{hasStagedChanges:r.hasStagedChanges},...void 0===r.hasUnstagedChanges?{}:{hasUnstagedChanges:r.hasUnstagedChanges},...void 0===r.rebaseInProgress?{}:{rebaseInProgress:r.rebaseInProgress},...void 0===r.hasConflicts?{}:{hasConflicts:r.hasConflicts},...void 0===r.pushStatus?{}:{pushStatus:r.pushStatus},observedAt:r.observedAt};return this.watchDemand.has(s.id)&&u&&n.agentEventBus.publish((0,n.worktreeInspectionTopic)(s.id),{worktreeInspectionChanged:c}),c}inventoryData(e){return{folder:e.folder,relativePath:e.relativePath,primary:e.primary,branch:e.branch,headSha:e.headSha,codeStateHash:e.codeStateHash??null,upstream:e.upstream,ahead:e.ahead,behind:e.behind,syncState:e.syncState,baseAhead:e.baseAhead,baseBehind:e.baseBehind,hasStagedChanges:e.hasStagedChanges??!1,hasUnstagedChanges:e.hasUnstagedChanges??!1,rebaseInProgress:e.rebaseInProgress??!1,hasConflicts:e.hasConflicts??!1,pushStatus:e.pushStatus??"UNKNOWN",availability:e.availability,statusError:e.error,lastCheckedAt:new Date(e.checkedAt)}}async updateBaseBranch(e,t){let r=await (0,i.getPrismaClient)(),a=await r.worktree.findUnique({where:{id:e},include:{codebase:!0}});if(!a||a.missingAt)throw Error("Worktree not found");let n=t?.trim()||null;if(n&&!E(a.codebase.remoteBranchesJson).includes(n))throw Error("The selected origin branch is unavailable; fetch and try again");let s=await r.worktree.update({where:{id:e},data:{baseBranchOverride:n},include:v});return this.publish(e,a.codebaseId),await this.restartWatch(e),this.hydratedView(s)}requireColor(e){if(null===e||""===e)return null;if(!b.includes(e))throw Error("Unknown worktree color");return e}async updateHighlight(e,t){let r=await (0,i.getPrismaClient)(),a=await r.worktree.update({where:{id:e},data:{highlightColor:this.requireColor(t)},include:v});return this.publish(e,a.codebaseId),this.hydratedView(a)}async setTags(e,t){let r=await (0,i.getPrismaClient)(),a=[...new Set(t)].slice(0,100);if(await r.worktreeTag.count({where:{id:{in:a}}})!==a.length)throw Error("One or more tags were not found");await r.$transaction([r.worktreeTagAssignment.deleteMany({where:{worktreeId:e}}),...a.length?[r.worktreeTagAssignment.createMany({data:a.map(t=>({worktreeId:e,tagId:t}))})]:[]]);let n=await r.worktree.findUniqueOrThrow({where:{id:e},include:v});return this.publish(e,n.codebaseId),this.hydratedView(n)}async saveTag(e){let r=e.name.trim();if(!r||r.length>40)throw Error("Tag names must contain 1–40 characters");let a=this.requireColor(e.color),n=await (0,i.getPrismaClient)(),s=(await n.worktreeTag.findMany()).find(e=>e.name.toLocaleLowerCase()===r.toLocaleLowerCase());if(s&&s.id!==e.id)throw Error("Tag names must be unique");let o=e.id?await n.worktreeTag.update({where:{id:e.id},data:{name:r,color:a}}):await n.worktreeTag.create({data:{id:(0,t.randomUUID)(),name:r,color:a}});return this.publish(null,null),o}async deleteTag(e){let t=await (0,i.getPrismaClient)(),r=await t.worktreeTag.deleteMany({where:{id:e}});return r.count&&this.publish(null,null),r.count>0}async repositoryTakenBranches(e){let t=await (0,i.getPrismaClient)();return new Set((await t.codebase.findMany({where:{repositoryId:e},select:{localBranchesJson:!0,remoteBranchesJson:!0,worktrees:{where:{missingAt:null},select:{branch:!0}}}})).flatMap(e=>[...E(e.localBranchesJson),...E(e.remoteBranchesJson),...e.worktrees.flatMap(e=>e.branch?[e.branch]:[])]))}requireBaseBranch(e,t){let r=t.trim();if(!r||!E(e.remoteBranchesJson).includes(r))throw Error("The selected origin base branch is unavailable; fetch and try again");return r}async ticketBranch(e,t,r){let i=t?.trim()??"",a=await this.jiraService.branchTicket(i),n=await (0,m.jiraBranchCandidates)(a.branchNamingScript,{ticketKey:a.ticketKey,type:a.ticketType??"",title:a.ticketTitle}),s=await this.repositoryTakenBranches(e.repositoryId),o=n.filter(e=>e===r||!s.has(e));if(!o.length)throw Error("Every generated ticket branch name is already taken");return{ticket:a,candidates:o}}async previewTicketBranch(e){let t=await (0,i.getPrismaClient)(),r=await t.codebase.findUnique({where:{id:e.codebaseId},include:{agent:!0,repository:!0}});if(!r)throw Error("Codebase not found");let a=null;if(e.worktreeId){let r=await t.worktree.findFirst({where:{id:e.worktreeId,codebaseId:e.codebaseId,missingAt:null},select:{branch:!0}});if(!r)throw Error("Worktree not found for this codebase");a=r.branch}let{ticket:n,candidates:s}=await this.ticketBranch(r,e.ticketKey,a);return{ticketKey:n.ticketKey,ticketTitle:n.ticketTitle,ticketType:n.ticketType,projectKey:n.projectKey,branchName:s[0]}}async ticketKeyForWorktree(e){let t=await (0,i.getPrismaClient)(),[r,a]=await Promise.all([t.worktree.findFirst({where:{id:e,missingAt:null},select:{branch:!0,codebase:{select:{repository:{select:{jiraBranchRegex:!0}}}}}}),t.codebaseSettings.findUnique({where:{id:g}})]);if(!r)return null;let n=r.codebase.repository.jiraBranchRegex??a?.defaultJiraBranchRegex??"";return I(r.branch,n)}async workflowSessionDataForWorktree(e,t={}){var r;let a=await (0,i.getPrismaClient)(),[n,s]=await Promise.all([a.worktree.findFirst({where:{id:e,...t.includeMissing?{}:{missingAt:null}},select:{id:!0,folder:!0,branch:!0,baseBranchOverride:!0,headSha:!0,upstream:!0,ahead:!0,behind:!0,syncState:!0,baseAhead:!0,baseBehind:!0,rebaseInProgress:!0,hasConflicts:!0,pushStatus:!0,hasStagedChanges:!0,hasUnstagedChanges:!0,missingAt:!0,pullRequest:!0,codebase:{select:{id:!0,folder:!0,agentId:!0,branch:!0,headSha:!0,defaultBranch:!0,agent:{select:{id:!0,name:!0,hostname:!0}},repository:{select:{id:!0,name:!0,displayOrigin:!0,canonicalOrigin:!0,jiraBranchRegex:!0}}}}}}),a.codebaseSettings.findUnique({where:{id:g}})]);if(!n)return{};let o=n.codebase.repository,l=o.jiraBranchRegex??s?.defaultJiraBranchRegex??"",u=I(n.branch,l),c=null;if(u)try{c=await this.jiraService.cachedTicket(u)}catch{}let d=n.pullRequest?await this.pipelineStatus.snapshot({repositoryGithubId:n.pullRequest.repositoryGithubId,headSha:n.pullRequest.headRefOid}):null;return{worktree:{id:n.id,path:n.folder,branch:n.branch,baseBranch:n.baseBranchOverride??n.codebase.defaultBranch,headSha:n.headSha,upstream:n.upstream,ahead:n.ahead,behind:n.behind,syncState:n.syncState,baseAhead:n.baseAhead,baseBehind:n.baseBehind,rebaseInProgress:n.rebaseInProgress,hasConflicts:n.hasConflicts,pushStatus:n.pushStatus,dirty:n.hasStagedChanges||n.hasUnstagedChanges,missingAt:n.missingAt?.toISOString()??null},codebase:{id:n.codebase.id,folder:n.codebase.folder,agentId:n.codebase.agentId,branch:n.codebase.branch,headSha:n.codebase.headSha},agent:n.codebase.agent,repo:{id:o.id,name:o.name,url:o.displayOrigin,canonicalOrigin:o.canonicalOrigin,displayOrigin:o.displayOrigin,defaultBranch:n.codebase.defaultBranch},...n.pullRequest?{pr:{...r=x(n.pullRequest,d),headBranch:r.headRefName,headSha:r.headRefOid,merged:"MERGED"===r.state}}:{},...u?{ticket:{key:u,title:c?.summary??null,status:c?.status??null,projectKey:c?.projectKey??null}}:{}}}async workflowSessionDataForPullRequest(e,t,r){let a=e.trim().toLowerCase(),n=t.trim().toLowerCase();if(!a||!n||!Number.isInteger(r)||r<1)return{};let s=await (0,i.getPrismaClient)(),o=await s.worktreePullRequest.findMany({where:{number:r,worktree:{missingAt:null}},select:{worktreeId:!0,repositoryNameWithOwner:!0},orderBy:{updatedAt:"desc"}}),l=`${a}/${n}`,u=o.find(({repositoryNameWithOwner:e})=>e.toLowerCase()===l);return u?this.workflowSessionDataForWorktree(u.worktreeId):{}}async resolveBranchSelection(e,t,r){let a=this.requireBaseBranch(e,t.baseBranch);if("TICKET"===t.mode){let{candidates:i}=await this.ticketBranch(e,t.ticketKey,r?.branch??null);return{baseBranch:a,mode:"NEW",candidates:i}}let n=t.branchName?.trim()??"";if(!(0,l.validGitBranchName)(n))throw Error("Enter a valid Git branch name");if("NEW"===t.mode){if((await this.repositoryTakenBranches(e.repositoryId)).has(n))throw Error(`Branch ${n} is already taken`);return{baseBranch:a,mode:"NEW",candidates:[n]}}if("EXISTING"!==t.mode)throw Error("Unknown worktree branch mode");if(!new Set([...E(e.localBranchesJson),...E(e.remoteBranchesJson)]).has(n))throw Error(`Existing branch ${n} is unavailable; refresh and try again`);let s=await (0,i.getPrismaClient)();if(await s.worktree.findFirst({where:{codebaseId:e.id,branch:n,missingAt:null,...r?{id:{not:r.id}}:{}},select:{id:!0}}))throw Error(`Branch ${n} is checked out in another worktree`);return{baseBranch:a,mode:"EXISTING",candidates:[n]}}async createWorktree(e){let t=await this.requireRunnableCodebase(e.codebaseId),r=await this.resolveBranchSelection(t,e.selection,null);return this.agentControl.createJob({agentId:t.agentId,codebaseId:t.id,kind:l.WORKTREE_BRANCH_JOB_KIND,payload:{codebaseId:t.id,rootFolder:t.folder,folder:null,gitDirectory:null,expectedOrigin:t.repository.canonicalOrigin,baseBranch:r.baseBranch,action:"CREATE",mode:r.mode,candidates:r.candidates,stashOnFailure:!1},idempotencyKey:`worktree:branch:create:${e.requestId}:${t.id}`,timeoutSeconds:600})}async changeWorktreeBranch(e){let t=await this.requireRunnable(e.worktreeId,l.WORKTREE_BRANCH_JOB_KIND),r=await this.resolveBranchSelection(t.codebase,e.selection,{id:t.id,branch:t.branch});return this.agentControl.createJob({agentId:t.codebase.agentId,codebaseId:t.codebaseId,worktreeId:t.id,kind:l.WORKTREE_BRANCH_JOB_KIND,payload:{codebaseId:t.codebaseId,rootFolder:t.codebase.folder,folder:t.folder,gitDirectory:t.gitDirectory,expectedOrigin:t.codebase.repository.canonicalOrigin,baseBranch:r.baseBranch,action:"CHANGE",mode:r.mode,candidates:r.candidates,stashOnFailure:!!e.stashOnFailure},idempotencyKey:`worktree:branch:change:${e.requestId}:${t.id}`,timeoutSeconds:600})}async getMove(e){return(await (0,i.getPrismaClient)()).worktreeMove.findUnique({where:{id:e}})}async moveWorktree(e){let r,a=await (0,i.getPrismaClient)(),n=await a.worktreeMove.findUnique({where:{sourceWorktreeId_requestId:{sourceWorktreeId:e.sourceWorktreeId,requestId:e.requestId}}});if(n)return n;let s=await this.requireRunnable(e.sourceWorktreeId,l.WORKTREE_MOVE_PUSH_JOB_KIND);if(!s.branch||!s.headSha)throw Error("A named source branch is required");if(s.hasStagedChanges||s.hasUnstagedChanges||"READY"!==s.pushStatus)throw Error("The source branch must be clean and safely pushable before moving");if(e.deleteSource&&s.primary)throw Error("The primary worktree cannot be deleted after moving");if(e.deleteSource&&!S(s.codebase.agent).includes(l.WORKTREE_DELETE_JOB_KIND))throw Error("Source agent must be updated to remove the old worktree");let o=await this.requireRunnableCodebase(e.targetCodebaseId,l.WORKTREE_MOVE_CHECKOUT_JOB_KIND);if(s.codebase.repositoryId!==o.repositoryId||s.codebase.agentId===o.agentId)throw Error("The destination must be the same repository on another agent");let u=e.targetWorktreeId?await a.worktree.findFirst({where:{id:e.targetWorktreeId,codebaseId:o.id,missingAt:null,availability:"AVAILABLE"}}):null;if(e.targetWorktreeId&&!u)throw Error("Destination worktree not found");if(await a.worktree.findFirst({where:{codebaseId:o.id,branch:s.branch,missingAt:null,...u?{id:{not:u.id}}:{}},select:{id:!0}}))throw Error("The source branch is already checked out in another destination worktree");let c=o.defaultBranch??s.codebase.defaultBranch;if(!c)throw Error("The destination default branch is unavailable");let d=(0,t.randomUUID)();try{r=await a.worktreeMove.create({data:{id:d,requestId:e.requestId,sourceWorktreeId:s.id,sourceCodebaseId:s.codebaseId,targetCodebaseId:o.id,targetWorktreeId:u?.id??null,destinationMode:u?"EXISTING":"NEW",branch:s.branch,headSha:s.headSha,baseBranch:c,deleteSource:e.deleteSource,status:"PUSHING"}})}catch(r){let t=await a.worktreeMove.findUnique({where:{sourceWorktreeId_requestId:{sourceWorktreeId:e.sourceWorktreeId,requestId:e.requestId}}});if(t)return t;throw r}try{let e=await this.agentControl.createJob({agentId:s.codebase.agentId,codebaseId:s.codebaseId,worktreeId:s.id,kind:l.WORKTREE_MOVE_PUSH_JOB_KIND,payload:{moveId:r.id,codebaseId:s.codebaseId,folder:s.folder,gitDirectory:s.gitDirectory,expectedOrigin:s.codebase.repository.canonicalOrigin,branch:s.branch,expectedHeadSha:s.headSha},idempotencyKey:`worktree:move:push:${r.id}`,timeoutSeconds:600});return r=await a.worktreeMove.update({where:{id:r.id},data:{sourceJobId:e.id}}),this.publish(s.id,s.codebaseId),r}catch(e){throw await a.worktreeMove.update({where:{id:r.id},data:{status:"FAILED",error:e instanceof Error?e.message:String(e),finishedAt:new Date}}),e}}async retryWorktreeMoveWithStash(e){let t=await (0,i.getPrismaClient)(),r=await t.worktreeMove.findUnique({where:{id:e}});if(!r||"AWAITING_STASH"!==r.status)throw Error("This move is not waiting for a stash decision");let a=await this.createMoveCheckoutJob(r,!0);if(1!==(await t.worktreeMove.updateMany({where:{id:e,status:"AWAITING_STASH"},data:{status:"CHECKING_OUT",targetJobId:a.id,error:null}})).count){let r=await t.worktreeMove.findUniqueOrThrow({where:{id:e}});if("AWAITING_STASH"!==r.status)return r;throw Error("The move state changed; refresh and try again")}return this.publish(r.sourceWorktreeId,r.sourceCodebaseId),t.worktreeMove.findUniqueOrThrow({where:{id:e}})}async cancelWorktreeMove(e){let t=await (0,i.getPrismaClient)(),r=await t.worktreeMove.findUnique({where:{id:e}});if(!r||"AWAITING_STASH"!==r.status)throw Error("Only a move waiting for a stash decision can be cancelled");let a=await t.worktreeMove.update({where:{id:e},data:{status:"CANCELLED",finishedAt:new Date}});return this.publish(r.sourceWorktreeId,r.sourceCodebaseId),a}async deleteWorktree(e){let t=await this.requireRunnable(e.worktreeId,l.WORKTREE_DELETE_JOB_KIND);if(t.primary)throw Error("The primary worktree cannot be deleted");if(void 0!==e.expectedBranch&&t.branch!==e.expectedBranch)throw Error("The worktree branch changed before deletion");if(!0===e.requireClean&&void 0!==e.expectedHeadSha&&t.headSha!==e.expectedHeadSha)throw Error("The worktree HEAD changed before deletion");if(e.deleteRemoteBranch&&(!t.branch||t.branch===t.codebase.defaultBranch))throw Error("The default remote branch cannot be deleted");return this.agentControl.createJob({agentId:t.codebase.agentId,codebaseId:t.codebaseId,worktreeId:t.id,kind:l.WORKTREE_DELETE_JOB_KIND,payload:{moveId:null,codebaseId:t.codebaseId,rootFolder:t.codebase.folder,folder:t.folder,gitDirectory:t.gitDirectory,expectedOrigin:t.codebase.repository.canonicalOrigin,branch:void 0===e.expectedBranch?t.branch:e.expectedBranch,defaultBranch:t.codebase.defaultBranch,deleteRemoteBranch:e.deleteRemoteBranch,requireClean:e.requireClean??!1,expectedHeadSha:!0===e.requireClean?e.expectedHeadSha??t.headSha:null},idempotencyKey:`worktree:delete:${e.requestId}:${t.id}`,timeoutSeconds:600})}async inspect(e,t){let r=await this.requireRunnable(e,l.WORKTREE_INSPECT_JOB_KIND,!0),a=await this.createSerializedCodebaseJob({agentId:r.codebase.agentId,codebaseId:r.codebaseId,worktreeId:r.id,kind:l.WORKTREE_INSPECT_JOB_KIND,payload:this.payload(r),idempotencyKey:`worktree:inspect:${t}:${e}`,timeoutSeconds:30,visibility:"SYSTEM"});try{let e=await this.waitForJob(a.id),i=R(e).detail;if(!i||"object"!=typeof i)throw Error("Invalid worktree detail");let n=Array.isArray(i.changes)?i.changes.map(e=>e&&"object"==typeof e&&!Array.isArray(e)?{...e,changeType:"string"==typeof e.changeType?e.changeType:"MODIFIED"}:e):[],s={...i,changes:n,branchChanges:Array.isArray(i.branchChanges)?i.branchChanges:[],branchChangesTruncated:!0===i.branchChangesTruncated};if(this.workflowEvents){let e=n.filter(e=>e&&"object"==typeof e&&!Array.isArray(e)&&!0===e.conflicted),i=(0,p.mergeSessionData)(await this.workflowSessionDataForWorktree(r.id),{repo:{id:r.codebase.repository.id,name:r.codebase.repository.name,url:r.codebase.repository.displayOrigin,canonicalOrigin:r.codebase.repository.canonicalOrigin,displayOrigin:r.codebase.repository.displayOrigin,defaultBranch:r.codebase.defaultBranch},codebase:{id:r.codebase.id,folder:r.codebase.folder,agentId:r.codebase.agentId},worktree:{id:r.id,path:r.folder,branch:r.branch,headSha:r.headSha,conflicted:e.length>0,conflicts:e}});await this.workflowEvents.record({kind:"WORKTREE_CONFLICT",subjectKey:r.id,dedupeKey:`worktree-conflict:${r.id}:${t}`,payload:{...i,sessionData:i,cursorValue:e.length?e.map(e=>String(e.path??"")):[]}})}return s}finally{let e=await (0,i.getPrismaClient)();await e.agentJob.deleteMany({where:{id:a.id,visibility:"SYSTEM"}})}}async inspectDiff(e,t,r){let a=await this.requireRunnable(e,l.WORKTREE_DIFF_JOB_KIND,!0),n=this.payload(a);if(!n.baseBranch)throw Error("A base branch is required");let s=await this.createSerializedCodebaseJob({agentId:a.codebase.agentId,codebaseId:a.codebaseId,worktreeId:a.id,kind:l.WORKTREE_DIFF_JOB_KIND,payload:{...n,baseBranch:n.baseBranch,scope:t.scope,path:t.path??null,previousPath:t.previousPath??null,commitSha:t.commitSha??null,uploadId:null,side:null},idempotencyKey:`worktree:diff:${r}:${e}`,timeoutSeconds:30,visibility:"SYSTEM"});try{let e=await this.waitForJob(s.id),t=R(e).diff;if(!t||"object"!=typeof t)throw Error("Invalid worktree diff result");return t}finally{let e=await (0,i.getPrismaClient)();await e.agentJob.deleteMany({where:{id:s.id,visibility:"SYSTEM"}})}}async prepareDiffAsset(e,t,r){let a=await this.requireRunnable(e,l.WORKTREE_DIFF_ASSET_JOB_KIND,!0),n=this.payload(a);if(!n.baseBranch)throw Error("A base branch is required");let s=await this.createSerializedCodebaseJob({agentId:a.codebase.agentId,codebaseId:a.codebaseId,worktreeId:a.id,kind:l.WORKTREE_DIFF_ASSET_JOB_KIND,payload:{...n,baseBranch:n.baseBranch,scope:t.scope,path:t.path,previousPath:t.previousPath??null,commitSha:t.commitSha??null,uploadId:r,side:t.side},idempotencyKey:`worktree:diff-asset:${r}:${e}`,timeoutSeconds:60,visibility:"SYSTEM"});try{R(await this.waitForJob(s.id))}finally{let e=await (0,i.getPrismaClient)();await e.agentJob.deleteMany({where:{id:s.id,visibility:"SYSTEM"}})}}async diffAssetAgentId(e){let t=await (0,i.getPrismaClient)(),r=await t.worktree.findUnique({where:{id:e},select:{codebase:{select:{agentId:!0}}}});return r?.codebase.agentId??null}async runOperation(e,t,r){if(!l.WORKTREE_OPERATIONS.includes(t))throw Error("Unknown worktree operation");let i=await this.requireRunnable(e,l.WORKTREE_OPERATION_JOB_KIND),a=await this.settings();return this.agentControl.createJob({agentId:i.codebase.agentId,codebaseId:i.codebaseId,worktreeId:i.id,kind:l.WORKTREE_OPERATION_JOB_KIND,payload:{...this.payload(i),operation:t,..."OPEN_EDITOR"===t?{editorVariant:a.editorVariant}:{}},idempotencyKey:`worktree:operation:${r}:${e}`,timeoutSeconds:"OPEN_EDITOR"===t?30:600})}async createAutoSyncJob(e,t,r,i){let a=await this.requireRunnable(e,l.WORKTREE_AUTO_SYNC_JOB_KIND),n=this.payload(a);if(!n.baseBranch)throw Error("Auto Sync requires a base branch");return this.agentControl.createJob({agentId:a.codebase.agentId,codebaseId:a.codebaseId,worktreeId:a.id,kind:l.WORKTREE_AUTO_SYNC_JOB_KIND,payload:{...n,expectedBranch:r,baseBranch:n.baseBranch,phase:t},idempotencyKey:`worktree:auto-sync:${t.toLowerCase()}:${i}:${e}`,timeoutSeconds:600})}publishAutomationChange(e,t=null){this.publish(e,t)}async inspectGitState(e,t){if(!t.trim())throw Error("requestId is required");let r=await this.requireRunnable(e,l.WORKTREE_GIT_INSPECT_JOB_KIND,!0),a=await this.createSerializedCodebaseJob({agentId:r.codebase.agentId,codebaseId:r.codebaseId,worktreeId:r.id,kind:l.WORKTREE_GIT_INSPECT_JOB_KIND,payload:{action:"STATE",codebaseId:r.codebaseId,folder:r.folder,gitDirectory:r.gitDirectory,expectedOrigin:r.codebase.repository.canonicalOrigin},idempotencyKey:`worktree:git:state:${t}:${e}`,timeoutSeconds:30,visibility:"SYSTEM"});try{let e=await this.waitForJob(a.id);return(0,o.parseCodebaseGitState)(R(e).state)}finally{let e=await (0,i.getPrismaClient)();await e.agentJob.deleteMany({where:{id:a.id,visibility:"SYSTEM"}})}}async runGitOperation(e){if(!e.requestId.trim())throw Error("requestId is required");if(!l.WORKTREE_GIT_OPERATIONS.includes(e.operation))throw Error("Unknown worktree Git operation");let t=await this.requireRunnable(e.worktreeId,l.WORKTREE_GIT_OPERATION_JOB_KIND);return this.agentControl.createJob({agentId:t.codebase.agentId,codebaseId:t.codebaseId,worktreeId:t.id,kind:l.WORKTREE_GIT_OPERATION_JOB_KIND,payload:{codebaseId:t.codebaseId,folder:t.folder,gitDirectory:t.gitDirectory,expectedOrigin:t.codebase.repository.canonicalOrigin,baseBranch:t.baseBranchOverride??t.codebase.defaultBranch??null,defaultBranch:t.codebase.defaultBranch,operation:e.operation,...e.branch?{branch:e.branch}:{},...e.stashOid?{stashOid:e.stashOid}:{},..."SWITCH_BRANCH"===e.operation?{stashChanges:!!e.stashChanges}:{}},idempotencyKey:`worktree:git:${e.operation}:${e.requestId}:${e.worktreeId}`,timeoutSeconds:"PULL_BRANCH"===e.operation?300:60})}payload(e){return{codebaseId:e.codebaseId,folder:e.folder,gitDirectory:e.gitDirectory,expectedOrigin:e.codebase.repository.canonicalOrigin,baseBranch:e.baseBranchOverride??e.codebase.defaultBranch??null}}async createSerializedCodebaseJob(e){let t=await (0,i.getPrismaClient)(),r=Date.now()+3e4;for(;Date.now()<r;){let i=await t.agentJob.findFirst({where:{codebaseId:e.codebaseId,status:{in:y}},select:{id:!0,idempotencyKey:!0,kind:!0}});if(i){if(i.idempotencyKey===e.idempotencyKey)return this.agentControl.createJob(e);await this.waitForCodebaseJob(i.id,r);continue}try{return await this.agentControl.createJob(e)}catch(e){if(!function(e){if(!e||"object"!=typeof e||"P2002"!==e.code)return!1;let t=e.meta?.target;return Array.isArray(t)?t.includes("codebaseId"):"string"==typeof t&&t.includes("codebaseId")}(e))throw e}}throw new u.CodebaseBusyError}async waitForCodebaseJob(e,t){let r=n.agentEventBus.iterate((0,n.agentJobChangedTopic)(e));try{for(;Date.now()<t;){let i=await this.agentControl.getJob(e);if(!i||!y.includes(i.status))return;await Promise.race([r.next(),new Promise(e=>setTimeout(e,Math.max(0,t-Date.now())))])}throw new u.CodebaseBusyError}finally{await r.return?.()}}async requireRunnable(e,t,r=!1){let a=await (0,i.getPrismaClient)(),n=await a.worktree.findUnique({where:{id:e},include:{codebase:{include:{agent:!0,repository:!0}}}});if(!n||n.missingAt||"AVAILABLE"!==n.availability)throw Error("Worktree is unavailable");if(!k(n.codebase.agent))throw Error("Agent is offline");if(!S(n.codebase.agent).includes(t))throw Error("Agent must be updated to use worktrees");if(!r){let[e,t]=await Promise.all([a.agentJob.findFirst({where:{codebaseId:n.codebaseId,status:{in:y}}}),a.worktreeMove.findFirst({where:{status:{in:w},OR:[{sourceCodebaseId:n.codebaseId},{targetCodebaseId:n.codebaseId}]}})]);if(e||t)throw new u.CodebaseBusyError}return n}async requireRunnableCodebase(e,t=l.WORKTREE_BRANCH_JOB_KIND){let r=await (0,i.getPrismaClient)(),a=await r.codebase.findUnique({where:{id:e},include:{agent:!0,repository:!0}});if(!a||"AVAILABLE"!==a.availability)throw Error("Codebase is unavailable");if(!k(a.agent))throw Error("Agent is offline");if(!S(a.agent).includes(t))throw Error("Agent must be updated to create or change worktrees");let[n,s]=await Promise.all([r.agentJob.findFirst({where:{codebaseId:e,status:{in:y}}}),r.worktreeMove.findFirst({where:{status:{in:w},OR:[{sourceCodebaseId:e},{targetCodebaseId:e}]}})]);if(n||s)throw new u.CodebaseBusyError;return a}async purge(e){let t=await (0,i.getPrismaClient)(),r=await t.worktree.deleteMany({where:{id:e,missingAt:{not:null}}});return r.count&&this.publish(e,null),r.count>0}async purgeAll(){let e=await (0,i.getPrismaClient)(),t=await e.worktree.deleteMany({where:{missingAt:{not:null}}});return t.count&&this.publish(null,null),t.count}subscribe(){return n.agentEventBus.iterate(n.WORKTREE_CHANGED_TOPIC)}async *subscribeInspection(e){let t=n.agentEventBus.iterate((0,n.worktreeInspectionTopic)(e)),r=!1;try{for await(let i of(await this.acquireWatch(e),r=!0,t))yield i}finally{await t.return?.(),r&&await this.releaseWatch(e)}}async acquireWatch(e){let r=this.watchDemand.get(e);if(r){r.subscribers+=1,await r.started;return}let i=await this.requireRunnable(e,l.WORKTREE_WATCH_JOB_KIND,!0),a=(0,t.randomUUID)(),n=this.payload(i),s={subscribers:1,watchId:a,agentId:i.codebase.agentId,worktreeId:i.id,codebaseId:i.codebaseId,payload:n,started:Promise.resolve()};s.started=this.runWatchAction(s,"START"),this.watchDemand.set(e,s);try{await s.started}catch(t){throw this.watchDemand.get(e)===s&&this.watchDemand.delete(e),t}}async releaseWatch(e){let t=this.watchDemand.get(e);if(t&&(t.subscribers-=1,!(t.subscribers>0))){this.watchDemand.delete(e);try{await t.started,await this.runWatchAction(t,"STOP")}catch(e){console.error("Could not stop worktree watcher:",e instanceof Error?e.message:e)}}}async runWatchAction(e,t){let r=await this.agentControl.createJob({agentId:e.agentId,worktreeId:e.worktreeId,kind:l.WORKTREE_WATCH_JOB_KIND,payload:{...e.payload,action:t,watchId:e.watchId},idempotencyKey:`worktree:watch:${t}:${e.watchId}`,timeoutSeconds:30,visibility:"SYSTEM"});try{R(await this.waitForJob(r.id))}finally{let e=await (0,i.getPrismaClient)();await e.agentJob.deleteMany({where:{id:r.id,visibility:"SYSTEM"}})}}async restartWatch(e){let r=this.watchDemand.get(e);if(r)try{if(await r.started,this.watchDemand.get(e)!==r||(await this.runWatchAction(r,"STOP"),this.watchDemand.get(e)!==r))return;let i=await this.requireRunnable(e,l.WORKTREE_WATCH_JOB_KIND,!0),a={subscribers:r.subscribers,watchId:(0,t.randomUUID)(),agentId:i.codebase.agentId,worktreeId:i.id,codebaseId:i.codebaseId,payload:this.payload(i),started:Promise.resolve()};a.started=this.runWatchAction(a,"START"),this.watchDemand.set(e,a),await a.started}catch(e){console.error("Could not restart worktree watcher:",e instanceof Error?e.message:e)}}publish(e,t){n.agentEventBus.publish(n.WORKTREE_CHANGED_TOPIC,{worktreeOverviewChanged:{worktreeId:e,codebaseId:t}})}moveIdFromJob(e){let t=JSON.parse(e.payloadJson);if(!t||"object"!=typeof t||Array.isArray(t)||"string"!=typeof t.moveId)throw Error("Move job is missing its workflow identifier");return String(t.moveId)}async failMove(e,t,r){let a=await (0,i.getPrismaClient)();(await a.worktreeMove.updateMany({where:{id:e,status:t},data:{status:"FAILED",error:r,finishedAt:new Date}})).count&&this.publish(null,null)}async createMoveCheckoutJob(e,t){let r=await (0,i.getPrismaClient)(),a=await r.codebase.findUnique({where:{id:e.targetCodebaseId},include:{agent:!0,repository:!0}});if(!a)throw Error("Destination codebase no longer exists");if(!k(a.agent))throw Error("Destination agent is offline");if(!S(a.agent).includes(l.WORKTREE_MOVE_CHECKOUT_JOB_KIND))throw Error("Destination agent must be updated to move worktrees");let n=e.targetWorktreeId?await r.worktree.findFirst({where:{id:e.targetWorktreeId,codebaseId:a.id,missingAt:null,availability:"AVAILABLE"}}):null;if("EXISTING"===e.destinationMode&&!n)throw Error("Destination worktree is no longer available");return this.agentControl.createJob({agentId:a.agentId,codebaseId:a.id,worktreeId:n?.id??null,kind:l.WORKTREE_MOVE_CHECKOUT_JOB_KIND,payload:{moveId:e.id,codebaseId:a.id,rootFolder:a.folder,folder:n?.folder??null,gitDirectory:n?.gitDirectory??null,expectedOrigin:a.repository.canonicalOrigin,branch:e.branch,expectedHeadSha:e.headSha,baseBranch:e.baseBranch,mode:e.destinationMode,stashOnFailure:t},idempotencyKey:`worktree:move:checkout:${e.id}:${t?"stash":"initial"}`,timeoutSeconds:600})}async advanceMoveAfterPush(e){let t=this.moveIdFromJob(e),r=await (0,i.getPrismaClient)(),a=await r.worktreeMove.findUnique({where:{id:t}});if(!a||"PUSHING"!==a.status||a.sourceJobId&&a.sourceJobId!==e.id)return;if("SUCCEEDED"!==e.status)return void await this.failMove(a.id,"PUSHING",e.error||"Could not push the source branch");let n=R(e);if(n.headSha!==a.headSha||n.branch!==a.branch)return void await this.failMove(a.id,"PUSHING","The source push returned an unexpected branch");try{let e=await this.createMoveCheckoutJob(a,!1);await r.worktreeMove.updateMany({where:{id:a.id,status:"PUSHING"},data:{status:"CHECKING_OUT",targetJobId:e.id}}),this.publish(a.sourceWorktreeId,a.sourceCodebaseId)}catch(e){await this.failMove(a.id,"PUSHING",e instanceof Error?e.message:String(e))}}async projectMoveDestination(e,r){let a=(0,l.parseWorktreeInventoryItem)(r),n=await (0,i.getPrismaClient)(),s=await n.codebase.findUnique({where:{id:e.targetCodebaseId},select:{localBranchesJson:!0}});if(!s)throw Error("Destination codebase no longer exists");let o=new Set(E(s.localBranchesJson));a.branch&&o.add(a.branch);let u=e.targetWorktreeId;return await n.$transaction(async r=>{if(await r.codebase.update({where:{id:e.targetCodebaseId},data:{localBranchesJson:JSON.stringify([...o].sort((e,t)=>e.localeCompare(t)))}}),u){if(1!==(await r.worktree.updateMany({where:{id:u,codebaseId:e.targetCodebaseId},data:{...this.inventoryData(a),gitDirectory:a.gitDirectory,baseBranchOverride:e.baseBranch,missingAt:null}})).count)throw Error("Destination worktree no longer exists")}else u=(await r.worktree.upsert({where:{codebaseId_gitDirectory:{codebaseId:e.targetCodebaseId,gitDirectory:a.gitDirectory}},create:{id:(0,t.randomUUID)(),codebaseId:e.targetCodebaseId,gitDirectory:a.gitDirectory,...this.inventoryData(a),baseBranchOverride:e.baseBranch},update:{...this.inventoryData(a),baseBranchOverride:e.baseBranch,missingAt:null}})).id;await r.worktreeMove.update({where:{id:e.id},data:{targetWorktreeId:u}})}),this.publish(u??null,e.targetCodebaseId),await this.skillsService?.requestAutoReconcile(),u}async scheduleMoveCleanup(e){let t=await (0,i.getPrismaClient)(),r=await t.worktreeMove.findUniqueOrThrow({where:{id:e}}),a=await t.worktree.findUnique({where:{id:r.sourceWorktreeId},include:{codebase:{include:{agent:!0,repository:!0}}}});if(!a||a.missingAt||a.primary){await t.worktreeMove.update({where:{id:r.id},data:{status:"SUCCEEDED_WITH_WARNING",warning:"Destination is ready, but the source worktree could not be removed",finishedAt:new Date}}),this.publish(r.sourceWorktreeId,r.sourceCodebaseId);return}try{let e=await this.agentControl.createJob({agentId:a.codebase.agentId,codebaseId:a.codebaseId,worktreeId:a.id,kind:l.WORKTREE_DELETE_JOB_KIND,payload:{moveId:r.id,codebaseId:a.codebaseId,rootFolder:a.codebase.folder,folder:a.folder,gitDirectory:a.gitDirectory,expectedOrigin:a.codebase.repository.canonicalOrigin,branch:a.branch,defaultBranch:a.codebase.defaultBranch,deleteRemoteBranch:!1,requireClean:!0,expectedHeadSha:r.headSha},idempotencyKey:`worktree:move:cleanup:${r.id}`,timeoutSeconds:600});await t.worktreeMove.updateMany({where:{id:r.id,status:{in:["PUSHING","CHECKING_OUT","AWAITING_STASH"]}},data:{status:"CLEANING_UP",cleanupJobId:e.id}}),this.publish(a.id,a.codebaseId)}catch(e){await t.worktreeMove.update({where:{id:r.id},data:{status:"SUCCEEDED_WITH_WARNING",warning:e instanceof Error?e.message:String(e),finishedAt:new Date}}),this.publish(a.id,a.codebaseId)}}async advanceMoveAfterCheckout(e){let t=this.moveIdFromJob(e),r=await (0,i.getPrismaClient)(),a=await r.worktreeMove.findUnique({where:{id:t}});if(!a||!["PUSHING","CHECKING_OUT","AWAITING_STASH"].includes(a.status)||a.targetJobId&&a.targetJobId!==e.id)return;if("SUCCEEDED"!==e.status)return void await this.failMove(a.id,a.status,e.error||"Could not check out the destination branch");let n=R(e);if("NEEDS_STASH"===n.outcome){await r.worktreeMove.updateMany({where:{id:a.id,status:{in:["PUSHING","CHECKING_OUT","AWAITING_STASH"]}},data:{status:"AWAITING_STASH",error:"string"==typeof n.message?n.message:"Destination changes block the branch switch"}}),this.publish(a.sourceWorktreeId,a.sourceCodebaseId);return}"CHECKED_OUT"===n.outcome&&n.worktree?(await this.projectMoveDestination(a,n.worktree),a.deleteSource?await this.scheduleMoveCleanup(a.id):(await r.worktreeMove.update({where:{id:a.id},data:{status:"SUCCEEDED",error:null,finishedAt:new Date}}),this.publish(a.sourceWorktreeId,a.sourceCodebaseId))):await this.failMove(a.id,a.status,"Destination checkout returned an invalid result")}async projectDeleteOperation(e){let t=JSON.parse(e.payloadJson),r=t&&"object"==typeof t&&!Array.isArray(t)&&"string"==typeof t.moveId?String(t.moveId):null,a=await (0,i.getPrismaClient)();if(r){let t=await a.worktreeMove.findUnique({where:{id:r}});if(!t||!["PUSHING","CHECKING_OUT","AWAITING_STASH","CLEANING_UP"].includes(t.status)||t.cleanupJobId&&t.cleanupJobId!==e.id)return;if("SUCCEEDED"!==e.status){await a.worktreeMove.update({where:{id:t.id},data:{status:"SUCCEEDED_WITH_WARNING",warning:e.error||"Destination is ready, but the source worktree was retained",finishedAt:new Date}}),this.publish(t.sourceWorktreeId,t.sourceCodebaseId);return}await a.$transaction([a.worktree.deleteMany({where:{id:t.sourceWorktreeId}}),a.worktreeMove.update({where:{id:t.id},data:{status:"SUCCEEDED",finishedAt:new Date}})]),this.publish(t.sourceWorktreeId,t.sourceCodebaseId);return}if("SUCCEEDED"!==e.status||!e.worktreeId)return;let n=await a.worktree.findUnique({where:{id:e.worktreeId},select:{codebaseId:!0}});await a.worktree.deleteMany({where:{id:e.worktreeId}}),this.publish(e.worktreeId,n?.codebaseId??null)}async projectOperation(e){if(!e.worktreeId||"SUCCEEDED"!==e.status||!e.resultJson)return;let t=R({...e,error:null});if(!t.worktree)return;let r=(0,l.parseWorktreeInventoryItem)(t.worktree),a=await (0,i.getPrismaClient)(),n=await a.worktree.findUnique({where:{id:e.worktreeId}});if(!n)return;let s=new Date(r.checkedAt);(await a.worktree.updateMany({where:{id:n.id,OR:[{lastCheckedAt:null},{lastCheckedAt:{lt:s}}]},data:{branch:r.branch,headSha:r.headSha,upstream:r.upstream,ahead:r.ahead,behind:r.behind,syncState:r.syncState,baseAhead:r.baseAhead,baseBehind:r.baseBehind,hasStagedChanges:r.hasStagedChanges??!1,hasUnstagedChanges:r.hasUnstagedChanges??!1,rebaseInProgress:r.rebaseInProgress??!1,hasConflicts:r.hasConflicts??!1,pushStatus:r.pushStatus??"UNKNOWN",availability:r.availability,statusError:r.error,lastCheckedAt:s}})).count>0&&this.publish(n.id,n.codebaseId)}async projectBranchOperation(e){if(!e.codebaseId||"SUCCEEDED"!==e.status||!e.resultJson)return;let r=R({...e,error:null});if(!r.worktree||"string"!=typeof r.baseBranch)return;let a=(0,l.parseWorktreeInventoryItem)(r.worktree),n=await (0,i.getPrismaClient)(),s=await n.codebase.findUnique({where:{id:e.codebaseId},select:{localBranchesJson:!0}});if(!s)return;let o=new Set(E(s.localBranchesJson));a.branch&&o.add(a.branch);let u=e.worktreeId;await n.$transaction(async i=>{if(await i.codebase.update({where:{id:e.codebaseId},data:{localBranchesJson:JSON.stringify([...o].sort((e,t)=>e.localeCompare(t)))}}),e.worktreeId){if(1!==(await i.worktree.updateMany({where:{id:e.worktreeId,codebaseId:e.codebaseId},data:{...this.inventoryData(a),gitDirectory:a.gitDirectory,baseBranchOverride:r.baseBranch,missingAt:null}})).count)throw Error("Worktree no longer exists");return}u=(await i.worktree.upsert({where:{codebaseId_gitDirectory:{codebaseId:e.codebaseId,gitDirectory:a.gitDirectory}},create:{id:(0,t.randomUUID)(),codebaseId:e.codebaseId,gitDirectory:a.gitDirectory,...this.inventoryData(a),baseBranchOverride:r.baseBranch},update:{...this.inventoryData(a),baseBranchOverride:r.baseBranch,missingAt:null}})).id}),this.publish(u??null,e.codebaseId),!e.worktreeId&&u&&await this.recordWorktreeCreated(u),await this.skillsService?.requestAutoReconcile(),e.worktreeId&&await this.restartWatch(e.worktreeId)}async recordWorktreeCreated(e){if(!this.workflowEvents)return;let t=await this.workflowSessionDataForWorktree(e);Object.keys(t).length&&await this.workflowEvents.record({kind:"WORKTREE_CREATED",subjectKey:e,dedupeKey:`worktree-created:${e}`,payload:{...t,sessionData:t}})}async waitForJob(e){let t=n.agentEventBus.iterate((0,n.agentJobChangedTopic)(e)),r=Date.now()+3e4;try{for(;Date.now()<r;){let i=await this.agentControl.getJob(e);if(!i)throw Error("Worktree job disappeared");if(["SUCCEEDED","FAILED","CANCELLED","TIMED_OUT"].includes(i.status))return i;await Promise.race([t.next(),new Promise(e=>setTimeout(e,r-Date.now()))])}throw await this.agentControl.cancelJob(e),Error("Agent did not respond in time")}finally{await t.return?.()}}},"worktreeDisplayPath",0,C],504173),e.s(["executingResourcesByWorktree",0,D],518733);let N=new Set(["SUCCEEDED","FAILED","CANCELLED","TIMED_OUT","INVALID"]),O={agents:{include:{agent:!0}},jobs:{orderBy:{createdAt:"asc"}}};function P(e){return null!==e.lastSeenAt&&Date.now()-e.lastSeenAt.getTime()<=(0,a.agentOnlineWindowMs)(e)&&null===e.disconnectedAt}function $(e){try{let t=JSON.parse(e.capabilitiesJson);return Array.isArray(t)?t.filter(e=>"string"==typeof e):[]}catch{return[]}}function U(e){return null===e?null:JSON.parse(e)}function B(e){let t=U(e.payloadJson);return(e.kind===r.BUILD_DATA_DELETE_JOB_KIND?(0,r.buildDataDeletePayload)(t).targets:(0,r.buildDataTargetsPayload)(t).targets).map(e=>e.path)}function j(e,t){let i=e===r.BUILD_DATA_DELETE_JOB_KIND?"delete":"size";return`Invalid Build Data ${i} result: ${t instanceof Error?t.message:String(t)}`}function L(e,t,r){try{for(let i of B(t)){let a=e.get(q(t.agentId,i));a&&(a.error=r)}}catch{}}function q(e,r){return(0,t.createHash)("sha256").update(e).update("\0").update(r).digest("base64url")}e.s(["BuildDataService",0,class{agentControlService;initialized;constructor(e){this.agentControlService=e,this.initialized=!1,this.agentControlService.registerCompletionHandler(r.BUILD_DATA_DELETE_JOB_KIND,e=>this.projectDeletion(e))}async initialize(){this.initialized||(await this.pruneHistory(),this.initialized=!0)}async refresh(e){await this.initialize();let r=e?.trim()||(0,t.randomUUID)();return await this.ensureCollection(r),await this.getCollection(r)}async getCollection(e){await this.initialize();let t=await this.loadCollection(e);if(!t)return null;!t.finishedAt&&t.deadlineAt.getTime()<=Date.now()&&(await this.expireCollection(t),t=await this.loadCollection(e)??t);let r=await this.snapshot(t);if("COMPLETED"===r.status&&!t.finishedAt){let t=new Date,a=await (0,i.getPrismaClient)();await a.buildDataCollection.updateMany({where:{id:e,finishedAt:null},data:{finishedAt:t}}),r.finishedAt=t.toISOString()}return r}async *subscribe(e){await this.initialize();let t=n.agentEventBus.iterate((0,n.buildDataCollectionChangedTopic)(e));try{let r=await this.getCollection(e);for(r&&(yield r);;){if((await t.next()).done)return;let r=await this.getCollection(e);r&&(yield r)}}finally{await t.return?.()}}async calculateSizes(e,t,i){let a=await this.requireCollection(e);return await this.createTargetJobs(a,t,i,r.BUILD_DATA_SIZE_JOB_KIND),await this.getCollection(e)}async deleteEntries(e,t,i,a=!1){let n=await this.requireCollection(e);return await this.createTargetJobs(n,t,i,r.BUILD_DATA_DELETE_JOB_KIND,a),await this.getCollection(e)}async history(e=100,t){await this.initialize(),await this.pruneHistory();let r=Math.max(1,Math.min(e,200)),a=await (0,i.getPrismaClient)(),n=t?await a.buildDataDeletionHistory.findUnique({where:{id:t},select:{id:!0,deletedAt:!0}}):null,s=await a.buildDataDeletionHistory.findMany({where:n?{OR:[{deletedAt:{lt:n.deletedAt}},{deletedAt:n.deletedAt,id:{lt:n.id}}]}:void 0,orderBy:[{deletedAt:"desc"},{id:"desc"}],take:r+1}),o=s.length>r,l=s.slice(0,r);return{items:l,nextCursor:o?l.at(-1)?.id??null:null}}async clearHistory(){await this.initialize();let e=await (0,i.getPrismaClient)();return(await e.buildDataDeletionHistory.deleteMany()).count}async ensureCollection(e){let t=await (0,i.getPrismaClient)(),a=await t.buildDataCollection.findUnique({where:{id:e},select:{id:!0}});if(!a){let i=await this.agentControlService.listAgents();try{a=await t.buildDataCollection.create({data:{id:e,deadlineAt:new Date(Date.now()+6e4),agents:{create:i.map(e=>({agentId:e.id,initialStatus:P(e)?$(e).includes(r.BUILD_DATA_SCAN_JOB_KIND)?"QUEUING":"UNSUPPORTED":"OFFLINE"}))}},select:{id:!0}}),this.publish(e)}catch(r){if(!(a=await t.buildDataCollection.findUnique({where:{id:e},select:{id:!0}})))throw r}}await this.ensureScanJobs(e)}async ensureScanJobs(e){let t=await (0,i.getPrismaClient)(),a=await t.buildDataCollection.findUnique({where:{id:e},select:{deadlineAt:!0,finishedAt:!0}});if(!a||a.finishedAt||a.deadlineAt<=new Date)return;let n=await t.buildDataCollectionAgent.findMany({where:{collectionId:e,initialStatus:"QUEUING"},include:{agent:!0}}),s=new Set((await t.agentJob.findMany({where:{buildDataCollectionId:e,kind:r.BUILD_DATA_SCAN_JOB_KIND},select:{agentId:!0}})).map(e=>e.agentId));for(let i of n)if(!s.has(i.agentId))try{let a=await t.worktree.findMany({where:{missingAt:null,codebase:{agentId:i.agentId}},select:{id:!0,folder:!0}});await this.agentControlService.createJob({agentId:i.agentId,kind:r.BUILD_DATA_SCAN_JOB_KIND,payload:{mode:i.agent.derivedDataLocationMode,path:i.agent.derivedDataPath,worktrees:a},idempotencyKey:`build-data:scan:${e}`,timeoutSeconds:45,buildDataCollectionId:e,visibility:"SYSTEM"})}catch(r){await t.buildDataCollectionAgent.update({where:{collectionId_agentId:{collectionId:e,agentId:i.agentId}},data:{initialStatus:"FAILED",error:r instanceof Error?r.message:String(r)}}),this.publish(e)}}async createTargetJobs(e,t,a,n,s=!1){let o=[...new Set(t)];if(!o.length)throw Error("Select at least one Derived Data entry");let l=new Map(e.entries.map(e=>[e.id,e])),u=o.map(e=>{let t=l.get(e);if(!t)throw Error("A selected Derived Data entry is no longer available");return t});if(n===r.BUILD_DATA_DELETE_JOB_KIND&&!s){let e=u.filter(e=>e.locked||e.activeResources.length>0);if(e.length)throw Error(`Explicit override confirmation is required to delete protected Derived Data: ${e.map(e=>e.name).join(", ")}`)}let c=new Map;for(let e of u){let t=c.get(e.agent.id)??[];t.push(e),c.set(e.agent.id,t)}let d=await (0,i.getPrismaClient)(),p=[];for(let[e,t]of c){let r=t[0].agent,i=await d.agent.findUnique({where:{id:e}});if(!i||!P(i))throw Error(`${r.name} is offline; reconnect it before running this operation`);if(!$(i).includes(n))throw Error(`${r.name} must be updated before this operation can run`);p.push({agentId:e,entries:t})}for(let{agentId:t,entries:i}of p){let s=n===r.BUILD_DATA_DELETE_JOB_KIND?[...new Map(i.filter(e=>!!e.worktreeId).map(e=>[e.worktreeId,e])).values()]:[],o=[];try{for(let e of s)await d.derivedDataCleanupLease.create({data:{worktreeId:e.worktreeId,agentId:t,path:e.path,source:"USER",expiresAt:new Date(Date.now()+6048e5)}}),o.push(e.worktreeId);let r=await this.agentControlService.createJob({agentId:t,kind:n,payload:{targets:i.map(({path:e,rootPath:t})=>({path:e,rootPath:t}))},idempotencyKey:`${n}:${e.id}:${a}:${t}`,timeoutSeconds:604800,buildDataCollectionId:e.id,visibility:"SYSTEM"});s.length&&await d.derivedDataCleanupLease.updateMany({where:{worktreeId:{in:s.map(e=>e.worktreeId)},jobId:null},data:{jobId:r.id}})}catch(e){throw o.length&&await d.derivedDataCleanupLease.deleteMany({where:{worktreeId:{in:o},source:"USER",jobId:null}}),e}}}async requireCollection(e){let t=await this.getCollection(e);if(!t)throw Error("Derived Data collection not found");if("COMPLETED"!==t.status)throw Error("Wait for the Derived Data scan to finish");return t}async loadCollection(e){return(await (0,i.getPrismaClient)()).buildDataCollection.findUnique({where:{id:e},include:O})}progress(e){let t=new Map(e.jobs.filter(e=>e.kind===r.BUILD_DATA_SCAN_JOB_KIND).map(e=>[e.agentId,e])),i=e.agents.map(e=>{let i=t.get(e.agentId),a=e.initialStatus,n=e.error,s=[];if("QUEUING"===e.initialStatus&&i&&(a=i.status,n=i.error,"SUCCEEDED"===i.status))try{s=(0,r.parseBuildDataScanResult)(U(i.resultJson)).warnings}catch(e){a="INVALID",n=e instanceof Error?e.message:String(e)}return{agent:e.agent,status:a,jobId:i?.id??null,error:n,warnings:s}}),a=i.filter(({status:e})=>"OFFLINE"!==e&&"UNSUPPORTED"!==e),n=a.filter(({status:e})=>N.has(e));return{agents:i,eligibleCount:a.length,finishedCount:n.length,successfulCount:a.filter(({status:e})=>"SUCCEEDED"===e).length}}async snapshot(e){let t=this.progress(e),r=await this.entries(e,!1);return{id:e.id,status:t.finishedCount===t.eligibleCount?"COMPLETED":"COLLECTING",createdAt:e.createdAt.toISOString(),deadlineAt:e.deadlineAt.toISOString(),finishedAt:e.finishedAt?.toISOString()??null,progress:t,entries:r}}async entries(e,t){let a=await (0,i.getPrismaClient)(),n=new Map(e.agents.map(e=>[e.agentId,e.agent])),s=await a.worktree.findMany({where:{missingAt:null,codebase:{agentId:{in:[...n.keys()]}}},include:{codebase:{select:{agentId:!0}}}}),o=new Map;for(let e of s){let t=o.get(e.codebase.agentId)??[];t.push(e),o.set(e.codebase.agentId,t)}let l=new Map;for(let t of e.jobs){let e;if(t.kind!==r.BUILD_DATA_SCAN_JOB_KIND||"SUCCEEDED"!==t.status)continue;let i=n.get(t.agentId);if(i){try{e=(0,r.parseBuildDataScanResult)(U(t.resultJson))}catch{continue}for(let r of e.entries){let e=(r.workspacePath?(o.get(t.agentId)??[]).filter(e=>(function(e,t){let r="/"===e?e:e.replace(/\/+$/,"");return t===r||t.startsWith(`${r}/`)})(e.folder,r.workspacePath)).sort((e,t)=>t.folder.length-e.folder.length):[])[0]??null,a=q(t.agentId,r.path);l.set(a,{id:a,name:r.name,kind:r.kind,status:"DEVICE_SUPPORT"===r.kind?"READY":"PENDING"===r.kind?"PENDING":"SHARED_CACHE"===r.kind?"SHARED_CACHE":e?"READY":"UNLINKED",workspacePath:r.workspacePath,worktreeId:e?.id??null,worktreePath:e?C(e.folder,i.baseRepoDirectory):null,sizeBytes:null,operation:"IDLE",error:null,agent:i,path:r.path,rootPath:r.rootPath,modifiedAt:r.modifiedAt,volumeId:r.volumeId,locked:!1,activeResources:[]})}}}for(let i of e.jobs){if(i.kind===r.BUILD_DATA_SIZE_JOB_KIND&&"SUCCEEDED"===i.status)try{for(let e of(0,r.parseBuildDataSizeResult)(U(i.resultJson)).sizes){let t=l.get(q(i.agentId,e.path));t&&(t.sizeBytes=e.sizeBytes,t.error=e.error)}}catch(e){L(l,i,j(r.BUILD_DATA_SIZE_JOB_KIND,e))}if(i.kind===r.BUILD_DATA_DELETE_JOB_KIND&&"SUCCEEDED"===i.status)try{for(let e of(0,r.parseBuildDataDeleteResult)(U(i.resultJson)).deleted){let r=q(i.agentId,e.path),a=l.get(r);a&&(e.deleted&&!t?l.delete(r):a.error=e.error)}}catch(e){L(l,i,j(r.BUILD_DATA_DELETE_JOB_KIND,e))}if("QUEUED"===i.status||"RUNNING"===i.status){if(i.kind!==r.BUILD_DATA_SIZE_JOB_KIND&&i.kind!==r.BUILD_DATA_DELETE_JOB_KIND)continue;try{for(let e of B(i)){let t=l.get(q(i.agentId,e));t&&(t.operation=i.kind===r.BUILD_DATA_DELETE_JOB_KIND?"DELETING":"SIZING")}}catch{}}if("SUCCEEDED"!==i.status&&N.has(i.status)&&(i.kind===r.BUILD_DATA_SIZE_JOB_KIND||i.kind===r.BUILD_DATA_DELETE_JOB_KIND))try{for(let e of B(i)){let t=l.get(q(i.agentId,e));t&&(t.error=i.error||"Build Data operation failed")}}catch{}}let u=[...l.values()],c=u.map(e=>e.worktreeId).filter(e=>!!e),[d,p]=await Promise.all([a.derivedDataLock.findMany({where:{OR:u.map(e=>({agentId:e.agent.id,path:e.path}))},select:{agentId:!0,path:!0}}),D(c)]),h=new Set(d.map(e=>`${e.agentId}\0${e.path}`));for(let e of u)e.locked=h.has(`${e.agent.id}\0${e.path}`),e.activeResources=e.worktreeId?p.get(e.worktreeId)??[]:[];return u.sort((e,t)=>e.agent.name.localeCompare(t.agent.name)||(null===e.modifiedAt?1:null===t.modifiedAt?-1:new Date(e.modifiedAt).getTime()-new Date(t.modifiedAt).getTime())||e.name.localeCompare(t.name))}async setEntryLocked(e,r,a){let n=(await this.requireCollection(e)).entries.find(e=>e.id===r);if(!n)throw Error("Derived Data entry not found");let s=await (0,i.getPrismaClient)();return a?await s.derivedDataLock.upsert({where:{agentId_path:{agentId:n.agent.id,path:n.path}},create:{id:(0,t.randomUUID)(),agentId:n.agent.id,path:n.path},update:{}}):await s.derivedDataLock.deleteMany({where:{agentId:n.agent.id,path:n.path}}),this.publish(e),await this.getCollection(e)}async expireCollection(e){let t=await (0,i.getPrismaClient)(),a=new Set(e.jobs.filter(e=>e.kind===r.BUILD_DATA_SCAN_JOB_KIND).map(e=>e.agentId));await t.buildDataCollectionAgent.updateMany({where:{collectionId:e.id,initialStatus:"QUEUING",agentId:{notIn:[...a]}},data:{initialStatus:"TIMED_OUT"}}),await this.agentControlService.timeoutBuildDataCollectionJobs(e.id),this.publish(e.id)}async projectDeletion(e){let a;if("SUCCEEDED"!==e.status||!e.resultJson)return;await this.pruneHistory();let n=await (0,i.getPrismaClient)();if(await n.buildDataDeleteProjection.findUnique({where:{jobId:e.id}}))return;try{a=(0,r.parseBuildDataDeleteResult)(U(e.resultJson)).deleted.filter(e=>e.deleted)}catch(i){let t=j(r.BUILD_DATA_DELETE_JOB_KIND,i);try{await n.buildDataDeleteProjection.create({data:{jobId:e.id,error:t}})}catch(t){if(!await n.buildDataDeleteProjection.findUnique({where:{jobId:e.id}}))throw t}return}if(!a.length)return void await n.buildDataDeleteProjection.create({data:{jobId:e.id}});let s=(0,r.buildDataDeletePayload)(U(e.payloadJson)),o=e.buildDataCollectionId?await this.loadCollection(e.buildDataCollectionId):null,l=new Map((o?await this.entries(o,!0):[]).filter(t=>t.agent.id===e.agentId).map(e=>[e.path,e])),u=new Map(s.targets.map(e=>[e.path,e])),c=await n.agent.findUnique({where:{id:e.agentId}});if(c)try{await n.$transaction(async r=>{if(!await r.buildDataDeleteProjection.findUnique({where:{jobId:e.id}}))for(let i of(await r.buildDataDeleteProjection.create({data:{jobId:e.id}}),a)){let a=l.get(i.path),n=u.get(i.path),o=n?.worktreeId??a?.worktreeId??null,d=o?(await r.worktree.findUnique({where:{id:o},select:{id:!0}}))?.id??null:null;await r.buildDataDeletionHistory.create({data:{id:(0,t.randomUUID)(),agentId:e.agentId,agentName:c.name,folderName:n?.name??a?.name??i.path,worktreeId:d,worktreePath:n?.worktreePath??a?.worktreePath??null,source:s.source,entryKind:n?.kind??a?.kind??"PROJECT",jobId:e.id,targetKey:a?.id??q(e.agentId,i.path)}})}})}catch(t){if(!await n.buildDataDeleteProjection.findUnique({where:{jobId:e.id}}))throw t}}async pruneHistory(){let e=await (0,i.getPrismaClient)();await e.buildDataDeletionHistory.deleteMany({where:{deletedAt:{lt:new Date(Date.now()-7776e6)}}})}publish(e){n.agentEventBus.publish(n.BUILD_DATA_CHANGED_TOPIC,{buildDataCollectionChanged:{id:e}}),n.agentEventBus.publish((0,n.buildDataCollectionChangedTopic)(e),{buildDataCollectionChanged:{id:e}})}}],925991),e.s([],396763)},971619,e=>{"use strict";var t=e.i(750227);e.s(["effectiveBuildsDirectory",0,function(e){var r;return e.buildsDirectory??((r=e.baseRepoDirectory)?/^[a-z]:[\\/]/i.test(r)||r.startsWith("\\\\")?t.win32.join(r,"Builds"):t.posix.join(r,"Builds"):null)}])},224174,669602,190714,646462,890564,e=>{"use strict";var t=e.i(666680),r=e.i(750227),i=e.i(807055),a=e.i(503083),n=e.i(243783);e.i(805422);var s=e.i(694355),o=e.i(661983),l=e.i(971619);let u=new Set(i.BUILD_CONFIGURATION_ICON_KEYS),c=new Set(["SUCCEEDED","FAILED","CANCELLED","TIMED_OUT"]),d=["QUEUED","PREPARING","RUNNING"];function p(e,t=null){if(null===e)return t;try{return JSON.parse(e)}catch{return t}}function h(e,t){if(!e||"object"!=typeof e||Array.isArray(e))throw Error(`${t} must be an object`);return e}function m(e){return Array.isArray(e)?e.filter(e=>"string"==typeof e):[]}function f(e){return null!==e.lastSeenAt&&Date.now()-e.lastSeenAt.getTime()<=(0,s.agentOnlineWindowMs)(e)&&null===e.disconnectedAt}function g(e){return m(p(e.capabilitiesJson,[]))}function y(e,t,r=80){let i=e.trim();if(!i)throw Error(`${t} is required`);if(i.length>r)throw Error(`${t} is too long`);return i}function w(e){return`${e.type}:${e.id}`}function b(e){if(e.codebaseId)return e.codebaseId;let t=p(e.snapshotJson,{});if(t&&"object"==typeof t&&!Array.isArray(t)){let e=t.codebase;if(e&&"object"==typeof e&&!Array.isArray(e)){let t=e.id;if("string"==typeof t&&t.trim())return t}}throw Error("Build coordination metadata is unavailable")}function v(e){return"SUCCEEDED"===e?"SUCCEEDED":"CANCELLED"===e?"CANCELLED":"FAILED"}let k={agent:!0,codebase:{include:{repository:!0}},worktree:{include:{_count:{select:{builds:{where:{status:{in:d}}}}}}},configuration:{include:{source:!0,project:!0}},artifacts:{orderBy:{createdAt:"asc"}},scriptExecutions:{orderBy:[{phase:"asc"},{position:"asc"}]},deployments:{orderBy:{createdAt:"desc"}},exports:{orderBy:{createdAt:"desc"}}};e.s(["BuildsService",0,class{agentControl;telemetry;notifications;diskSpace;constructor(e,t,r,n){this.agentControl=e,this.telemetry=t,this.notifications=r,this.diskSpace=n,this.agentControl.registerCompletionHandler(i.IOS_BUILD_JOB_KIND,e=>this.projectBuildCompletion(e)),this.agentControl.registerCompletionHandler(i.IOS_DEPLOY_JOB_KIND,e=>this.projectDeploymentCompletion(e)),this.agentControl.registerCompletionHandler(i.IOS_EXPORT_JOB_KIND,e=>this.projectExportCompletion(e)),this.agentControl.registerCompletionHandler(i.IOS_TEST_RESULTS_JOB_KIND,e=>this.projectGeneratedReportCompletion(e)),this.agentControl.registerCompletionHandler(i.IOS_COVERAGE_REPORT_JOB_KIND,e=>this.projectGeneratedReportCompletion(e)),this.agentControl.registerCompletionHandler(a.COVERAGE_IMPORT_JOB_KIND,e=>this.importedCoverageCompletion(e))}publish(e){o.agentEventBus.publish((0,o.buildTopic)(e),{buildChanged:{id:e}}),o.agentEventBus.publish(o.BUILDS_CHANGED_TOPIC,{buildsChanged:{id:e}}),o.agentEventBus.publish(o.SIDEBAR_STATUS_CHANGED_TOPIC,{sidebarStatusChanged:!0})}async requireWorktree(e,t,r="Agent must be updated to use iOS builds"){let i=await (0,n.getPrismaClient)(),a=await i.worktree.findUnique({where:{id:e},include:{codebase:{include:{agent:!0,repository:!0}}}});if(!a||a.missingAt||"AVAILABLE"!==a.availability)throw Error("Worktree is unavailable");if(!f(a.codebase.agent))throw Error("Agent is offline");if(!g(a.codebase.agent).includes(t))throw Error(r);return a}identity(e){return{codebaseId:e.codebaseId,worktreeId:e.id,branch:e.branch,folder:e.folder,gitDirectory:e.gitDirectory,expectedOrigin:e.codebase.repository.canonicalOrigin,headSha:e.headSha,baseBranch:e.baseBranchOverride??e.codebase.defaultBranch??null}}async ensureProject(e){let r=await (0,n.getPrismaClient)(),i=await r.codebase.findUnique({where:{id:e},select:{repositoryId:!0}});if(!i)throw Error("Codebase not found");return r.codebaseProject.upsert({where:{repositoryId_type:{repositoryId:i.repositoryId,type:"IOS_APP"}},create:{id:(0,t.randomUUID)(),repositoryId:i.repositoryId,type:"IOS_APP"},update:{}})}async project(e){let t=await (0,n.getPrismaClient)(),r=await t.codebase.findUnique({where:{id:e},include:{repository:!0}});if(!r)return null;let i=await t.codebaseProject.findUnique({where:{repositoryId_type:{repositoryId:r.repositoryId,type:"IOS_APP"}},include:{configurations:{orderBy:{name:"asc"},include:{source:{include:{observations:{where:{codebaseId:e},orderBy:{lastParseAttemptAt:"desc"},take:1}}}}}}}),a=await t.codebaseRepositoryBuildScript.findMany({where:{repositoryId:r.repositoryId,script:{deletedAt:null}},orderBy:[{position:"asc"},{script:{name:"asc"}}],include:{script:!0}});return i?{...i,repository:r.repository,allowedScripts:a}:null}async createProject(e){return await this.ensureProject(e),this.project(e)}async projectForWorktree(e){let t=await (0,n.getPrismaClient)(),r=await t.worktree.findUnique({where:{id:e},select:{codebaseId:!0}});return r?this.project(r.codebaseId):null}async saveConfiguration(e){let r=await this.ensureProject(e.codebaseId),a=(0,i.parseBuildSource)({kind:e.sourceKind,relativePath:e.sourcePath}),s=y(e.name,"Configuration name"),o=y(e.scheme,"Scheme",256),l=y(e.buildConfiguration,"Xcode configuration",256);if(!i.BUILD_ACTIONS.includes(e.defaultAction))throw Error("Build action is invalid");let c=e.iconKey?.trim()||null;if(c&&!u.has(c))throw Error("Icon is invalid");let d=(0,i.parseBuildAdvancedSettings)(e.advancedSettings??i.DEFAULT_BUILD_ADVANCED_SETTINGS),p=!0===e.autoExport;if(p&&"ARCHIVE"!==e.defaultAction)throw Error("Auto Export is available only for Archive configurations");let h=e.exportSettings?(0,i.parseBuildExportSettings)(e.exportSettings):null;if(p&&!h)throw Error("Auto Export settings are required");let m=await (0,n.getPrismaClient)(),f=e.id?await m.buildConfiguration.findUnique({where:{id:e.id}}):null;if(e.id&&(!f||f.projectId!==r.id))throw Error("Build configuration not found");let g=await m.buildSource.upsert({where:{projectId_relativePath:{projectId:r.id,relativePath:a.relativePath}},create:{id:(0,t.randomUUID)(),projectId:r.id,kind:a.kind,relativePath:a.relativePath},update:{kind:a.kind}}),w=f?.id??(0,t.randomUUID)();return m.buildConfiguration.upsert({where:{id:w},create:{id:w,projectId:r.id,sourceId:g.id,name:s,iconKey:c,scheme:o,buildConfiguration:l,defaultAction:e.defaultAction,advancedSettingsJson:JSON.stringify(d),autoExport:p,exportSettingsJson:h?JSON.stringify(h):null},update:{sourceId:g.id,name:s,iconKey:c,scheme:o,buildConfiguration:l,defaultAction:e.defaultAction,advancedSettingsJson:JSON.stringify(d),autoExport:p,exportSettingsJson:h?JSON.stringify(h):null},include:{source:!0}})}async deleteConfiguration(e){let t=await (0,n.getPrismaClient)();if(await t.build.findFirst({where:{configurationId:e,status:{in:d}}}))throw Error("Configuration has an active build");return 1===(await t.buildConfiguration.deleteMany({where:{id:e}})).count}async scripts(){return(await (0,n.getPrismaClient)()).buildScript.findMany({where:{deletedAt:null},orderBy:{name:"asc"}})}async saveScript(e){let r=y(e.name,"Script name"),a=e.preBuildScript?.trim()||null,s=e.postBuildScript?.trim()||null;if(!a&&!s)throw Error("A pre-build or post-build script is required");let o=e.timeoutSeconds??300;if(!Number.isInteger(o)||o<1||o>3600)throw Error("Script timeout must be between 1 and 3600 seconds");if(!i.BUILD_SCRIPT_FAILURE_BEHAVIORS.includes(e.failureBehavior))throw Error("Script failure behavior is invalid");let l=await (0,n.getPrismaClient)(),u=e.id??(0,t.randomUUID)();return l.buildScript.upsert({where:{id:u},create:{id:u,name:r,preBuildScript:a,postBuildScript:s,enabledByDefault:e.enabledByDefault,timeoutSeconds:o,failureBehavior:e.failureBehavior},update:{name:r,preBuildScript:a,postBuildScript:s,enabledByDefault:e.enabledByDefault,timeoutSeconds:o,failureBehavior:e.failureBehavior,deletedAt:null}})}async deleteScript(e){let t=await (0,n.getPrismaClient)(),r=await t.buildScript.updateMany({where:{id:e,deletedAt:null},data:{deletedAt:new Date}});return await t.codebaseRepositoryBuildScript.deleteMany({where:{scriptId:e}}),1===r.count}async setAllowedScripts(e,t){let r=await (0,n.getPrismaClient)(),i=await r.codebase.findUnique({where:{id:e}});if(!i)throw Error("Codebase not found");let a=[...new Set(t)];if((await r.buildScript.findMany({where:{id:{in:a},deletedAt:null}})).length!==a.length)throw Error("Build script not found");return await r.$transaction(async e=>{await e.codebaseRepositoryBuildScript.deleteMany({where:{repositoryId:i.repositoryId}}),a.length&&await e.codebaseRepositoryBuildScript.createMany({data:a.map((e,t)=>({repositoryId:i.repositoryId,scriptId:e,position:t}))})}),this.project(e)}async waitForJob(e,t=12e4){let r=o.agentEventBus.iterate((0,o.agentJobChangedTopic)(e)),i=Date.now()+t;try{for(;Date.now()<i;){let t=await this.agentControl.getJob(e);if(!t)throw Error("Agent job disappeared");if(c.has(t.status))return t;await Promise.race([r.next(),new Promise(e=>setTimeout(e,Math.max(1,i-Date.now())))])}throw await this.agentControl.cancelJob(e),Error("Agent did not respond in time")}finally{await r.return?.()}}result(e){if("SUCCEEDED"!==e.status)throw Error(e.error||"Agent operation failed");return h(p(e.resultJson,{}),"agent result")}async discoverSources(e,t){let r=await this.requireWorktree(e,i.IOS_SOURCE_DISCOVER_JOB_KIND),a=await this.agentControl.createJob({agentId:r.codebase.agentId,codebaseId:r.codebaseId,worktreeId:r.id,kind:i.IOS_SOURCE_DISCOVER_JOB_KIND,payload:this.identity(r),idempotencyKey:`ios:source:discover:${t}:${r.id}`,timeoutSeconds:60,visibility:"SYSTEM"});try{let e=this.result(await this.waitForJob(a.id));return Array.isArray(e.sources)?e.sources:[]}finally{let e=await (0,n.getPrismaClient)();await e.agentJob.deleteMany({where:{id:a.id,visibility:"SYSTEM"}})}}async reparse(e,r,a){let s=await this.requireWorktree(r,i.IOS_SOURCE_PARSE_JOB_KIND),o=await (0,n.getPrismaClient)(),l=await o.buildConfiguration.findUnique({where:{id:e},include:{source:{include:{project:!0}}}});if(!l||l.source.project.repositoryId!==s.codebase.repositoryId)throw Error("Build configuration is not available for this worktree");let u=`worktree:${s.id}`,c=await o.buildSourceObservation.findUnique({where:{sourceId_scopeKey:{sourceId:l.sourceId,scopeKey:u}}}),d=new Date;await o.buildSourceObservation.upsert({where:{sourceId_scopeKey:{sourceId:l.sourceId,scopeKey:u}},create:{id:(0,t.randomUUID)(),sourceId:l.sourceId,scopeKey:u,codebaseId:s.codebaseId,worktreeId:s.id,status:"PARSING",lastParseAttemptAt:d},update:{status:"PARSING",error:null,lastParseAttemptAt:d}});let p=await this.agentControl.createJob({agentId:s.codebase.agentId,codebaseId:s.codebaseId,worktreeId:s.id,kind:i.IOS_SOURCE_PARSE_JOB_KIND,payload:{...this.identity(s),source:{kind:l.source.kind,relativePath:l.source.relativePath},scheme:l.scheme},idempotencyKey:`ios:source:parse:${a}:${l.id}:${s.id}`,timeoutSeconds:120,visibility:"SYSTEM"});try{let e=this.result(await this.waitForJob(p.id)),t=m(e.schemes),r=m(e.configurations),i=t.includes(l.scheme)&&r.includes(l.buildConfiguration);return o.buildSourceObservation.update({where:{sourceId_scopeKey:{sourceId:l.sourceId,scopeKey:u}},data:{status:i?"VALID":"INVALID",schemesJson:JSON.stringify(t),configurationsJson:JSON.stringify(r),testPlansJson:JSON.stringify(m(e.testPlans)),error:i?null:"The saved scheme or configuration is no longer available",stale:!1,headSha:"string"==typeof e.headSha?e.headSha:s.headSha,xcodeVersion:"string"==typeof e.xcodeVersion?e.xcodeVersion:null,lastParsedAt:new Date}})}catch(t){let e=t instanceof Error?t.message:String(t);return o.buildSourceObservation.update({where:{sourceId_scopeKey:{sourceId:l.sourceId,scopeKey:u}},data:{status:"ERROR",error:e,stale:!!c?.lastParsedAt}})}finally{await o.agentJob.deleteMany({where:{id:p.id,visibility:"SYSTEM"}})}}async inspectSource(e){let t=await this.requireWorktree(e.worktreeId,i.IOS_SOURCE_PARSE_JOB_KIND),r=(0,i.parseBuildSource)({kind:e.sourceKind,relativePath:e.sourcePath}),a=await this.agentControl.createJob({agentId:t.codebase.agentId,codebaseId:t.codebaseId,worktreeId:t.id,kind:i.IOS_SOURCE_PARSE_JOB_KIND,payload:{...this.identity(t),source:r,scheme:e.scheme?.trim()||null,configuration:e.configuration?.trim()||null},idempotencyKey:`ios:source:inspect:${e.requestId}:${t.id}:${r.relativePath}:${e.scheme??""}:${e.configuration??""}`,timeoutSeconds:120,visibility:"SYSTEM"});try{var s;let e=this.result(await this.waitForJob(a.id));return{source:r,schemes:m(e.schemes),configurations:m(e.configurations),testPlans:m(e.testPlans),signingRequirements:(s=e.signingRequirements,Array.isArray(s)?s.flatMap(e=>!e||"object"!=typeof e||Array.isArray(e)||"string"!=typeof e.bundleId||"string"!=typeof e.name||"string"!=typeof e.target?[]:[{bundleId:e.bundleId,name:e.name,target:e.target,platform:"string"==typeof e.platform?e.platform:null,teamId:"string"==typeof e.teamId?e.teamId:null,provisioningProfileSpecifier:"string"==typeof e.provisioningProfileSpecifier?e.provisioningProfileSpecifier:null}]):[]),headSha:"string"==typeof e.headSha?e.headSha:t.headSha,xcodeVersion:"string"==typeof e.xcodeVersion?e.xcodeVersion:null}}finally{let e=await (0,n.getPrismaClient)();await e.agentJob.deleteMany({where:{id:a.id,visibility:"SYSTEM"}})}}async destinations(e){let t=await this.requireWorktree(e.worktreeId,i.IOS_DESTINATIONS_JOB_KIND),r=await (0,n.getPrismaClient)(),a=await r.buildConfiguration.findUnique({where:{id:e.configurationId},include:{source:{include:{project:!0}}}});if(!a||a.source.project.repositoryId!==t.codebase.repositoryId)throw Error("Build configuration is not available for this worktree");let s=e.action??a.defaultAction;if(!i.BUILD_ACTIONS.includes(s))throw Error("Build action is invalid");let o=function(e){if(!i.GENERIC_BUILD_DESTINATION_ACTIONS.includes(e))return[];let t={type:"PHYSICAL_DEVICE",id:"generic-ios",name:"Any Physical iOS Device",platform:"iOS",osVersion:null,state:null,generic:!0};return"ARCHIVE"===e?[t]:[{type:"SIMULATOR",id:"generic-ios-simulator",name:"Any iOS Simulator",platform:"iOS Simulator",osVersion:null,state:null,generic:!0},t]}(s);if("ARCHIVE"===s)return o;let l=await this.agentControl.createJob({agentId:t.codebase.agentId,codebaseId:t.codebaseId,worktreeId:t.id,kind:i.IOS_DESTINATIONS_JOB_KIND,payload:{...this.identity(t),source:{kind:a.source.kind,relativePath:a.source.relativePath},scheme:a.scheme,configuration:a.buildConfiguration,action:s},idempotencyKey:`ios:destinations:${e.requestId}:${a.id}:${t.id}:${s}`,timeoutSeconds:120,visibility:"SYSTEM"});try{let e=this.result(await this.waitForJob(l.id));return Array.isArray(e.destinations)?e.destinations:[]}finally{await r.agentJob.deleteMany({where:{id:l.id,visibility:"SYSTEM"}})}}async signingOptionsForBuild(e){let t=await (0,n.getPrismaClient)(),r=await t.build.findUnique({where:{id:e},include:{artifacts:!0}}),a=r?.artifacts.find(e=>"ARCHIVE"===e.kind);if(!r||"SUCCEEDED"!==r.status||!r.worktreeId)throw Error("A successful archive build is required");if(!a)throw Error("Build does not contain an archive");let s=await this.requireWorktree(r.worktreeId,i.IOS_SIGNING_INSPECT_JOB_KIND),o=await this.agentControl.createJob({agentId:s.codebase.agentId,codebaseId:s.codebaseId,worktreeId:s.id,kind:i.IOS_SIGNING_INSPECT_JOB_KIND,payload:{buildId:r.id,codebaseId:s.codebaseId,artifactDirectory:r.artifactDirectory,archiveRelativePath:a.relativePath},idempotencyKey:`ios:signing:${r.id}:${a.id}`,timeoutSeconds:120,visibility:"SYSTEM"});try{let e=this.result(await this.waitForJob(o.id));return{teams:Array.isArray(e.teams)?e.teams:[],identities:Array.isArray(e.identities)?e.identities:[],profiles:Array.isArray(e.profiles)?e.profiles:[],bundles:Array.isArray(e.bundles)?e.bundles:[]}}finally{await t.agentJob.deleteMany({where:{id:o.id,visibility:"SYSTEM"}})}}async destinationsForBuild(e,t){let r=await (0,n.getPrismaClient)(),a=await r.build.findUnique({where:{id:e},include:{artifacts:!0}});if(!a||"SUCCEEDED"!==a.status||!a.worktreeId||!a.artifacts.some(e=>"RUNNABLE_APP"===e.kind))throw Error("A successful runnable build is required");let s=await this.requireWorktree(a.worktreeId,i.IOS_RUN_DESTINATIONS_JOB_KIND);if(a.agentId!==s.codebase.agentId||a.codebaseId!==s.codebaseId)throw Error("The build no longer belongs to this worktree checkout");let o=await this.agentControl.createJob({agentId:s.codebase.agentId,codebaseId:s.codebaseId,worktreeId:s.id,kind:i.IOS_RUN_DESTINATIONS_JOB_KIND,payload:{...this.identity(s),destinationType:a.destinationType},idempotencyKey:`ios:build-destinations:${y(t,"Request ID",200)}:${a.id}`,timeoutSeconds:120,visibility:"SYSTEM"});try{let e=this.result(await this.waitForJob(o.id));return(Array.isArray(e.destinations)?e.destinations:[]).map(e=>(0,i.parseBuildDestination)(e)).filter(e=>e.type===a.destinationType&&!e.generic)}finally{await r.agentJob.deleteMany({where:{id:o.id,visibility:"SYSTEM"}})}}async startBuild(e){let a=y(e.requestId,"Request ID",200),s=`${e.worktreeId}:${a}`,o=await (0,n.getPrismaClient)(),u=await o.build.findUnique({where:{requestKey:s},include:k});if(u){if(this.telemetry){let e=p(u.snapshotJson,{}),t=h(e.configuration??{},"build configuration snapshot"),r=h(e.destination??{},"build destination snapshot");await this.telemetry.addBuildSeparator({buildId:u.id,name:`Build \xb7 ${String(t.name??"iOS")} \xb7 ${String(r.name??"Destination")}`,clientTime:u.createdAt})}return u}let c=await this.requireWorktree(e.worktreeId,i.IOS_BUILD_JOB_KIND);if(await this.diskSpace?.assertWorktreeCanStart(c.id),e.worktreeCoverage&&!g(c.codebase.agent).includes(i.IOS_COVERAGE_REPORT_JOB_KIND))throw Error("Build agent must be updated for worktree coverage");let d=await o.buildConfiguration.findUnique({where:{id:e.configurationId},include:{source:{include:{project:!0}}}});if(!d||d.source.project.repositoryId!==c.codebase.repositoryId)throw Error("Build configuration is not available for this worktree");let m=await o.buildSourceObservation.findUnique({where:{sourceId_scopeKey:{sourceId:d.sourceId,scopeKey:`worktree:${c.id}`}}}),f=e.action??d.defaultAction;if(!i.BUILD_ACTIONS.includes(f))throw Error("Build action is invalid");if(e.exportWhenComplete&&"ARCHIVE"!==f)throw Error("Export when complete is available only for Archive builds");let w="ARCHIVE"===f&&(e.exportWhenComplete??d.autoExport),b=e.exportSettings??p(d.exportSettingsJson,null),v=w||b?(0,i.parseBuildExportSettings)(b):null;if(w&&!v)throw Error("Export settings are required when automatic export is enabled");let S=(0,i.parseBuildDestination)(e.destination);if(!i.BUILD_DESTINATION_TYPES.includes(S.type))throw Error("Destination is invalid");if("ARCHIVE"===f&&("PHYSICAL_DEVICE"!==S.type||!S.generic))throw Error("Archive builds require the generic physical iOS destination");if(S.generic&&!i.GENERIC_BUILD_DESTINATION_ACTIONS.includes(f))throw Error("This build action requires a concrete destination");let E=h(p(d.advancedSettingsJson,{}),"saved advanced settings"),I=e.advancedSettings?h(e.advancedSettings,"advanced settings override"):{},x=(0,i.parseBuildAdvancedSettings)({...E,...I,buildSettingOverrides:{...h(E.buildSettingOverrides??{},"saved overrides"),...h(I.buildSettingOverrides??{},"run overrides")}});if("TEST_WITHOUT_BUILDING"===f){if(!x.priorBuildForTestingId)throw Error("Test Without Building requires a prior Build for Testing result");let e=await o.build.findUnique({where:{id:x.priorBuildForTestingId},include:{artifacts:{where:{kind:{in:["TEST_PRODUCTS","XCTESTRUN"]}},orderBy:{createdAt:"asc"}}}});if(!e||"SUCCEEDED"!==e.status||"BUILD_FOR_TESTING"!==e.action)throw Error("Test Without Building requires a successful Build for Testing result");if(e.agentId!==c.codebase.agentId||e.worktreeId!==c.id||e.configurationId!==d.id)throw Error("The prior Build for Testing result is not compatible with this agent, worktree, and configuration");if(e.destinationType!==S.type)throw Error("The prior Build for Testing result uses a different destination type");let t=h(p(e.snapshotJson,{}),"prior Build for Testing snapshot"),a=h(t.configuration??{},"prior Build for Testing configuration snapshot"),n=(0,i.parseBuildAdvancedSettings)(a.advancedSettings??{});if(x.testPlan&&n.testPlan&&x.testPlan!==n.testPlan)throw Error("The selected test plan does not match the prior Build for Testing result");let s=x.testPlan??n.testPlan??null,l=e.artifacts.filter(e=>"TEST_PRODUCTS"===e.kind&&e.relativePath.endsWith(".xctestproducts")),u=e.artifacts.filter(e=>"XCTESTRUN"===e.kind&&e.relativePath.endsWith(".xctestrun"));if(l.length>1)throw Error("The prior Build for Testing result contains multiple test-products artifacts");let m=l[0];if(m||1!==u.length||(m=u[0]),!m&&u.length>1&&s&&(m=u.find(e=>h(p(e.metadataJson,{}),"test-run artifact metadata").testPlan===s||e.relativePath.endsWith(`/${s}.xctestrun`)||e.relativePath===`${s}.xctestrun`)),!m&&u.length>1)throw Error("Select a test plan to choose among the captured .xctestrun artifacts");let f=m?.relativePath??"test-products.xctestproducts",g=(0,r.resolve)(e.artifactDirectory),y=(0,r.resolve)(g,f),w=(0,r.relative)(g,y);if(!w||w.startsWith("..")||(0,r.isAbsolute)(w))throw Error("The prior Build for Testing artifact path is invalid");x={...x,testPlan:s,priorTestProductsPath:f.endsWith(".xctestproducts")?y:null,priorXctestrunPath:f.endsWith(".xctestrun")?y:null}}let A=await o.codebaseRepositoryBuildScript.findMany({where:{repositoryId:c.codebase.repositoryId,script:{deletedAt:null}},orderBy:[{position:"asc"},{script:{name:"asc"}}],include:{script:!0}}),_=new Set(e.scriptIds??[]);if([..._].some(e=>!A.some(t=>t.scriptId===e)))throw Error("A selected build script is not allowed for this codebase");let C=A.filter(e=>_.has(e.scriptId)),R=(0,t.randomUUID)(),T=(0,l.effectiveBuildsDirectory)(c.codebase.agent);if(!T)throw Error("The agent builds directory is unavailable");let D=(0,r.join)(T,R),N={kind:d.source.kind,relativePath:d.source.relativePath},O=function(e){var t;let i=e.advancedSettings,a="TEST_WITHOUT_BUILDING"===e.action,n=["xcodebuild",...a?[]:[..."PACKAGE"===e.source.kind?[]:"PROJECT"===e.source.kind?["-project",e.source.relativePath]:["-workspace",e.source.relativePath],"-scheme",e.scheme,"-configuration",e.configuration],"-destination",(t=e.destination).generic?"SIMULATOR"===t.type?"generic/platform=iOS Simulator":"generic/platform=iOS":"SIMULATOR"===t.type?`platform=iOS Simulator,id=${t.id}`:`platform=iOS,id=${t.id}`,"-hideShellScriptEnvironment","-resultBundlePath",(0,r.join)(e.artifactDirectory,"result.xcresult")];for(let e of(!a&&("RESOLVED_ONLY"===i.packageResolution?n.push("-onlyUsePackageVersionsFromResolvedFile"):"SKIP_UPDATES"===i.packageResolution?n.push("-skipPackageUpdates"):"DISABLE_AUTOMATIC"===i.packageResolution&&n.push("-disableAutomaticPackageResolution"),i.disablePackageRepositoryCache&&n.push("-disablePackageRepositoryCache"),"PROJECT_DEFAULT"!==i.signingStyle&&n.push(`CODE_SIGN_STYLE=${"AUTOMATIC"===i.signingStyle?"Automatic":"Manual"}`),i.developmentTeam&&n.push(`DEVELOPMENT_TEAM=${i.developmentTeam}`),i.codeSignIdentity&&n.push(`CODE_SIGN_IDENTITY=${i.codeSignIdentity}`),i.provisioningProfileSpecifier&&n.push(`PROVISIONING_PROFILE_SPECIFIER=${i.provisioningProfileSpecifier}`),i.productBundleIdentifier&&n.push(`PRODUCT_BUNDLE_IDENTIFIER=${i.productBundleIdentifier}`),i.allowProvisioningUpdates&&n.push("-allowProvisioningUpdates"),i.allowProvisioningDeviceRegistration&&n.push("-allowProvisioningDeviceRegistration")),i.testPlan&&n.push("-testPlan",i.testPlan),i.codeCoverage&&n.push("-enableCodeCoverage","YES"),null!==i.parallelTesting&&n.push("-parallel-testing-enabled",i.parallelTesting?"YES":"NO"),null!==i.parallelTestingWorkers&&n.push("-parallel-testing-worker-count",String(i.parallelTestingWorkers)),i.onlyTesting))n.push(`-only-testing:${e}`);for(let e of i.skipTesting)n.push(`-skip-testing:${e}`);if(!a)for(let[e,t]of Object.entries(i.buildSettingOverrides))n.push(`${e}=${t}`);"ARCHIVE"===e.action&&n.push("-archivePath",(0,r.join)(e.artifactDirectory,"archive.xcarchive")),"BUILD_FOR_TESTING"===e.action&&n.push("-testProductsPath",(0,r.join)(e.artifactDirectory,"test-products.xctestproducts")),"TEST_WITHOUT_BUILDING"===e.action&&i.priorTestProductsPath&&n.push("-testProductsPath",i.priorTestProductsPath),"TEST_WITHOUT_BUILDING"===e.action&&!i.priorTestProductsPath&&i.priorXctestrunPath&&n.push("-xctestrun",i.priorXctestrunPath),n.push({BUILD:"build",TEST:"test",ANALYZE:"analyze",ARCHIVE:"archive",BUILD_FOR_TESTING:"build-for-testing",TEST_WITHOUT_BUILDING:"test-without-building"}[e.action]);let s=n.map(e=>/^[A-Za-z0-9_./:=,-]+$/.test(e)?e:JSON.stringify(e)).join(" ");return`cd ${JSON.stringify(e.folder)} && xcrun ${s}`}({folder:c.folder,source:N,scheme:d.scheme,configuration:d.buildConfiguration,destination:S,action:f,advancedSettings:x,artifactDirectory:D}),P=C.map(({script:e,position:t})=>({id:e.id,name:e.name,preBuildScript:e.preBuildScript,postBuildScript:e.postBuildScript,timeoutSeconds:e.timeoutSeconds,failureBehavior:e.failureBehavior,position:t})),$=await this.telemetry?.buildSettings(S.type,{requestOrigin:e.telemetryRequestOrigin}),U={repository:{id:c.codebase.repository.id,name:c.codebase.repository.name,canonicalOrigin:c.codebase.repository.canonicalOrigin},codebase:{id:c.codebase.id,folder:c.codebase.folder},worktree:{id:c.id,folder:c.folder,branch:c.branch,headSha:c.headSha,codeStateHash:c.codeStateHash,hasStagedChanges:c.hasStagedChanges,hasUnstagedChanges:c.hasUnstagedChanges},agent:{id:c.codebase.agent.id,name:c.codebase.agent.name,hostname:c.codebase.agent.hostname},configuration:{id:d.id,name:d.name,iconKey:d.iconKey,source:N,scheme:d.scheme,buildConfiguration:d.buildConfiguration,action:f,advancedSettings:x,autoExport:w,exportSettings:v,parse:m?{status:m.status,schemes:p(m.schemesJson,[]),configurations:p(m.configurationsJson,[]),testPlans:p(m.testPlansJson,[]),headSha:m.headSha,xcodeVersion:m.xcodeVersion,parsedAt:m.lastParsedAt?.toISOString()??null}:{status:"UNPARSED",schemes:[],configurations:[],testPlans:[],headSha:null,xcodeVersion:null,parsedAt:null}},destination:S,scripts:P,...$?{telemetry:$}:{},worktreeCoverage:!0===e.worktreeCoverage},B=new Date,j=o.build.create({data:{id:R,requestKey:s,requestId:a,agentId:c.codebase.agentId,codebaseId:c.codebaseId,worktreeId:c.id,configurationId:d.id,status:"QUEUED",action:f,destinationType:S.type,destinationJson:JSON.stringify(S),snapshotJson:JSON.stringify(U),commandSummary:O,artifactDirectory:D,createdAt:B,scriptExecutions:{create:P.flatMap(e=>[...e.preBuildScript?[{id:(0,t.randomUUID)(),scriptId:e.id,phase:"PRE_BUILD",position:e.position,nameSnapshot:e.name,sourceSnapshot:e.preBuildScript,timeoutSeconds:e.timeoutSeconds,failureBehavior:e.failureBehavior}]:[],...e.postBuildScript?[{id:(0,t.randomUUID)(),scriptId:e.id,phase:"POST_BUILD",position:e.position,nameSnapshot:e.name,sourceSnapshot:e.postBuildScript,timeoutSeconds:e.timeoutSeconds,failureBehavior:e.failureBehavior}]:[]])}}});if(this.telemetry){let e=(0,t.randomUUID)();await o.$transaction([j,o.telemetryEntry.create({data:{id:e,entryType:"SEPARATOR",clientTime:B,receivedAt:B,separatorKind:"BUILD",separatorName:`Build \xb7 ${d.name} \xb7 ${S.name}`.slice(0,100),buildId:R}})]),this.telemetry.notifyChange([e],"BUILD_SEPARATOR_ADDED")}else await j;try{let t=await this.agentControl.createJob({agentId:c.codebase.agentId,codebaseId:c.codebaseId,worktreeId:c.id,kind:i.IOS_BUILD_JOB_KIND,payload:{...this.identity(c),buildId:R,artifactDirectory:D,source:N,scheme:d.scheme,configuration:d.buildConfiguration,action:f,destination:S,advancedSettings:x,scripts:P,...$?{telemetry:$}:{},worktreeCoverage:!0===e.worktreeCoverage},idempotencyKey:`ios:build:${a}:${c.id}`,timeoutSeconds:604800});await o.build.update({where:{id:R},data:{jobId:t.id}})}catch(e){throw await o.build.update({where:{id:R},data:{status:"FAILED",errorCode:"QUEUE_FAILED",error:e instanceof Error?e.message:String(e),finishedAt:new Date}}),e}return this.publish(R),o.build.findUniqueOrThrow({where:{id:R},include:k})}async rebuildBuild(e,t,r){let i=await (0,n.getPrismaClient)(),a=await i.build.findUnique({where:{id:e},select:{worktreeId:!0,configurationId:!0,destinationJson:!0,action:!0,snapshotJson:!0}});if(!a)throw Error("Build not found");let s=h(p(a.snapshotJson,{}),"build snapshot"),o=h(s.worktree??{},"build worktree snapshot"),l=h(s.configuration??{},"build configuration snapshot"),u=Array.isArray(s.scripts)?s.scripts:[],c=a.worktreeId??("string"==typeof o.id?o.id:null),d=a.configurationId??("string"==typeof l.id?l.id:null);if(!c||!d)throw Error("The original build settings are unavailable");return this.startBuild({worktreeId:c,configurationId:d,destination:p(a.destinationJson,{}),scriptIds:u.flatMap(e=>{if(!e||"object"!=typeof e||Array.isArray(e))return[];let t=e.id;return"string"==typeof t?[t]:[]}),action:a.action,advancedSettings:l.advancedSettings,exportWhenComplete:!0===l.autoExport,...Object.hasOwn(l,"exportSettings")?{exportSettings:l.exportSettings}:{},requestId:t,...r?{telemetryRequestOrigin:r}:{}})}async startWorktreeCoverage(e){let t=await (0,n.getPrismaClient)(),r=await t.worktree.findUnique({where:{id:e.worktreeId},select:{baseBranchOverride:!0,codebase:{select:{defaultBranch:!0}}}});if(!r||!(r.baseBranchOverride??r.codebase.defaultBranch))throw Error("A base branch is required for worktree coverage");let i=h(e.advancedSettings??{},"coverage advanced settings");return this.startBuild({...e,action:"TEST",advancedSettings:{...i,codeCoverage:!0,parseTestResults:!0},worktreeCoverage:!0})}async importCoverageReport(e){let i=await (0,n.getPrismaClient)(),s=await this.requireWorktree(e.worktreeId,a.COVERAGE_IMPORT_JOB_KIND,"Agent must be updated to import coverage reports"),o=s.baseBranchOverride??s.codebase.defaultBranch??null,u=(e.format||"AUTO").toUpperCase();if(!a.COVERAGE_REPORT_FORMATS.includes(u))throw Error("Coverage format must be AUTO, LCOV, or ISTANBUL");let c=y(e.buildName??"Coverage report","Build name",200),d=y(e.reportPath,"Coverage file",4e3),p=y(e.requestId,"Request ID",200),h=`coverage:${e.worktreeId}:${p}`,m=await i.build.findUnique({where:{requestKey:h}});if(m)return m;let f=(0,t.randomUUID)(),g=(0,l.effectiveBuildsDirectory)(s.codebase.agent);if(!g)throw Error("The agent builds directory is unavailable");let w={repository:{id:s.codebase.repository.id,name:s.codebase.repository.name,canonicalOrigin:s.codebase.repository.canonicalOrigin},codebase:{id:s.codebase.id,folder:s.codebase.folder},worktree:{id:s.id,folder:s.folder,branch:s.branch,headSha:s.headSha,codeStateHash:s.codeStateHash,hasStagedChanges:s.hasStagedChanges,hasUnstagedChanges:s.hasUnstagedChanges},agent:{id:s.codebase.agent.id,name:s.codebase.agent.name,hostname:s.codebase.agent.hostname},configuration:{name:c},coverageImport:{reportPath:d,format:u,baseBranch:o},worktreeCoverage:!0},b={type:"HOST",id:s.codebase.agent.id,name:s.codebase.agent.name,platform:s.codebase.agent.architecture,osVersion:s.codebase.agent.osVersion||null,state:"Connected"},v=await i.build.create({data:{id:f,requestKey:h,requestId:p,agentId:s.codebase.agentId,codebaseId:s.codebaseId,worktreeId:s.id,status:"RUNNING",action:"TEST",destinationType:"HOST",destinationJson:JSON.stringify(b),snapshotJson:JSON.stringify(w),commandSummary:`Import coverage from ${d}`,artifactDirectory:(0,r.join)(g,f),startedAt:new Date}}),k=null;try{await i.buildReport.create({data:{id:(0,t.randomUUID)(),buildId:f,kind:"CODE_COVERAGE",source:"WORKTREE",status:"PENDING"}}),this.publish(f);let e=await this.agentControl.createJob({agentId:s.codebase.agentId,codebaseId:s.codebaseId,worktreeId:s.id,kind:a.COVERAGE_IMPORT_JOB_KIND,payload:{buildId:f,codebaseId:s.codebaseId,worktreeId:s.id,folder:s.folder,reportPath:d,format:u,baseBranch:o},idempotencyKey:`coverage:import:${p}:${f}`,timeoutSeconds:300,visibility:"SYSTEM"});return k=e.id,await i.build.update({where:{id:f},data:{jobId:e.id}}),{...v,jobId:e.id}}catch(a){k&&await this.agentControl.cancelJob(k).catch(()=>void 0);let e=a instanceof Error?a.message:String(a),r=new Date;throw await i.$transaction(async i=>{await i.buildReport.upsert({where:{buildId_kind:{buildId:f,kind:"CODE_COVERAGE"}},create:{id:(0,t.randomUUID)(),buildId:f,kind:"CODE_COVERAGE",source:"WORKTREE",status:"FAILED",error:e,finishedAt:r},update:{status:"FAILED",error:e,finishedAt:r}}),await i.build.update({where:{id:f},data:{status:"FAILED",errorCode:"QUEUE_FAILED",error:e,finishedAt:r}})}),this.publish(f),a}}async importedCoverageCompletion(e){let r=h(p(e.payloadJson,{}),"coverage import payload");if("string"!=typeof r.buildId)return;let i=r.buildId,a=h(p(e.resultJson,{}),"coverage import result"),s="SUCCEEDED"===e.status&&!!a.report&&"object"==typeof a.report,o=await (0,n.getPrismaClient)();await o.$transaction(async r=>{s?await this.upsertReportProjection(r,i,a.report,"WORKTREE"):await r.buildReport.upsert({where:{buildId_kind:{buildId:i,kind:"CODE_COVERAGE"}},create:{id:(0,t.randomUUID)(),buildId:i,kind:"CODE_COVERAGE",source:"WORKTREE",status:"FAILED",error:e.error||"Coverage import failed",finishedAt:new Date},update:{status:"FAILED",error:e.error||"Coverage import failed",finishedAt:new Date}}),await r.build.update({where:{id:i},data:{status:s?"SUCCEEDED":"FAILED",error:s?null:e.error||"Coverage import failed",finishedAt:new Date}})}),this.publish(i)}async generateReport(e,r,a){let s=await (0,n.getPrismaClient)(),o=await s.buildReport.findUnique({where:{buildId_kind:{buildId:e,kind:r}},include:{artifact:!0}});if(o?.status==="READY")return o;let l=await s.build.findUnique({where:{id:e},include:{agent:!0,artifacts:!0}});if(!l)throw Error("Build not found");if(d.includes(l.status))throw Error("Wait for the build to finish before generating reports");if(!l.agentId||!l.agent||!f(l.agent))throw Error("Build agent is offline");let u="TEST_RESULTS"===r?i.IOS_TEST_RESULTS_JOB_KIND:i.IOS_COVERAGE_REPORT_JOB_KIND;if(!g(l.agent).includes(u))throw Error("Build agent must be updated to generate reports");if(!l.artifacts.some(e=>"RESULT_BUNDLE"===e.kind))throw Error("The build result bundle is unavailable");if("TEST_RESULTS"===r&&!["TEST","TEST_WITHOUT_BUILDING"].includes(l.action))throw Error("This build did not run tests");let c=await s.buildReport.upsert({where:{buildId_kind:{buildId:e,kind:r}},create:{id:(0,t.randomUUID)(),buildId:e,kind:r,source:"MANUAL",status:"PENDING"},update:{source:"MANUAL",status:"PENDING",error:null,finishedAt:null}});this.publish(e);let p=b(l),h=await this.agentControl.createJob({agentId:l.agentId,codebaseId:p,worktreeId:l.worktreeId,kind:u,payload:{buildId:e,artifactDirectory:l.artifactDirectory,codebaseId:p,reportKind:r,source:"MANUAL"},idempotencyKey:`ios:report:${r}:${y(a,"Request ID",200)}:${e}`,timeoutSeconds:180,visibility:"SYSTEM"});try{return await this.waitForJob(h.id,17e4),s.buildReport.findUniqueOrThrow({where:{id:c.id},include:{artifact:!0}})}finally{await s.agentJob.deleteMany({where:{id:h.id,visibility:"SYSTEM"}})}}async coverageHistory(e){return(await (0,n.getPrismaClient)()).buildReport.findMany({where:{kind:"CODE_COVERAGE",source:"WORKTREE",build:{worktreeId:e}},orderBy:{createdAt:"desc"},take:50,select:{id:!0,buildId:!0,artifactId:!0,kind:!0,source:!0,status:!0,summaryJson:!0,error:!0,createdAt:!0,updatedAt:!0,finishedAt:!0,artifact:!0,build:{select:{id:!0,status:!0,action:!0,destinationType:!0,destinationJson:!0,snapshotJson:!0,createdAt:!0,startedAt:!0,finishedAt:!0,updatedAt:!0,worktree:{select:{headSha:!0,codeStateHash:!0,hasStagedChanges:!0,hasUnstagedChanges:!0,lastCheckedAt:!0,_count:{select:{builds:{where:{status:{in:d}}}}}}},artifacts:{orderBy:{createdAt:"asc"}}}}}})}async reportsForBuild(e){return(await (0,n.getPrismaClient)()).buildReport.findMany({where:{buildId:e},orderBy:{createdAt:"asc"},include:{artifact:!0}})}async reportData(e){let t=await (0,n.getPrismaClient)(),r=await t.buildReport.findUnique({where:{id:e},select:{dataJson:!0}});return r?.dataJson??"{}"}async builds(e={}){let t=await (0,n.getPrismaClient)(),r=Math.max(1,Math.min(e.first??50,200)),i=await t.build.findMany({where:{...e.status?{status:e.status}:{},...e.codebaseId?{codebaseId:e.codebaseId}:{},...e.worktreeId?{worktreeId:e.worktreeId}:{}},orderBy:[{createdAt:"desc"},{id:"desc"}],...e.after?{cursor:{id:e.after},skip:1}:{},take:r+1,include:k});return{items:i.slice(0,r),nextCursor:i.length>r?i[r-1].id:null}}async getBuild(e){return(await (0,n.getPrismaClient)()).build.findUnique({where:{id:e},include:k})}async deleteBuilds(e){let t=[...new Set(e)];if(!t.length)return 0;if(t.length>200)throw Error("At most 200 builds can be deleted at once");let a=await (0,n.getPrismaClient)(),s=await a.build.findMany({where:{id:{in:t}},select:{id:!0,status:!0,artifactDirectory:!0,snapshotJson:!0,agentId:!0,agent:{select:{capabilitiesJson:!0}},codebaseId:!0,worktreeId:!0,deployments:{where:{status:{in:d}},select:{id:!0}},exports:{where:{status:{in:d}},select:{id:!0}}}});if(s.some(e=>d.includes(e.status)))throw Error("Running builds cannot be deleted");if(s.some(e=>e.deployments.length>0||e.exports.length>0))throw Error("Builds with running deployments or exports cannot be deleted");for(let e of s){if(!(0,r.isAbsolute)(e.artifactDirectory)||(0,r.basename)(e.artifactDirectory)!==e.id)throw Error(`Build folder is invalid for ${e.id}`);if(e.agentId){let t=b(e);if(!e.agent||!g(e.agent).includes(i.IOS_BUILD_DELETE_JOB_KIND))throw Error("Build agent must be updated to delete builds");await this.agentControl.createJob({agentId:e.agentId,codebaseId:t,worktreeId:e.worktreeId,kind:i.IOS_BUILD_DELETE_JOB_KIND,payload:{buildId:e.id,artifactDirectory:e.artifactDirectory,codebaseId:t},idempotencyKey:`ios:build:delete:${e.id}`,timeoutSeconds:300,visibility:"SYSTEM"})}}let o=await a.build.deleteMany({where:{id:{in:s.map(e=>e.id)}}});for(let e of s)this.publish(e.id);return o.count}async artifactForInstall(e,t){let r=await (0,n.getPrismaClient)(),i=await r.buildArtifact.findFirst({where:{id:t,buildId:e}});return i?{id:i.id,kind:i.kind,relativePath:i.relativePath,sizeBytes:i.sizeBytes,checksum:i.checksum,createdAt:i.createdAt.toISOString(),metadata:h(p(i.metadataJson,{}),"build artifact metadata")}:null}async prepareArtifactDownload(e,t,r,a=17e4){let s=await (0,n.getPrismaClient)(),o=await s.buildArtifact.findFirst({where:{id:t,buildId:e},include:{build:{include:{agent:!0}}}});if(!o)throw Error("Build artifact not found");let{build:l}=o;if(!l.agentId||!l.agent)throw Error("The build agent is no longer available");if(!f(l.agent))throw Error("Build agent is offline");if(!g(l.agent).includes(i.IOS_ARTIFACT_DOWNLOAD_JOB_KIND))throw Error("Build agent must be updated to download artifacts");let u=b(l),c=await this.agentControl.createJob({agentId:l.agentId,codebaseId:u,worktreeId:l.worktreeId,kind:i.IOS_ARTIFACT_DOWNLOAD_JOB_KIND,payload:{buildId:l.id,artifactDirectory:l.artifactDirectory,artifactRelativePath:o.relativePath,uploadId:r,codebaseId:u},idempotencyKey:`ios:artifact:download:${r}`,timeoutSeconds:Math.ceil(a/1e3)+10,visibility:"SYSTEM"});try{this.result(await this.waitForJob(c.id,a))}finally{await s.agentJob.deleteMany({where:{id:c.id,visibility:"SYSTEM"}})}}async logChunks(e,t=null,r=1e3){let i=await (0,n.getPrismaClient)(),a=t?await i.buildLogChunk.findFirst({where:{id:t,buildId:e},select:{id:!0,createdAt:!0,sequence:!0}}):null;if(t&&!a)throw Error("Build log cursor not found");return i.buildLogChunk.findMany({where:{buildId:e,...a?{OR:[{createdAt:{gt:a.createdAt}},{createdAt:a.createdAt,sequence:{gt:a.sequence}},{createdAt:a.createdAt,sequence:a.sequence,id:{gt:a.id}}]}:{}},orderBy:[{createdAt:"asc"},{sequence:"asc"},{id:"asc"}],take:Math.max(1,Math.min(r,5e3))})}async cancelBuild(e){let t=await (0,n.getPrismaClient)(),r=await t.build.findUnique({where:{id:e}});if(!r)throw Error("Build not found");return d.includes(r.status)&&(r.jobId&&await this.agentControl.cancelJob(r.jobId),await t.build.update({where:{id:e},data:{status:"CANCELLED",finishedAt:new Date,errorCode:"CANCELLED"}}),this.publish(e)),this.getBuild(e)}async reportProgress(e,t){if(!["PREPARING","RUNNING"].includes(t.status))throw Error("Build progress status is invalid");let r=await (0,n.getPrismaClient)(),i=await r.build.findUnique({where:{id:t.buildId}});if(!i||i.agentId!==e)throw Error("Build not found for agent");if(!d.includes(i.status))return i;let a=await r.build.update({where:{id:t.buildId},data:{status:t.status,startedAt:i.startedAt??(t.startedAt?new Date(t.startedAt):new Date),errorCode:t.errorCode??void 0,error:t.error??void 0}});return this.publish(t.buildId),a}async appendLogChunks(e,r,i){if(!i.length||i.length>200)throw Error("Build log batches must contain 1 to 200 chunks");let a=await (0,n.getPrismaClient)(),s=await a.build.findUnique({where:{id:r}});if(!s||s.agentId!==e)throw Error("Build not found for agent");let l=i.map(e=>{if(!Number.isInteger(e.sequence)||e.sequence<0)throw Error("Log sequence must be a non-negative integer");if(!["STDOUT","STDERR","SYSTEM"].includes(e.stream))throw Error("Log stream is invalid");let i=Buffer.from(e.dataBase64,"base64");if(i.length!==e.byteLength||i.length>262144)throw Error("Log byte length is invalid");let a=Buffer.from(i.toString("utf8").replace(/(Bearer\s+)[A-Za-z0-9._~+\/-]+=*/gi,"$1[REDACTED]").replace(/([A-Za-z][A-Za-z0-9+.-]*:\/\/)[^\s/@]+@/g,"$1[REDACTED]@").replace(/\b([A-Z0-9_]*(?:TOKEN|SECRET|PASSWORD|PASSWD|API_KEY|PRIVATE_KEY)[A-Z0-9_]*)\s*=\s*[^\s]+/gi,"$1=[REDACTED]").replace(/-----BEGIN [^-]*PRIVATE KEY-----[\s\S]*?-----END [^-]*PRIVATE KEY-----/g,"[REDACTED PRIVATE KEY]"),"utf8"),n=new Date(e.createdAt);if(Number.isNaN(n.valueOf()))throw Error("Log date is invalid");return{id:(0,t.randomUUID)(),buildId:r,scope:y(e.scope,"Log scope",40),scopeId:y(e.scopeId,"Log scope ID",200),sequence:e.sequence,phase:y(e.phase,"Log phase",80),stream:e.stream,dataBase64:a.toString("base64"),byteLength:a.byteLength,createdAt:n}}),u=[];for(let e of l){let t=await a.buildLogChunk.upsert({where:{scope_scopeId_sequence:{scope:e.scope,scopeId:e.scopeId,sequence:e.sequence}},create:e,update:{}});u.push(t),o.agentEventBus.publish((0,o.buildLogChunkTopic)(r),{buildLogChunkAdded:t})}return u}async runBuild(e){let r=await (0,n.getPrismaClient)(),a=await r.build.findUnique({where:{id:e.buildId},include:{artifacts:!0,worktree:{include:{codebase:{include:{agent:!0,repository:!0}}}}}});if(!a||"SUCCEEDED"!==a.status||!a.worktree)throw Error("A successful build is required");let s=a.artifacts.find(e=>"RUNNABLE_APP"===e.kind);if(!s)throw Error("Build does not contain a runnable app");let o=y(String(h(p(s.metadataJson,{}),"runnable metadata").bundleIdentifier??""),"Runnable bundle identifier",512),l=e.destinations.map(i.parseBuildDestination);if(!l.length)throw Error("Select at least one destination");if(new Set(l.map(e=>`${e.type}:${e.id}`)).size!==l.length)throw Error("Run destinations must be unique");if(l.some(e=>e.type!==a.destinationType))throw Error("Run destinations must match the build destination type");let u=await this.destinationsForBuild(a.id,`${y(e.requestId,"Request ID",200)}:preflight`),c=l.map(e=>u.find(t=>t.type===e.type&&t.id===e.id));if(c.some(e=>!e))throw Error("A selected run destination is no longer available");l=c;let d=await this.requireWorktree(a.worktree.id,i.IOS_DEPLOY_JOB_KIND),m=(0,t.randomUUID)(),f=[];for(let i of l){let n=await r.buildDeployment.findUnique({where:{buildId_requestId_destinationKey:{buildId:a.id,requestId:e.requestId,destinationKey:w(i)}}});f.push(n??await r.buildDeployment.create({data:{id:(0,t.randomUUID)(),buildId:a.id,batchId:m,requestId:e.requestId,destinationJson:JSON.stringify(i),destinationKey:w(i),commandSummary:"SIMULATOR"===i.type?`open -a Simulator --args -CurrentDeviceUDID ${i.id}; xcrun simctl install/launch ${i.id}`:`xcrun devicectl device install/process launch --device ${i.id}`}}))}let g=await this.agentControl.createJob({agentId:d.codebase.agentId,codebaseId:d.codebaseId,worktreeId:d.id,kind:i.IOS_DEPLOY_JOB_KIND,payload:{...this.identity(d),buildId:a.id,artifactDirectory:a.artifactDirectory,artifactRelativePath:s.relativePath,bundleIdentifier:o,deployments:f.map((e,t)=>({id:e.id,destination:l[t]}))},idempotencyKey:`ios:deploy:${a.id}:${e.requestId}`,timeoutSeconds:3600});return await r.buildDeployment.updateMany({where:{id:{in:f.map(e=>e.id)}},data:{jobId:g.id}}),this.publish(a.id),r.buildDeployment.findMany({where:{id:{in:f.map(e=>e.id)}},orderBy:{createdAt:"asc"}})}async exportArchive(e){let r=await (0,n.getPrismaClient)(),a=await r.buildExport.findUnique({where:{buildId_requestId:{buildId:e.buildId,requestId:e.requestId}}});if(a)return a;let s=await r.build.findUnique({where:{id:e.buildId},include:{artifacts:!0,worktree:!0}});if(!s||"SUCCEEDED"!==s.status||!s.worktree)throw Error("A successful archive build is required");let o=s.artifacts.find(e=>"ARCHIVE"===e.kind);if(!o)throw Error("Build does not contain an archive");let l=(0,i.parseBuildExportSettings)(e.settings),u=await this.requireWorktree(s.worktree.id,i.IOS_EXPORT_JOB_KIND),c=(0,t.randomUUID)(),d=await r.buildExport.create({data:{id:c,buildId:s.id,requestId:e.requestId,settingsSnapshotJson:JSON.stringify(l),commandSummary:`xcrun xcodebuild -exportArchive -archivePath ${JSON.stringify(o.relativePath)} -exportPath exports/${c}`}});try{let t=await this.agentControl.createJob({agentId:u.codebase.agentId,codebaseId:u.codebaseId,worktreeId:u.id,kind:i.IOS_EXPORT_JOB_KIND,payload:{...this.identity(u),buildId:s.id,exportId:c,artifactDirectory:s.artifactDirectory,archiveRelativePath:o.relativePath,settings:l},idempotencyKey:`ios:export:${s.id}:${e.requestId}`,timeoutSeconds:3600}),a=await r.buildExport.update({where:{id:d.id},data:{jobId:t.id}});return this.publish(s.id),a}catch(t){let e=await r.buildExport.update({where:{id:d.id},data:{status:"FAILED",error:t instanceof Error?t.message:String(t),finishedAt:new Date}});return this.publish(s.id),e}}async upsertArtifacts(e,r,a){for(let n of(0,i.parseBuildArtifactSnapshots)(a)){let i={kind:n.kind,sizeBytes:n.sizeBytes,checksum:n.checksum,metadataJson:JSON.stringify(n.metadata)};await e.buildArtifact.upsert({where:{buildId_relativePath:{buildId:r,relativePath:n.relativePath}},create:{id:(0,t.randomUUID)(),buildId:r,relativePath:n.relativePath,...i},update:i})}}async upsertReportProjection(e,r,i,a){let n=h(i,"build report");if("TEST_RESULTS"!==n.kind&&"CODE_COVERAGE"!==n.kind)return;let s=n.kind,o=n.artifact&&"object"==typeof n.artifact?h(n.artifact,"build report artifact"):null,l=o&&"string"==typeof o.relativePath?await e.buildArtifact.findUnique({where:{buildId_relativePath:{buildId:r,relativePath:o.relativePath}}}):null,u="READY"===n.status?"READY":"FAILED";await e.buildReport.upsert({where:{buildId_kind:{buildId:r,kind:s}},create:{id:(0,t.randomUUID)(),buildId:r,artifactId:l?.id??null,kind:s,source:a,status:u,summaryJson:JSON.stringify(n.summary&&"object"==typeof n.summary?n.summary:{}),dataJson:JSON.stringify(n.data&&"object"==typeof n.data?n.data:{}),error:"string"==typeof n.error?n.error:null,finishedAt:new Date},update:{artifactId:l?.id??null,source:a,status:u,summaryJson:JSON.stringify(n.summary&&"object"==typeof n.summary?n.summary:{}),dataJson:JSON.stringify(n.data&&"object"==typeof n.data?n.data:{}),error:"string"==typeof n.error?n.error:null,finishedAt:new Date}})}async projectBuildCompletion(e){let r=await (0,n.getPrismaClient)(),i=await r.build.findFirst({where:{jobId:e.id},include:{worktree:{select:{highlightColor:!0}}}});if(!i)return;let a=h(p(e.resultJson,{}),"build result"),s="CANCELLED"===i.status?"CANCELLED":v(e.status),o="string"==typeof a.sourceStateHash?a.sourceStateHash:null,l="string"==typeof a.finalStateHash?a.finalStateHash:null,u="string"==typeof a.codeStateObservedAt&&Number.isFinite(Date.parse(a.codeStateObservedAt))?new Date(a.codeStateObservedAt):new Date,c=l?u:new Date,d=i.snapshotJson;if(o){let e=h(p(i.snapshotJson,{}),"build snapshot"),t=h(e.worktree??{},"build worktree snapshot");d=JSON.stringify({...e,worktree:{...t,codeStateHash:o}})}let m=null;await r.$transaction(async r=>{if(await r.build.update({where:{id:i.id},data:{status:s,errorCode:"string"==typeof a.errorCode?a.errorCode:"TIMED_OUT"===e.status?"TIMEOUT":"FAILED"===s?"XCODEBUILD_FAILED":i.errorCode,error:e.error??("string"==typeof a.error?a.error:i.error),startedAt:i.startedAt??new Date,finishedAt:c,snapshotJson:d}}),i.worktreeId&&l&&await r.worktree.updateMany({where:{id:i.worktreeId,OR:[{lastCheckedAt:null},{lastCheckedAt:{lt:u}}]},data:{codeStateHash:l,lastCheckedAt:u}}),Array.isArray(a.artifacts))for(let e of a.artifacts){let a=h(e,"build artifact");"string"==typeof a.relativePath&&"string"==typeof a.kind&&await r.buildArtifact.upsert({where:{buildId_relativePath:{buildId:i.id,relativePath:a.relativePath}},create:{id:(0,t.randomUUID)(),buildId:i.id,kind:a.kind,relativePath:a.relativePath,sizeBytes:"number"==typeof a.sizeBytes?a.sizeBytes:null,checksum:"string"==typeof a.checksum?a.checksum:null,metadataJson:JSON.stringify(a.metadata&&"object"==typeof a.metadata?a.metadata:{})},update:{}})}if(Array.isArray(a.scriptExecutions))for(let e of a.scriptExecutions){let t=h(e,"script execution");"string"==typeof t.phase&&"number"==typeof t.position&&await r.buildScriptExecution.updateMany({where:{buildId:i.id,phase:t.phase,position:t.position},data:{status:"string"==typeof t.status?t.status:"FAILED",exitCode:"number"==typeof t.exitCode?t.exitCode:null,durationMs:"number"==typeof t.durationMs?t.durationMs:null,causedBuildFailure:!0===t.causedBuildFailure,outputRelativePath:"string"==typeof t.outputRelativePath?t.outputRelativePath:null,error:"string"==typeof t.error?t.error:null}})}if(Array.isArray(a.reports))for(let e of a.reports){let t=e&&"object"==typeof e&&!Array.isArray(e)?e:{};await this.upsertReportProjection(r,i.id,e,"CODE_COVERAGE"===t.kind?"WORKTREE":"AUTOMATIC")}if(this.notifications&&("SUCCEEDED"===s||"FAILED"===s)){let e=h(p(d,{}),"build notification snapshot"),t=h(e.repository??{},"build repository snapshot"),a=h(e.configuration??{},"build configuration snapshot"),n=h(e.worktree??{},"build worktree snapshot"),o=["string"==typeof t.name?t.name:null,"string"==typeof a.name?a.name:null,"string"==typeof n.branch?n.branch:"string"==typeof n.folder?n.folder:null].filter(e=>!!e);m=await this.notifications.recordInTransaction(r,{dedupeKey:`ios-build:${i.id}:${s}`,typeKey:"SUCCEEDED"===s?"IOS_BUILD_SUCCEEDED":"IOS_BUILD_FAILED",title:"SUCCEEDED"===s?"iOS build succeeded":"iOS build failed",body:o.join(" · ")||`Build ${i.id}`,href:`/builds/${i.id}`,resourceKind:"BUILD",resourceId:i.id,worktreeId:i.worktreeId,highlightColor:i.worktree?.highlightColor??null})}}),this.publish(i.id),this.notifications?.created(m),"SUCCEEDED"===s&&await this.queueAutomaticExport(i.id,d)}async queueAutomaticExport(e,r){let i=h(p(r,{}),"build snapshot"),a=h(i.configuration??{},"build configuration snapshot");if(!0!==a.autoExport)return;let s=a.exportSettings;try{await this.exportArchive({buildId:e,requestId:"automatic",settings:s})}catch(a){let r=await (0,n.getPrismaClient)(),i=a instanceof Error?a.message:String(a);await r.buildExport.upsert({where:{buildId_requestId:{buildId:e,requestId:"automatic"}},create:{id:(0,t.randomUUID)(),buildId:e,requestId:"automatic",status:"FAILED",settingsSnapshotJson:JSON.stringify(s??{}),commandSummary:"Automatic archive export",error:i,finishedAt:new Date},update:{status:"FAILED",error:i,finishedAt:new Date}}),this.publish(e)}}async projectGeneratedReportCompletion(e){let r=h(p(e.payloadJson,{}),"build report payload");if("string"!=typeof r.buildId)return;let i=r.buildId,a=h(p(e.resultJson,{}),"build report result"),s=await (0,n.getPrismaClient)();await s.$transaction(async n=>{if(await this.upsertArtifacts(n,i,a.artifacts),a.report&&"object"==typeof a.report)await this.upsertReportProjection(n,i,a.report,"WORKTREE"===r.source?"WORKTREE":"MANUAL");else{let a="CODE_COVERAGE"===r.reportKind?"CODE_COVERAGE":"TEST_RESULTS";await n.buildReport.upsert({where:{buildId_kind:{buildId:i,kind:a}},create:{id:(0,t.randomUUID)(),buildId:i,kind:a,source:"WORKTREE"===r.source?"WORKTREE":"MANUAL",status:"FAILED",error:e.error||"Report generation failed",finishedAt:new Date},update:{status:"FAILED",error:e.error||"Report generation failed",finishedAt:new Date}})}}),this.publish(i)}async projectDeploymentCompletion(e){let t=await (0,n.getPrismaClient)(),r=await t.buildDeployment.findMany({where:{jobId:e.id}});if(!r.length)return;let i=h(p(e.resultJson,{}),"deployment result"),a=Array.isArray(i.deployments)?i.deployments:[];for(let i of r){let r=a.map(e=>h(e,"deployment outcome")).find(e=>e.id===i.id);await t.buildDeployment.update({where:{id:i.id},data:{status:"string"==typeof r?.status?r.status:v(e.status),error:"string"==typeof r?.error?r.error:e.error,outputRelativePath:"string"==typeof r?.outputRelativePath?r.outputRelativePath:null,startedAt:i.startedAt??new Date,finishedAt:new Date}})}this.publish(r[0].buildId)}async projectExportCompletion(e){let r=await (0,n.getPrismaClient)(),i=await r.buildExport.findFirst({where:{jobId:e.id}});if(!i)return;let a=h(p(e.resultJson,{}),"export result");if(await r.buildExport.update({where:{id:i.id},data:{status:v(e.status),error:e.error??("string"==typeof a.error?a.error:null),outputRelativePath:"string"==typeof a.outputRelativePath?a.outputRelativePath:null,startedAt:i.startedAt??new Date,finishedAt:new Date}}),"SUCCEEDED"===e.status&&"string"==typeof a.outputRelativePath){let e=a.outputRelativePath;await r.$transaction(async r=>{await r.buildArtifact.upsert({where:{buildId_relativePath:{buildId:i.buildId,relativePath:e}},create:{id:(0,t.randomUUID)(),buildId:i.buildId,kind:"EXPORT",relativePath:e,sizeBytes:"number"==typeof a.sizeBytes?a.sizeBytes:null,metadataJson:JSON.stringify({exportId:i.id})},update:{}}),await this.upsertArtifacts(r,i.buildId,a.artifacts)})}this.publish(i.buildId)}}],669602);var S=e.i(907855);let E=S.object({status:S.string().optional(),codebaseId:S.string().optional(),worktreeId:S.string().optional(),first:S.number().int().min(1).max(200).default(50),after:S.string().optional()}),I=S.object({builds:S.array(S.unknown()),nextCursor:S.string().nullable()}),x=S.object({buildId:S.string().min(1),afterLogId:S.string().min(1).nullable().default(null),logLimit:S.number().int().min(1).max(5e3).default(1e3)}),A=S.object({build:S.unknown(),logs:S.array(S.unknown())}),_=S.object({worktreeId:S.string().min(1)}),C=S.object({project:S.unknown().nullable()}),R=S.union([S.object({buildId:S.string().min(1),requestId:S.string().min(1)}),S.object({worktreeId:S.string().min(1),configurationId:S.string().min(1),action:S.string().optional(),requestId:S.string().min(1)})]),T=S.object({destinations:S.array(S.unknown())}),D=S.object({worktreeId:S.string().min(1),configurationId:S.string().min(1),destination:S.record(S.string(),S.unknown()),scriptIds:S.array(S.string()).default([]),action:S.string().optional(),advancedSettings:S.record(S.string(),S.unknown()).optional(),requestId:S.string().min(1)}),N=S.object({build:S.unknown()}),O=S.object({worktreeId:S.string().min(1),reportPath:S.string().min(1).max(4e3),format:S.enum(["AUTO","LCOV","ISTANBUL"]).default("AUTO"),requestId:S.string().min(1)}),P=S.object({build:S.unknown()}),$=S.object({buildId:S.string().min(1),requestId:S.string().min(1)}),U=S.object({build:S.unknown()}),B=S.object({buildId:S.string().min(1),destinations:S.array(S.record(S.string(),S.unknown())).min(1),requestId:S.string().min(1)}),j=S.object({deployments:S.array(S.unknown())}),L=S.object({buildId:S.string().min(1),settings:S.record(S.string(),S.unknown()),requestId:S.string().min(1)}),q=S.object({export:S.unknown()});e.s(["CancelBuildToolInputSchema",0,$,"CancelBuildToolOutputSchema",0,U,"ExportBuildToolInputSchema",0,L,"ExportBuildToolOutputSchema",0,q,"GetBuildConfigurationsInputSchema",0,_,"GetBuildConfigurationsOutputSchema",0,C,"GetBuildDestinationsInputSchema",0,R,"GetBuildDestinationsOutputSchema",0,T,"GetBuildInputSchema",0,x,"GetBuildOutputSchema",0,A,"GetBuildsInputSchema",0,E,"GetBuildsOutputSchema",0,I,"ImportCoverageReportToolInputSchema",0,O,"ImportCoverageReportToolOutputSchema",0,P,"RunBuildToolInputSchema",0,B,"RunBuildToolOutputSchema",0,j,"StartBuildToolInputSchema",0,D,"StartBuildToolOutputSchema",0,N],190714),e.s([],224174),e.i(582482);var M=e.i(318905),F=e.i(91022);let K="default",V={"exact-primary":"EXACT_PRIMARY","prefixed-primary":"PREFIXED_PRIMARY","exact-restore":"EXACT_RESTORE","prefixed-restore":"PREFIXED_RESTORE"};function G(e,t){return t?e.split(t).join("[REDACTED]"):e}function H(e){return{id:e.id,key:e.key,version:e.version,scope:e.scope,repoId:e.repoId,updatedAt:e.updatedAt,locationId:e.locationId}}e.s(["CacheServerService",0,class{credentials;constructor(e=new F.CredentialService){this.credentials=e}async getSettings(){let e=await (0,n.getPrismaClient)(),t=await e.cacheServerSettings.upsert({where:{id:K},create:{id:K},update:{}}),[r,i]=await Promise.all([this.credentials.isConfigured(M.CREDENTIALS.cacheServerApiKey),this.credentials.isConfigured(M.CREDENTIALS.cacheServerHeaders)]);return this.settingsView(t,r,i)}settingsView(e,t,r){return{configured:!!(e.baseUrl&&t),baseUrl:e.baseUrl,apiKeyConfigured:t,headers:(function(e){try{let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>"string"==typeof e):[]}catch{return[]}})(e.headerNamesJson).map(e=>({name:e,valueConfigured:r})),updatedAt:e.updatedAt.toISOString()}}async saveSettings(e){let t=function(e){let t,r=e.trim().replace(/\/+$/,"");if(!r)throw Error("A cache server base URL is required");try{t=new URL(r)}catch{throw Error("The cache server base URL is not a valid URL")}if("http:"!==t.protocol&&"https:"!==t.protocol)throw Error("The cache server base URL must use http or https");return r}(e.baseUrl),r=await this.credentials.isConfigured(M.CREDENTIALS.cacheServerApiKey),i=e.apiKey?.trim()||(r?await this.credentials.getText(M.CREDENTIALS.cacheServerApiKey):null);if(!i)throw Error("A cache server API key is required");let a=await this.credentials.isConfigured(M.CREDENTIALS.cacheServerHeaders)?await this.credentials.getJson(M.CREDENTIALS.cacheServerHeaders)??[]:[],n=function(e,t){if(!e)return[];let r=new Map(t.map(e=>[e.name.toLowerCase(),e.value])),i=new Set,a=[];for(let t of e){let e=t.name.trim();if(!e)continue;let n=e.toLowerCase();if(i.has(n))continue;i.add(n);let s=t.value||r.get(n);if(!s)throw Error(`A value is required for the ${e} header`);a.push({name:e,value:s})}return a}(e.headers,a),s=JSON.stringify(n.map(e=>e.name));return await this.credentials.setMany([{descriptor:M.CREDENTIALS.cacheServerApiKey,value:Buffer.from(i,"utf8")},{descriptor:M.CREDENTIALS.cacheServerHeaders,value:(0,M.encodeJsonCredential)(n)}],async e=>{await e.cacheServerSettings.upsert({where:{id:K},create:{id:K,baseUrl:t,headerNamesJson:s},update:{baseUrl:t,headerNamesJson:s}})}),this.getSettings()}async clearSettings(){return await this.credentials.deleteMany([M.CREDENTIALS.cacheServerApiKey,M.CREDENTIALS.cacheServerHeaders],async e=>{await e.cacheServerSettings.upsert({where:{id:K},create:{id:K},update:{baseUrl:null,headerNamesJson:"[]"}})}),this.getSettings()}async testConnection(){var e;if(!("object"==typeof(e=await this.request("GET","/cache-entries",{query:{itemsPerPage:1,page:1}}))&&null!==e&&"number"==typeof e.total&&Number.isInteger(e.total)&&e.total>=0&&Array.isArray(e.items)))throw Error("Cache server returned an invalid cache entry response");return this.getSettings()}async listCacheEntries(e){let t=await this.request("GET","/cache-entries",{query:{key:e.key?.trim()||void 0,version:e.version?.trim()||void 0,scope:e.scope?.trim()||void 0,repoId:e.repoId?.trim()||void 0,itemsPerPage:e.itemsPerPage??20,page:e.page??1}});return{total:t?.total??0,items:(t?.items??[]).map(H)}}async getCacheEntry(e){let t=await this.request("GET",`/cache-entries/${encodeURIComponent(e)}`,{allowNotFound:!0});return t?H(t):null}async getCacheEntryDetail(e){let t=await this.getCacheEntry(e);if(!t)return null;let r=t.locationId?await this.getStorageLocation(t.locationId):null;return{entry:t,location:r}}async getStorageLocation(e){let t=await this.request("GET",`/storage-locations/${encodeURIComponent(e)}`,{allowNotFound:!0});return t?{id:t.id,folderName:t.folderName,partCount:t.partCount,mergeStartedAt:t.mergeStartedAt??null,mergedAt:t.mergedAt??null,partsDeletedAt:t.partsDeletedAt??null,lastDownloadedAt:t.lastDownloadedAt??null,sizeBytes:t.sizeBytes??null}:null}async matchCacheEntry(e){let t=(e.restoreKeys??[]).map(e=>e.trim()).filter(Boolean),r=e.scopes.map(e=>e.trim()).filter(Boolean),i=await this.request("GET","/cache-entries/match",{query:{primaryKey:e.primaryKey,restoreKeys:t.length>0?t:void 0,scopes:r,repoId:e.repoId,version:e.version}});if(!i)return null;let a=V[i.type];if(!a)throw Error("Cache server returned an unknown match type");return{match:H(i.match),type:a}}async deleteCacheEntry(e){return await this.request("DELETE",`/cache-entries/${encodeURIComponent(e)}`,{allowNotFound:!0}),!0}async deleteCacheEntriesByIds(e){for(let t of e)await this.deleteCacheEntry(t);return!0}async deleteCacheEntries(e){let t=e.repoId?.trim();if(t){let r=new Set,i=1,a=0;do{let n=await this.listCacheEntries({...e,repoId:t,itemsPerPage:100,page:i});for(let e of(a=n.total,n.items))e.repoId===t&&r.add(e.id);i+=1}while((i-1)*100<a)return this.deleteCacheEntriesByIds([...r])}let r={};return e.key?.trim()&&(r.key=e.key.trim()),e.version?.trim()&&(r.version=e.version.trim()),e.scope?.trim()&&(r.scope=e.scope.trim()),await this.request("DELETE","/cache-entries",{body:r}),!0}async deleteStorageLocation(e){return await this.request("DELETE",`/storage-locations/${encodeURIComponent(e)}`,{allowNotFound:!0}),!0}async requireConfig(){let e=await (0,n.getPrismaClient)(),t=await e.cacheServerSettings.findUnique({where:{id:K}});if(!t?.baseUrl)throw Error("The cache server is not configured");let r=await this.credentials.getText(M.CREDENTIALS.cacheServerApiKey);if(!r)throw Error("The cache server is not configured");let i=await this.credentials.getJson(M.CREDENTIALS.cacheServerHeaders)??[];return{baseUrl:t.baseUrl,apiKey:r,headers:i}}buildUrl(e,t,r){let i=new URL(`${e}${t}`);if(r){for(let[e,t]of Object.entries(r))if(null!=t)if(Array.isArray(t))for(let r of t)i.searchParams.append(e,r);else i.searchParams.append(e,String(t))}return i.toString()}async request(e,t,r={}){let i,a,n=await this.requireConfig(),s=this.buildUrl(n.baseUrl,t,r.query),o={accept:"application/json"};for(let e of n.headers)o[e.name]=e.value;o["x-api-key"]=n.apiKey,void 0!==r.body&&(o["content-type"]="application/json");try{i=await fetch(s,{method:e,headers:o,body:void 0!==r.body?JSON.stringify(r.body):void 0,cache:"no-store"})}catch(e){throw Error(G(e instanceof Error?e.message:String(e),n.apiKey))}if(r.allowNotFound&&404===i.status)return null;let l=await i.text();if(l)try{a=JSON.parse(l)}catch{if(!i.ok)throw Error(`Cache server returned HTTP ${i.status}`);a=void 0}if(!i.ok)throw Error(G(a&&"object"==typeof a&&"message"in a&&"string"==typeof a.message?a.message:`Cache server returned HTTP ${i.status}`,n.apiKey));return a??null}}],646462),e.s([],890564)},289064,(e,t,r)=>{var i,a;a=i||(i={}),function(t){var r="object"==typeof globalThis?globalThis:e.g,i=n(a);function n(e,t){return function(r,i){Object.defineProperty(e,r,{configurable:!0,writable:!0,value:i}),t&&t(r,i)}}void 0!==r.Reflect&&(i=n(r.Reflect,i)),t(i,r),void 0===r.Reflect&&(r.Reflect=a)}(function(e,t){var r,i=Object.prototype.hasOwnProperty,a="function"==typeof Symbol,n=a&&void 0!==Symbol.toPrimitive?Symbol.toPrimitive:"@@toPrimitive",s=a&&void 0!==Symbol.iterator?Symbol.iterator:"@@iterator",o="function"==typeof Object.create,l=({__proto__:[]})instanceof Array,u=!o&&!l,c={create:o?function(){return B(Object.create(null))}:l?function(){return B({__proto__:null})}:function(){return B({})},has:u?function(e,t){return i.call(e,t)}:function(e,t){return t in e},get:u?function(e,t){return i.call(e,t)?e[t]:void 0}:function(e,t){return e[t]}},d=Object.getPrototypeOf(Function),p="function"==typeof Map&&"function"==typeof Map.prototype.entries?Map:function(){var e={},t=[],r=function(){function e(e,t,r){this._index=0,this._keys=e,this._values=t,this._selector=r}return e.prototype["@@iterator"]=function(){return this},e.prototype[s]=function(){return this},e.prototype.next=function(){var e=this._index;if(e>=0&&e<this._keys.length){var r=this._selector(this._keys[e],this._values[e]);return e+1>=this._keys.length?(this._index=-1,this._keys=t,this._values=t):this._index++,{value:r,done:!1}}return{value:void 0,done:!0}},e.prototype.throw=function(e){throw this._index>=0&&(this._index=-1,this._keys=t,this._values=t),e},e.prototype.return=function(e){return this._index>=0&&(this._index=-1,this._keys=t,this._values=t),{value:e,done:!0}},e}();function i(){this._keys=[],this._values=[],this._cacheKey=e,this._cacheIndex=-2}return Object.defineProperty(i.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),i.prototype.has=function(e){return this._find(e,!1)>=0},i.prototype.get=function(e){var t=this._find(e,!1);return t>=0?this._values[t]:void 0},i.prototype.set=function(e,t){var r=this._find(e,!0);return this._values[r]=t,this},i.prototype.delete=function(t){var r=this._find(t,!1);if(r>=0){for(var i=this._keys.length,a=r+1;a<i;a++)this._keys[a-1]=this._keys[a],this._values[a-1]=this._values[a];return this._keys.length--,this._values.length--,T(t,this._cacheKey)&&(this._cacheKey=e,this._cacheIndex=-2),!0}return!1},i.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=e,this._cacheIndex=-2},i.prototype.keys=function(){return new r(this._keys,this._values,a)},i.prototype.values=function(){return new r(this._keys,this._values,n)},i.prototype.entries=function(){return new r(this._keys,this._values,o)},i.prototype["@@iterator"]=function(){return this.entries()},i.prototype[s]=function(){return this.entries()},i.prototype._find=function(e,t){if(!T(this._cacheKey,e)){this._cacheIndex=-1;for(var r=0;r<this._keys.length;r++)if(T(this._keys[r],e)){this._cacheIndex=r;break}}return this._cacheIndex<0&&t&&(this._cacheIndex=this._keys.length,this._keys.push(e),this._values.push(void 0)),this._cacheIndex},i;function a(e,t){return e}function n(e,t){return t}function o(e,t){return[e,t]}}(),h="function"==typeof Set&&"function"==typeof Set.prototype.entries?Set:function(){function e(){this._map=new p}return Object.defineProperty(e.prototype,"size",{get:function(){return this._map.size},enumerable:!0,configurable:!0}),e.prototype.has=function(e){return this._map.has(e)},e.prototype.add=function(e){return this._map.set(e,e),this},e.prototype.delete=function(e){return this._map.delete(e)},e.prototype.clear=function(){this._map.clear()},e.prototype.keys=function(){return this._map.keys()},e.prototype.values=function(){return this._map.keys()},e.prototype.entries=function(){return this._map.entries()},e.prototype["@@iterator"]=function(){return this.keys()},e.prototype[s]=function(){return this.keys()},e}(),m="function"==typeof WeakMap?WeakMap:function(){var e=c.create(),t=a();function r(){this._key=a()}return r.prototype.has=function(e){var t=n(e,!1);return void 0!==t&&c.has(t,this._key)},r.prototype.get=function(e){var t=n(e,!1);return void 0!==t?c.get(t,this._key):void 0},r.prototype.set=function(e,t){return n(e,!0)[this._key]=t,this},r.prototype.delete=function(e){var t=n(e,!1);return void 0!==t&&delete t[this._key]},r.prototype.clear=function(){this._key=a()},r;function a(){var t;do t="@@WeakMap@@"+function(){var e=function(){if("function"==typeof Uint8Array){var e=new Uint8Array(16);return"u">typeof crypto?crypto.getRandomValues(e):"u">typeof msCrypto?msCrypto.getRandomValues(e):s(e,16),e}return s(Array(16),16)}();e[6]=79&e[6]|64,e[8]=191&e[8]|128;for(var t="",r=0;r<16;++r){var i=e[r];(4===r||6===r||8===r)&&(t+="-"),i<16&&(t+="0"),t+=i.toString(16).toLowerCase()}return t}();while(c.has(e,t))return e[t]=!0,t}function n(e,r){if(!i.call(e,t)){if(!r)return;Object.defineProperty(e,t,{value:c.create()})}return e[t]}function s(e,t){for(var r=0;r<t;++r)e[r]=255*Math.random()|0;return e}}(),f=a?Symbol.for("@reflect-metadata:registry"):void 0,g=(!E(f)&&x(t.Reflect)&&Object.isExtensible(t.Reflect)&&(r=t.Reflect[f]),E(r)&&(r=function(){E(f)||void 0===t.Reflect||f in t.Reflect||"function"!=typeof t.Reflect.defineMetadata||(r=(e=t.Reflect).defineMetadata,i=e.hasOwnMetadata,a=e.getOwnMetadata,n=e.getOwnMetadataKeys,s=e.deleteMetadata,o=new m,l={isProviderFor:function(e,t){var r=o.get(e);return!!(!E(r)&&r.has(t))||!!n(e,t).length&&(E(r)&&(r=new h,o.set(e,r)),r.add(t),!0)},OrdinaryDefineOwnMetadata:r,OrdinaryHasOwnMetadata:i,OrdinaryGetOwnMetadata:a,OrdinaryOwnMetadataKeys:n,OrdinaryDeleteMetadata:s});var e,r,i,a,n,s,o,l,u,c,d,g=new m,y={registerProvider:function(e){if(!Object.isExtensible(y))throw Error("Cannot add provider to a frozen registry.");switch(!0){case l===e:break;case E(u):u=e;break;case u===e:break;case E(c):c=e;break;case c===e:break;default:void 0===d&&(d=new h),d.add(e)}},getProvider:w,setProvider:function(e,t,r){if(!function(e){if(E(e))throw TypeError();return u===e||c===e||!E(d)&&d.has(e)}(r))throw Error("Metadata provider not registered.");var i=w(e,t);if(i!==r){if(!E(i))return!1;var a=g.get(e);E(a)&&(a=new p,g.set(e,a)),a.set(t,r)}return!0}};return y;function w(e,t){var r,i=g.get(e);return E(i)||(r=i.get(t)),E(r)&&(r=function(e,t){if(!E(u)){if(u.isProviderFor(e,t))return u;if(!E(c)){if(c.isProviderFor(e,t))return u;if(!E(d))for(var r=N(d);;){var i=O(r);if(!i)return;var a=i.value;if(a.isProviderFor(e,t))return P(r),a}}}if(!E(l)&&l.isProviderFor(e,t))return l}(e,t),E(r)||(E(i)&&(i=new p,g.set(e,i)),i.set(t,r))),r}}()),!E(f)&&x(t.Reflect)&&Object.isExtensible(t.Reflect)&&Object.defineProperty(t.Reflect,f,{enumerable:!1,configurable:!1,writable:!1,value:r}),r),y=function(e){var t=new m,r={isProviderFor:function(e,r){var i=t.get(e);return!E(i)&&i.has(r)},OrdinaryDefineOwnMetadata:function(e,t,r,a){i(r,a,!0).set(e,t)},OrdinaryHasOwnMetadata:function(e,t,r){var a=i(t,r,!1);return!E(a)&&!!a.has(e)},OrdinaryGetOwnMetadata:function(e,t,r){var a=i(t,r,!1);if(!E(a))return a.get(e)},OrdinaryOwnMetadataKeys:function(e,t){var r=[],a=i(e,t,!1);if(E(a))return r;for(var n=N(a.keys()),s=0;;){var o=O(n);if(!o)return r.length=s,r;var l=o.value;try{r[s]=l}catch(e){try{P(n)}finally{throw e}}s++}},OrdinaryDeleteMetadata:function(e,r,a){var n=i(r,a,!1);if(E(n)||!n.delete(e))return!1;if(0===n.size){var s=t.get(r);E(s)||(s.delete(a),0===s.size&&t.delete(s))}return!0}};return g.registerProvider(r),r;function i(i,a,n){var s=t.get(i),o=!1;if(E(s)){if(!n)return;s=new p,t.set(i,s),o=!0}var l=s.get(a);if(E(l)){if(!n)return;if(l=new p,s.set(a,l),!e.setProvider(i,a,r))throw s.delete(a),o&&t.delete(i),Error("Wrong provider for target.")}return l}}(g);function w(e,t,r){var i=U(t,r,!1);return!E(i)&&!!i.OrdinaryHasOwnMetadata(e,t,r)}function b(e,t,r){var i=U(t,r,!1);if(!E(i))return i.OrdinaryGetOwnMetadata(e,t,r)}function v(e,t,r,i){U(r,i,!0).OrdinaryDefineOwnMetadata(e,t,r,i)}function k(e,t){var r=U(e,t,!1);return r?r.OrdinaryOwnMetadataKeys(e,t):[]}function S(e){if(null===e)return 1;switch(typeof e){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return null===e?1:6;default:return 6}}function E(e){return void 0===e}function I(e){return null===e}function x(e){return"object"==typeof e?null!==e:"function"==typeof e}e("decorate",function(e,t,r,i){if(E(r)){if(!_(e)||!R(t))throw TypeError();for(var a=e,n=t,s=a.length-1;s>=0;--s){var o=(0,a[s])(n);if(!E(o)&&!I(o)){if(!R(o))throw TypeError();n=o}}return n}if(!_(e)||!x(t)||!x(i)&&!E(i)&&!I(i))throw TypeError();return I(i)&&(i=void 0),function(e,t,r,i){for(var a=e.length-1;a>=0;--a){var n=(0,e[a])(t,r,i);if(!E(n)&&!I(n)){if(!x(n))throw TypeError();i=n}}return i}(e,t,r=A(r),i)}),e("metadata",function(e,t){return function(r,i){if(!x(r)||!E(i)&&!function(e){switch(S(e)){case 3:case 4:return!0;default:return!1}}(i))throw TypeError();v(e,t,r,i)}}),e("defineMetadata",function(e,t,r,i){if(!x(r))throw TypeError();return E(i)||(i=A(i)),v(e,t,r,i)}),e("hasMetadata",function(e,t,r){if(!x(t))throw TypeError();return E(r)||(r=A(r)),function e(t,r,i){if(w(t,r,i))return!0;var a=$(r);return!I(a)&&e(t,a,i)}(e,t,r)}),e("hasOwnMetadata",function(e,t,r){if(!x(t))throw TypeError();return E(r)||(r=A(r)),w(e,t,r)}),e("getMetadata",function(e,t,r){if(!x(t))throw TypeError();return E(r)||(r=A(r)),function e(t,r,i){if(w(t,r,i))return b(t,r,i);var a=$(r);if(!I(a))return e(t,a,i)}(e,t,r)}),e("getOwnMetadata",function(e,t,r){if(!x(t))throw TypeError();return E(r)||(r=A(r)),b(e,t,r)}),e("getMetadataKeys",function(e,t){if(!x(e))throw TypeError();return E(t)||(t=A(t)),function e(t,r){var i=k(t,r),a=$(t);if(null===a)return i;var n=e(a,r);if(n.length<=0)return i;if(i.length<=0)return n;for(var s=new h,o=[],l=0;l<i.length;l++){var u=i[l],c=s.has(u);c||(s.add(u),o.push(u))}for(var d=0;d<n.length;d++){var u=n[d],c=s.has(u);c||(s.add(u),o.push(u))}return o}(e,t)}),e("getOwnMetadataKeys",function(e,t){if(!x(e))throw TypeError();return E(t)||(t=A(t)),k(e,t)}),e("deleteMetadata",function(e,t,r){if(!x(t)||(E(r)||(r=A(r)),!x(t)))throw TypeError();E(r)||(r=A(r));var i=U(t,r,!1);return!E(i)&&i.OrdinaryDeleteMetadata(e,t,r)});function A(e){var t=function(e){switch(S(e)){case 0:case 1:case 2:case 3:case 4:case 5:return e}var t="string",r=D(e,n);if(void 0!==r){var i=r.call(e,t);if(x(i))throw TypeError();return i}return function(e,t){if("string"===t){var r=e.toString;if(C(r)){var i=r.call(e);if(!x(i))return i}var a=e.valueOf;if(C(a)){var i=a.call(e);if(!x(i))return i}}else{var a=e.valueOf;if(C(a)){var i=a.call(e);if(!x(i))return i}var n=e.toString;if(C(n)){var i=n.call(e);if(!x(i))return i}}throw TypeError()}(e,t)}(e);return"symbol"==typeof t?t:""+t}function _(e){return Array.isArray?Array.isArray(e):e instanceof Object?e instanceof Array:"[object Array]"===Object.prototype.toString.call(e)}function C(e){return"function"==typeof e}function R(e){return"function"==typeof e}function T(e,t){return e===t||e!=e&&t!=t}function D(e,t){var r=e[t];if(null!=r){if(!C(r))throw TypeError();return r}}function N(e){var t=D(e,s);if(!C(t))throw TypeError();var r=t.call(e);if(!x(r))throw TypeError();return r}function O(e){var t=e.next();return!t.done&&t}function P(e){var t=e.return;t&&t.call(e)}function $(e){var t=Object.getPrototypeOf(e);if("function"!=typeof e||e===d||t!==d)return t;var r=e.prototype,i=r&&Object.getPrototypeOf(r);if(null==i||i===Object.prototype)return t;var a=i.constructor;return"function"!=typeof a||a===e?t:a}function U(e,t,r){var i=g.getProvider(e,t);if(!E(i))return i;if(r){if(g.setProvider(e,t,y))return y;throw Error("Illegal state.")}}function B(e){return e.__=void 0,delete e.__,e}})},779430,e=>{"use strict";var t=function(e,r){return(t=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,r)};function r(e,r){if("function"!=typeof r&&null!==r)throw TypeError("Class extends value "+String(r)+" is not a constructor or null");function i(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(i.prototype=r.prototype,new i)}var i=function(){return(i=Object.assign||function(e){for(var t,r=1,i=arguments.length;r<i;r++)for(var a in t=arguments[r])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e}).apply(this,arguments)};function a(e,t){var r={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&0>t.indexOf(i)&&(r[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var a=0,i=Object.getOwnPropertySymbols(e);a<i.length;a++)0>t.indexOf(i[a])&&Object.prototype.propertyIsEnumerable.call(e,i[a])&&(r[i[a]]=e[i[a]]);return r}function n(e,t,r,i){var a,n=arguments.length,s=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(s=(n<3?a(s):n>3?a(t,r,s):a(t,r))||s);return n>3&&s&&Object.defineProperty(t,r,s),s}function s(e,t){return function(r,i){t(r,i,e)}}function o(e,t,r,i,a,n){function s(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var o,l=i.kind,u="getter"===l?"get":"setter"===l?"set":"value",c=!t&&e?i.static?e:e.prototype:null,d=t||(c?Object.getOwnPropertyDescriptor(c,i.name):{}),p=!1,h=r.length-1;h>=0;h--){var m={};for(var f in i)m[f]="access"===f?{}:i[f];for(var f in i.access)m.access[f]=i.access[f];m.addInitializer=function(e){if(p)throw TypeError("Cannot add initializers after decoration has completed");n.push(s(e||null))};var g=(0,r[h])("accessor"===l?{get:d.get,set:d.set}:d[u],m);if("accessor"===l){if(void 0===g)continue;if(null===g||"object"!=typeof g)throw TypeError("Object expected");(o=s(g.get))&&(d.get=o),(o=s(g.set))&&(d.set=o),(o=s(g.init))&&a.unshift(o)}else(o=s(g))&&("field"===l?a.unshift(o):d[u]=o)}c&&Object.defineProperty(c,i.name,d),p=!0}function l(e,t,r){for(var i=arguments.length>2,a=0;a<t.length;a++)r=i?t[a].call(e,r):t[a].call(e);return i?r:void 0}function u(e){return"symbol"==typeof e?e:"".concat(e)}function c(e,t,r){return"symbol"==typeof t&&(t=t.description?"[".concat(t.description,"]"):""),Object.defineProperty(e,"name",{configurable:!0,value:r?"".concat(r," ",t):t})}function d(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function p(e,t,r,i){return new(r||(r=Promise))(function(a,n){function s(e){try{l(i.next(e))}catch(e){n(e)}}function o(e){try{l(i.throw(e))}catch(e){n(e)}}function l(e){var t;e.done?a(e.value):((t=e.value)instanceof r?t:new r(function(e){e(t)})).then(s,o)}l((i=i.apply(e,t||[])).next())})}function h(e,t){var r,i,a,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},s=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return s.next=o(0),s.throw=o(1),s.return=o(2),"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function o(o){return function(l){var u=[o,l];if(r)throw TypeError("Generator is already executing.");for(;s&&(s=0,u[0]&&(n=0)),n;)try{if(r=1,i&&(a=2&u[0]?i.return:u[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,u[1])).done)return a;switch(i=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,i=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(!(a=(a=n.trys).length>0&&a[a.length-1])&&(6===u[0]||2===u[0])){n=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){n.label=u[1];break}if(6===u[0]&&n.label<a[1]){n.label=a[1],a=u;break}if(a&&n.label<a[2]){n.label=a[2],n.ops.push(u);break}a[2]&&n.ops.pop(),n.trys.pop();continue}u=t.call(e,n)}catch(e){u=[6,e],i=0}finally{r=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}var m=Object.create?function(e,t,r,i){void 0===i&&(i=r);var a=Object.getOwnPropertyDescriptor(t,r);(!a||("get"in a?!t.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,a)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]};function f(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||m(t,e,r)}function g(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],i=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function y(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var i,a,n=r.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(e){a={error:e}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(a)throw a.error}}return s}function w(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(y(arguments[t]));return e}function b(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;for(var i=Array(e),a=0,t=0;t<r;t++)for(var n=arguments[t],s=0,o=n.length;s<o;s++,a++)i[a]=n[s];return i}function v(e,t,r){if(r||2==arguments.length)for(var i,a=0,n=t.length;a<n;a++)!i&&a in t||(i||(i=Array.prototype.slice.call(t,0,a)),i[a]=t[a]);return e.concat(i||Array.prototype.slice.call(t))}function k(e){return this instanceof k?(this.v=e,this):new k(e)}function S(e,t,r){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var i,a=r.apply(e,t||[]),n=[];return i=Object.create(("function"==typeof AsyncIterator?AsyncIterator:Object).prototype),s("next"),s("throw"),s("return",function(e){return function(t){return Promise.resolve(t).then(e,u)}}),i[Symbol.asyncIterator]=function(){return this},i;function s(e,t){a[e]&&(i[e]=function(t){return new Promise(function(r,i){n.push([e,t,r,i])>1||o(e,t)})},t&&(i[e]=t(i[e])))}function o(e,t){try{var r;(r=a[e](t)).value instanceof k?Promise.resolve(r.value.v).then(l,u):c(n[0][2],r)}catch(e){c(n[0][3],e)}}function l(e){o("next",e)}function u(e){o("throw",e)}function c(e,t){e(t),n.shift(),n.length&&o(n[0][0],n[0][1])}}function E(e){var t,r;return t={},i("next"),i("throw",function(e){throw e}),i("return"),t[Symbol.iterator]=function(){return this},t;function i(i,a){t[i]=e[i]?function(t){return(r=!r)?{value:k(e[i](t)),done:!1}:a?a(t):t}:a}}function I(e){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=g(e),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(r){t[r]=e[r]&&function(t){return new Promise(function(i,a){var n,s,o;n=i,s=a,o=(t=e[r](t)).done,Promise.resolve(t.value).then(function(e){n({value:e,done:o})},s)})}}}function x(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var A=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t},_=function(e){return(_=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t})(e)};function C(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=_(e),i=0;i<r.length;i++)"default"!==r[i]&&m(t,e,r[i]);return A(t,e),t}function R(e){return e&&e.__esModule?e:{default:e}}function T(e,t,r,i){if("a"===r&&!i)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!i:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?i:"a"===r?i.call(e):i?i.value:t.get(e)}function D(e,t,r,i,a){if("m"===i)throw TypeError("Private method is not writable");if("a"===i&&!a)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!a:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===i?a.call(e,r):a?a.value=r:t.set(e,r),r}function N(e,t){if(null===t||"object"!=typeof t&&"function"!=typeof t)throw TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}function O(e,t,r){if(null!=t){var i,a;if("object"!=typeof t&&"function"!=typeof t)throw TypeError("Object expected.");if(r){if(!Symbol.asyncDispose)throw TypeError("Symbol.asyncDispose is not defined.");i=t[Symbol.asyncDispose]}if(void 0===i){if(!Symbol.dispose)throw TypeError("Symbol.dispose is not defined.");i=t[Symbol.dispose],r&&(a=i)}if("function"!=typeof i)throw TypeError("Object not disposable.");a&&(i=function(){try{a.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:i,async:r})}else r&&e.stack.push({async:!0});return t}var P="function"==typeof SuppressedError?SuppressedError:function(e,t,r){var i=Error(r);return i.name="SuppressedError",i.error=e,i.suppressed=t,i};function $(e){function t(t){e.error=e.hasError?new P(t,e.error,"An error was suppressed during disposal."):t,e.hasError=!0}var r,i=0;return function a(){for(;r=e.stack.pop();)try{if(!r.async&&1===i)return i=0,e.stack.push(r),Promise.resolve().then(a);if(r.dispose){var n=r.dispose.call(r.value);if(r.async)return i|=2,Promise.resolve(n).then(a,function(e){return t(e),a()})}else i|=1}catch(e){t(e)}if(1===i)return e.hasError?Promise.reject(e.error):Promise.resolve();if(e.hasError)throw e.error}()}function U(e,t){return"string"==typeof e&&/^\.\.?\//.test(e)?e.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(e,r,i,a,n){return r?t?".jsx":".js":!i||a&&n?i+a+"."+n.toLowerCase()+"js":e}):e}let B={__extends:r,__assign:i,__rest:a,__decorate:n,__param:s,__esDecorate:o,__runInitializers:l,__propKey:u,__setFunctionName:c,__metadata:d,__awaiter:p,__generator:h,__createBinding:m,__exportStar:f,__values:g,__read:y,__spread:w,__spreadArrays:b,__spreadArray:v,__await:k,__asyncGenerator:S,__asyncDelegator:E,__asyncValues:I,__makeTemplateObject:x,__importStar:C,__importDefault:R,__classPrivateFieldGet:T,__classPrivateFieldSet:D,__classPrivateFieldIn:N,__addDisposableResource:O,__disposeResources:$,__rewriteRelativeImportExtension:U};e.s(["__addDisposableResource",0,O,"__assign",()=>i,"__asyncDelegator",0,E,"__asyncGenerator",0,S,"__asyncValues",0,I,"__await",0,k,"__awaiter",0,p,"__classPrivateFieldGet",0,T,"__classPrivateFieldIn",0,N,"__classPrivateFieldSet",0,D,"__createBinding",0,m,"__decorate",0,n,"__disposeResources",0,$,"__esDecorate",0,o,"__exportStar",0,f,"__extends",0,r,"__generator",0,h,"__importDefault",0,R,"__importStar",0,C,"__makeTemplateObject",0,x,"__metadata",0,d,"__param",0,s,"__propKey",0,u,"__read",0,y,"__rest",0,a,"__rewriteRelativeImportExtension",0,U,"__runInitializers",0,l,"__setFunctionName",0,c,"__spread",0,w,"__spreadArray",0,v,"__spreadArrays",0,b,"__values",0,g,"default",0,B])},867695,791001,e=>{"use strict";var t,r,i,a,n,s,o,l,u,c,d,p,h,m,f,g,y,w,b,v,k,S,E,I,x,A,_,C,R,T,D,N,O,P,$,U,B,j,L,q,M,F,K,V,G,H,W,J,z,Z,Y,Q,X,ee,et,er,ei,ea,en,es,eo,el,eu,ec,ed,ep,eh,em,ef,eg,ey,ew,eb,ev,ek,eS,eE,eI,ex,eA,e_,eC,eR,eT,eD,eN,eO,eP,e$,eU,eB,ej,eL,eq,eM=e.i(761095);function eF(e){if(!e)return null;let t=e.trim();if(t.startsWith("[")){let e=t.indexOf("]");e>0&&(t=t.slice(1,e))}else/^\d+\.\d+\.\d+\.\d+:\d+$/.test(t)&&(t=t.slice(0,t.lastIndexOf(":")));return t.startsWith("::ffff:")&&4===(0,eM.isIP)(t.slice(7))&&(t=t.slice(7)),(0,eM.isIP)(t)?t.toLowerCase():null}e.s(["resolveClientIp",0,function(e){let t=eF(e.get("cf-connecting-ip"));if(t)return{address:t,source:"CLOUDFLARE"};let r=e.get("x-forwarded-for")?.split(",").map(e=>eF(e)).find(e=>!!e);if(r)return{address:r,source:"FORWARDED"};let i=eF(e.get("x-real-ip"));return i?{address:i,source:"REAL_IP"}:null}],867695),e.i(289064);var eK=e.i(666680);class eV{static isArrayBuffer(e){return"[object ArrayBuffer]"===Object.prototype.toString.call(e)}static toArrayBuffer(e){return this.isArrayBuffer(e)?e:e.byteLength===e.buffer.byteLength||0===e.byteOffset&&e.byteLength===e.buffer.byteLength?e.buffer:this.toUint8Array(e.buffer).slice(e.byteOffset,e.byteOffset+e.byteLength).buffer}static toUint8Array(e){return this.toView(e,Uint8Array)}static toView(e,t){if(e.constructor===t)return e;if(this.isArrayBuffer(e))return new t(e);if(this.isArrayBufferView(e))return new t(e.buffer,e.byteOffset,e.byteLength);throw TypeError("The provided value is not of type '(ArrayBuffer or ArrayBufferView)'")}static isBufferSource(e){return this.isArrayBufferView(e)||this.isArrayBuffer(e)}static isArrayBufferView(e){return ArrayBuffer.isView(e)||e&&this.isArrayBuffer(e.buffer)}static isEqual(e,t){let r=eV.toUint8Array(e),i=eV.toUint8Array(t);if(r.length!==i.byteLength)return!1;for(let e=0;e<r.length;e++)if(r[e]!==i[e])return!1;return!0}static concat(...e){let t;t=!Array.isArray(e[0])||e[1]instanceof Function?Array.isArray(e[0])&&e[1]instanceof Function?e[0]:e[e.length-1]instanceof Function?e.slice(0,e.length-1):e:e[0];let r=0;for(let e of t)r+=e.byteLength;let i=new Uint8Array(r),a=0;for(let e of t){let t=this.toUint8Array(e);i.set(t,a),a+=t.length}return e[e.length-1]instanceof Function?this.toView(i,e[e.length-1]):i.buffer}}let eG="string",eH=/^[0-9a-f\s]+$/i,eW=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,eJ=/^[a-zA-Z0-9-_]+$/;class ez{static fromString(e){let t=unescape(encodeURIComponent(e)),r=new Uint8Array(t.length);for(let e=0;e<t.length;e++)r[e]=t.charCodeAt(e);return r.buffer}static toString(e){let t=eV.toUint8Array(e),r="";for(let e=0;e<t.length;e++)r+=String.fromCharCode(t[e]);return decodeURIComponent(escape(r))}}class eZ{static toString(e,t=!1){let r=eV.toArrayBuffer(e),i=new DataView(r),a="";for(let e=0;e<r.byteLength;e+=2)a+=String.fromCharCode(i.getUint16(e,t));return a}static fromString(e,t=!1){let r=new ArrayBuffer(2*e.length),i=new DataView(r);for(let r=0;r<e.length;r++)i.setUint16(2*r,e.charCodeAt(r),t);return r}}class eY{static isHex(e){return typeof e===eG&&eH.test(e)}static isBase64(e){return typeof e===eG&&eW.test(e)}static isBase64Url(e){return typeof e===eG&&eJ.test(e)}static ToString(e,t="utf8"){let r=eV.toUint8Array(e);switch(t.toLowerCase()){case"utf8":return this.ToUtf8String(r);case"binary":return this.ToBinary(r);case"hex":return this.ToHex(r);case"base64":return this.ToBase64(r);case"base64url":return this.ToBase64Url(r);case"utf16le":return eZ.toString(r,!0);case"utf16":case"utf16be":return eZ.toString(r);default:throw Error(`Unknown type of encoding '${t}'`)}}static FromString(e,t="utf8"){if(!e)return new ArrayBuffer(0);switch(t.toLowerCase()){case"utf8":return this.FromUtf8String(e);case"binary":return this.FromBinary(e);case"hex":return this.FromHex(e);case"base64":return this.FromBase64(e);case"base64url":return this.FromBase64Url(e);case"utf16le":return eZ.fromString(e,!0);case"utf16":case"utf16be":return eZ.fromString(e);default:throw Error(`Unknown type of encoding '${t}'`)}}static ToBase64(e){let t=eV.toUint8Array(e);return"u">typeof btoa?btoa(this.ToString(t,"binary")):Buffer.from(t).toString("base64")}static FromBase64(e){let t=this.formatString(e);if(!t)return new ArrayBuffer(0);if(!eY.isBase64(t))throw TypeError("Argument 'base64Text' is not Base64 encoded");return"u">typeof atob?this.FromBinary(atob(t)):new Uint8Array(Buffer.from(t,"base64")).buffer}static FromBase64Url(e){let t=this.formatString(e);if(!t)return new ArrayBuffer(0);if(!eY.isBase64Url(t))throw TypeError("Argument 'base64url' is not Base64Url encoded");return this.FromBase64(this.Base64Padding(t.replace(/\-/g,"+").replace(/\_/g,"/")))}static ToBase64Url(e){return this.ToBase64(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}static FromUtf8String(e,t=eY.DEFAULT_UTF8_ENCODING){switch(t){case"ascii":return this.FromBinary(e);case"utf8":return ez.fromString(e);case"utf16":case"utf16be":return eZ.fromString(e);case"utf16le":case"usc2":return eZ.fromString(e,!0);default:throw Error(`Unknown type of encoding '${t}'`)}}static ToUtf8String(e,t=eY.DEFAULT_UTF8_ENCODING){switch(t){case"ascii":return this.ToBinary(e);case"utf8":return ez.toString(e);case"utf16":case"utf16be":return eZ.toString(e);case"utf16le":case"usc2":return eZ.toString(e,!0);default:throw Error(`Unknown type of encoding '${t}'`)}}static FromBinary(e){let t=e.length,r=new Uint8Array(t);for(let i=0;i<t;i++)r[i]=e.charCodeAt(i);return r.buffer}static ToBinary(e){let t=eV.toUint8Array(e),r="";for(let e=0;e<t.length;e++)r+=String.fromCharCode(t[e]);return r}static ToHex(e){let t=eV.toUint8Array(e),r="",i=t.length;for(let e=0;e<i;e++){let i=t[e];i<16&&(r+="0"),r+=i.toString(16)}return r}static FromHex(e){let t=this.formatString(e);if(!t)return new ArrayBuffer(0);if(!eY.isHex(t))throw TypeError("Argument 'hexString' is not HEX encoded");t.length%2&&(t=`0${t}`);let r=new Uint8Array(t.length/2);for(let e=0;e<t.length;e+=2){let i=t.slice(e,e+2);r[e/2]=parseInt(i,16)}return r.buffer}static ToUtf16String(e,t=!1){return eZ.toString(e,t)}static FromUtf16String(e,t=!1){return eZ.fromString(e,t)}static Base64Padding(e){let t=4-e.length%4;if(t<4)for(let r=0;r<t;r++)e+="=";return e}static formatString(e){return(null==e?void 0:e.replace(/[\n\r\t ]/g,""))||""}}function eQ(e,t,r){var i;return e instanceof Object==!1?r:null!=(i=e[t])?i:r}function eX(e,t=0,r=e.byteLength-t,i=!1){let a="";for(let n of new Uint8Array(e,t,r)){let e=n.toString(16).toUpperCase();1===e.length&&(a+="0"),a+=e,i&&(a+=" ")}return a.trim()}function e0(e,t){let r=0;if(1===e.length)return e[0];for(let i=e.length-1;i>=0;i--)r+=e[e.length-1-i]*Math.pow(2,t*i);return r}function e1(e,t,r=-1){let i=e,a=0,n=Math.pow(2,t);for(let s=1;s<8;s++){if(e<n){let e;if(r<0)e=new ArrayBuffer(s),a=s;else{if(r<s)return new ArrayBuffer(0);e=new ArrayBuffer(r),a=r}let n=new Uint8Array(e);for(let e=s-1;e>=0;e--){let r=Math.pow(2,e*t);n[a-e-1]=Math.floor(i/r),i-=n[a-e-1]*r}return e}n*=Math.pow(2,t)}return new ArrayBuffer(0)}function e2(...e){let t=0,r=0;for(let r of e)t+=r.byteLength;let i=new ArrayBuffer(t),a=new Uint8Array(i);for(let t of e)a.set(new Uint8Array(t),r),r+=t.byteLength;return i}function e3(...e){let t=0,r=0;for(let r of e)t+=r.length;let i=new Uint8Array(new ArrayBuffer(t));for(let t of e)i.set(t,r),r+=t.length;return i}function e4(){let e=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){let t=255===e[0]&&128&e[1],r=0===e[0]&&(128&e[1])==0;(t||r)&&this.warnings.push("Needlessly long format")}let t=new Uint8Array(new ArrayBuffer(this.valueHex.byteLength));for(let e=0;e<this.valueHex.byteLength;e++)t[e]=0;t[0]=128&e[0];let r=e0(t,8),i=new Uint8Array(new ArrayBuffer(this.valueHex.byteLength));for(let t=0;t<this.valueHex.byteLength;t++)i[t]=e[t];return i[0]&=127,e0(i,8)-r}function e6(e,t){if(e.byteLength!==t.byteLength)return!1;let r=new Uint8Array(e),i=new Uint8Array(t);for(let e=0;e<r.length;e++)if(r[e]!==i[e])return!1;return!0}function e8(e,t){let r=e.toString(10);if(t<r.length)return"";let i=t-r.length,a=Array(i);for(let e=0;e<i;e++)a[e]="0";return a.join("").concat(r)}eY.DEFAULT_UTF8_ENCODING="utf8";let e5="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",e9="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=";function e7(e,t=!1,r=!1,i=!1){let a=0,n=0,s=0,o="",l=t?e9:e5;if(i){let t=0;for(let r=0;r<e.length;r++)if(0!==e.charCodeAt(r)){t=r;break}e=e.slice(t)}for(;a<e.length;){let t=e.charCodeAt(a++);a>=e.length&&(n=1);let i=e.charCodeAt(a++);a>=e.length&&(s=1);let u=e.charCodeAt(a++),c=t>>2,d=(3&t)<<4|i>>4,p=(15&i)<<2|u>>6,h=63&u;1===n?p=h=64:1===s&&(h=64),r?64===p?o+=`${l.charAt(c)}${l.charAt(d)}`:64===h?o+=`${l.charAt(c)}${l.charAt(d)}${l.charAt(p)}`:o+=`${l.charAt(c)}${l.charAt(d)}${l.charAt(p)}${l.charAt(h)}`:o+=`${l.charAt(c)}${l.charAt(d)}${l.charAt(p)}${l.charAt(h)}`}return o}function te(e,t=!1,r=!1){let i=t?e9:e5;function a(e){for(let t=0;t<64;t++)if(i.charAt(t)===e)return t;return 64}function n(e){return 64===e?0:e}let s=0,o="";for(;s<e.length;){let t=a(e.charAt(s++)),r=s>=e.length?0:a(e.charAt(s++)),i=s>=e.length?0:a(e.charAt(s++)),l=s>=e.length?0:a(e.charAt(s++)),u=n(t)<<2|n(r)>>4,c=(15&n(r))<<4|n(i)>>2,d=(3&n(i))<<6|n(l);o+=String.fromCharCode(u),64!==i&&(o+=String.fromCharCode(c)),64!==l&&(o+=String.fromCharCode(d))}if(r){let e=o.length,t=-1;for(let r=e-1;r>=0;r--)if(0!==o.charCodeAt(r)){t=r;break}o=-1!==t?o.slice(0,t+1):""}return o}function tt(e){let t="";for(let r of new Uint8Array(e))t+=String.fromCharCode(r);return t}function tr(e){let t=e.length,r=new ArrayBuffer(t),i=new Uint8Array(r);for(let r=0;r<t;r++)i[r]=e.charCodeAt(r);return r}let ti=Math.log(2);function ta(e,t){for(let r of t)delete e[r]}function tn(){if("u"<typeof BigInt)throw Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function ts(e){let t=0,r=0;for(let r=0;r<e.length;r++)t+=e[r].byteLength;let i=new Uint8Array(t);for(let t=0;t<e.length;t++){let a=e[t];i.set(new Uint8Array(a),r),r+=a.byteLength}return i.buffer}function to(e,t,r,i){return t instanceof Uint8Array?t.byteLength?r<0?(e.error="Wrong parameter: inputOffset less than zero",!1):i<0?(e.error="Wrong parameter: inputLength less than zero",!1):!(t.byteLength-r-i<0)||(e.error="End of input reached before message was fully decoded (inconsistent offset and length values)",!1):(e.error="Wrong parameter: inputBuffer has zero length",!1):(e.error="Wrong parameter: inputBuffer must be 'Uint8Array'",!1)}class tl{constructor(){this.items=[]}write(e){this.items.push(e)}final(){return ts(this.items)}}let tu=[new Uint8Array([1])],tc="0123456789",td="name",tp="valueHexView",th=new ArrayBuffer(0),tm=new Uint8Array(0),tf="EndOfContent",tg="OCTET STRING",ty="BIT STRING";function tw(e){var t;return(t=class extends e{get valueHex(){return this.valueHexView.slice().buffer}set valueHex(e){this.valueHexView=new Uint8Array(e)}constructor(...e){var t;super(...e);const r=e[0]||{};this.isHexOnly=null!=(t=r.isHexOnly)&&t,this.valueHexView=r.valueHex?eV.toUint8Array(r.valueHex):tm}fromBER(e,t,r,i){let a=e instanceof ArrayBuffer?new Uint8Array(e):e;if(!to(this,a,t,r))return -1;let n=t+r;return(this.valueHexView=a.subarray(t,n),this.valueHexView.length)?(this.blockLength=r,n):(this.warnings.push("Zero buffer length"),t)}toBER(e=!1){return this.isHexOnly?e?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.byteLength===this.valueHexView.buffer.byteLength?this.valueHexView.buffer:this.valueHexView.slice().buffer:(this.error="Flag 'isHexOnly' is not set, abort",th)}toJSON(){return{...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:eY.ToHex(this.valueHexView)}}}).NAME="hexBlock",t}class tb{static blockName(){return this.NAME}get valueBeforeDecode(){return this.valueBeforeDecodeView.slice().buffer}set valueBeforeDecode(e){this.valueBeforeDecodeView=new Uint8Array(e)}constructor({blockLength:e=0,error:t="",warnings:r=[],valueBeforeDecode:i=tm}={}){this.blockLength=e,this.error=t,this.warnings=r,this.valueBeforeDecodeView=eV.toUint8Array(i)}toJSON(){return{blockName:this.constructor.NAME,blockLength:this.blockLength,error:this.error,warnings:this.warnings,valueBeforeDecode:eY.ToHex(this.valueBeforeDecodeView)}}}tb.NAME="baseBlock";class tv extends tb{fromBER(e,t,r,i){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}toBER(e,t){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}}tv.NAME="valueBlock";class tk extends tw(tb){constructor({idBlock:e={}}={}){var t,r,i,a;super(),e?(this.isHexOnly=null!=(t=e.isHexOnly)&&t,this.valueHexView=e.valueHex?eV.toUint8Array(e.valueHex):tm,this.tagClass=null!=(r=e.tagClass)?r:-1,this.tagNumber=null!=(i=e.tagNumber)?i:-1,this.isConstructed=null!=(a=e.isConstructed)&&a):(this.tagClass=-1,this.tagNumber=-1,this.isConstructed=!1)}toBER(e=!1){let t=0;switch(this.tagClass){case 1:t|=0;break;case 2:t|=64;break;case 3:t|=128;break;case 4:t|=192;break;default:return this.error="Unknown tag class",th}if(this.isConstructed&&(t|=32),this.tagNumber<31&&!this.isHexOnly){let r=new Uint8Array(1);if(!e){let e=this.tagNumber;e&=31,t|=e,r[0]=t}return r.buffer}if(!this.isHexOnly){let r=e1(this.tagNumber,7),i=new Uint8Array(r),a=r.byteLength,n=new Uint8Array(a+1);if(n[0]=31|t,!e){for(let e=0;e<a-1;e++)n[e+1]=128|i[e];n[a]=i[a-1]}return n.buffer}let r=new Uint8Array(this.valueHexView.byteLength+1);if(r[0]=31|t,!e){let e=this.valueHexView;for(let t=0;t<e.length-1;t++)r[t+1]=128|e[t];r[this.valueHexView.byteLength]=e[e.length-1]}return r.buffer}fromBER(e,t,r){let i=eV.toUint8Array(e);if(!to(this,i,t,r))return -1;let a=i.subarray(t,t+r);if(0===a.length)return this.error="Zero buffer length",-1;switch(192&a[0]){case 0:this.tagClass=1;break;case 64:this.tagClass=2;break;case 128:this.tagClass=3;break;case 192:this.tagClass=4;break;default:return this.error="Unknown tag class",-1}this.isConstructed=(32&a[0])==32,this.isHexOnly=!1;let n=31&a[0];if(31!==n)this.tagNumber=n,this.blockLength=1;else{let e=0;for(;;){let t=e+1;if(t>=a.length)return this.error="End of input reached before message was fully decoded",-1;if(e++,(128&a[t])==0)break}this.blockLength=e+1;let t=this.valueHexView=new Uint8Array(e);for(let r=0;r<e;r++)t[r]=127&a[r+1];this.blockLength<=9?this.tagNumber=e0(t,7):(this.isHexOnly=!0,this.warnings.push("Tag too long, represented as hex-coded"))}if(1===this.tagClass&&this.isConstructed)switch(this.tagNumber){case 1:case 2:case 5:case 6:case 9:case 13:case 14:case 23:case 24:case 31:case 32:case 33:case 34:return this.error="Constructed encoding used for primitive type",-1}return t+this.blockLength}toJSON(){return{...super.toJSON(),tagClass:this.tagClass,tagNumber:this.tagNumber,isConstructed:this.isConstructed}}}tk.NAME="identificationBlock";class tS extends tb{constructor({lenBlock:e={}}={}){var t,r,i;super(),this.isIndefiniteForm=null!=(t=e.isIndefiniteForm)&&t,this.longFormUsed=null!=(r=e.longFormUsed)&&r,this.length=null!=(i=e.length)?i:0}fromBER(e,t,r){let i=eV.toUint8Array(e);if(!to(this,i,t,r))return -1;let a=i.subarray(t,t+r);if(0===a.length)return this.error="Zero buffer length",-1;if(255===a[0])return this.error="Length block 0xFF is reserved by standard",-1;if(this.isIndefiniteForm=128===a[0],this.isIndefiniteForm)return this.blockLength=1,t+this.blockLength;if(this.longFormUsed=!!(128&a[0]),!1===this.longFormUsed)return this.length=a[0],this.blockLength=1,t+this.blockLength;let n=127&a[0];if(n>8)return this.error="Too big integer",-1;if(n+1>a.length)return this.error="End of input reached before message was fully decoded",-1;let s=t+1,o=i.subarray(s,s+n);return 0===o[n-1]&&this.warnings.push("Needlessly long encoded length"),this.length=e0(o,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=n+1,t+this.blockLength}toBER(e=!1){let t,r;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return t=new ArrayBuffer(1),!1===e&&((r=new Uint8Array(t))[0]=128),t;if(this.longFormUsed){let i=e1(this.length,8);if(i.byteLength>127)return this.error="Too big length",th;if(t=new ArrayBuffer(i.byteLength+1),e)return t;let a=new Uint8Array(i);(r=new Uint8Array(t))[0]=128|i.byteLength;for(let e=0;e<i.byteLength;e++)r[e+1]=a[e];return t}return t=new ArrayBuffer(1),!1===e&&((r=new Uint8Array(t))[0]=this.length),t}toJSON(){return{...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,longFormUsed:this.longFormUsed,length:this.length}}}tS.NAME="lengthBlock";let tE={};class tI extends tb{constructor({name:e="",optional:t=!1,primitiveSchema:r,...i}={},a){super(i),this.name=e,this.optional=t,r&&(this.primitiveSchema=r),this.idBlock=new tk(i),this.lenBlock=new tS(i),this.valueBlock=a?new a(i):new tv(i)}fromBER(e,t,r,i){let a=this.valueBlock.fromBER(e,t,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length,i);return -1===a?this.error=this.valueBlock.error:(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength)),a}toBER(e,t){let r=t||new tl;t||function e(t){var r;if(t instanceof tE.Constructed)for(let r of t.valueBlock.value)e(r)&&(t.lenBlock.isIndefiniteForm=!0);return!!(null==(r=t.lenBlock)?void 0:r.isIndefiniteForm)}(this);let i=this.idBlock.toBER(e);if(r.write(i),this.lenBlock.isIndefiniteForm)r.write(new Uint8Array([128]).buffer),this.valueBlock.toBER(e,r),r.write(new ArrayBuffer(2));else{let t=this.valueBlock.toBER(e);this.lenBlock.length=t.byteLength;let i=this.lenBlock.toBER(e);r.write(i),r.write(t)}return t?th:r.final()}toJSON(){let e={...super.toJSON(),idBlock:this.idBlock.toJSON(),lenBlock:this.lenBlock.toJSON(),valueBlock:this.valueBlock.toJSON(),name:this.name,optional:this.optional};return this.primitiveSchema&&(e.primitiveSchema=this.primitiveSchema.toJSON()),e}toString(e="ascii"){return"ascii"===e?this.onAsciiEncoding():eY.ToHex(this.toBER())}onAsciiEncoding(){let e=this.constructor.NAME,t=eY.ToHex(this.valueBlock.valueBeforeDecodeView);return`${e} : ${t}`}isEqual(e){return this===e||e instanceof this.constructor&&e6(this.toBER(),e.toBER())}}tI.NAME="BaseBlock";class tx extends tI{getValue(){return this.valueBlock.value}setValue(e){this.valueBlock.value=e}constructor({value:e="",...t}={},r){super(t,r),e&&this.fromString(e)}fromBER(e,t,r){let i=this.valueBlock.fromBER(e,t,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return -1===i?this.error=this.valueBlock.error:(this.fromBuffer(this.valueBlock.valueHexView),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength)),i}onAsciiEncoding(){return`${this.constructor.NAME} : '${this.valueBlock.value}'`}}tx.NAME="BaseStringBlock";class tA extends tw(tv){constructor({isHexOnly:e=!0,...t}={}){super(t),this.isHexOnly=e}}tA.NAME="PrimitiveValueBlock";class t_ extends tI{constructor(e={}){super(e,tA),this.idBlock.isConstructed=!1}}function tC(e={}){var t,r,i;return{depth:0,maxDepth:null!=(t=e.maxDepth)?t:100,nodesCount:0,maxNodes:null!=(r=e.maxNodes)?r:1e4,maxContentLength:null!=(i=e.maxContentLength)?i:0x1000000}}function tR(e,t,r,i){let a=i.depth+1;if(a>i.maxDepth){let e;return(e=new tI({},tv)).error="Maximum ASN.1 nesting depth exceeded",{offset:-1,result:e}}i.depth=a;try{return tT(e,t,r,i)}finally{i.depth-=1}}function tT(e,t=0,r=e.length,i=tC()){let a=t,n=new tI({},tv),s=new tb;if(!to(s,e,t,r))return n.error=s.error,{offset:-1,result:n};if(!e.subarray(t,t+r).length)return n.error="Zero buffer length",{offset:-1,result:n};let o=function(e){if(e.nodesCount+=1,e.nodesCount>e.maxNodes)return"Maximum ASN.1 node count exceeded"}(i);if(o)return n.error=o,{offset:-1,result:n};let l=n.idBlock.fromBER(e,t,r);if(n.idBlock.warnings.length&&n.warnings.concat(n.idBlock.warnings),-1===l)return n.error=n.idBlock.error,{offset:-1,result:n};if(t=l,r-=n.idBlock.blockLength,l=n.lenBlock.fromBER(e,t,r),n.lenBlock.warnings.length&&n.warnings.concat(n.lenBlock.warnings),-1===l)return n.error=n.lenBlock.error,{offset:-1,result:n};t=l,r-=n.lenBlock.blockLength;let u=n.lenBlock.isIndefiniteForm?r:n.lenBlock.length,c=function(e,t){if(e>t.maxContentLength)return"Maximum ASN.1 content length exceeded"}(u,i);if(c)return n.error=c,{offset:-1,result:n};if(!n.idBlock.isConstructed&&n.lenBlock.isIndefiniteForm)return n.error="Indefinite length form used for primitive encoding form",{offset:-1,result:n};let d=tI;if(1===n.idBlock.tagClass){if(n.idBlock.tagNumber>=37&&!1===n.idBlock.isHexOnly)return n.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:n};switch(n.idBlock.tagNumber){case 0:if(n.idBlock.isConstructed&&n.lenBlock.length>0)return n.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:n};d=tE.EndOfContent;break;case 1:d=tE.Boolean;break;case 2:d=tE.Integer;break;case 3:d=tE.BitString;break;case 4:d=tE.OctetString;break;case 5:d=tE.Null;break;case 6:d=tE.ObjectIdentifier;break;case 10:d=tE.Enumerated;break;case 12:d=tE.Utf8String;break;case 13:d=tE.RelativeObjectIdentifier;break;case 14:d=tE.TIME;break;case 15:return n.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:n};case 16:d=tE.Sequence;break;case 17:d=tE.Set;break;case 18:d=tE.NumericString;break;case 19:d=tE.PrintableString;break;case 20:d=tE.TeletexString;break;case 21:d=tE.VideotexString;break;case 22:d=tE.IA5String;break;case 23:d=tE.UTCTime;break;case 24:d=tE.GeneralizedTime;break;case 25:d=tE.GraphicString;break;case 26:d=tE.VisibleString;break;case 27:d=tE.GeneralString;break;case 28:d=tE.UniversalString;break;case 29:d=tE.CharacterString;break;case 30:d=tE.BmpString;break;case 31:d=tE.DATE;break;case 32:d=tE.TimeOfDay;break;case 33:d=tE.DateTime;break;case 34:d=tE.Duration;break;default:{let e=n.idBlock.isConstructed?new tE.Constructed:new tE.Primitive;e.idBlock=n.idBlock,e.lenBlock=n.lenBlock,e.warnings=n.warnings,n=e}}}else d=n.idBlock.isConstructed?tE.Constructed:tE.Primitive;return l=(n=function(e,t){if(e instanceof t)return e;let r=new t;return r.idBlock=e.idBlock,r.lenBlock=e.lenBlock,r.warnings=e.warnings,r.valueBeforeDecodeView=e.valueBeforeDecodeView,r}(n,d)).fromBER(e,t,u,i),n.valueBeforeDecodeView=e.subarray(a,a+n.blockLength),{offset:l,result:n}}function tD(e,t={}){if(!e.byteLength){let e=new tI({},tv);return e.error="Input buffer has zero length",{offset:-1,result:e}}return tT(eV.toUint8Array(e).slice(),0,e.byteLength,tC(t))}tE.Primitive=t_,t_.NAME="PRIMITIVE";class tN extends tv{constructor({value:e=[],isIndefiniteForm:t=!1,...r}={}){super(r),this.value=e,this.isIndefiniteForm=t}fromBER(e,t,r,i){var a,n;let s=eV.toUint8Array(e),o=null!=i?i:tC();if(!to(this,s,t,r))return -1;if(this.valueBeforeDecodeView=s.subarray(t,t+r),0===this.valueBeforeDecodeView.length)return this.warnings.push("Zero buffer length"),t;let l=t;for(;a=this.isIndefiniteForm,n=r,(a?1:n)>0;){let e=tR(s,l,r,o);if(-1===e.offset)return this.error=e.result.error,this.warnings.concat(e.result.warnings),-1;if(l=e.offset,this.blockLength+=e.result.blockLength,r-=e.result.blockLength,this.value.push(e.result),this.isIndefiniteForm&&e.result.constructor.NAME===tf)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===tf?this.value.pop():this.warnings.push("No EndOfContent block encoded")),l}toBER(e,t){let r=t||new tl;for(let t=0;t<this.value.length;t++)this.value[t].toBER(e,r);return t?th:r.final()}toJSON(){let e={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(let t of this.value)e.value.push(t.toJSON());return e}}tN.NAME="ConstructedValueBlock";class tO extends tI{constructor(e={}){super(e,tN),this.idBlock.isConstructed=!0}fromBER(e,t,r,i){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;let a=this.valueBlock.fromBER(e,t,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length,i);return -1===a?this.error=this.valueBlock.error:(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength)),a}onAsciiEncoding(){let e=[];for(let t of this.valueBlock.value)e.push(t.toString("ascii").split("\n").map(e=>` ${e}`).join("\n"));let t=3===this.idBlock.tagClass?`[${this.idBlock.tagNumber}]`:this.constructor.NAME;return e.length?`${t} :
592
+ ${t}`}splitMarkdownIntoSections(e){let t=e.split(/(?=^#{1,6}\s)|(?:\n\s*\n)/m).filter(e=>e.trim().length>0);return t.length>0?t:[e]}async parseMarkdownSection(e){try{let t=[this.createTextFallback(e)];return{success:!0,data:{version:1,type:"doc",content:t},warnings:[]}}catch(e){return{success:!1,error:e,warnings:[]}}}createTextFallback(e){return{type:"paragraph",content:[{type:"text",text:e.trim()}]}}createPlaceholder(e){return e.operation.includes("adfToMarkdown")?`[Error converting ADF to Markdown: ${e.operation}]`:e.operation.includes("markdownToAdf")?{version:1,type:"doc",content:[{type:"paragraph",content:[{type:"text",text:`[Error converting Markdown to ADF: ${e.operation}]`}]}]}:`[Error in operation: ${e.operation}]`}},sV=class{constructor(e){(0,tG.__publicField)(this,"mdToAdfEngine"),(0,tG.__publicField)(this,"adfToMdEngine"),(0,tG.__publicField)(this,"options"),(0,tG.__publicField)(this,"errorRecovery"),(0,tG.__publicField)(this,"remarkProcessor"),(0,tG.__publicField)(this,"registry");try{this.options=e||{},this.mdToAdfEngine=new ss(this.options),this.adfToMdEngine=new sF(this.options),this.errorRecovery=new sK({maxRetries:e?.maxRetries||3,retryDelay:e?.retryDelay||100,fallbackStrategy:e?.fallbackStrategy||"best-effort",enableLogging:e?.enableLogging||!1,onError:e?.onError,onRecovery:e?.onRecovery}),this.remarkProcessor=ri().use(iD).use(a_,["yaml"]).use(n$).use(nV,{strict:e?.strict||!1}).use(am),this.registry=new nY,this.registerConverters()}catch(e){throw new nJ("Failed to initialize Parser","INIT_ERROR")}}adfToMarkdown(e,t){return t&&Object.keys(t).length>0?new sF({...this.options,...t}).convert(e):this.adfToMdEngine.convert(e)}async adfToMarkdownWithRecovery(e,t){let r=await this.errorRecovery.executeWithRecovery(()=>this.adfToMarkdown(e,t),{operation:"adfToMarkdown",input:e,nodeType:e.type});if(!r.success)throw r.error||Error("ADF to Markdown conversion failed");return r.data}markdownToAdf(e,t){return t&&Object.keys(t).length>0?new ss({...this.options,...t}).convert(e):this.mdToAdfEngine.convert(e)}async markdownToAdfWithRecovery(e,t){let r=await this.errorRecovery.executeWithRecovery(()=>this.markdownToAdf(e,t),{operation:"markdownToAdf",input:e});if(!r.success)throw r.error||Error("Markdown to ADF conversion failed");return r.data}async markdownToAdfAsync(e,t){return await this.mdToAdfEngine.convertAsync(e)}async markdownToAdfAsyncWithRecovery(e,t){let r=await this.errorRecovery.executeWithRecovery(async()=>this.markdownToAdfAsync(e,t),{operation:"markdownToAdfAsync",input:e});if(!r.success)throw r.error||Error("Async Markdown to ADF conversion failed");return r.data}async validateMarkdownAsync(e){let t=await this.mdToAdfEngine.validate(e);return{valid:t.valid,errors:t.errors.map(e=>({message:e})),warnings:t.warnings}}async getStats(e){return await this.mdToAdfEngine.getStats(e)}stringify(e,t){return this.adfToMarkdown(e,t)}async stringifyAsync(e,t){return this.adfToMarkdownWithRecovery(e,t)}validateAdf(e){return new nH().validate(e)}validateMarkdown(e){return new nW().validate(e)}getErrorRecovery(){return this.errorRecovery}registerConverters(){this.registry.registerNodes([new so,new sl,new su,new sc,new sd,new sp,new sh,new sm,new sf,new sg,new sy,new sw,new sb,new sv,new sk,new sS,new sE,new sI,new sx,new sA,new s_,new sC,new sR,new sT,new sD,new sN]),this.registry.registerMarks([new sO,new sP,new s$,new sU,new sB,new sj,new sL,new sq,new sM])}convertAdfToMarkdown(e){return this.adfToMdEngine.convert(e)}convertMdastToAdf(e){return this.mdToAdfEngine.convert(e)}fallbackConversion(e){return this.mdToAdfEngine.convert(e)}countNodes(e){let t=0;for(let r of e)t++,r.content&&Array.isArray(r.content)&&(t+=this.countNodes(r.content));return t}postProcessAdfFenceBlocks(e){return e}parseAdfLanguageString(e,t){return{}}},sG=e.i(378731);let sH=[/^h[1-6]\.\s/m,/^bq\.\s/m,/\{code(?::[^}]+)?\}/i,/\{noformat\}/i,/\{\{[^}\n]+\}\}/,/^\|\|.+\|\|\s*$/m,/\[[^\]\n]+\|https?:\/\//i,/\[~[^\]\n]+\]/,/\[\^[^\]\n]+\]/,/![^!\n]+!/];function sW(e){return!(!e||"object"!=typeof e||Array.isArray(e))&&"doc"===e.type&&1===e.version&&Array.isArray(e.content)}function sJ(e,t){return sG.default.to_markdown(e.replace(/\[~([^\]\n]+)\]/g,"@$1").replace(/\[\^([^\]\n]+)\]/g,"[Attachment: $1]").replace(/\[([A-Z][A-Z0-9_]*-\d+)\]/g,(e,r)=>t?`[${r}](${t}/browse/${r})`:`**${r}**`))}let sz=new sV;function sZ(e,t){if(null==e)return null;let r=function(e){if(sW(e))return"ADF";let t="string"==typeof e?e:"";return sH.some(e=>e.test(t))?"JIRA_WIKI":"MARKDOWN"}(e),i="string"==typeof e?e:null==e?"":JSON.stringify(e,null,2),a="ADF"===r?function(e){try{return sz.adfToMarkdown(e)}catch{return function e(t){return t&&"object"==typeof t?["string"==typeof t.text?t.text:"",...Array.isArray(t.content)?t.content.map(e).filter(Boolean):[]].filter(Boolean).join("\n"):""}(e)}}(e):"JIRA_WIKI"===r?sJ(i,t):i;return{format:r,raw:e,rawText:i,markdown:a,wikiMarkup:"JIRA_WIKI"===r?i:sG.default.to_jira(a)}}function sY(e){let t=e.value.trim(),r="JIRA_WIKI"===e.format?sJ(t):t,i=sz.markdownToAdf(r);if(!sW(i))throw Error("The Jira text could not be converted to valid ADF");return i}let sQ="default",sX=["summary","status","issuetype","priority","assignee","project","updated"],s0=[{window:"5m",milliseconds:3e5},{window:"10m",milliseconds:6e5},{window:"1h",milliseconds:36e5},{window:"24h",milliseconds:864e5}];function s1(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function s2(e){return s1(e)?e:{}}function s3(e){return Array.isArray(e)?e:[]}function s4(e){return"string"==typeof e&&e.length>0?e:null}function s6(e){return"number"==typeof e&&Number.isFinite(e)?e:null}function s8(e){let t=e.trim().toUpperCase();if(!/^[A-Z][A-Z0-9_]*-\d+$/.test(t))throw Error("Invalid Jira issue key");return t}function s5(e){if(null===e)return null;try{return JSON.parse(e)}catch{return null}}function s9(e){return s3(s5(e)).flatMap(e=>"string"==typeof e&&e.length>0?[e]:[])}function s7(e){return JSON.stringify(function e(t){return Array.isArray(t)?t.map(e):s1(t)?Object.fromEntries(Object.keys(t).sort().map(r=>[r,e(t[r])])):t}(e))}function oe(e){if(!s1(e))return null;let t=e.status??s2(e.response).status;return"number"==typeof t?t:null}function ot(e,t){let r=e instanceof Error?e.message:String(e);return(t?r.replaceAll(t,"[REDACTED]"):r).slice(0,1e3)}function or(e){return s4(s2(s2(e.fields).project).key)??(e.key?.split("-")[0]||"UNKNOWN")}function oi(e){let t=s2(e),r=s4(t.displayName);if(!r)return null;let i=s2(t.avatarUrls);return{accountId:s4(t.accountId),displayName:r,avatarUrl:s4(i["48x48"])??s4(i["32x32"])??s4(i["24x24"])}}function oa(e){return s3(e).map(s2).map(e=>({id:s4(e.id),name:s4(e.name)??"Unknown"}))}function on(e,t){let r=s2(e),i=s4(r.key);if(!i)return null;let a=s2(r.fields);return{relationship:t,key:i,summary:s4(a.summary)??i,status:s4(s2(a.status).name)}}function os(e){return{...e,kind:"BOARD"===e.kind?"BOARD":"JQL"}}function oo(e){return{source:e.source,stale:e.stale,fetchedAt:e.fetchedAt.toISOString()}}function ol(e){return 0===e.length?{source:"CACHE",stale:!1,fetchedAt:new Date(0).toISOString()}:{source:e.some(e=>"ERROR"===e.source)?"ERROR":e.some(e=>"LIVE"===e.source)?"LIVE":"CACHE",stale:e.some(e=>e.stale),fetchedAt:new Date(Math.max(...e.map(e=>e.fetchedAt.getTime()))).toISOString()}}function ou(e){let t=s2(e.fields),r=s2(t.status),i=s2(r.statusCategory),a=s2(t.assignee),n=s2(a.avatarUrls),s=s2(t.project),o=e.key??"UNKNOWN";return{id:e.id??o,key:o,summary:s4(t.summary)??o,statusId:s4(r.id)??s4(r.name)??"unknown",status:s4(r.name)??"Unknown",statusCategory:s4(i.key)??s4(i.name)??"unknown",issueType:s4(s2(t.issuetype).name),priority:s4(s2(t.priority).name),assignee:s4(a.displayName),assigneeAccountId:s4(a.accountId),assigneeAvatarUrl:s4(n["48x48"])??s4(n["32x32"]),projectKey:s4(s.key)??or(e),updatedAt:s4(t.updated)}}function oc(e){let t=e.toLowerCase();return"new"===t||t.includes("to do")?0:"indeterminate"===t||t.includes("progress")?1:"done"===t?2:3}let od=new Set(["ALL","UNASSIGNED_OR_SELF","SELF_IN_PROGRESS"]);function op(e){return od.has(e)?e:"ALL"}e.s(["JiraService",0,class{credentials;workflowEvents;recordCallLogs;inFlight;clients;lastPrunedAt;constructor(e=new tO.CredentialService,t,r="true"!==process.env.JIRA_CACHE_LOGGING_DISABLED){this.credentials=e,this.workflowEvents=t,this.recordCallLogs=r,this.inFlight=new Map,this.lastPrunedAt=0}async recordTicketWorkflowEvents(e,t){if(!this.workflowEvents)return;let r=e.comments.at(-1)??null,i={ticket:{key:e.key,title:e.summary,type:e.issueType,status:e.status,statusId:e.statusId,statusCategory:e.statusCategory,assignee:e.assignee,assigneeAccountId:e.assigneeAccountId,labels:e.labels,sprintNames:e.sprintNames,activeSprintNames:e.activeSprintNames,closedSprintNames:e.closedSprintNames,url:e.jiraUrl},comment:r?{id:r.id,body:r.content?.rawText??"",author:r.author}:null,...void 0!==t?{changelog:t}:{}},a=e.cache.fetchedAt,n=e.assigneeAccountId?await this.currentAccountId().catch(()=>null):null,s=[["JIRA_STATUS",e.statusId],["JIRA_LABEL",JSON.stringify([...e.labels].sort())],["JIRA_MENTION",r?.id??"none"],["JIRA_SPRINT_STARTED",[...e.activeSprintNames].sort()],["JIRA_TICKET_UPDATED",e.updatedAt??"unknown"],["JIRA_COMMENT_ADDED",r?.id??"none"],["JIRA_SPRINT_ENDED",[...e.closedSprintNames].sort()]];if(n&&n===e.assigneeAccountId&&s.push(["JIRA_ASSIGNED_SELF",n]),t?.items.length){let e=new Set(t.items.flatMap(e=>[e.fieldId,e.field].filter(e=>!!e).map(e=>e.trim().toLowerCase()))),r=new Set(["JIRA_TICKET_UPDATED"]);e.has("status")&&r.add("JIRA_STATUS"),(e.has("label")||e.has("labels"))&&r.add("JIRA_LABEL"),e.has("assignee")&&r.add("JIRA_ASSIGNED_SELF"),e.has("sprint")&&(r.add("JIRA_SPRINT_STARTED"),r.add("JIRA_SPRINT_ENDED")),s=s.filter(([e])=>r.has(e))}await Promise.allSettled(s.map(([t,r])=>this.workflowEvents.record({kind:t,subjectKey:e.key,dedupeKey:`jira-trigger:${t}:${e.key}:${a}`,payload:{...i,sessionData:i,cursorValue:r}})))}async getSettings(){let e=await (0,tD.getPrismaClient)(),t=await e.jiraSettings.upsert({where:{id:sQ},create:{id:sQ,cacheTtlSeconds:300},update:{}});return{siteUrl:t.siteUrl,email:t.email,tokenConfigured:await this.credentials.isConfigured(tN.CREDENTIALS.jiraApiToken),cacheTtlSeconds:t.cacheTtlSeconds,updatedAt:t.updatedAt.toISOString()}}async saveSettings(e){let t=await (0,tD.getPrismaClient)(),r=function(e){let t=new URL(e.trim());if("https:"!==t.protocol)throw Error("Jira Cloud site URL must use HTTPS");if(!t.hostname.toLowerCase().endsWith(".atlassian.net"))throw Error("Only Jira Cloud *.atlassian.net sites are supported");if(t.username||t.password||t.search||t.hash)throw Error("Jira site URL must not include credentials, query, or fragment");return t.origin}(e.siteUrl),i=e.email.trim();if(!/^\S+@\S+\.\S+$/.test(i))throw Error("A valid Jira email is required");let a=await t.jiraSettings.findUnique({where:{id:sQ}}),n=e.apiToken?.trim()||null,s=!!(a?.siteUrl&&a.siteUrl!==r);if(s&&!e.resetSite)throw Error("Changing the Jira site requires resetSite=true");let o=a?.siteUrl!==r||a?.email!==i||!!n,l=async e=>{s&&(await e.jiraProject.deleteMany(),await e.jiraWebhookDelivery.deleteMany()),o&&(await e.jiraCacheEntry.deleteMany(),await e.jiraCachedTicket.deleteMany()),await e.jiraSettings.upsert({where:{id:sQ},create:{id:sQ,siteUrl:r,email:i,cacheTtlSeconds:300},update:s?{siteUrl:r,email:i,webhookEnabled:!1,webhookConfiguredAt:null,webhookId:null,webhookUrl:null,webhookJql:null}:{siteUrl:r,email:i}})};return n?await this.credentials.setText(tN.CREDENTIALS.jiraApiToken,n,l):await t.$transaction(l),s&&await this.credentials.delete(tN.CREDENTIALS.jiraWebhookSecret),this.clients=void 0,this.getSettings()}async clearCredentials(){let e=await (0,tD.getPrismaClient)(),t=await e.jiraSettings.findUnique({where:{id:sQ},select:{siteUrl:!0,email:!0,webhookId:!0}}),r=await this.credentials.isConfigured(tN.CREDENTIALS.jiraApiToken);if(t?.siteUrl&&t.email&&t.webhookId&&r)try{await this.webhookApiRequest("DELETE",`/rest/webhooks/1.0/webhook/${encodeURIComponent(t.webhookId)}`)}catch(e){if(404!==oe(e))throw e}return await this.credentials.deleteMany([tN.CREDENTIALS.jiraApiToken,tN.CREDENTIALS.jiraWebhookSecret],async e=>{await e.jiraCacheEntry.deleteMany(),await e.jiraCachedTicket.deleteMany(),await e.jiraWebhookDelivery.deleteMany(),await e.jiraSettings.upsert({where:{id:sQ},create:{id:sQ,cacheTtlSeconds:300},update:{email:null,webhookEnabled:!1,webhookConfiguredAt:null,webhookId:null,webhookUrl:null,webhookJql:null}})}),this.clients=void 0,this.getSettings()}async updateCacheTtl(e){if(!Number.isInteger(e)||e<1||e>1440)throw Error("Cache TTL must be an integer from 1 to 1440 minutes");let t=await (0,tD.getPrismaClient)();return await t.jiraSettings.upsert({where:{id:sQ},create:{id:sQ,cacheTtlSeconds:60*e},update:{cacheTtlSeconds:60*e}}),this.getSettings()}async testConnection(){let e=await this.cachedCall({operation:"MYSELF",params:{},requestSummary:"Current Jira user",force:!0,allowStaleOnError:!1,fetcher:async()=>{let{version3:e}=await this.getClients();return e.myself.getCurrentUser()}});if(e.stale)throw Error("Jira connection test failed because the live request failed");let t=s2(e.value);return{accountId:s4(t.accountId),displayName:s4(t.displayName)??"Jira user",emailAddress:s4(t.emailAddress),cache:oo(e)}}async listProjects(){let e=await (0,tD.getPrismaClient)();return(await e.jiraProject.findMany({include:{sources:{orderBy:[{position:"asc"},{createdAt:"asc"}]}},orderBy:[{position:"asc"},{createdAt:"asc"}]})).map(e=>({id:e.id,jiraId:e.jiraId,key:e.key,name:e.name,avatarUrl:e.avatarUrl,position:e.position,ticketAssignmentFilter:op(e.ticketAssignmentFilter),hideCompletedTickets:e.hideCompletedTickets,completedStatusIds:s9(e.completedStatusIdsJson),doneStatusId:e.doneStatusId,branchNamingScript:e.branchNamingScript??tF,sources:e.sources.map(os)}))}async projectStatuses(e){let t=await (0,tD.getPrismaClient)(),r=await t.jiraProject.findUnique({where:{id:e},select:{jiraId:!0,key:!0}});if(!r)throw Error("Jira project not found");let i=await this.cachedCall({operation:"PROJECT_STATUSES",params:{jiraId:r.jiraId},requestSummary:`Statuses for project ${r.key}`,fetcher:async()=>{let{version3:e}=await this.getClients();return e.projects.getAllStatuses(r.jiraId)}}),a=new Map;for(let e of s3(i.value).map(s2))for(let t of s3(e.statuses).map(s2)){let e=s4(t.id),r=s4(t.name);if(!e||!r||a.has(e))continue;let i=s2(t.statusCategory);a.set(e,{id:e,name:r,category:s4(i.key)??s4(i.name)??"unknown"})}return[...a.values()].sort((e,t)=>oc(e.category)-oc(t.category)||e.name.localeCompare(t.name))}async updateProjectDisplaySettings(e){if(!od.has(e.ticketAssignmentFilter))throw Error("Invalid Jira ticket assignment filter");let t=[...new Set(e.completedStatusIds.map(e=>e.trim()).filter(Boolean))].slice(0,200),r=await (0,tD.getPrismaClient)(),i=void 0===e.doneStatusId?void 0:e.doneStatusId?.trim()||null;if(i&&!(await this.projectStatuses(e.projectId)).some(e=>e.id===i))throw Error("The selected Jira done status is not available");return await r.jiraProject.update({where:{id:e.projectId},data:{ticketAssignmentFilter:e.ticketAssignmentFilter,hideCompletedTickets:e.hideCompletedTickets,completedStatusIdsJson:JSON.stringify(t),...void 0===i?{}:{doneStatusId:i}}}),this.listProjects()}async updateProjectBranchNaming(e,t){let r=await (0,tD.getPrismaClient)(),i=await r.jiraProject.findUnique({where:{id:e},select:{key:!0}});if(!i)throw Error("Jira project not found");let a=await tV(t,i.key);return await r.jiraProject.update({where:{id:e},data:{branchNamingScript:a}}),this.listProjects()}async availableProjects(){let e=[],t=0;for(;;){let r=await this.cachedCall({operation:"PROJECTS",params:{startAt:t,maxResults:100},requestSummary:`Visible projects from ${t}`,fetcher:async()=>{let{version3:e}=await this.getClients();return e.projects.searchProjects({startAt:t,maxResults:100,orderBy:"name"})},itemCount:e=>s3(s2(e).values).length}),i=s2(r.value),a=s3(i.values).map(s2);e.push(...a.flatMap(e=>{let t=s4(e.id),r=s4(e.key),i=s4(e.name);if(!t||!r||!i)return[];let a=s2(e.avatarUrls);return[{jiraId:t,key:r,name:i,avatarUrl:s4(a["48x48"])??s4(a["32x32"])}]}));let n=s6(i.total)??e.length;if(0===a.length||e.length>=n)break;t+=a.length}return e}async addProject(e){let t=e.trim();if(!t)throw Error("Jira project ID is required");let i=s2((await this.cachedCall({operation:"PROJECT",params:{jiraId:t},requestSummary:`Project ${t}`,fetcher:async()=>{let{version3:e}=await this.getClients();return e.projects.getProject(t)}})).value),a=s4(i.key),n=s4(i.name),s=s4(i.id);if(!a||!n||!s)throw Error("Jira returned an incomplete project");let o=s2(i.avatarUrls),l=await (0,tD.getPrismaClient)(),u=await l.jiraProject.aggregate({_max:{position:!0}});return await l.jiraProject.create({data:{id:(0,r.randomUUID)(),jiraId:s,key:a,name:n,avatarUrl:s4(o["48x48"])??s4(o["32x32"]),position:(u._max.position??-1)+1,branchNamingScript:tF}}),this.listProjects()}async removeProject(e){let t=await (0,tD.getPrismaClient)(),r=(await t.jiraSource.findMany({where:{projectId:e},select:{id:!0}})).map(e=>e.id);return await t.$transaction(async t=>{r.length>0&&await t.jiraCacheEntry.deleteMany({where:{sourceId:{in:r}}}),await t.jiraProject.delete({where:{id:e}}),await t.jiraCachedTicket.deleteMany({where:{cacheEntries:{none:{}}}})}),this.listProjects()}async createSource(e){let t=await this.validateSource(e.kind,e.value),i=this.validateSourceName(e.name),a=await (0,tD.getPrismaClient)();if(!await a.jiraProject.findUnique({where:{id:e.projectId}}))throw Error("Jira project not found");let n=await a.jiraSource.aggregate({where:{projectId:e.projectId},_max:{position:!0}});return await a.jiraSource.create({data:{id:(0,r.randomUUID)(),projectId:e.projectId,name:i,kind:e.kind,value:t.value,boardId:t.boardId,position:(n._max.position??-1)+1}}),this.listProjects()}async updateSource(e){let t=await this.validateSource(e.kind,e.value),r=this.validateSourceName(e.name),i=await (0,tD.getPrismaClient)();return await i.$transaction([i.jiraCacheEntry.deleteMany({where:{sourceId:e.id}}),i.jiraSource.update({where:{id:e.id},data:{name:r,kind:e.kind,value:t.value,boardId:t.boardId}})]),this.listProjects()}async deleteSource(e){let t=await (0,tD.getPrismaClient)();return await t.$transaction(async t=>{await t.jiraCacheEntry.deleteMany({where:{sourceId:e}}),await t.jiraSource.delete({where:{id:e}}),await t.jiraCachedTicket.deleteMany({where:{cacheEntries:{none:{}}}})}),this.listProjects()}async ticketBoard(e,t=!1){var r;let i,a,n,s=await (0,tD.getPrismaClient)(),o=await s.jiraSource.findUnique({where:{id:e},include:{project:!0}});if(!o)throw Error("Jira source not found");let l=await s.jiraCacheEntry.findFirst({where:{sourceId:e,issues:{some:{}}},orderBy:{fetchedAt:"desc"},include:{issues:{select:{issueKey:!0}}}}),u=new Set(l?.issues.map(({issueKey:e})=>e)??[]),c="BOARD"===o.kind?await this.loadBoardSource(os(o),t):await this.loadJqlSource(os(o),t),d={ticketAssignmentFilter:op(o.project.ticketAssignmentFilter),hideCompletedTickets:o.project.hideCompletedTickets,completedStatusIds:s9(o.project.completedStatusIdsJson)},p="ALL"===d.ticketAssignmentFilter?null:await this.currentAccountId(),h=(r={source:os(o),...c},i=d.hideCompletedTickets?new Set(d.completedStatusIds):new Set,a=new Set(r.tickets.filter(e=>i.has(e.statusId)).map(e=>e.status)),n=r.tickets.filter(e=>{let t;return!i.has(e.statusId)&&("ALL"===d.ticketAssignmentFilter||("UNASSIGNED_OR_SELF"===d.ticketAssignmentFilter?null===e.assigneeAccountId||e.assigneeAccountId===p:null!==p&&e.assigneeAccountId===p&&("indeterminate"===(t=e.statusCategory.toLowerCase())||t.includes("progress"))))}),{...r,tickets:n,statusOrder:r.statusOrder.filter(e=>!a.has(e))});return this.workflowEvents&&l&&await Promise.allSettled(h.tickets.filter(({key:e})=>!u.has(e)).map(t=>{let r={ticket:{key:t.key,title:t.summary,type:t.issueType,status:t.status,statusId:t.statusId,statusCategory:t.statusCategory,assignee:t.assignee}};return this.workflowEvents.record({kind:"JIRA_SOURCE_NEW_TICKET",subjectKey:`${e}:${t.key}`,dedupeKey:`jira-source-new:${e}:${t.key}:${h.cache.fetchedAt}`,payload:{...r,sessionData:r,source:{id:e,name:o.name,kind:o.kind},cursorValue:t.key}})})),h}async ticket(e,t=!1,r){let i=s8(e),a=await this.cachedCall({operation:"ISSUE",params:{issueKey:i,fields:"*all",expand:"names,schema"},requestSummary:`Issue ${i} with all fields`,force:t,fetcher:async()=>{let{version3:e}=await this.getClients();return e.issues.getIssue({issueIdOrKey:i,fields:["*all"],expand:["names","schema"],updateHistory:!1})}});"LIVE"===a.source&&await this.storeDetail(a.entryId,a.value,a.fetchedAt);let n=[],s=[],o=0;for(;;){let e=await this.cachedCall({operation:"COMMENTS",params:{issueKey:i,startAt:o,maxResults:100},requestSummary:`Comments for ${i} from ${o}`,force:t,fetcher:async()=>{let{version3:e}=await this.getClients();return e.issueComments.getComments({issueIdOrKey:i,startAt:o,maxResults:100,orderBy:"created"})},itemCount:e=>s3(s2(e).comments).length});n.push(e);let r=s2(e.value),a=s3(r.comments);s.push(...a);let l=s6(r.total)??s.length;if(0===a.length||s.length>=l)break;o+=a.length}let l=new Date(Math.min(...n.map(e=>e.fetchedAt.getTime())));await this.storeComments(i,s,l,n.map(e=>e.entryId));let u=await this.requireCredentials(),c=this.normalizeTicketDetail(a.value,s,u.siteUrl,oo(a),ol(n));return await this.recordTicketWorkflowEvents(c,r),c}async assignableUsers(e,t=""){let r=s8(e),i=t.trim().slice(0,100),a=await this.cachedCall({operation:"ASSIGNABLE_USERS",params:{issueKey:r,query:i,maxResults:50},requestSummary:`Assignable users for ${r}`,fetcher:async()=>{let{version3:e}=await this.getClients();return e.userSearch.findAssignableUsers({issueKey:r,query:i,maxResults:50,recommend:!0})},itemCount:e=>s3(e).length});return await this.linkCacheEntryToIssue(r,a.entryId),s3(a.value).map(oi).filter(e=>null!==e)}async ticketTransitions(e){let t=s8(e),r=await this.cachedCall({operation:"ISSUE_TRANSITIONS",params:{issueKey:t,expand:"transitions.fields"},requestSummary:`Available transitions for ${t}`,fetcher:async()=>{let{version3:e}=await this.getClients();return e.issues.getTransitions({issueIdOrKey:t,expand:"transitions.fields"})},itemCount:e=>s3(s2(e).transitions).length});return await this.linkCacheEntryToIssue(t,r.entryId),s3(s2(r.value).transitions).map(s2).filter(e=>!1!==e.isAvailable).flatMap(e=>{let t=s4(e.id),r=s4(e.name);if(!t||!r)return[];let i=s2(e.to),a=s2(i.statusCategory),n=Object.entries(s2(e.fields)).filter(([,e])=>!0===s2(e).required).map(([e,t])=>s4(s2(t).name)??e);return[{id:t,name:r,toStatusId:s4(i.id),toStatus:s4(i.name)??r,toStatusCategory:s4(a.key)??s4(a.name),hasScreen:!0===e.hasScreen,requiredFields:n}]})}async ticketEditFields(e){let t=s8(e),r=await this.cachedCall({operation:"ISSUE_EDIT_META",params:{issueKey:t},requestSummary:`Editable fields for ${t}`,fetcher:async()=>{let{version3:e}=await this.getClients();return e.issues.getEditIssueMeta({issueIdOrKey:t})},itemCount:e=>Object.keys(s2(s2(e).fields)).length});return await this.linkCacheEntryToIssue(t,r.entryId),Object.entries(s2(s2(r.value).fields)).map(([e,t])=>{let r=s2(t);return{id:e,name:s4(r.name)??e,required:!0===r.required,schemaType:s4(s2(r.schema).type),allowedValues:s3(r.allowedValues).flatMap(e=>{if("string"==typeof e)return[{id:e,name:e}];let t=s2(e),r=s4(t.name)??s4(t.value)??s4(t.displayName)??s4(t.key);return r?[{id:s4(t.id)??s4(t.accountId)??s4(t.value)??r,name:r}]:[]})}}).sort((e,t)=>e.name.localeCompare(t.name))}async ticketChanges(e,t=50,i=0){let a=s8(e),n=this.validatePagination(t,i),s=await this.cachedCall({operation:"ISSUE_CHANGELOG",params:{issueKey:a,startAt:0,maxResults:1},requestSummary:`Changelog count for ${a}`,fetcher:async()=>{let{version3:e}=await this.getClients();return e.issues.getChangeLogs({issueIdOrKey:a,startAt:0,maxResults:1})},itemCount:e=>s3(s2(e).values).length});await this.linkCacheEntryToIssue(a,s.entryId);let o=s6(s2(s.value).total)??0,l=Math.min(n.limit,Math.max(0,o-n.offset)),u=Math.max(0,o-n.offset-l);if(0===l)return{...n,total:o,items:[],cache:oo(s)};let c=await this.cachedCall({operation:"ISSUE_CHANGELOG",params:{issueKey:a,startAt:u,maxResults:l},requestSummary:`Changelog for ${a} from ${u}`,fetcher:async()=>{let{version3:e}=await this.getClients();return e.issues.getChangeLogs({issueIdOrKey:a,startAt:u,maxResults:l})},itemCount:e=>s3(s2(e).values).length});await this.linkCacheEntryToIssue(a,c.entryId);let d=s3(s2(c.value).values).map(s2).reverse().map(e=>({id:s4(e.id)??(0,r.randomUUID)(),author:oi(e.author),createdAt:s4(e.created),items:s3(e.items).map(s2).map(e=>({field:s4(e.field)??"Field",fieldId:s4(e.fieldId),from:s4(e.fromString)??s4(e.from),to:s4(e.toString)??s4(e.to)}))}));return{...n,total:o,items:d,cache:ol([s,c])}}async ticketWorklogs(e,t=50,i=0){let a=s8(e),n=this.validatePagination(t,i),s=await this.cachedCall({operation:"ISSUE_WORKLOGS",params:{issueKey:a,startAt:0,maxResults:1},requestSummary:`Worklog count for ${a}`,fetcher:async()=>{let{version3:e}=await this.getClients();return e.issueWorklogs.getIssueWorklog({issueIdOrKey:a,startAt:0,maxResults:1})},itemCount:e=>s3(s2(e).worklogs).length});await this.linkCacheEntryToIssue(a,s.entryId);let o=s6(s2(s.value).total)??0,l=Math.min(n.limit,Math.max(0,o-n.offset)),u=Math.max(0,o-n.offset-l);if(0===l)return{...n,total:o,items:[],cache:oo(s)};let c=await this.cachedCall({operation:"ISSUE_WORKLOGS",params:{issueKey:a,startAt:u,maxResults:l},requestSummary:`Worklogs for ${a} from ${u}`,fetcher:async()=>{let{version3:e}=await this.getClients();return e.issueWorklogs.getIssueWorklog({issueIdOrKey:a,startAt:u,maxResults:l})},itemCount:e=>s3(s2(e).worklogs).length});await this.linkCacheEntryToIssue(a,c.entryId);let d=await this.requireCredentials(),p=s3(s2(c.value).worklogs).map(s2).reverse().map(e=>({id:s4(e.id)??(0,r.randomUUID)(),author:oi(e.author),comment:sZ(e.comment??null,d.siteUrl),timeSpent:s4(e.timeSpent),timeSpentSeconds:s6(e.timeSpentSeconds),startedAt:s4(e.started),createdAt:s4(e.created),updatedAt:s4(e.updated)})),h=p[0];if(this.workflowEvents&&h){let e={ticket:{key:a},worklog:{id:h.id,author:h.author,timeSpent:h.timeSpent,timeSpentSeconds:h.timeSpentSeconds,startedAt:h.startedAt,updatedAt:h.updatedAt}};await this.workflowEvents.record({kind:"JIRA_WORKLOG_ADDED",subjectKey:a,dedupeKey:`jira-worklog:${a}:${h.id}:${c.fetchedAt}`,payload:{...e,sessionData:e,cursorValue:h.id}})}return{...n,total:o,items:p,cache:ol([s,c])}}async addComment(e,t){let r=s8(e);if(!t.value.trim())throw Error("Comment text is required");let i=sY(t);return this.mutateTicket(r,"ADD_COMMENT",async()=>{let{version3:e}=await this.getClients();await e.issueComments.addComment({issueIdOrKey:r,comment:i})})}async assignTicket(e,t){let r=s8(e),i=t?.trim()||null;return this.mutateTicket(r,"ASSIGN_ISSUE",async()=>{let{version3:e}=await this.getClients();await e.issues.assignIssue({issueIdOrKey:r,accountId:i})})}async transitionTicket(e,t){let r=s8(e),i=(await this.ticketTransitions(r)).find(e=>e.id===t);if(!i)throw Error("The Jira transition is not available");if(i.requiredFields.length>0)throw Error(`This transition requires fields that must be completed in Jira: ${i.requiredFields.join(", ")}`);return this.mutateTicket(r,"TRANSITION_ISSUE",async()=>{let{version3:e}=await this.getClients();await e.issues.doTransition({issueIdOrKey:r,transition:{id:i.id}})})}async transitionTicketToConfiguredDone(e){let t=s8(e),r=t.split("-")[0]??"",i=await (0,tD.getPrismaClient)(),a=await i.jiraProject.findUnique({where:{key:r},select:{doneStatusId:!0}});if(!a?.doneStatusId)throw Error(`Configure a done status for Jira project ${r} before using this option`);let n=await this.ticket(t);if(n.statusId===a.doneStatusId)return n;let s=(await this.ticketTransitions(t)).filter(e=>e.toStatusId===a.doneStatusId).sort((e,t)=>e.requiredFields.length-t.requiredFields.length)[0];if(!s)throw Error("Jira does not currently offer a transition to the configured done status");return this.transitionTicket(t,s.id)}async updateTicket(e){let t=s8(e.issueKey),r=new Map((await this.ticketEditFields(t)).map(e=>[e.id,e])),i={},a=e=>{let t=r.get(e);if(!t)throw Error(`${e} is not editable on this ticket`);return t},n=t=>Object.prototype.hasOwnProperty.call(e,t);if(n("summary")){a("summary");let t=e.summary?.trim();if(!t)throw Error("Ticket summary is required");i.summary=t}if(n("description")){let t=a("description");if(null===e.description){if(t.required)throw Error("Description is required");i.description=null}else e.description&&(i.description=sY(e.description))}if(n("priorityId")){let t=a("priority"),r=e.priorityId?.trim()||null;if(!r&&t.required)throw Error("Priority is required");if(r&&t.allowedValues.length>0&&!t.allowedValues.some(e=>e.id===r))throw Error("The selected priority is not available");i.priority=r?{id:r}:null}n("labels")&&(a("labels"),i.labels=[...new Set((e.labels??[]).map(e=>e.trim()).filter(Boolean))]);let s=(t,r)=>{if(!n(t))return;let s=a(r),o=[...new Set(e[t]??[])];if(s.allowedValues.length>0&&o.some(e=>!s.allowedValues.some(t=>t.id===e)))throw Error(`A selected ${s.name} value is not available`);i[r]=o.map(e=>({id:e}))};if(s("componentIds","components"),s("fixVersionIds","fixVersions"),s("affectedVersionIds","versions"),n("dueDate")){let t=a("duedate"),r=e.dueDate?.trim()||null;if(r&&!/^\d{4}-\d{2}-\d{2}$/.test(r))throw Error("Due date must use YYYY-MM-DD");if(!r&&t.required)throw Error("Due date is required");i.duedate=r}if(0===Object.keys(i).length)throw Error("At least one editable Jira field is required");return this.mutateTicket(t,"EDIT_ISSUE",async()=>{let{version3:e}=await this.getClients();await e.issues.editIssue({issueIdOrKey:t,fields:i})})}async createTicket(e){let t=e.projectKey.trim().toUpperCase(),r=e.issueTypeId.trim(),i=e.summary.trim();if(!t||!r||!i)throw Error("Project, issue type, and summary are required");let{version3:a}=await this.getClients(),n=await a.issues.createIssue({fields:{...e.fields??{},project:{key:t},issuetype:{id:r},summary:i,...e.description?{description:sY(e.description)}:{}}});if(!n.key)throw Error("Jira did not return the created issue key");return this.ticket(n.key,!0)}async addWorklog(e){let t=s8(e.issueKey);if(!Number.isInteger(e.timeSpentSeconds)||e.timeSpentSeconds<1)throw Error("Time spent must be a positive number of seconds");let{version3:r}=await this.getClients();return await r.issueWorklogs.addWorklog({issueIdOrKey:t,timeSpentSeconds:e.timeSpentSeconds,started:e.startedAt??new Date().toISOString(),...e.comment?{comment:sY(e.comment)}:{}}),this.ticket(t,!0)}async linkTickets(e){let t=s8(e.inwardIssueKey),r=s8(e.outwardIssueKey),i=e.linkType.trim();if(!i)throw Error("Jira issue link type is required");let{version3:a}=await this.getClients();return await a.issueLinks.linkIssues({type:{name:i},inwardIssue:{key:t},outwardIssue:{key:r}}),this.ticket(t,!0)}async branchTicket(e){let t=s8(e),r=t.replace(/-\d+$/,""),i=await (0,tD.getPrismaClient)(),a=await i.jiraProject.findUnique({where:{key:r},select:{key:!0,branchNamingScript:!0}});if(!a)throw Error(`Jira project ${r} is not managed; add it in Manage Jira projects and sources`);let n=await this.cachedCall({operation:"ISSUE_BRANCH",params:{issueKey:t,fields:["summary","issuetype","project"]},requestSummary:`Branch details for ${t}`,fetcher:async()=>{let{version3:e}=await this.getClients();return e.issues.getIssue({issueIdOrKey:t,fields:["summary","issuetype","project"],updateHistory:!1})}});await this.linkCacheEntryToIssue(t,n.entryId);let s=s2(n.value.fields);if((s4(s2(s.project).key)??or(n.value))!==a.key)throw Error(`Jira ticket ${t} does not belong to project ${a.key}`);return{ticketKey:n.value.key??t,ticketTitle:s4(s.summary)??t,ticketType:s4(s2(s.issuetype).name),projectKey:a.key,branchNamingScript:a.branchNamingScript??tF}}async clearCache(){let e=await (0,tD.getPrismaClient)();return await e.$transaction([e.jiraCacheEntry.deleteMany(),e.jiraCachedTicket.deleteMany()]),!0}async clearApiCalls(){let e=await (0,tD.getPrismaClient)();return await e.jiraApiCallLog.deleteMany(),!0}async deleteCachedTicket(e){return await this.invalidateIssueCaches(s8(e)),!0}async invalidateIssueCaches(e){let t=await (0,tD.getPrismaClient)(),r=await t.jiraCacheEntryIssue.findMany({where:{issueKey:e},select:{cacheEntryId:!0}});await t.$transaction(async t=>{r.length>0&&await t.jiraCacheEntry.deleteMany({where:{id:{in:r.map(e=>e.cacheEntryId)}}}),await t.jiraCachedTicket.deleteMany({where:{issueKey:e}})})}async refreshCachedTicket(e,t){let r=await (0,tD.getPrismaClient)(),i=await r.jiraCacheEntryIssue.findMany({where:{issueKey:e},select:{cacheEntryId:!0}});return i.length>0&&await r.jiraCacheEntry.deleteMany({where:{id:{in:i.map(e=>e.cacheEntryId)}}}),this.ticket(e,!0,t)}async resolveIssueKeys(e){let t=[...new Set(e.map(e=>e.trim()).filter(Boolean))];if(0===t.length)return[];let{version3:r}=await this.getClients();return[...new Set((await Promise.all(t.map(e=>r.issues.getIssue({issueIdOrKey:e,fields:["key"]})))).map(e=>{let t=s4(e.key);if(!t)throw Error(`Jira issue ${e.id??""} has no key`);return s8(t)}))]}async refreshSprintTickets(e){if(!Number.isSafeInteger(e)||e<=0)throw Error("Invalid Jira sprint ID");let{agile:t}=await this.getClients(),r=[],i=0;for(;r.length<1e3;){let a=Math.min(100,1e3-r.length),n=await t.sprint.getIssuesForSprint({sprintId:e,startAt:i,maxResults:a,fields:["key"]}),s=n.issues??[];r.push(...s.flatMap(e=>{let t=s4(e.key);return t?[s8(t)]:[]}));let o=void 0===n.total?s.length<a:i+s.length>=n.total;if(0===s.length||o)break;i+=s.length}let a=[],n=[...new Set(r)];for(let e=0;e<n.length;e+=5)a.push(...await Promise.all(n.slice(e,e+5).map(e=>this.refreshCachedTicket(e))));return a}async listCachedTickets(e=50,t=0){let r=this.validatePagination(e,t),i=await (0,tD.getPrismaClient)(),[a,n,s]=await Promise.all([i.jiraCachedTicket.findMany({take:r.limit,skip:r.offset,orderBy:{updatedAt:"desc"}}),i.jiraCachedTicket.count(),this.getSettings()]);return{...r,total:n,items:a.map(e=>this.cachedTicketView(e,s.cacheTtlSeconds))}}async cachedTicket(e){let t=await (0,tD.getPrismaClient)(),[r,i]=await Promise.all([t.jiraCachedTicket.findUnique({where:{issueKey:e},include:{cacheEntries:{include:{cacheEntry:!0}}}}),this.getSettings()]);return r?{...this.cachedTicketView(r,i.cacheTtlSeconds),summaryData:s5(r.summaryJson),detailData:s5(r.detailJson),commentsData:s5(r.commentsJson),cacheEntries:r.cacheEntries.map(e=>({id:e.cacheEntry.id,operation:e.cacheEntry.operation,fetchedAt:e.cacheEntry.fetchedAt.toISOString()})).sort((e,t)=>t.fetchedAt.localeCompare(e.fetchedAt))}:null}async listApiCalls(e=50,t=0){let r=this.validatePagination(e,t);await this.pruneLogs();let i=await (0,tD.getPrismaClient)(),[a,n]=await Promise.all([i.jiraApiCallLog.findMany({take:r.limit,skip:r.offset,orderBy:{createdAt:"desc"}}),i.jiraApiCallLog.count()]);return{...r,total:n,items:a.map(e=>({id:e.id,operation:e.operation,requestSummary:e.requestSummary,source:e.source,durationMs:e.durationMs,statusCode:e.statusCode,error:e.error,itemCount:e.itemCount,servedStale:e.servedStale,createdAt:e.createdAt.toISOString()}))}}async cacheMetrics(){await this.pruneLogs();let e=await (0,tD.getPrismaClient)(),t=Date.now(),r=await e.jiraApiCallLog.findMany({where:{createdAt:{gte:new Date(t-s0.at(-1).milliseconds)}},orderBy:{createdAt:"asc"}});return{windows:s0.map(e=>this.metricWindow(e.window,r.filter(r=>r.createdAt.getTime()>=t-e.milliseconds))),operations:[...new Set(r.map(e=>e.operation))].sort().map(e=>({operation:e,windows:s0.map(i=>this.metricWindow(i.window,r.filter(r=>r.operation===e&&r.createdAt.getTime()>=t-i.milliseconds)))}))}}async requireCredentials(){let e=await (0,tD.getPrismaClient)(),t=await e.jiraSettings.findUnique({where:{id:sQ}});if(!t?.siteUrl||!t.email)throw Error("Configure the Jira site, email, and API token in Settings first");let r=await this.credentials.getText(tN.CREDENTIALS.jiraApiToken);if(!r)throw Error("Configure the Jira site, email, and API token in Settings first");return{siteUrl:t.siteUrl,email:t.email,apiToken:r,cacheTtlSeconds:t.cacheTtlSeconds}}async getClients(){let e=await this.requireCredentials(),t=(0,r.createHash)("sha256").update(`${e.siteUrl}\0${e.email}\0${e.apiToken}`).digest("hex");if(this.clients?.key===t)return this.clients;let i={host:e.siteUrl,authentication:{basic:{email:e.email,apiToken:e.apiToken}},baseRequestConfig:{timeout:15e3}};return this.clients={key:t,version3:new tT(i),agile:new q(i)},this.clients}async webhookApiRequest(e,t,r){let i,a=await this.requireCredentials(),n=Buffer.from(`${a.email}:${a.apiToken}`).toString("base64");try{i=await fetch(`${a.siteUrl}${t}`,{method:e,headers:{Accept:"application/json",Authorization:`Basic ${n}`,"Content-Type":"application/json"},body:void 0===r?void 0:JSON.stringify(r),signal:AbortSignal.timeout(15e3)})}catch(e){throw Error(ot(e,a.apiToken))}let s=await i.text();if(!i.ok){let e=s.trim().slice(0,300)||i.statusText;throw Object.assign(Error(ot(`Jira rejected the webhook request with ${i.status}: ${e}`,a.apiToken)),{status:i.status})}if(!s.trim())return null;try{return JSON.parse(s)}catch{return null}}async currentAccountId(){let e=s4(s2((await this.cachedCall({operation:"MYSELF",params:{},requestSummary:"Current Jira user",fetcher:async()=>{let{version3:e}=await this.getClients();return e.myself.getCurrentUser()}})).value).accountId);if(!e)throw Error("Jira did not return the current user ID");return e}async linkCacheEntryToIssue(e,t){let r=await (0,tD.getPrismaClient)();await r.$transaction(async r=>{await r.jiraCachedTicket.upsert({where:{issueKey:e},create:{issueKey:e,projectKey:e.replace(/-\d+$/,"")},update:{}}),await r.jiraCacheEntryIssue.upsert({where:{cacheEntryId_issueKey:{cacheEntryId:t,issueKey:e}},create:{cacheEntryId:t,issueKey:e},update:{}})})}async mutateTicket(e,t,r){let i=await this.requireCredentials(),a=Date.now();try{await r(),await this.logCall({operation:t,requestSummary:`${t.replaceAll("_"," ")} for ${e}`,source:"LIVE",durationMs:Date.now()-a})}catch(n){let r=ot(n,i.apiToken);throw await this.logCall({operation:t,requestSummary:`${t.replaceAll("_"," ")} for ${e}`,source:"ERROR",durationMs:Date.now()-a,statusCode:oe(n),error:r}),Error(r)}await this.invalidateIssueCaches(e);try{return await this.ticket(e,!0)}catch(e){throw Error(`Jira accepted the update, but refreshed ticket details could not be loaded: ${ot(e,i.apiToken)}`)}}cacheKey(e,t,i){return(0,r.createHash)("sha256").update(s7({siteUrl:e,operation:t,params:i})).digest("hex")}async cachedCall(e){let t=await this.requireCredentials(),i=await (0,tD.getPrismaClient)(),a=this.cacheKey(t.siteUrl,e.operation,e.params),n=Date.now(),s=await i.jiraCacheEntry.findUnique({where:{cacheKey:a}}),o=null!==s&&Date.now()-s.fetchedAt.getTime()<1e3*t.cacheTtlSeconds;if(!e.force&&o)return await this.logCall({operation:e.operation,requestSummary:e.requestSummary,source:"CACHE",durationMs:Date.now()-n,itemCount:e.itemCount?.(s5(s.responseJson))??null,sourceId:e.sourceId}),{value:s5(s.responseJson),source:"CACHE",stale:!1,fetchedAt:s.fetchedAt,entryId:s.id};let l=this.inFlight.get(a);if(l){let t=await l;return await this.logCall({operation:e.operation,requestSummary:`${e.requestSummary} (coalesced)`,source:"CACHE",durationMs:Date.now()-n,itemCount:e.itemCount?.(t.value)??null,sourceId:e.sourceId}),{...t,source:"CACHE"}}let u=(async()=>{try{let t=await e.fetcher(),s=new Date,o=await i.jiraCacheEntry.upsert({where:{cacheKey:a},create:{id:(0,r.randomUUID)(),cacheKey:a,operation:e.operation,paramsJson:s7(e.params),responseJson:JSON.stringify(t),fetchedAt:s,sourceId:e.sourceId??null},update:{operation:e.operation,paramsJson:s7(e.params),responseJson:JSON.stringify(t),fetchedAt:s,sourceId:e.sourceId??null}});return await this.logCall({operation:e.operation,requestSummary:e.requestSummary,source:"LIVE",durationMs:Date.now()-n,itemCount:e.itemCount?.(t)??null,sourceId:e.sourceId}),{value:t,source:"LIVE",stale:!1,fetchedAt:s,entryId:o.id}}catch(i){let r=null!==s&&!1!==e.allowStaleOnError;if(await this.logCall({operation:e.operation,requestSummary:e.requestSummary,source:"ERROR",durationMs:Date.now()-n,statusCode:oe(i),error:ot(i,t.apiToken),servedStale:r,sourceId:e.sourceId}),r)return{value:s5(s.responseJson),source:"ERROR",stale:!0,fetchedAt:s.fetchedAt,entryId:s.id};throw Error(ot(i,t.apiToken))}})();this.inFlight.set(a,u);try{return await u}finally{this.inFlight.delete(a)}}async logCall(e){if(!this.recordCallLogs)return;let t=await (0,tD.getPrismaClient)();await t.jiraApiCallLog.create({data:{id:(0,r.randomUUID)(),operation:e.operation,requestSummary:e.requestSummary.slice(0,1e3),source:e.source,durationMs:Math.max(0,Math.round(e.durationMs)),statusCode:e.statusCode??null,error:e.error??null,itemCount:e.itemCount??null,servedStale:e.servedStale??!1,sourceId:e.sourceId??null}})}validateSourceName(e){let t=e.trim();if(!t||t.length>100)throw Error("Source name must be 1 to 100 characters");return t}async validateSource(e,t){let r=t.trim();if(!r)throw Error("BOARD"===e?"Board URL is required":"JQL is required");if("JQL"===e)return await this.cachedCall({operation:"JQL_VALIDATE",params:{jql:r},requestSummary:`Validate JQL: ${r}`,fetcher:async()=>{let{version3:e}=await this.getClients();return e.issueSearch.searchForIssuesUsingJqlEnhancedSearch({jql:r,maxResults:1,fields:["key"],failFast:!0})}}),{value:r,boardId:null};let i=function(e,t){let r=new URL(e.trim());if(r.origin!==new URL(t).origin)throw Error("Board URL must belong to the configured Jira site");let i=r.pathname.match(/\/boards\/(\d+)(?:\/|$)/i),a=r.searchParams.get("rapidView"),n=Number(i?.[1]??a);if(!Number.isSafeInteger(n)||n<=0)throw Error("Board URL must contain a Jira board ID");return{boardId:n,normalizedUrl:r.toString()}}(r,(await this.requireCredentials()).siteUrl);return await this.cachedCall({operation:"BOARD",params:{boardId:i.boardId},requestSummary:`Board ${i.boardId}`,fetcher:async()=>{let{agile:e}=await this.getClients();return e.board.getBoard({boardId:i.boardId})}}),{value:i.normalizedUrl,boardId:i.boardId}}async loadJqlSource(e,t){let r,i=[],a=[],n=[],s=!1;do{let o=Math.min(100,1e3-i.length),l=await this.cachedCall({operation:"JQL_SEARCH",params:{jql:e.value,nextPageToken:r??null,maxResults:o,fields:sX},requestSummary:`JQL ${e.name}${r?" next page":""}`,sourceId:e.id,force:t,fetcher:async()=>{let{version3:t}=await this.getClients();return t.issueSearch.searchForIssuesUsingJqlEnhancedSearch({jql:e.value,nextPageToken:r,maxResults:o,fields:sX})},itemCount:e=>e.issues?.length??0});a.push(l);let u=l.value.issues??[];i.push(...u),n.push(...l.value.warningMessages??[]),"LIVE"===l.source&&await this.storeSummaries(l.entryId,u,l.fetchedAt),r=l.value.nextPageToken,i.length>=1e3&&r&&(s=!0)}while(r&&i.length<1e3)return this.buildBoardResult(i,a,n,s)}async loadBoardSource(e,t){if(!e.boardId)throw Error("Saved board source has no board ID");let r=await this.cachedCall({operation:"BOARD",params:{boardId:e.boardId},requestSummary:`Board ${e.boardId}`,sourceId:e.id,force:t,fetcher:async()=>{let{agile:t}=await this.getClients();return t.board.getBoard({boardId:e.boardId})}}),i=await this.cachedCall({operation:"BOARD_CONFIGURATION",params:{boardId:e.boardId},requestSummary:`Board ${e.boardId} configuration`,sourceId:e.id,force:t,fetcher:async()=>{let{agile:t}=await this.getClients();return t.board.getConfiguration({boardId:e.boardId})}}),a=[r,i],n=[],s=[],o=!1;if("scrum"===(s4(r.value.type)??"").toLowerCase()){let r=await this.cachedCall({operation:"SPRINTS",params:{boardId:e.boardId,state:"active"},requestSummary:`Active sprints for board ${e.boardId}`,sourceId:e.id,force:t,fetcher:async()=>{let{agile:t}=await this.getClients();return t.board.getAllSprints({boardId:e.boardId,state:"active",startAt:0,maxResults:100})},itemCount:e=>s3(e.values).length});a.push(r);let i=s3(r.value.values).map(s2);for(let r of(0===i.length&&s.push("This Scrum board has no active sprint."),i)){let i=s6(r.id);if(!i||n.length>=1e3)continue;let l=await this.loadAgileIssues("SPRINT_ISSUES",e,t,(e,t)=>({sprintId:i,startAt:e,maxResults:t,fields:sX}),async e=>{let{agile:t}=await this.getClients();return t.sprint.getIssuesForSprint(e)},n.length);n.push(...l.issues),a.push(...l.results),s.push(...l.warnings),o||=l.truncated}}else{let r=await this.loadAgileIssues("BOARD_ISSUES",e,t,(t,r)=>({boardId:e.boardId,startAt:t,maxResults:r,fields:sX}),async e=>{let{agile:t}=await this.getClients();return t.board.getIssuesForBoard(e)},0);n.push(...r.issues),a.push(...r.results),s.push(...r.warnings),o=r.truncated}let l=[...new Map(n.map(e=>[e.key??e.id,e])).values()],u=new Map;return s3(s2(i.value.columnConfig).columns).map(s2).forEach((e,t)=>{s3(e.statuses).map(s2).forEach(e=>{let r=s4(e.id);r&&u.set(r,t)})}),this.buildBoardResult(l,a,s,o,u)}async loadAgileIssues(e,t,r,i,a,n){let s=[],o=[],l=[],u=0,c=1/0,d=!1;for(;u<c&&s.length+n<1e3;){let d=i(u,Math.min(100,1e3-n-s.length)),p=await this.cachedCall({operation:e,params:d,requestSummary:`${e.replaceAll("_"," ")} from ${u}`,sourceId:t.id,force:r,fetcher:()=>a(d),itemCount:e=>e.issues?.length??0});o.push(p);let h=p.value.issues??[];if(s.push(...h),l.push(...p.value.warningMessages??[]),"LIVE"===p.source&&await this.storeSummaries(p.entryId,h,p.fetchedAt),c=p.value.total??s.length,0===h.length)break;u+=h.length}return s.length+n>=1e3&&u<c&&(d=!0),{issues:s,results:o,warnings:l,truncated:d}}buildBoardResult(e,t,r,i,a){let n=e.slice(0,1e3).map(ou),s=[...new Map(n.map(e=>[e.status,e])).values()];return s.sort((e,t)=>{let r=a?.get(e.statusId),i=a?.get(t.statusId);return void 0!==r||void 0!==i?(r??Number.MAX_SAFE_INTEGER)-(i??Number.MAX_SAFE_INTEGER):oc(e.statusCategory)-oc(t.statusCategory)||e.status.localeCompare(t.status)}),{tickets:n,statusOrder:s.map(e=>e.status),cache:ol(t),truncated:i,warnings:[...new Set(r)]}}async storeSummaries(e,t,r){let i=await (0,tD.getPrismaClient)();await i.$transaction(async i=>{for(let e of t)e.key&&await i.jiraCachedTicket.upsert({where:{issueKey:e.key},create:{issueKey:e.key,projectKey:or(e),summaryJson:JSON.stringify(e),summaryFetchedAt:r},update:{projectKey:or(e),summaryJson:JSON.stringify(e),summaryFetchedAt:r}});await i.jiraCacheEntryIssue.deleteMany({where:{cacheEntryId:e}});let a=[...new Set(t.map(e=>e.key).filter(Boolean))];a.length>0&&await i.jiraCacheEntryIssue.createMany({data:a.map(t=>({cacheEntryId:e,issueKey:t}))})})}async storeDetail(e,t,r){if(!t.key)throw Error("Jira detail response did not include an issue key");let i=await (0,tD.getPrismaClient)();await i.$transaction(async i=>{await i.jiraCachedTicket.upsert({where:{issueKey:t.key},create:{issueKey:t.key,projectKey:or(t),detailJson:JSON.stringify(t),detailFetchedAt:r},update:{projectKey:or(t),detailJson:JSON.stringify(t),detailFetchedAt:r}}),await i.jiraCacheEntryIssue.upsert({where:{cacheEntryId_issueKey:{cacheEntryId:e,issueKey:t.key}},create:{cacheEntryId:e,issueKey:t.key},update:{}})})}async storeComments(e,t,r,i){let a=await (0,tD.getPrismaClient)();await a.$transaction(async a=>{for(let n of(await a.jiraCachedTicket.upsert({where:{issueKey:e},create:{issueKey:e,projectKey:e.split("-")[0]??"UNKNOWN",commentsJson:JSON.stringify(t),commentsFetchedAt:r},update:{commentsJson:JSON.stringify(t),commentsFetchedAt:r}}),i))await a.jiraCacheEntryIssue.upsert({where:{cacheEntryId_issueKey:{cacheEntryId:n,issueKey:e}},create:{cacheEntryId:n,issueKey:e},update:{}})})}normalizeTicketDetail(e,t,i,a,n){let s=ou(e),o=s2(e.fields),l=s2(e.names),u=s2(e.schema),c=[];for(let e of s3(o.issuelinks).map(s2)){let t=s2(e.type),r=on(e.outwardIssue,s4(t.outward)??"relates to"),i=on(e.inwardIssue,s4(t.inward)??"relates to");r&&c.push(r),i&&c.push(i)}let d=on(o.parent,"parent"),p=s3(o.subtasks).map(e=>on(e,"subtask")).filter(e=>null!==e),h=s3(o.sprint).map(s2),m=s3(o.closedSprints).map(s2),f=h.filter(e=>{let t=s4(e.state)?.toLowerCase();return!t||"active"===t}).map(e=>s4(e.name)).filter(e=>!!e),g=m.concat(h.filter(e=>s4(e.state)?.toLowerCase()==="closed")).map(e=>s4(e.name)).filter(e=>!!e),y=f.concat(g),w=t.map(s2).map(e=>({id:s4(e.id)??(0,r.randomUUID)(),author:oi(e.author),body:e.body??null,content:sZ(e.body??null,i),createdAt:s4(e.created),updatedAt:s4(e.updated)}));return{...s,jiraUrl:`${i}/browse/${s.key}`,description:o.description??null,descriptionContent:sZ(o.description??null,i),reporter:oi(o.reporter),creator:oi(o.creator),labels:s3(o.labels).filter(e=>"string"==typeof e),components:oa(o.components),fixVersions:oa(o.fixVersions),affectedVersions:oa(o.versions),sprintNames:[...new Set(y)],activeSprintNames:[...new Set(f)],closedSprintNames:[...new Set(g)],parent:d,subtasks:p,issueLinks:c,attachments:s3(o.attachment).map(s2).map(e=>({id:s4(e.id)??(0,r.randomUUID)(),filename:s4(e.filename)??"Attachment",contentUrl:s4(e.content),mimeType:s4(e.mimeType),size:s6(e.size),author:oi(e.author),createdAt:s4(e.created)})),comments:w,createdAt:s4(o.created),dueAt:s4(o.duedate),resolvedAt:s4(o.resolutiondate),timeTracking:o.timetracking??null,allFields:Object.entries(o).map(([e,t])=>{let r=s2(u[e]),a="string"==typeof t||s1(t)&&"doc"===t.type?sZ(t,i):null;return{id:e,name:s4(l[e])??e,schemaType:s4(r.type),custom:!0===r.custom||e.startsWith("customfield_"),value:t??null,content:a}}).sort((e,t)=>e.name.localeCompare(t.name)),cache:a,commentsCache:n}}cachedTicketView(e,t){let r=ou(s2(s5(e.detailJson)??s5(e.summaryJson))),i=e.detailJson&&e.commentsJson?"FULL":e.detailJson?"DETAIL":"SUMMARY",a=[e.summaryFetchedAt,e.detailFetchedAt,e.commentsFetchedAt].filter(e=>null!==e).some(e=>Date.now()-e.getTime()>=1e3*t);return{issueKey:e.issueKey,projectKey:e.projectKey,summary:r.summary,status:"Unknown"===r.status?null:r.status,coverage:i,stale:a,summaryFetchedAt:e.summaryFetchedAt?.toISOString()??null,detailFetchedAt:e.detailFetchedAt?.toISOString()??null,commentsFetchedAt:e.commentsFetchedAt?.toISOString()??null,updatedAt:e.updatedAt.toISOString()}}validatePagination(e,t){if(!Number.isInteger(e)||e<1||e>100)throw Error("Pagination limit must be from 1 to 100");if(!Number.isInteger(t)||t<0)throw Error("Pagination offset must be non-negative");return{limit:e,offset:t}}metricWindow(e,t){return{window:e,total:t.length,live:t.filter(e=>"LIVE"===e.source).length,cache:t.filter(e=>"CACHE"===e.source).length,errors:t.filter(e=>"ERROR"===e.source).length,averageMs:0===t.length?0:Math.round(t.reduce((e,t)=>e+t.durationMs,0)/t.length)}}async pruneLogs(){let e=Date.now();if(e-this.lastPrunedAt<36e5)return;this.lastPrunedAt=e;let t=await (0,tD.getPrismaClient)();await t.jiraApiCallLog.deleteMany({where:{createdAt:{lt:new Date(e-2592e6)}}})}}],126223);var oh=e.i(661983);let om="default",of=/^[A-Z][A-Z0-9_]*-\d+$/,og=new Set(["jira:issue_created","jira:issue_updated","comment_created","comment_updated","comment_deleted","worklog_created","worklog_updated","worklog_deleted","jira:worklog_updated","attachment_created","attachment_deleted","issuelink_created","issuelink_deleted","sprint_started","sprint_closed"]),oy={"jira:issue_created":"JIRA_ISSUE_CREATED","jira:issue_deleted":"JIRA_ISSUE_DELETED",comment_created:"JIRA_ISSUE_COMMAND",attachment_created:"JIRA_ATTACHMENT_ADDED",issuelink_created:"JIRA_ISSUE_LINKED"},ow="/api/public/jira/webhook",ob="/rest/webhooks/1.0/webhook",ov=new Set(["localhost","0.0.0.0","::1","[::1]",""]),ok=["jira:issue_created","jira:issue_updated","jira:issue_deleted","comment_created","worklog_created","attachment_created","issuelink_created","sprint_started","sprint_closed"];class oS extends Error{httpStatus;constructor(e,t){super(e),this.httpStatus=t,this.name="JiraWebhookRequestError"}}function oE(e){return"string"==typeof e&&e.trim()?e.trim():null}function oI(e){return"string"==typeof e?e.length?e:null:"number"==typeof e||"boolean"==typeof e?String(e):null}function ox(e){let t=oA(e);if(!t)return null;let r=Array.isArray(t.items)?t.items:[];return{id:oI(t.id),items:r.map(oA).filter(e=>null!==e).map(e=>({field:oE(e.field)??oE(e.fieldId)??"Field",fieldId:oE(e.fieldId),fieldType:oE(e.fieldtype)??oE(e.fieldType),from:oI(e.from),fromString:oI(e.fromString),to:oI(e.to),toString:oI(e.toString)}))}}function oA(e){return"object"!=typeof e||null===e||Array.isArray(e)?null:e}function o_(e){return"object"==typeof e&&null!==e&&"status"in e&&"number"==typeof e.status?e.status:null}function oC(e){let t=oA(e);return t?{accountId:oE(t.accountId),displayName:oE(t.displayName)}:null}function oR(e){return{deliveryId:e.deliveryId,event:e.event,issueKey:e.issueKey,projectKey:e.projectKey,changelog:function(e){if(!e)return null;try{return ox(JSON.parse(e))}catch{return null}}(e.changelogJson),retryCount:e.retryCount,outcome:e.outcome,error:e.error,receivedAt:e.receivedAt.toISOString(),processedAt:e.processedAt?.toISOString()??null}}e.s(["JiraWebhookRequestError",0,oS,"JiraWebhookService",0,class{jira;credentials;workflowEvents;constructor(e,t,r){this.jira=e,this.credentials=t,this.workflowEvents=r}async webhooksEnabled(){let e=await (0,tD.getPrismaClient)(),t=await e.jiraSettings.findUnique({where:{id:om},select:{webhookEnabled:!0}});return!!t?.webhookEnabled&&this.credentials.isConfigured(tN.CREDENTIALS.jiraWebhookSecret)}async getWebhookSettings(){let e=await (0,tD.getPrismaClient)(),[t,r,i]=await Promise.all([e.jiraSettings.upsert({where:{id:om},create:{id:om},update:{}}),this.credentials.isConfigured(tN.CREDENTIALS.jiraWebhookSecret),e.jiraWebhookDelivery.findFirst({orderBy:[{receivedAt:"desc"},{deliveryId:"desc"}]})]);return{enabled:t.webhookEnabled&&r,secretConfigured:r,registered:!!t.webhookId,registrationId:t.webhookId??null,registeredUrl:t.webhookUrl??null,jql:t.webhookJql??null,configuredAt:t.webhookConfiguredAt?.toISOString()??null,lastReceivedAt:i?.receivedAt.toISOString()??null,lastOutcome:i?.outcome??null,lastError:i?.error??null}}async enableWebhook(){let e=(0,r.randomBytes)(32).toString("base64url");return await this.credentials.setText(tN.CREDENTIALS.jiraWebhookSecret,e,async e=>{await e.jiraSettings.upsert({where:{id:om},create:{id:om,webhookEnabled:!0,webhookConfiguredAt:new Date},update:{webhookEnabled:!0,webhookConfiguredAt:new Date}})}),{settings:await this.getWebhookSettings(),secret:e}}async registerWebhook(e){let t=function(e){let t;try{t=new URL(e.trim())}catch{throw Error("Enter the public URL of this server")}if("https:"!==t.protocol&&"http:"!==t.protocol)throw Error("The webhook URL must use HTTP or HTTPS");if(t.username||t.password||t.search||t.hash)throw Error("The webhook URL must not include credentials, query, or fragment");let r=t.hostname.toLowerCase().replace(/^\[|\]$/g,"");if(ov.has(r)||r.endsWith(".local")||r.endsWith(".localhost")||/^127\./.test(r)||/^10\./.test(r)||/^192\.168\./.test(r)||/^172\.(1[6-9]|2\d|3[01])\./.test(r))throw Error(`Jira cannot reach ${t.host}. Expose this server publicly, or set PUBLIC_BASE_URL to its public address.`);let i=t.pathname.replace(/\/+$/,"");if(!i)return`${t.origin}${ow}`;if(i.endsWith(ow))return`${t.origin}${i}`;throw Error(`The webhook URL must end with ${ow}`)}(e.url),i=e.jql?.trim()||null,a=(0,r.randomBytes)(32).toString("base64url"),n=await (0,tD.getPrismaClient)(),s=await n.jiraSettings.findUnique({where:{id:om},select:{webhookId:!0}}),o=await this.writeToJira({webhookId:s?.webhookId??null,url:t,jql:i,secret:a});return await this.credentials.setText(tN.CREDENTIALS.jiraWebhookSecret,a,async e=>{await e.jiraSettings.upsert({where:{id:om},create:{id:om,webhookEnabled:!0,webhookConfiguredAt:new Date,webhookId:o,webhookUrl:t,webhookJql:i},update:{webhookEnabled:!0,webhookConfiguredAt:new Date,webhookId:o,webhookUrl:t,webhookJql:i}})}),{settings:await this.getWebhookSettings(),secret:a}}async rotateSecret(){if(!await this.credentials.isConfigured(tN.CREDENTIALS.jiraWebhookSecret))throw Error("The Jira webhook is not configured");let e=await (0,tD.getPrismaClient)(),t=await e.jiraSettings.findUnique({where:{id:om},select:{webhookId:!0,webhookUrl:!0,webhookJql:!0}});return t?.webhookId&&t.webhookUrl?this.registerWebhook({url:t.webhookUrl,jql:t.webhookJql}):this.enableWebhook()}async disableWebhook(){let e=await (0,tD.getPrismaClient)(),t=await e.jiraSettings.findUnique({where:{id:om},select:{webhookId:!0}});return t?.webhookId&&await this.deleteFromJira(t.webhookId),await this.credentials.delete(tN.CREDENTIALS.jiraWebhookSecret,async e=>{await e.jiraSettings.upsert({where:{id:om},create:{id:om},update:{webhookEnabled:!1,webhookConfiguredAt:null,webhookId:null,webhookUrl:null,webhookJql:null}})}),this.getWebhookSettings()}async writeToJira(e){let t,r,i={name:"AI Development Environment",description:"Registered by AI Development Environment. Drives Jira workflow triggers and live ticket updates.",url:e.url,events:[...ok],excludeBody:!1,secret:e.secret,...e.jql?{filters:{"issue-related-events-section":e.jql}}:{}};if(e.webhookId){let t=`${ob}/${encodeURIComponent(e.webhookId)}`;try{return await this.jira.webhookApiRequest("PUT",t,i),e.webhookId}catch(e){if(404!==o_(e))throw e}}let a=await this.jira.webhookApiRequest("POST",ob,i),n=(t=oE(a?.self),(r=t?.match(/\/webhook\/([^/]+)\/?$/)?.[1])?decodeURIComponent(r):null);if(!n)throw Error("Jira did not return the ID of the new webhook");return n}async deleteFromJira(e){try{await this.jira.webhookApiRequest("DELETE",`${ob}/${encodeURIComponent(e)}`)}catch(e){if(404!==o_(e))throw e}}async deliveries(e=50,t=0){if(!Number.isInteger(e)||e<1||e>100)throw Error("Limit must be an integer from 1 to 100");if(!Number.isInteger(t)||t<0)throw Error("Offset must be a non-negative integer");let r=await this.webhooksEnabled();if(!r)return{enabled:r,items:[],total:0,limit:e,offset:t};let i=await (0,tD.getPrismaClient)(),[a,n]=await Promise.all([i.jiraWebhookDelivery.findMany({orderBy:[{receivedAt:"desc"},{deliveryId:"desc"}],take:e,skip:t}),i.jiraWebhookDelivery.count()]);return{enabled:r,items:a.map(oR),total:n,limit:e,offset:t}}async clearDeliveries(){let e=await (0,tD.getPrismaClient)();return await e.jiraWebhookDelivery.deleteMany(),!0}async prune(){let e=await (0,tD.getPrismaClient)();await e.jiraWebhookDelivery.deleteMany({where:{receivedAt:{lt:new Date(Date.now()-2592e6)}}})}async handleWebhook(e){var t,i,a,n,s,o;let l,u,c=await this.credentials.getText(tN.CREDENTIALS.jiraWebhookSecret);if(!c)throw new oS("Jira webhook is not configured",503);if(!e.signature?.startsWith("sha256="))throw new oS("Jira webhook signature is missing",401);if(t=`sha256=${(0,r.createHmac)("sha256",c).update(e.body).digest("hex")}`,i=e.signature,l=Buffer.from(t),u=Buffer.from(i),!(l.length===u.length&&(0,r.timingSafeEqual)(l,u)))throw new oS("Jira webhook signature is invalid",401);if(!e.deliveryId?.trim())throw new oS("Jira delivery ID is missing",400);let d=await (0,tD.getPrismaClient)(),p=e.deliveryId.trim(),h=Number.parseInt(e.retryCount??"",10),m=Number.isInteger(h)?h:null;try{await d.jiraWebhookDelivery.create({data:{deliveryId:p,event:"unknown",outcome:"RECEIVED",retryCount:m}})}catch(e){if(!("object"==typeof e&&null!==e&&"code"in e&&"P2002"===e.code))throw e;if(0===(await d.jiraWebhookDelivery.updateMany({where:{deliveryId:p,outcome:{notIn:["PROCESSED","IGNORED"]}},data:{event:"unknown",issueKey:null,projectKey:null,changelogJson:null,retryCount:m,outcome:"RECEIVED",error:null,receivedAt:new Date,processedAt:null}})).count)return await this.prune().catch(()=>void 0),{outcome:"DUPLICATE",event:null,issueKey:null,triggersRecorded:0}}let f=async(e,t=null)=>{let r=await d.jiraWebhookDelivery.update({where:{deliveryId:p},data:{outcome:e,error:t,processedAt:new Date}});oh.agentEventBus.publish(oh.JIRA_WEBHOOK_DELIVERY_TOPIC,{jiraWebhookDeliveryChanged:oR(r)})};try{let t,r,i,l,u,c;try{let r=JSON.parse(Buffer.from(e.body).toString("utf8")),i=oA(r);if(!i)throw Error("Payload is not an object");t=i}catch{throw new oS("Jira webhook payload is invalid JSON",400)}let h=oE(t.webhookEvent),g=(a=t,r=oA(a.issue),(i=oE(r?.key)?.toUpperCase()??null)&&of.test(i)?i:null),y=(n=t,l=oA(n.issue),u=oA(l?.fields),c=oA(u?.project)??oA(n.project),oE(c?.key)?.toUpperCase()??null),w=ox(t.changelog);if(await d.jiraWebhookDelivery.update({where:{deliveryId:p},data:{event:h??"unknown",issueKey:g,projectKey:y,changelogJson:w?JSON.stringify(w):null}}),!h)return await f("IGNORED","Payload has no webhookEvent"),{outcome:"IGNORED",event:h,issueKey:g,triggersRecorded:0};if(!(og.has(h)||"jira:issue_deleted"===h))return await f("IGNORED",`Unhandled Jira event ${h}`),{outcome:"IGNORED",event:h,issueKey:g,triggersRecorded:0};let b=g?[g]:[];if("issuelink_created"===h||"issuelink_deleted"===h){let e,r,i=(s=t,e=oA(s.issueLink),[oI(e?.sourceIssueId),oI(e?.destinationIssueId)].filter((e,t,r)=>!!(e&&r.indexOf(e)===t)));if(0===i.length)return await f("IGNORED","Payload has no issue-link issue IDs"),{outcome:"IGNORED",event:h,issueKey:g,triggersRecorded:0};y=(g=(b=await this.jira.resolveIssueKeys(i))[0]??null)?y??((r=(o=g).lastIndexOf("-"))>0?o.slice(0,r):null):y,await d.jiraWebhookDelivery.update({where:{deliveryId:p},data:{issueKey:g,projectKey:y}})}let v="sprint_started"===h||"sprint_closed"===h;if(!v&&!g)return await f("IGNORED","Payload has no issue key"),{outcome:"IGNORED",event:h,issueKey:g,triggersRecorded:0};let k=[];if("jira:issue_deleted"===h)await this.jira.deleteCachedTicket(g),k.push({key:g,projectKey:y});else if(v){let e=function(e){let t=oI(oA(e.sprint)?.id);if(!t)return null;let r=Number(t);return Number.isSafeInteger(r)&&r>0?r:null}(t);if(!e)return await f("IGNORED","Payload has no valid sprint ID"),{outcome:"IGNORED",event:h,issueKey:g,triggersRecorded:0};let r=await this.jira.refreshSprintTickets(e);k.push(...r.map(e=>({key:e.key,projectKey:e.projectKey})))}else if("jira:issue_updated"===h){let e=await this.jira.refreshCachedTicket(g,w);k.push({key:e.key,projectKey:e.projectKey})}else if(og.has(h)){let e=await Promise.all(b.map(e=>this.jira.refreshCachedTicket(e)));k.push(...e.map(e=>({key:e.key,projectKey:e.projectKey})))}let S=g?await this.recordWebhookTrigger({event:h,deliveryId:p,issueKey:g,projectKey:y,retries:m,payload:t}):0;for(let e of k)oh.agentEventBus.publish(oh.JIRA_TICKET_CHANGED_TOPIC,{jiraTicketChanged:{issueKey:e.key,projectKey:e.projectKey,event:h}});return await f("PROCESSED"),{outcome:"PROCESSED",event:h,issueKey:g,triggersRecorded:S}}catch(t){let e=t instanceof Error?t.message:String(t);throw await f("ERROR",e),t}finally{await this.prune().catch(()=>void 0)}}async recordWebhookTrigger(e){if(!this.workflowEvents)return 0;let t=oy[e.event];if(!t)return 0;let{payload:r}=e,i=oA(r.issue),a=oA(i?.fields),n=oA(r.comment),s=oA(r.attachment),o=oA(r.issueLink),l=oA(a?.status),u=ox(r.changelog),c={ticket:{key:e.issueKey,title:oE(a?.summary),type:oE(oA(a?.issuetype)?.name),status:oE(l?.name),statusId:oE(l?.id),statusCategory:oE(oA(l?.statusCategory)?.key),assignee:oE(oA(a?.assignee)?.displayName),assigneeAccountId:oE(oA(a?.assignee)?.accountId),labels:Array.isArray(a?.labels)?a.labels:[],projectKey:e.projectKey,url:null},comment:n?{id:oE(n.id),body:oE(n.body)??"",author:oC(n.author)}:null,attachment:s?{id:oE(s.id),filename:oE(s.filename),mimeType:oE(s.mimeType),author:oC(s.author)}:null,link:o?{id:oE(o.id),type:oE(oA(o.issueLinkType)?.name),sourceIssueId:oE(o.sourceIssueId),destinationIssueId:oE(o.destinationIssueId)}:null,user:oC(r.user),changelog:u};return+!!await this.workflowEvents.record({kind:t,subjectKey:e.issueKey,dedupeKey:`jira-webhook-trigger:${e.deliveryId}:${t}`,payload:{...c,sessionData:c,cursorValue:`${e.deliveryId}:${t}`,webhook:{event:e.event,deliveryId:e.deliveryId,retryCount:e.retries}}})}},"subscribeJiraTicketChanges",0,function(){return oh.agentEventBus.iterate(oh.JIRA_TICKET_CHANGED_TOPIC)},"subscribeJiraWebhookDeliveries",0,function(){return oh.agentEventBus.iterate(oh.JIRA_WEBHOOK_DELIVERY_TOPIC)}],642983),e.s([],151666)},984179,e=>{"use strict";let t=new Set(["QUEUED","PREPARING","RUNNING"]);e.s(["buildOutOfDate",0,function(e){let r;if(t.has(e.status)||!e.worktree||(e.worktree._count?.builds??0)>0||e.finishedAt&&(!e.worktree.lastCheckedAt||e.worktree.lastCheckedAt<e.finishedAt))return!1;try{r=JSON.parse(e.snapshotJson)}catch{return!1}if(!r||"object"!=typeof r||Array.isArray(r))return!1;let i=r.worktree;if(!i||"object"!=typeof i||Array.isArray(i))return!1;if("string"==typeof i.codeStateHash&&e.worktree.codeStateHash)return i.codeStateHash!==e.worktree.codeStateHash;if("string"==typeof i.headSha&&e.worktree.headSha!==i.headSha)return!0;if("boolean"==typeof i.hasStagedChanges){if(i.hasStagedChanges!==e.worktree.hasStagedChanges)return!0}else if(e.worktree.hasStagedChanges)return!0;return"boolean"==typeof i.hasUnstagedChanges?i.hasUnstagedChanges!==e.worktree.hasUnstagedChanges:e.worktree.hasUnstagedChanges}])},396763,504173,518733,925991,e=>{"use strict";var t=e.i(666680),r=e.i(885418),i=e.i(243783);e.i(805422);var a=e.i(694355),n=e.i(661983),s=e.i(750227),o=e.i(184015),l=e.i(119909),u=e.i(988349),c=e.i(497800),d=e.i(835544),p=e.i(499162);e.i(107058);var h=e.i(963910);e.i(151666);var m=e.i(468399),f=e.i(984179);let g="default",y=["QUEUED","RUNNING"],w=["PUSHING","CHECKING_OUT","AWAITING_STASH","CLEANING_UP"],b=["gray","stone","red","rose","orange","amber","yellow","lime","green","emerald","teal","cyan","sky","blue","indigo","violet","purple","fuchsia","pink"],v={codebase:{include:{agent:!0,repository:{include:{projects:{where:{type:"IOS_APP"},include:{configurations:{select:{id:!0}}}}}},jobs:{where:{status:{in:y}},orderBy:{createdAt:"desc"},take:1}}},tags:{include:{tag:!0}},builds:{orderBy:{createdAt:"desc"},take:1,select:{id:!0,status:!0,action:!0,destinationType:!0,destinationJson:!0,snapshotJson:!0,createdAt:!0,finishedAt:!0,artifacts:{select:{id:!0,kind:!0}}}},autoSync:!0,autoMerge:!0,pullRequest:!0,_count:{select:{builds:{where:{status:{in:["QUEUED","PREPARING","RUNNING"]}}}}}};function k(e){return null!==e.lastSeenAt&&Date.now()-e.lastSeenAt.getTime()<=(0,a.agentOnlineWindowMs)(e)&&null===e.disconnectedAt}function S(e){try{let t=JSON.parse(e.capabilitiesJson);return Array.isArray(t)?t.filter(e=>"string"==typeof e):[]}catch{return[]}}function E(e){try{let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>"string"==typeof e):[]}catch{return[]}}function I(e,t){if(!e||!t)return null;try{let r=RegExp(t,"i").exec(e),i=(r?.[1]??r?.[0])?.trim();return i?i.toUpperCase():null}catch{return null}}function x(e,t){return{id:e.githubId,number:e.number,title:e.title,url:e.url,repositoryGithubId:e.repositoryGithubId,repositoryNameWithOwner:e.repositoryNameWithOwner,repositoryUrl:e.repositoryUrl,labels:function(e){try{let t=JSON.parse(e);return Array.isArray(t)?t:[]}catch{return[]}}(e.labelsJson),jiraKey:e.jiraKey,pipelineStatus:t?.pipelineStatus??"NONE",pipelines:t?.pipelines??[],pipelineRevision:t?.revision??0,reviewDecision:e.reviewDecision,unresolvedReviewThreadCount:e.unresolvedReviewThreadCount,state:e.state,isDraft:e.isDraft,mergeable:e.mergeable,mergeStateStatus:e.mergeStateStatus,autoMergeEnabled:e.autoMergeEnabled,viewerCanEnableAutoMerge:e.viewerCanEnableAutoMerge,viewerCanDisableAutoMerge:e.viewerCanDisableAutoMerge,headRefOid:e.headRefOid,headRefName:e.headRefName,worktreeId:e.worktreeId,worktreeHighlightColor:null,createdAt:e.githubCreatedAt.toISOString()}}function A(e){return{reviewDecision:e.reviewDecision,unresolvedReviewThreadCount:e.unresolvedReviewThreadCount,state:e.state,isDraft:e.isDraft,mergeable:e.mergeable,mergeStateStatus:e.mergeStateStatus,autoMergeEnabled:e.autoMergeEnabled,viewerCanEnableAutoMerge:e.viewerCanEnableAutoMerge,viewerCanDisableAutoMerge:e.viewerCanDisableAutoMerge,headRefOid:e.headRefOid}}function _(e){return/^[A-Za-z]:[\\/]/.test(e)||e.startsWith("\\\\")}function C(e,t){if(!t)return e;let r=_(t);if(r!==_(e))return e;let i=r?s.win32:s.posix,a=i.relative(t,e);return i.isAbsolute(a)||".."===a||a.startsWith(`..${i.sep}`)?e:a||"."}function R(e){if("SUCCEEDED"!==e.status||!e.resultJson)throw Error(e.error||"Worktree job failed");let t=JSON.parse(e.resultJson);if(!t||"object"!=typeof t||Array.isArray(t))throw Error("Worktree job returned an invalid result");return t}function T(e,t,r){if(!t||!e.has(t))return;let i=e.get(t);i.some(e=>e.kind===r.kind&&e.id===r.id)||i.push(r)}async function D(e){let t=[...new Set(e.filter(Boolean))],r=new Map(t.map(e=>[e,[]]));if(!t.length)return r;let a=await (0,i.getPrismaClient)(),[n,s,o,l]=await Promise.all([a.build.findMany({where:{worktreeId:{in:t},OR:[{status:{in:["PREPARING","RUNNING"]}},{status:"QUEUED",job:{status:"RUNNING"}}]},select:{id:!0,worktreeId:!0}}),a.agentRun.findMany({where:{worktreeId:{in:t},attempts:{some:{status:{in:["STARTING","RUNNING"]},supersededAt:null}}},select:{id:!0,kind:!0,displayNumber:!0,worktreeId:!0}}),a.workflowStepAttempt.findMany({where:{status:"RUNNING",supersededAt:null},select:{id:!0,run:{select:{id:!0,displayNumber:!0,sessionDataJson:!0}}}}),a.agentJob.findMany({where:{worktreeId:{in:t},status:"RUNNING",kind:{startsWith:"workflow."}},select:{id:!0,worktreeId:!0}})]);for(let e of n)T(r,e.worktreeId,{kind:"BUILD",id:e.id,label:"Build",href:`/builds/${encodeURIComponent(e.id)}`});for(let e of s){let t="PLAN"===e.kind?"PLAN":"SESSION";T(r,e.worktreeId,{kind:t,id:e.id,label:`${"PLAN"===t?"Plan":"Session"} #${e.displayNumber}`,href:`/${"PLAN"===t?"plans":"sessions"}/${encodeURIComponent(e.id)}`})}for(let e of o)T(r,function(e){try{let t=JSON.parse(e);if(!t||"object"!=typeof t||Array.isArray(t))return null;let r=t.worktree;if(!r||"object"!=typeof r||Array.isArray(r))return null;let i=r.id;return"string"==typeof i&&i?i:null}catch{return null}}(e.run.sessionDataJson),{kind:"WORKFLOW",id:e.run.id,label:`Workflow run #${e.run.displayNumber}`,href:`/workflows/runs/${encodeURIComponent(e.run.id)}`});for(let e of l)T(r,e.worktreeId,{kind:"WORKFLOW_JOB",id:e.id,label:"Workflow terminal job",href:`/jobs/${encodeURIComponent(e.id)}`});return r}e.s(["WorktreesService",0,class{agentControl;jiraService;gitHubService;skillsService;workflowEvents;pipelineStatus;watchDemand;constructor(e,t,r,i,a,n=new h.GitHubPipelineStatusService){this.agentControl=e,this.jiraService=t,this.gitHubService=r,this.skillsService=i,this.workflowEvents=a,this.pipelineStatus=n,this.watchDemand=new Map,this.agentControl.registerCompletionHandler(l.WORKTREE_OPERATION_JOB_KIND,e=>this.projectOperation(e)),this.agentControl.registerCompletionHandler(l.WORKTREE_AUTO_SYNC_JOB_KIND,e=>this.projectOperation(e)),this.agentControl.registerCompletionHandler(l.WORKTREE_GIT_OPERATION_JOB_KIND,e=>this.projectOperation(e)),this.agentControl.registerCompletionHandler(l.WORKTREE_BRANCH_JOB_KIND,e=>this.projectBranchOperation(e)),this.agentControl.registerCompletionHandler(l.WORKTREE_MOVE_PUSH_JOB_KIND,e=>this.advanceMoveAfterPush(e)),this.agentControl.registerCompletionHandler(l.WORKTREE_MOVE_CHECKOUT_JOB_KIND,e=>this.advanceMoveAfterCheckout(e)),this.agentControl.registerCompletionHandler(l.WORKTREE_DELETE_JOB_KIND,e=>this.projectDeleteOperation(e))}async settings(){return(await (0,i.getPrismaClient)()).worktreeSettings.upsert({where:{id:g},create:{id:g,editorVariant:"CODE"},update:{}})}async saveSettings(e){if(!["CODE","CODE_INSIDERS","NONE"].includes(e))throw Error("Unknown editor setting");let t=await (0,i.getPrismaClient)(),r=await t.worktreeSettings.upsert({where:{id:g},create:{id:g,editorVariant:e},update:{editorVariant:e}});return this.publish(null,null),r}async requestRefresh(){let e=await (0,i.getPrismaClient)(),t=await e.codebase.findMany({select:{agentId:!0}});return this.agentControl.requestCodebaseReconcile(t.map(e=>e.agentId))}async cleanupExpired(){let e=await (0,i.getPrismaClient)();await e.worktree.deleteMany({where:{missingAt:{lt:new Date(Date.now()-6048e5)}}})}view(e,t=""){let r=e.codebase.repository.jiraBranchRegex??t;return{...e,relativePath:C(e.folder,e.codebase.agent.baseRepoDirectory),tags:e.tags.map(e=>e.tag),activeJob:e.codebase.jobs.find(t=>t.worktreeId===e.id)??e.codebase.jobs[0]??null,baseBranch:e.baseBranchOverride??e.codebase.defaultBranch??null,ticketKey:I(e.branch,String(r)),ticketTitle:null,ticketStatus:null,pullRequest:e.pullRequest?x(e.pullRequest):null,latestBuild:e.builds?.[0]?{...e.builds[0],outOfDate:(0,f.buildOutOfDate)({...e.builds[0],worktree:e})}:null}}async storePullRequest(e,t,r,a){let n=await (0,i.getPrismaClient)(),s=new Date;await n.$transaction(async i=>{if(await i.worktree.update({where:{id:e},data:{pullRequestLookupOrigin:t,pullRequestLookupBranch:r,pullRequestLookupAt:s}}),a){let t={githubId:a.id,number:a.number,title:a.title,url:a.url,repositoryGithubId:a.repositoryGithubId,repositoryNameWithOwner:a.repositoryNameWithOwner,repositoryUrl:a.repositoryUrl,labelsJson:JSON.stringify(a.labels),jiraKey:a.jiraKey,reviewDecision:a.reviewDecision,unresolvedReviewThreadCount:a.unresolvedReviewThreadCount,state:a.state,isDraft:a.isDraft,mergeable:a.mergeable,mergeStateStatus:a.mergeStateStatus,autoMergeEnabled:a.autoMergeEnabled,viewerCanEnableAutoMerge:a.viewerCanEnableAutoMerge,viewerCanDisableAutoMerge:a.viewerCanDisableAutoMerge,headRefOid:a.headRefOid,headRefName:a.headRefName,githubCreatedAt:new Date(a.createdAt)};await i.worktreePullRequest.upsert({where:{worktreeId:e},create:{worktreeId:e,...t},update:t})}else await i.worktreePullRequest.deleteMany({where:{worktreeId:e}})})}async clearPullRequest(e,t=!0){let r=await (0,i.getPrismaClient)();await r.$transaction([r.worktreePullRequest.deleteMany({where:{worktreeId:e}}),...t?[r.worktree.update({where:{id:e},data:{pullRequestLookupOrigin:null,pullRequestLookupBranch:null,pullRequestLookupAt:null}})]:[]])}async synchronizePullRequests(e){let t=await (0,i.getPrismaClient)(),r=await this.gitHubService.effectiveCacheTtlSeconds("GitHubWorktreePullRequests")*1e3,a=new Set,n=new Map;for(let t of e){let e=t.codebase.repository.canonicalOrigin;!(t.branch&&t.pullRequestLookupOrigin?.toLowerCase()===e.toLowerCase()&&t.pullRequestLookupBranch===t.branch)&&(t.pullRequest||t.pullRequestLookupOrigin||t.pullRequestLookupBranch||t.pullRequestLookupAt)&&(await this.clearPullRequest(t.id),t.pullRequest=null,t.pullRequestLookupOrigin=null,t.pullRequestLookupBranch=null,t.pullRequestLookupAt=null)}let s=e.filter(e=>e.pullRequest);if(s.length)try{let e=await this.gitHubService.pullRequestLiveStatuses(s.flatMap(e=>e.pullRequest?[e.pullRequest.id]:[]),{requestSource:"WORKTREES"});for(let r of s){let i=r.pullRequest;if(!i)continue;let s=e.get(i.id)??null;if(!s||"OPEN"!==s.state){n.set(r.id,i),r.pullRequest=null,a.add(r.id);continue}let o=A(s),l=A(i);JSON.stringify(o)!==JSON.stringify(l)&&(await t.worktreePullRequest.updateMany({where:{worktreeId:r.id},data:o}),r.pullRequest={...i,...s})}}catch{}let o=Date.now(),l=e.filter(e=>{if(e.pullRequest||!e.branch)return!1;let t=e.codebase.repository.canonicalOrigin;return!!/^github\.com\/[^/]+\/[^/]+$/i.test(t)&&(!!a.has(e.id)||e.pullRequestLookupOrigin?.toLowerCase()!==t.toLowerCase()||e.pullRequestLookupBranch!==e.branch||!e.pullRequestLookupAt||o-e.pullRequestLookupAt.getTime()>=r)}),u=new Map;for(let e of l){let t=e.codebase.repository.canonicalOrigin,r=`${a.has(e.id)?"force":"cached"}\0${t}`;u.set(r,[...u.get(r)??[],e])}await Promise.all([...u.entries()].map(async([e,t])=>{let r=e.startsWith("force\0"),i=t[0].codebase.repository.canonicalOrigin;try{let e=await this.gitHubService.pullRequestsForBranches(i,t.flatMap(e=>e.branch?[e.branch]:[]),{force:r,allowStaleOnError:!r,requestSource:"WORKTREES"});await Promise.all(t.map(async t=>{let r=t.branch,a=e.get(r)??null;await this.storePullRequest(t.id,i,r,a),t.pullRequest=a,t.pullRequestLookupOrigin=i,t.pullRequestLookupBranch=r,t.pullRequestLookupAt=new Date}))}catch{for(let e of t){let t=n.get(e.id);t&&(e.pullRequest=t)}}}))}async hydratePullRequestPipelines(e){let t=new Map((await this.pipelineStatus.snapshots(e.flatMap(e=>e.pullRequest?[{repositoryGithubId:e.pullRequest.repositoryGithubId,headSha:e.pullRequest.headRefOid}]:[]))).map(e=>[`${e.repositoryGithubId}\u0000${e.headSha}`,e]));for(let r of e){if(!r.pullRequest)continue;let e=t.get(`${r.pullRequest.repositoryGithubId}\u0000${r.pullRequest.headRefOid}`);r.pullRequest={...r.pullRequest,pipelineStatus:e?.pipelineStatus??r.pullRequest.pipelineStatus,pipelines:e?.pipelines??r.pullRequest.pipelines,pipelineRevision:e?.revision??r.pullRequest.pipelineRevision??0}}}async hydratedView(e,t=""){let r=this.view(e,t);return await this.hydratePullRequestPipelines([r]),r}async refreshPullRequest(e){let t=await (0,i.getPrismaClient)(),r=await t.worktree.findUnique({where:{id:e},include:v});if(!r||r.missingAt)throw Error("Worktree not found");let a=r.codebase.repository.canonicalOrigin;if(!r.branch)throw Error("A named worktree branch is required");if(!/^github\.com\/[^/]+\/[^/]+$/i.test(a))throw Error("The worktree repository is not hosted on GitHub");let n=await this.gitHubService.pullRequestsForBranches(a,[r.branch],{force:!0,allowStaleOnError:!1,requestSource:"WORKTREES"});await this.storePullRequest(e,a,r.branch,n.get(r.branch)??null);let s=await t.worktree.findUniqueOrThrow({where:{id:e},include:v});return this.publish(e,r.codebaseId),this.hydratedView(s)}async attachPullRequestForBranch(e,t,r){let a=await (0,i.getPrismaClient)(),n=(await a.worktree.findMany({where:{branch:t,missingAt:null},select:{id:!0,codebaseId:!0,codebase:{select:{repository:{select:{canonicalOrigin:!0}}}}}})).filter(t=>t.codebase.repository.canonicalOrigin.toLowerCase()===e.toLowerCase());return await Promise.all(n.map(async i=>{await this.storePullRequest(i.id,e,t,r),this.publish(i.id,i.codebaseId)})),n.length}async overview(){await this.cleanupExpired();let e=await (0,i.getPrismaClient)(),[t,r,a,n,s,o]=await Promise.all([e.worktree.findMany({where:{missingAt:null},include:v,orderBy:[{codebase:{agent:{name:"asc"}}},{codebase:{repository:{name:"asc"}}},{primary:"desc"},{branch:"asc"},{folder:"asc"}]}),e.worktreeTag.findMany({orderBy:{name:"asc"}}),this.settings(),e.codebaseSettings.findUnique({where:{id:"default"}}),e.worktree.count({where:{missingAt:{not:null}}}),e.worktreeMove.findMany({where:{status:{in:w}},orderBy:{createdAt:"asc"}})]),l=n?.defaultJiraBranchRegex??"",u=t.map(e=>this.view(e,l)),p=[...new Set(u.map(e=>e.codebase.repository.id))],h=(await e.workflow.findMany({where:{enabled:!0,archivedAt:null,activeVersionId:{not:null},quickActionKind:{in:["STANDARD","MERGE_CONFLICT"]},OR:[{quickActionRepositories:{none:{}}},{quickActionRepositories:{some:{repositoryId:{in:p}}}}]},include:{activeVersion:{include:{triggers:!0}},quickActionRepositories:{select:{repositoryId:!0}}},orderBy:[{name:"asc"},{id:"asc"}]})).filter(e=>e.activeVersion?.triggers.some(e=>{if(!(0,d.isResourceTriggerKind)(e.kind))return!1;try{return"WORKTREE"===(0,c.workflowResourceKind)(JSON.parse(e.configJson))}catch{return!1}}));await this.synchronizePullRequests(u),await this.hydratePullRequestPipelines(u);let m=[...new Set(u.map(e=>e.ticketKey).filter(Boolean))],f=new Map;for(let e of(await Promise.all(m.map(async e=>{try{let t=await this.jiraService.cachedTicket(e)??await this.jiraService.ticket(e);f.set(e,{title:t.summary,status:t.status})}catch{}})),u))e.ticketTitle=e.ticketKey?f.get(e.ticketKey)?.title??null:null,e.ticketStatus=e.ticketKey?f.get(e.ticketKey)?.status??null:null;let g=new Map;for(let e of u){let t=e.codebase.agent,r=g.get(t.id);r||(r={agent:t,codebases:[],codebaseMap:new Map},g.set(t.id,r));let i=r.codebaseMap.get(e.codebase.id);i||(i={codebase:e.codebase,repository:e.codebase.repository,worktrees:[],iosBuildConfigured:e.codebase.repository.projects?.some(e=>e.configurations.length>0)??!1,quickActions:h.filter(t=>"STANDARD"===t.quickActionKind&&(0===t.quickActionRepositories.length||t.quickActionRepositories.some(({repositoryId:t})=>t===e.codebase.repository.id))),mergeConflictQuickActions:h.filter(t=>"MERGE_CONFLICT"===t.quickActionKind&&(0===t.quickActionRepositories.length||t.quickActionRepositories.some(({repositoryId:t})=>t===e.codebase.repository.id)))},r.codebaseMap.set(e.codebase.id,i),r.codebases.push(i)),i.worktrees.push(e)}return{agents:[...g.values()].map(e=>({agent:e.agent,codebases:e.codebases})),tags:r,settings:a,hiddenCount:s,activeMoves:o}}async hidden(){await this.cleanupExpired();let e=await (0,i.getPrismaClient)(),t=await e.codebaseSettings.findUnique({where:{id:"default"}}),r=(await e.worktree.findMany({where:{missingAt:{not:null}},include:v,orderBy:{missingAt:"desc"}})).map(e=>this.view(e,t?.defaultJiraBranchRegex??""));return await this.hydratePullRequestPipelines(r),r}async report(e,r){let a=await (0,i.getPrismaClient)(),n=[],s=!1;for(let i of r.slice(0,100)){let r=(0,l.parseCodebaseWorktreeReport)(i),o=await a.codebase.findUnique({where:{id:r.codebaseId}});if(!o||o.agentId!==e)throw Error("Codebase not found for this agent");let u=r.worktrees.slice(0,1e3).map(e=>(0,l.parseWorktreeInventoryItem)(e)),c=await a.worktree.findMany({where:{codebaseId:o.id},select:{gitDirectory:!0,folder:!0,missingAt:!0}}),d=new Map(c.map(e=>[e.gitDirectory,e])),p=new Set(u.map(e=>e.gitDirectory));s||=u.some(e=>{let t=d.get(e.gitDirectory);return!t||t.folder!==e.folder||null!==t.missingAt})||r.complete&&c.some(e=>null===e.missingAt&&!p.has(e.gitDirectory)),await a.$transaction(async e=>{await e.codebase.update({where:{id:o.id},data:{defaultBranch:r.defaultBranch,localBranchesJson:JSON.stringify(r.localBranches),remoteBranchesJson:JSON.stringify(r.remoteBranches),...r.fetchedAt?{lastFetchedAt:new Date(r.fetchedAt)}:{},...r.fetchAttemptedAt?{lastFetchAttemptAt:new Date(r.fetchAttemptedAt),lastFetchError:r.fetchError}:r.fetchError?{lastFetchError:r.fetchError}:{}}});let i=[];for(let r of u){i.push(r.gitDirectory);let a=await e.worktree.upsert({where:{codebaseId_gitDirectory:{codebaseId:o.id,gitDirectory:r.gitDirectory}},create:{id:(0,t.randomUUID)(),codebaseId:o.id,gitDirectory:r.gitDirectory,...this.inventoryData(r)},update:{}}),s=a.branch!==r.branch,l=await e.worktree.updateMany({where:{id:a.id,OR:[{lastCheckedAt:null},{lastCheckedAt:{lt:new Date(r.checkedAt)}}]},data:{...this.inventoryData(r),missingAt:null,...s?{pullRequestLookupOrigin:null,pullRequestLookupBranch:null,pullRequestLookupAt:null}:{}}});s&&l.count>0&&await e.worktreePullRequest.deleteMany({where:{worktreeId:a.id}}),n.push(a.id)}r.complete&&await e.worktree.updateMany({where:{codebaseId:o.id,missingAt:null,...i.length?{gitDirectory:{notIn:i}}:{}},data:{missingAt:new Date}})}),this.publish(null,o.id)}return await this.cleanupExpired(),s&&await this.skillsService?.requestAutoReconcile(),a.worktree.findMany({where:{id:{in:n}},include:v})}async reportActivity(e,t){let r=(0,l.parseWorktreeActivityReport)(t),a=await (0,i.getPrismaClient)(),s=await a.worktree.findFirst({where:{codebaseId:r.codebaseId,gitDirectory:r.gitDirectory,missingAt:null,codebase:{agentId:e}},select:{id:!0,codebaseId:!0,branch:!0}});if(!s)throw Error("Worktree activity source was not found");let o=void 0!==r.branch||void 0!==r.headSha||void 0!==r.upstream||void 0!==r.ahead||void 0!==r.behind||void 0!==r.syncState||void 0!==r.baseAhead||void 0!==r.baseBehind,u=!0;if(o||void 0!==r.hasStagedChanges||void 0!==r.hasUnstagedChanges||void 0!==r.rebaseInProgress||void 0!==r.hasConflicts||void 0!==r.codeStateHash||void 0!==r.pushStatus){let e=void 0!==r.branch&&r.branch!==s.branch;(u=(await a.worktree.updateMany({where:{id:s.id,OR:[{lastCheckedAt:null},{lastCheckedAt:{lt:new Date(r.observedAt)}}]},data:{...void 0===r.branch?{}:{branch:r.branch},...e?{pullRequestLookupOrigin:null,pullRequestLookupBranch:null,pullRequestLookupAt:null}:{},...void 0===r.headSha?{}:{headSha:r.headSha},...void 0===r.upstream?{}:{upstream:r.upstream},...void 0===r.ahead?{}:{ahead:r.ahead},...void 0===r.behind?{}:{behind:r.behind},...void 0===r.syncState?{}:{syncState:r.syncState},...void 0===r.baseAhead?{}:{baseAhead:r.baseAhead},...void 0===r.baseBehind?{}:{baseBehind:r.baseBehind},lastCheckedAt:new Date(r.observedAt),...void 0===r.hasStagedChanges?{}:{hasStagedChanges:r.hasStagedChanges},...void 0===r.hasUnstagedChanges?{}:{hasUnstagedChanges:r.hasUnstagedChanges},...void 0===r.rebaseInProgress?{}:{rebaseInProgress:r.rebaseInProgress},...void 0===r.hasConflicts?{}:{hasConflicts:r.hasConflicts},...void 0===r.codeStateHash?{}:{codeStateHash:r.codeStateHash},...void 0===r.pushStatus?{}:{pushStatus:r.pushStatus}}})).count>0)&&(e&&await a.worktreePullRequest.deleteMany({where:{worktreeId:s.id}}),this.publish(s.id,s.codebaseId))}let c={worktreeId:s.id,...void 0===r.branch?{}:{branch:r.branch},...void 0===r.headSha?{}:{headSha:r.headSha},...void 0===r.upstream?{}:{upstream:r.upstream},...void 0===r.ahead?{}:{ahead:r.ahead},...void 0===r.behind?{}:{behind:r.behind},...void 0===r.syncState?{}:{syncState:r.syncState},...void 0===r.baseAhead?{}:{baseAhead:r.baseAhead},...void 0===r.baseBehind?{}:{baseBehind:r.baseBehind},...void 0===r.hasStagedChanges?{}:{hasStagedChanges:r.hasStagedChanges},...void 0===r.hasUnstagedChanges?{}:{hasUnstagedChanges:r.hasUnstagedChanges},...void 0===r.rebaseInProgress?{}:{rebaseInProgress:r.rebaseInProgress},...void 0===r.hasConflicts?{}:{hasConflicts:r.hasConflicts},...void 0===r.pushStatus?{}:{pushStatus:r.pushStatus},observedAt:r.observedAt};return this.watchDemand.has(s.id)&&u&&n.agentEventBus.publish((0,n.worktreeInspectionTopic)(s.id),{worktreeInspectionChanged:c}),c}inventoryData(e){return{folder:e.folder,relativePath:e.relativePath,primary:e.primary,branch:e.branch,headSha:e.headSha,codeStateHash:e.codeStateHash??null,upstream:e.upstream,ahead:e.ahead,behind:e.behind,syncState:e.syncState,baseAhead:e.baseAhead,baseBehind:e.baseBehind,hasStagedChanges:e.hasStagedChanges??!1,hasUnstagedChanges:e.hasUnstagedChanges??!1,rebaseInProgress:e.rebaseInProgress??!1,hasConflicts:e.hasConflicts??!1,pushStatus:e.pushStatus??"UNKNOWN",availability:e.availability,statusError:e.error,lastCheckedAt:new Date(e.checkedAt)}}async updateBaseBranch(e,t){let r=await (0,i.getPrismaClient)(),a=await r.worktree.findUnique({where:{id:e},include:{codebase:!0}});if(!a||a.missingAt)throw Error("Worktree not found");let n=t?.trim()||null;if(n&&!E(a.codebase.remoteBranchesJson).includes(n))throw Error("The selected origin branch is unavailable; fetch and try again");let s=await r.worktree.update({where:{id:e},data:{baseBranchOverride:n},include:v});return this.publish(e,a.codebaseId),await this.restartWatch(e),this.hydratedView(s)}requireColor(e){if(null===e||""===e)return null;if(!b.includes(e))throw Error("Unknown worktree color");return e}async updateHighlight(e,t){let r=await (0,i.getPrismaClient)(),a=await r.worktree.update({where:{id:e},data:{highlightColor:this.requireColor(t)},include:v});return this.publish(e,a.codebaseId),this.hydratedView(a)}async setTags(e,t){let r=await (0,i.getPrismaClient)(),a=[...new Set(t)].slice(0,100);if(await r.worktreeTag.count({where:{id:{in:a}}})!==a.length)throw Error("One or more tags were not found");await r.$transaction([r.worktreeTagAssignment.deleteMany({where:{worktreeId:e}}),...a.length?[r.worktreeTagAssignment.createMany({data:a.map(t=>({worktreeId:e,tagId:t}))})]:[]]);let n=await r.worktree.findUniqueOrThrow({where:{id:e},include:v});return this.publish(e,n.codebaseId),this.hydratedView(n)}async saveTag(e){let r=e.name.trim();if(!r||r.length>40)throw Error("Tag names must contain 1–40 characters");let a=this.requireColor(e.color),n=await (0,i.getPrismaClient)(),s=(await n.worktreeTag.findMany()).find(e=>e.name.toLocaleLowerCase()===r.toLocaleLowerCase());if(s&&s.id!==e.id)throw Error("Tag names must be unique");let o=e.id?await n.worktreeTag.update({where:{id:e.id},data:{name:r,color:a}}):await n.worktreeTag.create({data:{id:(0,t.randomUUID)(),name:r,color:a}});return this.publish(null,null),o}async deleteTag(e){let t=await (0,i.getPrismaClient)(),r=await t.worktreeTag.deleteMany({where:{id:e}});return r.count&&this.publish(null,null),r.count>0}async repositoryTakenBranches(e){let t=await (0,i.getPrismaClient)();return new Set((await t.codebase.findMany({where:{repositoryId:e},select:{localBranchesJson:!0,remoteBranchesJson:!0,worktrees:{where:{missingAt:null},select:{branch:!0}}}})).flatMap(e=>[...E(e.localBranchesJson),...E(e.remoteBranchesJson),...e.worktrees.flatMap(e=>e.branch?[e.branch]:[])]))}requireBaseBranch(e,t){let r=t.trim();if(!r||!E(e.remoteBranchesJson).includes(r))throw Error("The selected origin base branch is unavailable; fetch and try again");return r}async ticketBranch(e,t,r){let i=t?.trim()??"",a=await this.jiraService.branchTicket(i),n=await (0,m.jiraBranchCandidates)(a.branchNamingScript,{ticketKey:a.ticketKey,type:a.ticketType??"",title:a.ticketTitle}),s=await this.repositoryTakenBranches(e.repositoryId),o=n.filter(e=>e===r||!s.has(e));if(!o.length)throw Error("Every generated ticket branch name is already taken");return{ticket:a,candidates:o}}async previewTicketBranch(e){let t=await (0,i.getPrismaClient)(),r=await t.codebase.findUnique({where:{id:e.codebaseId},include:{agent:!0,repository:!0}});if(!r)throw Error("Codebase not found");let a=null;if(e.worktreeId){let r=await t.worktree.findFirst({where:{id:e.worktreeId,codebaseId:e.codebaseId,missingAt:null},select:{branch:!0}});if(!r)throw Error("Worktree not found for this codebase");a=r.branch}let{ticket:n,candidates:s}=await this.ticketBranch(r,e.ticketKey,a);return{ticketKey:n.ticketKey,ticketTitle:n.ticketTitle,ticketType:n.ticketType,projectKey:n.projectKey,branchName:s[0]}}async ticketKeyForWorktree(e){let t=await (0,i.getPrismaClient)(),[r,a]=await Promise.all([t.worktree.findFirst({where:{id:e,missingAt:null},select:{branch:!0,codebase:{select:{repository:{select:{jiraBranchRegex:!0}}}}}}),t.codebaseSettings.findUnique({where:{id:g}})]);if(!r)return null;let n=r.codebase.repository.jiraBranchRegex??a?.defaultJiraBranchRegex??"";return I(r.branch,n)}async workflowSessionDataForWorktree(e,t={}){var r;let a=await (0,i.getPrismaClient)(),[n,s]=await Promise.all([a.worktree.findFirst({where:{id:e,...t.includeMissing?{}:{missingAt:null}},select:{id:!0,folder:!0,branch:!0,baseBranchOverride:!0,headSha:!0,upstream:!0,ahead:!0,behind:!0,syncState:!0,baseAhead:!0,baseBehind:!0,rebaseInProgress:!0,hasConflicts:!0,pushStatus:!0,hasStagedChanges:!0,hasUnstagedChanges:!0,missingAt:!0,pullRequest:!0,codebase:{select:{id:!0,folder:!0,agentId:!0,branch:!0,headSha:!0,defaultBranch:!0,agent:{select:{id:!0,name:!0,hostname:!0}},repository:{select:{id:!0,name:!0,displayOrigin:!0,canonicalOrigin:!0,jiraBranchRegex:!0}}}}}}),a.codebaseSettings.findUnique({where:{id:g}})]);if(!n)return{};let o=n.codebase.repository,l=o.jiraBranchRegex??s?.defaultJiraBranchRegex??"",u=I(n.branch,l),c=null;if(u)try{c=await this.jiraService.cachedTicket(u)}catch{}let d=n.pullRequest?await this.pipelineStatus.snapshot({repositoryGithubId:n.pullRequest.repositoryGithubId,headSha:n.pullRequest.headRefOid}):null;return{worktree:{id:n.id,path:n.folder,branch:n.branch,baseBranch:n.baseBranchOverride??n.codebase.defaultBranch,headSha:n.headSha,upstream:n.upstream,ahead:n.ahead,behind:n.behind,syncState:n.syncState,baseAhead:n.baseAhead,baseBehind:n.baseBehind,rebaseInProgress:n.rebaseInProgress,hasConflicts:n.hasConflicts,pushStatus:n.pushStatus,dirty:n.hasStagedChanges||n.hasUnstagedChanges,missingAt:n.missingAt?.toISOString()??null},codebase:{id:n.codebase.id,folder:n.codebase.folder,agentId:n.codebase.agentId,branch:n.codebase.branch,headSha:n.codebase.headSha},agent:n.codebase.agent,repo:{id:o.id,name:o.name,url:o.displayOrigin,canonicalOrigin:o.canonicalOrigin,displayOrigin:o.displayOrigin,defaultBranch:n.codebase.defaultBranch},...n.pullRequest?{pr:{...r=x(n.pullRequest,d),headBranch:r.headRefName,headSha:r.headRefOid,merged:"MERGED"===r.state}}:{},...u?{ticket:{key:u,title:c?.summary??null,status:c?.status??null,projectKey:c?.projectKey??null}}:{}}}async workflowSessionDataForPullRequest(e,t,r){let a=e.trim().toLowerCase(),n=t.trim().toLowerCase();if(!a||!n||!Number.isInteger(r)||r<1)return{};let s=await (0,i.getPrismaClient)(),o=await s.worktreePullRequest.findMany({where:{number:r,worktree:{missingAt:null}},select:{worktreeId:!0,repositoryNameWithOwner:!0},orderBy:{updatedAt:"desc"}}),l=`${a}/${n}`,u=o.find(({repositoryNameWithOwner:e})=>e.toLowerCase()===l);return u?this.workflowSessionDataForWorktree(u.worktreeId):{}}async resolveBranchSelection(e,t,r){let a=this.requireBaseBranch(e,t.baseBranch);if("TICKET"===t.mode){let{candidates:i}=await this.ticketBranch(e,t.ticketKey,r?.branch??null);return{baseBranch:a,mode:"NEW",candidates:i}}let n=t.branchName?.trim()??"";if(!(0,l.validGitBranchName)(n))throw Error("Enter a valid Git branch name");if("NEW"===t.mode){if((await this.repositoryTakenBranches(e.repositoryId)).has(n))throw Error(`Branch ${n} is already taken`);return{baseBranch:a,mode:"NEW",candidates:[n]}}if("EXISTING"!==t.mode)throw Error("Unknown worktree branch mode");if(!new Set([...E(e.localBranchesJson),...E(e.remoteBranchesJson)]).has(n))throw Error(`Existing branch ${n} is unavailable; refresh and try again`);let s=await (0,i.getPrismaClient)();if(await s.worktree.findFirst({where:{codebaseId:e.id,branch:n,missingAt:null,...r?{id:{not:r.id}}:{}},select:{id:!0}}))throw Error(`Branch ${n} is checked out in another worktree`);return{baseBranch:a,mode:"EXISTING",candidates:[n]}}async createWorktree(e){let t=await this.requireRunnableCodebase(e.codebaseId),r=await this.resolveBranchSelection(t,e.selection,null);return this.agentControl.createJob({agentId:t.agentId,codebaseId:t.id,kind:l.WORKTREE_BRANCH_JOB_KIND,payload:{codebaseId:t.id,rootFolder:t.folder,folder:null,gitDirectory:null,expectedOrigin:t.repository.canonicalOrigin,baseBranch:r.baseBranch,action:"CREATE",mode:r.mode,candidates:r.candidates,stashOnFailure:!1},idempotencyKey:`worktree:branch:create:${e.requestId}:${t.id}`,timeoutSeconds:600})}async changeWorktreeBranch(e){let t=await this.requireRunnable(e.worktreeId,l.WORKTREE_BRANCH_JOB_KIND),r=await this.resolveBranchSelection(t.codebase,e.selection,{id:t.id,branch:t.branch});return this.agentControl.createJob({agentId:t.codebase.agentId,codebaseId:t.codebaseId,worktreeId:t.id,kind:l.WORKTREE_BRANCH_JOB_KIND,payload:{codebaseId:t.codebaseId,rootFolder:t.codebase.folder,folder:t.folder,gitDirectory:t.gitDirectory,expectedOrigin:t.codebase.repository.canonicalOrigin,baseBranch:r.baseBranch,action:"CHANGE",mode:r.mode,candidates:r.candidates,stashOnFailure:!!e.stashOnFailure},idempotencyKey:`worktree:branch:change:${e.requestId}:${t.id}`,timeoutSeconds:600})}async getMove(e){return(await (0,i.getPrismaClient)()).worktreeMove.findUnique({where:{id:e}})}async moveWorktree(e){let r,a=await (0,i.getPrismaClient)(),n=await a.worktreeMove.findUnique({where:{sourceWorktreeId_requestId:{sourceWorktreeId:e.sourceWorktreeId,requestId:e.requestId}}});if(n)return n;let s=await this.requireRunnable(e.sourceWorktreeId,l.WORKTREE_MOVE_PUSH_JOB_KIND);if(!s.branch||!s.headSha)throw Error("A named source branch is required");if(s.hasStagedChanges||s.hasUnstagedChanges||"READY"!==s.pushStatus)throw Error("The source branch must be clean and safely pushable before moving");if(e.deleteSource&&s.primary)throw Error("The primary worktree cannot be deleted after moving");if(e.deleteSource&&!S(s.codebase.agent).includes(l.WORKTREE_DELETE_JOB_KIND))throw Error("Source agent must be updated to remove the old worktree");let o=await this.requireRunnableCodebase(e.targetCodebaseId,l.WORKTREE_MOVE_CHECKOUT_JOB_KIND);if(s.codebase.repositoryId!==o.repositoryId||s.codebase.agentId===o.agentId)throw Error("The destination must be the same repository on another agent");let u=e.targetWorktreeId?await a.worktree.findFirst({where:{id:e.targetWorktreeId,codebaseId:o.id,missingAt:null,availability:"AVAILABLE"}}):null;if(e.targetWorktreeId&&!u)throw Error("Destination worktree not found");if(await a.worktree.findFirst({where:{codebaseId:o.id,branch:s.branch,missingAt:null,...u?{id:{not:u.id}}:{}},select:{id:!0}}))throw Error("The source branch is already checked out in another destination worktree");let c=o.defaultBranch??s.codebase.defaultBranch;if(!c)throw Error("The destination default branch is unavailable");let d=(0,t.randomUUID)();try{r=await a.worktreeMove.create({data:{id:d,requestId:e.requestId,sourceWorktreeId:s.id,sourceCodebaseId:s.codebaseId,targetCodebaseId:o.id,targetWorktreeId:u?.id??null,destinationMode:u?"EXISTING":"NEW",branch:s.branch,headSha:s.headSha,baseBranch:c,deleteSource:e.deleteSource,status:"PUSHING"}})}catch(r){let t=await a.worktreeMove.findUnique({where:{sourceWorktreeId_requestId:{sourceWorktreeId:e.sourceWorktreeId,requestId:e.requestId}}});if(t)return t;throw r}try{let e=await this.agentControl.createJob({agentId:s.codebase.agentId,codebaseId:s.codebaseId,worktreeId:s.id,kind:l.WORKTREE_MOVE_PUSH_JOB_KIND,payload:{moveId:r.id,codebaseId:s.codebaseId,folder:s.folder,gitDirectory:s.gitDirectory,expectedOrigin:s.codebase.repository.canonicalOrigin,branch:s.branch,expectedHeadSha:s.headSha},idempotencyKey:`worktree:move:push:${r.id}`,timeoutSeconds:600});return r=await a.worktreeMove.update({where:{id:r.id},data:{sourceJobId:e.id}}),this.publish(s.id,s.codebaseId),r}catch(e){throw await a.worktreeMove.update({where:{id:r.id},data:{status:"FAILED",error:e instanceof Error?e.message:String(e),finishedAt:new Date}}),e}}async retryWorktreeMoveWithStash(e){let t=await (0,i.getPrismaClient)(),r=await t.worktreeMove.findUnique({where:{id:e}});if(!r||"AWAITING_STASH"!==r.status)throw Error("This move is not waiting for a stash decision");let a=await this.createMoveCheckoutJob(r,!0);if(1!==(await t.worktreeMove.updateMany({where:{id:e,status:"AWAITING_STASH"},data:{status:"CHECKING_OUT",targetJobId:a.id,error:null}})).count){let r=await t.worktreeMove.findUniqueOrThrow({where:{id:e}});if("AWAITING_STASH"!==r.status)return r;throw Error("The move state changed; refresh and try again")}return this.publish(r.sourceWorktreeId,r.sourceCodebaseId),t.worktreeMove.findUniqueOrThrow({where:{id:e}})}async cancelWorktreeMove(e){let t=await (0,i.getPrismaClient)(),r=await t.worktreeMove.findUnique({where:{id:e}});if(!r||"AWAITING_STASH"!==r.status)throw Error("Only a move waiting for a stash decision can be cancelled");let a=await t.worktreeMove.update({where:{id:e},data:{status:"CANCELLED",finishedAt:new Date}});return this.publish(r.sourceWorktreeId,r.sourceCodebaseId),a}async deleteWorktree(e){let t=await this.requireRunnable(e.worktreeId,l.WORKTREE_DELETE_JOB_KIND);if(t.primary)throw Error("The primary worktree cannot be deleted");if(void 0!==e.expectedBranch&&t.branch!==e.expectedBranch)throw Error("The worktree branch changed before deletion");if(!0===e.requireClean&&void 0!==e.expectedHeadSha&&t.headSha!==e.expectedHeadSha)throw Error("The worktree HEAD changed before deletion");if(e.deleteRemoteBranch&&(!t.branch||t.branch===t.codebase.defaultBranch))throw Error("The default remote branch cannot be deleted");return this.agentControl.createJob({agentId:t.codebase.agentId,codebaseId:t.codebaseId,worktreeId:t.id,kind:l.WORKTREE_DELETE_JOB_KIND,payload:{moveId:null,codebaseId:t.codebaseId,rootFolder:t.codebase.folder,folder:t.folder,gitDirectory:t.gitDirectory,expectedOrigin:t.codebase.repository.canonicalOrigin,branch:void 0===e.expectedBranch?t.branch:e.expectedBranch,defaultBranch:t.codebase.defaultBranch,deleteRemoteBranch:e.deleteRemoteBranch,requireClean:e.requireClean??!1,expectedHeadSha:!0===e.requireClean?e.expectedHeadSha??t.headSha:null},idempotencyKey:`worktree:delete:${e.requestId}:${t.id}`,timeoutSeconds:600})}async inspect(e,t){let r=await this.requireRunnable(e,l.WORKTREE_INSPECT_JOB_KIND,!0),a=await this.createSerializedCodebaseJob({agentId:r.codebase.agentId,codebaseId:r.codebaseId,worktreeId:r.id,kind:l.WORKTREE_INSPECT_JOB_KIND,payload:this.payload(r),idempotencyKey:`worktree:inspect:${t}:${e}`,timeoutSeconds:30,visibility:"SYSTEM"});try{let e=await this.waitForJob(a.id),i=R(e).detail;if(!i||"object"!=typeof i)throw Error("Invalid worktree detail");let n=Array.isArray(i.changes)?i.changes.map(e=>e&&"object"==typeof e&&!Array.isArray(e)?{...e,changeType:"string"==typeof e.changeType?e.changeType:"MODIFIED"}:e):[],s={...i,changes:n,branchChanges:Array.isArray(i.branchChanges)?i.branchChanges:[],branchChangesTruncated:!0===i.branchChangesTruncated};if(this.workflowEvents){let e=n.filter(e=>e&&"object"==typeof e&&!Array.isArray(e)&&!0===e.conflicted),i=(0,p.mergeSessionData)(await this.workflowSessionDataForWorktree(r.id),{repo:{id:r.codebase.repository.id,name:r.codebase.repository.name,url:r.codebase.repository.displayOrigin,canonicalOrigin:r.codebase.repository.canonicalOrigin,displayOrigin:r.codebase.repository.displayOrigin,defaultBranch:r.codebase.defaultBranch},codebase:{id:r.codebase.id,folder:r.codebase.folder,agentId:r.codebase.agentId},worktree:{id:r.id,path:r.folder,branch:r.branch,headSha:r.headSha,conflicted:e.length>0,conflicts:e}});await this.workflowEvents.record({kind:"WORKTREE_CONFLICT",subjectKey:r.id,dedupeKey:`worktree-conflict:${r.id}:${t}`,payload:{...i,sessionData:i,cursorValue:e.length?e.map(e=>String(e.path??"")):[]}})}return s}finally{let e=await (0,i.getPrismaClient)();await e.agentJob.deleteMany({where:{id:a.id,visibility:"SYSTEM"}})}}async inspectDiff(e,t,r){let a=await this.requireRunnable(e,l.WORKTREE_DIFF_JOB_KIND,!0),n=this.payload(a);if(!n.baseBranch)throw Error("A base branch is required");let s=await this.createSerializedCodebaseJob({agentId:a.codebase.agentId,codebaseId:a.codebaseId,worktreeId:a.id,kind:l.WORKTREE_DIFF_JOB_KIND,payload:{...n,baseBranch:n.baseBranch,scope:t.scope,path:t.path??null,previousPath:t.previousPath??null,commitSha:t.commitSha??null,uploadId:null,side:null},idempotencyKey:`worktree:diff:${r}:${e}`,timeoutSeconds:30,visibility:"SYSTEM"});try{let e=await this.waitForJob(s.id),t=R(e).diff;if(!t||"object"!=typeof t)throw Error("Invalid worktree diff result");return t}finally{let e=await (0,i.getPrismaClient)();await e.agentJob.deleteMany({where:{id:s.id,visibility:"SYSTEM"}})}}async prepareDiffAsset(e,t,r){let a=await this.requireRunnable(e,l.WORKTREE_DIFF_ASSET_JOB_KIND,!0),n=this.payload(a);if(!n.baseBranch)throw Error("A base branch is required");let s=await this.createSerializedCodebaseJob({agentId:a.codebase.agentId,codebaseId:a.codebaseId,worktreeId:a.id,kind:l.WORKTREE_DIFF_ASSET_JOB_KIND,payload:{...n,baseBranch:n.baseBranch,scope:t.scope,path:t.path,previousPath:t.previousPath??null,commitSha:t.commitSha??null,uploadId:r,side:t.side},idempotencyKey:`worktree:diff-asset:${r}:${e}`,timeoutSeconds:60,visibility:"SYSTEM"});try{R(await this.waitForJob(s.id))}finally{let e=await (0,i.getPrismaClient)();await e.agentJob.deleteMany({where:{id:s.id,visibility:"SYSTEM"}})}}async diffAssetAgentId(e){let t=await (0,i.getPrismaClient)(),r=await t.worktree.findUnique({where:{id:e},select:{codebase:{select:{agentId:!0}}}});return r?.codebase.agentId??null}async runOperation(e,t,r){if(!l.WORKTREE_OPERATIONS.includes(t))throw Error("Unknown worktree operation");let i=await this.requireRunnable(e,l.WORKTREE_OPERATION_JOB_KIND),a=await this.settings();return this.agentControl.createJob({agentId:i.codebase.agentId,codebaseId:i.codebaseId,worktreeId:i.id,kind:l.WORKTREE_OPERATION_JOB_KIND,payload:{...this.payload(i),operation:t,..."OPEN_EDITOR"===t?{editorVariant:a.editorVariant}:{}},idempotencyKey:`worktree:operation:${r}:${e}`,timeoutSeconds:"OPEN_EDITOR"===t?30:600})}async createAutoSyncJob(e,t,r,i){let a=await this.requireRunnable(e,l.WORKTREE_AUTO_SYNC_JOB_KIND),n=this.payload(a);if(!n.baseBranch)throw Error("Auto Sync requires a base branch");return this.agentControl.createJob({agentId:a.codebase.agentId,codebaseId:a.codebaseId,worktreeId:a.id,kind:l.WORKTREE_AUTO_SYNC_JOB_KIND,payload:{...n,expectedBranch:r,baseBranch:n.baseBranch,phase:t},idempotencyKey:`worktree:auto-sync:${t.toLowerCase()}:${i}:${e}`,timeoutSeconds:600})}publishAutomationChange(e,t=null){this.publish(e,t)}async inspectGitState(e,t){if(!t.trim())throw Error("requestId is required");let r=await this.requireRunnable(e,l.WORKTREE_GIT_INSPECT_JOB_KIND,!0),a=await this.createSerializedCodebaseJob({agentId:r.codebase.agentId,codebaseId:r.codebaseId,worktreeId:r.id,kind:l.WORKTREE_GIT_INSPECT_JOB_KIND,payload:{action:"STATE",codebaseId:r.codebaseId,folder:r.folder,gitDirectory:r.gitDirectory,expectedOrigin:r.codebase.repository.canonicalOrigin},idempotencyKey:`worktree:git:state:${t}:${e}`,timeoutSeconds:30,visibility:"SYSTEM"});try{let e=await this.waitForJob(a.id);return(0,o.parseCodebaseGitState)(R(e).state)}finally{let e=await (0,i.getPrismaClient)();await e.agentJob.deleteMany({where:{id:a.id,visibility:"SYSTEM"}})}}async runGitOperation(e){if(!e.requestId.trim())throw Error("requestId is required");if(!l.WORKTREE_GIT_OPERATIONS.includes(e.operation))throw Error("Unknown worktree Git operation");let t=await this.requireRunnable(e.worktreeId,l.WORKTREE_GIT_OPERATION_JOB_KIND);return this.agentControl.createJob({agentId:t.codebase.agentId,codebaseId:t.codebaseId,worktreeId:t.id,kind:l.WORKTREE_GIT_OPERATION_JOB_KIND,payload:{codebaseId:t.codebaseId,folder:t.folder,gitDirectory:t.gitDirectory,expectedOrigin:t.codebase.repository.canonicalOrigin,baseBranch:t.baseBranchOverride??t.codebase.defaultBranch??null,defaultBranch:t.codebase.defaultBranch,operation:e.operation,...e.branch?{branch:e.branch}:{},...e.stashOid?{stashOid:e.stashOid}:{},..."SWITCH_BRANCH"===e.operation?{stashChanges:!!e.stashChanges}:{}},idempotencyKey:`worktree:git:${e.operation}:${e.requestId}:${e.worktreeId}`,timeoutSeconds:"PULL_BRANCH"===e.operation?300:60})}payload(e){return{codebaseId:e.codebaseId,folder:e.folder,gitDirectory:e.gitDirectory,expectedOrigin:e.codebase.repository.canonicalOrigin,baseBranch:e.baseBranchOverride??e.codebase.defaultBranch??null}}async createSerializedCodebaseJob(e){let t=await (0,i.getPrismaClient)(),r=Date.now()+3e4;for(;Date.now()<r;){let i=await t.agentJob.findFirst({where:{codebaseId:e.codebaseId,status:{in:y}},select:{id:!0,idempotencyKey:!0,kind:!0}});if(i){if(i.idempotencyKey===e.idempotencyKey)return this.agentControl.createJob(e);await this.waitForCodebaseJob(i.id,r);continue}try{return await this.agentControl.createJob(e)}catch(e){if(!function(e){if(!e||"object"!=typeof e||"P2002"!==e.code)return!1;let t=e.meta?.target;return Array.isArray(t)?t.includes("codebaseId"):"string"==typeof t&&t.includes("codebaseId")}(e))throw e}}throw new u.CodebaseBusyError}async waitForCodebaseJob(e,t){let r=n.agentEventBus.iterate((0,n.agentJobChangedTopic)(e));try{for(;Date.now()<t;){let i=await this.agentControl.getJob(e);if(!i||!y.includes(i.status))return;await Promise.race([r.next(),new Promise(e=>setTimeout(e,Math.max(0,t-Date.now())))])}throw new u.CodebaseBusyError}finally{await r.return?.()}}async requireRunnable(e,t,r=!1){let a=await (0,i.getPrismaClient)(),n=await a.worktree.findUnique({where:{id:e},include:{codebase:{include:{agent:!0,repository:!0}}}});if(!n||n.missingAt||"AVAILABLE"!==n.availability)throw Error("Worktree is unavailable");if(!k(n.codebase.agent))throw Error("Agent is offline");if(!S(n.codebase.agent).includes(t))throw Error("Agent must be updated to use worktrees");if(!r){let[e,t]=await Promise.all([a.agentJob.findFirst({where:{codebaseId:n.codebaseId,status:{in:y}}}),a.worktreeMove.findFirst({where:{status:{in:w},OR:[{sourceCodebaseId:n.codebaseId},{targetCodebaseId:n.codebaseId}]}})]);if(e||t)throw new u.CodebaseBusyError}return n}async requireRunnableCodebase(e,t=l.WORKTREE_BRANCH_JOB_KIND){let r=await (0,i.getPrismaClient)(),a=await r.codebase.findUnique({where:{id:e},include:{agent:!0,repository:!0}});if(!a||"AVAILABLE"!==a.availability)throw Error("Codebase is unavailable");if(!k(a.agent))throw Error("Agent is offline");if(!S(a.agent).includes(t))throw Error("Agent must be updated to create or change worktrees");let[n,s]=await Promise.all([r.agentJob.findFirst({where:{codebaseId:e,status:{in:y}}}),r.worktreeMove.findFirst({where:{status:{in:w},OR:[{sourceCodebaseId:e},{targetCodebaseId:e}]}})]);if(n||s)throw new u.CodebaseBusyError;return a}async purge(e){let t=await (0,i.getPrismaClient)(),r=await t.worktree.deleteMany({where:{id:e,missingAt:{not:null}}});return r.count&&this.publish(e,null),r.count>0}async purgeAll(){let e=await (0,i.getPrismaClient)(),t=await e.worktree.deleteMany({where:{missingAt:{not:null}}});return t.count&&this.publish(null,null),t.count}subscribe(){return n.agentEventBus.iterate(n.WORKTREE_CHANGED_TOPIC)}async *subscribeInspection(e){let t=n.agentEventBus.iterate((0,n.worktreeInspectionTopic)(e)),r=!1;try{for await(let i of(await this.acquireWatch(e),r=!0,t))yield i}finally{await t.return?.(),r&&await this.releaseWatch(e)}}async acquireWatch(e){let r=this.watchDemand.get(e);if(r){r.subscribers+=1,await r.started;return}let i=await this.requireRunnable(e,l.WORKTREE_WATCH_JOB_KIND,!0),a=(0,t.randomUUID)(),n=this.payload(i),s={subscribers:1,watchId:a,agentId:i.codebase.agentId,worktreeId:i.id,codebaseId:i.codebaseId,payload:n,started:Promise.resolve()};s.started=this.runWatchAction(s,"START"),this.watchDemand.set(e,s);try{await s.started}catch(t){throw this.watchDemand.get(e)===s&&this.watchDemand.delete(e),t}}async releaseWatch(e){let t=this.watchDemand.get(e);if(t&&(t.subscribers-=1,!(t.subscribers>0))){this.watchDemand.delete(e);try{await t.started,await this.runWatchAction(t,"STOP")}catch(e){console.error("Could not stop worktree watcher:",e instanceof Error?e.message:e)}}}async runWatchAction(e,t){let r=await this.agentControl.createJob({agentId:e.agentId,worktreeId:e.worktreeId,kind:l.WORKTREE_WATCH_JOB_KIND,payload:{...e.payload,action:t,watchId:e.watchId},idempotencyKey:`worktree:watch:${t}:${e.watchId}`,timeoutSeconds:30,visibility:"SYSTEM"});try{R(await this.waitForJob(r.id))}finally{let e=await (0,i.getPrismaClient)();await e.agentJob.deleteMany({where:{id:r.id,visibility:"SYSTEM"}})}}async restartWatch(e){let r=this.watchDemand.get(e);if(r)try{if(await r.started,this.watchDemand.get(e)!==r||(await this.runWatchAction(r,"STOP"),this.watchDemand.get(e)!==r))return;let i=await this.requireRunnable(e,l.WORKTREE_WATCH_JOB_KIND,!0),a={subscribers:r.subscribers,watchId:(0,t.randomUUID)(),agentId:i.codebase.agentId,worktreeId:i.id,codebaseId:i.codebaseId,payload:this.payload(i),started:Promise.resolve()};a.started=this.runWatchAction(a,"START"),this.watchDemand.set(e,a),await a.started}catch(e){console.error("Could not restart worktree watcher:",e instanceof Error?e.message:e)}}publish(e,t){n.agentEventBus.publish(n.WORKTREE_CHANGED_TOPIC,{worktreeOverviewChanged:{worktreeId:e,codebaseId:t}})}moveIdFromJob(e){let t=JSON.parse(e.payloadJson);if(!t||"object"!=typeof t||Array.isArray(t)||"string"!=typeof t.moveId)throw Error("Move job is missing its workflow identifier");return String(t.moveId)}async failMove(e,t,r){let a=await (0,i.getPrismaClient)();(await a.worktreeMove.updateMany({where:{id:e,status:t},data:{status:"FAILED",error:r,finishedAt:new Date}})).count&&this.publish(null,null)}async createMoveCheckoutJob(e,t){let r=await (0,i.getPrismaClient)(),a=await r.codebase.findUnique({where:{id:e.targetCodebaseId},include:{agent:!0,repository:!0}});if(!a)throw Error("Destination codebase no longer exists");if(!k(a.agent))throw Error("Destination agent is offline");if(!S(a.agent).includes(l.WORKTREE_MOVE_CHECKOUT_JOB_KIND))throw Error("Destination agent must be updated to move worktrees");let n=e.targetWorktreeId?await r.worktree.findFirst({where:{id:e.targetWorktreeId,codebaseId:a.id,missingAt:null,availability:"AVAILABLE"}}):null;if("EXISTING"===e.destinationMode&&!n)throw Error("Destination worktree is no longer available");return this.agentControl.createJob({agentId:a.agentId,codebaseId:a.id,worktreeId:n?.id??null,kind:l.WORKTREE_MOVE_CHECKOUT_JOB_KIND,payload:{moveId:e.id,codebaseId:a.id,rootFolder:a.folder,folder:n?.folder??null,gitDirectory:n?.gitDirectory??null,expectedOrigin:a.repository.canonicalOrigin,branch:e.branch,expectedHeadSha:e.headSha,baseBranch:e.baseBranch,mode:e.destinationMode,stashOnFailure:t},idempotencyKey:`worktree:move:checkout:${e.id}:${t?"stash":"initial"}`,timeoutSeconds:600})}async advanceMoveAfterPush(e){let t=this.moveIdFromJob(e),r=await (0,i.getPrismaClient)(),a=await r.worktreeMove.findUnique({where:{id:t}});if(!a||"PUSHING"!==a.status||a.sourceJobId&&a.sourceJobId!==e.id)return;if("SUCCEEDED"!==e.status)return void await this.failMove(a.id,"PUSHING",e.error||"Could not push the source branch");let n=R(e);if(n.headSha!==a.headSha||n.branch!==a.branch)return void await this.failMove(a.id,"PUSHING","The source push returned an unexpected branch");try{let e=await this.createMoveCheckoutJob(a,!1);await r.worktreeMove.updateMany({where:{id:a.id,status:"PUSHING"},data:{status:"CHECKING_OUT",targetJobId:e.id}}),this.publish(a.sourceWorktreeId,a.sourceCodebaseId)}catch(e){await this.failMove(a.id,"PUSHING",e instanceof Error?e.message:String(e))}}async projectMoveDestination(e,r){let a=(0,l.parseWorktreeInventoryItem)(r),n=await (0,i.getPrismaClient)(),s=await n.codebase.findUnique({where:{id:e.targetCodebaseId},select:{localBranchesJson:!0}});if(!s)throw Error("Destination codebase no longer exists");let o=new Set(E(s.localBranchesJson));a.branch&&o.add(a.branch);let u=e.targetWorktreeId;return await n.$transaction(async r=>{if(await r.codebase.update({where:{id:e.targetCodebaseId},data:{localBranchesJson:JSON.stringify([...o].sort((e,t)=>e.localeCompare(t)))}}),u){if(1!==(await r.worktree.updateMany({where:{id:u,codebaseId:e.targetCodebaseId},data:{...this.inventoryData(a),gitDirectory:a.gitDirectory,baseBranchOverride:e.baseBranch,missingAt:null}})).count)throw Error("Destination worktree no longer exists")}else u=(await r.worktree.upsert({where:{codebaseId_gitDirectory:{codebaseId:e.targetCodebaseId,gitDirectory:a.gitDirectory}},create:{id:(0,t.randomUUID)(),codebaseId:e.targetCodebaseId,gitDirectory:a.gitDirectory,...this.inventoryData(a),baseBranchOverride:e.baseBranch},update:{...this.inventoryData(a),baseBranchOverride:e.baseBranch,missingAt:null}})).id;await r.worktreeMove.update({where:{id:e.id},data:{targetWorktreeId:u}})}),this.publish(u??null,e.targetCodebaseId),await this.skillsService?.requestAutoReconcile(),u}async scheduleMoveCleanup(e){let t=await (0,i.getPrismaClient)(),r=await t.worktreeMove.findUniqueOrThrow({where:{id:e}}),a=await t.worktree.findUnique({where:{id:r.sourceWorktreeId},include:{codebase:{include:{agent:!0,repository:!0}}}});if(!a||a.missingAt||a.primary){await t.worktreeMove.update({where:{id:r.id},data:{status:"SUCCEEDED_WITH_WARNING",warning:"Destination is ready, but the source worktree could not be removed",finishedAt:new Date}}),this.publish(r.sourceWorktreeId,r.sourceCodebaseId);return}try{let e=await this.agentControl.createJob({agentId:a.codebase.agentId,codebaseId:a.codebaseId,worktreeId:a.id,kind:l.WORKTREE_DELETE_JOB_KIND,payload:{moveId:r.id,codebaseId:a.codebaseId,rootFolder:a.codebase.folder,folder:a.folder,gitDirectory:a.gitDirectory,expectedOrigin:a.codebase.repository.canonicalOrigin,branch:a.branch,defaultBranch:a.codebase.defaultBranch,deleteRemoteBranch:!1,requireClean:!0,expectedHeadSha:r.headSha},idempotencyKey:`worktree:move:cleanup:${r.id}`,timeoutSeconds:600});await t.worktreeMove.updateMany({where:{id:r.id,status:{in:["PUSHING","CHECKING_OUT","AWAITING_STASH"]}},data:{status:"CLEANING_UP",cleanupJobId:e.id}}),this.publish(a.id,a.codebaseId)}catch(e){await t.worktreeMove.update({where:{id:r.id},data:{status:"SUCCEEDED_WITH_WARNING",warning:e instanceof Error?e.message:String(e),finishedAt:new Date}}),this.publish(a.id,a.codebaseId)}}async advanceMoveAfterCheckout(e){let t=this.moveIdFromJob(e),r=await (0,i.getPrismaClient)(),a=await r.worktreeMove.findUnique({where:{id:t}});if(!a||!["PUSHING","CHECKING_OUT","AWAITING_STASH"].includes(a.status)||a.targetJobId&&a.targetJobId!==e.id)return;if("SUCCEEDED"!==e.status)return void await this.failMove(a.id,a.status,e.error||"Could not check out the destination branch");let n=R(e);if("NEEDS_STASH"===n.outcome){await r.worktreeMove.updateMany({where:{id:a.id,status:{in:["PUSHING","CHECKING_OUT","AWAITING_STASH"]}},data:{status:"AWAITING_STASH",error:"string"==typeof n.message?n.message:"Destination changes block the branch switch"}}),this.publish(a.sourceWorktreeId,a.sourceCodebaseId);return}"CHECKED_OUT"===n.outcome&&n.worktree?(await this.projectMoveDestination(a,n.worktree),a.deleteSource?await this.scheduleMoveCleanup(a.id):(await r.worktreeMove.update({where:{id:a.id},data:{status:"SUCCEEDED",error:null,finishedAt:new Date}}),this.publish(a.sourceWorktreeId,a.sourceCodebaseId))):await this.failMove(a.id,a.status,"Destination checkout returned an invalid result")}async projectDeleteOperation(e){let t=JSON.parse(e.payloadJson),r=t&&"object"==typeof t&&!Array.isArray(t)&&"string"==typeof t.moveId?String(t.moveId):null,a=await (0,i.getPrismaClient)();if(r){let t=await a.worktreeMove.findUnique({where:{id:r}});if(!t||!["PUSHING","CHECKING_OUT","AWAITING_STASH","CLEANING_UP"].includes(t.status)||t.cleanupJobId&&t.cleanupJobId!==e.id)return;if("SUCCEEDED"!==e.status){await a.worktreeMove.update({where:{id:t.id},data:{status:"SUCCEEDED_WITH_WARNING",warning:e.error||"Destination is ready, but the source worktree was retained",finishedAt:new Date}}),this.publish(t.sourceWorktreeId,t.sourceCodebaseId);return}await a.$transaction([a.worktree.deleteMany({where:{id:t.sourceWorktreeId}}),a.worktreeMove.update({where:{id:t.id},data:{status:"SUCCEEDED",finishedAt:new Date}})]),this.publish(t.sourceWorktreeId,t.sourceCodebaseId);return}if("SUCCEEDED"!==e.status||!e.worktreeId)return;let n=await a.worktree.findUnique({where:{id:e.worktreeId},select:{codebaseId:!0}});await a.worktree.deleteMany({where:{id:e.worktreeId}}),this.publish(e.worktreeId,n?.codebaseId??null)}async projectOperation(e){if(!e.worktreeId||"SUCCEEDED"!==e.status||!e.resultJson)return;let t=R({...e,error:null});if(!t.worktree)return;let r=(0,l.parseWorktreeInventoryItem)(t.worktree),a=await (0,i.getPrismaClient)(),n=await a.worktree.findUnique({where:{id:e.worktreeId}});if(!n)return;let s=new Date(r.checkedAt);(await a.worktree.updateMany({where:{id:n.id,OR:[{lastCheckedAt:null},{lastCheckedAt:{lt:s}}]},data:{branch:r.branch,headSha:r.headSha,upstream:r.upstream,ahead:r.ahead,behind:r.behind,syncState:r.syncState,baseAhead:r.baseAhead,baseBehind:r.baseBehind,hasStagedChanges:r.hasStagedChanges??!1,hasUnstagedChanges:r.hasUnstagedChanges??!1,rebaseInProgress:r.rebaseInProgress??!1,hasConflicts:r.hasConflicts??!1,pushStatus:r.pushStatus??"UNKNOWN",availability:r.availability,statusError:r.error,lastCheckedAt:s}})).count>0&&this.publish(n.id,n.codebaseId)}async projectBranchOperation(e){if(!e.codebaseId||"SUCCEEDED"!==e.status||!e.resultJson)return;let r=R({...e,error:null});if(!r.worktree||"string"!=typeof r.baseBranch)return;let a=(0,l.parseWorktreeInventoryItem)(r.worktree),n=await (0,i.getPrismaClient)(),s=await n.codebase.findUnique({where:{id:e.codebaseId},select:{localBranchesJson:!0}});if(!s)return;let o=new Set(E(s.localBranchesJson));a.branch&&o.add(a.branch);let u=e.worktreeId;await n.$transaction(async i=>{if(await i.codebase.update({where:{id:e.codebaseId},data:{localBranchesJson:JSON.stringify([...o].sort((e,t)=>e.localeCompare(t)))}}),e.worktreeId){if(1!==(await i.worktree.updateMany({where:{id:e.worktreeId,codebaseId:e.codebaseId},data:{...this.inventoryData(a),gitDirectory:a.gitDirectory,baseBranchOverride:r.baseBranch,missingAt:null}})).count)throw Error("Worktree no longer exists");return}u=(await i.worktree.upsert({where:{codebaseId_gitDirectory:{codebaseId:e.codebaseId,gitDirectory:a.gitDirectory}},create:{id:(0,t.randomUUID)(),codebaseId:e.codebaseId,gitDirectory:a.gitDirectory,...this.inventoryData(a),baseBranchOverride:r.baseBranch},update:{...this.inventoryData(a),baseBranchOverride:r.baseBranch,missingAt:null}})).id}),this.publish(u??null,e.codebaseId),!e.worktreeId&&u&&await this.recordWorktreeCreated(u),await this.skillsService?.requestAutoReconcile(),e.worktreeId&&await this.restartWatch(e.worktreeId)}async recordWorktreeCreated(e){if(!this.workflowEvents)return;let t=await this.workflowSessionDataForWorktree(e);Object.keys(t).length&&await this.workflowEvents.record({kind:"WORKTREE_CREATED",subjectKey:e,dedupeKey:`worktree-created:${e}`,payload:{...t,sessionData:t}})}async waitForJob(e){let t=n.agentEventBus.iterate((0,n.agentJobChangedTopic)(e)),r=Date.now()+3e4;try{for(;Date.now()<r;){let i=await this.agentControl.getJob(e);if(!i)throw Error("Worktree job disappeared");if(["SUCCEEDED","FAILED","CANCELLED","TIMED_OUT"].includes(i.status))return i;await Promise.race([t.next(),new Promise(e=>setTimeout(e,r-Date.now()))])}throw await this.agentControl.cancelJob(e),Error("Agent did not respond in time")}finally{await t.return?.()}}},"worktreeDisplayPath",0,C],504173),e.s(["executingResourcesByWorktree",0,D],518733);let N=new Set(["SUCCEEDED","FAILED","CANCELLED","TIMED_OUT","INVALID"]),O={agents:{include:{agent:!0}},jobs:{orderBy:{createdAt:"asc"}}};function P(e){return null!==e.lastSeenAt&&Date.now()-e.lastSeenAt.getTime()<=(0,a.agentOnlineWindowMs)(e)&&null===e.disconnectedAt}function $(e){try{let t=JSON.parse(e.capabilitiesJson);return Array.isArray(t)?t.filter(e=>"string"==typeof e):[]}catch{return[]}}function U(e){return null===e?null:JSON.parse(e)}function B(e){let t=U(e.payloadJson);return(e.kind===r.BUILD_DATA_DELETE_JOB_KIND?(0,r.buildDataDeletePayload)(t).targets:(0,r.buildDataTargetsPayload)(t).targets).map(e=>e.path)}function j(e,t){let i=e===r.BUILD_DATA_DELETE_JOB_KIND?"delete":"size";return`Invalid Build Data ${i} result: ${t instanceof Error?t.message:String(t)}`}function L(e,t,r){try{for(let i of B(t)){let a=e.get(q(t.agentId,i));a&&(a.error=r)}}catch{}}function q(e,r){return(0,t.createHash)("sha256").update(e).update("\0").update(r).digest("base64url")}e.s(["BuildDataService",0,class{agentControlService;initialized;constructor(e){this.agentControlService=e,this.initialized=!1,this.agentControlService.registerCompletionHandler(r.BUILD_DATA_DELETE_JOB_KIND,e=>this.projectDeletion(e))}async initialize(){this.initialized||(await this.pruneHistory(),this.initialized=!0)}async refresh(e){await this.initialize();let r=e?.trim()||(0,t.randomUUID)();return await this.ensureCollection(r),await this.getCollection(r)}async getCollection(e){await this.initialize();let t=await this.loadCollection(e);if(!t)return null;!t.finishedAt&&t.deadlineAt.getTime()<=Date.now()&&(await this.expireCollection(t),t=await this.loadCollection(e)??t);let r=await this.snapshot(t);if("COMPLETED"===r.status&&!t.finishedAt){let t=new Date,a=await (0,i.getPrismaClient)();await a.buildDataCollection.updateMany({where:{id:e,finishedAt:null},data:{finishedAt:t}}),r.finishedAt=t.toISOString()}return r}async *subscribe(e){await this.initialize();let t=n.agentEventBus.iterate((0,n.buildDataCollectionChangedTopic)(e));try{let r=await this.getCollection(e);for(r&&(yield r);;){if((await t.next()).done)return;let r=await this.getCollection(e);r&&(yield r)}}finally{await t.return?.()}}async calculateSizes(e,t,i){let a=await this.requireCollection(e);return await this.createTargetJobs(a,t,i,r.BUILD_DATA_SIZE_JOB_KIND),await this.getCollection(e)}async deleteEntries(e,t,i,a=!1){let n=await this.requireCollection(e);return await this.createTargetJobs(n,t,i,r.BUILD_DATA_DELETE_JOB_KIND,a),await this.getCollection(e)}async history(e=100,t){await this.initialize(),await this.pruneHistory();let r=Math.max(1,Math.min(e,200)),a=await (0,i.getPrismaClient)(),n=t?await a.buildDataDeletionHistory.findUnique({where:{id:t},select:{id:!0,deletedAt:!0}}):null,s=await a.buildDataDeletionHistory.findMany({where:n?{OR:[{deletedAt:{lt:n.deletedAt}},{deletedAt:n.deletedAt,id:{lt:n.id}}]}:void 0,orderBy:[{deletedAt:"desc"},{id:"desc"}],take:r+1}),o=s.length>r,l=s.slice(0,r);return{items:l,nextCursor:o?l.at(-1)?.id??null:null}}async clearHistory(){await this.initialize();let e=await (0,i.getPrismaClient)();return(await e.buildDataDeletionHistory.deleteMany()).count}async ensureCollection(e){let t=await (0,i.getPrismaClient)(),a=await t.buildDataCollection.findUnique({where:{id:e},select:{id:!0}});if(!a){let i=await this.agentControlService.listAgents();try{a=await t.buildDataCollection.create({data:{id:e,deadlineAt:new Date(Date.now()+6e4),agents:{create:i.map(e=>({agentId:e.id,initialStatus:P(e)?$(e).includes(r.BUILD_DATA_SCAN_JOB_KIND)?"QUEUING":"UNSUPPORTED":"OFFLINE"}))}},select:{id:!0}}),this.publish(e)}catch(r){if(!(a=await t.buildDataCollection.findUnique({where:{id:e},select:{id:!0}})))throw r}}await this.ensureScanJobs(e)}async ensureScanJobs(e){let t=await (0,i.getPrismaClient)(),a=await t.buildDataCollection.findUnique({where:{id:e},select:{deadlineAt:!0,finishedAt:!0}});if(!a||a.finishedAt||a.deadlineAt<=new Date)return;let n=await t.buildDataCollectionAgent.findMany({where:{collectionId:e,initialStatus:"QUEUING"},include:{agent:!0}}),s=new Set((await t.agentJob.findMany({where:{buildDataCollectionId:e,kind:r.BUILD_DATA_SCAN_JOB_KIND},select:{agentId:!0}})).map(e=>e.agentId));for(let i of n)if(!s.has(i.agentId))try{let a=await t.worktree.findMany({where:{missingAt:null,codebase:{agentId:i.agentId}},select:{id:!0,folder:!0}});await this.agentControlService.createJob({agentId:i.agentId,kind:r.BUILD_DATA_SCAN_JOB_KIND,payload:{mode:i.agent.derivedDataLocationMode,path:i.agent.derivedDataPath,worktrees:a},idempotencyKey:`build-data:scan:${e}`,timeoutSeconds:45,buildDataCollectionId:e,visibility:"SYSTEM"})}catch(r){await t.buildDataCollectionAgent.update({where:{collectionId_agentId:{collectionId:e,agentId:i.agentId}},data:{initialStatus:"FAILED",error:r instanceof Error?r.message:String(r)}}),this.publish(e)}}async createTargetJobs(e,t,a,n,s=!1){let o=[...new Set(t)];if(!o.length)throw Error("Select at least one Derived Data entry");let l=new Map(e.entries.map(e=>[e.id,e])),u=o.map(e=>{let t=l.get(e);if(!t)throw Error("A selected Derived Data entry is no longer available");return t});if(n===r.BUILD_DATA_DELETE_JOB_KIND&&!s){let e=u.filter(e=>e.locked||e.activeResources.length>0);if(e.length)throw Error(`Explicit override confirmation is required to delete protected Derived Data: ${e.map(e=>e.name).join(", ")}`)}let c=new Map;for(let e of u){let t=c.get(e.agent.id)??[];t.push(e),c.set(e.agent.id,t)}let d=await (0,i.getPrismaClient)(),p=[];for(let[e,t]of c){let r=t[0].agent,i=await d.agent.findUnique({where:{id:e}});if(!i||!P(i))throw Error(`${r.name} is offline; reconnect it before running this operation`);if(!$(i).includes(n))throw Error(`${r.name} must be updated before this operation can run`);p.push({agentId:e,entries:t})}for(let{agentId:t,entries:i}of p){let s=n===r.BUILD_DATA_DELETE_JOB_KIND?[...new Map(i.filter(e=>!!e.worktreeId).map(e=>[e.worktreeId,e])).values()]:[],o=[];try{for(let e of s)await d.derivedDataCleanupLease.create({data:{worktreeId:e.worktreeId,agentId:t,path:e.path,source:"USER",expiresAt:new Date(Date.now()+6048e5)}}),o.push(e.worktreeId);let r=await this.agentControlService.createJob({agentId:t,kind:n,payload:{targets:i.map(({path:e,rootPath:t})=>({path:e,rootPath:t}))},idempotencyKey:`${n}:${e.id}:${a}:${t}`,timeoutSeconds:604800,buildDataCollectionId:e.id,visibility:"SYSTEM"});s.length&&await d.derivedDataCleanupLease.updateMany({where:{worktreeId:{in:s.map(e=>e.worktreeId)},jobId:null},data:{jobId:r.id}})}catch(e){throw o.length&&await d.derivedDataCleanupLease.deleteMany({where:{worktreeId:{in:o},source:"USER",jobId:null}}),e}}}async requireCollection(e){let t=await this.getCollection(e);if(!t)throw Error("Derived Data collection not found");if("COMPLETED"!==t.status)throw Error("Wait for the Derived Data scan to finish");return t}async loadCollection(e){return(await (0,i.getPrismaClient)()).buildDataCollection.findUnique({where:{id:e},include:O})}progress(e){let t=new Map(e.jobs.filter(e=>e.kind===r.BUILD_DATA_SCAN_JOB_KIND).map(e=>[e.agentId,e])),i=e.agents.map(e=>{let i=t.get(e.agentId),a=e.initialStatus,n=e.error,s=[];if("QUEUING"===e.initialStatus&&i&&(a=i.status,n=i.error,"SUCCEEDED"===i.status))try{s=(0,r.parseBuildDataScanResult)(U(i.resultJson)).warnings}catch(e){a="INVALID",n=e instanceof Error?e.message:String(e)}return{agent:e.agent,status:a,jobId:i?.id??null,error:n,warnings:s}}),a=i.filter(({status:e})=>"OFFLINE"!==e&&"UNSUPPORTED"!==e),n=a.filter(({status:e})=>N.has(e));return{agents:i,eligibleCount:a.length,finishedCount:n.length,successfulCount:a.filter(({status:e})=>"SUCCEEDED"===e).length}}async snapshot(e){let t=this.progress(e),r=await this.entries(e,!1);return{id:e.id,status:t.finishedCount===t.eligibleCount?"COMPLETED":"COLLECTING",createdAt:e.createdAt.toISOString(),deadlineAt:e.deadlineAt.toISOString(),finishedAt:e.finishedAt?.toISOString()??null,progress:t,entries:r}}async entries(e,t){let a=await (0,i.getPrismaClient)(),n=new Map(e.agents.map(e=>[e.agentId,e.agent])),s=await a.worktree.findMany({where:{missingAt:null,codebase:{agentId:{in:[...n.keys()]}}},include:{codebase:{select:{agentId:!0}}}}),o=new Map;for(let e of s){let t=o.get(e.codebase.agentId)??[];t.push(e),o.set(e.codebase.agentId,t)}let l=new Map;for(let t of e.jobs){let e;if(t.kind!==r.BUILD_DATA_SCAN_JOB_KIND||"SUCCEEDED"!==t.status)continue;let i=n.get(t.agentId);if(i){try{e=(0,r.parseBuildDataScanResult)(U(t.resultJson))}catch{continue}for(let r of e.entries){let e=(r.workspacePath?(o.get(t.agentId)??[]).filter(e=>(function(e,t){let r="/"===e?e:e.replace(/\/+$/,"");return t===r||t.startsWith(`${r}/`)})(e.folder,r.workspacePath)).sort((e,t)=>t.folder.length-e.folder.length):[])[0]??null,a=q(t.agentId,r.path);l.set(a,{id:a,name:r.name,kind:r.kind,status:"DEVICE_SUPPORT"===r.kind?"READY":"PENDING"===r.kind?"PENDING":"SHARED_CACHE"===r.kind?"SHARED_CACHE":e?"READY":"UNLINKED",workspacePath:r.workspacePath,worktreeId:e?.id??null,worktreePath:e?C(e.folder,i.baseRepoDirectory):null,sizeBytes:null,operation:"IDLE",error:null,agent:i,path:r.path,rootPath:r.rootPath,modifiedAt:r.modifiedAt,volumeId:r.volumeId,locked:!1,activeResources:[]})}}}for(let i of e.jobs){if(i.kind===r.BUILD_DATA_SIZE_JOB_KIND&&"SUCCEEDED"===i.status)try{for(let e of(0,r.parseBuildDataSizeResult)(U(i.resultJson)).sizes){let t=l.get(q(i.agentId,e.path));t&&(t.sizeBytes=e.sizeBytes,t.error=e.error)}}catch(e){L(l,i,j(r.BUILD_DATA_SIZE_JOB_KIND,e))}if(i.kind===r.BUILD_DATA_DELETE_JOB_KIND&&"SUCCEEDED"===i.status)try{for(let e of(0,r.parseBuildDataDeleteResult)(U(i.resultJson)).deleted){let r=q(i.agentId,e.path),a=l.get(r);a&&(e.deleted&&!t?l.delete(r):a.error=e.error)}}catch(e){L(l,i,j(r.BUILD_DATA_DELETE_JOB_KIND,e))}if("QUEUED"===i.status||"RUNNING"===i.status){if(i.kind!==r.BUILD_DATA_SIZE_JOB_KIND&&i.kind!==r.BUILD_DATA_DELETE_JOB_KIND)continue;try{for(let e of B(i)){let t=l.get(q(i.agentId,e));t&&(t.operation=i.kind===r.BUILD_DATA_DELETE_JOB_KIND?"DELETING":"SIZING")}}catch{}}if("SUCCEEDED"!==i.status&&N.has(i.status)&&(i.kind===r.BUILD_DATA_SIZE_JOB_KIND||i.kind===r.BUILD_DATA_DELETE_JOB_KIND))try{for(let e of B(i)){let t=l.get(q(i.agentId,e));t&&(t.error=i.error||"Build Data operation failed")}}catch{}}let u=[...l.values()],c=u.map(e=>e.worktreeId).filter(e=>!!e),[d,p]=await Promise.all([a.derivedDataLock.findMany({where:{OR:u.map(e=>({agentId:e.agent.id,path:e.path}))},select:{agentId:!0,path:!0}}),D(c)]),h=new Set(d.map(e=>`${e.agentId}\0${e.path}`));for(let e of u)e.locked=h.has(`${e.agent.id}\0${e.path}`),e.activeResources=e.worktreeId?p.get(e.worktreeId)??[]:[];return u.sort((e,t)=>e.agent.name.localeCompare(t.agent.name)||(null===e.modifiedAt?1:null===t.modifiedAt?-1:new Date(e.modifiedAt).getTime()-new Date(t.modifiedAt).getTime())||e.name.localeCompare(t.name))}async setEntryLocked(e,r,a){let n=(await this.requireCollection(e)).entries.find(e=>e.id===r);if(!n)throw Error("Derived Data entry not found");let s=await (0,i.getPrismaClient)();return a?await s.derivedDataLock.upsert({where:{agentId_path:{agentId:n.agent.id,path:n.path}},create:{id:(0,t.randomUUID)(),agentId:n.agent.id,path:n.path},update:{}}):await s.derivedDataLock.deleteMany({where:{agentId:n.agent.id,path:n.path}}),this.publish(e),await this.getCollection(e)}async expireCollection(e){let t=await (0,i.getPrismaClient)(),a=new Set(e.jobs.filter(e=>e.kind===r.BUILD_DATA_SCAN_JOB_KIND).map(e=>e.agentId));await t.buildDataCollectionAgent.updateMany({where:{collectionId:e.id,initialStatus:"QUEUING",agentId:{notIn:[...a]}},data:{initialStatus:"TIMED_OUT"}}),await this.agentControlService.timeoutBuildDataCollectionJobs(e.id),this.publish(e.id)}async projectDeletion(e){let a;if("SUCCEEDED"!==e.status||!e.resultJson)return;await this.pruneHistory();let n=await (0,i.getPrismaClient)();if(await n.buildDataDeleteProjection.findUnique({where:{jobId:e.id}}))return;try{a=(0,r.parseBuildDataDeleteResult)(U(e.resultJson)).deleted.filter(e=>e.deleted)}catch(i){let t=j(r.BUILD_DATA_DELETE_JOB_KIND,i);try{await n.buildDataDeleteProjection.create({data:{jobId:e.id,error:t}})}catch(t){if(!await n.buildDataDeleteProjection.findUnique({where:{jobId:e.id}}))throw t}return}if(!a.length)return void await n.buildDataDeleteProjection.create({data:{jobId:e.id}});let s=(0,r.buildDataDeletePayload)(U(e.payloadJson)),o=e.buildDataCollectionId?await this.loadCollection(e.buildDataCollectionId):null,l=new Map((o?await this.entries(o,!0):[]).filter(t=>t.agent.id===e.agentId).map(e=>[e.path,e])),u=new Map(s.targets.map(e=>[e.path,e])),c=await n.agent.findUnique({where:{id:e.agentId}});if(c)try{await n.$transaction(async r=>{if(!await r.buildDataDeleteProjection.findUnique({where:{jobId:e.id}}))for(let i of(await r.buildDataDeleteProjection.create({data:{jobId:e.id}}),a)){let a=l.get(i.path),n=u.get(i.path),o=n?.worktreeId??a?.worktreeId??null,d=o?(await r.worktree.findUnique({where:{id:o},select:{id:!0}}))?.id??null:null;await r.buildDataDeletionHistory.create({data:{id:(0,t.randomUUID)(),agentId:e.agentId,agentName:c.name,folderName:n?.name??a?.name??i.path,worktreeId:d,worktreePath:n?.worktreePath??a?.worktreePath??null,source:s.source,entryKind:n?.kind??a?.kind??"PROJECT",jobId:e.id,targetKey:a?.id??q(e.agentId,i.path)}})}})}catch(t){if(!await n.buildDataDeleteProjection.findUnique({where:{jobId:e.id}}))throw t}}async pruneHistory(){let e=await (0,i.getPrismaClient)();await e.buildDataDeletionHistory.deleteMany({where:{deletedAt:{lt:new Date(Date.now()-7776e6)}}})}publish(e){n.agentEventBus.publish(n.BUILD_DATA_CHANGED_TOPIC,{buildDataCollectionChanged:{id:e}}),n.agentEventBus.publish((0,n.buildDataCollectionChangedTopic)(e),{buildDataCollectionChanged:{id:e}})}}],925991),e.s([],396763)},971619,e=>{"use strict";var t=e.i(750227);e.s(["effectiveBuildsDirectory",0,function(e){var r;return e.buildsDirectory??((r=e.baseRepoDirectory)?/^[a-z]:[\\/]/i.test(r)||r.startsWith("\\\\")?t.win32.join(r,"Builds"):t.posix.join(r,"Builds"):null)}])},224174,669602,190714,646462,890564,e=>{"use strict";var t=e.i(666680),r=e.i(750227),i=e.i(807055),a=e.i(503083),n=e.i(243783);e.i(805422);var s=e.i(694355),o=e.i(661983),l=e.i(971619);let u=new Set(i.BUILD_CONFIGURATION_ICON_KEYS),c=new Set(["SUCCEEDED","FAILED","CANCELLED","TIMED_OUT"]),d=["QUEUED","PREPARING","RUNNING"];function p(e,t=null){if(null===e)return t;try{return JSON.parse(e)}catch{return t}}function h(e,t){if(!e||"object"!=typeof e||Array.isArray(e))throw Error(`${t} must be an object`);return e}function m(e){return Array.isArray(e)?e.filter(e=>"string"==typeof e):[]}function f(e){return null!==e.lastSeenAt&&Date.now()-e.lastSeenAt.getTime()<=(0,s.agentOnlineWindowMs)(e)&&null===e.disconnectedAt}function g(e){return m(p(e.capabilitiesJson,[]))}function y(e,t,r=80){let i=e.trim();if(!i)throw Error(`${t} is required`);if(i.length>r)throw Error(`${t} is too long`);return i}function w(e){return`${e.type}:${e.id}`}function b(e){if(e.codebaseId)return e.codebaseId;let t=p(e.snapshotJson,{});if(t&&"object"==typeof t&&!Array.isArray(t)){let e=t.codebase;if(e&&"object"==typeof e&&!Array.isArray(e)){let t=e.id;if("string"==typeof t&&t.trim())return t}}throw Error("Build coordination metadata is unavailable")}function v(e){return"SUCCEEDED"===e?"SUCCEEDED":"CANCELLED"===e?"CANCELLED":"FAILED"}let k={agent:!0,codebase:{include:{repository:!0}},worktree:{include:{_count:{select:{builds:{where:{status:{in:d}}}}}}},configuration:{include:{source:!0,project:!0}},artifacts:{orderBy:{createdAt:"asc"}},scriptExecutions:{orderBy:[{phase:"asc"},{position:"asc"}]},deployments:{orderBy:{createdAt:"desc"}},exports:{orderBy:{createdAt:"desc"}}};e.s(["BuildsService",0,class{agentControl;telemetry;notifications;diskSpace;constructor(e,t,r,n){this.agentControl=e,this.telemetry=t,this.notifications=r,this.diskSpace=n,this.agentControl.registerCompletionHandler(i.IOS_BUILD_JOB_KIND,e=>this.projectBuildCompletion(e)),this.agentControl.registerCompletionHandler(i.IOS_DEPLOY_JOB_KIND,e=>this.projectDeploymentCompletion(e)),this.agentControl.registerCompletionHandler(i.IOS_EXPORT_JOB_KIND,e=>this.projectExportCompletion(e)),this.agentControl.registerCompletionHandler(i.IOS_TEST_RESULTS_JOB_KIND,e=>this.projectGeneratedReportCompletion(e)),this.agentControl.registerCompletionHandler(i.IOS_COVERAGE_REPORT_JOB_KIND,e=>this.projectGeneratedReportCompletion(e)),this.agentControl.registerCompletionHandler(a.COVERAGE_IMPORT_JOB_KIND,e=>this.importedCoverageCompletion(e))}publish(e){o.agentEventBus.publish((0,o.buildTopic)(e),{buildChanged:{id:e}}),o.agentEventBus.publish(o.BUILDS_CHANGED_TOPIC,{buildsChanged:{id:e}}),o.agentEventBus.publish(o.SIDEBAR_STATUS_CHANGED_TOPIC,{sidebarStatusChanged:!0})}async requireWorktree(e,t,r="Agent must be updated to use iOS builds"){let i=await (0,n.getPrismaClient)(),a=await i.worktree.findUnique({where:{id:e},include:{codebase:{include:{agent:!0,repository:!0}}}});if(!a||a.missingAt||"AVAILABLE"!==a.availability)throw Error("Worktree is unavailable");if(!f(a.codebase.agent))throw Error("Agent is offline");if(!g(a.codebase.agent).includes(t))throw Error(r);return a}identity(e){return{codebaseId:e.codebaseId,worktreeId:e.id,branch:e.branch,folder:e.folder,gitDirectory:e.gitDirectory,expectedOrigin:e.codebase.repository.canonicalOrigin,headSha:e.headSha,baseBranch:e.baseBranchOverride??e.codebase.defaultBranch??null}}async ensureProject(e){let r=await (0,n.getPrismaClient)(),i=await r.codebase.findUnique({where:{id:e},select:{repositoryId:!0}});if(!i)throw Error("Codebase not found");return r.codebaseProject.upsert({where:{repositoryId_type:{repositoryId:i.repositoryId,type:"IOS_APP"}},create:{id:(0,t.randomUUID)(),repositoryId:i.repositoryId,type:"IOS_APP"},update:{}})}async project(e){let t=await (0,n.getPrismaClient)(),r=await t.codebase.findUnique({where:{id:e},include:{repository:!0}});if(!r)return null;let i=await t.codebaseProject.findUnique({where:{repositoryId_type:{repositoryId:r.repositoryId,type:"IOS_APP"}},include:{configurations:{orderBy:{name:"asc"},include:{source:{include:{observations:{where:{codebaseId:e},orderBy:{lastParseAttemptAt:"desc"},take:1}}}}}}}),a=await t.codebaseRepositoryBuildScript.findMany({where:{repositoryId:r.repositoryId,script:{deletedAt:null}},orderBy:[{position:"asc"},{script:{name:"asc"}}],include:{script:!0}});return i?{...i,repository:r.repository,allowedScripts:a}:null}async createProject(e){return await this.ensureProject(e),this.project(e)}async projectForWorktree(e){let t=await (0,n.getPrismaClient)(),r=await t.worktree.findUnique({where:{id:e},select:{codebaseId:!0}});return r?this.project(r.codebaseId):null}async saveConfiguration(e){let r=await this.ensureProject(e.codebaseId),a=(0,i.parseBuildSource)({kind:e.sourceKind,relativePath:e.sourcePath}),s=y(e.name,"Configuration name"),o=y(e.scheme,"Scheme",256),l=y(e.buildConfiguration,"Xcode configuration",256);if(!i.BUILD_ACTIONS.includes(e.defaultAction))throw Error("Build action is invalid");let c=e.iconKey?.trim()||null;if(c&&!u.has(c))throw Error("Icon is invalid");let d=(0,i.parseBuildAdvancedSettings)(e.advancedSettings??i.DEFAULT_BUILD_ADVANCED_SETTINGS),p=!0===e.autoExport;if(p&&"ARCHIVE"!==e.defaultAction)throw Error("Auto Export is available only for Archive configurations");let h=e.exportSettings?(0,i.parseBuildExportSettings)(e.exportSettings):null;if(p&&!h)throw Error("Auto Export settings are required");let m=await (0,n.getPrismaClient)(),f=e.id?await m.buildConfiguration.findUnique({where:{id:e.id}}):null;if(e.id&&(!f||f.projectId!==r.id))throw Error("Build configuration not found");let g=await m.buildSource.upsert({where:{projectId_relativePath:{projectId:r.id,relativePath:a.relativePath}},create:{id:(0,t.randomUUID)(),projectId:r.id,kind:a.kind,relativePath:a.relativePath},update:{kind:a.kind}}),w=f?.id??(0,t.randomUUID)();return m.buildConfiguration.upsert({where:{id:w},create:{id:w,projectId:r.id,sourceId:g.id,name:s,iconKey:c,scheme:o,buildConfiguration:l,defaultAction:e.defaultAction,advancedSettingsJson:JSON.stringify(d),autoExport:p,exportSettingsJson:h?JSON.stringify(h):null},update:{sourceId:g.id,name:s,iconKey:c,scheme:o,buildConfiguration:l,defaultAction:e.defaultAction,advancedSettingsJson:JSON.stringify(d),autoExport:p,exportSettingsJson:h?JSON.stringify(h):null},include:{source:!0}})}async deleteConfiguration(e){let t=await (0,n.getPrismaClient)();if(await t.build.findFirst({where:{configurationId:e,status:{in:d}}}))throw Error("Configuration has an active build");return 1===(await t.buildConfiguration.deleteMany({where:{id:e}})).count}async scripts(){return(await (0,n.getPrismaClient)()).buildScript.findMany({where:{deletedAt:null},orderBy:{name:"asc"}})}async saveScript(e){let r=y(e.name,"Script name"),a=e.preBuildScript?.trim()||null,s=e.postBuildScript?.trim()||null;if(!a&&!s)throw Error("A pre-build or post-build script is required");let o=e.timeoutSeconds??300;if(!Number.isInteger(o)||o<1||o>3600)throw Error("Script timeout must be between 1 and 3600 seconds");if(!i.BUILD_SCRIPT_FAILURE_BEHAVIORS.includes(e.failureBehavior))throw Error("Script failure behavior is invalid");let l=await (0,n.getPrismaClient)(),u=e.id??(0,t.randomUUID)();return l.buildScript.upsert({where:{id:u},create:{id:u,name:r,preBuildScript:a,postBuildScript:s,enabledByDefault:e.enabledByDefault,timeoutSeconds:o,failureBehavior:e.failureBehavior},update:{name:r,preBuildScript:a,postBuildScript:s,enabledByDefault:e.enabledByDefault,timeoutSeconds:o,failureBehavior:e.failureBehavior,deletedAt:null}})}async deleteScript(e){let t=await (0,n.getPrismaClient)(),r=await t.buildScript.updateMany({where:{id:e,deletedAt:null},data:{deletedAt:new Date}});return await t.codebaseRepositoryBuildScript.deleteMany({where:{scriptId:e}}),1===r.count}async setAllowedScripts(e,t){let r=await (0,n.getPrismaClient)(),i=await r.codebase.findUnique({where:{id:e}});if(!i)throw Error("Codebase not found");let a=[...new Set(t)];if((await r.buildScript.findMany({where:{id:{in:a},deletedAt:null}})).length!==a.length)throw Error("Build script not found");return await r.$transaction(async e=>{await e.codebaseRepositoryBuildScript.deleteMany({where:{repositoryId:i.repositoryId}}),a.length&&await e.codebaseRepositoryBuildScript.createMany({data:a.map((e,t)=>({repositoryId:i.repositoryId,scriptId:e,position:t}))})}),this.project(e)}async waitForJob(e,t=12e4){let r=o.agentEventBus.iterate((0,o.agentJobChangedTopic)(e)),i=Date.now()+t;try{for(;Date.now()<i;){let t=await this.agentControl.getJob(e);if(!t)throw Error("Agent job disappeared");if(c.has(t.status))return t;await Promise.race([r.next(),new Promise(e=>setTimeout(e,Math.max(1,i-Date.now())))])}throw await this.agentControl.cancelJob(e),Error("Agent did not respond in time")}finally{await r.return?.()}}result(e){if("SUCCEEDED"!==e.status)throw Error(e.error||"Agent operation failed");return h(p(e.resultJson,{}),"agent result")}async discoverSources(e,t){let r=await this.requireWorktree(e,i.IOS_SOURCE_DISCOVER_JOB_KIND),a=await this.agentControl.createJob({agentId:r.codebase.agentId,codebaseId:r.codebaseId,worktreeId:r.id,kind:i.IOS_SOURCE_DISCOVER_JOB_KIND,payload:this.identity(r),idempotencyKey:`ios:source:discover:${t}:${r.id}`,timeoutSeconds:60,visibility:"SYSTEM"});try{let e=this.result(await this.waitForJob(a.id));return Array.isArray(e.sources)?e.sources:[]}finally{let e=await (0,n.getPrismaClient)();await e.agentJob.deleteMany({where:{id:a.id,visibility:"SYSTEM"}})}}async reparse(e,r,a){let s=await this.requireWorktree(r,i.IOS_SOURCE_PARSE_JOB_KIND),o=await (0,n.getPrismaClient)(),l=await o.buildConfiguration.findUnique({where:{id:e},include:{source:{include:{project:!0}}}});if(!l||l.source.project.repositoryId!==s.codebase.repositoryId)throw Error("Build configuration is not available for this worktree");let u=`worktree:${s.id}`,c=await o.buildSourceObservation.findUnique({where:{sourceId_scopeKey:{sourceId:l.sourceId,scopeKey:u}}}),d=new Date;await o.buildSourceObservation.upsert({where:{sourceId_scopeKey:{sourceId:l.sourceId,scopeKey:u}},create:{id:(0,t.randomUUID)(),sourceId:l.sourceId,scopeKey:u,codebaseId:s.codebaseId,worktreeId:s.id,status:"PARSING",lastParseAttemptAt:d},update:{status:"PARSING",error:null,lastParseAttemptAt:d}});let p=await this.agentControl.createJob({agentId:s.codebase.agentId,codebaseId:s.codebaseId,worktreeId:s.id,kind:i.IOS_SOURCE_PARSE_JOB_KIND,payload:{...this.identity(s),source:{kind:l.source.kind,relativePath:l.source.relativePath},scheme:l.scheme},idempotencyKey:`ios:source:parse:${a}:${l.id}:${s.id}`,timeoutSeconds:120,visibility:"SYSTEM"});try{let e=this.result(await this.waitForJob(p.id)),t=m(e.schemes),r=m(e.configurations),i=t.includes(l.scheme)&&r.includes(l.buildConfiguration);return o.buildSourceObservation.update({where:{sourceId_scopeKey:{sourceId:l.sourceId,scopeKey:u}},data:{status:i?"VALID":"INVALID",schemesJson:JSON.stringify(t),configurationsJson:JSON.stringify(r),testPlansJson:JSON.stringify(m(e.testPlans)),error:i?null:"The saved scheme or configuration is no longer available",stale:!1,headSha:"string"==typeof e.headSha?e.headSha:s.headSha,xcodeVersion:"string"==typeof e.xcodeVersion?e.xcodeVersion:null,lastParsedAt:new Date}})}catch(t){let e=t instanceof Error?t.message:String(t);return o.buildSourceObservation.update({where:{sourceId_scopeKey:{sourceId:l.sourceId,scopeKey:u}},data:{status:"ERROR",error:e,stale:!!c?.lastParsedAt}})}finally{await o.agentJob.deleteMany({where:{id:p.id,visibility:"SYSTEM"}})}}async inspectSource(e){let t=await this.requireWorktree(e.worktreeId,i.IOS_SOURCE_PARSE_JOB_KIND),r=(0,i.parseBuildSource)({kind:e.sourceKind,relativePath:e.sourcePath}),a=await this.agentControl.createJob({agentId:t.codebase.agentId,codebaseId:t.codebaseId,worktreeId:t.id,kind:i.IOS_SOURCE_PARSE_JOB_KIND,payload:{...this.identity(t),source:r,scheme:e.scheme?.trim()||null,configuration:e.configuration?.trim()||null},idempotencyKey:`ios:source:inspect:${e.requestId}:${t.id}:${r.relativePath}:${e.scheme??""}:${e.configuration??""}`,timeoutSeconds:120,visibility:"SYSTEM"});try{var s;let e=this.result(await this.waitForJob(a.id));return{source:r,schemes:m(e.schemes),configurations:m(e.configurations),testPlans:m(e.testPlans),signingRequirements:(s=e.signingRequirements,Array.isArray(s)?s.flatMap(e=>!e||"object"!=typeof e||Array.isArray(e)||"string"!=typeof e.bundleId||"string"!=typeof e.name||"string"!=typeof e.target?[]:[{bundleId:e.bundleId,name:e.name,target:e.target,platform:"string"==typeof e.platform?e.platform:null,teamId:"string"==typeof e.teamId?e.teamId:null,provisioningProfileSpecifier:"string"==typeof e.provisioningProfileSpecifier?e.provisioningProfileSpecifier:null}]):[]),headSha:"string"==typeof e.headSha?e.headSha:t.headSha,xcodeVersion:"string"==typeof e.xcodeVersion?e.xcodeVersion:null}}finally{let e=await (0,n.getPrismaClient)();await e.agentJob.deleteMany({where:{id:a.id,visibility:"SYSTEM"}})}}async destinations(e){let t=await this.requireWorktree(e.worktreeId,i.IOS_DESTINATIONS_JOB_KIND),r=await (0,n.getPrismaClient)(),a=await r.buildConfiguration.findUnique({where:{id:e.configurationId},include:{source:{include:{project:!0}}}});if(!a||a.source.project.repositoryId!==t.codebase.repositoryId)throw Error("Build configuration is not available for this worktree");let s=e.action??a.defaultAction;if(!i.BUILD_ACTIONS.includes(s))throw Error("Build action is invalid");let o=function(e){if(!i.GENERIC_BUILD_DESTINATION_ACTIONS.includes(e))return[];let t={type:"PHYSICAL_DEVICE",id:"generic-ios",name:"Any Physical iOS Device",platform:"iOS",osVersion:null,state:null,generic:!0};return"ARCHIVE"===e?[t]:[{type:"SIMULATOR",id:"generic-ios-simulator",name:"Any iOS Simulator",platform:"iOS Simulator",osVersion:null,state:null,generic:!0},t]}(s);if("ARCHIVE"===s)return o;let l=await this.agentControl.createJob({agentId:t.codebase.agentId,codebaseId:t.codebaseId,worktreeId:t.id,kind:i.IOS_DESTINATIONS_JOB_KIND,payload:{...this.identity(t),source:{kind:a.source.kind,relativePath:a.source.relativePath},scheme:a.scheme,configuration:a.buildConfiguration,action:s},idempotencyKey:`ios:destinations:${e.requestId}:${a.id}:${t.id}:${s}`,timeoutSeconds:120,visibility:"SYSTEM"});try{let e=this.result(await this.waitForJob(l.id));return Array.isArray(e.destinations)?e.destinations:[]}finally{await r.agentJob.deleteMany({where:{id:l.id,visibility:"SYSTEM"}})}}async signingOptionsForBuild(e){let t=await (0,n.getPrismaClient)(),r=await t.build.findUnique({where:{id:e},include:{artifacts:!0}}),a=r?.artifacts.find(e=>"ARCHIVE"===e.kind);if(!r||"SUCCEEDED"!==r.status||!r.worktreeId)throw Error("A successful archive build is required");if(!a)throw Error("Build does not contain an archive");let s=await this.requireWorktree(r.worktreeId,i.IOS_SIGNING_INSPECT_JOB_KIND),o=await this.agentControl.createJob({agentId:s.codebase.agentId,codebaseId:s.codebaseId,worktreeId:s.id,kind:i.IOS_SIGNING_INSPECT_JOB_KIND,payload:{buildId:r.id,codebaseId:s.codebaseId,artifactDirectory:r.artifactDirectory,archiveRelativePath:a.relativePath},idempotencyKey:`ios:signing:${r.id}:${a.id}`,timeoutSeconds:120,visibility:"SYSTEM"});try{let e=this.result(await this.waitForJob(o.id));return{teams:Array.isArray(e.teams)?e.teams:[],identities:Array.isArray(e.identities)?e.identities:[],profiles:Array.isArray(e.profiles)?e.profiles:[],bundles:Array.isArray(e.bundles)?e.bundles:[]}}finally{await t.agentJob.deleteMany({where:{id:o.id,visibility:"SYSTEM"}})}}async destinationsForBuild(e,t){let r=await (0,n.getPrismaClient)(),a=await r.build.findUnique({where:{id:e},include:{artifacts:!0}});if(!a||"SUCCEEDED"!==a.status||!a.worktreeId||!a.artifacts.some(e=>"RUNNABLE_APP"===e.kind))throw Error("A successful runnable build is required");let s=await this.requireWorktree(a.worktreeId,i.IOS_RUN_DESTINATIONS_JOB_KIND);if(a.agentId!==s.codebase.agentId||a.codebaseId!==s.codebaseId)throw Error("The build no longer belongs to this worktree checkout");let o=await this.agentControl.createJob({agentId:s.codebase.agentId,codebaseId:s.codebaseId,worktreeId:s.id,kind:i.IOS_RUN_DESTINATIONS_JOB_KIND,payload:{...this.identity(s),destinationType:a.destinationType},idempotencyKey:`ios:build-destinations:${y(t,"Request ID",200)}:${a.id}`,timeoutSeconds:120,visibility:"SYSTEM"});try{let e=this.result(await this.waitForJob(o.id));return(Array.isArray(e.destinations)?e.destinations:[]).map(e=>(0,i.parseBuildDestination)(e)).filter(e=>e.type===a.destinationType&&!e.generic)}finally{await r.agentJob.deleteMany({where:{id:o.id,visibility:"SYSTEM"}})}}async startBuild(e){let a=y(e.requestId,"Request ID",200),s=`${e.worktreeId}:${a}`,o=await (0,n.getPrismaClient)(),u=await o.build.findUnique({where:{requestKey:s},include:k});if(u){if(this.telemetry){let e=p(u.snapshotJson,{}),t=h(e.configuration??{},"build configuration snapshot"),r=h(e.destination??{},"build destination snapshot");await this.telemetry.addBuildSeparator({buildId:u.id,name:`Build \xb7 ${String(t.name??"iOS")} \xb7 ${String(r.name??"Destination")}`,clientTime:u.createdAt})}return u}let c=await this.requireWorktree(e.worktreeId,i.IOS_BUILD_JOB_KIND);if(await this.diskSpace?.assertWorktreeCanStart(c.id),e.worktreeCoverage&&!g(c.codebase.agent).includes(i.IOS_COVERAGE_REPORT_JOB_KIND))throw Error("Build agent must be updated for worktree coverage");let d=await o.buildConfiguration.findUnique({where:{id:e.configurationId},include:{source:{include:{project:!0}}}});if(!d||d.source.project.repositoryId!==c.codebase.repositoryId)throw Error("Build configuration is not available for this worktree");let m=await o.buildSourceObservation.findUnique({where:{sourceId_scopeKey:{sourceId:d.sourceId,scopeKey:`worktree:${c.id}`}}}),f=e.action??d.defaultAction;if(!i.BUILD_ACTIONS.includes(f))throw Error("Build action is invalid");if(e.exportWhenComplete&&"ARCHIVE"!==f)throw Error("Export when complete is available only for Archive builds");let w="ARCHIVE"===f&&(e.exportWhenComplete??d.autoExport),b=e.exportSettings??p(d.exportSettingsJson,null),v=w||b?(0,i.parseBuildExportSettings)(b):null;if(w&&!v)throw Error("Export settings are required when automatic export is enabled");let S=(0,i.parseBuildDestination)(e.destination);if(!i.BUILD_DESTINATION_TYPES.includes(S.type))throw Error("Destination is invalid");if("ARCHIVE"===f&&("PHYSICAL_DEVICE"!==S.type||!S.generic))throw Error("Archive builds require the generic physical iOS destination");if(S.generic&&!i.GENERIC_BUILD_DESTINATION_ACTIONS.includes(f))throw Error("This build action requires a concrete destination");let E=h(p(d.advancedSettingsJson,{}),"saved advanced settings"),I=e.advancedSettings?h(e.advancedSettings,"advanced settings override"):{},x=(0,i.parseBuildAdvancedSettings)({...E,...I,buildSettingOverrides:{...h(E.buildSettingOverrides??{},"saved overrides"),...h(I.buildSettingOverrides??{},"run overrides")}});if("TEST_WITHOUT_BUILDING"===f){if(!x.priorBuildForTestingId)throw Error("Test Without Building requires a prior Build for Testing result");let e=await o.build.findUnique({where:{id:x.priorBuildForTestingId},include:{artifacts:{where:{kind:{in:["TEST_PRODUCTS","XCTESTRUN"]}},orderBy:{createdAt:"asc"}}}});if(!e||"SUCCEEDED"!==e.status||"BUILD_FOR_TESTING"!==e.action)throw Error("Test Without Building requires a successful Build for Testing result");if(e.agentId!==c.codebase.agentId||e.worktreeId!==c.id||e.configurationId!==d.id)throw Error("The prior Build for Testing result is not compatible with this agent, worktree, and configuration");if(e.destinationType!==S.type)throw Error("The prior Build for Testing result uses a different destination type");let t=h(p(e.snapshotJson,{}),"prior Build for Testing snapshot"),a=h(t.configuration??{},"prior Build for Testing configuration snapshot"),n=(0,i.parseBuildAdvancedSettings)(a.advancedSettings??{});if(x.testPlan&&n.testPlan&&x.testPlan!==n.testPlan)throw Error("The selected test plan does not match the prior Build for Testing result");let s=x.testPlan??n.testPlan??null,l=e.artifacts.filter(e=>"TEST_PRODUCTS"===e.kind&&e.relativePath.endsWith(".xctestproducts")),u=e.artifacts.filter(e=>"XCTESTRUN"===e.kind&&e.relativePath.endsWith(".xctestrun"));if(l.length>1)throw Error("The prior Build for Testing result contains multiple test-products artifacts");let m=l[0];if(m||1!==u.length||(m=u[0]),!m&&u.length>1&&s&&(m=u.find(e=>h(p(e.metadataJson,{}),"test-run artifact metadata").testPlan===s||e.relativePath.endsWith(`/${s}.xctestrun`)||e.relativePath===`${s}.xctestrun`)),!m&&u.length>1)throw Error("Select a test plan to choose among the captured .xctestrun artifacts");let f=m?.relativePath??"test-products.xctestproducts",g=(0,r.resolve)(e.artifactDirectory),y=(0,r.resolve)(g,f),w=(0,r.relative)(g,y);if(!w||w.startsWith("..")||(0,r.isAbsolute)(w))throw Error("The prior Build for Testing artifact path is invalid");x={...x,testPlan:s,priorTestProductsPath:f.endsWith(".xctestproducts")?y:null,priorXctestrunPath:f.endsWith(".xctestrun")?y:null}}let A=await o.codebaseRepositoryBuildScript.findMany({where:{repositoryId:c.codebase.repositoryId,script:{deletedAt:null}},orderBy:[{position:"asc"},{script:{name:"asc"}}],include:{script:!0}}),_=new Set(e.scriptIds??[]);if([..._].some(e=>!A.some(t=>t.scriptId===e)))throw Error("A selected build script is not allowed for this codebase");let C=A.filter(e=>_.has(e.scriptId)),R=(0,t.randomUUID)(),T=(0,l.effectiveBuildsDirectory)(c.codebase.agent);if(!T)throw Error("The agent builds directory is unavailable");let D=(0,r.join)(T,R),N={kind:d.source.kind,relativePath:d.source.relativePath},O=function(e){var t;let i=e.advancedSettings,a="TEST_WITHOUT_BUILDING"===e.action,n=["xcodebuild",...a?[]:[..."PACKAGE"===e.source.kind?[]:"PROJECT"===e.source.kind?["-project",e.source.relativePath]:["-workspace",e.source.relativePath],"-scheme",e.scheme,"-configuration",e.configuration],"-destination",(t=e.destination).generic?"SIMULATOR"===t.type?"generic/platform=iOS Simulator":"generic/platform=iOS":"SIMULATOR"===t.type?`platform=iOS Simulator,id=${t.id}`:`platform=iOS,id=${t.id}`,"-hideShellScriptEnvironment","-resultBundlePath",(0,r.join)(e.artifactDirectory,"result.xcresult")];for(let e of(!a&&("RESOLVED_ONLY"===i.packageResolution?n.push("-onlyUsePackageVersionsFromResolvedFile"):"SKIP_UPDATES"===i.packageResolution?n.push("-skipPackageUpdates"):"DISABLE_AUTOMATIC"===i.packageResolution&&n.push("-disableAutomaticPackageResolution"),i.disablePackageRepositoryCache&&n.push("-disablePackageRepositoryCache"),"PROJECT_DEFAULT"!==i.signingStyle&&n.push(`CODE_SIGN_STYLE=${"AUTOMATIC"===i.signingStyle?"Automatic":"Manual"}`),i.developmentTeam&&n.push(`DEVELOPMENT_TEAM=${i.developmentTeam}`),i.codeSignIdentity&&n.push(`CODE_SIGN_IDENTITY=${i.codeSignIdentity}`),i.provisioningProfileSpecifier&&n.push(`PROVISIONING_PROFILE_SPECIFIER=${i.provisioningProfileSpecifier}`),i.productBundleIdentifier&&n.push(`PRODUCT_BUNDLE_IDENTIFIER=${i.productBundleIdentifier}`),i.allowProvisioningUpdates&&n.push("-allowProvisioningUpdates"),i.allowProvisioningDeviceRegistration&&n.push("-allowProvisioningDeviceRegistration")),i.testPlan&&n.push("-testPlan",i.testPlan),i.codeCoverage&&n.push("-enableCodeCoverage","YES"),null!==i.parallelTesting&&n.push("-parallel-testing-enabled",i.parallelTesting?"YES":"NO"),null!==i.parallelTestingWorkers&&n.push("-parallel-testing-worker-count",String(i.parallelTestingWorkers)),i.onlyTesting))n.push(`-only-testing:${e}`);for(let e of i.skipTesting)n.push(`-skip-testing:${e}`);if(!a)for(let[e,t]of Object.entries(i.buildSettingOverrides))n.push(`${e}=${t}`);"ARCHIVE"===e.action&&n.push("-archivePath",(0,r.join)(e.artifactDirectory,"archive.xcarchive")),"BUILD_FOR_TESTING"===e.action&&n.push("-testProductsPath",(0,r.join)(e.artifactDirectory,"test-products.xctestproducts")),"TEST_WITHOUT_BUILDING"===e.action&&i.priorTestProductsPath&&n.push("-testProductsPath",i.priorTestProductsPath),"TEST_WITHOUT_BUILDING"===e.action&&!i.priorTestProductsPath&&i.priorXctestrunPath&&n.push("-xctestrun",i.priorXctestrunPath),n.push({BUILD:"build",TEST:"test",ANALYZE:"analyze",ARCHIVE:"archive",BUILD_FOR_TESTING:"build-for-testing",TEST_WITHOUT_BUILDING:"test-without-building"}[e.action]);let s=n.map(e=>/^[A-Za-z0-9_./:=,-]+$/.test(e)?e:JSON.stringify(e)).join(" ");return`cd ${JSON.stringify(e.folder)} && xcrun ${s}`}({folder:c.folder,source:N,scheme:d.scheme,configuration:d.buildConfiguration,destination:S,action:f,advancedSettings:x,artifactDirectory:D}),P=C.map(({script:e,position:t})=>({id:e.id,name:e.name,preBuildScript:e.preBuildScript,postBuildScript:e.postBuildScript,timeoutSeconds:e.timeoutSeconds,failureBehavior:e.failureBehavior,position:t})),$=await this.telemetry?.buildSettings(S.type,{requestOrigin:e.telemetryRequestOrigin}),U={repository:{id:c.codebase.repository.id,name:c.codebase.repository.name,canonicalOrigin:c.codebase.repository.canonicalOrigin},codebase:{id:c.codebase.id,folder:c.codebase.folder},worktree:{id:c.id,folder:c.folder,branch:c.branch,headSha:c.headSha,codeStateHash:c.codeStateHash,hasStagedChanges:c.hasStagedChanges,hasUnstagedChanges:c.hasUnstagedChanges},agent:{id:c.codebase.agent.id,name:c.codebase.agent.name,hostname:c.codebase.agent.hostname},configuration:{id:d.id,name:d.name,iconKey:d.iconKey,source:N,scheme:d.scheme,buildConfiguration:d.buildConfiguration,action:f,advancedSettings:x,autoExport:w,exportSettings:v,parse:m?{status:m.status,schemes:p(m.schemesJson,[]),configurations:p(m.configurationsJson,[]),testPlans:p(m.testPlansJson,[]),headSha:m.headSha,xcodeVersion:m.xcodeVersion,parsedAt:m.lastParsedAt?.toISOString()??null}:{status:"UNPARSED",schemes:[],configurations:[],testPlans:[],headSha:null,xcodeVersion:null,parsedAt:null}},destination:S,scripts:P,...$?{telemetry:$}:{},worktreeCoverage:!0===e.worktreeCoverage},B=new Date,j=o.build.create({data:{id:R,requestKey:s,requestId:a,agentId:c.codebase.agentId,codebaseId:c.codebaseId,worktreeId:c.id,configurationId:d.id,status:"QUEUED",action:f,destinationType:S.type,destinationJson:JSON.stringify(S),snapshotJson:JSON.stringify(U),commandSummary:O,artifactDirectory:D,createdAt:B,scriptExecutions:{create:P.flatMap(e=>[...e.preBuildScript?[{id:(0,t.randomUUID)(),scriptId:e.id,phase:"PRE_BUILD",position:e.position,nameSnapshot:e.name,sourceSnapshot:e.preBuildScript,timeoutSeconds:e.timeoutSeconds,failureBehavior:e.failureBehavior}]:[],...e.postBuildScript?[{id:(0,t.randomUUID)(),scriptId:e.id,phase:"POST_BUILD",position:e.position,nameSnapshot:e.name,sourceSnapshot:e.postBuildScript,timeoutSeconds:e.timeoutSeconds,failureBehavior:e.failureBehavior}]:[]])}}});if(this.telemetry){let e=(0,t.randomUUID)();await o.$transaction([j,o.telemetryEntry.create({data:{id:e,entryType:"SEPARATOR",clientTime:B,receivedAt:B,separatorKind:"BUILD",separatorName:`Build \xb7 ${d.name} \xb7 ${S.name}`.slice(0,100),buildId:R}})]),this.telemetry.notifyChange([e],"BUILD_SEPARATOR_ADDED")}else await j;try{let t=await this.agentControl.createJob({agentId:c.codebase.agentId,codebaseId:c.codebaseId,worktreeId:c.id,kind:i.IOS_BUILD_JOB_KIND,payload:{...this.identity(c),buildId:R,artifactDirectory:D,source:N,scheme:d.scheme,configuration:d.buildConfiguration,action:f,destination:S,advancedSettings:x,scripts:P,...$?{telemetry:$}:{},worktreeCoverage:!0===e.worktreeCoverage},idempotencyKey:`ios:build:${a}:${c.id}`,timeoutSeconds:604800});await o.build.update({where:{id:R},data:{jobId:t.id}})}catch(e){throw await o.build.update({where:{id:R},data:{status:"FAILED",errorCode:"QUEUE_FAILED",error:e instanceof Error?e.message:String(e),finishedAt:new Date}}),e}return this.publish(R),o.build.findUniqueOrThrow({where:{id:R},include:k})}async rebuildBuild(e,t,r){let i=await (0,n.getPrismaClient)(),a=await i.build.findUnique({where:{id:e},select:{worktreeId:!0,configurationId:!0,destinationJson:!0,action:!0,snapshotJson:!0}});if(!a)throw Error("Build not found");let s=h(p(a.snapshotJson,{}),"build snapshot"),o=h(s.worktree??{},"build worktree snapshot"),l=h(s.configuration??{},"build configuration snapshot"),u=Array.isArray(s.scripts)?s.scripts:[],c=a.worktreeId??("string"==typeof o.id?o.id:null),d=a.configurationId??("string"==typeof l.id?l.id:null);if(!c||!d)throw Error("The original build settings are unavailable");return this.startBuild({worktreeId:c,configurationId:d,destination:p(a.destinationJson,{}),scriptIds:u.flatMap(e=>{if(!e||"object"!=typeof e||Array.isArray(e))return[];let t=e.id;return"string"==typeof t?[t]:[]}),action:a.action,advancedSettings:l.advancedSettings,exportWhenComplete:!0===l.autoExport,...Object.hasOwn(l,"exportSettings")?{exportSettings:l.exportSettings}:{},requestId:t,...r?{telemetryRequestOrigin:r}:{}})}async startWorktreeCoverage(e){let t=await (0,n.getPrismaClient)(),r=await t.worktree.findUnique({where:{id:e.worktreeId},select:{baseBranchOverride:!0,codebase:{select:{defaultBranch:!0}}}});if(!r||!(r.baseBranchOverride??r.codebase.defaultBranch))throw Error("A base branch is required for worktree coverage");let i=h(e.advancedSettings??{},"coverage advanced settings");return this.startBuild({...e,action:"TEST",advancedSettings:{...i,codeCoverage:!0,parseTestResults:!0},worktreeCoverage:!0})}async importCoverageReport(e){let i=await (0,n.getPrismaClient)(),s=await this.requireWorktree(e.worktreeId,a.COVERAGE_IMPORT_JOB_KIND,"Agent must be updated to import coverage reports"),o=s.baseBranchOverride??s.codebase.defaultBranch??null,u=(e.format||"AUTO").toUpperCase();if(!a.COVERAGE_REPORT_FORMATS.includes(u))throw Error("Coverage format must be AUTO, LCOV, or ISTANBUL");let c=y(e.buildName??"Coverage report","Build name",200),d=y(e.reportPath,"Coverage file",4e3),p=y(e.requestId,"Request ID",200),h=`coverage:${e.worktreeId}:${p}`,m=await i.build.findUnique({where:{requestKey:h}});if(m)return m;let f=(0,t.randomUUID)(),g=(0,l.effectiveBuildsDirectory)(s.codebase.agent);if(!g)throw Error("The agent builds directory is unavailable");let w={repository:{id:s.codebase.repository.id,name:s.codebase.repository.name,canonicalOrigin:s.codebase.repository.canonicalOrigin},codebase:{id:s.codebase.id,folder:s.codebase.folder},worktree:{id:s.id,folder:s.folder,branch:s.branch,headSha:s.headSha,codeStateHash:s.codeStateHash,hasStagedChanges:s.hasStagedChanges,hasUnstagedChanges:s.hasUnstagedChanges},agent:{id:s.codebase.agent.id,name:s.codebase.agent.name,hostname:s.codebase.agent.hostname},configuration:{name:c},coverageImport:{reportPath:d,format:u,baseBranch:o},worktreeCoverage:!0},b={type:"HOST",id:s.codebase.agent.id,name:s.codebase.agent.name,platform:s.codebase.agent.architecture,osVersion:s.codebase.agent.osVersion||null,state:"Connected"},v=await i.build.create({data:{id:f,requestKey:h,requestId:p,agentId:s.codebase.agentId,codebaseId:s.codebaseId,worktreeId:s.id,status:"RUNNING",action:"TEST",destinationType:"HOST",destinationJson:JSON.stringify(b),snapshotJson:JSON.stringify(w),commandSummary:`Import coverage from ${d}`,artifactDirectory:(0,r.join)(g,f),startedAt:new Date}}),k=null;try{await i.buildReport.create({data:{id:(0,t.randomUUID)(),buildId:f,kind:"CODE_COVERAGE",source:"WORKTREE",status:"PENDING"}}),this.publish(f);let e=await this.agentControl.createJob({agentId:s.codebase.agentId,codebaseId:s.codebaseId,worktreeId:s.id,kind:a.COVERAGE_IMPORT_JOB_KIND,payload:{buildId:f,codebaseId:s.codebaseId,worktreeId:s.id,folder:s.folder,reportPath:d,format:u,baseBranch:o},idempotencyKey:`coverage:import:${p}:${f}`,timeoutSeconds:300,visibility:"SYSTEM"});return k=e.id,await i.build.update({where:{id:f},data:{jobId:e.id}}),{...v,jobId:e.id}}catch(a){k&&await this.agentControl.cancelJob(k).catch(()=>void 0);let e=a instanceof Error?a.message:String(a),r=new Date;throw await i.$transaction(async i=>{await i.buildReport.upsert({where:{buildId_kind:{buildId:f,kind:"CODE_COVERAGE"}},create:{id:(0,t.randomUUID)(),buildId:f,kind:"CODE_COVERAGE",source:"WORKTREE",status:"FAILED",error:e,finishedAt:r},update:{status:"FAILED",error:e,finishedAt:r}}),await i.build.update({where:{id:f},data:{status:"FAILED",errorCode:"QUEUE_FAILED",error:e,finishedAt:r}})}),this.publish(f),a}}async importedCoverageCompletion(e){let r=h(p(e.payloadJson,{}),"coverage import payload");if("string"!=typeof r.buildId)return;let i=r.buildId,a=h(p(e.resultJson,{}),"coverage import result"),s="SUCCEEDED"===e.status&&!!a.report&&"object"==typeof a.report,o=await (0,n.getPrismaClient)();await o.$transaction(async r=>{s?await this.upsertReportProjection(r,i,a.report,"WORKTREE"):await r.buildReport.upsert({where:{buildId_kind:{buildId:i,kind:"CODE_COVERAGE"}},create:{id:(0,t.randomUUID)(),buildId:i,kind:"CODE_COVERAGE",source:"WORKTREE",status:"FAILED",error:e.error||"Coverage import failed",finishedAt:new Date},update:{status:"FAILED",error:e.error||"Coverage import failed",finishedAt:new Date}}),await r.build.update({where:{id:i},data:{status:s?"SUCCEEDED":"FAILED",error:s?null:e.error||"Coverage import failed",finishedAt:new Date}})}),this.publish(i)}async generateReport(e,r,a){let s=await (0,n.getPrismaClient)(),o=await s.buildReport.findUnique({where:{buildId_kind:{buildId:e,kind:r}},include:{artifact:!0}});if(o?.status==="READY")return o;let l=await s.build.findUnique({where:{id:e},include:{agent:!0,artifacts:!0}});if(!l)throw Error("Build not found");if(d.includes(l.status))throw Error("Wait for the build to finish before generating reports");if(!l.agentId||!l.agent||!f(l.agent))throw Error("Build agent is offline");let u="TEST_RESULTS"===r?i.IOS_TEST_RESULTS_JOB_KIND:i.IOS_COVERAGE_REPORT_JOB_KIND;if(!g(l.agent).includes(u))throw Error("Build agent must be updated to generate reports");if(!l.artifacts.some(e=>"RESULT_BUNDLE"===e.kind))throw Error("The build result bundle is unavailable");if("TEST_RESULTS"===r&&!["TEST","TEST_WITHOUT_BUILDING"].includes(l.action))throw Error("This build did not run tests");let c=await s.buildReport.upsert({where:{buildId_kind:{buildId:e,kind:r}},create:{id:(0,t.randomUUID)(),buildId:e,kind:r,source:"MANUAL",status:"PENDING"},update:{source:"MANUAL",status:"PENDING",error:null,finishedAt:null}});this.publish(e);let p=b(l),h=await this.agentControl.createJob({agentId:l.agentId,codebaseId:p,worktreeId:l.worktreeId,kind:u,payload:{buildId:e,artifactDirectory:l.artifactDirectory,codebaseId:p,reportKind:r,source:"MANUAL"},idempotencyKey:`ios:report:${r}:${y(a,"Request ID",200)}:${e}`,timeoutSeconds:180,visibility:"SYSTEM"});try{return await this.waitForJob(h.id,17e4),s.buildReport.findUniqueOrThrow({where:{id:c.id},include:{artifact:!0}})}finally{await s.agentJob.deleteMany({where:{id:h.id,visibility:"SYSTEM"}})}}async coverageHistory(e){return(await (0,n.getPrismaClient)()).buildReport.findMany({where:{kind:"CODE_COVERAGE",source:"WORKTREE",build:{worktreeId:e}},orderBy:{createdAt:"desc"},take:50,select:{id:!0,buildId:!0,artifactId:!0,kind:!0,source:!0,status:!0,summaryJson:!0,error:!0,createdAt:!0,updatedAt:!0,finishedAt:!0,artifact:!0,build:{select:{id:!0,status:!0,action:!0,destinationType:!0,destinationJson:!0,snapshotJson:!0,createdAt:!0,startedAt:!0,finishedAt:!0,updatedAt:!0,worktree:{select:{headSha:!0,codeStateHash:!0,hasStagedChanges:!0,hasUnstagedChanges:!0,lastCheckedAt:!0,_count:{select:{builds:{where:{status:{in:d}}}}}}},artifacts:{orderBy:{createdAt:"asc"}}}}}})}async reportsForBuild(e){return(await (0,n.getPrismaClient)()).buildReport.findMany({where:{buildId:e},orderBy:{createdAt:"asc"},include:{artifact:!0}})}async reportData(e){let t=await (0,n.getPrismaClient)(),r=await t.buildReport.findUnique({where:{id:e},select:{dataJson:!0}});return r?.dataJson??"{}"}async builds(e={}){let t=await (0,n.getPrismaClient)(),r=Math.max(1,Math.min(e.first??50,200)),i=await t.build.findMany({where:{...e.status?{status:e.status}:{},...e.codebaseId?{codebaseId:e.codebaseId}:{},...e.worktreeId?{worktreeId:e.worktreeId}:{}},orderBy:[{createdAt:"desc"},{id:"desc"}],...e.after?{cursor:{id:e.after},skip:1}:{},take:r+1,include:k});return{items:i.slice(0,r),nextCursor:i.length>r?i[r-1].id:null}}async getBuild(e){return(await (0,n.getPrismaClient)()).build.findUnique({where:{id:e},include:k})}async deleteBuilds(e){let t=[...new Set(e)];if(!t.length)return 0;if(t.length>200)throw Error("At most 200 builds can be deleted at once");let a=await (0,n.getPrismaClient)(),s=await a.build.findMany({where:{id:{in:t}},select:{id:!0,status:!0,artifactDirectory:!0,snapshotJson:!0,agentId:!0,agent:{select:{capabilitiesJson:!0}},codebaseId:!0,worktreeId:!0,deployments:{where:{status:{in:d}},select:{id:!0}},exports:{where:{status:{in:d}},select:{id:!0}}}});if(s.some(e=>d.includes(e.status)))throw Error("Running builds cannot be deleted");if(s.some(e=>e.deployments.length>0||e.exports.length>0))throw Error("Builds with running deployments or exports cannot be deleted");for(let e of s){if(!(0,r.isAbsolute)(e.artifactDirectory)||(0,r.basename)(e.artifactDirectory)!==e.id)throw Error(`Build folder is invalid for ${e.id}`);if(e.agentId){let t=b(e);if(!e.agent||!g(e.agent).includes(i.IOS_BUILD_DELETE_JOB_KIND))throw Error("Build agent must be updated to delete builds");await this.agentControl.createJob({agentId:e.agentId,codebaseId:t,worktreeId:e.worktreeId,kind:i.IOS_BUILD_DELETE_JOB_KIND,payload:{buildId:e.id,artifactDirectory:e.artifactDirectory,codebaseId:t},idempotencyKey:`ios:build:delete:${e.id}`,timeoutSeconds:300,visibility:"SYSTEM"})}}let o=await a.build.deleteMany({where:{id:{in:s.map(e=>e.id)}}});for(let e of s)this.publish(e.id);return o.count}async artifactForInstall(e,t){let r=await (0,n.getPrismaClient)(),i=await r.buildArtifact.findFirst({where:{id:t,buildId:e}});return i?{id:i.id,kind:i.kind,relativePath:i.relativePath,sizeBytes:i.sizeBytes,checksum:i.checksum,createdAt:i.createdAt.toISOString(),metadata:h(p(i.metadataJson,{}),"build artifact metadata")}:null}async prepareArtifactDownload(e,t,r,a=17e4){let s=await (0,n.getPrismaClient)(),o=await s.buildArtifact.findFirst({where:{id:t,buildId:e},include:{build:{include:{agent:!0}}}});if(!o)throw Error("Build artifact not found");let{build:l}=o;if(!l.agentId||!l.agent)throw Error("The build agent is no longer available");if(!f(l.agent))throw Error("Build agent is offline");if(!g(l.agent).includes(i.IOS_ARTIFACT_DOWNLOAD_JOB_KIND))throw Error("Build agent must be updated to download artifacts");let u=b(l),c=await this.agentControl.createJob({agentId:l.agentId,codebaseId:u,worktreeId:l.worktreeId,kind:i.IOS_ARTIFACT_DOWNLOAD_JOB_KIND,payload:{buildId:l.id,artifactDirectory:l.artifactDirectory,artifactRelativePath:o.relativePath,uploadId:r,codebaseId:u},idempotencyKey:`ios:artifact:download:${r}`,timeoutSeconds:Math.ceil(a/1e3)+10,visibility:"SYSTEM"});try{this.result(await this.waitForJob(c.id,a))}finally{await s.agentJob.deleteMany({where:{id:c.id,visibility:"SYSTEM"}})}}async logChunks(e,t=null,r=1e3){let i=await (0,n.getPrismaClient)(),a=t?await i.buildLogChunk.findFirst({where:{id:t,buildId:e},select:{id:!0,createdAt:!0,sequence:!0}}):null;if(t&&!a)throw Error("Build log cursor not found");return i.buildLogChunk.findMany({where:{buildId:e,...a?{OR:[{createdAt:{gt:a.createdAt}},{createdAt:a.createdAt,sequence:{gt:a.sequence}},{createdAt:a.createdAt,sequence:a.sequence,id:{gt:a.id}}]}:{}},orderBy:[{createdAt:"asc"},{sequence:"asc"},{id:"asc"}],take:Math.max(1,Math.min(r,5e3))})}async cancelBuild(e){let t=await (0,n.getPrismaClient)(),r=await t.build.findUnique({where:{id:e}});if(!r)throw Error("Build not found");return d.includes(r.status)&&(r.jobId&&await this.agentControl.cancelJob(r.jobId),await t.build.update({where:{id:e},data:{status:"CANCELLED",finishedAt:new Date,errorCode:"CANCELLED"}}),this.publish(e)),this.getBuild(e)}async reportProgress(e,t){if(!["PREPARING","RUNNING"].includes(t.status))throw Error("Build progress status is invalid");let r=await (0,n.getPrismaClient)(),i=await r.build.findUnique({where:{id:t.buildId}});if(!i||i.agentId!==e)throw Error("Build not found for agent");if(!d.includes(i.status))return i;let a=await r.build.update({where:{id:t.buildId},data:{status:t.status,startedAt:i.startedAt??(t.startedAt?new Date(t.startedAt):new Date),errorCode:t.errorCode??void 0,error:t.error??void 0}});return this.publish(t.buildId),a}async appendLogChunks(e,r,i){if(!i.length||i.length>200)throw Error("Build log batches must contain 1 to 200 chunks");let a=await (0,n.getPrismaClient)(),s=await a.build.findUnique({where:{id:r}});if(!s||s.agentId!==e)throw Error("Build not found for agent");let l=i.map(e=>{if(!Number.isInteger(e.sequence)||e.sequence<0)throw Error("Log sequence must be a non-negative integer");if(!["STDOUT","STDERR","SYSTEM"].includes(e.stream))throw Error("Log stream is invalid");let i=Buffer.from(e.dataBase64,"base64");if(i.length!==e.byteLength||i.length>262144)throw Error("Log byte length is invalid");let a=Buffer.from(i.toString("utf8").replace(/(Bearer\s+)[A-Za-z0-9._~+\/-]+=*/gi,"$1[REDACTED]").replace(/([A-Za-z][A-Za-z0-9+.-]*:\/\/)[^\s/@]+@/g,"$1[REDACTED]@").replace(/\b([A-Z0-9_]*(?:TOKEN|SECRET|PASSWORD|PASSWD|API_KEY|PRIVATE_KEY)[A-Z0-9_]*)\s*=\s*[^\s]+/gi,"$1=[REDACTED]").replace(/-----BEGIN [^-]*PRIVATE KEY-----[\s\S]*?-----END [^-]*PRIVATE KEY-----/g,"[REDACTED PRIVATE KEY]"),"utf8"),n=new Date(e.createdAt);if(Number.isNaN(n.valueOf()))throw Error("Log date is invalid");return{id:(0,t.randomUUID)(),buildId:r,scope:y(e.scope,"Log scope",40),scopeId:y(e.scopeId,"Log scope ID",200),sequence:e.sequence,phase:y(e.phase,"Log phase",80),stream:e.stream,dataBase64:a.toString("base64"),byteLength:a.byteLength,createdAt:n}}),u=[];for(let e of l){let t=await a.buildLogChunk.upsert({where:{scope_scopeId_sequence:{scope:e.scope,scopeId:e.scopeId,sequence:e.sequence}},create:e,update:{}});u.push(t),o.agentEventBus.publish((0,o.buildLogChunkTopic)(r),{buildLogChunkAdded:t})}return u}async runBuild(e){let r=await (0,n.getPrismaClient)(),a=await r.build.findUnique({where:{id:e.buildId},include:{artifacts:!0,worktree:{include:{codebase:{include:{agent:!0,repository:!0}}}}}});if(!a||"SUCCEEDED"!==a.status||!a.worktree)throw Error("A successful build is required");let s=a.artifacts.find(e=>"RUNNABLE_APP"===e.kind);if(!s)throw Error("Build does not contain a runnable app");let o=y(String(h(p(s.metadataJson,{}),"runnable metadata").bundleIdentifier??""),"Runnable bundle identifier",512),l=e.destinations.map(i.parseBuildDestination);if(!l.length)throw Error("Select at least one destination");if(new Set(l.map(e=>`${e.type}:${e.id}`)).size!==l.length)throw Error("Run destinations must be unique");if(l.some(e=>e.type!==a.destinationType))throw Error("Run destinations must match the build destination type");let u=await this.destinationsForBuild(a.id,`${y(e.requestId,"Request ID",200)}:preflight`),c=l.map(e=>u.find(t=>t.type===e.type&&t.id===e.id));if(c.some(e=>!e))throw Error("A selected run destination is no longer available");l=c;let d=await this.requireWorktree(a.worktree.id,i.IOS_DEPLOY_JOB_KIND),m=(0,t.randomUUID)(),f=[];for(let i of l){let n=await r.buildDeployment.findUnique({where:{buildId_requestId_destinationKey:{buildId:a.id,requestId:e.requestId,destinationKey:w(i)}}});f.push(n??await r.buildDeployment.create({data:{id:(0,t.randomUUID)(),buildId:a.id,batchId:m,requestId:e.requestId,destinationJson:JSON.stringify(i),destinationKey:w(i),commandSummary:"SIMULATOR"===i.type?`open -a Simulator --args -CurrentDeviceUDID ${i.id}; xcrun simctl install/launch ${i.id}`:`xcrun devicectl device install/process launch --device ${i.id}`}}))}let g=await this.agentControl.createJob({agentId:d.codebase.agentId,codebaseId:d.codebaseId,worktreeId:d.id,kind:i.IOS_DEPLOY_JOB_KIND,payload:{...this.identity(d),buildId:a.id,artifactDirectory:a.artifactDirectory,artifactRelativePath:s.relativePath,bundleIdentifier:o,deployments:f.map((e,t)=>({id:e.id,destination:l[t]}))},idempotencyKey:`ios:deploy:${a.id}:${e.requestId}`,timeoutSeconds:3600});return await r.buildDeployment.updateMany({where:{id:{in:f.map(e=>e.id)}},data:{jobId:g.id}}),this.publish(a.id),r.buildDeployment.findMany({where:{id:{in:f.map(e=>e.id)}},orderBy:{createdAt:"asc"}})}async exportArchive(e){let r=await (0,n.getPrismaClient)(),a=await r.buildExport.findUnique({where:{buildId_requestId:{buildId:e.buildId,requestId:e.requestId}}});if(a)return a;let s=await r.build.findUnique({where:{id:e.buildId},include:{artifacts:!0,worktree:!0}});if(!s||"SUCCEEDED"!==s.status||!s.worktree)throw Error("A successful archive build is required");let o=s.artifacts.find(e=>"ARCHIVE"===e.kind);if(!o)throw Error("Build does not contain an archive");let l=(0,i.parseBuildExportSettings)(e.settings),u=await this.requireWorktree(s.worktree.id,i.IOS_EXPORT_JOB_KIND),c=(0,t.randomUUID)(),d=await r.buildExport.create({data:{id:c,buildId:s.id,requestId:e.requestId,settingsSnapshotJson:JSON.stringify(l),commandSummary:`xcrun xcodebuild -exportArchive -archivePath ${JSON.stringify(o.relativePath)} -exportPath exports/${c}`}});try{let t=await this.agentControl.createJob({agentId:u.codebase.agentId,codebaseId:u.codebaseId,worktreeId:u.id,kind:i.IOS_EXPORT_JOB_KIND,payload:{...this.identity(u),buildId:s.id,exportId:c,artifactDirectory:s.artifactDirectory,archiveRelativePath:o.relativePath,settings:l},idempotencyKey:`ios:export:${s.id}:${e.requestId}`,timeoutSeconds:3600}),a=await r.buildExport.update({where:{id:d.id},data:{jobId:t.id}});return this.publish(s.id),a}catch(t){let e=await r.buildExport.update({where:{id:d.id},data:{status:"FAILED",error:t instanceof Error?t.message:String(t),finishedAt:new Date}});return this.publish(s.id),e}}async upsertArtifacts(e,r,a){for(let n of(0,i.parseBuildArtifactSnapshots)(a)){let i={kind:n.kind,sizeBytes:n.sizeBytes,checksum:n.checksum,metadataJson:JSON.stringify(n.metadata)};await e.buildArtifact.upsert({where:{buildId_relativePath:{buildId:r,relativePath:n.relativePath}},create:{id:(0,t.randomUUID)(),buildId:r,relativePath:n.relativePath,...i},update:i})}}async upsertReportProjection(e,r,i,a){let n=h(i,"build report");if("TEST_RESULTS"!==n.kind&&"CODE_COVERAGE"!==n.kind)return;let s=n.kind,o=n.artifact&&"object"==typeof n.artifact?h(n.artifact,"build report artifact"):null,l=o&&"string"==typeof o.relativePath?await e.buildArtifact.findUnique({where:{buildId_relativePath:{buildId:r,relativePath:o.relativePath}}}):null,u="READY"===n.status?"READY":"FAILED";await e.buildReport.upsert({where:{buildId_kind:{buildId:r,kind:s}},create:{id:(0,t.randomUUID)(),buildId:r,artifactId:l?.id??null,kind:s,source:a,status:u,summaryJson:JSON.stringify(n.summary&&"object"==typeof n.summary?n.summary:{}),dataJson:JSON.stringify(n.data&&"object"==typeof n.data?n.data:{}),error:"string"==typeof n.error?n.error:null,finishedAt:new Date},update:{artifactId:l?.id??null,source:a,status:u,summaryJson:JSON.stringify(n.summary&&"object"==typeof n.summary?n.summary:{}),dataJson:JSON.stringify(n.data&&"object"==typeof n.data?n.data:{}),error:"string"==typeof n.error?n.error:null,finishedAt:new Date}})}async projectBuildCompletion(e){let r=await (0,n.getPrismaClient)(),i=await r.build.findFirst({where:{jobId:e.id},include:{worktree:{select:{highlightColor:!0}}}});if(!i)return;let a=h(p(e.resultJson,{}),"build result"),s="CANCELLED"===i.status?"CANCELLED":v(e.status),o="string"==typeof a.sourceStateHash?a.sourceStateHash:null,l="string"==typeof a.finalStateHash?a.finalStateHash:null,u="string"==typeof a.codeStateObservedAt&&Number.isFinite(Date.parse(a.codeStateObservedAt))?new Date(a.codeStateObservedAt):new Date,c=l?u:new Date,d=i.snapshotJson;if(o){let e=h(p(i.snapshotJson,{}),"build snapshot"),t=h(e.worktree??{},"build worktree snapshot");d=JSON.stringify({...e,worktree:{...t,codeStateHash:o}})}let m=null;await r.$transaction(async r=>{if(await r.build.update({where:{id:i.id},data:{status:s,errorCode:"string"==typeof a.errorCode?a.errorCode:"TIMED_OUT"===e.status?"TIMEOUT":"FAILED"===s?"XCODEBUILD_FAILED":i.errorCode,error:e.error??("string"==typeof a.error?a.error:i.error),startedAt:i.startedAt??new Date,finishedAt:c,snapshotJson:d}}),i.worktreeId&&l&&await r.worktree.updateMany({where:{id:i.worktreeId,OR:[{lastCheckedAt:null},{lastCheckedAt:{lt:u}}]},data:{codeStateHash:l,lastCheckedAt:u}}),Array.isArray(a.artifacts))for(let e of a.artifacts){let a=h(e,"build artifact");"string"==typeof a.relativePath&&"string"==typeof a.kind&&await r.buildArtifact.upsert({where:{buildId_relativePath:{buildId:i.id,relativePath:a.relativePath}},create:{id:(0,t.randomUUID)(),buildId:i.id,kind:a.kind,relativePath:a.relativePath,sizeBytes:"number"==typeof a.sizeBytes?a.sizeBytes:null,checksum:"string"==typeof a.checksum?a.checksum:null,metadataJson:JSON.stringify(a.metadata&&"object"==typeof a.metadata?a.metadata:{})},update:{}})}if(Array.isArray(a.scriptExecutions))for(let e of a.scriptExecutions){let t=h(e,"script execution");"string"==typeof t.phase&&"number"==typeof t.position&&await r.buildScriptExecution.updateMany({where:{buildId:i.id,phase:t.phase,position:t.position},data:{status:"string"==typeof t.status?t.status:"FAILED",exitCode:"number"==typeof t.exitCode?t.exitCode:null,durationMs:"number"==typeof t.durationMs?t.durationMs:null,causedBuildFailure:!0===t.causedBuildFailure,outputRelativePath:"string"==typeof t.outputRelativePath?t.outputRelativePath:null,error:"string"==typeof t.error?t.error:null}})}if(Array.isArray(a.reports))for(let e of a.reports){let t=e&&"object"==typeof e&&!Array.isArray(e)?e:{};await this.upsertReportProjection(r,i.id,e,"CODE_COVERAGE"===t.kind?"WORKTREE":"AUTOMATIC")}if(this.notifications&&("SUCCEEDED"===s||"FAILED"===s)){let e=h(p(d,{}),"build notification snapshot"),t=h(e.repository??{},"build repository snapshot"),a=h(e.configuration??{},"build configuration snapshot"),n=h(e.worktree??{},"build worktree snapshot"),o=["string"==typeof t.name?t.name:null,"string"==typeof a.name?a.name:null,"string"==typeof n.branch?n.branch:"string"==typeof n.folder?n.folder:null].filter(e=>!!e);m=await this.notifications.recordInTransaction(r,{dedupeKey:`ios-build:${i.id}:${s}`,typeKey:"SUCCEEDED"===s?"IOS_BUILD_SUCCEEDED":"IOS_BUILD_FAILED",title:"SUCCEEDED"===s?"iOS build succeeded":"iOS build failed",body:o.join(" · ")||`Build ${i.id}`,href:`/builds/${i.id}`,resourceKind:"BUILD",resourceId:i.id,worktreeId:i.worktreeId,highlightColor:i.worktree?.highlightColor??null})}}),this.publish(i.id),this.notifications?.created(m),"SUCCEEDED"===s&&await this.queueAutomaticExport(i.id,d)}async queueAutomaticExport(e,r){let i=h(p(r,{}),"build snapshot"),a=h(i.configuration??{},"build configuration snapshot");if(!0!==a.autoExport)return;let s=a.exportSettings;try{await this.exportArchive({buildId:e,requestId:"automatic",settings:s})}catch(a){let r=await (0,n.getPrismaClient)(),i=a instanceof Error?a.message:String(a);await r.buildExport.upsert({where:{buildId_requestId:{buildId:e,requestId:"automatic"}},create:{id:(0,t.randomUUID)(),buildId:e,requestId:"automatic",status:"FAILED",settingsSnapshotJson:JSON.stringify(s??{}),commandSummary:"Automatic archive export",error:i,finishedAt:new Date},update:{status:"FAILED",error:i,finishedAt:new Date}}),this.publish(e)}}async projectGeneratedReportCompletion(e){let r=h(p(e.payloadJson,{}),"build report payload");if("string"!=typeof r.buildId)return;let i=r.buildId,a=h(p(e.resultJson,{}),"build report result"),s=await (0,n.getPrismaClient)();await s.$transaction(async n=>{if(await this.upsertArtifacts(n,i,a.artifacts),a.report&&"object"==typeof a.report)await this.upsertReportProjection(n,i,a.report,"WORKTREE"===r.source?"WORKTREE":"MANUAL");else{let a="CODE_COVERAGE"===r.reportKind?"CODE_COVERAGE":"TEST_RESULTS";await n.buildReport.upsert({where:{buildId_kind:{buildId:i,kind:a}},create:{id:(0,t.randomUUID)(),buildId:i,kind:a,source:"WORKTREE"===r.source?"WORKTREE":"MANUAL",status:"FAILED",error:e.error||"Report generation failed",finishedAt:new Date},update:{status:"FAILED",error:e.error||"Report generation failed",finishedAt:new Date}})}}),this.publish(i)}async projectDeploymentCompletion(e){let t=await (0,n.getPrismaClient)(),r=await t.buildDeployment.findMany({where:{jobId:e.id}});if(!r.length)return;let i=h(p(e.resultJson,{}),"deployment result"),a=Array.isArray(i.deployments)?i.deployments:[];for(let i of r){let r=a.map(e=>h(e,"deployment outcome")).find(e=>e.id===i.id);await t.buildDeployment.update({where:{id:i.id},data:{status:"string"==typeof r?.status?r.status:v(e.status),error:"string"==typeof r?.error?r.error:e.error,outputRelativePath:"string"==typeof r?.outputRelativePath?r.outputRelativePath:null,startedAt:i.startedAt??new Date,finishedAt:new Date}})}this.publish(r[0].buildId)}async projectExportCompletion(e){let r=await (0,n.getPrismaClient)(),i=await r.buildExport.findFirst({where:{jobId:e.id}});if(!i)return;let a=h(p(e.resultJson,{}),"export result");if(await r.buildExport.update({where:{id:i.id},data:{status:v(e.status),error:e.error??("string"==typeof a.error?a.error:null),outputRelativePath:"string"==typeof a.outputRelativePath?a.outputRelativePath:null,startedAt:i.startedAt??new Date,finishedAt:new Date}}),"SUCCEEDED"===e.status&&"string"==typeof a.outputRelativePath){let e=a.outputRelativePath;await r.$transaction(async r=>{await r.buildArtifact.upsert({where:{buildId_relativePath:{buildId:i.buildId,relativePath:e}},create:{id:(0,t.randomUUID)(),buildId:i.buildId,kind:"EXPORT",relativePath:e,sizeBytes:"number"==typeof a.sizeBytes?a.sizeBytes:null,metadataJson:JSON.stringify({exportId:i.id})},update:{}}),await this.upsertArtifacts(r,i.buildId,a.artifacts)})}this.publish(i.buildId)}}],669602);var S=e.i(907855);let E=S.object({status:S.string().optional(),codebaseId:S.string().optional(),worktreeId:S.string().optional(),first:S.number().int().min(1).max(200).default(50),after:S.string().optional()}),I=S.object({builds:S.array(S.unknown()),nextCursor:S.string().nullable()}),x=S.object({buildId:S.string().min(1),afterLogId:S.string().min(1).nullable().default(null),logLimit:S.number().int().min(1).max(5e3).default(1e3)}),A=S.object({build:S.unknown(),logs:S.array(S.unknown())}),_=S.object({worktreeId:S.string().min(1)}),C=S.object({project:S.unknown().nullable()}),R=S.union([S.object({buildId:S.string().min(1),requestId:S.string().min(1)}),S.object({worktreeId:S.string().min(1),configurationId:S.string().min(1),action:S.string().optional(),requestId:S.string().min(1)})]),T=S.object({destinations:S.array(S.unknown())}),D=S.object({worktreeId:S.string().min(1),configurationId:S.string().min(1),destination:S.record(S.string(),S.unknown()),scriptIds:S.array(S.string()).default([]),action:S.string().optional(),advancedSettings:S.record(S.string(),S.unknown()).optional(),requestId:S.string().min(1)}),N=S.object({build:S.unknown()}),O=S.object({worktreeId:S.string().min(1),reportPath:S.string().min(1).max(4e3),format:S.enum(["AUTO","LCOV","ISTANBUL"]).default("AUTO"),requestId:S.string().min(1)}),P=S.object({build:S.unknown()}),$=S.object({buildId:S.string().min(1),requestId:S.string().min(1)}),U=S.object({build:S.unknown()}),B=S.object({buildId:S.string().min(1),destinations:S.array(S.record(S.string(),S.unknown())).min(1),requestId:S.string().min(1)}),j=S.object({deployments:S.array(S.unknown())}),L=S.object({buildId:S.string().min(1),settings:S.record(S.string(),S.unknown()),requestId:S.string().min(1)}),q=S.object({export:S.unknown()});e.s(["CancelBuildToolInputSchema",0,$,"CancelBuildToolOutputSchema",0,U,"ExportBuildToolInputSchema",0,L,"ExportBuildToolOutputSchema",0,q,"GetBuildConfigurationsInputSchema",0,_,"GetBuildConfigurationsOutputSchema",0,C,"GetBuildDestinationsInputSchema",0,R,"GetBuildDestinationsOutputSchema",0,T,"GetBuildInputSchema",0,x,"GetBuildOutputSchema",0,A,"GetBuildsInputSchema",0,E,"GetBuildsOutputSchema",0,I,"ImportCoverageReportToolInputSchema",0,O,"ImportCoverageReportToolOutputSchema",0,P,"RunBuildToolInputSchema",0,B,"RunBuildToolOutputSchema",0,j,"StartBuildToolInputSchema",0,D,"StartBuildToolOutputSchema",0,N],190714),e.s([],224174),e.i(582482);var M=e.i(318905),F=e.i(91022);let K="default",V={"exact-primary":"EXACT_PRIMARY","prefixed-primary":"PREFIXED_PRIMARY","exact-restore":"EXACT_RESTORE","prefixed-restore":"PREFIXED_RESTORE"};function G(e,t){return t?e.split(t).join("[REDACTED]"):e}function H(e){return{id:e.id,key:e.key,version:e.version,scope:e.scope,repoId:e.repoId,updatedAt:e.updatedAt,locationId:e.locationId}}e.s(["CacheServerService",0,class{credentials;constructor(e=new F.CredentialService){this.credentials=e}async getSettings(){let e=await (0,n.getPrismaClient)(),t=await e.cacheServerSettings.upsert({where:{id:K},create:{id:K},update:{}}),[r,i]=await Promise.all([this.credentials.isConfigured(M.CREDENTIALS.cacheServerApiKey),this.credentials.isConfigured(M.CREDENTIALS.cacheServerHeaders)]);return this.settingsView(t,r,i)}settingsView(e,t,r){return{configured:!!(e.baseUrl&&t),baseUrl:e.baseUrl,apiKeyConfigured:t,headers:(function(e){try{let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>"string"==typeof e):[]}catch{return[]}})(e.headerNamesJson).map(e=>({name:e,valueConfigured:r})),updatedAt:e.updatedAt.toISOString()}}async saveSettings(e){let t=function(e){let t,r=e.trim().replace(/\/+$/,"");if(!r)throw Error("A cache server base URL is required");try{t=new URL(r)}catch{throw Error("The cache server base URL is not a valid URL")}if("http:"!==t.protocol&&"https:"!==t.protocol)throw Error("The cache server base URL must use http or https");return r}(e.baseUrl),r=await this.credentials.isConfigured(M.CREDENTIALS.cacheServerApiKey),i=e.apiKey?.trim()||(r?await this.credentials.getText(M.CREDENTIALS.cacheServerApiKey):null);if(!i)throw Error("A cache server API key is required");let a=await this.credentials.isConfigured(M.CREDENTIALS.cacheServerHeaders)?await this.credentials.getJson(M.CREDENTIALS.cacheServerHeaders)??[]:[],n=function(e,t){if(!e)return[];let r=new Map(t.map(e=>[e.name.toLowerCase(),e.value])),i=new Set,a=[];for(let t of e){let e=t.name.trim();if(!e)continue;let n=e.toLowerCase();if(i.has(n))continue;i.add(n);let s=t.value||r.get(n);if(!s)throw Error(`A value is required for the ${e} header`);a.push({name:e,value:s})}return a}(e.headers,a),s=JSON.stringify(n.map(e=>e.name));return await this.credentials.setMany([{descriptor:M.CREDENTIALS.cacheServerApiKey,value:Buffer.from(i,"utf8")},{descriptor:M.CREDENTIALS.cacheServerHeaders,value:(0,M.encodeJsonCredential)(n)}],async e=>{await e.cacheServerSettings.upsert({where:{id:K},create:{id:K,baseUrl:t,headerNamesJson:s},update:{baseUrl:t,headerNamesJson:s}})}),this.getSettings()}async clearSettings(){return await this.credentials.deleteMany([M.CREDENTIALS.cacheServerApiKey,M.CREDENTIALS.cacheServerHeaders],async e=>{await e.cacheServerSettings.upsert({where:{id:K},create:{id:K},update:{baseUrl:null,headerNamesJson:"[]"}})}),this.getSettings()}async testConnection(){var e;if(!("object"==typeof(e=await this.request("GET","/cache-entries",{query:{itemsPerPage:1,page:1}}))&&null!==e&&"number"==typeof e.total&&Number.isInteger(e.total)&&e.total>=0&&Array.isArray(e.items)))throw Error("Cache server returned an invalid cache entry response");return this.getSettings()}async listCacheEntries(e){let t=await this.request("GET","/cache-entries",{query:{key:e.key?.trim()||void 0,version:e.version?.trim()||void 0,scope:e.scope?.trim()||void 0,repoId:e.repoId?.trim()||void 0,itemsPerPage:e.itemsPerPage??20,page:e.page??1}});return{total:t?.total??0,items:(t?.items??[]).map(H)}}async getCacheEntry(e){let t=await this.request("GET",`/cache-entries/${encodeURIComponent(e)}`,{allowNotFound:!0});return t?H(t):null}async getCacheEntryDetail(e){let t=await this.getCacheEntry(e);if(!t)return null;let r=t.locationId?await this.getStorageLocation(t.locationId):null;return{entry:t,location:r}}async getStorageLocation(e){let t=await this.request("GET",`/storage-locations/${encodeURIComponent(e)}`,{allowNotFound:!0});return t?{id:t.id,folderName:t.folderName,partCount:t.partCount,mergeStartedAt:t.mergeStartedAt??null,mergedAt:t.mergedAt??null,partsDeletedAt:t.partsDeletedAt??null,lastDownloadedAt:t.lastDownloadedAt??null,sizeBytes:t.sizeBytes??null}:null}async matchCacheEntry(e){let t=(e.restoreKeys??[]).map(e=>e.trim()).filter(Boolean),r=e.scopes.map(e=>e.trim()).filter(Boolean),i=await this.request("GET","/cache-entries/match",{query:{primaryKey:e.primaryKey,restoreKeys:t.length>0?t:void 0,scopes:r,repoId:e.repoId,version:e.version}});if(!i)return null;let a=V[i.type];if(!a)throw Error("Cache server returned an unknown match type");return{match:H(i.match),type:a}}async deleteCacheEntry(e){return await this.request("DELETE",`/cache-entries/${encodeURIComponent(e)}`,{allowNotFound:!0}),!0}async deleteCacheEntriesByIds(e){for(let t of e)await this.deleteCacheEntry(t);return!0}async deleteCacheEntries(e){let t=e.repoId?.trim();if(t){let r=new Set,i=1,a=0;do{let n=await this.listCacheEntries({...e,repoId:t,itemsPerPage:100,page:i});for(let e of(a=n.total,n.items))e.repoId===t&&r.add(e.id);i+=1}while((i-1)*100<a)return this.deleteCacheEntriesByIds([...r])}let r={};return e.key?.trim()&&(r.key=e.key.trim()),e.version?.trim()&&(r.version=e.version.trim()),e.scope?.trim()&&(r.scope=e.scope.trim()),await this.request("DELETE","/cache-entries",{body:r}),!0}async deleteStorageLocation(e){return await this.request("DELETE",`/storage-locations/${encodeURIComponent(e)}`,{allowNotFound:!0}),!0}async requireConfig(){let e=await (0,n.getPrismaClient)(),t=await e.cacheServerSettings.findUnique({where:{id:K}});if(!t?.baseUrl)throw Error("The cache server is not configured");let r=await this.credentials.getText(M.CREDENTIALS.cacheServerApiKey);if(!r)throw Error("The cache server is not configured");let i=await this.credentials.getJson(M.CREDENTIALS.cacheServerHeaders)??[];return{baseUrl:t.baseUrl,apiKey:r,headers:i}}buildUrl(e,t,r){let i=new URL(`${e}${t}`);if(r){for(let[e,t]of Object.entries(r))if(null!=t)if(Array.isArray(t))for(let r of t)i.searchParams.append(e,r);else i.searchParams.append(e,String(t))}return i.toString()}async request(e,t,r={}){let i,a,n=await this.requireConfig(),s=this.buildUrl(n.baseUrl,t,r.query),o={accept:"application/json"};for(let e of n.headers)o[e.name]=e.value;o["x-api-key"]=n.apiKey,void 0!==r.body&&(o["content-type"]="application/json");try{i=await fetch(s,{method:e,headers:o,body:void 0!==r.body?JSON.stringify(r.body):void 0,cache:"no-store"})}catch(e){throw Error(G(e instanceof Error?e.message:String(e),n.apiKey))}if(r.allowNotFound&&404===i.status)return null;let l=await i.text();if(l)try{a=JSON.parse(l)}catch{if(!i.ok)throw Error(`Cache server returned HTTP ${i.status}`);a=void 0}if(!i.ok)throw Error(G(a&&"object"==typeof a&&"message"in a&&"string"==typeof a.message?a.message:`Cache server returned HTTP ${i.status}`,n.apiKey));return a??null}}],646462),e.s([],890564)},289064,(e,t,r)=>{var i,a;a=i||(i={}),function(t){var r="object"==typeof globalThis?globalThis:e.g,i=n(a);function n(e,t){return function(r,i){Object.defineProperty(e,r,{configurable:!0,writable:!0,value:i}),t&&t(r,i)}}void 0!==r.Reflect&&(i=n(r.Reflect,i)),t(i,r),void 0===r.Reflect&&(r.Reflect=a)}(function(e,t){var r,i=Object.prototype.hasOwnProperty,a="function"==typeof Symbol,n=a&&void 0!==Symbol.toPrimitive?Symbol.toPrimitive:"@@toPrimitive",s=a&&void 0!==Symbol.iterator?Symbol.iterator:"@@iterator",o="function"==typeof Object.create,l=({__proto__:[]})instanceof Array,u=!o&&!l,c={create:o?function(){return B(Object.create(null))}:l?function(){return B({__proto__:null})}:function(){return B({})},has:u?function(e,t){return i.call(e,t)}:function(e,t){return t in e},get:u?function(e,t){return i.call(e,t)?e[t]:void 0}:function(e,t){return e[t]}},d=Object.getPrototypeOf(Function),p="function"==typeof Map&&"function"==typeof Map.prototype.entries?Map:function(){var e={},t=[],r=function(){function e(e,t,r){this._index=0,this._keys=e,this._values=t,this._selector=r}return e.prototype["@@iterator"]=function(){return this},e.prototype[s]=function(){return this},e.prototype.next=function(){var e=this._index;if(e>=0&&e<this._keys.length){var r=this._selector(this._keys[e],this._values[e]);return e+1>=this._keys.length?(this._index=-1,this._keys=t,this._values=t):this._index++,{value:r,done:!1}}return{value:void 0,done:!0}},e.prototype.throw=function(e){throw this._index>=0&&(this._index=-1,this._keys=t,this._values=t),e},e.prototype.return=function(e){return this._index>=0&&(this._index=-1,this._keys=t,this._values=t),{value:e,done:!0}},e}();function i(){this._keys=[],this._values=[],this._cacheKey=e,this._cacheIndex=-2}return Object.defineProperty(i.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),i.prototype.has=function(e){return this._find(e,!1)>=0},i.prototype.get=function(e){var t=this._find(e,!1);return t>=0?this._values[t]:void 0},i.prototype.set=function(e,t){var r=this._find(e,!0);return this._values[r]=t,this},i.prototype.delete=function(t){var r=this._find(t,!1);if(r>=0){for(var i=this._keys.length,a=r+1;a<i;a++)this._keys[a-1]=this._keys[a],this._values[a-1]=this._values[a];return this._keys.length--,this._values.length--,T(t,this._cacheKey)&&(this._cacheKey=e,this._cacheIndex=-2),!0}return!1},i.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=e,this._cacheIndex=-2},i.prototype.keys=function(){return new r(this._keys,this._values,a)},i.prototype.values=function(){return new r(this._keys,this._values,n)},i.prototype.entries=function(){return new r(this._keys,this._values,o)},i.prototype["@@iterator"]=function(){return this.entries()},i.prototype[s]=function(){return this.entries()},i.prototype._find=function(e,t){if(!T(this._cacheKey,e)){this._cacheIndex=-1;for(var r=0;r<this._keys.length;r++)if(T(this._keys[r],e)){this._cacheIndex=r;break}}return this._cacheIndex<0&&t&&(this._cacheIndex=this._keys.length,this._keys.push(e),this._values.push(void 0)),this._cacheIndex},i;function a(e,t){return e}function n(e,t){return t}function o(e,t){return[e,t]}}(),h="function"==typeof Set&&"function"==typeof Set.prototype.entries?Set:function(){function e(){this._map=new p}return Object.defineProperty(e.prototype,"size",{get:function(){return this._map.size},enumerable:!0,configurable:!0}),e.prototype.has=function(e){return this._map.has(e)},e.prototype.add=function(e){return this._map.set(e,e),this},e.prototype.delete=function(e){return this._map.delete(e)},e.prototype.clear=function(){this._map.clear()},e.prototype.keys=function(){return this._map.keys()},e.prototype.values=function(){return this._map.keys()},e.prototype.entries=function(){return this._map.entries()},e.prototype["@@iterator"]=function(){return this.keys()},e.prototype[s]=function(){return this.keys()},e}(),m="function"==typeof WeakMap?WeakMap:function(){var e=c.create(),t=a();function r(){this._key=a()}return r.prototype.has=function(e){var t=n(e,!1);return void 0!==t&&c.has(t,this._key)},r.prototype.get=function(e){var t=n(e,!1);return void 0!==t?c.get(t,this._key):void 0},r.prototype.set=function(e,t){return n(e,!0)[this._key]=t,this},r.prototype.delete=function(e){var t=n(e,!1);return void 0!==t&&delete t[this._key]},r.prototype.clear=function(){this._key=a()},r;function a(){var t;do t="@@WeakMap@@"+function(){var e=function(){if("function"==typeof Uint8Array){var e=new Uint8Array(16);return"u">typeof crypto?crypto.getRandomValues(e):"u">typeof msCrypto?msCrypto.getRandomValues(e):s(e,16),e}return s(Array(16),16)}();e[6]=79&e[6]|64,e[8]=191&e[8]|128;for(var t="",r=0;r<16;++r){var i=e[r];(4===r||6===r||8===r)&&(t+="-"),i<16&&(t+="0"),t+=i.toString(16).toLowerCase()}return t}();while(c.has(e,t))return e[t]=!0,t}function n(e,r){if(!i.call(e,t)){if(!r)return;Object.defineProperty(e,t,{value:c.create()})}return e[t]}function s(e,t){for(var r=0;r<t;++r)e[r]=255*Math.random()|0;return e}}(),f=a?Symbol.for("@reflect-metadata:registry"):void 0,g=(!E(f)&&x(t.Reflect)&&Object.isExtensible(t.Reflect)&&(r=t.Reflect[f]),E(r)&&(r=function(){E(f)||void 0===t.Reflect||f in t.Reflect||"function"!=typeof t.Reflect.defineMetadata||(r=(e=t.Reflect).defineMetadata,i=e.hasOwnMetadata,a=e.getOwnMetadata,n=e.getOwnMetadataKeys,s=e.deleteMetadata,o=new m,l={isProviderFor:function(e,t){var r=o.get(e);return!!(!E(r)&&r.has(t))||!!n(e,t).length&&(E(r)&&(r=new h,o.set(e,r)),r.add(t),!0)},OrdinaryDefineOwnMetadata:r,OrdinaryHasOwnMetadata:i,OrdinaryGetOwnMetadata:a,OrdinaryOwnMetadataKeys:n,OrdinaryDeleteMetadata:s});var e,r,i,a,n,s,o,l,u,c,d,g=new m,y={registerProvider:function(e){if(!Object.isExtensible(y))throw Error("Cannot add provider to a frozen registry.");switch(!0){case l===e:break;case E(u):u=e;break;case u===e:break;case E(c):c=e;break;case c===e:break;default:void 0===d&&(d=new h),d.add(e)}},getProvider:w,setProvider:function(e,t,r){if(!function(e){if(E(e))throw TypeError();return u===e||c===e||!E(d)&&d.has(e)}(r))throw Error("Metadata provider not registered.");var i=w(e,t);if(i!==r){if(!E(i))return!1;var a=g.get(e);E(a)&&(a=new p,g.set(e,a)),a.set(t,r)}return!0}};return y;function w(e,t){var r,i=g.get(e);return E(i)||(r=i.get(t)),E(r)&&(r=function(e,t){if(!E(u)){if(u.isProviderFor(e,t))return u;if(!E(c)){if(c.isProviderFor(e,t))return u;if(!E(d))for(var r=N(d);;){var i=O(r);if(!i)return;var a=i.value;if(a.isProviderFor(e,t))return P(r),a}}}if(!E(l)&&l.isProviderFor(e,t))return l}(e,t),E(r)||(E(i)&&(i=new p,g.set(e,i)),i.set(t,r))),r}}()),!E(f)&&x(t.Reflect)&&Object.isExtensible(t.Reflect)&&Object.defineProperty(t.Reflect,f,{enumerable:!1,configurable:!1,writable:!1,value:r}),r),y=function(e){var t=new m,r={isProviderFor:function(e,r){var i=t.get(e);return!E(i)&&i.has(r)},OrdinaryDefineOwnMetadata:function(e,t,r,a){i(r,a,!0).set(e,t)},OrdinaryHasOwnMetadata:function(e,t,r){var a=i(t,r,!1);return!E(a)&&!!a.has(e)},OrdinaryGetOwnMetadata:function(e,t,r){var a=i(t,r,!1);if(!E(a))return a.get(e)},OrdinaryOwnMetadataKeys:function(e,t){var r=[],a=i(e,t,!1);if(E(a))return r;for(var n=N(a.keys()),s=0;;){var o=O(n);if(!o)return r.length=s,r;var l=o.value;try{r[s]=l}catch(e){try{P(n)}finally{throw e}}s++}},OrdinaryDeleteMetadata:function(e,r,a){var n=i(r,a,!1);if(E(n)||!n.delete(e))return!1;if(0===n.size){var s=t.get(r);E(s)||(s.delete(a),0===s.size&&t.delete(s))}return!0}};return g.registerProvider(r),r;function i(i,a,n){var s=t.get(i),o=!1;if(E(s)){if(!n)return;s=new p,t.set(i,s),o=!0}var l=s.get(a);if(E(l)){if(!n)return;if(l=new p,s.set(a,l),!e.setProvider(i,a,r))throw s.delete(a),o&&t.delete(i),Error("Wrong provider for target.")}return l}}(g);function w(e,t,r){var i=U(t,r,!1);return!E(i)&&!!i.OrdinaryHasOwnMetadata(e,t,r)}function b(e,t,r){var i=U(t,r,!1);if(!E(i))return i.OrdinaryGetOwnMetadata(e,t,r)}function v(e,t,r,i){U(r,i,!0).OrdinaryDefineOwnMetadata(e,t,r,i)}function k(e,t){var r=U(e,t,!1);return r?r.OrdinaryOwnMetadataKeys(e,t):[]}function S(e){if(null===e)return 1;switch(typeof e){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return null===e?1:6;default:return 6}}function E(e){return void 0===e}function I(e){return null===e}function x(e){return"object"==typeof e?null!==e:"function"==typeof e}e("decorate",function(e,t,r,i){if(E(r)){if(!_(e)||!R(t))throw TypeError();for(var a=e,n=t,s=a.length-1;s>=0;--s){var o=(0,a[s])(n);if(!E(o)&&!I(o)){if(!R(o))throw TypeError();n=o}}return n}if(!_(e)||!x(t)||!x(i)&&!E(i)&&!I(i))throw TypeError();return I(i)&&(i=void 0),function(e,t,r,i){for(var a=e.length-1;a>=0;--a){var n=(0,e[a])(t,r,i);if(!E(n)&&!I(n)){if(!x(n))throw TypeError();i=n}}return i}(e,t,r=A(r),i)}),e("metadata",function(e,t){return function(r,i){if(!x(r)||!E(i)&&!function(e){switch(S(e)){case 3:case 4:return!0;default:return!1}}(i))throw TypeError();v(e,t,r,i)}}),e("defineMetadata",function(e,t,r,i){if(!x(r))throw TypeError();return E(i)||(i=A(i)),v(e,t,r,i)}),e("hasMetadata",function(e,t,r){if(!x(t))throw TypeError();return E(r)||(r=A(r)),function e(t,r,i){if(w(t,r,i))return!0;var a=$(r);return!I(a)&&e(t,a,i)}(e,t,r)}),e("hasOwnMetadata",function(e,t,r){if(!x(t))throw TypeError();return E(r)||(r=A(r)),w(e,t,r)}),e("getMetadata",function(e,t,r){if(!x(t))throw TypeError();return E(r)||(r=A(r)),function e(t,r,i){if(w(t,r,i))return b(t,r,i);var a=$(r);if(!I(a))return e(t,a,i)}(e,t,r)}),e("getOwnMetadata",function(e,t,r){if(!x(t))throw TypeError();return E(r)||(r=A(r)),b(e,t,r)}),e("getMetadataKeys",function(e,t){if(!x(e))throw TypeError();return E(t)||(t=A(t)),function e(t,r){var i=k(t,r),a=$(t);if(null===a)return i;var n=e(a,r);if(n.length<=0)return i;if(i.length<=0)return n;for(var s=new h,o=[],l=0;l<i.length;l++){var u=i[l],c=s.has(u);c||(s.add(u),o.push(u))}for(var d=0;d<n.length;d++){var u=n[d],c=s.has(u);c||(s.add(u),o.push(u))}return o}(e,t)}),e("getOwnMetadataKeys",function(e,t){if(!x(e))throw TypeError();return E(t)||(t=A(t)),k(e,t)}),e("deleteMetadata",function(e,t,r){if(!x(t)||(E(r)||(r=A(r)),!x(t)))throw TypeError();E(r)||(r=A(r));var i=U(t,r,!1);return!E(i)&&i.OrdinaryDeleteMetadata(e,t,r)});function A(e){var t=function(e){switch(S(e)){case 0:case 1:case 2:case 3:case 4:case 5:return e}var t="string",r=D(e,n);if(void 0!==r){var i=r.call(e,t);if(x(i))throw TypeError();return i}return function(e,t){if("string"===t){var r=e.toString;if(C(r)){var i=r.call(e);if(!x(i))return i}var a=e.valueOf;if(C(a)){var i=a.call(e);if(!x(i))return i}}else{var a=e.valueOf;if(C(a)){var i=a.call(e);if(!x(i))return i}var n=e.toString;if(C(n)){var i=n.call(e);if(!x(i))return i}}throw TypeError()}(e,t)}(e);return"symbol"==typeof t?t:""+t}function _(e){return Array.isArray?Array.isArray(e):e instanceof Object?e instanceof Array:"[object Array]"===Object.prototype.toString.call(e)}function C(e){return"function"==typeof e}function R(e){return"function"==typeof e}function T(e,t){return e===t||e!=e&&t!=t}function D(e,t){var r=e[t];if(null!=r){if(!C(r))throw TypeError();return r}}function N(e){var t=D(e,s);if(!C(t))throw TypeError();var r=t.call(e);if(!x(r))throw TypeError();return r}function O(e){var t=e.next();return!t.done&&t}function P(e){var t=e.return;t&&t.call(e)}function $(e){var t=Object.getPrototypeOf(e);if("function"!=typeof e||e===d||t!==d)return t;var r=e.prototype,i=r&&Object.getPrototypeOf(r);if(null==i||i===Object.prototype)return t;var a=i.constructor;return"function"!=typeof a||a===e?t:a}function U(e,t,r){var i=g.getProvider(e,t);if(!E(i))return i;if(r){if(g.setProvider(e,t,y))return y;throw Error("Illegal state.")}}function B(e){return e.__=void 0,delete e.__,e}})},779430,e=>{"use strict";var t=function(e,r){return(t=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,r)};function r(e,r){if("function"!=typeof r&&null!==r)throw TypeError("Class extends value "+String(r)+" is not a constructor or null");function i(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(i.prototype=r.prototype,new i)}var i=function(){return(i=Object.assign||function(e){for(var t,r=1,i=arguments.length;r<i;r++)for(var a in t=arguments[r])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e}).apply(this,arguments)};function a(e,t){var r={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&0>t.indexOf(i)&&(r[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var a=0,i=Object.getOwnPropertySymbols(e);a<i.length;a++)0>t.indexOf(i[a])&&Object.prototype.propertyIsEnumerable.call(e,i[a])&&(r[i[a]]=e[i[a]]);return r}function n(e,t,r,i){var a,n=arguments.length,s=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(s=(n<3?a(s):n>3?a(t,r,s):a(t,r))||s);return n>3&&s&&Object.defineProperty(t,r,s),s}function s(e,t){return function(r,i){t(r,i,e)}}function o(e,t,r,i,a,n){function s(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var o,l=i.kind,u="getter"===l?"get":"setter"===l?"set":"value",c=!t&&e?i.static?e:e.prototype:null,d=t||(c?Object.getOwnPropertyDescriptor(c,i.name):{}),p=!1,h=r.length-1;h>=0;h--){var m={};for(var f in i)m[f]="access"===f?{}:i[f];for(var f in i.access)m.access[f]=i.access[f];m.addInitializer=function(e){if(p)throw TypeError("Cannot add initializers after decoration has completed");n.push(s(e||null))};var g=(0,r[h])("accessor"===l?{get:d.get,set:d.set}:d[u],m);if("accessor"===l){if(void 0===g)continue;if(null===g||"object"!=typeof g)throw TypeError("Object expected");(o=s(g.get))&&(d.get=o),(o=s(g.set))&&(d.set=o),(o=s(g.init))&&a.unshift(o)}else(o=s(g))&&("field"===l?a.unshift(o):d[u]=o)}c&&Object.defineProperty(c,i.name,d),p=!0}function l(e,t,r){for(var i=arguments.length>2,a=0;a<t.length;a++)r=i?t[a].call(e,r):t[a].call(e);return i?r:void 0}function u(e){return"symbol"==typeof e?e:"".concat(e)}function c(e,t,r){return"symbol"==typeof t&&(t=t.description?"[".concat(t.description,"]"):""),Object.defineProperty(e,"name",{configurable:!0,value:r?"".concat(r," ",t):t})}function d(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function p(e,t,r,i){return new(r||(r=Promise))(function(a,n){function s(e){try{l(i.next(e))}catch(e){n(e)}}function o(e){try{l(i.throw(e))}catch(e){n(e)}}function l(e){var t;e.done?a(e.value):((t=e.value)instanceof r?t:new r(function(e){e(t)})).then(s,o)}l((i=i.apply(e,t||[])).next())})}function h(e,t){var r,i,a,n={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},s=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return s.next=o(0),s.throw=o(1),s.return=o(2),"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function o(o){return function(l){var u=[o,l];if(r)throw TypeError("Generator is already executing.");for(;s&&(s=0,u[0]&&(n=0)),n;)try{if(r=1,i&&(a=2&u[0]?i.return:u[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,u[1])).done)return a;switch(i=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,i=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(!(a=(a=n.trys).length>0&&a[a.length-1])&&(6===u[0]||2===u[0])){n=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){n.label=u[1];break}if(6===u[0]&&n.label<a[1]){n.label=a[1],a=u;break}if(a&&n.label<a[2]){n.label=a[2],n.ops.push(u);break}a[2]&&n.ops.pop(),n.trys.pop();continue}u=t.call(e,n)}catch(e){u=[6,e],i=0}finally{r=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}var m=Object.create?function(e,t,r,i){void 0===i&&(i=r);var a=Object.getOwnPropertyDescriptor(t,r);(!a||("get"in a?!t.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,a)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]};function f(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||m(t,e,r)}function g(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],i=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function y(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var i,a,n=r.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(e){a={error:e}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(a)throw a.error}}return s}function w(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(y(arguments[t]));return e}function b(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;for(var i=Array(e),a=0,t=0;t<r;t++)for(var n=arguments[t],s=0,o=n.length;s<o;s++,a++)i[a]=n[s];return i}function v(e,t,r){if(r||2==arguments.length)for(var i,a=0,n=t.length;a<n;a++)!i&&a in t||(i||(i=Array.prototype.slice.call(t,0,a)),i[a]=t[a]);return e.concat(i||Array.prototype.slice.call(t))}function k(e){return this instanceof k?(this.v=e,this):new k(e)}function S(e,t,r){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var i,a=r.apply(e,t||[]),n=[];return i=Object.create(("function"==typeof AsyncIterator?AsyncIterator:Object).prototype),s("next"),s("throw"),s("return",function(e){return function(t){return Promise.resolve(t).then(e,u)}}),i[Symbol.asyncIterator]=function(){return this},i;function s(e,t){a[e]&&(i[e]=function(t){return new Promise(function(r,i){n.push([e,t,r,i])>1||o(e,t)})},t&&(i[e]=t(i[e])))}function o(e,t){try{var r;(r=a[e](t)).value instanceof k?Promise.resolve(r.value.v).then(l,u):c(n[0][2],r)}catch(e){c(n[0][3],e)}}function l(e){o("next",e)}function u(e){o("throw",e)}function c(e,t){e(t),n.shift(),n.length&&o(n[0][0],n[0][1])}}function E(e){var t,r;return t={},i("next"),i("throw",function(e){throw e}),i("return"),t[Symbol.iterator]=function(){return this},t;function i(i,a){t[i]=e[i]?function(t){return(r=!r)?{value:k(e[i](t)),done:!1}:a?a(t):t}:a}}function I(e){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=g(e),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(r){t[r]=e[r]&&function(t){return new Promise(function(i,a){var n,s,o;n=i,s=a,o=(t=e[r](t)).done,Promise.resolve(t.value).then(function(e){n({value:e,done:o})},s)})}}}function x(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var A=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t},_=function(e){return(_=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t})(e)};function C(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=_(e),i=0;i<r.length;i++)"default"!==r[i]&&m(t,e,r[i]);return A(t,e),t}function R(e){return e&&e.__esModule?e:{default:e}}function T(e,t,r,i){if("a"===r&&!i)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!i:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?i:"a"===r?i.call(e):i?i.value:t.get(e)}function D(e,t,r,i,a){if("m"===i)throw TypeError("Private method is not writable");if("a"===i&&!a)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!a:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===i?a.call(e,r):a?a.value=r:t.set(e,r),r}function N(e,t){if(null===t||"object"!=typeof t&&"function"!=typeof t)throw TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}function O(e,t,r){if(null!=t){var i,a;if("object"!=typeof t&&"function"!=typeof t)throw TypeError("Object expected.");if(r){if(!Symbol.asyncDispose)throw TypeError("Symbol.asyncDispose is not defined.");i=t[Symbol.asyncDispose]}if(void 0===i){if(!Symbol.dispose)throw TypeError("Symbol.dispose is not defined.");i=t[Symbol.dispose],r&&(a=i)}if("function"!=typeof i)throw TypeError("Object not disposable.");a&&(i=function(){try{a.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:i,async:r})}else r&&e.stack.push({async:!0});return t}var P="function"==typeof SuppressedError?SuppressedError:function(e,t,r){var i=Error(r);return i.name="SuppressedError",i.error=e,i.suppressed=t,i};function $(e){function t(t){e.error=e.hasError?new P(t,e.error,"An error was suppressed during disposal."):t,e.hasError=!0}var r,i=0;return function a(){for(;r=e.stack.pop();)try{if(!r.async&&1===i)return i=0,e.stack.push(r),Promise.resolve().then(a);if(r.dispose){var n=r.dispose.call(r.value);if(r.async)return i|=2,Promise.resolve(n).then(a,function(e){return t(e),a()})}else i|=1}catch(e){t(e)}if(1===i)return e.hasError?Promise.reject(e.error):Promise.resolve();if(e.hasError)throw e.error}()}function U(e,t){return"string"==typeof e&&/^\.\.?\//.test(e)?e.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(e,r,i,a,n){return r?t?".jsx":".js":!i||a&&n?i+a+"."+n.toLowerCase()+"js":e}):e}let B={__extends:r,__assign:i,__rest:a,__decorate:n,__param:s,__esDecorate:o,__runInitializers:l,__propKey:u,__setFunctionName:c,__metadata:d,__awaiter:p,__generator:h,__createBinding:m,__exportStar:f,__values:g,__read:y,__spread:w,__spreadArrays:b,__spreadArray:v,__await:k,__asyncGenerator:S,__asyncDelegator:E,__asyncValues:I,__makeTemplateObject:x,__importStar:C,__importDefault:R,__classPrivateFieldGet:T,__classPrivateFieldSet:D,__classPrivateFieldIn:N,__addDisposableResource:O,__disposeResources:$,__rewriteRelativeImportExtension:U};e.s(["__addDisposableResource",0,O,"__assign",()=>i,"__asyncDelegator",0,E,"__asyncGenerator",0,S,"__asyncValues",0,I,"__await",0,k,"__awaiter",0,p,"__classPrivateFieldGet",0,T,"__classPrivateFieldIn",0,N,"__classPrivateFieldSet",0,D,"__createBinding",0,m,"__decorate",0,n,"__disposeResources",0,$,"__esDecorate",0,o,"__exportStar",0,f,"__extends",0,r,"__generator",0,h,"__importDefault",0,R,"__importStar",0,C,"__makeTemplateObject",0,x,"__metadata",0,d,"__param",0,s,"__propKey",0,u,"__read",0,y,"__rest",0,a,"__rewriteRelativeImportExtension",0,U,"__runInitializers",0,l,"__setFunctionName",0,c,"__spread",0,w,"__spreadArray",0,v,"__spreadArrays",0,b,"__values",0,g,"default",0,B])},867695,791001,e=>{"use strict";var t,r,i,a,n,s,o,l,u,c,d,p,h,m,f,g,y,w,b,v,k,S,E,I,x,A,_,C,R,T,D,N,O,P,$,U,B,j,L,q,M,F,K,V,G,H,W,J,z,Z,Y,Q,X,ee,et,er,ei,ea,en,es,eo,el,eu,ec,ed,ep,eh,em,ef,eg,ey,ew,eb,ev,ek,eS,eE,eI,ex,eA,e_,eC,eR,eT,eD,eN,eO,eP,e$,eU,eB,ej,eL,eq,eM=e.i(761095);function eF(e){if(!e)return null;let t=e.trim();if(t.startsWith("[")){let e=t.indexOf("]");e>0&&(t=t.slice(1,e))}else/^\d+\.\d+\.\d+\.\d+:\d+$/.test(t)&&(t=t.slice(0,t.lastIndexOf(":")));return t.startsWith("::ffff:")&&4===(0,eM.isIP)(t.slice(7))&&(t=t.slice(7)),(0,eM.isIP)(t)?t.toLowerCase():null}e.s(["resolveClientIp",0,function(e){let t=eF(e.get("cf-connecting-ip"));if(t)return{address:t,source:"CLOUDFLARE"};let r=e.get("x-forwarded-for")?.split(",").map(e=>eF(e)).find(e=>!!e);if(r)return{address:r,source:"FORWARDED"};let i=eF(e.get("x-real-ip"));return i?{address:i,source:"REAL_IP"}:null}],867695),e.i(289064);var eK=e.i(666680);class eV{static isArrayBuffer(e){return"[object ArrayBuffer]"===Object.prototype.toString.call(e)}static toArrayBuffer(e){return this.isArrayBuffer(e)?e:e.byteLength===e.buffer.byteLength||0===e.byteOffset&&e.byteLength===e.buffer.byteLength?e.buffer:this.toUint8Array(e.buffer).slice(e.byteOffset,e.byteOffset+e.byteLength).buffer}static toUint8Array(e){return this.toView(e,Uint8Array)}static toView(e,t){if(e.constructor===t)return e;if(this.isArrayBuffer(e))return new t(e);if(this.isArrayBufferView(e))return new t(e.buffer,e.byteOffset,e.byteLength);throw TypeError("The provided value is not of type '(ArrayBuffer or ArrayBufferView)'")}static isBufferSource(e){return this.isArrayBufferView(e)||this.isArrayBuffer(e)}static isArrayBufferView(e){return ArrayBuffer.isView(e)||e&&this.isArrayBuffer(e.buffer)}static isEqual(e,t){let r=eV.toUint8Array(e),i=eV.toUint8Array(t);if(r.length!==i.byteLength)return!1;for(let e=0;e<r.length;e++)if(r[e]!==i[e])return!1;return!0}static concat(...e){let t;t=!Array.isArray(e[0])||e[1]instanceof Function?Array.isArray(e[0])&&e[1]instanceof Function?e[0]:e[e.length-1]instanceof Function?e.slice(0,e.length-1):e:e[0];let r=0;for(let e of t)r+=e.byteLength;let i=new Uint8Array(r),a=0;for(let e of t){let t=this.toUint8Array(e);i.set(t,a),a+=t.length}return e[e.length-1]instanceof Function?this.toView(i,e[e.length-1]):i.buffer}}let eG="string",eH=/^[0-9a-f\s]+$/i,eW=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,eJ=/^[a-zA-Z0-9-_]+$/;class ez{static fromString(e){let t=unescape(encodeURIComponent(e)),r=new Uint8Array(t.length);for(let e=0;e<t.length;e++)r[e]=t.charCodeAt(e);return r.buffer}static toString(e){let t=eV.toUint8Array(e),r="";for(let e=0;e<t.length;e++)r+=String.fromCharCode(t[e]);return decodeURIComponent(escape(r))}}class eZ{static toString(e,t=!1){let r=eV.toArrayBuffer(e),i=new DataView(r),a="";for(let e=0;e<r.byteLength;e+=2)a+=String.fromCharCode(i.getUint16(e,t));return a}static fromString(e,t=!1){let r=new ArrayBuffer(2*e.length),i=new DataView(r);for(let r=0;r<e.length;r++)i.setUint16(2*r,e.charCodeAt(r),t);return r}}class eY{static isHex(e){return typeof e===eG&&eH.test(e)}static isBase64(e){return typeof e===eG&&eW.test(e)}static isBase64Url(e){return typeof e===eG&&eJ.test(e)}static ToString(e,t="utf8"){let r=eV.toUint8Array(e);switch(t.toLowerCase()){case"utf8":return this.ToUtf8String(r);case"binary":return this.ToBinary(r);case"hex":return this.ToHex(r);case"base64":return this.ToBase64(r);case"base64url":return this.ToBase64Url(r);case"utf16le":return eZ.toString(r,!0);case"utf16":case"utf16be":return eZ.toString(r);default:throw Error(`Unknown type of encoding '${t}'`)}}static FromString(e,t="utf8"){if(!e)return new ArrayBuffer(0);switch(t.toLowerCase()){case"utf8":return this.FromUtf8String(e);case"binary":return this.FromBinary(e);case"hex":return this.FromHex(e);case"base64":return this.FromBase64(e);case"base64url":return this.FromBase64Url(e);case"utf16le":return eZ.fromString(e,!0);case"utf16":case"utf16be":return eZ.fromString(e);default:throw Error(`Unknown type of encoding '${t}'`)}}static ToBase64(e){let t=eV.toUint8Array(e);return"u">typeof btoa?btoa(this.ToString(t,"binary")):Buffer.from(t).toString("base64")}static FromBase64(e){let t=this.formatString(e);if(!t)return new ArrayBuffer(0);if(!eY.isBase64(t))throw TypeError("Argument 'base64Text' is not Base64 encoded");return"u">typeof atob?this.FromBinary(atob(t)):new Uint8Array(Buffer.from(t,"base64")).buffer}static FromBase64Url(e){let t=this.formatString(e);if(!t)return new ArrayBuffer(0);if(!eY.isBase64Url(t))throw TypeError("Argument 'base64url' is not Base64Url encoded");return this.FromBase64(this.Base64Padding(t.replace(/\-/g,"+").replace(/\_/g,"/")))}static ToBase64Url(e){return this.ToBase64(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}static FromUtf8String(e,t=eY.DEFAULT_UTF8_ENCODING){switch(t){case"ascii":return this.FromBinary(e);case"utf8":return ez.fromString(e);case"utf16":case"utf16be":return eZ.fromString(e);case"utf16le":case"usc2":return eZ.fromString(e,!0);default:throw Error(`Unknown type of encoding '${t}'`)}}static ToUtf8String(e,t=eY.DEFAULT_UTF8_ENCODING){switch(t){case"ascii":return this.ToBinary(e);case"utf8":return ez.toString(e);case"utf16":case"utf16be":return eZ.toString(e);case"utf16le":case"usc2":return eZ.toString(e,!0);default:throw Error(`Unknown type of encoding '${t}'`)}}static FromBinary(e){let t=e.length,r=new Uint8Array(t);for(let i=0;i<t;i++)r[i]=e.charCodeAt(i);return r.buffer}static ToBinary(e){let t=eV.toUint8Array(e),r="";for(let e=0;e<t.length;e++)r+=String.fromCharCode(t[e]);return r}static ToHex(e){let t=eV.toUint8Array(e),r="",i=t.length;for(let e=0;e<i;e++){let i=t[e];i<16&&(r+="0"),r+=i.toString(16)}return r}static FromHex(e){let t=this.formatString(e);if(!t)return new ArrayBuffer(0);if(!eY.isHex(t))throw TypeError("Argument 'hexString' is not HEX encoded");t.length%2&&(t=`0${t}`);let r=new Uint8Array(t.length/2);for(let e=0;e<t.length;e+=2){let i=t.slice(e,e+2);r[e/2]=parseInt(i,16)}return r.buffer}static ToUtf16String(e,t=!1){return eZ.toString(e,t)}static FromUtf16String(e,t=!1){return eZ.fromString(e,t)}static Base64Padding(e){let t=4-e.length%4;if(t<4)for(let r=0;r<t;r++)e+="=";return e}static formatString(e){return(null==e?void 0:e.replace(/[\n\r\t ]/g,""))||""}}function eQ(e,t,r){var i;return e instanceof Object==!1?r:null!=(i=e[t])?i:r}function eX(e,t=0,r=e.byteLength-t,i=!1){let a="";for(let n of new Uint8Array(e,t,r)){let e=n.toString(16).toUpperCase();1===e.length&&(a+="0"),a+=e,i&&(a+=" ")}return a.trim()}function e0(e,t){let r=0;if(1===e.length)return e[0];for(let i=e.length-1;i>=0;i--)r+=e[e.length-1-i]*Math.pow(2,t*i);return r}function e1(e,t,r=-1){let i=e,a=0,n=Math.pow(2,t);for(let s=1;s<8;s++){if(e<n){let e;if(r<0)e=new ArrayBuffer(s),a=s;else{if(r<s)return new ArrayBuffer(0);e=new ArrayBuffer(r),a=r}let n=new Uint8Array(e);for(let e=s-1;e>=0;e--){let r=Math.pow(2,e*t);n[a-e-1]=Math.floor(i/r),i-=n[a-e-1]*r}return e}n*=Math.pow(2,t)}return new ArrayBuffer(0)}function e2(...e){let t=0,r=0;for(let r of e)t+=r.byteLength;let i=new ArrayBuffer(t),a=new Uint8Array(i);for(let t of e)a.set(new Uint8Array(t),r),r+=t.byteLength;return i}function e3(...e){let t=0,r=0;for(let r of e)t+=r.length;let i=new Uint8Array(new ArrayBuffer(t));for(let t of e)i.set(t,r),r+=t.length;return i}function e4(){let e=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){let t=255===e[0]&&128&e[1],r=0===e[0]&&(128&e[1])==0;(t||r)&&this.warnings.push("Needlessly long format")}let t=new Uint8Array(new ArrayBuffer(this.valueHex.byteLength));for(let e=0;e<this.valueHex.byteLength;e++)t[e]=0;t[0]=128&e[0];let r=e0(t,8),i=new Uint8Array(new ArrayBuffer(this.valueHex.byteLength));for(let t=0;t<this.valueHex.byteLength;t++)i[t]=e[t];return i[0]&=127,e0(i,8)-r}function e6(e,t){if(e.byteLength!==t.byteLength)return!1;let r=new Uint8Array(e),i=new Uint8Array(t);for(let e=0;e<r.length;e++)if(r[e]!==i[e])return!1;return!0}function e8(e,t){let r=e.toString(10);if(t<r.length)return"";let i=t-r.length,a=Array(i);for(let e=0;e<i;e++)a[e]="0";return a.join("").concat(r)}eY.DEFAULT_UTF8_ENCODING="utf8";let e5="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",e9="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=";function e7(e,t=!1,r=!1,i=!1){let a=0,n=0,s=0,o="",l=t?e9:e5;if(i){let t=0;for(let r=0;r<e.length;r++)if(0!==e.charCodeAt(r)){t=r;break}e=e.slice(t)}for(;a<e.length;){let t=e.charCodeAt(a++);a>=e.length&&(n=1);let i=e.charCodeAt(a++);a>=e.length&&(s=1);let u=e.charCodeAt(a++),c=t>>2,d=(3&t)<<4|i>>4,p=(15&i)<<2|u>>6,h=63&u;1===n?p=h=64:1===s&&(h=64),r?64===p?o+=`${l.charAt(c)}${l.charAt(d)}`:64===h?o+=`${l.charAt(c)}${l.charAt(d)}${l.charAt(p)}`:o+=`${l.charAt(c)}${l.charAt(d)}${l.charAt(p)}${l.charAt(h)}`:o+=`${l.charAt(c)}${l.charAt(d)}${l.charAt(p)}${l.charAt(h)}`}return o}function te(e,t=!1,r=!1){let i=t?e9:e5;function a(e){for(let t=0;t<64;t++)if(i.charAt(t)===e)return t;return 64}function n(e){return 64===e?0:e}let s=0,o="";for(;s<e.length;){let t=a(e.charAt(s++)),r=s>=e.length?0:a(e.charAt(s++)),i=s>=e.length?0:a(e.charAt(s++)),l=s>=e.length?0:a(e.charAt(s++)),u=n(t)<<2|n(r)>>4,c=(15&n(r))<<4|n(i)>>2,d=(3&n(i))<<6|n(l);o+=String.fromCharCode(u),64!==i&&(o+=String.fromCharCode(c)),64!==l&&(o+=String.fromCharCode(d))}if(r){let e=o.length,t=-1;for(let r=e-1;r>=0;r--)if(0!==o.charCodeAt(r)){t=r;break}o=-1!==t?o.slice(0,t+1):""}return o}function tt(e){let t="";for(let r of new Uint8Array(e))t+=String.fromCharCode(r);return t}function tr(e){let t=e.length,r=new ArrayBuffer(t),i=new Uint8Array(r);for(let r=0;r<t;r++)i[r]=e.charCodeAt(r);return r}let ti=Math.log(2);function ta(e,t){for(let r of t)delete e[r]}function tn(){if("u"<typeof BigInt)throw Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function ts(e){let t=0,r=0;for(let r=0;r<e.length;r++)t+=e[r].byteLength;let i=new Uint8Array(t);for(let t=0;t<e.length;t++){let a=e[t];i.set(new Uint8Array(a),r),r+=a.byteLength}return i.buffer}function to(e,t,r,i){return t instanceof Uint8Array?t.byteLength?r<0?(e.error="Wrong parameter: inputOffset less than zero",!1):i<0?(e.error="Wrong parameter: inputLength less than zero",!1):!(t.byteLength-r-i<0)||(e.error="End of input reached before message was fully decoded (inconsistent offset and length values)",!1):(e.error="Wrong parameter: inputBuffer has zero length",!1):(e.error="Wrong parameter: inputBuffer must be 'Uint8Array'",!1)}class tl{constructor(){this.items=[]}write(e){this.items.push(e)}final(){return ts(this.items)}}let tu=[new Uint8Array([1])],tc="0123456789",td="name",tp="valueHexView",th=new ArrayBuffer(0),tm=new Uint8Array(0),tf="EndOfContent",tg="OCTET STRING",ty="BIT STRING";function tw(e){var t;return(t=class extends e{get valueHex(){return this.valueHexView.slice().buffer}set valueHex(e){this.valueHexView=new Uint8Array(e)}constructor(...e){var t;super(...e);const r=e[0]||{};this.isHexOnly=null!=(t=r.isHexOnly)&&t,this.valueHexView=r.valueHex?eV.toUint8Array(r.valueHex):tm}fromBER(e,t,r,i){let a=e instanceof ArrayBuffer?new Uint8Array(e):e;if(!to(this,a,t,r))return -1;let n=t+r;return(this.valueHexView=a.subarray(t,n),this.valueHexView.length)?(this.blockLength=r,n):(this.warnings.push("Zero buffer length"),t)}toBER(e=!1){return this.isHexOnly?e?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.byteLength===this.valueHexView.buffer.byteLength?this.valueHexView.buffer:this.valueHexView.slice().buffer:(this.error="Flag 'isHexOnly' is not set, abort",th)}toJSON(){return{...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:eY.ToHex(this.valueHexView)}}}).NAME="hexBlock",t}class tb{static blockName(){return this.NAME}get valueBeforeDecode(){return this.valueBeforeDecodeView.slice().buffer}set valueBeforeDecode(e){this.valueBeforeDecodeView=new Uint8Array(e)}constructor({blockLength:e=0,error:t="",warnings:r=[],valueBeforeDecode:i=tm}={}){this.blockLength=e,this.error=t,this.warnings=r,this.valueBeforeDecodeView=eV.toUint8Array(i)}toJSON(){return{blockName:this.constructor.NAME,blockLength:this.blockLength,error:this.error,warnings:this.warnings,valueBeforeDecode:eY.ToHex(this.valueBeforeDecodeView)}}}tb.NAME="baseBlock";class tv extends tb{fromBER(e,t,r,i){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}toBER(e,t){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}}tv.NAME="valueBlock";class tk extends tw(tb){constructor({idBlock:e={}}={}){var t,r,i,a;super(),e?(this.isHexOnly=null!=(t=e.isHexOnly)&&t,this.valueHexView=e.valueHex?eV.toUint8Array(e.valueHex):tm,this.tagClass=null!=(r=e.tagClass)?r:-1,this.tagNumber=null!=(i=e.tagNumber)?i:-1,this.isConstructed=null!=(a=e.isConstructed)&&a):(this.tagClass=-1,this.tagNumber=-1,this.isConstructed=!1)}toBER(e=!1){let t=0;switch(this.tagClass){case 1:t|=0;break;case 2:t|=64;break;case 3:t|=128;break;case 4:t|=192;break;default:return this.error="Unknown tag class",th}if(this.isConstructed&&(t|=32),this.tagNumber<31&&!this.isHexOnly){let r=new Uint8Array(1);if(!e){let e=this.tagNumber;e&=31,t|=e,r[0]=t}return r.buffer}if(!this.isHexOnly){let r=e1(this.tagNumber,7),i=new Uint8Array(r),a=r.byteLength,n=new Uint8Array(a+1);if(n[0]=31|t,!e){for(let e=0;e<a-1;e++)n[e+1]=128|i[e];n[a]=i[a-1]}return n.buffer}let r=new Uint8Array(this.valueHexView.byteLength+1);if(r[0]=31|t,!e){let e=this.valueHexView;for(let t=0;t<e.length-1;t++)r[t+1]=128|e[t];r[this.valueHexView.byteLength]=e[e.length-1]}return r.buffer}fromBER(e,t,r){let i=eV.toUint8Array(e);if(!to(this,i,t,r))return -1;let a=i.subarray(t,t+r);if(0===a.length)return this.error="Zero buffer length",-1;switch(192&a[0]){case 0:this.tagClass=1;break;case 64:this.tagClass=2;break;case 128:this.tagClass=3;break;case 192:this.tagClass=4;break;default:return this.error="Unknown tag class",-1}this.isConstructed=(32&a[0])==32,this.isHexOnly=!1;let n=31&a[0];if(31!==n)this.tagNumber=n,this.blockLength=1;else{let e=0;for(;;){let t=e+1;if(t>=a.length)return this.error="End of input reached before message was fully decoded",-1;if(e++,(128&a[t])==0)break}this.blockLength=e+1;let t=this.valueHexView=new Uint8Array(e);for(let r=0;r<e;r++)t[r]=127&a[r+1];this.blockLength<=9?this.tagNumber=e0(t,7):(this.isHexOnly=!0,this.warnings.push("Tag too long, represented as hex-coded"))}if(1===this.tagClass&&this.isConstructed)switch(this.tagNumber){case 1:case 2:case 5:case 6:case 9:case 13:case 14:case 23:case 24:case 31:case 32:case 33:case 34:return this.error="Constructed encoding used for primitive type",-1}return t+this.blockLength}toJSON(){return{...super.toJSON(),tagClass:this.tagClass,tagNumber:this.tagNumber,isConstructed:this.isConstructed}}}tk.NAME="identificationBlock";class tS extends tb{constructor({lenBlock:e={}}={}){var t,r,i;super(),this.isIndefiniteForm=null!=(t=e.isIndefiniteForm)&&t,this.longFormUsed=null!=(r=e.longFormUsed)&&r,this.length=null!=(i=e.length)?i:0}fromBER(e,t,r){let i=eV.toUint8Array(e);if(!to(this,i,t,r))return -1;let a=i.subarray(t,t+r);if(0===a.length)return this.error="Zero buffer length",-1;if(255===a[0])return this.error="Length block 0xFF is reserved by standard",-1;if(this.isIndefiniteForm=128===a[0],this.isIndefiniteForm)return this.blockLength=1,t+this.blockLength;if(this.longFormUsed=!!(128&a[0]),!1===this.longFormUsed)return this.length=a[0],this.blockLength=1,t+this.blockLength;let n=127&a[0];if(n>8)return this.error="Too big integer",-1;if(n+1>a.length)return this.error="End of input reached before message was fully decoded",-1;let s=t+1,o=i.subarray(s,s+n);return 0===o[n-1]&&this.warnings.push("Needlessly long encoded length"),this.length=e0(o,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=n+1,t+this.blockLength}toBER(e=!1){let t,r;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return t=new ArrayBuffer(1),!1===e&&((r=new Uint8Array(t))[0]=128),t;if(this.longFormUsed){let i=e1(this.length,8);if(i.byteLength>127)return this.error="Too big length",th;if(t=new ArrayBuffer(i.byteLength+1),e)return t;let a=new Uint8Array(i);(r=new Uint8Array(t))[0]=128|i.byteLength;for(let e=0;e<i.byteLength;e++)r[e+1]=a[e];return t}return t=new ArrayBuffer(1),!1===e&&((r=new Uint8Array(t))[0]=this.length),t}toJSON(){return{...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,longFormUsed:this.longFormUsed,length:this.length}}}tS.NAME="lengthBlock";let tE={};class tI extends tb{constructor({name:e="",optional:t=!1,primitiveSchema:r,...i}={},a){super(i),this.name=e,this.optional=t,r&&(this.primitiveSchema=r),this.idBlock=new tk(i),this.lenBlock=new tS(i),this.valueBlock=a?new a(i):new tv(i)}fromBER(e,t,r,i){let a=this.valueBlock.fromBER(e,t,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length,i);return -1===a?this.error=this.valueBlock.error:(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength)),a}toBER(e,t){let r=t||new tl;t||function e(t){var r;if(t instanceof tE.Constructed)for(let r of t.valueBlock.value)e(r)&&(t.lenBlock.isIndefiniteForm=!0);return!!(null==(r=t.lenBlock)?void 0:r.isIndefiniteForm)}(this);let i=this.idBlock.toBER(e);if(r.write(i),this.lenBlock.isIndefiniteForm)r.write(new Uint8Array([128]).buffer),this.valueBlock.toBER(e,r),r.write(new ArrayBuffer(2));else{let t=this.valueBlock.toBER(e);this.lenBlock.length=t.byteLength;let i=this.lenBlock.toBER(e);r.write(i),r.write(t)}return t?th:r.final()}toJSON(){let e={...super.toJSON(),idBlock:this.idBlock.toJSON(),lenBlock:this.lenBlock.toJSON(),valueBlock:this.valueBlock.toJSON(),name:this.name,optional:this.optional};return this.primitiveSchema&&(e.primitiveSchema=this.primitiveSchema.toJSON()),e}toString(e="ascii"){return"ascii"===e?this.onAsciiEncoding():eY.ToHex(this.toBER())}onAsciiEncoding(){let e=this.constructor.NAME,t=eY.ToHex(this.valueBlock.valueBeforeDecodeView);return`${e} : ${t}`}isEqual(e){return this===e||e instanceof this.constructor&&e6(this.toBER(),e.toBER())}}tI.NAME="BaseBlock";class tx extends tI{getValue(){return this.valueBlock.value}setValue(e){this.valueBlock.value=e}constructor({value:e="",...t}={},r){super(t,r),e&&this.fromString(e)}fromBER(e,t,r){let i=this.valueBlock.fromBER(e,t,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return -1===i?this.error=this.valueBlock.error:(this.fromBuffer(this.valueBlock.valueHexView),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength)),i}onAsciiEncoding(){return`${this.constructor.NAME} : '${this.valueBlock.value}'`}}tx.NAME="BaseStringBlock";class tA extends tw(tv){constructor({isHexOnly:e=!0,...t}={}){super(t),this.isHexOnly=e}}tA.NAME="PrimitiveValueBlock";class t_ extends tI{constructor(e={}){super(e,tA),this.idBlock.isConstructed=!1}}function tC(e={}){var t,r,i;return{depth:0,maxDepth:null!=(t=e.maxDepth)?t:100,nodesCount:0,maxNodes:null!=(r=e.maxNodes)?r:1e4,maxContentLength:null!=(i=e.maxContentLength)?i:0x1000000}}function tR(e,t,r,i){let a=i.depth+1;if(a>i.maxDepth){let e;return(e=new tI({},tv)).error="Maximum ASN.1 nesting depth exceeded",{offset:-1,result:e}}i.depth=a;try{return tT(e,t,r,i)}finally{i.depth-=1}}function tT(e,t=0,r=e.length,i=tC()){let a=t,n=new tI({},tv),s=new tb;if(!to(s,e,t,r))return n.error=s.error,{offset:-1,result:n};if(!e.subarray(t,t+r).length)return n.error="Zero buffer length",{offset:-1,result:n};let o=function(e){if(e.nodesCount+=1,e.nodesCount>e.maxNodes)return"Maximum ASN.1 node count exceeded"}(i);if(o)return n.error=o,{offset:-1,result:n};let l=n.idBlock.fromBER(e,t,r);if(n.idBlock.warnings.length&&n.warnings.concat(n.idBlock.warnings),-1===l)return n.error=n.idBlock.error,{offset:-1,result:n};if(t=l,r-=n.idBlock.blockLength,l=n.lenBlock.fromBER(e,t,r),n.lenBlock.warnings.length&&n.warnings.concat(n.lenBlock.warnings),-1===l)return n.error=n.lenBlock.error,{offset:-1,result:n};t=l,r-=n.lenBlock.blockLength;let u=n.lenBlock.isIndefiniteForm?r:n.lenBlock.length,c=function(e,t){if(e>t.maxContentLength)return"Maximum ASN.1 content length exceeded"}(u,i);if(c)return n.error=c,{offset:-1,result:n};if(!n.idBlock.isConstructed&&n.lenBlock.isIndefiniteForm)return n.error="Indefinite length form used for primitive encoding form",{offset:-1,result:n};let d=tI;if(1===n.idBlock.tagClass){if(n.idBlock.tagNumber>=37&&!1===n.idBlock.isHexOnly)return n.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:n};switch(n.idBlock.tagNumber){case 0:if(n.idBlock.isConstructed&&n.lenBlock.length>0)return n.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:n};d=tE.EndOfContent;break;case 1:d=tE.Boolean;break;case 2:d=tE.Integer;break;case 3:d=tE.BitString;break;case 4:d=tE.OctetString;break;case 5:d=tE.Null;break;case 6:d=tE.ObjectIdentifier;break;case 10:d=tE.Enumerated;break;case 12:d=tE.Utf8String;break;case 13:d=tE.RelativeObjectIdentifier;break;case 14:d=tE.TIME;break;case 15:return n.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:n};case 16:d=tE.Sequence;break;case 17:d=tE.Set;break;case 18:d=tE.NumericString;break;case 19:d=tE.PrintableString;break;case 20:d=tE.TeletexString;break;case 21:d=tE.VideotexString;break;case 22:d=tE.IA5String;break;case 23:d=tE.UTCTime;break;case 24:d=tE.GeneralizedTime;break;case 25:d=tE.GraphicString;break;case 26:d=tE.VisibleString;break;case 27:d=tE.GeneralString;break;case 28:d=tE.UniversalString;break;case 29:d=tE.CharacterString;break;case 30:d=tE.BmpString;break;case 31:d=tE.DATE;break;case 32:d=tE.TimeOfDay;break;case 33:d=tE.DateTime;break;case 34:d=tE.Duration;break;default:{let e=n.idBlock.isConstructed?new tE.Constructed:new tE.Primitive;e.idBlock=n.idBlock,e.lenBlock=n.lenBlock,e.warnings=n.warnings,n=e}}}else d=n.idBlock.isConstructed?tE.Constructed:tE.Primitive;return l=(n=function(e,t){if(e instanceof t)return e;let r=new t;return r.idBlock=e.idBlock,r.lenBlock=e.lenBlock,r.warnings=e.warnings,r.valueBeforeDecodeView=e.valueBeforeDecodeView,r}(n,d)).fromBER(e,t,u,i),n.valueBeforeDecodeView=e.subarray(a,a+n.blockLength),{offset:l,result:n}}function tD(e,t={}){if(!e.byteLength){let e=new tI({},tv);return e.error="Input buffer has zero length",{offset:-1,result:e}}return tT(eV.toUint8Array(e).slice(),0,e.byteLength,tC(t))}tE.Primitive=t_,t_.NAME="PRIMITIVE";class tN extends tv{constructor({value:e=[],isIndefiniteForm:t=!1,...r}={}){super(r),this.value=e,this.isIndefiniteForm=t}fromBER(e,t,r,i){var a,n;let s=eV.toUint8Array(e),o=null!=i?i:tC();if(!to(this,s,t,r))return -1;if(this.valueBeforeDecodeView=s.subarray(t,t+r),0===this.valueBeforeDecodeView.length)return this.warnings.push("Zero buffer length"),t;let l=t;for(;a=this.isIndefiniteForm,n=r,(a?1:n)>0;){let e=tR(s,l,r,o);if(-1===e.offset)return this.error=e.result.error,this.warnings.concat(e.result.warnings),-1;if(l=e.offset,this.blockLength+=e.result.blockLength,r-=e.result.blockLength,this.value.push(e.result),this.isIndefiniteForm&&e.result.constructor.NAME===tf)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===tf?this.value.pop():this.warnings.push("No EndOfContent block encoded")),l}toBER(e,t){let r=t||new tl;for(let t=0;t<this.value.length;t++)this.value[t].toBER(e,r);return t?th:r.final()}toJSON(){let e={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(let t of this.value)e.value.push(t.toJSON());return e}}tN.NAME="ConstructedValueBlock";class tO extends tI{constructor(e={}){super(e,tN),this.idBlock.isConstructed=!0}fromBER(e,t,r,i){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;let a=this.valueBlock.fromBER(e,t,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length,i);return -1===a?this.error=this.valueBlock.error:(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength)),a}onAsciiEncoding(){let e=[];for(let t of this.valueBlock.value)e.push(t.toString("ascii").split("\n").map(e=>` ${e}`).join("\n"));let t=3===this.idBlock.tagClass?`[${this.idBlock.tagNumber}]`:this.constructor.NAME;return e.length?`${t} :
593
593
  ${e.join("\n")}`:`${t} :`}}tE.Constructed=tO,tO.NAME="CONSTRUCTED";class tP extends tv{fromBER(e,t,r){return t}toBER(e){return th}}tP.override="EndOfContentValueBlock";class t$ extends tI{constructor(e={}){super(e,tP),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}}tE.EndOfContent=t$,t$.NAME=tf;class tU extends tI{constructor(e={}){super(e,tv),this.idBlock.tagClass=1,this.idBlock.tagNumber=5}fromBER(e,t,r){return(this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=r,t+r>e.byteLength)?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):t+r}toBER(e,t){let r=new ArrayBuffer(2);if(!e){let e=new Uint8Array(r);e[0]=5,e[1]=0}return t&&t.write(r),r}onAsciiEncoding(){return`${this.constructor.NAME}`}}tE.Null=tU,tU.NAME="NULL";class tB extends tw(tv){get value(){for(let e of this.valueHexView)if(e>0)return!0;return!1}set value(e){this.valueHexView[0]=255*!!e}constructor({value:e,...t}={}){super(t),t.valueHex?this.valueHexView=eV.toUint8Array(t.valueHex):this.valueHexView=new Uint8Array(1),e&&(this.value=e)}fromBER(e,t,r){let i=eV.toUint8Array(e);return to(this,i,t,r)?(this.valueHexView=i.subarray(t,t+r),r>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,e4.call(this),this.blockLength=r,t+r):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}}tB.NAME="BooleanValueBlock";class tj extends tI{getValue(){return this.valueBlock.value}setValue(e){this.valueBlock.value=e}constructor(e={}){super(e,tB),this.idBlock.tagClass=1,this.idBlock.tagNumber=1}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.getValue}`}}tE.Boolean=tj,tj.NAME="BOOLEAN";class tL extends tw(tN){constructor({isConstructed:e=!1,...t}={}){super(t),this.isConstructed=e}fromBER(e,t,r,i){let a=0;if(this.isConstructed){if(this.isHexOnly=!1,-1===(a=tN.prototype.fromBER.call(this,e,t,r,i)))return a;for(let e=0;e<this.value.length;e++){let t=this.value[e].constructor.NAME;if(t===tf)if(!this.isIndefiniteForm)return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1;else break;if(t!==tg)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,a=super.fromBER(e,t,r),this.blockLength=r;return a}toBER(e,t){return this.isConstructed?tN.prototype.toBER.call(this,e,t):e?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),isConstructed:this.isConstructed}}}tL.NAME="OctetStringValueBlock";class tq extends tI{constructor({idBlock:e={},lenBlock:t={},...r}={}){var i;null!=r.isConstructed||(r.isConstructed=!!(null==(i=r.value)?void 0:i.length)),super({idBlock:{isConstructed:r.isConstructed,...e},lenBlock:{...t,isIndefiniteForm:!!r.isIndefiniteForm},...r},tL),this.idBlock.tagClass=1,this.idBlock.tagNumber=4}fromBER(e,t,r,i){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,0===r)return 0===this.idBlock.error.length&&(this.blockLength+=this.idBlock.blockLength),0===this.lenBlock.error.length&&(this.blockLength+=this.lenBlock.blockLength),t;if(!this.valueBlock.isConstructed){let a=(e instanceof ArrayBuffer?new Uint8Array(e):e).subarray(t,t+r);try{if(a.byteLength){let e=null!=i?i:tC(),t=tR(a,0,a.byteLength,e);-1!==t.offset&&t.offset===r&&(this.valueBlock.value=[t.result])}}catch{}}return super.fromBER(e,t,r,i)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return tO.prototype.onAsciiEncoding.call(this);let e=this.constructor.NAME,t=eY.ToHex(this.valueBlock.valueHexView);return`${e} : ${t}`}getValue(){if(!this.idBlock.isConstructed)return this.valueBlock.valueHexView.slice().buffer;let e=[];for(let t of this.valueBlock.value)t instanceof k&&e.push(t.valueBlock.valueHexView);return eV.concat(e)}}tE.OctetString=k=tq,tq.NAME=tg;class tM extends tw(tN){constructor({unusedBits:e=0,isConstructed:t=!1,...r}={}){super(r),this.unusedBits=e,this.isConstructed=t,this.blockLength=this.valueHexView.byteLength}fromBER(e,t,r,i){if(!r)return t;let a=-1;if(this.isConstructed){if(-1===(a=tN.prototype.fromBER.call(this,e,t,r,i)))return a;for(let e of this.value){let t=e.constructor.NAME;if(t===tf)if(!this.isIndefiniteForm)return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1;else break;if(t!==ty)return this.error="BIT STRING may consists of BIT STRINGs only",-1;let r=e.valueBlock;if(this.unusedBits>0&&r.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=r.unusedBits}return a}let n=eV.toUint8Array(e);if(!to(this,n,t,r))return -1;let s=n.subarray(t,t+r);if(this.unusedBits=s[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){let e=s.subarray(1);try{if(e.byteLength){let t=null!=i?i:tC(),a=tR(e,0,e.byteLength,t);-1!==a.offset&&a.offset===r-1&&(this.value=[a.result])}}catch{}}return this.valueHexView=s.subarray(1),this.blockLength=s.length,t+r}toBER(e,t){if(this.isConstructed)return tN.prototype.toBER.call(this,e,t);if(e)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength){let e=new Uint8Array(1);return e[0]=0,e.buffer}let r=new Uint8Array(this.valueHexView.length+1);return r[0]=this.unusedBits,r.set(this.valueHexView,1),r.buffer}toJSON(){return{...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}}tM.NAME="BitStringValueBlock";class tF extends tI{constructor({idBlock:e={},lenBlock:t={},...r}={}){var i;null!=r.isConstructed||(r.isConstructed=!!(null==(i=r.value)?void 0:i.length)),super({idBlock:{isConstructed:r.isConstructed,...e},lenBlock:{...t,isIndefiniteForm:!!r.isIndefiniteForm},...r},tM),this.idBlock.tagClass=1,this.idBlock.tagNumber=3}fromBER(e,t,r,i){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(e,t,r,i)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return tO.prototype.onAsciiEncoding.call(this);{let e=[];for(let t of this.valueBlock.valueHexView)e.push(t.toString(2).padStart(8,"0"));let t=e.join(""),r=this.constructor.NAME,i=t.substring(0,t.length-this.valueBlock.unusedBits);return`${r} : ${i}`}}}function tK(e){if(e>=tu.length)for(let t=tu.length;t<=e;t++){let e=new Uint8Array([0]),r=tu[t-1].slice(0);for(let t=r.length-1;t>=0;t--){let i=new Uint8Array([(r[t]<<1)+e[0]]);e[0]=i[0]/10,r[t]=i[0]%10}e[0]>0&&(r=e3(e,r)),tu.push(r)}return tu[e]}tE.BitString=tF,tF.NAME=ty;class tV extends tw(tv){setValueHex(){this.valueHexView.length>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,this.valueHexView.length>0&&(this._valueDec=e4.call(this)))}constructor({value:e,...t}={}){super(t),this._valueDec=0,t.valueHex&&this.setValueHex(),void 0!==e&&(this.valueDec=e)}set valueDec(e){this._valueDec=e,this.isHexOnly=!1,this.valueHexView=new Uint8Array(function(e){let t=e<0?-1*e:e,r=128;for(let i=1;i<8;i++){if(t<=r){if(e<0){let e=e1(r-t,8,i),a=new Uint8Array(e);return a[0]|=128,e}let a=e1(t,8,i),n=new Uint8Array(a);if(128&n[0]){let e=a.slice(0),t=new Uint8Array(e);n=new Uint8Array(a=new ArrayBuffer(a.byteLength+1));for(let r=0;r<e.byteLength;r++)n[r+1]=t[r];n[0]=0}return a}r*=256}return new ArrayBuffer(0)}(e))}get valueDec(){return this._valueDec}fromDER(e,t,r,i=0){let a=this.fromBER(e,t,r);if(-1===a)return a;let n=this.valueHexView;return 0===n[0]&&(128&n[1])!=0?this.valueHexView=n.subarray(1):0!==i&&n.length<i&&(i-n.length>1&&(i=n.length+1),this.valueHexView=n.subarray(i-n.length)),a}toDER(e=!1){let t=this.valueHexView;switch(!0){case(128&t[0])!=0:{let e=new Uint8Array(this.valueHexView.length+1);e[0]=0,e.set(t,1),this.valueHexView=e}break;case 0===t[0]&&(128&t[1])==0:this.valueHexView=this.valueHexView.subarray(1)}return this.toBER(e)}fromBER(e,t,r){let i=super.fromBER(e,t,r);return -1===i||this.setValueHex(),i}toBER(e){return e?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}toString(){let e,t=8*this.valueHexView.length-1,r=new Uint8Array(8*this.valueHexView.length/3),i=0,a=this.valueHexView,n="",s=!1;for(let s=a.byteLength-1;s>=0;s--){e=a[s];for(let a=0;a<8;a++)(1&e)==1&&(i===t?(r=function(e,t){let r,i=0,a=new Uint8Array(e),n=new Uint8Array(t),s=a.slice(0),o=s.length-1,l=n.slice(0),u=l.length-1,c=0;for(let e=u;e>=0;e--,c++)!0==(r=s[o-c]-l[u-c]-i)<0?(i=1,s[o-c]=r+10):(i=0,s[o-c]=r);if(i>0)for(let e=o-u+1;e>=0;e--,c++)if((r=s[o-c]-i)<0)i=1,s[o-c]=r+10;else{i=0,s[o-c]=r;break}return s.slice()}(tK(i),r),n="-"):r=function(e,t){let r=new Uint8Array([0]),i=new Uint8Array(e),a=new Uint8Array(t),n=i.slice(0),s=n.length-1,o=a.slice(0),l=o.length-1,u=0,c=l<s?s:l,d=0;for(let e=c;e>=0;e--,d++)u=!0==d<o.length?n[s-d]+o[l-d]+r[0]:n[s-d]+r[0],r[0]=u/10,!0==d>=n.length?n=e3(new Uint8Array([u%10]),n):n[s-d]=u%10;return r[0]>0&&(n=e3(r,n)),n}(r,tK(i))),i++,e>>=1}for(let e=0;e<r.length;e++)r[e]&&(s=!0),s&&(n+=tc.charAt(r[e]));return!1===s&&(n+=tc.charAt(0)),n}}tV.NAME="IntegerValueBlock",Object.defineProperty(tV.prototype,"valueHex",{set:function(e){this.valueHexView=new Uint8Array(e),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});class tG extends tI{constructor(e={}){super(e,tV),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}toBigInt(){return tn(),BigInt(this.valueBlock.toString())}static fromBigInt(e){tn();let t=BigInt(e),r=new tl,i=t.toString(16).replace(/^-/,""),a=new Uint8Array(eY.FromHex(i));if(t<0){let e=new Uint8Array(a.length+(128&a[0]?1:0));e[0]|=128;let i=BigInt(`0x${eY.ToHex(e)}`)+t,n=eV.toUint8Array(eY.FromHex(i.toString(16)));n[0]|=128,r.write(n)}else 128&a[0]&&r.write(new Uint8Array([0])),r.write(a);return new S({valueHex:r.final()})}convertToDER(){let e=new S({valueHex:this.valueBlock.valueHexView});return e.valueBlock.toDER(),e}convertFromDER(){return new S({valueHex:0===this.valueBlock.valueHexView[0]?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()}`}}tE.Integer=S=tG,tG.NAME="INTEGER";class tH extends tG{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}}tE.Enumerated=tH,tH.NAME="ENUMERATED";class tW extends tw(tv){constructor({valueDec:e=-1,isFirstSid:t=!1,...r}={}){super(r),this.valueDec=e,this.isFirstSid=t}fromBER(e,t,r){if(!r)return t;let i=eV.toUint8Array(e);if(!to(this,i,t,r))return -1;let a=i.subarray(t,t+r);this.valueHexView=new Uint8Array(r);for(let e=0;e<r&&(this.valueHexView[e]=127&a[e],this.blockLength++,(128&a[e])!=0);e++);let n=new Uint8Array(this.blockLength);for(let e=0;e<this.blockLength;e++)n[e]=this.valueHexView[e];return(this.valueHexView=n,(128&a[this.blockLength-1])!=0)?(this.error="End of input reached before message was fully decoded",-1):(0===this.valueHexView[0]&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=e0(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),t+this.blockLength)}set valueBigInt(e){tn();let t=BigInt(e).toString(2);for(;t.length%7;)t="0"+t;let r=new Uint8Array(t.length/7);for(let e=0;e<r.length;e++)r[e]=parseInt(t.slice(7*e,7*e+7),2)+128*(e+1<r.length);this.fromBER(r.buffer,0,r.length)}toBER(e){if(this.isHexOnly){if(e)return new ArrayBuffer(this.valueHexView.byteLength);let t=this.valueHexView,r=new Uint8Array(this.blockLength);for(let e=0;e<this.blockLength-1;e++)r[e]=128|t[e];return r[this.blockLength-1]=t[this.blockLength-1],r.buffer}let t=e1(this.valueDec,7);if(0===t.byteLength)return this.error="Error during encoding SID value",th;let r=new Uint8Array(t.byteLength);if(!e){let e=new Uint8Array(t),i=t.byteLength-1;for(let t=0;t<i;t++)r[t]=128|e[t];r[i]=e[i]}return r}toString(){let e="";if(this.isHexOnly)e=eY.ToHex(this.valueHexView);else if(this.isFirstSid){let t=this.valueDec;this.valueDec<=39?e="0.":this.valueDec<=79?(e="1.",t-=40):(e="2.",t-=80),e+=t.toString()}else e=this.valueDec.toString();return e}toJSON(){return{...super.toJSON(),valueDec:this.valueDec,isFirstSid:this.isFirstSid}}}tW.NAME="sidBlock";class tJ extends tv{constructor({value:e="",...t}={}){super(t),this.value=[],e&&this.fromString(e)}fromBER(e,t,r){let i=t;for(;r>0;){let t=new tW;if(-1===(i=t.fromBER(e,i,r))){this.blockLength=0,this.error=t.error;break}0===this.value.length&&(t.isFirstSid=!0),this.blockLength+=t.blockLength,r-=t.blockLength,this.value.push(t)}return i}toBER(e){let t=[];for(let r=0;r<this.value.length;r++){let i=this.value[r].toBER(e);if(0===i.byteLength)return this.error=this.value[r].error,th;t.push(i)}return ts(t)}fromString(e){this.value=[];let t=0,r=0,i="",a=!1;do if(i=-1===(r=e.indexOf(".",t))?e.substring(t):e.substring(t,r),t=r+1,a){let e=this.value[0],t=0;switch(e.valueDec){case 0:break;case 1:t=40;break;case 2:t=80;break;default:this.value=[];return}let r=parseInt(i,10);if(isNaN(r))return;e.valueDec=r+t,a=!1}else{let e=new tW;if(i>Number.MAX_SAFE_INTEGER)tn(),e.valueBigInt=BigInt(i);else if(e.valueDec=parseInt(i,10),isNaN(e.valueDec))return;this.value.length||(e.isFirstSid=!0,a=!0),this.value.push(e)}while(-1!==r)}toString(){let e="",t=!1;for(let r=0;r<this.value.length;r++){t=this.value[r].isHexOnly;let i=this.value[r].toString();0!==r&&(e=`${e}.`),t?(i=`{${i}}`,this.value[r].isFirstSid?e=`2.{${i} - 80}`:e+=i):e+=i}return e}toJSON(){let e={...super.toJSON(),value:this.toString(),sidArray:[]};for(let t=0;t<this.value.length;t++)e.sidArray.push(this.value[t].toJSON());return e}}tJ.NAME="ObjectIdentifierValueBlock";class tz extends tI{getValue(){return this.valueBlock.toString()}setValue(e){this.valueBlock.fromString(e)}constructor(e={}){super(e,tJ),this.idBlock.tagClass=1,this.idBlock.tagNumber=6}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}}tE.ObjectIdentifier=tz,tz.NAME="OBJECT IDENTIFIER";class tZ extends tw(tb){constructor({valueDec:e=0,...t}={}){super(t),this.valueDec=e}fromBER(e,t,r){if(0===r)return t;let i=eV.toUint8Array(e);if(!to(this,i,t,r))return -1;let a=i.subarray(t,t+r);this.valueHexView=new Uint8Array(r);for(let e=0;e<r&&(this.valueHexView[e]=127&a[e],this.blockLength++,(128&a[e])!=0);e++);let n=new Uint8Array(this.blockLength);for(let e=0;e<this.blockLength;e++)n[e]=this.valueHexView[e];return(this.valueHexView=n,(128&a[this.blockLength-1])!=0)?(this.error="End of input reached before message was fully decoded",-1):(0===this.valueHexView[0]&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=e0(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),t+this.blockLength)}toBER(e){if(this.isHexOnly){if(e)return new ArrayBuffer(this.valueHexView.byteLength);let t=this.valueHexView,r=new Uint8Array(this.blockLength);for(let e=0;e<this.blockLength-1;e++)r[e]=128|t[e];return r[this.blockLength-1]=t[this.blockLength-1],r.buffer}let t=e1(this.valueDec,7);if(0===t.byteLength)return this.error="Error during encoding SID value",th;let r=new Uint8Array(t.byteLength);if(!e){let e=new Uint8Array(t),i=t.byteLength-1;for(let t=0;t<i;t++)r[t]=128|e[t];r[i]=e[i]}return r.buffer}toString(){return this.isHexOnly?eY.ToHex(this.valueHexView):this.valueDec.toString()}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}}tZ.NAME="relativeSidBlock";class tY extends tv{constructor({value:e="",...t}={}){super(t),this.value=[],e&&this.fromString(e)}fromBER(e,t,r){let i=t;for(;r>0;){let t=new tZ;if(-1===(i=t.fromBER(e,i,r))){this.blockLength=0,this.error=t.error;break}this.blockLength+=t.blockLength,r-=t.blockLength,this.value.push(t)}return i}toBER(e,t){let r=[];for(let t=0;t<this.value.length;t++){let i=this.value[t].toBER(e);if(0===i.byteLength)return this.error=this.value[t].error,th;r.push(i)}return ts(r)}fromString(e){this.value=[];let t=0,r=0,i="";do{i=-1===(r=e.indexOf(".",t))?e.substring(t):e.substring(t,r),t=r+1;let a=new tZ;if(a.valueDec=parseInt(i,10),isNaN(a.valueDec))break;this.value.push(a)}while(-1!==r)return!0}toString(){let e="",t=!1;for(let r=0;r<this.value.length;r++){t=this.value[r].isHexOnly;let i=this.value[r].toString();0!==r&&(e=`${e}.`),t?e+=i=`{${i}}`:e+=i}return e}toJSON(){let e={...super.toJSON(),value:this.toString(),sidArray:[]};for(let t=0;t<this.value.length;t++)e.sidArray.push(this.value[t].toJSON());return e}}tY.NAME="RelativeObjectIdentifierValueBlock";class tQ extends tI{getValue(){return this.valueBlock.toString()}setValue(e){this.valueBlock.fromString(e)}constructor(e={}){super(e,tY),this.idBlock.tagClass=1,this.idBlock.tagNumber=13}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}}tE.RelativeObjectIdentifier=tQ,tQ.NAME="RelativeObjectIdentifier";class tX extends tO{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}}tE.Sequence=tX,tX.NAME="SEQUENCE";class t0 extends tO{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}}tE.Set=t0,t0.NAME="SET";class t1 extends tw(tv){constructor({...e}={}){super(e),this.isHexOnly=!0,this.value=""}toJSON(){return{...super.toJSON(),value:this.value}}}t1.NAME="StringValueBlock";class t2 extends t1{}t2.NAME="SimpleStringValueBlock";class t3 extends tx{constructor({...e}={}){super(e,t2)}fromBuffer(e){this.valueBlock.value=String.fromCharCode.apply(null,eV.toUint8Array(e))}fromString(e){let t=e.length,r=this.valueBlock.valueHexView=new Uint8Array(t);for(let i=0;i<t;i++)r[i]=e.charCodeAt(i);this.valueBlock.value=e}}t3.NAME="SIMPLE STRING";class t4 extends t3{fromBuffer(e){this.valueBlock.valueHexView=eV.toUint8Array(e);try{this.valueBlock.value=eY.ToUtf8String(e)}catch(t){this.warnings.push(`Error during "decodeURIComponent": ${t}, using raw string`),this.valueBlock.value=eY.ToBinary(e)}}fromString(e){this.valueBlock.valueHexView=new Uint8Array(eY.FromUtf8String(e)),this.valueBlock.value=e}}t4.NAME="Utf8StringValueBlock";class t6 extends t4{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}}tE.Utf8String=t6,t6.NAME="UTF8String";class t8 extends t3{fromBuffer(e){this.valueBlock.value=eY.ToUtf16String(e),this.valueBlock.valueHexView=eV.toUint8Array(e)}fromString(e){this.valueBlock.value=e,this.valueBlock.valueHexView=new Uint8Array(eY.FromUtf16String(e))}}t8.NAME="BmpStringValueBlock";class t5 extends t8{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}}tE.BmpString=t5,t5.NAME="BMPString";class t9 extends t3{fromBuffer(e){let t=ArrayBuffer.isView(e)?e.slice().buffer:e.slice(0),r=new Uint8Array(t);for(let e=0;e<r.length;e+=4)r[e]=r[e+3],r[e+1]=r[e+2],r[e+2]=0,r[e+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(t))}fromString(e){let t=e.length,r=this.valueBlock.valueHexView=new Uint8Array(4*t);for(let i=0;i<t;i++){let t=new Uint8Array(e1(e.charCodeAt(i),8));if(t.length>4)continue;let a=4-t.length;for(let e=t.length-1;e>=0;e--)r[4*i+e+a]=t[e]}this.valueBlock.value=e}}t9.NAME="UniversalStringValueBlock";class t7 extends t9{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}}tE.UniversalString=t7,t7.NAME="UniversalString";class re extends t3{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}}tE.NumericString=re,re.NAME="NumericString";class rt extends t3{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}}tE.PrintableString=rt,rt.NAME="PrintableString";class rr extends t3{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}}tE.TeletexString=rr,rr.NAME="TeletexString";class ri extends t3{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}}tE.VideotexString=ri,ri.NAME="VideotexString";class ra extends t3{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}}tE.IA5String=ra,ra.NAME="IA5String";class rn extends t3{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}}tE.GraphicString=rn,rn.NAME="GraphicString";class rs extends t3{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}}tE.VisibleString=rs,rs.NAME="VisibleString";class ro extends t3{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}}tE.GeneralString=ro,ro.NAME="GeneralString";class rl extends t3{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}}tE.CharacterString=rl,rl.NAME="CharacterString";class ru extends rs{constructor({value:e,valueDate:t,...r}={}){if(super(r),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,e){this.fromString(e),this.valueBlock.valueHexView=new Uint8Array(e.length);for(let t=0;t<e.length;t++)this.valueBlock.valueHexView[t]=e.charCodeAt(t)}t&&(this.fromDate(t),this.valueBlock.valueHexView=new Uint8Array(this.toBuffer())),this.idBlock.tagClass=1,this.idBlock.tagNumber=23}fromBuffer(e){this.fromString(String.fromCharCode.apply(null,eV.toUint8Array(e)))}toBuffer(){let e=this.toString(),t=new ArrayBuffer(e.length),r=new Uint8Array(t);for(let t=0;t<e.length;t++)r[t]=e.charCodeAt(t);return t}fromDate(e){this.year=e.getUTCFullYear(),this.month=e.getUTCMonth()+1,this.day=e.getUTCDate(),this.hour=e.getUTCHours(),this.minute=e.getUTCMinutes(),this.second=e.getUTCSeconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second))}fromString(e){let t=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/ig.exec(e);if(null===t){this.error="Wrong input string for conversion";return}let r=parseInt(t[1],10);r>=50?this.year=1900+r:this.year=2e3+r,this.month=parseInt(t[2],10),this.day=parseInt(t[3],10),this.hour=parseInt(t[4],10),this.minute=parseInt(t[5],10),this.second=parseInt(t[6],10)}toString(e="iso"){if("iso"===e){let e=Array(7);return e[0]=e8(this.year<2e3?this.year-1900:this.year-2e3,2),e[1]=e8(this.month,2),e[2]=e8(this.day,2),e[3]=e8(this.hour,2),e[4]=e8(this.minute,2),e[5]=e8(this.second,2),e[6]="Z",e.join("")}return super.toString(e)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.toDate().toISOString()}`}toJSON(){return{...super.toJSON(),year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second}}}tE.UTCTime=ru,ru.NAME="UTCTime";class rc extends ru{constructor(e={}){super(e),null!=this.millisecond||(this.millisecond=0),this.idBlock.tagClass=1,this.idBlock.tagNumber=24}fromDate(e){super.fromDate(e),this.millisecond=e.getUTCMilliseconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond))}fromString(e){let t,r=!1,i="",a="",n=0,s=0,o=0;if("Z"===e[e.length-1])i=e.substring(0,e.length-1),r=!0;else{if(isNaN(new Number(e[e.length-1]).valueOf()))throw Error("Wrong input string for conversion");i=e}if(r){if(-1!==i.indexOf("+")||-1!==i.indexOf("-"))throw Error("Wrong input string for conversion")}else{let e=1,t=i.indexOf("+"),r="";if(-1===t&&(t=i.indexOf("-"),e=-1),-1!==t){if(r=i.substring(t+1),i=i.substring(0,t),2!==r.length&&4!==r.length)throw Error("Wrong input string for conversion");let a=parseInt(r.substring(0,2),10);if(isNaN(a.valueOf()))throw Error("Wrong input string for conversion");if(s=e*a,4===r.length){if(isNaN((a=parseInt(r.substring(2,4),10)).valueOf()))throw Error("Wrong input string for conversion");o=e*a}}}let l=i.indexOf(".");if(-1===l&&(l=i.indexOf(",")),-1!==l){let e=new Number(`0${i.substring(l)}`);if(isNaN(e.valueOf()))throw Error("Wrong input string for conversion");n=e.valueOf(),a=i.substring(0,l)}else a=i;switch(!0){case 8===a.length:if(t=/(\d{4})(\d{2})(\d{2})/ig,-1!==l)throw Error("Wrong input string for conversion");break;case 10===a.length:if(t=/(\d{4})(\d{2})(\d{2})(\d{2})/ig,-1!==l){let e=60*n;this.minute=Math.floor(e),e=60*(e-this.minute),this.second=Math.floor(e),e=1e3*(e-this.second),this.millisecond=Math.floor(e)}break;case 12===a.length:if(t=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/ig,-1!==l){let e=60*n;this.second=Math.floor(e),e=1e3*(e-this.second),this.millisecond=Math.floor(e)}break;case 14===a.length:if(t=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/ig,-1!==l){let e=1e3*n;this.millisecond=Math.floor(e)}break;default:throw Error("Wrong input string for conversion")}let u=t.exec(a);if(null===u)throw Error("Wrong input string for conversion");for(let e=1;e<u.length;e++)switch(e){case 1:this.year=parseInt(u[e],10);break;case 2:this.month=parseInt(u[e],10);break;case 3:this.day=parseInt(u[e],10);break;case 4:this.hour=parseInt(u[e],10)+s;break;case 5:this.minute=parseInt(u[e],10)+o;break;case 6:this.second=parseInt(u[e],10);break;default:throw Error("Wrong input string for conversion")}if(!1===r){let e=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=e.getUTCFullYear(),this.month=e.getUTCMonth(),this.day=e.getUTCDay(),this.hour=e.getUTCHours(),this.minute=e.getUTCMinutes(),this.second=e.getUTCSeconds(),this.millisecond=e.getUTCMilliseconds()}}toString(e="iso"){if("iso"===e){let e=[];return e.push(e8(this.year,4)),e.push(e8(this.month,2)),e.push(e8(this.day,2)),e.push(e8(this.hour,2)),e.push(e8(this.minute,2)),e.push(e8(this.second,2)),0!==this.millisecond&&(e.push("."),e.push(e8(this.millisecond,3))),e.push("Z"),e.join("")}return super.toString(e)}toJSON(){return{...super.toJSON(),millisecond:this.millisecond}}}tE.GeneralizedTime=rc,rc.NAME="GeneralizedTime";class rd extends t6{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}}tE.DATE=rd,rd.NAME="DATE";class rp extends t6{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}}tE.TimeOfDay=rp,rp.NAME="TimeOfDay";class rh extends t6{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}}tE.DateTime=rh,rh.NAME="DateTime";class rm extends t6{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}}tE.Duration=rm,rm.NAME="Duration";class rf extends t6{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}}tE.TIME=rf,rf.NAME="TIME";class rg{constructor({name:e="",optional:t=!1}={}){this.name=e,this.optional=t}}class ry extends rg{constructor({value:e=[],...t}={}){super(t),this.value=e}}class rw extends rg{constructor({value:e=new rg,local:t=!1,...r}={}){super(r),this.value=e,this.local=t}}class rb{get data(){return this.dataView.slice().buffer}set data(e){this.dataView=eV.toUint8Array(e)}constructor({data:e=tm}={}){this.dataView=eV.toUint8Array(e)}fromBER(e,t,r){let i=t+r;return this.dataView=eV.toUint8Array(e).subarray(t,i),i}toBER(e){return this.dataView.slice().buffer}}function rv(e,t,r){if(r instanceof ry){for(let i of r.value)if(rv(e,t,i).verified)return{verified:!0,result:e};{let e={verified:!1,result:{error:"Wrong values for Choice type"}};return r.hasOwnProperty(td)&&(e.name=r.name),e}}if(r instanceof rg)return r.hasOwnProperty(td)&&(e[r.name]=t),{verified:!0,result:e};if(e instanceof Object==!1)return{verified:!1,result:{error:"Wrong root object"}};if(t instanceof Object==!1)return{verified:!1,result:{error:"Wrong ASN.1 data"}};if(r instanceof Object==!1||"idBlock"in r==!1||"fromBER"in r.idBlock==!1||"toBER"in r.idBlock==!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};let i=r.idBlock.toBER(!1);if(0===i.byteLength)return{verified:!1,result:{error:"Error encoding idBlock for ASN.1 schema"}};if(-1===r.idBlock.fromBER(i,0,i.byteLength))return{verified:!1,result:{error:"Error decoding idBlock for ASN.1 schema"}};if(!1===r.idBlock.hasOwnProperty("tagClass"))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(r.idBlock.tagClass!==t.idBlock.tagClass)return{verified:!1,result:e};if(!1===r.idBlock.hasOwnProperty("tagNumber"))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(r.idBlock.tagNumber!==t.idBlock.tagNumber)return{verified:!1,result:e};if(!1===r.idBlock.hasOwnProperty("isConstructed"))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(r.idBlock.isConstructed!==t.idBlock.isConstructed)return{verified:!1,result:e};if(!("isHexOnly"in r.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(r.idBlock.isHexOnly!==t.idBlock.isHexOnly)return{verified:!1,result:e};if(r.idBlock.isHexOnly){if(tp in r.idBlock==!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};let i=r.idBlock.valueHexView,a=t.idBlock.valueHexView;if(i.length!==a.length)return{verified:!1,result:e};for(let t=0;t<i.length;t++)if(i[t]!==a[1])return{verified:!1,result:e}}if(r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,""),r.name&&(e[r.name]=t)),r instanceof tE.Constructed){let i=0,a={verified:!1,result:{error:"Unknown error"}},n=r.valueBlock.value.length;if(n>0&&r.valueBlock.value[0]instanceof rw&&(n=t.valueBlock.value.length),0===n)return{verified:!0,result:e};if(0===t.valueBlock.value.length&&0!==r.valueBlock.value.length){let t=!0;for(let e=0;e<r.valueBlock.value.length;e++)t=t&&(r.valueBlock.value[e].optional||!1);return t?{verified:!0,result:e}:(r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,""),r.name&&delete e[r.name]),e.error="Inconsistent object length",{verified:!1,result:e})}for(let s=0;s<n;s++)if(s-i>=t.valueBlock.value.length){if(!1===r.valueBlock.value[s].optional){let t={verified:!1,result:e};return e.error="Inconsistent length between ASN.1 data and schema",r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,""),r.name&&(delete e[r.name],t.name=r.name)),t}}else if(r.valueBlock.value[0]instanceof rw){if(!1===(a=rv(e,t.valueBlock.value[s],r.valueBlock.value[0].value)).verified)if(!r.valueBlock.value[0].optional)return r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,""),r.name&&delete e[r.name]),a;else i++;if(td in r.valueBlock.value[0]&&r.valueBlock.value[0].name.length>0){let i={};void 0===(i="local"in r.valueBlock.value[0]&&r.valueBlock.value[0].local?t:e)[r.valueBlock.value[0].name]&&(i[r.valueBlock.value[0].name]=[]),i[r.valueBlock.value[0].name].push(t.valueBlock.value[s])}}else if(!1===(a=rv(e,t.valueBlock.value[s-i],r.valueBlock.value[s])).verified)if(!r.valueBlock.value[s].optional)return r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,""),r.name&&delete e[r.name]),a;else i++;if(!1===a.verified){let t={verified:!1,result:e};return r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,""),r.name&&(delete e[r.name],t.name=r.name)),t}return{verified:!0,result:e}}if(r.primitiveSchema&&tp in t.valueBlock){let i=tT(t.valueBlock.valueHexView);if(-1===i.offset){let t={verified:!1,result:i.result};return r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,""),r.name&&(delete e[r.name],t.name=r.name)),t}return rv(e,i.result,r.primitiveSchema)}return{verified:!0,result:e}}function rk(e){return Object.prototype.toString.call(e)}function rS(e){return"[object ArrayBuffer]"===rk(e)}function rE(e){return rS(e)||"u">typeof SharedArrayBuffer&&"[object SharedArrayBuffer]"===rk(e)}function rI(e){return rE(e)||!!ArrayBuffer.isView(e)||!!e&&"object"==typeof e&&"number"==typeof e.byteOffset&&"number"==typeof e.byteLength&&rE(e.buffer)}function rx(e){if(!rI(e))throw TypeError("Expected ArrayBuffer, SharedArrayBuffer, or ArrayBufferView")}function rA(e){return(rx(e),rE(e))?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function r_(e){if(rx(e),rS(e))return e;let t=new ArrayBuffer(e.byteLength);return new Uint8Array(t).set(rA(e)),t}e.s(["Any",0,rg,"BaseBlock",0,tI,"BaseStringBlock",0,tx,"BitString",0,tF,"BmpString",0,t5,"Boolean",0,tj,"CharacterString",0,rl,"Choice",0,ry,"Constructed",0,tO,"DATE",0,rd,"DEFAULT_MAX_CONTENT_LENGTH",0,0x1000000,"DEFAULT_MAX_DEPTH",0,100,"DEFAULT_MAX_NODES",0,1e4,"DateTime",0,rh,"Duration",0,rm,"EndOfContent",0,t$,"Enumerated",0,tH,"GeneralString",0,ro,"GeneralizedTime",0,rc,"GraphicString",0,rn,"HexBlock",0,tw,"IA5String",0,ra,"Integer",0,tG,"Null",0,tU,"NumericString",0,re,"ObjectIdentifier",0,tz,"OctetString",0,tq,"Primitive",0,t_,"PrintableString",0,rt,"RawData",0,rb,"RelativeObjectIdentifier",0,tQ,"Repeated",0,rw,"Sequence",0,tX,"Set",0,t0,"TIME",0,rf,"TeletexString",0,rr,"TimeOfDay",0,rp,"UTCTime",0,ru,"UniversalString",0,t7,"Utf8String",0,t6,"ValueBlock",0,tv,"VideotexString",0,ri,"ViewWriter",0,tl,"VisibleString",0,rs,"compareSchema",0,rv,"fromBER",0,tD,"verifySchema",0,function(e,t){if(t instanceof Object==!1)return{verified:!1,result:{error:"Wrong ASN.1 schema type"}};let r=tT(eV.toUint8Array(e));return -1===r.offset?{verified:!1,result:r.result}:rv(r.result,r.result,t)}],323577),(t=E||(E={}))[t.Sequence=0]="Sequence",t[t.Set=1]="Set",t[t.Choice=2]="Choice",(r=I||(I={}))[r.Any=1]="Any",r[r.Boolean=2]="Boolean",r[r.OctetString=3]="OctetString",r[r.BitString=4]="BitString",r[r.Integer=5]="Integer",r[r.Enumerated=6]="Enumerated",r[r.ObjectIdentifier=7]="ObjectIdentifier",r[r.Utf8String=8]="Utf8String",r[r.BmpString=9]="BmpString",r[r.UniversalString=10]="UniversalString",r[r.NumericString=11]="NumericString",r[r.PrintableString=12]="PrintableString",r[r.TeletexString=13]="TeletexString",r[r.VideotexString=14]="VideotexString",r[r.IA5String=15]="IA5String",r[r.GraphicString=16]="GraphicString",r[r.VisibleString=17]="VisibleString",r[r.GeneralString=18]="GeneralString",r[r.CharacterString=19]="CharacterString",r[r.UTCTime=20]="UTCTime",r[r.GeneralizedTime=21]="GeneralizedTime",r[r.DATE=22]="DATE",r[r.TimeOfDay=23]="TimeOfDay",r[r.DateTime=24]="DateTime",r[r.Duration=25]="Duration",r[r.TIME=26]="TIME",r[r.Null=27]="Null";class rC{unusedBits=0;value=new ArrayBuffer(0);constructor(e,t=0){if(e)if("number"==typeof e)this.fromNumber(e);else if(rI(e))this.unusedBits=t,this.value=r_(e);else throw TypeError("Unsupported type of 'params' argument for BitString")}fromASN(e){if(!(e instanceof tF))throw TypeError("Argument 'asn' is not instance of ASN.1 BitString");return this.unusedBits=e.valueBlock.unusedBits,this.value=r_(e.valueBlock.valueHex),this}toASN(){return new tF({unusedBits:this.unusedBits,valueHex:this.value})}toSchema(e){return new tF({name:e})}toNumber(){let e="";for(let t of new Uint8Array(this.value))e+=t.toString(2).padStart(8,"0");return e=e.split("").reverse().join(""),this.unusedBits&&(e=e.slice(this.unusedBits).padStart(this.unusedBits,"0")),parseInt(e,2)}fromNumber(e){let t=e.toString(2),r=t.length+7>>3;this.unusedBits=(r<<3)-t.length;let i=new Uint8Array(r);t=t.padStart(r<<3,"0").split("").reverse().join("");let a=0;for(;a<r;)i[a]=parseInt(t.slice(a<<3,(a<<3)+8),2),a++;this.value=i.buffer}}class rR{buffer;get byteLength(){return this.buffer.byteLength}get byteOffset(){return 0}constructor(e){"number"==typeof e?this.buffer=new ArrayBuffer(e):rI(e)?this.buffer=r_(e):Array.isArray(e)?this.buffer=new Uint8Array(e).buffer:this.buffer=new ArrayBuffer(0)}fromASN(e){if(!(e instanceof tq))throw TypeError("Argument 'asn' is not instance of ASN.1 OctetString");return this.buffer=r_(e.valueBlock.valueHex),this}toASN(){return new tq({valueHex:this.buffer})}toSchema(e){return new tq({name:e})}}let rT={fromASN:e=>e instanceof tU?null:r_(e.valueBeforeDecodeView),toASN:e=>{if(null===e)return new tU;let t=tD(e);if(t.result.error)throw Error(t.result.error);return t.result}},rD={fromASN:e=>e.valueBlock.valueHexView.byteLength>=4?e.valueBlock.toString():e.valueBlock.valueDec,toASN:e=>new tG({value:+e})},rN={fromASN:e=>e.valueBlock.valueDec,toASN:e=>new tH({value:e})},rO={fromASN:e=>r_(e.valueBlock.valueHexView),toASN:e=>new tG({valueHex:e})},rP={fromASN:e=>r_(e.valueBlock.valueHexView),toASN:e=>new tF({valueHex:e})},r$={fromASN:e=>e.valueBlock.toString(),toASN:e=>new tz({value:e})},rU={fromASN:e=>e.valueBlock.value,toASN:e=>new tj({value:e})},rB={fromASN:e=>r_(e.valueBlock.valueHexView),toASN:e=>new tq({valueHex:e})};function rj(e){return{fromASN:e=>e.valueBlock.value,toASN:t=>new e({value:t})}}let rL=rj(t6),rq=rj(t5),rM=rj(t7),rF=rj(re),rK=rj(rt),rV=rj(rr),rG=rj(ri),rH=rj(ra),rW=rj(rn),rJ=rj(rs),rz=rj(ro),rZ=rj(rl),rY={fromASN:e=>e.toDate(),toASN:e=>new ru({valueDate:e})},rQ={fromASN:e=>e.toDate(),toASN:e=>new rc({valueDate:e})},rX={fromASN:()=>null,toASN:()=>new tU};function r0(e){switch(e){case I.Any:return rT;case I.BitString:return rP;case I.BmpString:return rq;case I.Boolean:return rU;case I.CharacterString:return rZ;case I.Enumerated:return rN;case I.GeneralString:return rz;case I.GeneralizedTime:return rQ;case I.GraphicString:return rW;case I.IA5String:return rH;case I.Integer:return rD;case I.Null:return rX;case I.NumericString:return rF;case I.ObjectIdentifier:return r$;case I.OctetString:return rB;case I.PrintableString:return rK;case I.TeletexString:return rV;case I.UTCTime:return rY;case I.UniversalString:return rM;case I.Utf8String:return rL;case I.VideotexString:return rG;case I.VisibleString:return rJ;default:return null}}var r1=e.i(323577);function r2(e){return"function"==typeof e&&e.prototype?!!e.prototype.toASN&&!!e.prototype.fromASN||r2(e.prototype):!!(e&&"object"==typeof e&&"toASN"in e&&"fromASN"in e)}class r3{items=new WeakMap;has(e){return this.items.has(e)}get(e,t=!1){let r=this.items.get(e);if(!r)throw Error(`Cannot get schema for '${e.prototype.constructor.name}' target`);if(t&&!r.schema)throw Error(`Schema '${e.prototype.constructor.name}' doesn't contain ASN.1 schema. Call 'AsnSchemaStorage.cache'.`);return r}cache(e){let t=this.get(e);t.schema||(t.schema=this.create(e,!0))}createDefault(e){let t={type:E.Sequence,items:{}},r=this.findParentSchema(e);return r&&(Object.assign(t,r),t.items=Object.assign({},t.items,r.items)),t}create(e,t){let r=this.items.get(e)||this.createDefault(e),i=[];for(let e in r.items){let a,n=r.items[e],s=t?e:"";if("number"==typeof n.type){let e=I[n.type],t=r1[e];if(!t)throw Error(`Cannot get ASN1 class by name '${e}'`);a=new t({name:s})}else r2(n.type)?a=new n.type().toSchema(s):n.optional?this.get(n.type).type===E.Choice?a=new r1.Any({name:s}):(a=this.create(n.type,!1)).name=s:a=new r1.Any({name:s});let o=!!n.optional||void 0!==n.defaultValue;if(n.repeated&&(a.name="",a=new("set"===n.repeated?r1.Set:r1.Sequence)({name:"",value:[new r1.Repeated({name:s,value:a})]})),null!==n.context&&void 0!==n.context)if(n.implicit)if("number"==typeof n.type||r2(n.type)){let e=n.repeated?r1.Constructed:r1.Primitive;i.push(new e({name:s,optional:o,idBlock:{tagClass:3,tagNumber:n.context}}))}else{this.cache(n.type);let e=!!n.repeated,t=e?a:this.get(n.type,!0).schema;t="valueBlock"in t?t.valueBlock.value:t.value,i.push(new r1.Constructed({name:e?"":s,optional:o,idBlock:{tagClass:3,tagNumber:n.context},value:t}))}else i.push(new r1.Constructed({optional:o,idBlock:{tagClass:3,tagNumber:n.context},value:[a]}));else a.optional=o,i.push(a)}switch(r.type){case E.Sequence:return new r1.Sequence({value:i,name:""});case E.Set:return new r1.Set({value:i,name:""});case E.Choice:return new r1.Choice({value:i,name:""});default:throw Error("Unsupported ASN1 type in use")}}set(e,t){return this.items.set(e,t),this}findParentSchema(e){let t=Object.getPrototypeOf(e);return t?this.items.get(t)||this.findParentSchema(t):null}}let r4=new r3,r6=e=>t=>{let r;r4.has(t)?r=r4.get(t):(r=r4.createDefault(t),r4.set(t,r)),Object.assign(r,e)},r8=e=>(t,r)=>{let i;r4.has(t.constructor)?i=r4.get(t.constructor):(i=r4.createDefault(t.constructor),r4.set(t.constructor,i));let a=Object.assign({},e);if("number"==typeof a.type&&!a.converter){let i=r0(e.type);if(!i)throw Error(`Cannot get default converter for property '${r}' of ${t.constructor.name}`);a.converter=i}a.raw=e.raw,i.items[r]=a};class r5 extends Error{schemas=[]}class r9{static parse(e,t,r){let i=r1.fromBER(r_(e),r?.berOptions);if(i.result.error)throw Error(i.result.error);return this.fromASN(i.result,t,r)}static fromASN(e,t,r){try{if(r2(t))return new t().fromASN(e);let i=r4.get(t);r4.cache(t);let a=i.schema,n=this.handleChoiceTypes(e,i,t,a,r);if(n?.result)return n.result;n?.targetSchema&&(a=n.targetSchema);let s=this.handleSequenceTypes(e,i,t,a),o=new t;if(function e(t){if(t){let r=Object.getPrototypeOf(t);return r?.prototype?.constructor===Array||e(r)}return!1}(t))return this.handleArrayTypes(e,i,t,r);return this.processSchemaItems(i,s,o,r),o}catch(e){throw e instanceof r5&&e.schemas.push(t.name),e}}static handleChoiceTypes(e,t,r,i,a){if(e.constructor===r1.Constructed&&t.type===E.Choice&&3===e.idBlock.tagClass)for(let i in t.items){let n=t.items[i];if(n.context===e.idBlock.tagNumber&&n.implicit&&"function"==typeof n.type&&r4.has(n.type)){let t=r4.get(n.type);if(t&&t.type===E.Sequence){let t=new r1.Sequence;if("value"in e.valueBlock&&Array.isArray(e.valueBlock.value)&&"value"in t.valueBlock){t.valueBlock.value=e.valueBlock.value;let s=this.fromASN(t,n.type,a),o=new r;return o[i]=s,{result:o}}}}}else if(e.constructor===r1.Constructed&&t.type!==E.Choice){let r=new r1.Constructed({idBlock:{tagClass:3,tagNumber:e.idBlock.tagNumber},value:t.schema.valueBlock.value});for(let r in t.items)delete e[r];return{targetSchema:r}}return null}static handleSequenceTypes(e,t,r,i){if(t.type===E.Sequence){let t=r1.compareSchema({},e,i);if(!t.verified)throw new r5(`Data does not match to ${r.name} ASN1 schema.${t.result.error?` ${t.result.error}`:""}`);return t}{let t=r1.compareSchema({},e,i);if(!t.verified)throw new r5(`Data does not match to ${r.name} ASN1 schema.${t.result.error?` ${t.result.error}`:""}`);return t}}static processRepeatedField(e,t,r){let i=e.slice(t);if(1===i.length&&"Sequence"===i[0].constructor.name){let e=i[0];e.valueBlock&&e.valueBlock.value&&Array.isArray(e.valueBlock.value)&&(i=e.valueBlock.value)}if("number"!=typeof r.type)return i.filter(e=>e&&e.valueBlock).map(e=>{try{return this.fromASN(e,r.type)}catch{return}}).filter(e=>void 0!==e);{let e=r0(r.type);if(!e)throw Error(`No converter for ASN.1 type ${r.type}`);return i.filter(e=>e&&e.valueBlock).map(t=>{try{return e.fromASN(t)}catch{return}}).filter(e=>void 0!==e)}}static processPrimitiveField(e,t){let r=r0(t.type);if(!r)throw Error(`No converter for ASN.1 type ${t.type}`);return r.fromASN(e)}static isOptionalChoiceField(e){return e.optional&&"function"==typeof e.type&&r4.has(e.type)&&r4.get(e.type).type===E.Choice}static processOptionalChoiceField(e,t){try{let r=this.fromASN(e,t.type);return{processed:!0,value:r}}catch(e){if(e instanceof r5&&/Wrong values for Choice type/.test(e.message))return{processed:!1};throw e}}static handleArrayTypes(e,t,r,i){if(!("value"in e.valueBlock&&Array.isArray(e.valueBlock.value)))throw Error("Cannot get items from the ASN.1 parsed value. ASN.1 object is not constructed.");let a=t.itemType;if("number"!=typeof a)return r.from(e.valueBlock.value,e=>this.fromASN(e,a,i));{let t=r0(a);if(!t)throw Error(`Cannot get default converter for array item of ${r.name} ASN1 schema`);return r.from(e.valueBlock.value,e=>t.fromASN(e))}}static processSchemaItems(e,t,r,i){for(let a in e.items){let n,s=t.result[a];if(!s)continue;let o=e.items[a],l=o.type;(n="number"==typeof l||r2(l)?this.processPrimitiveSchemaItem(s,o,l,i):this.processComplexSchemaItem(s,o,l,i))&&"object"==typeof n&&"value"in n&&"raw"in n?(r[a]=n.value,r[`${a}Raw`]=n.raw):r[a]=n}}static processPrimitiveSchemaItem(e,t,r,i){let a=t.converter??(r2(r)?new r:null);if(!a)throw Error("Converter is empty");return t.repeated?this.processRepeatedPrimitiveItem(e,t,a,i):this.processSinglePrimitiveItem(e,t,r,a,i)}static processRepeatedPrimitiveItem(e,t,r,i){if(!t.implicit)return Array.from(e,e=>r.fromASN(e));{let a=new("sequence"===t.repeated?r1.Sequence:r1.Set);a.valueBlock=e.valueBlock;let n=r1.fromBER(a.toBER(!1),i?.berOptions);if(-1===n.offset)throw Error(`Cannot parse the child item. ${n.result.error}`);if(!("value"in n.result.valueBlock&&Array.isArray(n.result.valueBlock.value)))throw Error("Cannot get items from the ASN.1 parsed value. ASN.1 object is not constructed.");return Array.from(n.result.valueBlock.value,e=>r.fromASN(e))}}static processSinglePrimitiveItem(e,t,r,i,a){let n=e;if(t.implicit){let e;if(r2(r))e=new r().toSchema("");else{let t=I[r],i=r1[t];if(!i)throw Error(`Cannot get '${t}' class from asn1js module`);e=new i}e.valueBlock=n.valueBlock,n=r1.fromBER(e.toBER(!1),a?.berOptions).result}return i.fromASN(n)}static processComplexSchemaItem(e,t,r,i){if(t.repeated){if(!Array.isArray(e))throw Error("Cannot get list of items from the ASN.1 parsed value. ASN.1 value should be iterable.");return Array.from(e,e=>this.fromASN(e,r,i))}{let a=this.handleImplicitTagging(e,t,r);if(this.isOptionalChoiceField(t))try{return this.fromASN(a,r,i)}catch(e){if(e instanceof r5&&/Wrong values for Choice type/.test(e.message))return;throw e}{let n=this.fromASN(a,r,i);return t.raw?{value:n,raw:e.valueBeforeDecodeView}:n}}}static handleImplicitTagging(e,t,r){if(t.implicit&&"number"==typeof t.context){let t=r4.get(r);if(t.type===E.Sequence){let t=new r1.Sequence;if("value"in e.valueBlock&&Array.isArray(e.valueBlock.value)&&"value"in t.valueBlock)return t.valueBlock.value=e.valueBlock.value,t}else if(t.type===E.Set){let t=new r1.Set;if("value"in e.valueBlock&&Array.isArray(e.valueBlock.value)&&"value"in t.valueBlock)return t.valueBlock.value=e.valueBlock.value,t}}return e}}class r7{static serialize(e){return e instanceof tI?e.toBER(!1):this.toASN(e).toBER(!1)}static toASN(e){let t;if(e&&"object"==typeof e&&r2(e))return e.toASN();if(!(e&&"object"==typeof e))throw TypeError("Parameter 1 should be type of Object.");let r=e.constructor,i=r4.get(r);r4.cache(r);let a=[];if(i.itemType){if(!Array.isArray(e))throw TypeError("Parameter 1 should be type of Array.");if("number"==typeof i.itemType){let t=r0(i.itemType);if(!t)throw Error(`Cannot get default converter for array item of ${r.name} ASN1 schema`);a=e.map(e=>t.toASN(e))}else a=e.map(e=>this.toAsnItem({type:i.itemType},"[]",r,e))}else for(let t in i.items){let n=i.items[t],s=e[t];if(void 0===s||n.defaultValue===s||"object"==typeof n.defaultValue&&"object"==typeof s&&function(e,t){if(!(e&&t)||e.byteLength!==t.byteLength)return!1;let r=new Uint8Array(e),i=new Uint8Array(t);for(let t=0;t<e.byteLength;t++)if(r[t]!==i[t])return!1;return!0}(this.serialize(n.defaultValue),this.serialize(s)))continue;let o=r7.toAsnItem(n,t,r,s);if("number"==typeof n.context)if(n.implicit)if(!n.repeated&&("number"==typeof n.type||r2(n.type))){let e={};e.valueHex=o instanceof tU?r_(o.valueBeforeDecodeView):o.valueBlock.toBER(),a.push(new t_({optional:n.optional,idBlock:{tagClass:3,tagNumber:n.context},...e}))}else a.push(new tO({optional:n.optional,idBlock:{tagClass:3,tagNumber:n.context},value:o.valueBlock.value}));else a.push(new tO({optional:n.optional,idBlock:{tagClass:3,tagNumber:n.context},value:[o]}));else n.repeated?a=a.concat(o):a.push(o)}switch(i.type){case E.Sequence:t=new tX({value:a});break;case E.Set:t=new t0({value:a});break;case E.Choice:if(!a[0])throw Error(`Schema '${r.name}' has wrong data. Choice cannot be empty.`);t=a[0]}return t}static toAsnItem(e,t,r,i){let a;if("number"==typeof e.type){let n=e.converter;if(!n)throw Error(`Property '${t}' doesn't have converter for type ${I[e.type]} in schema '${r.name}'`);if(e.repeated){if(!Array.isArray(i))throw TypeError("Parameter 'objProp' should be type of Array.");let t=Array.from(i,e=>n.toASN(e));a=new("sequence"===e.repeated?tX:t0)({value:t})}else a=n.toASN(i)}else if(e.repeated){if(!Array.isArray(i))throw TypeError("Parameter 'objProp' should be type of Array.");let t=Array.from(i,e=>this.toASN(e));a=new("sequence"===e.repeated?tX:t0)({value:t})}else a=this.toASN(i);return a}}class ie{static serialize(e){return r7.serialize(e)}static parse(e,t,r){return r9.parse(e,t,r)}static toString(e,t){let r=tD(rI(e)?r_(e):ie.serialize(e),t?.berOptions);if(-1===r.offset)throw Error(`Cannot decode ASN.1 data. ${r.result.error}`);return r.result.toString()}}var it=e.i(779430);class ir extends Array{constructor(e=[]){if("number"==typeof e)super(e);else for(const t of(super(),e))this.push(t)}}let ii=/^[0-9a-f]$/i,ia=[" "," ","\n","\r",":","-","."];function is(e){return e.replace(/[^0-9a-f]/gi,"")}function io(e,t){if(!t)return e.join("");if(!Number.isInteger(t.size)||t.size<1)throw RangeError("Hex group size must be a positive integer");let r=[];for(let i=0;i<e.length;i+=t.size)r.push(e.slice(i,i+t.size).join(""));return r.join(t.separator)}function il(e,t={}){return function(e,t){let r=t.allowPrefix??!0,i=[..."none"===t.separators?[]:!t.separators||"common"===t.separators?ia:t.separators].sort((e,t)=>t.length-e.length);for(let e of i)if(!e)throw TypeError("Hex separators must be non-empty strings");let a=e.trim();if(/^0x/i.test(a)){if(!r)throw TypeError("Hexadecimal text must not include a 0x prefix");a=a.slice(2)}let n="",s=!1;for(let e=0;e<a.length;){let r=a[e]??"";if(ii.test(r)){n+=r,s=!1,e+=1;continue}let o=function(e,t,r){for(let i of r)if(e.startsWith(i,t))return i}(a,e,i);if(!o)throw TypeError("Input is not valid hexadecimal text");if(t.strict&&(s||0===n.length))throw TypeError("Hexadecimal text contains misplaced separators");s=!0,e+=o.length}if(t.strict&&s&&n.length>0)throw TypeError("Hexadecimal text must not end with a separator");if(n.length%2!=0){if(!t.allowOddLength)throw TypeError("Hexadecimal text must contain an even number of characters");n=`0${n}`}return n.toLowerCase()}(e,t)}function iu(e,t={}){if("string"!=typeof e)return!1;try{return il(e,t),!0}catch{return!1}}function ic(e,t={}){let r=rA(e),i=t.case??"lower",a=Array.from(r,e=>{let t=e.toString(16).padStart(2,"0");return"upper"===i?t.toUpperCase():t}),n="";if(t.line){let e=t.line.bytesPerLine;if(!Number.isInteger(e)||e<1)throw RangeError("Hex bytesPerLine must be a positive integer");let r=t.line.separator??"\n",i=[];for(let r=0;r<a.length;r+=e)i.push(io(a.slice(r,r+e),t.group));n=i.join(r)}else n=io(a,t.group);return`${t.prefix??""}${n}`}function id(e,t={}){let r=il(e,t),i=new Uint8Array(r.length/2);for(let e=0;e<r.length;e+=2)i[e/2]=Number.parseInt(r.slice(e,e+2),16);return i}function ip(e,t={}){let r=il(e,t);return{bytes:id(r),format:function(e){let t,r,i=e.trim(),a=/^0x/i.test(i)?"0x":"",n=a?i.slice(2):i,s=function(e){let t=/\r\n|\n/.exec(e);if(t)return"\r\n"===t[0]?"\r\n":"\n"}(n),o=n.split(/\r\n|\n/).filter(e=>e.length>0),l=function(e){let t=e.match(/[0-9A-Fa-f]+|[^0-9A-Fa-f]+/g)??[];if(t.length<3)return;let r=t.filter((e,t)=>t%2==0),i=t.filter((e,t)=>t%2==1),a=i[0];if(!a||i.some(e=>e!==a)||r.some(e=>0===e.length||e.length%2!=0))return;let n=r[0]?.length??0;if(!(!n||r.slice(0,-1).some(e=>e.length!==n))&&!((r[r.length-1]?.length??0)>n))return{size:n/2,separator:a}}(o[0]?.trim()??""),u={case:(t=/[A-F]/.test(i),r=/[a-f]/.test(i),t&&!r?"upper":"lower"),prefix:a};if(l&&(u.group=l),s&&o.length>1){let e=is(o[0]??"").length/2;e>0&&o.slice(0,-1).every(t=>is(t).length/2===e)&&(u.line={bytesPerLine:e,separator:s})}return u}(e),normalized:r}}function ih(e,t){return ic(e,t)}let im={compact:Object.freeze({}),upper:Object.freeze({case:"upper"}),colon:Object.freeze({group:{size:1,separator:":"}}),colonUpper:Object.freeze({case:"upper",group:{size:1,separator:":"}}),groupsOf4:Object.freeze({group:{size:4,separator:" "}}),prefixed:Object.freeze({prefix:"0x"})};e.s(["decode",0,id,"encode",0,ic,"format",0,ih,"formats",0,im,"hex",0,{encode:ic,decode:id,format:ih,formats:im,is:iu,normalize:il,parse:ip},"is",0,iu,"normalize",0,il,"parse",0,ip],192318);var ig=e.i(192318),ig=ig;class iy{static isIPv4(e){return/^(\d{1,3}\.){3}\d{1,3}$/.test(e)}static parseIPv4(e){let t=e.split(".");if(4!==t.length)throw Error("Invalid IPv4 address");return t.map(e=>{let t=parseInt(e,10);if(isNaN(t)||t<0||t>255)throw Error("Invalid IPv4 address part");return t})}static parseIPv6(e){let t=this.expandIPv6(e).split(":");if(8!==t.length)throw Error("Invalid IPv6 address");return t.reduce((e,t)=>{let r=parseInt(t,16);if(isNaN(r)||r<0||r>65535)throw Error("Invalid IPv6 address part");return e.push(r>>8&255),e.push(255&r),e},[])}static expandIPv6(e){if(!e.includes("::"))return e;let t=e.split("::");if(t.length>2)throw Error("Invalid IPv6 address");let r=t[0]?t[0].split(":"):[],i=t[1]?t[1].split(":"):[],a=8-(r.length+i.length);if(a<0)throw Error("Invalid IPv6 address");return[...r,...Array(a).fill("0"),...i].join(":")}static formatIPv6(e){let t=[];for(let r=0;r<16;r+=2)t.push((e[r]<<8|e[r+1]).toString(16));return this.compressIPv6(t.join(":"))}static compressIPv6(e){let t=e.split(":"),r=-1,i=0,a=-1,n=0;for(let e=0;e<t.length;e++)"0"===t[e]?(-1===a&&(a=e),n++):(n>i&&(r=a,i=n),a=-1,n=0);if(n>i&&(r=a,i=n),i>1){let e=t.slice(0,r).join(":"),a=t.slice(r+i).join(":");return`${e}::${a}`}return e}static parseCIDR(e){let[t,r]=e.split("/"),i=parseInt(r,10);if(this.isIPv4(t)){if(i<0||i>32)throw Error("Invalid IPv4 prefix length");return[this.parseIPv4(t),i]}if(i<0||i>128)throw Error("Invalid IPv6 prefix length");return[this.parseIPv6(t),i]}static decodeIP(e){if(64===e.length&&0===parseInt(e,16))return"::/0";if(16!==e.length)return e;let t=parseInt(e.slice(8),16).toString(2).split("").reduce((e,t)=>e+ +t,0),r=e.slice(0,8).replace(/(.{2})/g,e=>`${parseInt(e,16)}.`);return r=r.slice(0,-1),`${r}/${t}`}static toString(e){let t=new Uint8Array(e);if(4===t.length)return Array.from(t).join(".");if(16===t.length)return this.formatIPv6(t);if(8===t.length||32===t.length){let e=t.length/2,r=t.slice(0,e),i=t.slice(e);if(t.every(e=>0===e))return 8===t.length?"0.0.0.0/0":"::/0";let a=i.reduce((e,t)=>e+(t.toString(2).match(/1/g)||[]).length,0);if(8===t.length){let e=Array.from(r).join(".");return`${e}/${a}`}{let e=this.formatIPv6(r);return`${e}/${a}`}}return this.decodeIP(ig.encode(e))}static fromString(e){if(e.includes("/")){let[t,r]=this.parseCIDR(e),i=new Uint8Array(t.length),a=r;for(let e=0;e<i.length;e++)a>=8?(i[e]=255,a-=8):a>0&&(i[e]=255<<8-a,a=0);let n=new Uint8Array(2*t.length);return n.set(t,0),n.set(i,t.length),n.buffer}return new Uint8Array(this.isIPv4(e)?this.parseIPv4(e):this.parseIPv6(e)).buffer}}var ig=ig;let iw=class{teletexString;printableString;universalString;utf8String;bmpString;constructor(e={}){Object.assign(this,e)}toString(){return this.bmpString||this.printableString||this.teletexString||this.universalString||this.utf8String||""}};(0,it.__decorate)([r8({type:I.TeletexString})],iw.prototype,"teletexString",void 0),(0,it.__decorate)([r8({type:I.PrintableString})],iw.prototype,"printableString",void 0),(0,it.__decorate)([r8({type:I.UniversalString})],iw.prototype,"universalString",void 0),(0,it.__decorate)([r8({type:I.Utf8String})],iw.prototype,"utf8String",void 0),(0,it.__decorate)([r8({type:I.BmpString})],iw.prototype,"bmpString",void 0),iw=(0,it.__decorate)([r6({type:E.Choice})],iw);let ib=class extends iw{ia5String;anyValue;constructor(e={}){super(e),Object.assign(this,e)}toString(){return this.ia5String||(this.anyValue?ig.encode(this.anyValue):super.toString())}};(0,it.__decorate)([r8({type:I.IA5String})],ib.prototype,"ia5String",void 0),(0,it.__decorate)([r8({type:I.Any})],ib.prototype,"anyValue",void 0),ib=(0,it.__decorate)([r6({type:E.Choice})],ib);class iv{type="";value=new ib;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.ObjectIdentifier})],iv.prototype,"type",void 0),(0,it.__decorate)([r8({type:ib})],iv.prototype,"value",void 0);let ik=x=class extends ir{constructor(e){super(e),Object.setPrototypeOf(this,x.prototype)}};ik=x=(0,it.__decorate)([r6({type:E.Set,itemType:iv})],ik);let iS=A=class extends ir{constructor(e){super(e),Object.setPrototypeOf(this,A.prototype)}};iS=A=(0,it.__decorate)([r6({type:E.Sequence,itemType:ik})],iS);let iE=_=class extends iS{constructor(e){super(e),Object.setPrototypeOf(this,_.prototype)}};iE=_=(0,it.__decorate)([r6({type:E.Sequence})],iE);class iI{typeId="";value=new ArrayBuffer(0);constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.ObjectIdentifier})],iI.prototype,"typeId",void 0),(0,it.__decorate)([r8({type:I.Any,context:0})],iI.prototype,"value",void 0);class ix{nameAssigner;partyName=new iw;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:iw,optional:!0,context:0,implicit:!0})],ix.prototype,"nameAssigner",void 0),(0,it.__decorate)([r8({type:iw,context:1,implicit:!0})],ix.prototype,"partyName",void 0);let iA=class{otherName;rfc822Name;dNSName;x400Address;directoryName;ediPartyName;uniformResourceIdentifier;iPAddress;registeredID;constructor(e={}){Object.assign(this,e)}};(0,it.__decorate)([r8({type:iI,context:0,implicit:!0})],iA.prototype,"otherName",void 0),(0,it.__decorate)([r8({type:I.IA5String,context:1,implicit:!0})],iA.prototype,"rfc822Name",void 0),(0,it.__decorate)([r8({type:I.IA5String,context:2,implicit:!0})],iA.prototype,"dNSName",void 0),(0,it.__decorate)([r8({type:I.Any,context:3,implicit:!0})],iA.prototype,"x400Address",void 0),(0,it.__decorate)([r8({type:iE,context:4,implicit:!1})],iA.prototype,"directoryName",void 0),(0,it.__decorate)([r8({type:ix,context:5})],iA.prototype,"ediPartyName",void 0),(0,it.__decorate)([r8({type:I.IA5String,context:6,implicit:!0})],iA.prototype,"uniformResourceIdentifier",void 0),(0,it.__decorate)([r8({type:I.OctetString,context:7,implicit:!0,converter:{fromASN:e=>iy.toString(rB.fromASN(e)),toASN:e=>rB.toASN(iy.fromString(e))}})],iA.prototype,"iPAddress",void 0),(0,it.__decorate)([r8({type:I.ObjectIdentifier,context:8,implicit:!0})],iA.prototype,"registeredID",void 0),iA=(0,it.__decorate)([r6({type:E.Choice})],iA);let i_="1.3.6.1.5.5.7",iC=`${i_}.1`,iR=`${i_}.3`,iT=`${i_}.48`,iD=`${iT}.1`,iN=`${iT}.2`,iO=`${iT}.3`,iP=`${iT}.5`,i$="2.5.29",iU=`${iC}.1`;class iB{accessMethod="";accessLocation=new iA;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.ObjectIdentifier})],iB.prototype,"accessMethod",void 0),(0,it.__decorate)([r8({type:iA})],iB.prototype,"accessLocation",void 0);let ij=C=class extends ir{constructor(e){super(e),Object.setPrototypeOf(this,C.prototype)}};ij=C=(0,it.__decorate)([r6({type:E.Sequence,itemType:iB})],ij);let iL=`${i$}.35`;class iq extends rR{}class iM{keyIdentifier;authorityCertIssuer;authorityCertSerialNumber;constructor(e={}){e&&Object.assign(this,e)}}(0,it.__decorate)([r8({type:iq,context:0,optional:!0,implicit:!0})],iM.prototype,"keyIdentifier",void 0),(0,it.__decorate)([r8({type:iA,context:1,optional:!0,implicit:!0,repeated:"sequence"})],iM.prototype,"authorityCertIssuer",void 0),(0,it.__decorate)([r8({type:I.Integer,context:2,optional:!0,implicit:!0,converter:rO})],iM.prototype,"authorityCertSerialNumber",void 0);let iF=`${i$}.19`;class iK{cA=!1;pathLenConstraint;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.Boolean,defaultValue:!1})],iK.prototype,"cA",void 0),(0,it.__decorate)([r8({type:I.Integer,optional:!0})],iK.prototype,"pathLenConstraint",void 0);let iV=R=class extends ir{constructor(e){super(e),Object.setPrototypeOf(this,R.prototype)}};iV=R=(0,it.__decorate)([r6({type:E.Sequence,itemType:iA})],iV);let iG=T=class extends iV{constructor(e){super(e),Object.setPrototypeOf(this,T.prototype)}};iG=T=(0,it.__decorate)([r6({type:E.Sequence})],iG);let iH=`${i$}.32`,iW=class{ia5String;visibleString;bmpString;utf8String;constructor(e={}){Object.assign(this,e)}toString(){return this.ia5String||this.visibleString||this.bmpString||this.utf8String||""}};(0,it.__decorate)([r8({type:I.IA5String})],iW.prototype,"ia5String",void 0),(0,it.__decorate)([r8({type:I.VisibleString})],iW.prototype,"visibleString",void 0),(0,it.__decorate)([r8({type:I.BmpString})],iW.prototype,"bmpString",void 0),(0,it.__decorate)([r8({type:I.Utf8String})],iW.prototype,"utf8String",void 0),iW=(0,it.__decorate)([r6({type:E.Choice})],iW);class iJ{organization=new iW;noticeNumbers=[];constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:iW})],iJ.prototype,"organization",void 0),(0,it.__decorate)([r8({type:I.Integer,repeated:"sequence"})],iJ.prototype,"noticeNumbers",void 0);class iz{noticeRef;explicitText;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:iJ,optional:!0})],iz.prototype,"noticeRef",void 0),(0,it.__decorate)([r8({type:iW,optional:!0})],iz.prototype,"explicitText",void 0);let iZ=class{cPSuri;userNotice;constructor(e={}){Object.assign(this,e)}};(0,it.__decorate)([r8({type:I.IA5String})],iZ.prototype,"cPSuri",void 0),(0,it.__decorate)([r8({type:iz})],iZ.prototype,"userNotice",void 0),iZ=(0,it.__decorate)([r6({type:E.Choice})],iZ);class iY{policyQualifierId="";qualifier=new ArrayBuffer(0);constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.ObjectIdentifier})],iY.prototype,"policyQualifierId",void 0),(0,it.__decorate)([r8({type:I.Any})],iY.prototype,"qualifier",void 0);class iQ{policyIdentifier="";policyQualifiers;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.ObjectIdentifier})],iQ.prototype,"policyIdentifier",void 0),(0,it.__decorate)([r8({type:iY,repeated:"sequence",optional:!0})],iQ.prototype,"policyQualifiers",void 0);let iX=D=class extends ir{constructor(e){super(e),Object.setPrototypeOf(this,D.prototype)}};iX=D=(0,it.__decorate)([r6({type:E.Sequence,itemType:iQ})],iX);let i0=class{value;constructor(e=0){this.value=e}};(0,it.__decorate)([r8({type:I.Integer})],i0.prototype,"value",void 0),i0=(0,it.__decorate)([r6({type:E.Choice})],i0);let i1=class extends i0{};i1=(0,it.__decorate)([r6({type:E.Choice})],i1);let i2=`${i$}.31`;(i=O||(O={}))[i.unused=1]="unused",i[i.keyCompromise=2]="keyCompromise",i[i.cACompromise=4]="cACompromise",i[i.affiliationChanged=8]="affiliationChanged",i[i.superseded=16]="superseded",i[i.cessationOfOperation=32]="cessationOfOperation",i[i.certificateHold=64]="certificateHold",i[i.privilegeWithdrawn=128]="privilegeWithdrawn",i[i.aACompromise=256]="aACompromise";class i3 extends rC{toJSON(){let e=[],t=this.toNumber();return t&O.aACompromise&&e.push("aACompromise"),t&O.affiliationChanged&&e.push("affiliationChanged"),t&O.cACompromise&&e.push("cACompromise"),t&O.certificateHold&&e.push("certificateHold"),t&O.cessationOfOperation&&e.push("cessationOfOperation"),t&O.keyCompromise&&e.push("keyCompromise"),t&O.privilegeWithdrawn&&e.push("privilegeWithdrawn"),t&O.superseded&&e.push("superseded"),t&O.unused&&e.push("unused"),e}toString(){return`[${this.toJSON().join(", ")}]`}}let i4=class{fullName;nameRelativeToCRLIssuer;constructor(e={}){Object.assign(this,e)}};(0,it.__decorate)([r8({type:iA,context:0,repeated:"sequence",implicit:!0})],i4.prototype,"fullName",void 0),(0,it.__decorate)([r8({type:ik,context:1,implicit:!0})],i4.prototype,"nameRelativeToCRLIssuer",void 0),i4=(0,it.__decorate)([r6({type:E.Choice})],i4);class i6{distributionPoint;reasons;cRLIssuer;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:i4,context:0,optional:!0})],i6.prototype,"distributionPoint",void 0),(0,it.__decorate)([r8({type:i3,context:1,optional:!0,implicit:!0})],i6.prototype,"reasons",void 0),(0,it.__decorate)([r8({type:iA,context:2,optional:!0,repeated:"sequence",implicit:!0})],i6.prototype,"cRLIssuer",void 0);let i8=N=class extends ir{constructor(e){super(e),Object.setPrototypeOf(this,N.prototype)}};i8=N=(0,it.__decorate)([r6({type:E.Sequence,itemType:i6})],i8);let i5=P=class extends i8{constructor(e){super(e),Object.setPrototypeOf(this,P.prototype)}};i5=P=(0,it.__decorate)([r6({type:E.Sequence,itemType:i6})],i5);class i9{static ONLY=!1;distributionPoint;onlyContainsUserCerts=i9.ONLY;onlyContainsCACerts=i9.ONLY;onlySomeReasons;indirectCRL=i9.ONLY;onlyContainsAttributeCerts=i9.ONLY;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:i4,context:0,optional:!0})],i9.prototype,"distributionPoint",void 0),(0,it.__decorate)([r8({type:I.Boolean,context:1,defaultValue:i9.ONLY,implicit:!0})],i9.prototype,"onlyContainsUserCerts",void 0),(0,it.__decorate)([r8({type:I.Boolean,context:2,defaultValue:i9.ONLY,implicit:!0})],i9.prototype,"onlyContainsCACerts",void 0),(0,it.__decorate)([r8({type:i3,context:3,optional:!0,implicit:!0})],i9.prototype,"onlySomeReasons",void 0),(0,it.__decorate)([r8({type:I.Boolean,context:4,defaultValue:i9.ONLY,implicit:!0})],i9.prototype,"indirectCRL",void 0),(0,it.__decorate)([r8({type:I.Boolean,context:5,defaultValue:i9.ONLY,implicit:!0})],i9.prototype,"onlyContainsAttributeCerts",void 0),(a=$||($={}))[a.unspecified=0]="unspecified",a[a.keyCompromise=1]="keyCompromise",a[a.cACompromise=2]="cACompromise",a[a.affiliationChanged=3]="affiliationChanged",a[a.superseded=4]="superseded",a[a.cessationOfOperation=5]="cessationOfOperation",a[a.certificateHold=6]="certificateHold",a[a.removeFromCRL=8]="removeFromCRL",a[a.privilegeWithdrawn=9]="privilegeWithdrawn",a[a.aACompromise=10]="aACompromise";let i7=class{reason=$.unspecified;constructor(e=$.unspecified){this.reason=e}toJSON(){return $[this.reason]}toString(){return this.toJSON()}};(0,it.__decorate)([r8({type:I.Enumerated})],i7.prototype,"reason",void 0),i7=(0,it.__decorate)([r6({type:E.Choice})],i7);let ae=`${i$}.37`,at=U=class extends ir{constructor(e){super(e),Object.setPrototypeOf(this,U.prototype)}};at=U=(0,it.__decorate)([r6({type:E.Sequence,itemType:I.ObjectIdentifier})],at);let ar=`${iR}.1`,ai=`${iR}.2`,aa=`${iR}.3`,an=`${iR}.4`,as=`${iR}.8`,ao=`${iR}.9`,al=class{value;constructor(e=new ArrayBuffer(0)){this.value=e}};(0,it.__decorate)([r8({type:I.Integer,converter:rO})],al.prototype,"value",void 0),al=(0,it.__decorate)([r6({type:E.Choice})],al);let au=class{value=new Date;constructor(e){e&&(this.value=e)}};(0,it.__decorate)([r8({type:I.GeneralizedTime})],au.prototype,"value",void 0),au=(0,it.__decorate)([r6({type:E.Choice})],au);let ac=`${i$}.18`,ad=B=class extends iV{constructor(e){super(e),Object.setPrototypeOf(this,B.prototype)}};ad=B=(0,it.__decorate)([r6({type:E.Sequence})],ad);let ap=`${i$}.15`;(n=j||(j={}))[n.digitalSignature=1]="digitalSignature",n[n.nonRepudiation=2]="nonRepudiation",n[n.keyEncipherment=4]="keyEncipherment",n[n.dataEncipherment=8]="dataEncipherment",n[n.keyAgreement=16]="keyAgreement",n[n.keyCertSign=32]="keyCertSign",n[n.cRLSign=64]="cRLSign",n[n.encipherOnly=128]="encipherOnly",n[n.decipherOnly=256]="decipherOnly";class ah extends rC{toJSON(){let e=this.toNumber(),t=[];return e&j.cRLSign&&t.push("crlSign"),e&j.dataEncipherment&&t.push("dataEncipherment"),e&j.decipherOnly&&t.push("decipherOnly"),e&j.digitalSignature&&t.push("digitalSignature"),e&j.encipherOnly&&t.push("encipherOnly"),e&j.keyAgreement&&t.push("keyAgreement"),e&j.keyCertSign&&t.push("keyCertSign"),e&j.keyEncipherment&&t.push("keyEncipherment"),e&j.nonRepudiation&&t.push("nonRepudiation"),t}toString(){return`[${this.toJSON().join(", ")}]`}}class am{base=new iA;minimum=0;maximum;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:iA})],am.prototype,"base",void 0),(0,it.__decorate)([r8({type:I.Integer,context:0,defaultValue:0,implicit:!0})],am.prototype,"minimum",void 0),(0,it.__decorate)([r8({type:I.Integer,context:1,optional:!0,implicit:!0})],am.prototype,"maximum",void 0);let af=L=class extends ir{constructor(e){super(e),Object.setPrototypeOf(this,L.prototype)}};af=L=(0,it.__decorate)([r6({type:E.Sequence,itemType:am})],af);class ag{permittedSubtrees;excludedSubtrees;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:af,context:0,optional:!0,implicit:!0})],ag.prototype,"permittedSubtrees",void 0),(0,it.__decorate)([r8({type:af,context:1,optional:!0,implicit:!0})],ag.prototype,"excludedSubtrees",void 0);class ay{requireExplicitPolicy;inhibitPolicyMapping;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.Integer,context:0,implicit:!0,optional:!0,converter:rO})],ay.prototype,"requireExplicitPolicy",void 0),(0,it.__decorate)([r8({type:I.Integer,context:1,implicit:!0,optional:!0,converter:rO})],ay.prototype,"inhibitPolicyMapping",void 0);class aw{issuerDomainPolicy="";subjectDomainPolicy="";constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.ObjectIdentifier})],aw.prototype,"issuerDomainPolicy",void 0),(0,it.__decorate)([r8({type:I.ObjectIdentifier})],aw.prototype,"subjectDomainPolicy",void 0);let ab=q=class extends ir{constructor(e){super(e),Object.setPrototypeOf(this,q.prototype)}};ab=q=(0,it.__decorate)([r6({type:E.Sequence,itemType:aw})],ab);let av=`${i$}.17`,ak=M=class extends iV{constructor(e){super(e),Object.setPrototypeOf(this,M.prototype)}};ak=M=(0,it.__decorate)([r6({type:E.Sequence})],ak);class aS{type="";values=[];constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.ObjectIdentifier})],aS.prototype,"type",void 0),(0,it.__decorate)([r8({type:I.Any,repeated:"set"})],aS.prototype,"values",void 0);let aE=F=class extends ir{constructor(e){super(e),Object.setPrototypeOf(this,F.prototype)}};aE=F=(0,it.__decorate)([r6({type:E.Sequence,itemType:aS})],aE);let aI=`${i$}.14`;class ax extends iq{}class aA{notBefore;notAfter;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.GeneralizedTime,context:0,implicit:!0,optional:!0})],aA.prototype,"notBefore",void 0),(0,it.__decorate)([r8({type:I.GeneralizedTime,context:1,implicit:!0,optional:!0})],aA.prototype,"notAfter",void 0),(s=K||(K={}))[s.keyUpdateAllowed=1]="keyUpdateAllowed",s[s.newExtensions=2]="newExtensions",s[s.pKIXCertificate=4]="pKIXCertificate";class a_ extends rC{toJSON(){let e=[],t=this.toNumber();return t&K.pKIXCertificate&&e.push("pKIXCertificate"),t&K.newExtensions&&e.push("newExtensions"),t&K.keyUpdateAllowed&&e.push("keyUpdateAllowed"),e}toString(){return`[${this.toJSON().join(", ")}]`}}class aC{entrustVers="";entrustInfoFlags=new a_;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.GeneralString})],aC.prototype,"entrustVers",void 0),(0,it.__decorate)([r8({type:a_})],aC.prototype,"entrustInfoFlags",void 0);let aR=V=class extends ir{constructor(e){super(e),Object.setPrototypeOf(this,V.prototype)}};aR=V=(0,it.__decorate)([r6({type:E.Sequence,itemType:iB})],aR);class aT{algorithm="";parameters;constructor(e={}){Object.assign(this,e)}isEqual(e){return e instanceof aT&&e.algorithm==this.algorithm&&(e.parameters&&this.parameters&&function(e,t,r={}){let i=rA(e),a=rA(t);if(!r.constantTime&&i.byteLength!==a.byteLength)return!1;let n=Math.max(i.byteLength,a.byteLength),s=i.byteLength^a.byteLength;for(let e=0;e<n;e++)s|=(i[e]??0)^(a[e]??0);return 0===s}(e.parameters,this.parameters)||e.parameters===this.parameters)}}(0,it.__decorate)([r8({type:I.ObjectIdentifier})],aT.prototype,"algorithm",void 0),(0,it.__decorate)([r8({type:I.Any,optional:!0})],aT.prototype,"parameters",void 0);class aD{algorithm=new aT;subjectPublicKey=new ArrayBuffer(0);constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:aT})],aD.prototype,"algorithm",void 0),(0,it.__decorate)([r8({type:I.BitString})],aD.prototype,"subjectPublicKey",void 0);let aN=class{utcTime;generalTime;constructor(e){if(e)if("string"==typeof e||"number"==typeof e||e instanceof Date){const t=new Date(e);t.setMilliseconds(0),t.getUTCFullYear()>2049?this.generalTime=t:this.utcTime=t}else Object.assign(this,e)}getTime(){let e=this.utcTime||this.generalTime;if(!e)throw Error("Cannot get time from CHOICE object");return e}};(0,it.__decorate)([r8({type:I.UTCTime})],aN.prototype,"utcTime",void 0),(0,it.__decorate)([r8({type:I.GeneralizedTime})],aN.prototype,"generalTime",void 0),aN=(0,it.__decorate)([r6({type:E.Choice})],aN);class aO{notBefore=new aN(new Date);notAfter=new aN(new Date);constructor(e){e&&(this.notBefore=new aN(e.notBefore),this.notAfter=new aN(e.notAfter))}}(0,it.__decorate)([r8({type:aN})],aO.prototype,"notBefore",void 0),(0,it.__decorate)([r8({type:aN})],aO.prototype,"notAfter",void 0);class aP{static CRITICAL=!1;extnID="";critical=aP.CRITICAL;extnValue=new rR;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.ObjectIdentifier})],aP.prototype,"extnID",void 0),(0,it.__decorate)([r8({type:I.Boolean,defaultValue:aP.CRITICAL})],aP.prototype,"critical",void 0),(0,it.__decorate)([r8({type:rR})],aP.prototype,"extnValue",void 0);let a$=G=class extends ir{constructor(e){super(e),Object.setPrototypeOf(this,G.prototype)}};a$=G=(0,it.__decorate)([r6({type:E.Sequence,itemType:aP})],a$),(o=H||(H={}))[o.v1=0]="v1",o[o.v2=1]="v2",o[o.v3=2]="v3";class aU{version=H.v1;serialNumber=new ArrayBuffer(0);signature=new aT;issuer=new iE;validity=new aO;subject=new iE;subjectPublicKeyInfo=new aD;issuerUniqueID;subjectUniqueID;extensions;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.Integer,context:0,defaultValue:H.v1})],aU.prototype,"version",void 0),(0,it.__decorate)([r8({type:I.Integer,converter:rO})],aU.prototype,"serialNumber",void 0),(0,it.__decorate)([r8({type:aT})],aU.prototype,"signature",void 0),(0,it.__decorate)([r8({type:iE})],aU.prototype,"issuer",void 0),(0,it.__decorate)([r8({type:aO})],aU.prototype,"validity",void 0),(0,it.__decorate)([r8({type:iE})],aU.prototype,"subject",void 0),(0,it.__decorate)([r8({type:aD})],aU.prototype,"subjectPublicKeyInfo",void 0),(0,it.__decorate)([r8({type:I.BitString,context:1,implicit:!0,optional:!0})],aU.prototype,"issuerUniqueID",void 0),(0,it.__decorate)([r8({type:I.BitString,context:2,implicit:!0,optional:!0})],aU.prototype,"subjectUniqueID",void 0),(0,it.__decorate)([r8({type:a$,context:3,optional:!0})],aU.prototype,"extensions",void 0);class aB{tbsCertificate=new aU;tbsCertificateRaw;signatureAlgorithm=new aT;signatureValue=new ArrayBuffer(0);constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:aU,raw:!0})],aB.prototype,"tbsCertificate",void 0),(0,it.__decorate)([r8({type:aT})],aB.prototype,"signatureAlgorithm",void 0),(0,it.__decorate)([r8({type:I.BitString})],aB.prototype,"signatureValue",void 0);class aj{userCertificate=new ArrayBuffer(0);revocationDate=new aN;crlEntryExtensions;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.Integer,converter:rO})],aj.prototype,"userCertificate",void 0),(0,it.__decorate)([r8({type:aN})],aj.prototype,"revocationDate",void 0),(0,it.__decorate)([r8({type:aP,optional:!0,repeated:"sequence"})],aj.prototype,"crlEntryExtensions",void 0);class aL{version;signature=new aT;issuer=new iE;thisUpdate=new aN;nextUpdate;revokedCertificates;crlExtensions;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.Integer,optional:!0})],aL.prototype,"version",void 0),(0,it.__decorate)([r8({type:aT})],aL.prototype,"signature",void 0),(0,it.__decorate)([r8({type:iE})],aL.prototype,"issuer",void 0),(0,it.__decorate)([r8({type:aN})],aL.prototype,"thisUpdate",void 0),(0,it.__decorate)([r8({type:aN,optional:!0})],aL.prototype,"nextUpdate",void 0),(0,it.__decorate)([r8({type:aj,repeated:"sequence",optional:!0})],aL.prototype,"revokedCertificates",void 0),(0,it.__decorate)([r8({type:aP,optional:!0,context:0,repeated:"sequence"})],aL.prototype,"crlExtensions",void 0);class aq{tbsCertList=new aL;tbsCertListRaw;signatureAlgorithm=new aT;signature=new ArrayBuffer(0);constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:aL,raw:!0})],aq.prototype,"tbsCertList",void 0),(0,it.__decorate)([r8({type:aT})],aq.prototype,"signatureAlgorithm",void 0),(0,it.__decorate)([r8({type:I.BitString})],aq.prototype,"signature",void 0);class aM{issuer=new iE;serialNumber=new ArrayBuffer(0);constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:iE})],aM.prototype,"issuer",void 0),(0,it.__decorate)([r8({type:I.Integer,converter:rO})],aM.prototype,"serialNumber",void 0);let aF=class{subjectKeyIdentifier;issuerAndSerialNumber;constructor(e={}){Object.assign(this,e)}};(0,it.__decorate)([r8({type:ax,context:0,implicit:!0})],aF.prototype,"subjectKeyIdentifier",void 0),(0,it.__decorate)([r8({type:aM})],aF.prototype,"issuerAndSerialNumber",void 0),aF=(0,it.__decorate)([r6({type:E.Choice})],aF),(l=W||(W={}))[l.v0=0]="v0",l[l.v1=1]="v1",l[l.v2=2]="v2",l[l.v3=3]="v3",l[l.v4=4]="v4",l[l.v5=5]="v5";let aK=class extends aT{};aK=(0,it.__decorate)([r6({type:E.Sequence})],aK);let aV=class extends aT{};aV=(0,it.__decorate)([r6({type:E.Sequence})],aV);let aG=class extends aT{};aG=(0,it.__decorate)([r6({type:E.Sequence})],aG);let aH=class extends aT{};aH=(0,it.__decorate)([r6({type:E.Sequence})],aH);let aW=class extends aT{};aW=(0,it.__decorate)([r6({type:E.Sequence})],aW);let aJ=class extends aT{};aJ=(0,it.__decorate)([r6({type:E.Sequence})],aJ);class az{attrType="";attrValues=[];constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.ObjectIdentifier})],az.prototype,"attrType",void 0),(0,it.__decorate)([r8({type:I.Any,repeated:"set"})],az.prototype,"attrValues",void 0);class aZ{version=W.v0;sid=new aF;digestAlgorithm=new aK;signedAttrs;signedAttrsRaw;signatureAlgorithm=new aV;signature=new rR;unsignedAttrs;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.Integer})],aZ.prototype,"version",void 0),(0,it.__decorate)([r8({type:aF})],aZ.prototype,"sid",void 0),(0,it.__decorate)([r8({type:aK})],aZ.prototype,"digestAlgorithm",void 0),(0,it.__decorate)([r8({type:az,repeated:"set",context:0,implicit:!0,optional:!0,raw:!0})],aZ.prototype,"signedAttrs",void 0),(0,it.__decorate)([r8({type:aV})],aZ.prototype,"signatureAlgorithm",void 0),(0,it.__decorate)([r8({type:rR})],aZ.prototype,"signature",void 0),(0,it.__decorate)([r8({type:az,repeated:"set",context:1,implicit:!0,optional:!0})],aZ.prototype,"unsignedAttrs",void 0);let aY=J=class extends ir{constructor(e){super(e),Object.setPrototypeOf(this,J.prototype)}};aY=J=(0,it.__decorate)([r6({type:E.Set,itemType:aZ})],aY);let aQ=class extends aZ{};aQ=(0,it.__decorate)([r6({type:E.Sequence})],aQ);let aX=class extends aN{};aX=(0,it.__decorate)([r6({type:E.Choice})],aX);class a0{acIssuer=new iA;acSerial=0;attrs=[];constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:iA})],a0.prototype,"acIssuer",void 0),(0,it.__decorate)([r8({type:I.Integer})],a0.prototype,"acSerial",void 0),(0,it.__decorate)([r8({type:aS,repeated:"sequence"})],a0.prototype,"attrs",void 0);let a1=z=class extends ir{constructor(e){super(e),Object.setPrototypeOf(this,z.prototype)}};a1=z=(0,it.__decorate)([r6({type:E.Sequence,itemType:I.ObjectIdentifier})],a1);class a2{pathLenConstraint;permittedAttrs;excludedAttrs;permitUnSpecified=!0;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.Integer,optional:!0})],a2.prototype,"pathLenConstraint",void 0),(0,it.__decorate)([r8({type:a1,implicit:!0,context:0,optional:!0})],a2.prototype,"permittedAttrs",void 0),(0,it.__decorate)([r8({type:a1,implicit:!0,context:1,optional:!0})],a2.prototype,"excludedAttrs",void 0),(0,it.__decorate)([r8({type:I.Boolean,defaultValue:!0})],a2.prototype,"permitUnSpecified",void 0);class a3{issuer=new iV;serial=new ArrayBuffer(0);issuerUID=new ArrayBuffer(0);constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:iV})],a3.prototype,"issuer",void 0),(0,it.__decorate)([r8({type:I.Integer,converter:rO})],a3.prototype,"serial",void 0),(0,it.__decorate)([r8({type:I.BitString,optional:!0})],a3.prototype,"issuerUID",void 0),(u=Z||(Z={}))[u.publicKey=0]="publicKey",u[u.publicKeyCert=1]="publicKeyCert",u[u.otherObjectTypes=2]="otherObjectTypes";class a4{digestedObjectType=Z.publicKey;otherObjectTypeID;digestAlgorithm=new aT;objectDigest=new ArrayBuffer(0);constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.Enumerated})],a4.prototype,"digestedObjectType",void 0),(0,it.__decorate)([r8({type:I.ObjectIdentifier,optional:!0})],a4.prototype,"otherObjectTypeID",void 0),(0,it.__decorate)([r8({type:aT})],a4.prototype,"digestAlgorithm",void 0),(0,it.__decorate)([r8({type:I.BitString})],a4.prototype,"objectDigest",void 0);class a6{issuerName;baseCertificateID;objectDigestInfo;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:iV,optional:!0})],a6.prototype,"issuerName",void 0),(0,it.__decorate)([r8({type:a3,context:0,implicit:!0,optional:!0})],a6.prototype,"baseCertificateID",void 0),(0,it.__decorate)([r8({type:a4,context:1,implicit:!0,optional:!0})],a6.prototype,"objectDigestInfo",void 0);let a8=class{v1Form;v2Form;constructor(e={}){Object.assign(this,e)}};(0,it.__decorate)([r8({type:iA,repeated:"sequence"})],a8.prototype,"v1Form",void 0),(0,it.__decorate)([r8({type:a6,context:0,implicit:!0})],a8.prototype,"v2Form",void 0),a8=(0,it.__decorate)([r6({type:E.Choice})],a8);class a5{notBeforeTime=new Date;notAfterTime=new Date;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.GeneralizedTime})],a5.prototype,"notBeforeTime",void 0),(0,it.__decorate)([r8({type:I.GeneralizedTime})],a5.prototype,"notAfterTime",void 0);class a9{baseCertificateID;entityName;objectDigestInfo;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:a3,implicit:!0,context:0,optional:!0})],a9.prototype,"baseCertificateID",void 0),(0,it.__decorate)([r8({type:iV,implicit:!0,context:1,optional:!0})],a9.prototype,"entityName",void 0),(0,it.__decorate)([r8({type:a4,implicit:!0,context:2,optional:!0})],a9.prototype,"objectDigestInfo",void 0),(c=Y||(Y={}))[c.v2=1]="v2";class a7{version=Y.v2;holder=new a9;issuer=new a8;signature=new aT;serialNumber=new ArrayBuffer(0);attrCertValidityPeriod=new a5;attributes=[];issuerUniqueID;extensions;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.Integer})],a7.prototype,"version",void 0),(0,it.__decorate)([r8({type:a9})],a7.prototype,"holder",void 0),(0,it.__decorate)([r8({type:a8})],a7.prototype,"issuer",void 0),(0,it.__decorate)([r8({type:aT})],a7.prototype,"signature",void 0),(0,it.__decorate)([r8({type:I.Integer,converter:rO})],a7.prototype,"serialNumber",void 0),(0,it.__decorate)([r8({type:a5})],a7.prototype,"attrCertValidityPeriod",void 0),(0,it.__decorate)([r8({type:aS,repeated:"sequence"})],a7.prototype,"attributes",void 0),(0,it.__decorate)([r8({type:I.BitString,optional:!0})],a7.prototype,"issuerUniqueID",void 0),(0,it.__decorate)([r8({type:a$,optional:!0})],a7.prototype,"extensions",void 0);class ne{acinfo=new a7;signatureAlgorithm=new aT;signatureValue=new ArrayBuffer(0);constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:a7})],ne.prototype,"acinfo",void 0),(0,it.__decorate)([r8({type:aT})],ne.prototype,"signatureAlgorithm",void 0),(0,it.__decorate)([r8({type:I.BitString})],ne.prototype,"signatureValue",void 0),(d=Q||(Q={}))[d.unmarked=1]="unmarked",d[d.unclassified=2]="unclassified",d[d.restricted=4]="restricted",d[d.confidential=8]="confidential",d[d.secret=16]="secret",d[d.topSecret=32]="topSecret";class nt extends rC{}class nr{type="";value=new ArrayBuffer(0);constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.ObjectIdentifier,implicit:!0,context:0})],nr.prototype,"type",void 0),(0,it.__decorate)([r8({type:I.Any,implicit:!0,context:1})],nr.prototype,"value",void 0);class ni{policyId="";classList=new nt(Q.unclassified);securityCategories;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.ObjectIdentifier})],ni.prototype,"policyId",void 0),(0,it.__decorate)([r8({type:nt,defaultValue:new nt(Q.unclassified)})],ni.prototype,"classList",void 0),(0,it.__decorate)([r8({type:nr,repeated:"set"})],ni.prototype,"securityCategories",void 0);class na{cotets;oid;string;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:rR})],na.prototype,"cotets",void 0),(0,it.__decorate)([r8({type:I.ObjectIdentifier})],na.prototype,"oid",void 0),(0,it.__decorate)([r8({type:I.Utf8String})],na.prototype,"string",void 0);class nn{policyAuthority;values=[];constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:iV,implicit:!0,context:0,optional:!0})],nn.prototype,"policyAuthority",void 0),(0,it.__decorate)([r8({type:na,repeated:"sequence"})],nn.prototype,"values",void 0);class ns{targetCertificate=new a3;targetName;certDigestInfo;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:a3})],ns.prototype,"targetCertificate",void 0),(0,it.__decorate)([r8({type:iA,optional:!0})],ns.prototype,"targetName",void 0),(0,it.__decorate)([r8({type:a4,optional:!0})],ns.prototype,"certDigestInfo",void 0);let no=class{targetName;targetGroup;targetCert;constructor(e={}){Object.assign(this,e)}};(0,it.__decorate)([r8({type:iA,context:0,implicit:!0})],no.prototype,"targetName",void 0),(0,it.__decorate)([r8({type:iA,context:1,implicit:!0})],no.prototype,"targetGroup",void 0),(0,it.__decorate)([r8({type:ns,context:2,implicit:!0})],no.prototype,"targetCert",void 0),no=(0,it.__decorate)([r6({type:E.Choice})],no);let nl=X=class extends ir{constructor(e){super(e),Object.setPrototypeOf(this,X.prototype)}};nl=X=(0,it.__decorate)([r6({type:E.Sequence,itemType:no})],nl);let nu=ee=class extends ir{constructor(e){super(e),Object.setPrototypeOf(this,ee.prototype)}};nu=ee=(0,it.__decorate)([r6({type:E.Sequence,itemType:nl})],nu);class nc{roleAuthority;roleName;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:iV,implicit:!0,context:0,optional:!0})],nc.prototype,"roleAuthority",void 0),(0,it.__decorate)([r8({type:iA,implicit:!0,context:1})],nc.prototype,"roleName",void 0);class nd{service=new iA;ident=new iA;authInfo;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:iA})],nd.prototype,"service",void 0),(0,it.__decorate)([r8({type:iA})],nd.prototype,"ident",void 0),(0,it.__decorate)([r8({type:rR,optional:!0})],nd.prototype,"authInfo",void 0);class np{otherCertFormat="";otherCert=new ArrayBuffer(0);constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.ObjectIdentifier})],np.prototype,"otherCertFormat",void 0),(0,it.__decorate)([r8({type:I.Any})],np.prototype,"otherCert",void 0);let nh=class{certificate;v2AttrCert;other;constructor(e={}){Object.assign(this,e)}};(0,it.__decorate)([r8({type:aB})],nh.prototype,"certificate",void 0),(0,it.__decorate)([r8({type:ne,context:2,implicit:!0})],nh.prototype,"v2AttrCert",void 0),(0,it.__decorate)([r8({type:np,context:3,implicit:!0})],nh.prototype,"other",void 0),nh=(0,it.__decorate)([r6({type:E.Choice})],nh);let nm=et=class extends ir{constructor(e){super(e),Object.setPrototypeOf(this,et.prototype)}};nm=et=(0,it.__decorate)([r6({type:E.Set,itemType:nh})],nm);class nf{contentType="";content=new ArrayBuffer(0);constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.ObjectIdentifier})],nf.prototype,"contentType",void 0),(0,it.__decorate)([r8({type:I.Any,context:0})],nf.prototype,"content",void 0);let ng=class{single;any;constructor(e={}){Object.assign(this,e)}};(0,it.__decorate)([r8({type:rR})],ng.prototype,"single",void 0),(0,it.__decorate)([r8({type:I.Any})],ng.prototype,"any",void 0),ng=(0,it.__decorate)([r6({type:E.Choice})],ng);class ny{eContentType="";eContent;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.ObjectIdentifier})],ny.prototype,"eContentType",void 0),(0,it.__decorate)([r8({type:ng,context:0,optional:!0})],ny.prototype,"eContent",void 0);let nw=class{value;constructedValue;constructor(e={}){Object.assign(this,e)}};(0,it.__decorate)([r8({type:rR,context:0,implicit:!0,optional:!0})],nw.prototype,"value",void 0),(0,it.__decorate)([r8({type:rR,converter:{fromASN:e=>new rR(e.getValue()),toASN:e=>e.toASN()},context:0,implicit:!0,optional:!0,repeated:"sequence"})],nw.prototype,"constructedValue",void 0),nw=(0,it.__decorate)([r6({type:E.Choice})],nw);class nb{contentType="";contentEncryptionAlgorithm=new aH;encryptedContent;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.ObjectIdentifier})],nb.prototype,"contentType",void 0),(0,it.__decorate)([r8({type:aH})],nb.prototype,"contentEncryptionAlgorithm",void 0),(0,it.__decorate)([r8({type:nw,optional:!0})],nb.prototype,"encryptedContent",void 0);class nv{keyAttrId="";keyAttr;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.ObjectIdentifier})],nv.prototype,"keyAttrId",void 0),(0,it.__decorate)([r8({type:I.Any,optional:!0})],nv.prototype,"keyAttr",void 0);class nk{subjectKeyIdentifier=new ax;date;other;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:ax})],nk.prototype,"subjectKeyIdentifier",void 0),(0,it.__decorate)([r8({type:I.GeneralizedTime,optional:!0})],nk.prototype,"date",void 0),(0,it.__decorate)([r8({type:nv,optional:!0})],nk.prototype,"other",void 0);let nS=class{rKeyId;issuerAndSerialNumber;constructor(e={}){Object.assign(this,e)}};(0,it.__decorate)([r8({type:nk,context:0,implicit:!0,optional:!0})],nS.prototype,"rKeyId",void 0),(0,it.__decorate)([r8({type:aM,optional:!0})],nS.prototype,"issuerAndSerialNumber",void 0),nS=(0,it.__decorate)([r6({type:E.Choice})],nS);class nE{rid=new nS;encryptedKey=new rR;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:nS})],nE.prototype,"rid",void 0),(0,it.__decorate)([r8({type:rR})],nE.prototype,"encryptedKey",void 0);let nI=er=class extends ir{constructor(e){super(e),Object.setPrototypeOf(this,er.prototype)}};nI=er=(0,it.__decorate)([r6({type:E.Sequence,itemType:nE})],nI);class nx{algorithm=new aT;publicKey=new ArrayBuffer(0);constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:aT})],nx.prototype,"algorithm",void 0),(0,it.__decorate)([r8({type:I.BitString})],nx.prototype,"publicKey",void 0);let nA=class{subjectKeyIdentifier;originatorKey;issuerAndSerialNumber;constructor(e={}){Object.assign(this,e)}};(0,it.__decorate)([r8({type:ax,context:0,implicit:!0,optional:!0})],nA.prototype,"subjectKeyIdentifier",void 0),(0,it.__decorate)([r8({type:nx,context:1,implicit:!0,optional:!0})],nA.prototype,"originatorKey",void 0),(0,it.__decorate)([r8({type:aM,optional:!0})],nA.prototype,"issuerAndSerialNumber",void 0),nA=(0,it.__decorate)([r6({type:E.Choice})],nA);class n_{version=W.v3;originator=new nA;ukm;keyEncryptionAlgorithm=new aG;recipientEncryptedKeys=new nI;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.Integer})],n_.prototype,"version",void 0),(0,it.__decorate)([r8({type:nA,context:0})],n_.prototype,"originator",void 0),(0,it.__decorate)([r8({type:rR,context:1,optional:!0})],n_.prototype,"ukm",void 0),(0,it.__decorate)([r8({type:aG})],n_.prototype,"keyEncryptionAlgorithm",void 0),(0,it.__decorate)([r8({type:nI})],n_.prototype,"recipientEncryptedKeys",void 0);let nC=class{subjectKeyIdentifier;issuerAndSerialNumber;constructor(e={}){Object.assign(this,e)}};(0,it.__decorate)([r8({type:ax,context:0,implicit:!0})],nC.prototype,"subjectKeyIdentifier",void 0),(0,it.__decorate)([r8({type:aM})],nC.prototype,"issuerAndSerialNumber",void 0),nC=(0,it.__decorate)([r6({type:E.Choice})],nC);class nR{version=W.v0;rid=new nC;keyEncryptionAlgorithm=new aG;encryptedKey=new rR;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.Integer})],nR.prototype,"version",void 0),(0,it.__decorate)([r8({type:nC})],nR.prototype,"rid",void 0),(0,it.__decorate)([r8({type:aG})],nR.prototype,"keyEncryptionAlgorithm",void 0),(0,it.__decorate)([r8({type:rR})],nR.prototype,"encryptedKey",void 0);class nT{keyIdentifier=new rR;date;other;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:rR})],nT.prototype,"keyIdentifier",void 0),(0,it.__decorate)([r8({type:I.GeneralizedTime,optional:!0})],nT.prototype,"date",void 0),(0,it.__decorate)([r8({type:nv,optional:!0})],nT.prototype,"other",void 0);class nD{version=W.v4;kekid=new nT;keyEncryptionAlgorithm=new aG;encryptedKey=new rR;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.Integer})],nD.prototype,"version",void 0),(0,it.__decorate)([r8({type:nT})],nD.prototype,"kekid",void 0),(0,it.__decorate)([r8({type:aG})],nD.prototype,"keyEncryptionAlgorithm",void 0),(0,it.__decorate)([r8({type:rR})],nD.prototype,"encryptedKey",void 0);class nN{version=W.v0;keyDerivationAlgorithm;keyEncryptionAlgorithm=new aG;encryptedKey=new rR;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.Integer})],nN.prototype,"version",void 0),(0,it.__decorate)([r8({type:aJ,context:0,optional:!0})],nN.prototype,"keyDerivationAlgorithm",void 0),(0,it.__decorate)([r8({type:aG})],nN.prototype,"keyEncryptionAlgorithm",void 0),(0,it.__decorate)([r8({type:rR})],nN.prototype,"encryptedKey",void 0);class nO{oriType="";oriValue=new ArrayBuffer(0);constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.ObjectIdentifier})],nO.prototype,"oriType",void 0),(0,it.__decorate)([r8({type:I.Any})],nO.prototype,"oriValue",void 0);let nP=class{ktri;kari;kekri;pwri;ori;constructor(e={}){Object.assign(this,e)}};(0,it.__decorate)([r8({type:nR,optional:!0})],nP.prototype,"ktri",void 0),(0,it.__decorate)([r8({type:n_,context:1,implicit:!0,optional:!0})],nP.prototype,"kari",void 0),(0,it.__decorate)([r8({type:nD,context:2,implicit:!0,optional:!0})],nP.prototype,"kekri",void 0),(0,it.__decorate)([r8({type:nN,context:3,implicit:!0,optional:!0})],nP.prototype,"pwri",void 0),(0,it.__decorate)([r8({type:nO,context:4,implicit:!0,optional:!0})],nP.prototype,"ori",void 0),nP=(0,it.__decorate)([r6({type:E.Choice})],nP);let n$=ei=class extends ir{constructor(e){super(e),Object.setPrototypeOf(this,ei.prototype)}};n$=ei=(0,it.__decorate)([r6({type:E.Set,itemType:nP})],n$);class nU{otherRevInfoFormat="";otherRevInfo=new ArrayBuffer(0);constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.ObjectIdentifier})],nU.prototype,"otherRevInfoFormat",void 0),(0,it.__decorate)([r8({type:I.Any})],nU.prototype,"otherRevInfo",void 0);let nB=class{other=new nU;constructor(e={}){Object.assign(this,e)}};(0,it.__decorate)([r8({type:nU,context:1,implicit:!0})],nB.prototype,"other",void 0),nB=(0,it.__decorate)([r6({type:E.Choice})],nB);let nj=ea=class extends ir{constructor(e){super(e),Object.setPrototypeOf(this,ea.prototype)}};nj=ea=(0,it.__decorate)([r6({type:E.Set,itemType:nB})],nj);class nL{certs;crls;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:nm,context:0,implicit:!0,optional:!0})],nL.prototype,"certs",void 0),(0,it.__decorate)([r8({type:nj,context:1,implicit:!0,optional:!0})],nL.prototype,"crls",void 0);let nq=en=class extends ir{constructor(e){super(e),Object.setPrototypeOf(this,en.prototype)}};nq=en=(0,it.__decorate)([r6({type:E.Set,itemType:az})],nq);class nM{version=W.v0;originatorInfo;recipientInfos=new n$;encryptedContentInfo=new nb;unprotectedAttrs;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.Integer})],nM.prototype,"version",void 0),(0,it.__decorate)([r8({type:nL,context:0,implicit:!0,optional:!0})],nM.prototype,"originatorInfo",void 0),(0,it.__decorate)([r8({type:n$})],nM.prototype,"recipientInfos",void 0),(0,it.__decorate)([r8({type:nb})],nM.prototype,"encryptedContentInfo",void 0),(0,it.__decorate)([r8({type:nq,context:1,implicit:!0,optional:!0})],nM.prototype,"unprotectedAttrs",void 0);let nF=es=class extends ir{constructor(e){super(e),Object.setPrototypeOf(this,es.prototype)}};nF=es=(0,it.__decorate)([r6({type:E.Set,itemType:aK})],nF);class nK{version=W.v0;digestAlgorithms=new nF;encapContentInfo=new ny;certificates;crls;signerInfos=new aY;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.Integer})],nK.prototype,"version",void 0),(0,it.__decorate)([r8({type:nF})],nK.prototype,"digestAlgorithms",void 0),(0,it.__decorate)([r8({type:ny})],nK.prototype,"encapContentInfo",void 0),(0,it.__decorate)([r8({type:nm,context:0,implicit:!0,optional:!0})],nK.prototype,"certificates",void 0),(0,it.__decorate)([r8({type:nj,context:1,implicit:!0,optional:!0})],nK.prototype,"crls",void 0),(0,it.__decorate)([r8({type:aY})],nK.prototype,"signerInfos",void 0);let nV="1.2.840.10045.2.1",nG="1.2.840.10045.4.1",nH="1.2.840.10045.4.3.1",nW="1.2.840.10045.4.3.2",nJ="1.2.840.10045.4.3.3",nz="1.2.840.10045.4.3.4",nZ="1.2.840.10045.3.1.7",nY="1.3.132.0.34",nQ="1.3.132.0.35";function nX(e){return new aT({algorithm:e})}let n0=nX(nG);nX(nH);let n1=nX(nW),n2=nX(nJ),n3=nX(nz),n4=class{fieldType;parameters;constructor(e={}){Object.assign(this,e)}};(0,it.__decorate)([r8({type:I.ObjectIdentifier})],n4.prototype,"fieldType",void 0),(0,it.__decorate)([r8({type:I.Any})],n4.prototype,"parameters",void 0),n4=(0,it.__decorate)([r6({type:E.Sequence})],n4);let n6=class{a;b;seed;constructor(e={}){Object.assign(this,e)}};(0,it.__decorate)([r8({type:I.OctetString})],n6.prototype,"a",void 0),(0,it.__decorate)([r8({type:I.OctetString})],n6.prototype,"b",void 0),(0,it.__decorate)([r8({type:I.BitString,optional:!0})],n6.prototype,"seed",void 0),n6=(0,it.__decorate)([r6({type:E.Sequence})],n6),(p=eo||(eo={}))[p.ecpVer1=1]="ecpVer1";let n8=class{version=eo.ecpVer1;fieldID;curve;base;order;cofactor;constructor(e={}){Object.assign(this,e)}};(0,it.__decorate)([r8({type:I.Integer})],n8.prototype,"version",void 0),(0,it.__decorate)([r8({type:n4})],n8.prototype,"fieldID",void 0),(0,it.__decorate)([r8({type:n6})],n8.prototype,"curve",void 0),(0,it.__decorate)([r8({type:class extends rR{}})],n8.prototype,"base",void 0),(0,it.__decorate)([r8({type:I.Integer,converter:rO})],n8.prototype,"order",void 0),(0,it.__decorate)([r8({type:I.Integer,optional:!0})],n8.prototype,"cofactor",void 0),n8=(0,it.__decorate)([r6({type:E.Sequence})],n8);let n5=class{namedCurve;implicitCurve;specifiedCurve;constructor(e={}){Object.assign(this,e)}};(0,it.__decorate)([r8({type:I.ObjectIdentifier})],n5.prototype,"namedCurve",void 0),(0,it.__decorate)([r8({type:I.Null})],n5.prototype,"implicitCurve",void 0),(0,it.__decorate)([r8({type:n8})],n5.prototype,"specifiedCurve",void 0),n5=(0,it.__decorate)([r6({type:E.Choice})],n5);class n9{version=1;privateKey=new rR;parameters;publicKey;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.Integer})],n9.prototype,"version",void 0),(0,it.__decorate)([r8({type:rR})],n9.prototype,"privateKey",void 0),(0,it.__decorate)([r8({type:n5,context:0,optional:!0})],n9.prototype,"parameters",void 0),(0,it.__decorate)([r8({type:I.BitString,context:1,optional:!0})],n9.prototype,"publicKey",void 0);class n7{r=new ArrayBuffer(0);s=new ArrayBuffer(0);constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.Integer,converter:rO})],n7.prototype,"r",void 0),(0,it.__decorate)([r8({type:I.Integer,converter:rO})],n7.prototype,"s",void 0);let se="1.2.840.113549.1.1",st=`${se}.1`,sr=`${se}.7`,si=`${se}.9`,sa=`${se}.10`,sn=`${se}.2`,ss=`${se}.4`,so=`${se}.5`,sl=`${se}.14`,su=`${se}.11`,sc=`${se}.12`,sd=`${se}.13`,sp=`${se}.15`,sh=`${se}.16`,sm="1.3.14.3.2.26",sf="2.16.840.1.101.3.4.2.4",sg="2.16.840.1.101.3.4.2.1",sy="2.16.840.1.101.3.4.2.2",sw="2.16.840.1.101.3.4.2.3",sb=`${se}.8`;function sv(e){return new aT({algorithm:e,parameters:null})}sv("1.2.840.113549.2.2"),sv("1.2.840.113549.2.5");let sk=sv(sm);sv(sf),sv(sg),sv(sy),sv(sw),sv("2.16.840.1.101.3.4.2.5"),sv("2.16.840.1.101.3.4.2.6");let sS=new aT({algorithm:sb,parameters:ie.serialize(sk)}),sE=new aT({algorithm:si,parameters:ie.serialize(rB.toASN(new Uint8Array([218,57,163,238,94,107,75,13,50,85,191,239,149,96,24,144,175,216,7,9]).buffer))});sv(st),sv(sn),sv(ss),sv(so),sv(sp),sv(sh),sv(sc),sv(sd),sv(sp),sv(sh);class sI{hashAlgorithm=new aT(sk);maskGenAlgorithm=new aT({algorithm:sb,parameters:ie.serialize(sk)});pSourceAlgorithm=new aT(sE);constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:aT,context:0,defaultValue:sk})],sI.prototype,"hashAlgorithm",void 0),(0,it.__decorate)([r8({type:aT,context:1,defaultValue:sS})],sI.prototype,"maskGenAlgorithm",void 0),(0,it.__decorate)([r8({type:aT,context:2,defaultValue:sE})],sI.prototype,"pSourceAlgorithm",void 0),new aT({algorithm:sr,parameters:ie.serialize(new sI)});class sx{hashAlgorithm=new aT(sk);maskGenAlgorithm=new aT({algorithm:sb,parameters:ie.serialize(sk)});saltLength=20;trailerField=1;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:aT,context:0,defaultValue:sk})],sx.prototype,"hashAlgorithm",void 0),(0,it.__decorate)([r8({type:aT,context:1,defaultValue:sS})],sx.prototype,"maskGenAlgorithm",void 0),(0,it.__decorate)([r8({type:I.Integer,context:2,defaultValue:20})],sx.prototype,"saltLength",void 0),(0,it.__decorate)([r8({type:I.Integer,context:3,defaultValue:1})],sx.prototype,"trailerField",void 0),new aT({algorithm:sa,parameters:ie.serialize(new sx)});class sA{digestAlgorithm=new aT;digest=new rR;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:aT})],sA.prototype,"digestAlgorithm",void 0),(0,it.__decorate)([r8({type:rR})],sA.prototype,"digest",void 0);class s_{prime=new ArrayBuffer(0);exponent=new ArrayBuffer(0);coefficient=new ArrayBuffer(0);constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.Integer,converter:rO})],s_.prototype,"prime",void 0),(0,it.__decorate)([r8({type:I.Integer,converter:rO})],s_.prototype,"exponent",void 0),(0,it.__decorate)([r8({type:I.Integer,converter:rO})],s_.prototype,"coefficient",void 0);let sC=el=class extends ir{constructor(e){super(e),Object.setPrototypeOf(this,el.prototype)}};sC=el=(0,it.__decorate)([r6({type:E.Sequence,itemType:s_})],sC);class sR{version=0;modulus=new ArrayBuffer(0);publicExponent=new ArrayBuffer(0);privateExponent=new ArrayBuffer(0);prime1=new ArrayBuffer(0);prime2=new ArrayBuffer(0);exponent1=new ArrayBuffer(0);exponent2=new ArrayBuffer(0);coefficient=new ArrayBuffer(0);otherPrimeInfos;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.Integer})],sR.prototype,"version",void 0),(0,it.__decorate)([r8({type:I.Integer,converter:rO})],sR.prototype,"modulus",void 0),(0,it.__decorate)([r8({type:I.Integer,converter:rO})],sR.prototype,"publicExponent",void 0),(0,it.__decorate)([r8({type:I.Integer,converter:rO})],sR.prototype,"privateExponent",void 0),(0,it.__decorate)([r8({type:I.Integer,converter:rO})],sR.prototype,"prime1",void 0),(0,it.__decorate)([r8({type:I.Integer,converter:rO})],sR.prototype,"prime2",void 0),(0,it.__decorate)([r8({type:I.Integer,converter:rO})],sR.prototype,"exponent1",void 0),(0,it.__decorate)([r8({type:I.Integer,converter:rO})],sR.prototype,"exponent2",void 0),(0,it.__decorate)([r8({type:I.Integer,converter:rO})],sR.prototype,"coefficient",void 0),(0,it.__decorate)([r8({type:sC,optional:!0})],sR.prototype,"otherPrimeInfos",void 0);class sT{modulus=new ArrayBuffer(0);publicExponent=new ArrayBuffer(0);constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.Integer,converter:rO})],sT.prototype,"modulus",void 0),(0,it.__decorate)([r8({type:I.Integer,converter:rO})],sT.prototype,"publicExponent",void 0),(h=eu||(eu={}))[h.Transient=0]="Transient",h[h.Singleton=1]="Singleton",h[h.ResolutionScoped=2]="ResolutionScoped",h[h.ContainerScoped=3]="ContainerScoped";let sD=eu;var sN=function(e,t){return(sN=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};function sO(e,t){function r(){this.constructor=e}sN(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}function sP(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],i=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function s$(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var i,a,n=r.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(e){a={error:e}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(a)throw a.error}}return s}function sU(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(s$(arguments[t]));return e}var sB=function(){function e(e){this.wrap=e,this.reflectMethods=["get","getPrototypeOf","setPrototypeOf","getOwnPropertyDescriptor","defineProperty","has","set","deleteProperty","apply","construct","ownKeys"]}return e.prototype.createProxy=function(e){var t,r=this,i=!1;return new Proxy({},this.createHandler(function(){return i||(t=e(r.wrap()),i=!0),t}))},e.prototype.createHandler=function(e){var t={};return this.reflectMethods.forEach(function(r){t[r]=function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];return t[0]=e(),Reflect[r].apply(void 0,sU(t))}}),t},e}();function sj(e){return"string"==typeof e||"symbol"==typeof e}function sL(e){return"object"==typeof e&&"token"in e&&"transform"in e}function sq(e){return!!e.useClass}function sM(e){return!!e.useFactory}function sF(e){return!!e.useToken}function sK(e){return void 0!=e.useValue}var sV=function(){function e(){this._registryMap=new Map}return e.prototype.entries=function(){return this._registryMap.entries()},e.prototype.getAll=function(e){return this.ensure(e),this._registryMap.get(e)},e.prototype.get=function(e){this.ensure(e);var t=this._registryMap.get(e);return t[t.length-1]||null},e.prototype.set=function(e,t){this.ensure(e),this._registryMap.get(e).push(t)},e.prototype.setAll=function(e,t){this._registryMap.set(e,t)},e.prototype.has=function(e){return this.ensure(e),this._registryMap.get(e).length>0},e.prototype.clear=function(){this._registryMap.clear()},e.prototype.ensure=function(e){this._registryMap.has(e)||this._registryMap.set(e,[])},e}(),sG=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return sO(t,e),t}(sV);let sH=function(){this.scopedResolutions=new Map};var sW=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return sO(t,e),t}(sV),sJ=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return sO(t,e),t}(sV);let sz=function(){this.preResolution=new sW,this.postResolution=new sJ};var sZ=new Map,sY=new(function(){function e(e){this.parent=e,this._registry=new sG,this.interceptors=new sz,this.disposed=!1,this.disposables=new Set}return e.prototype.register=function(e,t,r){if(void 0===r&&(r={lifecycle:sD.Transient}),this.ensureNotDisposed(),i=sq(t)||sK(t)||sF(t)||sM(t)?t:{useClass:t},sF(i))for(var i,a=[e],n=i;null!=n;){var s=n.useToken;if(a.includes(s))throw Error("Token registration cycle detected! "+sU(a,[s]).join(" -> "));a.push(s);var o=this._registry.get(s);n=o&&sF(o.provider)?o.provider:null}if((r.lifecycle===sD.Singleton||r.lifecycle==sD.ContainerScoped||r.lifecycle==sD.ResolutionScoped)&&(sK(i)||sM(i)))throw Error('Cannot use lifecycle "'+sD[r.lifecycle]+'" with ValueProviders or FactoryProviders');return this._registry.set(e,{provider:i,options:r}),this},e.prototype.registerType=function(e,t){return(this.ensureNotDisposed(),sj(t))?this.register(e,{useToken:t}):this.register(e,{useClass:t})},e.prototype.registerInstance=function(e,t){return this.ensureNotDisposed(),this.register(e,{useValue:t})},e.prototype.registerSingleton=function(e,t){if(this.ensureNotDisposed(),sj(e)){if(sj(t))return this.register(e,{useToken:t},{lifecycle:sD.Singleton});if(t)return this.register(e,{useClass:t},{lifecycle:sD.Singleton});throw Error('Cannot register a type name as a singleton without a "to" token')}var r=e;return t&&!sj(t)&&(r=t),this.register(e,{useClass:r},{lifecycle:sD.Singleton})},e.prototype.resolve=function(e,t,r){void 0===t&&(t=new sH),void 0===r&&(r=!1),this.ensureNotDisposed();var i=this.getRegistration(e);if(!i&&sj(e)){if(r)return;throw Error('Attempted to resolve unregistered dependency token: "'+e.toString()+'"')}if(this.executePreResolutionInterceptor(e,"Single"),i){var a=this.resolveRegistration(i,t);return this.executePostResolutionInterceptor(e,a,"Single"),a}if("function"==typeof e||e instanceof sB){var a=this.construct(e,t);return this.executePostResolutionInterceptor(e,a,"Single"),a}throw Error("Attempted to construct an undefined constructor. Could mean a circular dependency problem. Try using `delay` function.")},e.prototype.executePreResolutionInterceptor=function(e,t){var r,i;if(this.interceptors.preResolution.has(e)){var a=[];try{for(var n=sP(this.interceptors.preResolution.getAll(e)),s=n.next();!s.done;s=n.next()){var o=s.value;"Once"!=o.options.frequency&&a.push(o),o.callback(e,t)}}catch(e){r={error:e}}finally{try{s&&!s.done&&(i=n.return)&&i.call(n)}finally{if(r)throw r.error}}this.interceptors.preResolution.setAll(e,a)}},e.prototype.executePostResolutionInterceptor=function(e,t,r){var i,a;if(this.interceptors.postResolution.has(e)){var n=[];try{for(var s=sP(this.interceptors.postResolution.getAll(e)),o=s.next();!o.done;o=s.next()){var l=o.value;"Once"!=l.options.frequency&&n.push(l),l.callback(e,t,r)}}catch(e){i={error:e}}finally{try{o&&!o.done&&(a=s.return)&&a.call(s)}finally{if(i)throw i.error}}this.interceptors.postResolution.setAll(e,n)}},e.prototype.resolveRegistration=function(e,t){if(this.ensureNotDisposed(),e.options.lifecycle===sD.ResolutionScoped&&t.scopedResolutions.has(e))return t.scopedResolutions.get(e);var r,i=e.options.lifecycle===sD.Singleton,a=e.options.lifecycle===sD.ContainerScoped,n=i||a;return r=sK(e.provider)?e.provider.useValue:sF(e.provider)?n?e.instance||(e.instance=this.resolve(e.provider.useToken,t)):this.resolve(e.provider.useToken,t):sq(e.provider)?n?e.instance||(e.instance=this.construct(e.provider.useClass,t)):this.construct(e.provider.useClass,t):sM(e.provider)?e.provider.useFactory(this):this.construct(e.provider,t),e.options.lifecycle===sD.ResolutionScoped&&t.scopedResolutions.set(e,r),r},e.prototype.resolveAll=function(e,t,r){var i=this;void 0===t&&(t=new sH),void 0===r&&(r=!1),this.ensureNotDisposed();var a=this.getAllRegistrations(e);if(!a&&sj(e)){if(r)return[];throw Error('Attempted to resolve unregistered dependency token: "'+e.toString()+'"')}if(this.executePreResolutionInterceptor(e,"All"),a){var n=a.map(function(e){return i.resolveRegistration(e,t)});return this.executePostResolutionInterceptor(e,n,"All"),n}var s=[this.construct(e,t)];return this.executePostResolutionInterceptor(e,s,"All"),s},e.prototype.isRegistered=function(e,t){return void 0===t&&(t=!1),this.ensureNotDisposed(),this._registry.has(e)||t&&(this.parent||!1)&&this.parent.isRegistered(e,!0)},e.prototype.reset=function(){this.ensureNotDisposed(),this._registry.clear(),this.interceptors.preResolution.clear(),this.interceptors.postResolution.clear()},e.prototype.clearInstances=function(){var e,t;this.ensureNotDisposed();try{for(var r=sP(this._registry.entries()),i=r.next();!i.done;i=r.next()){var a=s$(i.value,2),n=a[0],s=a[1];this._registry.setAll(n,s.filter(function(e){return!sK(e.provider)}).map(function(e){return e.instance=void 0,e}))}}catch(t){e={error:t}}finally{try{i&&!i.done&&(t=r.return)&&t.call(r)}finally{if(e)throw e.error}}},e.prototype.createChildContainer=function(){this.ensureNotDisposed();var t,r,i=new e(this);try{for(var a=sP(this._registry.entries()),n=a.next();!n.done;n=a.next()){var s=s$(n.value,2),o=s[0],l=s[1];l.some(function(e){return e.options.lifecycle===sD.ContainerScoped})&&i._registry.setAll(o,l.map(function(e){return e.options.lifecycle===sD.ContainerScoped?{provider:e.provider,options:e.options}:e}))}}catch(e){t={error:e}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}return i},e.prototype.beforeResolution=function(e,t,r){void 0===r&&(r={frequency:"Always"}),this.interceptors.preResolution.set(e,{callback:t,options:r})},e.prototype.afterResolution=function(e,t,r){void 0===r&&(r={frequency:"Always"}),this.interceptors.postResolution.set(e,{callback:t,options:r})},e.prototype.dispose=function(){var e,t,r,i;return e=this,t=void 0,r=void 0,i=function(){var e;return function(e,t){var r,i,a,n,s={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return n={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function o(n){return function(o){var l=[n,o];if(r)throw TypeError("Generator is already executing.");for(;s;)try{if(r=1,i&&(a=2&l[0]?i.return:l[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,l[1])).done)return a;switch(i=0,a&&(l=[2&l[0],a.value]),l[0]){case 0:case 1:a=l;break;case 4:return s.label++,{value:l[1],done:!1};case 5:s.label++,i=l[1],l=[0];continue;case 7:l=s.ops.pop(),s.trys.pop();continue;default:if(!(a=(a=s.trys).length>0&&a[a.length-1])&&(6===l[0]||2===l[0])){s=0;continue}if(3===l[0]&&(!a||l[1]>a[0]&&l[1]<a[3])){s.label=l[1];break}if(6===l[0]&&s.label<a[1]){s.label=a[1],a=l;break}if(a&&s.label<a[2]){s.label=a[2],s.ops.push(l);break}a[2]&&s.ops.pop(),s.trys.pop();continue}l=t.call(e,s)}catch(e){l=[6,e],i=0}finally{r=a=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}(this,function(t){switch(t.label){case 0:return this.disposed=!0,e=[],this.disposables.forEach(function(t){var r=t.dispose();r&&e.push(r)}),[4,Promise.all(e)];case 1:return t.sent(),[2]}})},new(r||(r=Promise))(function(a,n){function s(e){try{l(i.next(e))}catch(e){n(e)}}function o(e){try{l(i.throw(e))}catch(e){n(e)}}function l(e){var t;e.done?a(e.value):((t=e.value)instanceof r?t:new r(function(e){e(t)})).then(s,o)}l((i=i.apply(e,t||[])).next())})},e.prototype.getRegistration=function(e){return this.isRegistered(e)?this._registry.get(e):this.parent?this.parent.getRegistration(e):null},e.prototype.getAllRegistrations=function(e){return this.isRegistered(e)?this._registry.getAll(e):this.parent?this.parent.getAllRegistrations(e):null},e.prototype.construct=function(e,t){var r=this;if(e instanceof sB)return e.createProxy(function(e){return r.resolve(e,t)});var i=function(){var i=sZ.get(e);if(!i||0===i.length)if(0===e.length)return new e;else throw Error('TypeInfo not known for "'+e.name+'"');var a=i.map(r.resolveParams(t,e));return new(e.bind.apply(e,sU([void 0],a)))}();return"function"!=typeof i.dispose||i.dispose.length>0||this.disposables.add(i),i},e.prototype.resolveParams=function(e,t){var r=this;return function(i,a){var n,s,o,l,u,c,d;try{if("object"==typeof i&&"token"in i&&"multiple"in i)if(sL(i))return i.multiple?(n=r.resolve(i.transform)).transform.apply(n,sU([r.resolveAll(i.token,new sH,i.isOptional)],i.transformArgs)):(s=r.resolve(i.transform)).transform.apply(s,sU([r.resolve(i.token,e,i.isOptional)],i.transformArgs));else return i.multiple?r.resolveAll(i.token,new sH,i.isOptional):r.resolve(i.token,e,i.isOptional);if(sL(i))return(o=r.resolve(i.transform,e)).transform.apply(o,sU([r.resolve(i.token,e)],i.transformArgs));return r.resolve(i,e)}catch(e){throw Error((c="Cannot inject the dependency "+(u=void 0===(l=s$(t.toString().match(/constructor\(([\w, ]+)\)/)||[],2)[1])?null:l,null===u?"at position #"+a:'"'+u.split(",")[a].trim()+'" at position #'+a)+' of "'+t.name+'" constructor. Reason:',void 0===d&&(d=" "),sU([c],e.message.split("\n").map(function(e){return d+e})).join("\n")))}}},e.prototype.ensureNotDisposed=function(){if(this.disposed)throw Error("This container has been disposed, you cannot interact with a disposed container")},e}());let sQ=function(e){return function(t){var r,i;sZ.set(t,(r=Reflect.getMetadata("design:paramtypes",t)||[],Object.keys(i=Reflect.getOwnMetadata("injectionTokens",t)||{}).forEach(function(e){r[+e]=i[e]}),r)),e&&e.token&&(Array.isArray(e.token)?e.token.forEach(function(e){sY.register(e,t)}):sY.register(e.token,t))}};if("u"<typeof Reflect||!Reflect.getMetadata)throw Error("tsyringe requires a reflect polyfill. Please add 'import \"reflect-metadata\"' to the top of your entry point.");class sX{attrId="";attrValues=[];constructor(e={}){Object.assign(e)}}(0,it.__decorate)([r8({type:I.ObjectIdentifier})],sX.prototype,"attrId",void 0),(0,it.__decorate)([r8({type:I.Any,repeated:"set"})],sX.prototype,"attrValues",void 0);let s0=ec=class extends ir{constructor(e){super(e),Object.setPrototypeOf(this,ec.prototype)}};s0=ec=(0,it.__decorate)([r6({type:E.Sequence,itemType:sX})],s0);let s1=ed=class extends ir{constructor(e){super(e),Object.setPrototypeOf(this,ed.prototype)}};s1=ed=(0,it.__decorate)([r6({type:E.Sequence,itemType:nf})],s1);class s2{certId="";certValue=new ArrayBuffer(0);constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.ObjectIdentifier})],s2.prototype,"certId",void 0),(0,it.__decorate)([r8({type:I.Any,context:0})],s2.prototype,"certValue",void 0);class s3{crlId="";crltValue=new ArrayBuffer(0);constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.ObjectIdentifier})],s3.prototype,"crlId",void 0),(0,it.__decorate)([r8({type:I.Any,context:0})],s3.prototype,"crltValue",void 0);class s4 extends rR{}class s6{encryptionAlgorithm=new aT;encryptedData=new s4;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:aT})],s6.prototype,"encryptionAlgorithm",void 0),(0,it.__decorate)([r8({type:s4})],s6.prototype,"encryptedData",void 0),(m=eh||(eh={}))[m.v1=0]="v1";class s8 extends rR{}let s5=ep=class extends ir{constructor(e){super(e),Object.setPrototypeOf(this,ep.prototype)}};s5=ep=(0,it.__decorate)([r6({type:E.Sequence,itemType:aS})],s5);class s9{version=eh.v1;privateKeyAlgorithm=new aT;privateKey=new s8;attributes;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.Integer})],s9.prototype,"version",void 0),(0,it.__decorate)([r8({type:aT})],s9.prototype,"privateKeyAlgorithm",void 0),(0,it.__decorate)([r8({type:s8})],s9.prototype,"privateKey",void 0),(0,it.__decorate)([r8({type:s5,implicit:!0,context:0,optional:!0})],s9.prototype,"attributes",void 0);let s7=class extends s9{};s7=(0,it.__decorate)([r6({type:E.Sequence})],s7);let oe=class extends s6{};oe=(0,it.__decorate)([r6({type:E.Sequence})],oe);class ot{secretTypeId="";secretValue=new ArrayBuffer(0);constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.ObjectIdentifier})],ot.prototype,"secretTypeId",void 0),(0,it.__decorate)([r8({type:I.Any,context:0})],ot.prototype,"secretValue",void 0);class or{mac=new sA;macSalt=new rR;iterations=1;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:sA})],or.prototype,"mac",void 0),(0,it.__decorate)([r8({type:rR})],or.prototype,"macSalt",void 0),(0,it.__decorate)([r8({type:I.Integer,defaultValue:1})],or.prototype,"iterations",void 0);class oi{version=3;authSafe=new nf;macData=new or;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.Integer})],oi.prototype,"version",void 0),(0,it.__decorate)([r8({type:nf})],oi.prototype,"authSafe",void 0),(0,it.__decorate)([r8({type:or,optional:!0})],oi.prototype,"macData",void 0);class oa{bagId="";bagValue=new ArrayBuffer(0);bagAttributes;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.ObjectIdentifier})],oa.prototype,"bagId",void 0),(0,it.__decorate)([r8({type:I.Any,context:0})],oa.prototype,"bagValue",void 0),(0,it.__decorate)([r8({type:sX,repeated:"set",optional:!0})],oa.prototype,"bagAttributes",void 0);let on=em=class extends ir{constructor(e){super(e),Object.setPrototypeOf(this,em.prototype)}};on=em=(0,it.__decorate)([r6({type:E.Sequence,itemType:oa})],on);let os="1.2.840.113549.1.9",oo=`${os}.7`,ol=`${os}.14`,ou=class extends iw{ia5String;constructor(e={}){super(e)}toString(){return({}).toString(),this.ia5String||super.toString()}};(0,it.__decorate)([r8({type:I.IA5String})],ou.prototype,"ia5String",void 0),ou=(0,it.__decorate)([r6({type:E.Choice})],ou);let oc=class extends nf{};oc=(0,it.__decorate)([r6({type:E.Sequence})],oc);let od=class extends oi{};od=(0,it.__decorate)([r6({type:E.Sequence})],od);let op=class extends s6{};op=(0,it.__decorate)([r6({type:E.Sequence})],op);let oh=class{value;constructor(e=""){this.value=e}toString(){return this.value}};(0,it.__decorate)([r8({type:I.IA5String})],oh.prototype,"value",void 0),oh=(0,it.__decorate)([r6({type:E.Choice})],oh);let om=class extends ou{};om=(0,it.__decorate)([r6({type:E.Choice})],om);let of=class extends iw{};of=(0,it.__decorate)([r6({type:E.Choice})],of);let og=class{value;constructor(e=new Date){this.value=e}};(0,it.__decorate)([r8({type:I.GeneralizedTime})],og.prototype,"value",void 0),og=(0,it.__decorate)([r6({type:E.Choice})],og);let oy=class extends iw{};oy=(0,it.__decorate)([r6({type:E.Choice})],oy);let ow=class{value;constructor(e="M"){this.value=e}toString(){return this.value}};(0,it.__decorate)([r8({type:I.PrintableString})],ow.prototype,"value",void 0),ow=(0,it.__decorate)([r6({type:E.Choice})],ow);let ob=class{value;constructor(e=""){this.value=e}toString(){return this.value}};(0,it.__decorate)([r8({type:I.PrintableString})],ob.prototype,"value",void 0),ob=(0,it.__decorate)([r6({type:E.Choice})],ob);let ov=class extends ob{};ov=(0,it.__decorate)([r6({type:E.Choice})],ov);let ok=class extends iw{};ok=(0,it.__decorate)([r6({type:E.Choice})],ok);let oS=class{value;constructor(e=""){this.value=e}toString(){return this.value}};(0,it.__decorate)([r8({type:I.ObjectIdentifier})],oS.prototype,"value",void 0),oS=(0,it.__decorate)([r6({type:E.Choice})],oS);let oE=class extends aN{};oE=(0,it.__decorate)([r6({type:E.Choice})],oE);let oI=class{value;constructor(e=0){this.value=e}toString(){return this.value.toString()}};(0,it.__decorate)([r8({type:I.Integer})],oI.prototype,"value",void 0),oI=(0,it.__decorate)([r6({type:E.Choice})],oI);let ox=class extends aZ{};ox=(0,it.__decorate)([r6({type:E.Sequence})],ox);let oA=class extends iw{};oA=(0,it.__decorate)([r6({type:E.Choice})],oA);let o_=ef=class extends a${constructor(e){super(e),Object.setPrototypeOf(this,ef.prototype)}};o_=ef=(0,it.__decorate)([r6({type:E.Sequence})],o_);let oC=eg=class extends ir{constructor(e){super(e),Object.setPrototypeOf(this,eg.prototype)}};oC=eg=(0,it.__decorate)([r6({type:E.Set,itemType:az})],oC);let oR=class{value;constructor(e=""){this.value=e}toString(){return this.value}};(0,it.__decorate)([r8({type:I.BmpString})],oR.prototype,"value",void 0),oR=(0,it.__decorate)([r6({type:E.Choice})],oR);let oT=class extends aT{};oT=(0,it.__decorate)([r6({type:E.Sequence})],oT);let oD=ey=class extends ir{constructor(e){super(e),Object.setPrototypeOf(this,ey.prototype)}};oD=ey=(0,it.__decorate)([r6({type:E.Sequence,itemType:oT})],oD);let oN=ew=class extends ir{constructor(e){super(e),Object.setPrototypeOf(this,ew.prototype)}};oN=ew=(0,it.__decorate)([r6({type:E.Sequence,itemType:aS})],oN);class oO{version=0;subject=new iE;subjectPKInfo=new aD;attributes=new oN;constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:I.Integer})],oO.prototype,"version",void 0),(0,it.__decorate)([r8({type:iE})],oO.prototype,"subject",void 0),(0,it.__decorate)([r8({type:aD})],oO.prototype,"subjectPKInfo",void 0),(0,it.__decorate)([r8({type:oN,implicit:!0,context:0,optional:!0})],oO.prototype,"attributes",void 0);class oP{certificationRequestInfo=new oO;certificationRequestInfoRaw;signatureAlgorithm=new aT;signature=new ArrayBuffer(0);constructor(e={}){Object.assign(this,e)}}(0,it.__decorate)([r8({type:oO,raw:!0})],oP.prototype,"certificationRequestInfo",void 0),(0,it.__decorate)([r8({type:aT})],oP.prototype,"signatureAlgorithm",void 0),(0,it.__decorate)([r8({type:I.BitString})],oP.prototype,"signature",void 0);let o$="crypto.algorithm",oU="crypto.algorithmProvider";sY.registerSingleton(oU,class{getAlgorithms(){return sY.resolveAll(o$)}toAsnAlgorithm(e){let t={...e};for(let e of(t.hash&&"string"==typeof t.hash&&(t.hash={name:t.hash}),this.getAlgorithms())){let r=e.toAsnAlgorithm(t);if(r)return r}if(/^[0-9.]+$/.test(e.name)){let t=new aT({algorithm:e.name});return"parameters"in e&&(t.parameters=e.parameters),t}throw Error("Cannot convert WebCrypto algorithm to ASN.1 algorithm")}toWebAlgorithm(e){for(let t of this.getAlgorithms()){let r=t.toWebAlgorithm(e);if(r)return r}return{name:e.algorithm,parameters:e.parameters}}});let oB="1.3.36.3.3.2.8.1.1",oj=`${oB}.1`,oL=`${oB}.2`,oq=`${oB}.3`,oM=`${oB}.4`,oF=`${oB}.5`,oK=`${oB}.6`,oV=`${oB}.7`,oG=`${oB}.8`,oH=`${oB}.9`,oW=`${oB}.10`,oJ=`${oB}.11`,oz=`${oB}.12`,oZ=`${oB}.13`,oY=`${oB}.14`,oQ="brainpoolP160r1",oX="brainpoolP160t1",o0="brainpoolP192r1",o1="brainpoolP192t1",o2="brainpoolP224r1",o3="brainpoolP224t1",o4="brainpoolP256r1",o6="brainpoolP256t1",o8="brainpoolP320r1",o5="brainpoolP320t1",o9="brainpoolP384r1",o7="brainpoolP384t1",le="brainpoolP512r1",lt="brainpoolP512t1",lr="ECDSA",li=eb=class{toAsnAlgorithm(e){if(e.name.toLowerCase()===lr.toLowerCase()){if("hash"in e)switch(("string"==typeof e.hash?e.hash:e.hash.name).toLowerCase()){case"sha-1":return n0;case"sha-256":return n1;case"sha-384":return n2;case"sha-512":return n3}else if("namedCurve"in e){let t="";switch(e.namedCurve){case"P-256":t=nZ;break;case"K-256":t=eb.SECP256K1;break;case"P-384":t=nY;break;case"P-521":t=nQ;break;case oQ:t=oj;break;case oX:t=oL;break;case o0:t=oq;break;case o1:t=oM;break;case o2:t=oF;break;case o3:t=oK;break;case o4:t=oV;break;case o6:t=oG;break;case o8:t=oH;break;case o5:t=oW;break;case o9:t=oJ;break;case o7:t=oz;break;case le:t=oZ;break;case lt:t=oY}if(t)return new aT({algorithm:nV,parameters:ie.serialize(new n5({namedCurve:t}))})}}return null}toWebAlgorithm(e){switch(e.algorithm){case nG:return{name:lr,hash:{name:"SHA-1"}};case nW:return{name:lr,hash:{name:"SHA-256"}};case nJ:return{name:lr,hash:{name:"SHA-384"}};case nz:return{name:lr,hash:{name:"SHA-512"}};case nV:if(!e.parameters)throw TypeError("Cannot get required parameters from EC algorithm");switch(ie.parse(e.parameters,n5).namedCurve){case nZ:return{name:lr,namedCurve:"P-256"};case eb.SECP256K1:return{name:lr,namedCurve:"K-256"};case nY:return{name:lr,namedCurve:"P-384"};case nQ:return{name:lr,namedCurve:"P-521"};case oj:return{name:lr,namedCurve:oQ};case oL:return{name:lr,namedCurve:oX};case oq:return{name:lr,namedCurve:o0};case oM:return{name:lr,namedCurve:o1};case oF:return{name:lr,namedCurve:o2};case oK:return{name:lr,namedCurve:o3};case oV:return{name:lr,namedCurve:o4};case oG:return{name:lr,namedCurve:o6};case oH:return{name:lr,namedCurve:o8};case oW:return{name:lr,namedCurve:o5};case oJ:return{name:lr,namedCurve:o9};case oz:return{name:lr,namedCurve:o7};case oZ:return{name:lr,namedCurve:le};case oY:return{name:lr,namedCurve:lt}}}return null}};li.SECP256K1="1.3.132.0.10",li=eb=(0,it.__decorate)([sQ()],li),sY.registerSingleton(o$,li);let la=Symbol("name"),ln=Symbol("value");class ls{constructor(e,t={},r=""){for(const i in this[la]=e,this[ln]=r,t)this[i]=t[i]}}ls.NAME=la,ls.VALUE=ln;class lo{static toString(e){let t=this.items[e];return t||e}}lo.items={[sm]:"sha1",[sf]:"sha224",[sg]:"sha256",[sy]:"sha384",[sw]:"sha512",[st]:"rsaEncryption",[so]:"sha1WithRSAEncryption",[sl]:"sha224WithRSAEncryption",[su]:"sha256WithRSAEncryption",[sc]:"sha384WithRSAEncryption",[sd]:"sha512WithRSAEncryption",[nV]:"ecPublicKey",[nG]:"ecdsaWithSHA1",[nH]:"ecdsaWithSHA224",[nW]:"ecdsaWithSHA256",[nJ]:"ecdsaWithSHA384",[nz]:"ecdsaWithSHA512",[ar]:"TLS WWW server authentication",[ai]:"TLS WWW client authentication",[aa]:"Code Signing",[an]:"E-mail Protection",[as]:"Time Stamping",[ao]:"OCSP Signing","1.2.840.113549.1.7.2":"Signed Data"};class ll{static serialize(e){return this.serializeObj(e).join("\n")}static pad(e=0){return"".padStart(2*e," ")}static serializeObj(e,t=0){let r=[],i=this.pad(t++),a="",n=e[ls.VALUE];for(let s in n&&(a=` ${n}`),r.push(`${i}${e[ls.NAME]}:${a}`),i=this.pad(t),e){if("symbol"==typeof s)continue;let a=e[s],n=s?`${s}: `:"";if("string"==typeof a||"number"==typeof a||"boolean"==typeof a)r.push(`${i}${n}${a}`);else if(a instanceof Date)r.push(`${i}${n}${a.toUTCString()}`);else if(Array.isArray(a))for(let e of a)e[ls.NAME]=s,r.push(...this.serializeObj(e,t));else if(a instanceof ls)a[ls.NAME]=s,r.push(...this.serializeObj(a,t));else if(eV.isBufferSource(a))s?(r.push(`${i}${n}`),r.push(...this.serializeBufferSource(a,t+1))):r.push(...this.serializeBufferSource(a,t));else if("toTextObject"in a){let e=a.toTextObject();e[ls.NAME]=s,r.push(...this.serializeObj(e,t))}else throw TypeError("Cannot serialize data in text format. Unsupported type.")}return r}static serializeBufferSource(e,t=0){let r=this.pad(t),i=eV.toUint8Array(e),a=[];for(let e=0;e<i.length;){let t=[];for(let r=0;r<16&&e<i.length;r++){8===r&&t.push("");let a=i[e++].toString(16).padStart(2,"0");t.push(a)}a.push(`${r}${t.join(" ")}`)}return a}static serializeAlgorithm(e){return this.algorithmSerializer.toTextObject(e)}}ll.oidSerializer=lo,ll.algorithmSerializer=class{static toTextObject(e){let t=new ls("Algorithm Identifier",{},lo.toString(e.algorithm));if(e.parameters)if(e.algorithm===nV){let r=new li().toWebAlgorithm(e);r&&"namedCurve"in r?t["Named Curve"]=r.namedCurve:t.Parameters=e.parameters}else t.Parameters=e.parameters;return t}};class lu{get rawData(){return(0,it.__classPrivateFieldGet)(this,ev,"f")||(0,it.__classPrivateFieldSet)(this,ev,ie.serialize(this.asn),"f"),(0,it.__classPrivateFieldGet)(this,ev,"f")}constructor(...e){ev.set(this,void 0),eV.isBufferSource(e[0])?(this.asn=ie.parse(e[0],e[1]),(0,it.__classPrivateFieldSet)(this,ev,eV.toArrayBuffer(e[0]),"f")):this.asn=e[0],this.onInit(this.asn)}equal(e){return e instanceof lu&&function(e,t){if(!(e&&t)||e.byteLength!==t.byteLength)return!1;let r=new Uint8Array(e),i=new Uint8Array(t);for(let t=0;t<e.byteLength;t++)if(r[t]!==i[t])return!1;return!0}(e.rawData,this.rawData)}toString(e="text"){switch(e){case"asn":return ie.toString(this.rawData);case"text":return ll.serialize(this.toTextObject());case"hex":return eY.ToHex(this.rawData);case"base64":return eY.ToBase64(this.rawData);case"base64url":return eY.ToBase64Url(this.rawData);default:throw TypeError("Argument 'format' is unsupported value")}}getTextName(){return this.constructor.NAME}toTextObject(){let e=this.toTextObjectEmpty();return e[""]=this.rawData,e}toTextObjectEmpty(e){return new ls(this.getTextName(),{},e)}}ev=new WeakMap,lu.NAME="ASN";class lc extends lu{constructor(...e){super(eV.isBufferSource(e[0])?eV.toArrayBuffer(e[0]):ie.serialize(new aP({extnID:e[0],critical:e[1],extnValue:new rR(eV.toArrayBuffer(e[2]))})),aP)}onInit(e){this.type=e.extnID,this.critical=e.critical,this.value=e.extnValue.buffer}toTextObject(){let e=this.toTextObjectWithoutValue();return e[""]=this.value,e}toTextObjectWithoutValue(){let e=this.toTextObjectEmpty(this.critical?"critical":void 0);return e[ls.NAME]===lc.NAME&&(e[ls.NAME]=lo.toString(this.type)),e}}class ld{static isCryptoKeyPair(e){return e&&e.privateKey&&e.publicKey}static isCryptoKey(e){return e&&e.usages&&e.type&&e.algorithm&&void 0!==e.extractable}constructor(){this.items=new Map,this[ek]="CryptoProvider","u">typeof self&&"u">typeof crypto?this.set(ld.DEFAULT,crypto):e.g.crypto&&e.g.crypto.subtle&&this.set(ld.DEFAULT,e.g.crypto)}clear(){this.items.clear()}delete(e){return this.items.delete(e)}forEach(e,t){return this.items.forEach(e,t)}has(e){return this.items.has(e)}get size(){return this.items.size}entries(){return this.items.entries()}keys(){return this.items.keys()}values(){return this.items.values()}[Symbol.iterator](){return this.items[Symbol.iterator]()}get(e=ld.DEFAULT){let t=this.items.get(e.toLowerCase());if(!t)throw Error(`Cannot get Crypto by name '${e}'`);return t}set(e,t){if("string"==typeof e){if(!t)throw TypeError("Argument 'value' is required");this.items.set(e.toLowerCase(),t)}else this.items.set(ld.DEFAULT,e);return this}}ek=Symbol.toStringTag,ld.DEFAULT="default";let lp=new ld,lh=/^[0-2](?:\.[1-9][0-9]*)+$/;class lm{constructor(e={}){for(const t in this.items={},e)this.register(t,e[t])}get(e){return this.items[e]||null}findId(e){return new RegExp(lh).test(e)?e:this.get(e)}register(e,t){this.items[e]=t,this.items[t]=e}}let lf=new lm;function lg(e,t){return`\\${eY.ToHex(eY.FromUtf8String(t)).toUpperCase()}`}lf.register("CN","2.5.4.3"),lf.register("L","2.5.4.7"),lf.register("ST","2.5.4.8"),lf.register("O","2.5.4.10"),lf.register("OU","2.5.4.11"),lf.register("C","2.5.4.6"),lf.register("DC","0.9.2342.19200300.100.1.25"),lf.register("E","1.2.840.113549.1.9.1"),lf.register("G","2.5.4.42"),lf.register("I","2.5.4.43"),lf.register("SN","2.5.4.4"),lf.register("T","2.5.4.12");class ly{static isASCII(e){for(let t=0;t<e.length;t++)if(e.charCodeAt(t)>255)return!1;return!0}static isPrintableString(e){return/^[A-Za-z0-9 '()+,-./:=?]*$/g.test(e)}constructor(e,t={}){for(const e in this.extraNames=new lm,this.asn=new iE,t)if(Object.prototype.hasOwnProperty.call(t,e)){const r=t[e];this.extraNames.register(e,r)}"string"==typeof e?this.asn=this.fromString(e):e instanceof iE?this.asn=e:eV.isBufferSource(e)?this.asn=ie.parse(e,iE):this.asn=this.fromJSON(e)}getField(e){let t=this.extraNames.findId(e)||lf.findId(e),r=[];for(let e of this.asn)for(let i of e)i.type===t&&r.push(i.value.toString());return r}getName(e){return this.extraNames.get(e)||lf.get(e)}toString(){return this.asn.map(e=>e.map(e=>{let t=this.getName(e.type)||e.type,r=e.value.anyValue?`#${eY.ToHex(e.value.anyValue)}`:e.value.toString().replace(/([,+"\\<>;])/g,"\\$1").replace(/^([ #])/,"\\$1").replace(/([ ]$)/,"\\$1").replace(/([\r\n\t])/,lg);return`${t}=${r}`}).join("+")).join(", ")}toJSON(){let e=[];for(let t of this.asn){let r={};for(let e of t){let t=this.getName(e.type)||e.type;null!=r[t]||(r[t]=[]),r[t].push(e.value.anyValue?`#${eY.ToHex(e.value.anyValue)}`:e.value.toString())}e.push(r)}return e}fromString(e){let t=new iE,r=/(\d\.[\d.]*\d|[A-Za-z]+)=((?:"")|(?:".*?[^\\]")|(?:[^,+"\\](?=[,+]|$))|(?:[^,+].*?(?:[^\\][,+]))|(?:))([,+])?/g,i=null,a=",";for(;i=r.exec(`${e},`);){let[,e,r]=i,n=r[r.length-1];(","===n||"+"===n)&&(r=r.slice(0,r.length-1),i[3]=n);let s=i[3];e=this.getTypeOid(e);let o=this.createAttribute(e,r);"+"===a?t[t.length-1].push(o):t.push(new ik([o])),a=s}return t}fromJSON(e){let t=new iE;for(let r of e){let e=new ik;for(let t in r){let i=this.getTypeOid(t);for(let a of r[t]){let t=this.createAttribute(i,a);e.push(t)}}t.push(e)}return t}getTypeOid(e){if(/[\d.]+/.test(e)||(e=this.getName(e)||""),!e)throw Error(`Cannot get OID for name type '${e}'`);return e}createAttribute(e,t){let r=new iv({type:e});if("object"==typeof t)for(let e in t)switch(e){case"ia5String":r.value.ia5String=t[e];break;case"utf8String":r.value.utf8String=t[e];break;case"universalString":r.value.universalString=t[e];break;case"bmpString":r.value.bmpString=t[e];break;case"printableString":r.value.printableString=t[e]}else if("#"===t[0])r.value.anyValue=eY.FromHex(t.slice(1));else{let i=this.processStringValue(t);e===this.getName("E")||e===this.getName("DC")?r.value.ia5String=i:ly.isPrintableString(i)?r.value.printableString=i:r.value.utf8String=i}return r}processStringValue(e){let t=/"(.*?[^\\])?"/.exec(e);return t&&(e=t[1]),e.replace(/\\0a/ig,"\n").replace(/\\0d/ig,"\r").replace(/\\0g/ig," ").replace(/\\(.)/g,"$1")}toArrayBuffer(){return ie.serialize(this.asn)}async getThumbprint(e,t){let r,i="SHA-1";return e&&("object"==typeof e&&"subtle"in e?r=e:(i=e,r=t)),null!=r||(r=lp.get()),await r.subtle.digest(i,this.toArrayBuffer())}}let lw="Cannot initialize GeneralName from ASN.1 data.",lb=`${lw} Unsupported string format in use.`,lv=`${lw} Value doesn't match to GUID regular expression.`,lk=/^([0-9a-f]{8})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{12})$/i,lS="1.3.6.1.4.1.311.25.1",lE="1.3.6.1.4.1.311.20.2.3",lI="email",lx="guid";class lA extends lu{constructor(...e){let t;if(2===e.length)switch(e[0]){case"dn":{const r=new ly(e[1]).toArrayBuffer(),i=ie.parse(r,iE);t=new iA({directoryName:i});break}case"dns":t=new iA({dNSName:e[1]});break;case lI:t=new iA({rfc822Name:e[1]});break;case lx:{const r=RegExp(lk,"i").exec(e[1]);if(!r)throw Error("Cannot parse GUID value. Value doesn't match to regular expression");const i=r.slice(1).map((e,t)=>t<3?eY.ToHex(new Uint8Array(eY.FromHex(e)).reverse()):e).join("");t=new iA({otherName:new iI({typeId:lS,value:ie.serialize(new rR(eY.FromHex(i)))})});break}case"ip":t=new iA({iPAddress:e[1]});break;case"id":t=new iA({registeredID:e[1]});break;case"upn":t=new iA({otherName:new iI({typeId:lE,value:ie.serialize(rL.toASN(e[1]))})});break;case"url":t=new iA({uniformResourceIdentifier:e[1]});break;default:throw Error("Cannot create GeneralName. Unsupported type of the name")}else t=eV.isBufferSource(e[0])?ie.parse(e[0],iA):e[0];super(t)}onInit(e){if(void 0!=e.dNSName)this.type="dns",this.value=e.dNSName;else if(void 0!=e.rfc822Name)this.type=lI,this.value=e.rfc822Name;else if(void 0!=e.iPAddress)this.type="ip",this.value=e.iPAddress;else if(void 0!=e.uniformResourceIdentifier)this.type="url",this.value=e.uniformResourceIdentifier;else if(void 0!=e.registeredID)this.type="id",this.value=e.registeredID;else if(void 0!=e.directoryName)this.type="dn",this.value=new ly(e.directoryName).toString();else if(void 0!=e.otherName)if(e.otherName.typeId===lS){this.type=lx;let t=ie.parse(e.otherName.value,rR),r=RegExp(lk,"i").exec(eY.ToHex(t));if(!r)throw Error(lv);this.value=r.slice(1).map((e,t)=>t<3?eY.ToHex(new Uint8Array(eY.FromHex(e)).reverse()):e).join("-")}else if(e.otherName.typeId===lE)this.type="upn",this.value=ie.parse(e.otherName.value,iw).toString();else throw Error(lb);else throw Error(lb)}toJSON(){return{type:this.type,value:this.value}}toTextObject(){let e;switch(this.type){case"dn":case"dns":case lx:case"ip":case"id":case"upn":case"url":e=this.type.toUpperCase();break;case lI:e="Email";break;default:throw Error("Unsupported GeneralName type")}let t=this.value;return"id"===this.type&&(t=lo.toString(t)),new ls(e,void 0,t)}}class l_ extends lu{constructor(e){let t;if(e instanceof iV)t=e;else if(Array.isArray(e)){const r=[];for(const t of e)if(t instanceof iA)r.push(t);else{const e=ie.parse(new lA(t.type,t.value).rawData,iA);r.push(e)}t=new iV(r)}else if(eV.isBufferSource(e))t=ie.parse(e,iV);else throw Error("Cannot initialize GeneralNames. Incorrect incoming arguments");super(t)}onInit(e){let t=[];for(let r of e){let e=null;try{e=new lA(r)}catch{continue}t.push(e)}this.items=t}toJSON(){return this.items.map(e=>e.toJSON())}toTextObject(){let e=super.toTextObjectEmpty();for(let t of this.items){let r=t.toTextObject(),i=e[r[ls.NAME]];Array.isArray(i)||(i=[],e[r[ls.NAME]]=i),i.push(r)}return e}}l_.NAME="GeneralNames";let lC="-{5}",lR=`${lC}BEGIN ([^\\n]+(?=${lC}))${lC}`,lT=`${lC}END \\1${lC}`,lD=`${lR}\\n(?:((?:[^:\\n]+: (?:[^\\n]+\\n(?: +[^\\n]+\\n)*))+))?\\n?((?:[a-zA-Z0-9=+/]+\\n)+)${lT}`,lN=RegExp("[\\n]+","g");class lO{static isPem(e){return"string"==typeof e&&RegExp(lD,"g").test(e.replace(/\r/g,""))}static decodeWithHeaders(e){e=e.replace(/\r/g,"");let t=RegExp(lD,"g"),r=[],i=null;for(;i=t.exec(e);){let e=i[3].replace(lN,""),t={type:i[1],headers:[],rawData:eY.FromBase64(e)},a=i[2];if(a){let e=a.split(RegExp("\\n","g")),r=null;for(let i of e){let[e,a]=i.split(/:(.*)/);if(void 0===a){if(!r)throw Error("Cannot parse PEM string. Incorrect header value");r.value+=e.trim()}else r&&t.headers.push(r),r={key:e,value:a.trim()}}r&&t.headers.push(r)}r.push(t)}return r}static decode(e){return this.decodeWithHeaders(e).map(e=>e.rawData)}static decodeFirst(e){let t=this.decode(e);if(!t.length)throw RangeError("PEM string doesn't contain any objects");return t[0]}static encode(e,t){if(Array.isArray(e)){let r=[];return t?e.forEach(e=>{if(!eV.isBufferSource(e))throw TypeError("Cannot encode array of BufferSource in PEM format. Not all items of the array are BufferSource");r.push(this.encodeStruct({type:t,rawData:eV.toArrayBuffer(e)}))}):e.forEach(e=>{if(!("type"in e))throw TypeError("Cannot encode array of PemStruct in PEM format. Not all items of the array are PemStrut");r.push(this.encodeStruct(e))}),r.join("\n")}if(!t)throw Error("Required argument 'tag' is missed");return this.encodeStruct({type:t,rawData:eV.toArrayBuffer(e)})}static encodeStruct(e){var t;let r=e.type.toLocaleUpperCase(),i=[];if(i.push(`-----BEGIN ${r}-----`),null==(t=e.headers)?void 0:t.length){for(let t of e.headers)i.push(`${t.key}: ${t.value}`);i.push("")}let a=eY.ToBase64(e.rawData);for(let e=0;e<a.length;e+=64)i.push(a.substring(e,e+64));return i.push(`-----END ${r}-----`),i.join("\n")}}lO.CertificateTag="CERTIFICATE",lO.CrlTag="CRL",lO.CertificateRequestTag="CERTIFICATE REQUEST",lO.PublicKeyTag="PUBLIC KEY",lO.PrivateKeyTag="PRIVATE KEY";class lP extends lu{static isAsnEncoded(e){return eV.isBufferSource(e)||"string"==typeof e}static toArrayBuffer(e){if("string"==typeof e)if(lO.isPem(e))return lO.decode(e)[0];else if(eY.isHex(e))return eY.FromHex(e);else if(eY.isBase64(e))return eY.FromBase64(e);else if(eY.isBase64Url(e))return eY.FromBase64Url(e);else throw TypeError("Unsupported format of 'raw' argument. Must be one of DER, PEM, HEX, Base64, or Base4Url");{let t=eV.toUint8Array(e);if(t.length>0&&48===t[0])return eV.toArrayBuffer(e);let r=eY.ToBinary(e);if(lO.isPem(r))return lO.decode(r)[0];if(eY.isHex(r))return eY.FromHex(r);if(eY.isBase64(r))return eY.FromBase64(r);else if(eY.isBase64Url(r))return eY.FromBase64Url(r);throw TypeError("Unsupported format of 'raw' argument. Must be one of DER, PEM, HEX, Base64, or Base4Url")}}constructor(...e){lP.isAsnEncoded(e[0])?super(lP.toArrayBuffer(e[0]),e[1]):super(e[0])}toString(e="pem"){return"pem"===e?lO.encode(this.rawData,this.tag):super.toString(e)}}class l$ extends lP{static async create(e,t=lp.get()){if(e instanceof l$)return e;if(ld.isCryptoKey(e)){if("public"!==e.type)throw TypeError("Public key is required");return new l$(await t.subtle.exportKey("spki",e))}if(e.publicKey)return e.publicKey;if(eV.isBufferSource(e))return new l$(e);throw TypeError("Unsupported PublicKeyType")}constructor(e){lP.isAsnEncoded(e)?super(e,aD):super(e),this.tag=lO.PublicKeyTag}async export(e,t,r){var i;let a,n=["verify"],s={hash:"SHA-256",...this.algorithm};t?(s=e,n=t,a=r):a=e,null!=a||(a=lp.get());let o=this.rawData,l=ie.parse(this.rawData,aD);return l.algorithm.algorithm===sa&&(i=l,i.algorithm=new aT({algorithm:st,parameters:null}),o=ie.serialize(i)),a.subtle.importKey("spki",o,s,!0,n)}onInit(e){let t=sY.resolve(oU),r=this.algorithm=t.toWebAlgorithm(e.algorithm);if(e.algorithm.algorithm===st){let t=ie.parse(e.subjectPublicKey,sT),i=eV.toUint8Array(t.modulus);r.publicExponent=eV.toUint8Array(t.publicExponent),r.modulusLength=(!i[0]?i.slice(1):i).byteLength<<3}}async getThumbprint(e,t){let r,i="SHA-1";return e&&("object"==typeof e&&"subtle"in e?r=e:(i=e,r=t)),null!=r||(r=lp.get()),await r.subtle.digest(i,this.rawData)}async getKeyIdentifier(e,t){let r,i="SHA-1";e&&("object"==typeof e&&"subtle"in e?r=e:(i=e,r=t)),null!=r||(r=lp.get());let a=ie.parse(this.rawData,aD);return await r.subtle.digest(i,a.subjectPublicKey)}toTextObject(){let e=this.toTextObjectEmpty(),t=ie.parse(this.rawData,aD);return e.Algorithm=ll.serializeAlgorithm(t.algorithm),t.algorithm.algorithm===nV?e["EC Point"]=t.subjectPublicKey:e["Raw Data"]=t.subjectPublicKey,e}}class lU extends lc{static async create(e,t=!1,r=lp.get()){if("name"in e&&"serialNumber"in e)return new lU(e,t);let i=await l$.create(e,r),a=await i.getKeyIdentifier(r);return new lU(eY.ToHex(a),t)}constructor(...e){if(eV.isBufferSource(e[0]))super(e[0]);else if("string"==typeof e[0]){const t=new iM({keyIdentifier:new iq(eY.FromHex(e[0]))});super(iL,e[1],ie.serialize(t))}else{const t=e[0],r=new iM({authorityCertIssuer:t.name instanceof l_?ie.parse(t.name.rawData,iV):t.name,authorityCertSerialNumber:eY.FromHex(t.serialNumber)});super(iL,e[1],ie.serialize(r))}}onInit(e){super.onInit(e);let t=ie.parse(e.extnValue,iM);t.keyIdentifier&&(this.keyId=eY.ToHex(t.keyIdentifier)),(t.authorityCertIssuer||t.authorityCertSerialNumber)&&(this.certId={name:t.authorityCertIssuer||[],serialNumber:t.authorityCertSerialNumber?eY.ToHex(t.authorityCertSerialNumber):""})}toTextObject(){let e=this.toTextObjectWithoutValue(),t=ie.parse(this.value,iM);return t.authorityCertIssuer&&(e["Authority Issuer"]=new l_(t.authorityCertIssuer).toTextObject()),t.authorityCertSerialNumber&&(e["Authority Serial Number"]=t.authorityCertSerialNumber),t.keyIdentifier&&(e[""]=t.keyIdentifier),e}}lU.NAME="Authority Key Identifier";class lB extends lc{constructor(...e){if(eV.isBufferSource(e[0])){super(e[0]);const t=ie.parse(this.value,iK);this.ca=t.cA,this.pathLength=t.pathLenConstraint}else{const t=new iK({cA:e[0],pathLenConstraint:e[1]});super(iF,e[2],ie.serialize(t)),this.ca=e[0],this.pathLength=e[1]}}toTextObject(){let e=this.toTextObjectWithoutValue();return this.ca&&(e.CA=this.ca),void 0!==this.pathLength&&(e["Path Length"]=this.pathLength),e}}lB.NAME="Basic Constraints",(f=eS||(eS={})).serverAuth="1.3.6.1.5.5.7.3.1",f.clientAuth="1.3.6.1.5.5.7.3.2",f.codeSigning="1.3.6.1.5.5.7.3.3",f.emailProtection="1.3.6.1.5.5.7.3.4",f.timeStamping="1.3.6.1.5.5.7.3.8",f.ocspSigning="1.3.6.1.5.5.7.3.9";class lj extends lc{constructor(...e){if(eV.isBufferSource(e[0])){super(e[0]);const t=ie.parse(this.value,at);this.usages=t.map(e=>e)}else{const t=new at(e[0]);super(ae,e[1],ie.serialize(t)),this.usages=e[0]}}toTextObject(){let e=this.toTextObjectWithoutValue();return e[""]=this.usages.map(e=>lo.toString(e)).join(", "),e}}lj.NAME="Extended Key Usages",(g=eE||(eE={}))[g.digitalSignature=1]="digitalSignature",g[g.nonRepudiation=2]="nonRepudiation",g[g.keyEncipherment=4]="keyEncipherment",g[g.dataEncipherment=8]="dataEncipherment",g[g.keyAgreement=16]="keyAgreement",g[g.keyCertSign=32]="keyCertSign",g[g.cRLSign=64]="cRLSign",g[g.encipherOnly=128]="encipherOnly",g[g.decipherOnly=256]="decipherOnly";class lL extends lc{constructor(...e){if(eV.isBufferSource(e[0])){super(e[0]);const t=ie.parse(this.value,ah);this.usages=t.toNumber()}else{const t=new ah(e[0]);super(ap,e[1],ie.serialize(t)),this.usages=e[0]}}toTextObject(){let e=this.toTextObjectWithoutValue(),t=ie.parse(this.value,ah);return e[""]=t.toJSON().join(", "),e}}lL.NAME="Key Usages";class lq extends lc{static async create(e,t=!1,r=lp.get()){let i=await l$.create(e,r),a=await i.getKeyIdentifier(r);return new lq(eY.ToHex(a),t)}constructor(...e){if(eV.isBufferSource(e[0])){super(e[0]);const t=ie.parse(this.value,ax);this.keyId=eY.ToHex(t)}else{const t="string"==typeof e[0]?eY.FromHex(e[0]):e[0],r=new ax(t);super(aI,e[1],ie.serialize(r)),this.keyId=eY.ToHex(t)}}toTextObject(){let e=this.toTextObjectWithoutValue(),t=ie.parse(this.value,ax);return e[""]=t,e}}lq.NAME="Subject Key Identifier";class lM extends lc{constructor(...e){eV.isBufferSource(e[0])?super(e[0]):super(av,e[1],new l_(e[0]||[]).rawData)}onInit(e){super.onInit(e);let t=ie.parse(e.extnValue,ak);this.names=new l_(t)}toTextObject(){let e=this.toTextObjectWithoutValue(),t=this.names.toTextObject();for(let r in t)e[r]=t[r];return e}}lM.NAME="Subject Alternative Name";class lF{static register(e,t){this.items.set(e,t)}static create(e){let t=new lc(e),r=this.items.get(t.type);return r?new r(e):t}}lF.items=new Map;class lK extends lc{constructor(...e){var t;if(eV.isBufferSource(e[0])){super(e[0]);const t=ie.parse(this.value,iX);this.policies=t.map(e=>e.policyIdentifier)}else{const r=e[0],i=null!=(t=e[1])&&t,a=new iX(r.map(e=>new iQ({policyIdentifier:e})));super(iH,i,ie.serialize(a)),this.policies=r}}toTextObject(){let e=this.toTextObjectWithoutValue();return e.Policy=this.policies.map(e=>new ls("",{},lo.toString(e))),e}}lK.NAME="Certificate Policies",lF.register(iH,lK);class lV extends lc{constructor(...e){if(eV.isBufferSource(e[0]))super(e[0]);else if(Array.isArray(e[0])&&"string"==typeof e[0][0]){const t=e[0].map(e=>new i6({distributionPoint:new i4({fullName:[new iA({uniformResourceIdentifier:e})]})})),r=new i8(t);super(i2,e[1],ie.serialize(r))}else{const t=new i8(e[0]);super(i2,e[1],ie.serialize(t))}null!=this.distributionPoints||(this.distributionPoints=[])}onInit(e){super.onInit(e);let t=ie.parse(e.extnValue,i8);this.distributionPoints=t}toTextObject(){let e=this.toTextObjectWithoutValue();return e["Distribution Point"]=this.distributionPoints.map(e=>{var t;let r=new ls("");return(null==(t=e.distributionPoint)?void 0:t.fullName)&&(r[""]=e.distributionPoint.fullName.map(e=>new lA(e).toString()).join(", ")),e.reasons&&(r.Reasons=e.reasons.toString()),e.cRLIssuer&&(r["CRL Issuer"]=e.cRLIssuer.map(e=>e.toString()).join(", ")),r}),e}}lV.NAME="CRL Distribution Points";class lG extends lc{constructor(...e){if(eV.isBufferSource(e[0]))super(e[0]);else if(e[0]instanceof ij){const t=new ij(e[0]);super(iU,e[1],ie.serialize(t))}else{const t=e[0],r=new ij;lW(r,t,iD,"ocsp"),lW(r,t,iN,"caIssuers"),lW(r,t,iO,"timeStamping"),lW(r,t,iP,"caRepository"),super(iU,e[1],ie.serialize(r))}null!=this.ocsp||(this.ocsp=[]),null!=this.caIssuers||(this.caIssuers=[]),null!=this.timeStamping||(this.timeStamping=[]),null!=this.caRepository||(this.caRepository=[])}onInit(e){super.onInit(e),this.ocsp=[],this.caIssuers=[],this.timeStamping=[],this.caRepository=[],ie.parse(e.extnValue,ij).forEach(e=>{switch(e.accessMethod){case iD:this.ocsp.push(new lA(e.accessLocation));break;case iN:this.caIssuers.push(new lA(e.accessLocation));break;case iO:this.timeStamping.push(new lA(e.accessLocation));break;case iP:this.caRepository.push(new lA(e.accessLocation))}})}toTextObject(){let e=this.toTextObjectWithoutValue();return this.ocsp.length&&lH(e,"OCSP",this.ocsp),this.caIssuers.length&&lH(e,"CA Issuers",this.caIssuers),this.timeStamping.length&&lH(e,"Time Stamping",this.timeStamping),this.caRepository.length&&lH(e,"CA Repository",this.caRepository),e}}function lH(e,t,r){if(1===r.length)e[t]=r[0].toTextObject();else{let i=new ls("");r.forEach((e,t)=>{let r=e.toTextObject(),a=`${r[ls.NAME]} ${t+1}`,n=i[a];Array.isArray(n)||(n=[],i[a]=n),n.push(r)}),e[t]=i}}function lW(e,t,r,i){let a=t[i];a&&(Array.isArray(a)?a:[a]).forEach(t=>{"string"==typeof t&&(t=new lA("url",t)),e.push(new iB({accessMethod:r,accessLocation:ie.parse(t.rawData,iA)}))})}lG.NAME="Authority Info Access";class lJ extends lc{constructor(...e){eV.isBufferSource(e[0])?super(e[0]):super(ac,e[1],new l_(e[0]||[]).rawData)}onInit(e){super.onInit(e);let t=ie.parse(e.extnValue,iV);this.names=new l_(t)}toTextObject(){let e=this.toTextObjectWithoutValue(),t=this.names.toTextObject();for(let r in t)e[r]=t[r];return e}}lJ.NAME="Issuer Alternative Name";class lz extends lu{constructor(...e){let t;if(eV.isBufferSource(e[0]))t=eV.toArrayBuffer(e[0]);else{const r=e[0],i=Array.isArray(e[1])?e[1].map(e=>eV.toArrayBuffer(e)):[];t=ie.serialize(new aS({type:r,values:i}))}super(t,aS)}onInit(e){this.type=e.type,this.values=e.values}toTextObject(){let e=this.toTextObjectWithoutValue();return e.Value=this.values.map(e=>new ls("",{"":e})),e}toTextObjectWithoutValue(){let e=this.toTextObjectEmpty();return e[ls.NAME]===lz.NAME&&(e[ls.NAME]=lo.toString(this.type)),e}}lz.NAME="Attribute";class lZ extends lz{constructor(...e){if(eV.isBufferSource(e[0]))super(e[0]);else{const t=new oA({printableString:e[0]});super(oo,[ie.serialize(t)])}null!=this.password||(this.password="")}onInit(e){if(super.onInit(e),this.values[0]){let e=ie.parse(this.values[0],oA);this.password=e.toString()}}toTextObject(){let e=this.toTextObjectWithoutValue();return e[ls.VALUE]=this.password,e}}lZ.NAME="Challenge Password";class lY extends lz{constructor(...e){if(eV.isBufferSource(e[0]))super(e[0]);else{const t=e[0],r=new a$;for(const e of t)r.push(ie.parse(e.rawData,aP));super(ol,[ie.serialize(r)])}null!=this.items||(this.items=[])}onInit(e){if(super.onInit(e),this.values[0]){let e=ie.parse(this.values[0],a$);this.items=e.map(e=>lF.create(ie.serialize(e)))}}toTextObject(){let e=this.toTextObjectWithoutValue();for(let t of this.items.map(e=>e.toTextObject()))e[t[ls.NAME]]=t;return e}}lY.NAME="Extensions";class lQ{static register(e,t){this.items.set(e,t)}static create(e){let t=new lz(e),r=this.items.get(t.type);return r?new r(e):t}}lQ.items=new Map;let lX="crypto.signatureFormatter",l0=eI=class{static createPssParams(e,t){let r=eI.getHashAlgorithm(e);return r?new sx({hashAlgorithm:r,maskGenAlgorithm:new aT({algorithm:sb,parameters:ie.serialize(r)}),saltLength:t}):null}static getHashAlgorithm(e){let t=sY.resolve(oU);return"string"==typeof e?t.toAsnAlgorithm({name:e}):"object"==typeof e&&e&&"name"in e?t.toAsnAlgorithm(e):null}toAsnAlgorithm(e){switch(e.name.toLowerCase()){case"rsassa-pkcs1-v1_5":if(!("hash"in e))return new aT({algorithm:st,parameters:null});{let t;if("string"==typeof e.hash)t=e.hash;else if(e.hash&&"object"==typeof e.hash&&"name"in e.hash&&"string"==typeof e.hash.name)t=e.hash.name.toUpperCase();else throw Error("Cannot get hash algorithm name");switch(t.toLowerCase()){case"sha-1":return new aT({algorithm:so,parameters:null});case"sha-256":return new aT({algorithm:su,parameters:null});case"sha-384":return new aT({algorithm:sc,parameters:null});case"sha-512":return new aT({algorithm:sd,parameters:null})}}break;case"rsa-pss":if(!("hash"in e))return new aT({algorithm:sa,parameters:null});{if(!("saltLength"in e&&"number"==typeof e.saltLength))throw Error("Cannot get 'saltLength' from 'alg' argument");let t=eI.createPssParams(e.hash,e.saltLength);if(!t)throw Error("Cannot create PSS parameters");return new aT({algorithm:sa,parameters:ie.serialize(t)})}}return null}toWebAlgorithm(e){switch(e.algorithm){case st:return{name:"RSASSA-PKCS1-v1_5"};case so:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-1"}};case su:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case sc:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-384"}};case sd:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-512"}};case sa:if(!e.parameters)return{name:"RSA-PSS"};{let t=ie.parse(e.parameters,sx);return{name:"RSA-PSS",hash:sY.resolve(oU).toWebAlgorithm(t.hashAlgorithm),saltLength:t.saltLength}}}return null}};l0=eI=(0,it.__decorate)([sQ()],l0),sY.registerSingleton(o$,l0);let l1=class{toAsnAlgorithm(e){switch(e.name.toLowerCase()){case"sha-1":return new aT({algorithm:sm});case"sha-256":return new aT({algorithm:sg});case"sha-384":return new aT({algorithm:sy});case"sha-512":return new aT({algorithm:sw})}return null}toWebAlgorithm(e){switch(e.algorithm){case sm:return{name:"SHA-1"};case sg:return{name:"SHA-256"};case sy:return{name:"SHA-384"};case sw:return{name:"SHA-512"}}return null}};l1=(0,it.__decorate)([sQ()],l1),sY.registerSingleton(o$,l1);class l2{addPadding(e,t){let r=eV.toUint8Array(t),i=new Uint8Array(e);return i.set(r,e-r.length),i.buffer}removePadding(e,t=!1){let r=eV.toUint8Array(e);for(let e=0;e<r.length;e++)if(r[e]){r=r.slice(e);break}if(t&&r[0]>127){let e=new Uint8Array(r.length+1);return e.set(r,1),e.buffer}return r.buffer}toAsnSignature(e,t){if("ECDSA"===e.name){let r=e.namedCurve,i=l2.namedCurveSize.get(r)||l2.defaultNamedCurveSize,a=new n7,n=eV.toUint8Array(t);return a.r=this.removePadding(n.slice(0,i),!0),a.s=this.removePadding(n.slice(i,i+i),!0),ie.serialize(a)}return null}toWebSignature(e,t){if("ECDSA"===e.name){let r=ie.parse(t,n7),i=e.namedCurve,a=l2.namedCurveSize.get(i)||l2.defaultNamedCurveSize;return function(...e){let t=new Uint8Array(e.map(e=>e.byteLength).reduce((e,t)=>e+t)),r=0;return e.map(e=>new Uint8Array(e)).forEach(e=>{for(let i of e)t[r++]=i}),t.buffer}(this.addPadding(a,this.removePadding(r.r)),this.addPadding(a,this.removePadding(r.s)))}return null}}l2.namedCurveSize=new Map,l2.defaultNamedCurveSize=32;let l3="1.3.101.110",l4="1.3.101.111",l6="1.3.101.112",l8="1.3.101.113",l5=class{toAsnAlgorithm(e){let t=null;switch(e.name.toLowerCase()){case"ed25519":t=l6;break;case"x25519":t=l3;break;case"eddsa":switch(e.namedCurve.toLowerCase()){case"ed25519":t=l6;break;case"ed448":t=l8}break;case"ecdh-es":switch(e.namedCurve.toLowerCase()){case"x25519":t=l3;break;case"x448":t=l4}}return t?new aT({algorithm:t}):null}toWebAlgorithm(e){switch(e.algorithm){case l6:return{name:"Ed25519"};case l8:return{name:"EdDSA",namedCurve:"Ed448"};case l3:return{name:"X25519"};case l4:return{name:"ECDH-ES",namedCurve:"X448"}}return null}};l5=(0,it.__decorate)([sQ()],l5),sY.registerSingleton(o$,l5),new WeakMap,new WeakMap,new WeakMap,new WeakMap,new WeakMap,new WeakMap,new WeakMap,new WeakMap;class l9 extends lP{get publicKey(){return(0,it.__classPrivateFieldGet)(this,eU,"f")||(0,it.__classPrivateFieldSet)(this,eU,new l$(this.asn.tbsCertificate.subjectPublicKeyInfo),"f"),(0,it.__classPrivateFieldGet)(this,eU,"f")}get serialNumber(){if(!(0,it.__classPrivateFieldGet)(this,eA,"f")){let e=new Uint8Array(this.asn.tbsCertificate.serialNumber);e.length>1&&0===e[0]&&e[1]>127&&(e=e.slice(1)),(0,it.__classPrivateFieldSet)(this,eA,eY.ToHex(e),"f")}return(0,it.__classPrivateFieldGet)(this,eA,"f")}get subjectName(){return(0,it.__classPrivateFieldGet)(this,e_,"f")||(0,it.__classPrivateFieldSet)(this,e_,new ly(this.asn.tbsCertificate.subject),"f"),(0,it.__classPrivateFieldGet)(this,e_,"f")}get subject(){return(0,it.__classPrivateFieldGet)(this,eC,"f")||(0,it.__classPrivateFieldSet)(this,eC,this.subjectName.toString(),"f"),(0,it.__classPrivateFieldGet)(this,eC,"f")}get issuerName(){return(0,it.__classPrivateFieldGet)(this,eR,"f")||(0,it.__classPrivateFieldSet)(this,eR,new ly(this.asn.tbsCertificate.issuer),"f"),(0,it.__classPrivateFieldGet)(this,eR,"f")}get issuer(){return(0,it.__classPrivateFieldGet)(this,eT,"f")||(0,it.__classPrivateFieldSet)(this,eT,this.issuerName.toString(),"f"),(0,it.__classPrivateFieldGet)(this,eT,"f")}get notBefore(){if(!(0,it.__classPrivateFieldGet)(this,eD,"f")){let e=this.asn.tbsCertificate.validity.notBefore.utcTime||this.asn.tbsCertificate.validity.notBefore.generalTime;if(!e)throw Error("Cannot get 'notBefore' value");(0,it.__classPrivateFieldSet)(this,eD,e,"f")}return(0,it.__classPrivateFieldGet)(this,eD,"f")}get notAfter(){if(!(0,it.__classPrivateFieldGet)(this,eN,"f")){let e=this.asn.tbsCertificate.validity.notAfter.utcTime||this.asn.tbsCertificate.validity.notAfter.generalTime;if(!e)throw Error("Cannot get 'notAfter' value");(0,it.__classPrivateFieldSet)(this,eN,e,"f")}return(0,it.__classPrivateFieldGet)(this,eN,"f")}get signatureAlgorithm(){if(!(0,it.__classPrivateFieldGet)(this,eO,"f")){let e=sY.resolve(oU);(0,it.__classPrivateFieldSet)(this,eO,e.toWebAlgorithm(this.asn.signatureAlgorithm),"f")}return(0,it.__classPrivateFieldGet)(this,eO,"f")}get signature(){return(0,it.__classPrivateFieldGet)(this,eP,"f")||(0,it.__classPrivateFieldSet)(this,eP,this.asn.signatureValue,"f"),(0,it.__classPrivateFieldGet)(this,eP,"f")}get extensions(){return!(0,it.__classPrivateFieldGet)(this,e$,"f")&&((0,it.__classPrivateFieldSet)(this,e$,[],"f"),this.asn.tbsCertificate.extensions&&(0,it.__classPrivateFieldSet)(this,e$,this.asn.tbsCertificate.extensions.map(e=>lF.create(ie.serialize(e))),"f")),(0,it.__classPrivateFieldGet)(this,e$,"f")}get tbs(){return(0,it.__classPrivateFieldGet)(this,ex,"f")||(0,it.__classPrivateFieldSet)(this,ex,this.asn.tbsCertificateRaw||ie.serialize(this.asn.tbsCertificate),"f"),(0,it.__classPrivateFieldGet)(this,ex,"f")}constructor(e){const t=lP.isAsnEncoded(e)?[e,aB]:[e];super(t[0],t[1]),ex.set(this,void 0),eA.set(this,void 0),e_.set(this,void 0),eC.set(this,void 0),eR.set(this,void 0),eT.set(this,void 0),eD.set(this,void 0),eN.set(this,void 0),eO.set(this,void 0),eP.set(this,void 0),e$.set(this,void 0),eU.set(this,void 0),this.tag=lO.CertificateTag}onInit(e){}getExtension(e){for(let t of this.extensions)if("string"==typeof e){if(t.type===e)return t}else if(t instanceof e)return t;return null}getExtensions(e){return this.extensions.filter(t=>"string"==typeof e?t.type===e:t instanceof e)}async verify(e={},t=lp.get()){let r,i,a=e.publicKey;try{if(a)if("publicKey"in a)r={...a.publicKey.algorithm,...this.signatureAlgorithm},i=await a.publicKey.export(r,["verify"],t);else if(a instanceof l$)r={...a.algorithm,...this.signatureAlgorithm},i=await a.export(r,["verify"],t);else if(eV.isBufferSource(a)){let e=new l$(a);r={...e.algorithm,...this.signatureAlgorithm},i=await e.export(r,["verify"],t)}else r={...a.algorithm,...this.signatureAlgorithm},i=a;else r={...this.publicKey.algorithm,...this.signatureAlgorithm},i=await this.publicKey.export(r,["verify"],t)}catch{return!1}let n=sY.resolveAll(lX).reverse(),s=null;for(let e of n)if(s=e.toWebSignature(r,this.signature))break;if(!s)throw Error("Cannot convert ASN.1 signature value to WebCrypto format");let o=await t.subtle.verify(this.signatureAlgorithm,i,s,this.tbs);if(e.signatureOnly)return o;{let t=(e.date||new Date).getTime();return o&&this.notBefore.getTime()<t&&t<this.notAfter.getTime()}}async getThumbprint(e,t){let r,i="SHA-1";return e&&("object"==typeof e&&"subtle"in e?r=e:(i=e,r=t)),null!=r||(r=lp.get()),await r.subtle.digest(i,this.rawData)}async isSelfSigned(e=lp.get()){return this.subject===this.issuer&&await this.verify({signatureOnly:!0},e)}toTextObject(){let e=this.toTextObjectEmpty(),t=ie.parse(this.rawData,aB),r=t.tbsCertificate,i=new ls("",{Version:`${H[r.version]} (${r.version})`,"Serial Number":r.serialNumber,"Signature Algorithm":ll.serializeAlgorithm(r.signature),Issuer:this.issuer,Validity:new ls("",{"Not Before":r.validity.notBefore.getTime(),"Not After":r.validity.notAfter.getTime()}),Subject:this.subject,"Subject Public Key Info":this.publicKey});if(r.issuerUniqueID&&(i["Issuer Unique ID"]=r.issuerUniqueID),r.subjectUniqueID&&(i["Subject Unique ID"]=r.subjectUniqueID),this.extensions.length){let e=new ls("");for(let t of this.extensions){let r=t.toTextObject();e[r[ls.NAME]]=r}i.Extensions=e}return e.Data=i,e.Signature=new ls("",{Algorithm:ll.serializeAlgorithm(t.signatureAlgorithm),"":t.signatureValue}),e}}ex=new WeakMap,eA=new WeakMap,e_=new WeakMap,eC=new WeakMap,eR=new WeakMap,eT=new WeakMap,eD=new WeakMap,eN=new WeakMap,eO=new WeakMap,eP=new WeakMap,e$=new WeakMap,eU=new WeakMap,l9.NAME="Certificate";class l7{static async createSelfSigned(e,t=lp.get()){if(!e.keys.privateKey)throw Error("Bad field 'keys' in 'params' argument. 'privateKey' is empty");if(!e.keys.publicKey)throw Error("Bad field 'keys' in 'params' argument. 'publicKey' is empty");return this.create({serialNumber:e.serialNumber,subject:e.name,issuer:e.name,notBefore:e.notBefore,notAfter:e.notAfter,publicKey:e.keys.publicKey,signingKey:e.keys.privateKey,signingAlgorithm:e.signingAlgorithm,extensions:e.extensions},t)}static async create(e,t=lp.get()){var r;let i;i=e.publicKey instanceof l$?e.publicKey.rawData:"publicKey"in e.publicKey?e.publicKey.publicKey.rawData:eV.isBufferSource(e.publicKey)?e.publicKey:await t.subtle.exportKey("spki",e.publicKey);let a=function(e,t=lp.get()){let r=eV.toUint8Array(eY.FromHex(e||"")),i=r&&r.length&&r.some(e=>e>0)?new Uint8Array(r):void 0;i||(i=t.getRandomValues(new Uint8Array(16)));let a=0;for(;a<i.length-1&&0===i[a];)a++;if((i=i.slice(a))[0]>127){let e=new Uint8Array(i.length+1);e[0]=0,e.set(i,1),i=e}return i.buffer}(e.serialNumber,t),n=e.notBefore||new Date,s=e.notAfter||new Date(n.getTime()+31536e6),o=new aB({tbsCertificate:new aU({version:H.v3,serialNumber:a,validity:new aO({notBefore:n,notAfter:s}),extensions:new a$((null==(r=e.extensions)?void 0:r.map(e=>ie.parse(e.rawData,aP)))||[]),subjectPublicKeyInfo:ie.parse(i,aD)})});if(e.subject){let t=e.subject instanceof ly?e.subject:new ly(e.subject);o.tbsCertificate.subject=ie.parse(t.toArrayBuffer(),iE)}if(e.issuer){let t=e.issuer instanceof ly?e.issuer:new ly(e.issuer);o.tbsCertificate.issuer=ie.parse(t.toArrayBuffer(),iE)}let l={hash:"SHA-256"},u="signingKey"in e?{...l,...e.signingAlgorithm,...e.signingKey.algorithm}:{...l,...e.signingAlgorithm},c=sY.resolve(oU);o.tbsCertificate.signature=o.signatureAlgorithm=c.toAsnAlgorithm(u);let d=ie.serialize(o.tbsCertificate),p="signingKey"in e?await t.subtle.sign(u,e.signingKey,d):e.signature,h=sY.resolveAll(lX).reverse(),m=null;for(let e of h)if(m=e.toAsnSignature(u,p))break;if(!m)throw Error("Cannot convert ASN.1 signature value to WebCrypto format");return o.signatureValue=m,new l9(ie.serialize(o))}}(y=eB||(eB={}))[y.unspecified=0]="unspecified",y[y.keyCompromise=1]="keyCompromise",y[y.cACompromise=2]="cACompromise",y[y.affiliationChanged=3]="affiliationChanged",y[y.superseded=4]="superseded",y[y.cessationOfOperation=5]="cessationOfOperation",y[y.certificateHold=6]="certificateHold",y[y.removeFromCRL=8]="removeFromCRL",y[y.privilegeWithdrawn=9]="privilegeWithdrawn",y[y.aACompromise=10]="aACompromise",new WeakMap,new WeakMap,new WeakMap,new WeakMap,new WeakMap,new WeakMap,new WeakMap,new WeakMap,new WeakMap,new WeakMap,new WeakMap,new WeakMap,lF.register(iF,lB),lF.register(ae,lj),lF.register(ap,lL),lF.register(aI,lq),lF.register(iL,lU),lF.register(av,lM),lF.register(i2,lV),lF.register(iU,lG),lF.register(ac,lJ),lQ.register(oo,lZ),lQ.register(ol,lY),sY.registerSingleton(lX,class{toAsnSignature(e,t){return eV.toArrayBuffer(t)}toWebSignature(e,t){return eV.toArrayBuffer(t)}}),sY.registerSingleton(lX,l2),l2.namedCurveSize.set("P-256",32),l2.namedCurveSize.set("K-256",32),l2.namedCurveSize.set("P-384",48),l2.namedCurveSize.set("P-521",66);class ue{constructor(e={}){if("view"in e)this.fromUint8Array(e.view);else if("buffer"in e)this.fromArrayBuffer(e.buffer);else if("string"in e)this.fromString(e.string);else if("hexstring"in e)this.fromHexString(e.hexstring);else if("length"in e&&e.length>0){if(this.length=e.length,e.stub)for(let t=0;t<this._view.length;t++)this._view[t]=e.stub}else this.length=0}set buffer(e){this._buffer=e,this._view=new Uint8Array(this._buffer)}get buffer(){return this._buffer}set view(e){this._buffer=new ArrayBuffer(e.length),this._view=new Uint8Array(this._buffer),this._view.set(e)}get view(){return this._view}get length(){return this.view.byteLength}set length(e){this._buffer=new ArrayBuffer(e),this._view=new Uint8Array(this._buffer)}clear(){this._buffer=new ArrayBuffer(0),this._view=new Uint8Array(this._buffer)}fromArrayBuffer(e){this._buffer=e,this._view=new Uint8Array(this._buffer)}fromUint8Array(e){this.fromArrayBuffer(new Uint8Array(e).buffer)}fromString(e){let t=e.length;this.length=t;for(let r=0;r<t;r++)this.view[r]=e.charCodeAt(r)}toString(e=0,t=this.view.length-e){let r="";(e>=this.view.length||e<0)&&(e=0),(t>=this.view.length||t<0)&&(t=this.view.length-e);for(let i=e;i<e+t;i++)r+=String.fromCharCode(this.view[i]);return r}fromHexString(e){let t=e.length;this.buffer=new ArrayBuffer(t>>1),this.view=new Uint8Array(this.buffer);let r=new Map;r.set("0",0),r.set("1",1),r.set("2",2),r.set("3",3),r.set("4",4),r.set("5",5),r.set("6",6),r.set("7",7),r.set("8",8),r.set("9",9),r.set("A",10),r.set("a",10),r.set("B",11),r.set("b",11),r.set("C",12),r.set("c",12),r.set("D",13),r.set("d",13),r.set("E",14),r.set("e",14),r.set("F",15),r.set("f",15);let i=0,a=0;for(let n=0;n<t;n++)n%2?(a|=r.get(e.charAt(n)),this.view[i]=a,i++):a=r.get(e.charAt(n))<<4}toHexString(e=0,t=this.view.length-e){let r="";(e>=this.view.length||e<0)&&(e=0),(t>=this.view.length||t<0)&&(t=this.view.length-e);for(let i=e;i<e+t;i++){let e=this.view[i].toString(16).toUpperCase();r=r+(1==e.length?"0":"")+e}return r}copy(e=0,t=this.length-e){if(!e&&!this.length)return new ue;if(e<0||e>this.length-1)throw Error(`Wrong start position: ${e}`);return new ue({buffer:this._buffer.slice(e,e+t)})}slice(e=0,t=this.length){if(!e&&!this.length)return new ue;if(e<0||e>this.length-1)throw Error(`Wrong start position: ${e}`);return new ue({buffer:this._buffer.slice(e,t)})}realloc(e){let t=new ArrayBuffer(e),r=new Uint8Array(t);e>this._view.length?r.set(this._view):r.set(new Uint8Array(this._buffer,0,e)),this._buffer=t,this._view=new Uint8Array(this._buffer)}append(e){let t=this.length,r=e.length,i=e._view.subarray();this.realloc(t+r),this._view.set(i,t)}insert(e,t=0,r=this.length-t){return!(t>this.length-1)&&(r>this.length-t&&(r=this.length-t),r>e.length&&(r=e.length),r==e.length?this._view.set(e._view,t):this._view.set(e._view.subarray(0,r),t),!0)}isEqual(e){if(this.length!=e.length)return!1;for(let t=0;t<e.length;t++)if(this.view[t]!=e.view[t])return!1;return!0}isEqualView(e){if(e.length!=this.view.length)return!1;for(let t=0;t<e.length;t++)if(this.view[t]!=e[t])return!1;return!0}findPattern(e,t,r,i){let{start:a,length:n,backward:s}=this.prepareFindParameters(t,r,i),o=e.length;if(o>n)return -1;let l=[];for(let t=0;t<o;t++)l.push(e.view[t]);for(let e=0;e<=n-o;e++){let t=!0,r=s?a-o-e:a+e;for(let e=0;e<o;e++)if(this.view[e+r]!=l[e]){t=!1;break}if(t)return s?a-o-e:a+o+e}return -1}findFirstIn(e,t,r,i){let{start:a,length:n,backward:s}=this.prepareFindParameters(t,r,i),o={id:-1,position:s?0:a+n,length:0};for(let t=0;t<e.length;t++){let r=this.findPattern(e[t],a,n,s);if(-1!=r){let i=!1,a=e[t].length;s?r-a>=o.position-o.length&&(i=!0):r-a<=o.position-o.length&&(i=!0),i&&(o.position=r,o.id=t,o.length=a)}}return o}findAllIn(e,t,r){let{start:i,length:a}=this.prepareFindParameters(t,r),n=[],s={id:-1,position:i};for(;;){let t=s.position;if(-1==(s=this.findFirstIn(e,s.position,a)).id)break;a-=s.position-t,n.push({id:s.id,position:s.position})}return n}findAllPatternIn(e,t,r){let{start:i,length:a}=this.prepareFindParameters(t,r),n=[],s=e.length;if(s>a)return -1;let o=Array.from(e.view);for(let e=0;e<=a-s;e++){let t=!0,r=i+e;for(let e=0;e<s;e++)if(this.view[e+r]!=o[e]){t=!1;break}t&&(n.push(i+s+e),e+=s-1)}return n}findFirstNotIn(e,t,r,i){let{start:a,length:n,backward:s}=this.prepareFindParameters(t,r,i),o={left:{id:-1,position:a},right:{id:-1,position:0},value:new ue},l=n;for(;l>0;){if(o.right=this.findFirstIn(e,s?a-n+l:a+n-l,l,s),-1==o.right.id){n=l,s?a-=n:a=o.left.position,o.value=new ue({buffer:this._buffer.slice(a,a+n)});break}if(o.right.position!=(s?o.left.position-e[o.right.id].length:o.left.position+e[o.right.id].length)){s?(a=o.right.position+e[o.right.id].length,n=o.left.position-o.right.position-e[o.right.id].length):(a=o.left.position,n=o.right.position-o.left.position-e[o.right.id].length),o.value=new ue({buffer:this._buffer.slice(a,a+n)});break}o.left=o.right,l-=e[o.right.id].length}if(s){let e=o.right;o.right=o.left,o.left=e}return o}findAllNotIn(e,t,r){let{start:i,length:a}=this.prepareFindParameters(t,r),n=[],s={left:{id:-1,position:i},right:{id:-1,position:i},value:new ue};do{let t=s.right.position;s=this.findFirstNotIn(e,s.right.position,a),a-=s.right.position-t,n.push({left:{id:s.left.id,position:s.left.position},right:{id:s.right.id,position:s.right.position},value:s.value})}while(-1!=s.right.id)return n}findFirstSequence(e,t,r,i){let{start:a,length:n,backward:s}=this.prepareFindParameters(t,r,i),o=this.skipNotPatterns(e,a,n,s);if(-1==o)return{position:-1,value:new ue};let l=this.skipPatterns(e,o,n-(s?a-o:o-a),s);return s?(a=l,n=o-l):(a=o,n=l-o),{position:l,value:new ue({buffer:this._buffer.slice(a,a+n)})}}findAllSequences(e,t,r){let{start:i,length:a}=this.prepareFindParameters(t,r),n=[],s={position:i,value:new ue};do{let t=s.position;-1!=(s=this.findFirstSequence(e,s.position,a)).position&&(a-=s.position-t,n.push({position:s.position,value:s.value}))}while(-1!=s.position)return n}findPairedPatterns(e,t,r,i){let a=[];if(e.isEqual(t))return a;let{start:n,length:s}=this.prepareFindParameters(r,i),o=0,l=this.findAllPatternIn(e,n,s);if(!Array.isArray(l)||0==l.length)return a;let u=this.findAllPatternIn(t,n,s);if(!Array.isArray(u)||0==u.length)return a;for(;o<l.length&&0!=u.length;){if(l[0]==u[0]){a.push({left:l[0],right:u[0]}),l.splice(0,1),u.splice(0,1);continue}if(l[o]>u[0])break;for(;l[o]<u[0]&&!(++o>=l.length););a.push({left:l[o-1],right:u[0]}),l.splice(o-1,1),u.splice(0,1),o=0}return a.sort((e,t)=>e.left-t.left),a}findPairedArrays(e,t,r,i){let{start:a,length:n}=this.prepareFindParameters(r,i),s=[],o=0,l=this.findAllIn(e,a,n);if(0==l.length)return s;let u=this.findAllIn(t,a,n);if(0==u.length)return s;for(;o<l.length&&0!=u.length;){if(l[0].position==u[0].position){s.push({left:l[0],right:u[0]}),l.splice(0,1),u.splice(0,1);continue}if(l[o].position>u[0].position)break;for(;l[o].position<u[0].position&&!(++o>=l.length););s.push({left:l[o-1],right:u[0]}),l.splice(o-1,1),u.splice(0,1),o=0}return s.sort((e,t)=>e.left.position-t.left.position),s}replacePattern(e,t,r,i,a=null){let n,s=[],o={status:-1,searchPatternPositions:[],replacePatternPositions:[]},{start:l,length:u}=this.prepareFindParameters(r,i);if(null==a){if(0==(s=this.findAllIn([e],l,u)).length)return o}else s=a;o.searchPatternPositions.push(...Array.from(s,e=>e.position));let c=e.length-t.length,d=new ArrayBuffer(this.view.length-s.length*c),p=new Uint8Array(d);for(p.set(new Uint8Array(this.buffer,0,l)),n=0;n<s.length;n++){let r=0==n?l:s[n-1].position;p.set(new Uint8Array(this.buffer,r,s[n].position-e.length-r),r-n*c),p.set(t.view,s[n].position-e.length-n*c),o.replacePatternPositions.push(s[n].position-e.length-n*c)}return n--,p.set(new Uint8Array(this.buffer,s[n].position,this.length-s[n].position),s[n].position-e.length+t.length-n*c),this.buffer=d,this.view=new Uint8Array(this.buffer),o.status=1,o}skipPatterns(e,t,r,i){let{start:a,length:n,backward:s}=this.prepareFindParameters(t,r,i),o=a;for(let t=0;t<e.length;t++){let r=e[t].length,i=s?o-r:o,l=!0;for(let a=0;a<r;a++)if(this.view[a+i]!=e[t].view[a]){l=!1;break}if(l){if(t=-1,s){if((o-=r)<=0)break}else if((o+=r)>=a+n)break}}return o}skipNotPatterns(e,t,r,i){let{start:a,length:n,backward:s}=this.prepareFindParameters(t,r,i),o=-1;for(let t=0;t<n;t++){for(let r=0;r<e.length;r++){let i=e[r].length,n=s?a-t-i:a+t,l=!0;for(let t=0;t<i;t++)if(this.view[t+n]!=e[r].view[t]){l=!1;break}if(l){o=s?a-t:a+t;break}}if(-1!=o)break}return o}prepareFindParameters(e=null,t=null,r=!1){return null===e&&(e=r?this.length:0),e>this.length&&(e=this.length),r?(null===t&&(t=e),t>e&&(t=e)):(null===t&&(t=this.length-e),t>this.length-e&&(t=this.length-e)),{start:e,length:t,backward:r}}}class ut{constructor(e={}){this._stream=new ue,this._length=0,this._start=0,this.backward=!1,this.appendBlock=0,this.prevLength=0,this.prevStart=0,"view"in e?this.stream=new ue({view:e.view}):"buffer"in e?this.stream=new ue({buffer:e.buffer}):"string"in e?this.stream=new ue({string:e.string}):"hexstring"in e?this.stream=new ue({hexstring:e.hexstring}):"stream"in e?this.stream=e.stream.slice():this.stream=new ue,"backward"in e&&e.backward&&(this.backward=e.backward,this._start=this.stream.length),"length"in e&&e.length>0&&(this._length=e.length),"start"in e&&e.start&&e.start>0&&(this._start=e.start),"appendBlock"in e&&e.appendBlock&&e.appendBlock>0&&(this.appendBlock=e.appendBlock)}set stream(e){this._stream=e,this.prevLength=this._length,this._length=e.length,this.prevStart=this._start,this._start=0}get stream(){return this._stream}set length(e){this.prevLength=this._length,this._length=e}get length(){return this.appendBlock?this.start:this._length}set start(e){e>this.stream.length||(this.prevStart=this._start,this.prevLength=this._length,this._length-=this.backward?this._start-e:e-this._start,this._start=e)}get start(){return this._start}get buffer(){return this._stream.buffer.slice(0,this._length)}resetPosition(){this._start=this.prevStart,this._length=this.prevLength}findPattern(e,t=null){(null==t||t>this.length)&&(t=this.length);let r=this.stream.findPattern(e,this.start,this.length,this.backward);if(-1==r)return r;if(this.backward){if(r<this.start-e.length-t)return -1}else if(r>this.start+e.length+t)return -1;return this.start=r,r}findFirstIn(e,t=null){(null==t||t>this.length)&&(t=this.length);let r=this.stream.findFirstIn(e,this.start,this.length,this.backward);if(-1==r.id)return r;if(this.backward){if(r.position<this.start-e[r.id].length-t)return{id:-1,position:this.backward?0:this.start+this.length}}else if(r.position>this.start+e[r.id].length+t)return{id:-1,position:this.backward?0:this.start+this.length};return this.start=r.position,r}findAllIn(e){let t=this.backward?this.start-this.length:this.start;return this.stream.findAllIn(e,t,this.length)}findFirstNotIn(e,t=null){(null==t||t>this._length)&&(t=this._length);let r=this._stream.findFirstNotIn(e,this._start,this._length,this.backward);if(-1==r.left.id&&-1==r.right.id)return r;if(this.backward){if(-1!=r.right.id&&r.right.position<this._start-e[r.right.id].length-t)return{left:{id:-1,position:this._start},right:{id:-1,position:0},value:new ue}}else if(-1!=r.left.id&&r.left.position>this._start+e[r.left.id].length+t)return{left:{id:-1,position:this._start},right:{id:-1,position:0},value:new ue};return this.backward?-1==r.left.id?this.start=0:this.start=r.left.position:-1==r.right.id?this.start=this._start+this._length:this.start=r.right.position,r}findAllNotIn(e){let t=this.backward?this._start-this._length:this._start;return this._stream.findAllNotIn(e,t,this._length)}findFirstSequence(e,t=null,r=null){(null==t||t>this._length)&&(t=this._length),(null==r||r>t)&&(r=t);let i=this._stream.findFirstSequence(e,this._start,t,this.backward);if(0==i.value.length)return i;if(this.backward){if(i.position<this._start-i.value.length-r)return{position:-1,value:new ue}}else if(i.position>this._start+i.value.length+r)return{position:-1,value:new ue};return this.start=i.position,i}findAllSequences(e){let t=this.backward?this.start-this.length:this.start;return this.stream.findAllSequences(e,t,this.length)}findPairedPatterns(e,t,r=null){(null==r||r>this.length)&&(r=this.length);let i=this.backward?this.start-this.length:this.start,a=this.stream.findPairedPatterns(e,t,i,this.length);if(a.length){if(this.backward){if(a[0].right<this.start-t.length-r)return[]}else if(a[0].left>this.start+e.length+r)return[]}return a}findPairedArrays(e,t,r=null){(null==r||r>this.length)&&(r=this.length);let i=this.backward?this.start-this.length:this.start,a=this.stream.findPairedArrays(e,t,i,this.length);if(a.length){if(this.backward){if(a[0].right.position<this.start-t[a[0].right.id].length-r)return[]}else if(a[0].left.position>this.start+e[a[0].left.id].length+r)return[]}return a}replacePattern(e,t){let r=this.backward?this.start-this.length:this.start;return this.stream.replacePattern(e,t,r,this.length)}skipPatterns(e){let t=this.stream.skipPatterns(e,this.start,this.length,this.backward);return this.start=t,t}skipNotPatterns(e){let t=this.stream.skipNotPatterns(e,this.start,this.length,this.backward);return -1==t?-1:(this.start=t,t)}append(e){this.beforeAppend(e.length),this._stream.view.set(e.view,this._start),this._length+=2*e.length,this.start=this._start+e.length,this.prevLength-=2*e.length}appendView(e){this.beforeAppend(e.length),this._stream.view.set(e,this._start),this._length+=2*e.length,this.start=this._start+e.length,this.prevLength-=2*e.length}appendChar(e){this.beforeAppend(1),this._stream.view[this._start]=e,this._length+=2,this.start=this._start+1,this.prevLength-=2}appendUint16(e){this.beforeAppend(2);let t=new Uint8Array(new Uint16Array([e]).buffer);this.stream.view[this._start]=t[1],this._stream.view[this._start+1]=t[0],this._length+=4,this.start=this._start+2,this.prevLength-=4}appendUint24(e){this.beforeAppend(3);let t=new Uint8Array(new Uint32Array([e]).buffer);this._stream.view[this._start]=t[2],this._stream.view[this._start+1]=t[1],this._stream.view[this._start+2]=t[0],this._length+=6,this.start=this._start+3,this.prevLength-=6}appendUint32(e){this.beforeAppend(4);let t=new Uint8Array(new Uint32Array([e]).buffer);this._stream.view[this._start]=t[3],this._stream.view[this._start+1]=t[2],this._stream.view[this._start+2]=t[1],this._stream.view[this._start+3]=t[0],this._length+=8,this.start=this._start+4,this.prevLength-=8}appendInt16(e){this.beforeAppend(2);let t=new Uint8Array(new Int16Array([e]).buffer);this._stream.view[this._start]=t[1],this._stream.view[this._start+1]=t[0],this._length+=4,this.start=this._start+2,this.prevLength-=4}appendInt32(e){this.beforeAppend(4);let t=new Uint8Array(new Int32Array([e]).buffer);this._stream.view[this._start]=t[3],this._stream.view[this._start+1]=t[2],this._stream.view[this._start+2]=t[1],this._stream.view[this._start+3]=t[0],this._length+=8,this.start=this._start+4,this.prevLength-=8}getBlock(e,t=!0){let r;if(this._length<=0)return new Uint8Array(0);if(this._length<e&&(e=this._length),this.backward){let t=this._stream.view.subarray(this._length-e,this._length);r=new Uint8Array(e);for(let i=0;i<e;i++)r[e-1-i]=t[i]}else r=this._stream.view.subarray(this._start,this._start+e);return t&&(this.start+=this.backward?-1*e:e),r}getUint16(e=!0){let t=this.getBlock(2,e);return t.length<2?0:t[0]<<8|t[1]}getInt16(e=!0){let t=this.getUint16(e);return 32768&t?-(32768-(32768^t)):t}getUint24(e=!0){let t=this.getBlock(4,e);return t.length<3?0:t[0]<<16|t[1]<<8|t[2]}getUint32(e=!0){let t=this.getBlock(4,e);return t.length<4?0:0x1000000*t[0]+(t[1]<<16)+(t[2]<<8)+t[3]}getInt32(e=!0){let t=this.getUint32(e);return 0x80000000&t?-(0x80000000-(0x80000000^t)):t}beforeAppend(e){this._start+e>this._stream.length&&(e>this.appendBlock&&(this.appendBlock=e+ut.APPEND_BLOCK),this._stream.realloc(this._stream.length+this.appendBlock))}}function ur(e,...t){if(!(e instanceof Uint8Array||null!=e&&"object"==typeof e&&"Uint8Array"===e.constructor.name))throw Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw Error(`Uint8Array expected of length ${t}, not of length=${e.length}`)}function ui(e,t=!0){if(e.destroyed)throw Error("Hash instance has been destroyed");if(t&&e.finished)throw Error("Hash#digest() has already been called")}ut.APPEND_BLOCK=1e3;let ua=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),un=(e,t)=>e<<32-t|e>>>t,us=(e,t)=>e<<t|e>>>32-t>>>0;function uo(e){return"string"==typeof e&&(e=function(e){if("string"!=typeof e)throw Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}(e)),ur(e),e}new Uint8Array(new Uint32Array([0x11223344]).buffer)[0];class ul{clone(){return this._cloneInto()}}function uu(e){let t=t=>e().update(uo(t)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}let uc=(e,t,r)=>e&t^~e&r,ud=(e,t,r)=>e&t^e&r^t&r;class up extends ul{constructor(e,t,r,i){super(),this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=ua(this.buffer)}update(e){ui(this);let{view:t,buffer:r,blockLen:i}=this,a=(e=uo(e)).length;for(let n=0;n<a;){let s=Math.min(i-this.pos,a-n);if(s===i){let t=ua(e);for(;i<=a-n;n+=i)this.process(t,n);continue}r.set(e.subarray(n,n+s),this.pos),this.pos+=s,n+=s,this.pos===i&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){ui(this);ur(e);let t=this.outputLen;if(e.length<t)throw Error(`digestInto() expects output buffer of length at least ${t}`);this.finished=!0;let{buffer:r,view:i,blockLen:a,isLE:n}=this,{pos:s}=this;r[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>a-s&&(this.process(i,0),s=0);for(let e=s;e<a;e++)r[e]=0;!function(e,t,r,i){if("function"==typeof e.setBigUint64)return e.setBigUint64(t,r,i);let a=BigInt(32),n=BigInt(0xffffffff),s=Number(r>>a&n),o=Number(r&n),l=4*!!i,u=4*!i;e.setUint32(t+l,s,i),e.setUint32(t+u,o,i)}(i,a-8,BigInt(8*this.length),n),this.process(i,0);let o=ua(e),l=this.outputLen;if(l%4)throw Error("_sha2: outputLen should be aligned to 32bit");let u=l/4,c=this.get();if(u>c.length)throw Error("_sha2: outputLen bigger than state");for(let e=0;e<u;e++)o.setUint32(4*e,c[e],n)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:t,buffer:r,length:i,finished:a,destroyed:n,pos:s}=this;return e.length=i,e.pos=s,e.finished=a,e.destroyed=n,i%t&&e.buffer.set(r),e}}let uh=new Uint32Array([0x67452301,0xefcdab89,0x98badcfe,0x10325476,0xc3d2e1f0]),um=new Uint32Array(80);class uf extends up{constructor(){super(64,20,8,!1),this.A=0|uh[0],this.B=0|uh[1],this.C=0|uh[2],this.D=0|uh[3],this.E=0|uh[4]}get(){let{A:e,B:t,C:r,D:i,E:a}=this;return[e,t,r,i,a]}set(e,t,r,i,a){this.A=0|e,this.B=0|t,this.C=0|r,this.D=0|i,this.E=0|a}process(e,t){for(let r=0;r<16;r++,t+=4)um[r]=e.getUint32(t,!1);for(let e=16;e<80;e++)um[e]=us(um[e-3]^um[e-8]^um[e-14]^um[e-16],1);let{A:r,B:i,C:a,D:n,E:s}=this;for(let e=0;e<80;e++){let t,o;e<20?(t=uc(i,a,n),o=0x5a827999):e<40?(t=i^a^n,o=0x6ed9eba1):e<60?(t=ud(i,a,n),o=0x8f1bbcdc):(t=i^a^n,o=0xca62c1d6);let l=us(r,5)+t+s+o+um[e]|0;s=n,n=a,a=us(i,30),i=r,r=l}r=r+this.A|0,i=i+this.B|0,a=a+this.C|0,n=n+this.D|0,s=s+this.E|0,this.set(r,i,a,n,s)}roundClean(){um.fill(0)}destroy(){this.set(0,0,0,0,0),this.buffer.fill(0)}}let ug=uu(()=>new uf),uy=BigInt(0x100000000-1),uw=BigInt(32),ub=(e,t,r)=>e>>>r,uv=(e,t,r)=>e<<32-r|t>>>r,uk=(e,t,r)=>e>>>r|t<<32-r,uS=(e,t,r)=>e<<32-r|t>>>r,uE=(e,t,r)=>e<<64-r|t>>>r-32,uI=(e,t,r)=>e>>>r-32|t<<64-r,ux=function(e,t,r,i){let a=(t>>>0)+(i>>>0);return{h:e+r+(a/0x100000000|0)|0,l:0|a}},uA=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),u_=(e,t,r,i)=>t+r+i+(e/0x100000000|0)|0,uC=(e,t,r,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(i>>>0),uR=(e,t,r,i,a)=>t+r+i+a+(e/0x100000000|0)|0,uT=(e,t,r,i,a,n)=>t+r+i+a+n+(e/0x100000000|0)|0,uD=(e,t,r,i,a)=>(e>>>0)+(t>>>0)+(r>>>0)+(i>>>0)+(a>>>0),[uN,uO]=function(e,t=!1){let r=new Uint32Array(e.length),i=new Uint32Array(e.length);for(let a=0;a<e.length;a++){let{h:n,l:s}=function(e,t=!1){return t?{h:Number(e&uy),l:Number(e>>uw&uy)}:{h:0|Number(e>>uw&uy),l:0|Number(e&uy)}}(e[a],t);[r[a],i[a]]=[n,s]}return[r,i]}(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(e=>BigInt(e))),uP=new Uint32Array(80),u$=new Uint32Array(80);class uU extends up{constructor(){super(128,64,16,!1),this.Ah=0x6a09e667,this.Al=-0xc4336f8,this.Bh=-0x4498517b,this.Bl=-0x7b3558c5,this.Ch=0x3c6ef372,this.Cl=-0x16b07d5,this.Dh=-0x5ab00ac6,this.Dl=0x5f1d36f1,this.Eh=0x510e527f,this.El=-0x52197d2f,this.Fh=-0x64fa9774,this.Fl=0x2b3e6c1f,this.Gh=0x1f83d9ab,this.Gl=-0x4be4295,this.Hh=0x5be0cd19,this.Hl=0x137e2179}get(){let{Ah:e,Al:t,Bh:r,Bl:i,Ch:a,Cl:n,Dh:s,Dl:o,Eh:l,El:u,Fh:c,Fl:d,Gh:p,Gl:h,Hh:m,Hl:f}=this;return[e,t,r,i,a,n,s,o,l,u,c,d,p,h,m,f]}set(e,t,r,i,a,n,s,o,l,u,c,d,p,h,m,f){this.Ah=0|e,this.Al=0|t,this.Bh=0|r,this.Bl=0|i,this.Ch=0|a,this.Cl=0|n,this.Dh=0|s,this.Dl=0|o,this.Eh=0|l,this.El=0|u,this.Fh=0|c,this.Fl=0|d,this.Gh=0|p,this.Gl=0|h,this.Hh=0|m,this.Hl=0|f}process(e,t){for(let r=0;r<16;r++,t+=4)uP[r]=e.getUint32(t),u$[r]=e.getUint32(t+=4);for(let e=16;e<80;e++){let t=0|uP[e-15],r=0|u$[e-15],i=uk(t,r,1)^uk(t,r,8)^ub(t,r,7),a=uS(t,r,1)^uS(t,r,8)^uv(t,r,7),n=0|uP[e-2],s=0|u$[e-2],o=uk(n,s,19)^uE(n,s,61)^ub(n,s,6),l=uC(a,uS(n,s,19)^uI(n,s,61)^uv(n,s,6),u$[e-7],u$[e-16]),u=uR(l,i,o,uP[e-7],uP[e-16]);uP[e]=0|u,u$[e]=0|l}let{Ah:r,Al:i,Bh:a,Bl:n,Ch:s,Cl:o,Dh:l,Dl:u,Eh:c,El:d,Fh:p,Fl:h,Gh:m,Gl:f,Hh:g,Hl:y}=this;for(let e=0;e<80;e++){let t=uk(c,d,14)^uk(c,d,18)^uE(c,d,41),w=uS(c,d,14)^uS(c,d,18)^uI(c,d,41),b=c&p^~c&m,v=uD(y,w,d&h^~d&f,uO[e],u$[e]),k=uT(v,g,t,b,uN[e],uP[e]),S=0|v,E=uk(r,i,28)^uE(r,i,34)^uE(r,i,39),I=uS(r,i,28)^uI(r,i,34)^uI(r,i,39),x=r&a^r&s^a&s,A=i&n^i&o^n&o;g=0|m,y=0|f,m=0|p,f=0|h,p=0|c,h=0|d,({h:c,l:d}=ux(0|l,0|u,0|k,0|S)),l=0|s,u=0|o,s=0|a,o=0|n,a=0|r,n=0|i;let _=uA(S,I,A);r=u_(_,k,E,x),i=0|_}({h:r,l:i}=ux(0|this.Ah,0|this.Al,0|r,0|i)),({h:a,l:n}=ux(0|this.Bh,0|this.Bl,0|a,0|n)),({h:s,l:o}=ux(0|this.Ch,0|this.Cl,0|s,0|o)),({h:l,l:u}=ux(0|this.Dh,0|this.Dl,0|l,0|u)),({h:c,l:d}=ux(0|this.Eh,0|this.El,0|c,0|d)),({h:p,l:h}=ux(0|this.Fh,0|this.Fl,0|p,0|h)),({h:m,l:f}=ux(0|this.Gh,0|this.Gl,0|m,0|f)),({h:g,l:y}=ux(0|this.Hh,0|this.Hl,0|g,0|y)),this.set(r,i,a,n,s,o,l,u,c,d,p,h,m,f,g,y)}roundClean(){uP.fill(0),u$.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class uB extends uU{constructor(){super(),this.Ah=-0x344462a3,this.Al=-0x3efa6128,this.Bh=0x629a292a,this.Bl=0x367cd507,this.Ch=-0x6ea6fea6,this.Cl=0x3070dd17,this.Dh=0x152fecd8,this.Dl=-0x8f1a6c7,this.Eh=0x67332667,this.El=-4191439,this.Fh=-0x714bb579,this.Fl=0x68581511,this.Gh=-0x24f3d1f3,this.Gl=0x64f98fa7,this.Hh=0x47b5481d,this.Hl=-0x4105b05c,this.outputLen=48}}let uj=uu(()=>new uU),uL=uu(()=>new uB),uq=new Uint32Array([0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5,0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5,0xd807aa98,0x12835b01,0x243185be,0x550c7dc3,0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174,0xe49b69c1,0xefbe4786,0xfc19dc6,0x240ca1cc,0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da,0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7,0xc6e00bf3,0xd5a79147,0x6ca6351,0x14292967,0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13,0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85,0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3,0xd192e819,0xd6990624,0xf40e3585,0x106aa070,0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5,0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3,0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208,0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2]),uM=new Uint32Array([0x6a09e667,0xbb67ae85,0x3c6ef372,0xa54ff53a,0x510e527f,0x9b05688c,0x1f83d9ab,0x5be0cd19]),uF=new Uint32Array(64);class uK extends up{constructor(){super(64,32,8,!1),this.A=0|uM[0],this.B=0|uM[1],this.C=0|uM[2],this.D=0|uM[3],this.E=0|uM[4],this.F=0|uM[5],this.G=0|uM[6],this.H=0|uM[7]}get(){let{A:e,B:t,C:r,D:i,E:a,F:n,G:s,H:o}=this;return[e,t,r,i,a,n,s,o]}set(e,t,r,i,a,n,s,o){this.A=0|e,this.B=0|t,this.C=0|r,this.D=0|i,this.E=0|a,this.F=0|n,this.G=0|s,this.H=0|o}process(e,t){for(let r=0;r<16;r++,t+=4)uF[r]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=uF[e-15],r=uF[e-2],i=un(t,7)^un(t,18)^t>>>3,a=un(r,17)^un(r,19)^r>>>10;uF[e]=a+uF[e-7]+i+uF[e-16]|0}let{A:r,B:i,C:a,D:n,E:s,F:o,G:l,H:u}=this;for(let e=0;e<64;e++){let t=u+(un(s,6)^un(s,11)^un(s,25))+uc(s,o,l)+uq[e]+uF[e]|0,c=(un(r,2)^un(r,13)^un(r,22))+ud(r,i,a)|0;u=l,l=o,o=s,s=n+t|0,n=a,a=i,i=r,r=t+c|0}r=r+this.A|0,i=i+this.B|0,a=a+this.C|0,n=n+this.D|0,s=s+this.E|0,o=o+this.F|0,l=l+this.G|0,u=u+this.H|0,this.set(r,i,a,n,s,o,l,u)}roundClean(){uF.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}let uV=uu(()=>new uK),uG=new ArrayBuffer(0);class uH extends TypeError{constructor(){super(...arguments),this.name=uH.NAME}static isType(e,t){if("string"==typeof t){if("Array"===t&&Array.isArray(e))return!0;else if("ArrayBuffer"===t&&e instanceof ArrayBuffer)return!0;else if("ArrayBufferView"===t&&ArrayBuffer.isView(e))return!0;else if(typeof e===t)return!0}else if(e instanceof t)return!0;return!1}static assert(e,t,...r){for(let t of r)if(this.isType(e,t))return;let i=r.map(e=>e instanceof Function&&"name"in e?e.name:`${e}`);throw new uH(`Parameter '${t}' is not of type ${i.length>1?`(${i.join(" or ")})`:i[0]}`)}}uH.NAME="ArgumentError";class uW extends TypeError{static assert(...e){let t,r,i=null;for(let a of("string"==typeof e[0]?(i=e[0],t=e[1],r=e.slice(2)):(t=e[0],r=e.slice(1)),uH.assert(t,"parameters","object"),r))if(null==t[a])throw new uW(a,i)}static assertEmpty(e,t,r){if(null==e)throw new uW(t,r)}constructor(e,t=null,r){super(),this.name=uW.NAME,this.field=e,t&&(this.target=t),r?this.message=r:this.message=`Absent mandatory parameter '${e}' ${t?` in '${t}'`:""}`}}uW.NAME="ParameterError";class uJ extends Error{static assertSchema(e,t){if(!e.verified)throw Error(`Object's schema was not verified against input data for ${t}`)}static assert(e,t){if(-1===e.offset)throw new uJ(`Error during parsing of ASN.1 data. Data is not correct for '${t}'.`)}constructor(e){super(e),this.name="AsnError"}}class uz{static blockName(){return this.CLASS_NAME}static fromBER(e){let t=tD(e);uJ.assert(t,this.name);try{return new this({schema:t.result})}catch(e){throw new uJ(`Cannot create '${this.CLASS_NAME}' from ASN.1 object`)}}static defaultValues(e){throw Error(`Invalid member name for ${this.CLASS_NAME} class: ${e}`)}static schema(e={}){throw Error(`Method '${this.CLASS_NAME}.schema' should be overridden`)}get className(){return this.constructor.CLASS_NAME}toString(e="hex"){let t;try{t=this.toSchema()}catch{t=this.toSchema(!0)}return eY.ToString(t.toBER(),e)}}function uZ(e){let t=!1,r="",i=e.trim();for(let e=0;e<i.length;e++)32===i.charCodeAt(e)?!1===t&&(t=!0):(t&&(r+=" ",t=!1),r+=i[e]);return r.toLowerCase()}uz.CLASS_NAME="PkiObject";let uY="type",uQ="value";class uX extends uz{constructor(e={}){super(),this.type=eQ(e,uY,uX.defaultValues(uY)),this.value=eQ(e,uQ,uX.defaultValues(uQ)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case uY:return"";case uQ:return{};default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tz({name:t.type||""}),new rg({name:t.value||""})]})}fromSchema(e){ta(e,[uY,"typeValue"]);let t=rv(e,e,uX.schema({names:{type:uY,value:"typeValue"}}));uJ.assertSchema(t,this.className),this.type=t.result.type.valueBlock.toString(),this.value=t.result.typeValue}toSchema(){return new tX({value:[new tz({value:this.type}),this.value]})}toJSON(){let e={type:this.type};return 0!==Object.keys(this.value).length?e.value=this.value.toJSON():e.value=this.value,e}isEqual(e){let t=[t6.blockName(),t5.blockName(),t7.blockName(),re.blockName(),rt.blockName(),rr.blockName(),ri.blockName(),ra.blockName(),rn.blockName(),rs.blockName(),ro.blockName(),rl.blockName()];if(e instanceof ArrayBuffer)return eV.isEqual(this.value.valueBeforeDecodeView,e);if(e.constructor.blockName()===uX.blockName()){if(this.type!==e.type)return!1;let r=[!1,!1],i=this.value.constructor.blockName();for(let a of t)i===a&&(r[0]=!0),e.value.constructor.blockName()===a&&(r[1]=!0);if(r[0]!==r[1])return!1;if(r[0]&&r[1]){let t=uZ(this.value.valueBlock.value),r=uZ(e.value.valueBlock.value);if(0!==t.localeCompare(r))return!1}else if(!eV.isEqual(this.value.valueBeforeDecodeView,e.value.valueBeforeDecodeView))return!1;return!0}return!1}}uX.CLASS_NAME="AttributeTypeAndValue";let u0="typesAndValues",u1="valueBeforeDecode";class u2 extends uz{constructor(e={}){super(),this.typesAndValues=eQ(e,u0,u2.defaultValues(u0)),this.valueBeforeDecode=eQ(e,u1,u2.defaultValues(u1)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case u0:return[];case u1:return uG;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case u0:return 0===t.length;case u1:return 0===t.byteLength;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new rw({name:t.repeatedSequence||"",value:new t0({value:[new rw({name:t.repeatedSet||"",value:uX.schema(t.typeAndValue||{})})]})})]})}fromSchema(e){ta(e,["RDN",u0]);let t=rv(e,e,u2.schema({names:{blockName:"RDN",repeatedSet:u0}}));uJ.assertSchema(t,this.className),u0 in t.result&&(this.typesAndValues=Array.from(t.result.typesAndValues,e=>new uX({schema:e}))),this.valueBeforeDecode=t.result.RDN.valueBeforeDecodeView.slice().buffer}toSchema(){if(0===this.valueBeforeDecode.byteLength)return new tX({value:[new t0({value:Array.from(this.typesAndValues,e=>e.toSchema())})]});let e=tD(this.valueBeforeDecode);if(uJ.assert(e,"RelativeDistinguishedNames"),!(e.result instanceof tX))throw Error("ASN.1 result should be SEQUENCE");return e.result}toJSON(){return{typesAndValues:Array.from(this.typesAndValues,e=>e.toJSON())}}isEqual(e){if(e instanceof u2){if(this.typesAndValues.length!==e.typesAndValues.length)return!1;for(let[t,r]of this.typesAndValues.entries())if(!1===r.isEqual(e.typesAndValues[t]))return!1;return!0}return e instanceof ArrayBuffer&&e6(this.valueBeforeDecode,e)}}u2.CLASS_NAME="RelativeDistinguishedNames";let u3="type",u4="value";class u6 extends uz{constructor(e={}){super(),this.type=eQ(e,u3,u6.defaultValues(u3)),this.value=eQ(e,u4,u6.defaultValues(u4)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case u3:return 9;case u4:return{};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case u3:return t===u6.defaultValues(e);case u4:return 0===Object.keys(t).length;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new ry({value:[new tO({idBlock:{tagClass:3,tagNumber:0},name:t.blockName||"",value:[new tz,new tO({idBlock:{tagClass:3,tagNumber:0},value:[new rg]})]}),new t_({name:t.blockName||"",idBlock:{tagClass:3,tagNumber:1}}),new t_({name:t.blockName||"",idBlock:{tagClass:3,tagNumber:2}}),new tO({idBlock:{tagClass:3,tagNumber:3},name:t.blockName||"",value:[function(e={},t=!1){let r=eQ(e,"names",{});return new tX({optional:t,value:[new tO({optional:!0,idBlock:{tagClass:2,tagNumber:1},name:r.country_name||"",value:[new ry({value:[new re,new rt]})]}),new tO({optional:!0,idBlock:{tagClass:2,tagNumber:2},name:r.administration_domain_name||"",value:[new ry({value:[new re,new rt]})]}),new t_({optional:!0,idBlock:{tagClass:3,tagNumber:0},name:r.network_address||"",isHexOnly:!0}),new t_({optional:!0,idBlock:{tagClass:3,tagNumber:1},name:r.terminal_identifier||"",isHexOnly:!0}),new tO({optional:!0,idBlock:{tagClass:3,tagNumber:2},name:r.private_domain_name||"",value:[new ry({value:[new re,new rt]})]}),new t_({optional:!0,idBlock:{tagClass:3,tagNumber:3},name:r.organization_name||"",isHexOnly:!0}),new t_({optional:!0,name:r.numeric_user_identifier||"",idBlock:{tagClass:3,tagNumber:4},isHexOnly:!0}),new tO({optional:!0,name:r.personal_name||"",idBlock:{tagClass:3,tagNumber:5},value:[new t_({idBlock:{tagClass:3,tagNumber:0},isHexOnly:!0}),new t_({optional:!0,idBlock:{tagClass:3,tagNumber:1},isHexOnly:!0}),new t_({optional:!0,idBlock:{tagClass:3,tagNumber:2},isHexOnly:!0}),new t_({optional:!0,idBlock:{tagClass:3,tagNumber:3},isHexOnly:!0})]}),new tO({optional:!0,name:r.organizational_unit_names||"",idBlock:{tagClass:3,tagNumber:6},value:[new rw({value:new rt})]})]})}(t.builtInStandardAttributes||{},!1),function(e=!1){return new tX({optional:e,value:[new rt,new rt]})}(!0),function(e=!1){return new t0({optional:e,value:[new t_({optional:!0,idBlock:{tagClass:3,tagNumber:0},isHexOnly:!0}),new tO({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new rg]})]})}(!0)]}),new tO({idBlock:{tagClass:3,tagNumber:4},name:t.blockName||"",value:[u2.schema(t.directoryName||{})]}),new tO({idBlock:{tagClass:3,tagNumber:5},name:t.blockName||"",value:[new tO({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new ry({value:[new rr,new rt,new t7,new t6,new t5]})]}),new tO({idBlock:{tagClass:3,tagNumber:1},value:[new ry({value:[new rr,new rt,new t7,new t6,new t5]})]})]}),new t_({name:t.blockName||"",idBlock:{tagClass:3,tagNumber:6}}),new t_({name:t.blockName||"",idBlock:{tagClass:3,tagNumber:7}}),new t_({name:t.blockName||"",idBlock:{tagClass:3,tagNumber:8}})]})}fromSchema(e){ta(e,["blockName","otherName","rfc822Name","dNSName","x400Address","directoryName","ediPartyName","uniformResourceIdentifier","iPAddress","registeredID"]);let t=rv(e,e,u6.schema({names:{blockName:"blockName",otherName:"otherName",rfc822Name:"rfc822Name",dNSName:"dNSName",x400Address:"x400Address",directoryName:{names:{blockName:"directoryName"}},ediPartyName:"ediPartyName",uniformResourceIdentifier:"uniformResourceIdentifier",iPAddress:"iPAddress",registeredID:"registeredID"}}));switch(uJ.assertSchema(t,this.className),this.type=t.result.blockName.idBlock.tagNumber,this.type){case 0:case 3:this.value=t.result.blockName;break;case 1:case 2:case 6:{let e=t.result.blockName;e.idBlock.tagClass=1,e.idBlock.tagNumber=22;let r=tD(e.toBER(!1));uJ.assert(r,"GeneralName value"),this.value=r.result.valueBlock.value}break;case 4:this.value=new u2({schema:t.result.directoryName});break;case 5:this.value=t.result.ediPartyName;break;case 7:this.value=new tq({valueHex:t.result.blockName.valueBlock.valueHex});break;case 8:{let e=t.result.blockName;e.idBlock.tagClass=1,e.idBlock.tagNumber=6;let r=tD(e.toBER(!1));uJ.assert(r,"GeneralName registeredID"),this.value=r.result.valueBlock.toString()}}}toSchema(){switch(this.type){case 0:case 3:case 5:return new tO({idBlock:{tagClass:3,tagNumber:this.type},value:[this.value]});case 1:case 2:case 6:{let e=new ra({value:this.value});return e.idBlock.tagClass=3,e.idBlock.tagNumber=this.type,e}case 4:return new tO({idBlock:{tagClass:3,tagNumber:4},value:[this.value.toSchema()]});case 7:{let e=this.value;return e.idBlock.tagClass=3,e.idBlock.tagNumber=this.type,e}case 8:{let e=new tz({value:this.value});return e.idBlock.tagClass=3,e.idBlock.tagNumber=this.type,e}default:return u6.schema()}}toJSON(){let e={type:this.type,value:""};if("string"==typeof this.value)e.value=this.value;else try{e.value=this.value.toJSON()}catch{}return e}}u6.CLASS_NAME="GeneralName";let u8="accessMethod",u5="accessLocation",u9=[u8,u5];class u7 extends uz{constructor(e={}){super(),this.accessMethod=eQ(e,u8,u7.defaultValues(u8)),this.accessLocation=eQ(e,u5,u7.defaultValues(u5)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case u8:return"";case u5:return new u6;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tz({name:t.accessMethod||""}),u6.schema(t.accessLocation||{})]})}fromSchema(e){ta(e,u9);let t=rv(e,e,u7.schema({names:{accessMethod:u8,accessLocation:{names:{blockName:u5}}}}));uJ.assertSchema(t,this.className),this.accessMethod=t.result.accessMethod.valueBlock.toString(),this.accessLocation=new u6({schema:t.result.accessLocation})}toSchema(){return new tX({value:[new tz({value:this.accessMethod}),this.accessLocation.toSchema()]})}toJSON(){return{accessMethod:this.accessMethod,accessLocation:this.accessLocation.toJSON()}}}u7.CLASS_NAME="AccessDescription";let ce="seconds",ct="millis",cr="micros";class ci extends uz{constructor(e={}){super(),ce in e&&(this.seconds=eQ(e,ce,ci.defaultValues(ce))),ct in e&&(this.millis=eQ(e,ct,ci.defaultValues(ct))),cr in e&&(this.micros=eQ(e,cr,ci.defaultValues(cr))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case ce:case ct:case cr:return 0;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case ce:case ct:case cr:return t===ci.defaultValues(e);default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",optional:!0,value:[new tG({optional:!0,name:t.seconds||""}),new t_({name:t.millis||"",optional:!0,idBlock:{tagClass:3,tagNumber:0}}),new t_({name:t.micros||"",optional:!0,idBlock:{tagClass:3,tagNumber:1}})]})}fromSchema(e){ta(e,[ce,ct,cr]);let t=rv(e,e,ci.schema({names:{seconds:ce,millis:ct,micros:cr}}));if(uJ.assertSchema(t,this.className),"seconds"in t.result&&(this.seconds=t.result.seconds.valueBlock.valueDec),"millis"in t.result){let e=new tG({valueHex:t.result.millis.valueBlock.valueHex});this.millis=e.valueBlock.valueDec}if("micros"in t.result){let e=new tG({valueHex:t.result.micros.valueBlock.valueHex});this.micros=e.valueBlock.valueDec}}toSchema(){let e=[];if(void 0!==this.seconds&&e.push(new tG({value:this.seconds})),void 0!==this.millis){let t=new tG({value:this.millis});e.push(new t_({idBlock:{tagClass:3,tagNumber:0},valueHex:t.valueBlock.valueHexView}))}if(void 0!==this.micros){let t=new tG({value:this.micros});e.push(new t_({idBlock:{tagClass:3,tagNumber:1},valueHex:t.valueBlock.valueHexView}))}return new tX({value:e})}toJSON(){let e={};return void 0!==this.seconds&&(e.seconds=this.seconds),void 0!==this.millis&&(e.millis=this.millis),void 0!==this.micros&&(e.micros=this.micros),e}}ci.CLASS_NAME="Accuracy";let ca="algorithmId",cn="algorithmParams",cs="algorithm",co="params",cl=[cs,co];class cu extends uz{constructor(e={}){super(),this.algorithmId=eQ(e,ca,cu.defaultValues(ca)),cn in e&&(this.algorithmParams=eQ(e,cn,cu.defaultValues(cn))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case ca:return"";case cn:return new rg;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case ca:return""===t;case cn:return t instanceof rg;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",optional:t.optional||!1,value:[new tz({name:t.algorithmIdentifier||""}),new rg({name:t.algorithmParams||"",optional:!0})]})}fromSchema(e){ta(e,cl);let t=rv(e,e,cu.schema({names:{algorithmIdentifier:cs,algorithmParams:co}}));uJ.assertSchema(t,this.className),this.algorithmId=t.result.algorithm.valueBlock.toString(),co in t.result&&(this.algorithmParams=t.result.params)}toSchema(){let e=[];return e.push(new tz({value:this.algorithmId})),!this.algorithmParams||this.algorithmParams instanceof rg||e.push(this.algorithmParams),new tX({value:e})}toJSON(){let e={algorithmId:this.algorithmId};return!this.algorithmParams||this.algorithmParams instanceof rg||(e.algorithmParams=this.algorithmParams.toJSON()),e}isEqual(e){return e instanceof cu&&this.algorithmId===e.algorithmId&&(this.algorithmParams?!!e.algorithmParams&&JSON.stringify(this.algorithmParams)===JSON.stringify(e.algorithmParams):!e.algorithmParams)}}cu.CLASS_NAME="AlgorithmIdentifier";let cc="altNames",cd=[cc];class cp extends uz{constructor(e={}){super(),this.altNames=eQ(e,cc,cp.defaultValues(cc)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){return e===cc?[]:super.defaultValues(e)}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new rw({name:t.altNames||"",value:u6.schema()})]})}fromSchema(e){ta(e,cd);let t=rv(e,e,cp.schema({names:{altNames:cc}}));uJ.assertSchema(t,this.className),cc in t.result&&(this.altNames=Array.from(t.result.altNames,e=>new u6({schema:e})))}toSchema(){return new tX({value:Array.from(this.altNames,e=>e.toSchema())})}toJSON(){return{altNames:Array.from(this.altNames,e=>e.toJSON())}}}cp.CLASS_NAME="AltName";let ch="type",cm="values",cf=[ch,cm];class cg extends uz{constructor(e={}){super(),this.type=eQ(e,ch,cg.defaultValues(ch)),this.values=eQ(e,cm,cg.defaultValues(cm)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case ch:return"";case cm:return[];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case ch:return""===t;case cm:return 0===t.length;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tz({name:t.type||""}),new t0({name:t.setName||"",value:[new rw({name:t.values||"",value:new rg})]})]})}fromSchema(e){ta(e,cf);let t=rv(e,e,cg.schema({names:{type:ch,values:cm}}));uJ.assertSchema(t,this.className),this.type=t.result.type.valueBlock.toString(),this.values=t.result.values}toSchema(){return new tX({value:[new tz({value:this.type}),new t0({value:this.values})]})}toJSON(){return{type:this.type,values:Array.from(this.values,e=>e.toJSON())}}}cg.CLASS_NAME="Attribute";let cy="notBeforeTime",cw="notAfterTime",cb=[cy,cw];class cv extends uz{constructor(e={}){super(),this.notBeforeTime=eQ(e,cy,cv.defaultValues(cy)),this.notAfterTime=eQ(e,cw,cv.defaultValues(cw)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case cy:case cw:return new Date(0,0,0);default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new rc({name:t.notBeforeTime||""}),new rc({name:t.notAfterTime||""})]})}fromSchema(e){ta(e,cb);let t=rv(e,e,cv.schema({names:{notBeforeTime:cy,notAfterTime:cw}}));uJ.assertSchema(t,this.className),this.notBeforeTime=t.result.notBeforeTime.toDate(),this.notAfterTime=t.result.notAfterTime.toDate()}toSchema(){return new tX({value:[new rc({valueDate:this.notBeforeTime}),new rc({valueDate:this.notAfterTime})]})}toJSON(){return{notBeforeTime:this.notBeforeTime,notAfterTime:this.notAfterTime}}}cv.CLASS_NAME="AttCertValidityPeriod";let ck="names",cS="generalNames";class cE extends uz{constructor(e={}){super(),this.names=eQ(e,ck,cE.defaultValues(ck)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){return"names"===e?[]:super.defaultValues(e)}static schema(e={},t=!1){let r=eQ(e,ck,{});return new tX({optional:t,name:r.blockName||"",value:[new rw({name:r.generalNames||"",value:u6.schema()})]})}fromSchema(e){ta(e,[ck,cS]);let t=rv(e,e,cE.schema({names:{blockName:ck,generalNames:cS}}));uJ.assertSchema(t,this.className),this.names=Array.from(t.result.generalNames,e=>new u6({schema:e}))}toSchema(){return new tX({value:Array.from(this.names,e=>e.toSchema())})}toJSON(){return{names:Array.from(this.names,e=>e.toJSON())}}}cE.CLASS_NAME="GeneralNames";let cI="2.5.29.17",cx="2.5.29.18",cA="2.5.29.19",c_="2.5.29.28",cC="2.5.29.29",cR="2.5.29.30",cT="2.5.29.31",cD="2.5.29.46",cN="2.5.29.32",cO="2.5.29.32.0",cP="2.5.29.33",c$="2.5.29.35",cU="2.5.29.36",cB="1.3.6.1.5.5.7.1.1",cj="1.2.840.113549.1.7.1",cL="1.2.840.113549.1.7.2",cq="1.2.840.113549.1.7.3",cM="1.2.840.113549.1.7.6",cF="1.2.840.113549.1.9.22.1",cK="1.2.840.113549.1.9.22.3",cV="1.2.840.113549.1.9.23.1",cG="1.3.6.1.5.5.7.48.1.1",cH="keyIdentifier",cW="authorityCertIssuer",cJ="authorityCertSerialNumber",cz=[cH,cW,cJ];class cZ extends uz{constructor(e={}){super(),cH in e&&(this.keyIdentifier=eQ(e,cH,cZ.defaultValues(cH))),cW in e&&(this.authorityCertIssuer=eQ(e,cW,cZ.defaultValues(cW))),cJ in e&&(this.authorityCertSerialNumber=eQ(e,cJ,cZ.defaultValues(cJ))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case cH:return new tq;case cW:return[];case cJ:return new tG;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new t_({name:t.keyIdentifier||"",optional:!0,idBlock:{tagClass:3,tagNumber:0}}),new tO({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new rw({name:t.authorityCertIssuer||"",value:u6.schema()})]}),new t_({name:t.authorityCertSerialNumber||"",optional:!0,idBlock:{tagClass:3,tagNumber:2}})]})}fromSchema(e){ta(e,cz);let t=rv(e,e,cZ.schema({names:{keyIdentifier:cH,authorityCertIssuer:cW,authorityCertSerialNumber:cJ}}));uJ.assertSchema(t,this.className),cH in t.result&&(this.keyIdentifier=new tq({valueHex:t.result.keyIdentifier.valueBlock.valueHex})),cW in t.result&&(this.authorityCertIssuer=Array.from(t.result.authorityCertIssuer,e=>new u6({schema:e}))),cJ in t.result&&(this.authorityCertSerialNumber=new tG({valueHex:t.result.authorityCertSerialNumber.valueBlock.valueHex}))}toSchema(){let e=[];return this.keyIdentifier&&e.push(new t_({idBlock:{tagClass:3,tagNumber:0},valueHex:this.keyIdentifier.valueBlock.valueHexView})),this.authorityCertIssuer&&e.push(new tO({idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.authorityCertIssuer,e=>e.toSchema())})),this.authorityCertSerialNumber&&e.push(new t_({idBlock:{tagClass:3,tagNumber:2},valueHex:this.authorityCertSerialNumber.valueBlock.valueHexView})),new tX({value:e})}toJSON(){let e={};return this.keyIdentifier&&(e.keyIdentifier=this.keyIdentifier.toJSON()),this.authorityCertIssuer&&(e.authorityCertIssuer=Array.from(this.authorityCertIssuer,e=>e.toJSON())),this.authorityCertSerialNumber&&(e.authorityCertSerialNumber=this.authorityCertSerialNumber.toJSON()),e}}cZ.CLASS_NAME="AuthorityKeyIdentifier";let cY="pathLenConstraint";class cQ extends uz{constructor(e={}){super(),this.cA=eQ(e,"cA",!1),cY in e&&(this.pathLenConstraint=eQ(e,cY,0)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){return"cA"!==e&&super.defaultValues(e)}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tj({optional:!0,name:t.cA||""}),new tG({optional:!0,name:t.pathLenConstraint||""})]})}fromSchema(e){ta(e,["cA",cY]);let t=rv(e,e,cQ.schema({names:{cA:"cA",pathLenConstraint:cY}}));uJ.assertSchema(t,this.className),"cA"in t.result&&(this.cA=t.result.cA.valueBlock.value),cY in t.result&&(t.result.pathLenConstraint.valueBlock.isHexOnly?this.pathLenConstraint=t.result.pathLenConstraint:this.pathLenConstraint=t.result.pathLenConstraint.valueBlock.valueDec)}toSchema(){let e=[];return this.cA!==cQ.defaultValues("cA")&&e.push(new tj({value:this.cA})),cY in this&&(this.pathLenConstraint instanceof tG?e.push(this.pathLenConstraint):e.push(new tG({value:this.pathLenConstraint}))),new tX({value:e})}toJSON(){let e={};return this.cA!==cQ.defaultValues("cA")&&(e.cA=this.cA),cY in this&&(this.pathLenConstraint instanceof tG?e.pathLenConstraint=this.pathLenConstraint.toJSON():e.pathLenConstraint=this.pathLenConstraint),e}}cQ.CLASS_NAME="BasicConstraints";let cX="certificateIndex",c0="keyIndex";class c1 extends uz{constructor(e={}){super(),this.certificateIndex=eQ(e,cX,c1.defaultValues(cX)),this.keyIndex=eQ(e,c0,c1.defaultValues(c0)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case cX:case c0:return 0;default:return super.defaultValues(e)}}static schema(){return new tG}fromSchema(e){if(e.constructor.blockName()!==tG.blockName())throw Error("Object's schema was not verified against input data for CAVersion");let t=e.valueBlock.valueHex.slice(0),r=new Uint8Array(t);switch(!0){case t.byteLength<4:{let e=new ArrayBuffer(4);new Uint8Array(e).set(r,4-t.byteLength),t=e.slice(0)}break;case t.byteLength>4:{let e=new ArrayBuffer(4);new Uint8Array(e).set(r.slice(0,4)),t=e.slice(0)}}let i=t.slice(0,2),a=new Uint8Array(i),n=a[0];a[0]=a[1],a[1]=n;let s=new Uint16Array(i);this.keyIndex=s[0];let o=t.slice(2),l=new Uint8Array(o);n=l[0],l[0]=l[1],l[1]=n;let u=new Uint16Array(o);this.certificateIndex=u[0]}toSchema(){let e=new ArrayBuffer(2);new Uint16Array(e)[0]=this.certificateIndex;let t=new Uint8Array(e),r=t[0];t[0]=t[1],t[1]=r;let i=new ArrayBuffer(2);new Uint16Array(i)[0]=this.keyIndex;let a=new Uint8Array(i);return r=a[0],a[0]=a[1],a[1]=r,new tG({valueHex:e2(i,e)})}toJSON(){return{certificateIndex:this.certificateIndex,keyIndex:this.keyIndex}}}c1.CLASS_NAME="CAVersion";let c2="policyQualifierId",c3="qualifier",c4=[c2,c3];class c6 extends uz{constructor(e={}){super(),this.policyQualifierId=eQ(e,c2,c6.defaultValues(c2)),this.qualifier=eQ(e,c3,c6.defaultValues(c3)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case c2:return"";case c3:return new rg;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tz({name:t.policyQualifierId||""}),new rg({name:t.qualifier||""})]})}fromSchema(e){ta(e,c4);let t=rv(e,e,c6.schema({names:{policyQualifierId:c2,qualifier:c3}}));uJ.assertSchema(t,this.className),this.policyQualifierId=t.result.policyQualifierId.valueBlock.toString(),this.qualifier=t.result.qualifier}toSchema(){return new tX({value:[new tz({value:this.policyQualifierId}),this.qualifier]})}toJSON(){return{policyQualifierId:this.policyQualifierId,qualifier:this.qualifier.toJSON()}}}c6.CLASS_NAME="PolicyQualifierInfo";let c8="policyIdentifier",c5="policyQualifiers",c9=[c8,c5];class c7 extends uz{constructor(e={}){super(),this.policyIdentifier=eQ(e,c8,c7.defaultValues(c8)),c5 in e&&(this.policyQualifiers=eQ(e,c5,c7.defaultValues(c5))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case c8:return"";case c5:return[];default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tz({name:t.policyIdentifier||""}),new tX({optional:!0,value:[new rw({name:t.policyQualifiers||"",value:c6.schema()})]})]})}fromSchema(e){ta(e,c9);let t=rv(e,e,c7.schema({names:{policyIdentifier:c8,policyQualifiers:c5}}));uJ.assertSchema(t,this.className),this.policyIdentifier=t.result.policyIdentifier.valueBlock.toString(),c5 in t.result&&(this.policyQualifiers=Array.from(t.result.policyQualifiers,e=>new c6({schema:e})))}toSchema(){let e=[];return e.push(new tz({value:this.policyIdentifier})),this.policyQualifiers&&e.push(new tX({value:Array.from(this.policyQualifiers,e=>e.toSchema())})),new tX({value:e})}toJSON(){let e={policyIdentifier:this.policyIdentifier};return this.policyQualifiers&&(e.policyQualifiers=Array.from(this.policyQualifiers,e=>e.toJSON())),e}}c7.CLASS_NAME="PolicyInformation";let de="certificatePolicies",dt=[de];class dr extends uz{constructor(e={}){super(),this.certificatePolicies=eQ(e,de,dr.defaultValues(de)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){return e===de?[]:super.defaultValues(e)}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new rw({name:t.certificatePolicies||"",value:c7.schema()})]})}fromSchema(e){ta(e,dt);let t=rv(e,e,dr.schema({names:{certificatePolicies:de}}));uJ.assertSchema(t,this.className),this.certificatePolicies=Array.from(t.result.certificatePolicies,e=>new c7({schema:e}))}toSchema(){return new tX({value:Array.from(this.certificatePolicies,e=>e.toSchema())})}toJSON(){return{certificatePolicies:Array.from(this.certificatePolicies,e=>e.toJSON())}}}dr.CLASS_NAME="CertificatePolicies";let di="templateID",da="templateMajorVersion",dn="templateMinorVersion",ds=[di,da,dn];class dl extends uz{constructor(e={}){super(),this.templateID=eQ(e,di,dl.defaultValues(di)),da in e&&(this.templateMajorVersion=eQ(e,da,dl.defaultValues(da))),dn in e&&(this.templateMinorVersion=eQ(e,dn,dl.defaultValues(dn))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case di:return"";case da:case dn:return 0;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tz({name:t.templateID||""}),new tG({name:t.templateMajorVersion||"",optional:!0}),new tG({name:t.templateMinorVersion||"",optional:!0})]})}fromSchema(e){ta(e,ds);let t=rv(e,e,dl.schema({names:{templateID:di,templateMajorVersion:da,templateMinorVersion:dn}}));uJ.assertSchema(t,this.className),this.templateID=t.result.templateID.valueBlock.toString(),da in t.result&&(this.templateMajorVersion=t.result.templateMajorVersion.valueBlock.valueDec),dn in t.result&&(this.templateMinorVersion=t.result.templateMinorVersion.valueBlock.valueDec)}toSchema(){let e=[];return e.push(new tz({value:this.templateID})),da in this&&e.push(new tG({value:this.templateMajorVersion})),dn in this&&e.push(new tG({value:this.templateMinorVersion})),new tX({value:e})}toJSON(){let e={templateID:this.templateID};return da in this&&(e.templateMajorVersion=this.templateMajorVersion),dn in this&&(e.templateMinorVersion=this.templateMinorVersion),e}}let du="distributionPoint",dc="distributionPointNames",dd="reasons",dp="cRLIssuer",dh="cRLIssuerNames",dm=[du,dc,dd,dp,dh];class df extends uz{constructor(e={}){super(),du in e&&(this.distributionPoint=eQ(e,du,df.defaultValues(du))),dd in e&&(this.reasons=eQ(e,dd,df.defaultValues(dd))),dp in e&&(this.cRLIssuer=eQ(e,dp,df.defaultValues(dp))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case du:return[];case dd:return new tF;case dp:return[];default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tO({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new ry({value:[new tO({name:t.distributionPoint||"",optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new rw({name:t.distributionPointNames||"",value:u6.schema()})]}),new tO({name:t.distributionPoint||"",optional:!0,idBlock:{tagClass:3,tagNumber:1},value:u2.schema().valueBlock.value})]})]}),new t_({name:t.reasons||"",optional:!0,idBlock:{tagClass:3,tagNumber:1}}),new tO({name:t.cRLIssuer||"",optional:!0,idBlock:{tagClass:3,tagNumber:2},value:[new rw({name:t.cRLIssuerNames||"",value:u6.schema()})]})]})}fromSchema(e){ta(e,dm);let t=rv(e,e,df.schema({names:{distributionPoint:du,distributionPointNames:dc,reasons:dd,cRLIssuer:dp,cRLIssuerNames:dh}}));uJ.assertSchema(t,this.className),du in t.result&&(0===t.result.distributionPoint.idBlock.tagNumber&&(this.distributionPoint=Array.from(t.result.distributionPointNames,e=>new u6({schema:e}))),1===t.result.distributionPoint.idBlock.tagNumber&&(this.distributionPoint=new u2({schema:new tX({value:t.result.distributionPoint.valueBlock.value})}))),dd in t.result&&(this.reasons=new tF({valueHex:t.result.reasons.valueBlock.valueHex})),dp in t.result&&(this.cRLIssuer=Array.from(t.result.cRLIssuerNames,e=>new u6({schema:e})))}toSchema(){let e=[];if(this.distributionPoint){let t;t=new tO(this.distributionPoint instanceof Array?{idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.distributionPoint,e=>e.toSchema())}:{idBlock:{tagClass:3,tagNumber:1},value:[this.distributionPoint.toSchema()]}),e.push(new tO({idBlock:{tagClass:3,tagNumber:0},value:[t]}))}return this.reasons&&e.push(new t_({idBlock:{tagClass:3,tagNumber:1},valueHex:this.reasons.valueBlock.valueHexView})),this.cRLIssuer&&e.push(new tO({idBlock:{tagClass:3,tagNumber:2},value:Array.from(this.cRLIssuer,e=>e.toSchema())})),new tX({value:e})}toJSON(){let e={};return this.distributionPoint&&(this.distributionPoint instanceof Array?e.distributionPoint=Array.from(this.distributionPoint,e=>e.toJSON()):e.distributionPoint=this.distributionPoint.toJSON()),this.reasons&&(e.reasons=this.reasons.toJSON()),this.cRLIssuer&&(e.cRLIssuer=Array.from(this.cRLIssuer,e=>e.toJSON())),e}}df.CLASS_NAME="DistributionPoint";let dg="distributionPoints",dy=[dg];class dw extends uz{constructor(e={}){super(),this.distributionPoints=eQ(e,dg,dw.defaultValues(dg)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){return e===dg?[]:super.defaultValues(e)}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new rw({name:t.distributionPoints||"",value:df.schema()})]})}fromSchema(e){ta(e,dy);let t=rv(e,e,dw.schema({names:{distributionPoints:dg}}));uJ.assertSchema(t,this.className),this.distributionPoints=Array.from(t.result.distributionPoints,e=>new df({schema:e}))}toSchema(){return new tX({value:Array.from(this.distributionPoints,e=>e.toSchema())})}toJSON(){return{distributionPoints:Array.from(this.distributionPoints,e=>e.toJSON())}}}dw.CLASS_NAME="CRLDistributionPoints";let db="keyPurposes",dv=[db];class dk extends uz{constructor(e={}){super(),this.keyPurposes=eQ(e,db,dk.defaultValues(db)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){return e===db?[]:super.defaultValues(e)}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new rw({name:t.keyPurposes||"",value:new tz})]})}fromSchema(e){ta(e,dv);let t=rv(e,e,dk.schema({names:{keyPurposes:db}}));uJ.assertSchema(t,this.className),this.keyPurposes=Array.from(t.result.keyPurposes,e=>e.valueBlock.toString())}toSchema(){return new tX({value:Array.from(this.keyPurposes,e=>new tz({value:e}))})}toJSON(){return{keyPurposes:Array.from(this.keyPurposes)}}}dk.CLASS_NAME="ExtKeyUsage";let dS="accessDescriptions";class dE extends uz{constructor(e={}){super(),this.accessDescriptions=eQ(e,dS,dE.defaultValues(dS)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){return e===dS?[]:super.defaultValues(e)}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new rw({name:t.accessDescriptions||"",value:u7.schema()})]})}fromSchema(e){ta(e,[dS]);let t=rv(e,e,dE.schema({names:{accessDescriptions:dS}}));uJ.assertSchema(t,this.className),this.accessDescriptions=Array.from(t.result.accessDescriptions,e=>new u7({schema:e}))}toSchema(){return new tX({value:Array.from(this.accessDescriptions,e=>e.toSchema())})}toJSON(){return{accessDescriptions:Array.from(this.accessDescriptions,e=>e.toJSON())}}}dE.CLASS_NAME="InfoAccess";let dI="distributionPoint",dx="distributionPointNames",dA="onlyContainsUserCerts",d_="onlyContainsCACerts",dC="onlySomeReasons",dR="indirectCRL",dT="onlyContainsAttributeCerts",dD=[dI,dx,dA,d_,dC,dR,dT];class dN extends uz{constructor(e={}){super(),dI in e&&(this.distributionPoint=eQ(e,dI,dN.defaultValues(dI))),this.onlyContainsUserCerts=eQ(e,dA,dN.defaultValues(dA)),this.onlyContainsCACerts=eQ(e,d_,dN.defaultValues(d_)),dC in e&&(this.onlySomeReasons=eQ(e,dC,dN.defaultValues(dC))),this.indirectCRL=eQ(e,dR,dN.defaultValues(dR)),this.onlyContainsAttributeCerts=eQ(e,dT,dN.defaultValues(dT)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case dI:return[];case dA:case d_:return!1;case dC:return 0;case dR:case dT:return!1;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tO({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new ry({value:[new tO({name:t.distributionPoint||"",idBlock:{tagClass:3,tagNumber:0},value:[new rw({name:t.distributionPointNames||"",value:u6.schema()})]}),new tO({name:t.distributionPoint||"",idBlock:{tagClass:3,tagNumber:1},value:u2.schema().valueBlock.value})]})]}),new t_({name:t.onlyContainsUserCerts||"",optional:!0,idBlock:{tagClass:3,tagNumber:1}}),new t_({name:t.onlyContainsCACerts||"",optional:!0,idBlock:{tagClass:3,tagNumber:2}}),new t_({name:t.onlySomeReasons||"",optional:!0,idBlock:{tagClass:3,tagNumber:3}}),new t_({name:t.indirectCRL||"",optional:!0,idBlock:{tagClass:3,tagNumber:4}}),new t_({name:t.onlyContainsAttributeCerts||"",optional:!0,idBlock:{tagClass:3,tagNumber:5}})]})}fromSchema(e){ta(e,dD);let t=rv(e,e,dN.schema({names:{distributionPoint:dI,distributionPointNames:dx,onlyContainsUserCerts:dA,onlyContainsCACerts:d_,onlySomeReasons:dC,indirectCRL:dR,onlyContainsAttributeCerts:dT}}));if(uJ.assertSchema(t,this.className),dI in t.result)switch(!0){case 0===t.result.distributionPoint.idBlock.tagNumber:this.distributionPoint=Array.from(t.result.distributionPointNames,e=>new u6({schema:e}));break;case 1===t.result.distributionPoint.idBlock.tagNumber:this.distributionPoint=new u2({schema:new tX({value:t.result.distributionPoint.valueBlock.value})});break;default:throw Error("Unknown tagNumber for distributionPoint: {$asn1.result.distributionPoint.idBlock.tagNumber}")}if(dA in t.result){let e=new Uint8Array(t.result.onlyContainsUserCerts.valueBlock.valueHex);this.onlyContainsUserCerts=0!==e[0]}if(d_ in t.result){let e=new Uint8Array(t.result.onlyContainsCACerts.valueBlock.valueHex);this.onlyContainsCACerts=0!==e[0]}if(dC in t.result){let e=new Uint8Array(t.result.onlySomeReasons.valueBlock.valueHex);this.onlySomeReasons=e[0]}if(dR in t.result){let e=new Uint8Array(t.result.indirectCRL.valueBlock.valueHex);this.indirectCRL=0!==e[0]}if(dT in t.result){let e=new Uint8Array(t.result.onlyContainsAttributeCerts.valueBlock.valueHex);this.onlyContainsAttributeCerts=0!==e[0]}}toSchema(){let e=[];if(this.distributionPoint){let t;this.distributionPoint instanceof Array?t=new tO({idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.distributionPoint,e=>e.toSchema())}):((t=this.distributionPoint.toSchema()).idBlock.tagClass=3,t.idBlock.tagNumber=1),e.push(new tO({idBlock:{tagClass:3,tagNumber:0},value:[t]}))}if(this.onlyContainsUserCerts!==dN.defaultValues(dA)&&e.push(new t_({idBlock:{tagClass:3,tagNumber:1},valueHex:new Uint8Array([255]).buffer})),this.onlyContainsCACerts!==dN.defaultValues(d_)&&e.push(new t_({idBlock:{tagClass:3,tagNumber:2},valueHex:new Uint8Array([255]).buffer})),void 0!==this.onlySomeReasons){let t=new ArrayBuffer(1);new Uint8Array(t)[0]=this.onlySomeReasons,e.push(new t_({idBlock:{tagClass:3,tagNumber:3},valueHex:t}))}return this.indirectCRL!==dN.defaultValues(dR)&&e.push(new t_({idBlock:{tagClass:3,tagNumber:4},valueHex:new Uint8Array([255]).buffer})),this.onlyContainsAttributeCerts!==dN.defaultValues(dT)&&e.push(new t_({idBlock:{tagClass:3,tagNumber:5},valueHex:new Uint8Array([255]).buffer})),new tX({value:e})}toJSON(){let e={};return this.distributionPoint&&(this.distributionPoint instanceof Array?e.distributionPoint=Array.from(this.distributionPoint,e=>e.toJSON()):e.distributionPoint=this.distributionPoint.toJSON()),this.onlyContainsUserCerts!==dN.defaultValues(dA)&&(e.onlyContainsUserCerts=this.onlyContainsUserCerts),this.onlyContainsCACerts!==dN.defaultValues(d_)&&(e.onlyContainsCACerts=this.onlyContainsCACerts),dC in this&&(e.onlySomeReasons=this.onlySomeReasons),this.indirectCRL!==dN.defaultValues(dR)&&(e.indirectCRL=this.indirectCRL),this.onlyContainsAttributeCerts!==dN.defaultValues(dT)&&(e.onlyContainsAttributeCerts=this.onlyContainsAttributeCerts),e}}dN.CLASS_NAME="IssuingDistributionPoint";let dO="base",dP="minimum",d$="maximum",dU=[dO,dP,d$];class dB extends uz{constructor(e={}){super(),this.base=eQ(e,dO,dB.defaultValues(dO)),this.minimum=eQ(e,dP,dB.defaultValues(dP)),d$ in e&&(this.maximum=eQ(e,d$,dB.defaultValues(d$))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case dO:return new u6;case dP:case d$:return 0;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[u6.schema(t.base||{}),new tO({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new tG({name:t.minimum||""})]}),new tO({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new tG({name:t.maximum||""})]})]})}fromSchema(e){ta(e,dU);let t=rv(e,e,dB.schema({names:{base:{names:{blockName:dO}},minimum:dP,maximum:d$}}));uJ.assertSchema(t,this.className),this.base=new u6({schema:t.result.base}),dP in t.result&&(t.result.minimum.valueBlock.isHexOnly?this.minimum=t.result.minimum:this.minimum=t.result.minimum.valueBlock.valueDec),d$ in t.result&&(t.result.maximum.valueBlock.isHexOnly?this.maximum=t.result.maximum:this.maximum=t.result.maximum.valueBlock.valueDec)}toSchema(){let e=[];if(e.push(this.base.toSchema()),0!==this.minimum){let t=0;t=this.minimum instanceof tG?this.minimum:new tG({value:this.minimum}),e.push(new tO({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[t]}))}if(d$ in this){let t=0;t=this.maximum instanceof tG?this.maximum:new tG({value:this.maximum}),e.push(new tO({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[t]}))}return new tX({value:e})}toJSON(){let e={base:this.base.toJSON()};return 0!==this.minimum&&("number"==typeof this.minimum?e.minimum=this.minimum:e.minimum=this.minimum.toJSON()),void 0!==this.maximum&&("number"==typeof this.maximum?e.maximum=this.maximum:e.maximum=this.maximum.toJSON()),e}}dB.CLASS_NAME="GeneralSubtree";let dj="permittedSubtrees",dL="excludedSubtrees",dq=[dj,dL];class dM extends uz{constructor(e={}){super(),dj in e&&(this.permittedSubtrees=eQ(e,dj,dM.defaultValues(dj))),dL in e&&(this.excludedSubtrees=eQ(e,dL,dM.defaultValues(dL))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case dj:case dL:return[];default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tO({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new rw({name:t.permittedSubtrees||"",value:dB.schema()})]}),new tO({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new rw({name:t.excludedSubtrees||"",value:dB.schema()})]})]})}fromSchema(e){ta(e,dq);let t=rv(e,e,dM.schema({names:{permittedSubtrees:dj,excludedSubtrees:dL}}));uJ.assertSchema(t,this.className),dj in t.result&&(this.permittedSubtrees=Array.from(t.result.permittedSubtrees,e=>new dB({schema:e}))),dL in t.result&&(this.excludedSubtrees=Array.from(t.result.excludedSubtrees,e=>new dB({schema:e})))}toSchema(){let e=[];return this.permittedSubtrees&&e.push(new tO({idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.permittedSubtrees,e=>e.toSchema())})),this.excludedSubtrees&&e.push(new tO({idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.excludedSubtrees,e=>e.toSchema())})),new tX({value:e})}toJSON(){let e={};return this.permittedSubtrees&&(e.permittedSubtrees=Array.from(this.permittedSubtrees,e=>e.toJSON())),this.excludedSubtrees&&(e.excludedSubtrees=Array.from(this.excludedSubtrees,e=>e.toJSON())),e}}dM.CLASS_NAME="NameConstraints";let dF="requireExplicitPolicy",dK="inhibitPolicyMapping",dV=[dF,dK];class dG extends uz{constructor(e={}){super(),dF in e&&(this.requireExplicitPolicy=eQ(e,dF,dG.defaultValues(dF))),dK in e&&(this.inhibitPolicyMapping=eQ(e,dK,dG.defaultValues(dK))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case dF:case dK:return 0;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new t_({name:t.requireExplicitPolicy||"",optional:!0,idBlock:{tagClass:3,tagNumber:0}}),new t_({name:t.inhibitPolicyMapping||"",optional:!0,idBlock:{tagClass:3,tagNumber:1}})]})}fromSchema(e){ta(e,dV);let t=rv(e,e,dG.schema({names:{requireExplicitPolicy:dF,inhibitPolicyMapping:dK}}));if(uJ.assertSchema(t,this.className),dF in t.result){let e=t.result.requireExplicitPolicy;e.idBlock.tagClass=1,e.idBlock.tagNumber=2;let r=tD(e.toBER(!1));uJ.assert(r,"Integer"),this.requireExplicitPolicy=r.result.valueBlock.valueDec}if(dK in t.result){let e=t.result.inhibitPolicyMapping;e.idBlock.tagClass=1,e.idBlock.tagNumber=2;let r=tD(e.toBER(!1));uJ.assert(r,"Integer"),this.inhibitPolicyMapping=r.result.valueBlock.valueDec}}toSchema(){let e=[];if(dF in this){let t=new tG({value:this.requireExplicitPolicy});t.idBlock.tagClass=3,t.idBlock.tagNumber=0,e.push(t)}if(dK in this){let t=new tG({value:this.inhibitPolicyMapping});t.idBlock.tagClass=3,t.idBlock.tagNumber=1,e.push(t)}return new tX({value:e})}toJSON(){let e={};return dF in this&&(e.requireExplicitPolicy=this.requireExplicitPolicy),dK in this&&(e.inhibitPolicyMapping=this.inhibitPolicyMapping),e}}dG.CLASS_NAME="PolicyConstraints";let dH="issuerDomainPolicy",dW="subjectDomainPolicy",dJ=[dH,dW];class dz extends uz{constructor(e={}){super(),this.issuerDomainPolicy=eQ(e,dH,dz.defaultValues(dH)),this.subjectDomainPolicy=eQ(e,dW,dz.defaultValues(dW)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case dH:case dW:return"";default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tz({name:t.issuerDomainPolicy||""}),new tz({name:t.subjectDomainPolicy||""})]})}fromSchema(e){ta(e,dJ);let t=rv(e,e,dz.schema({names:{issuerDomainPolicy:dH,subjectDomainPolicy:dW}}));uJ.assertSchema(t,this.className),this.issuerDomainPolicy=t.result.issuerDomainPolicy.valueBlock.toString(),this.subjectDomainPolicy=t.result.subjectDomainPolicy.valueBlock.toString()}toSchema(){return new tX({value:[new tz({value:this.issuerDomainPolicy}),new tz({value:this.subjectDomainPolicy})]})}toJSON(){return{issuerDomainPolicy:this.issuerDomainPolicy,subjectDomainPolicy:this.subjectDomainPolicy}}}dz.CLASS_NAME="PolicyMapping";let dZ="mappings",dY=[dZ];class dQ extends uz{constructor(e={}){super(),this.mappings=eQ(e,dZ,dQ.defaultValues(dZ)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){return e===dZ?[]:super.defaultValues(e)}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new rw({name:t.mappings||"",value:dz.schema()})]})}fromSchema(e){ta(e,dY);let t=rv(e,e,dQ.schema({names:{mappings:dZ}}));uJ.assertSchema(t,this.className),this.mappings=Array.from(t.result.mappings,e=>new dz({schema:e}))}toSchema(){return new tX({value:Array.from(this.mappings,e=>e.toSchema())})}toJSON(){return{mappings:Array.from(this.mappings,e=>e.toJSON())}}}dQ.CLASS_NAME="PolicyMappings";let dX="notBefore",d0="notAfter",d1=[dX,d0];class d2 extends uz{constructor(e={}){super(),dX in e&&(this.notBefore=eQ(e,dX,d2.defaultValues(dX))),d0 in e&&(this.notAfter=eQ(e,d0,d2.defaultValues(d0))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case dX:case d0:return new Date;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new t_({name:t.notBefore||"",optional:!0,idBlock:{tagClass:3,tagNumber:0}}),new t_({name:t.notAfter||"",optional:!0,idBlock:{tagClass:3,tagNumber:1}})]})}fromSchema(e){ta(e,d1);let t=rv(e,e,d2.schema({names:{notBefore:dX,notAfter:d0}}));if(uJ.assertSchema(t,this.className),dX in t.result){let e=new rc;e.fromBuffer(t.result.notBefore.valueBlock.valueHex),this.notBefore=e.toDate()}if(d0 in t.result){let e=new rc({valueHex:t.result.notAfter.valueBlock.valueHex});e.fromBuffer(t.result.notAfter.valueBlock.valueHex),this.notAfter=e.toDate()}}toSchema(){let e=[];return dX in this&&e.push(new t_({idBlock:{tagClass:3,tagNumber:0},valueHex:new rc({valueDate:this.notBefore}).valueBlock.valueHexView})),d0 in this&&e.push(new t_({idBlock:{tagClass:3,tagNumber:1},valueHex:new rc({valueDate:this.notAfter}).valueBlock.valueHexView})),new tX({value:e})}toJSON(){let e={};return this.notBefore&&(e.notBefore=this.notBefore),this.notAfter&&(e.notAfter=this.notAfter),e}}d2.CLASS_NAME="PrivateKeyUsagePeriod";let d3="type",d4="values",d6=["id",d3],d8=[d4];class d5 extends uz{constructor(e={}){super(),this.id=eQ(e,"id",d5.defaultValues("id")),d3 in e&&(this.type=eQ(e,d3,d5.defaultValues(d3))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case"id":return"";case d3:return new tU;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case"id":return""===t;case d3:return t instanceof tU;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tz({name:t.id||""}),new rg({name:t.type||"",optional:!0})]})}fromSchema(e){ta(e,d6);let t=rv(e,e,d5.schema({names:{id:"id",type:d3}}));uJ.assertSchema(t,this.className),this.id=t.result.id.valueBlock.toString(),d3 in t.result&&(this.type=t.result.type)}toSchema(){let e=[new tz({value:this.id})];return d3 in this&&e.push(this.type),new tX({value:e})}toJSON(){let e={id:this.id};return this.type&&(e.type=this.type.toJSON()),e}}d5.CLASS_NAME="QCStatement";class d9 extends uz{constructor(e={}){super(),this.values=eQ(e,d4,d9.defaultValues(d4)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){return e===d4?[]:super.defaultValues(e)}static compareWithDefault(e,t){return e===d4?0===t.length:super.defaultValues(e)}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new rw({name:t.values||"",value:d5.schema(t.value||{})})]})}fromSchema(e){ta(e,d8);let t=rv(e,e,d9.schema({names:{values:d4}}));uJ.assertSchema(t,this.className),this.values=Array.from(t.result.values,e=>new d5({schema:e}))}toSchema(){return new tX({value:Array.from(this.values,e=>e.toSchema())})}toJSON(){return{values:Array.from(this.values,e=>e.toJSON())}}}d9.CLASS_NAME="QCStatements";class d7{static register(e,t,r){this.namedCurves[e.toLowerCase()]=this.namedCurves[t]={name:e,id:t,size:r}}static find(e){return this.namedCurves[e.toLowerCase()]||null}}d7.namedCurves={},d7.register("P-256","1.2.840.10045.3.1.7",32),d7.register("P-384","1.3.132.0.34",48),d7.register("P-521","1.3.132.0.35",66),d7.register("brainpoolP256r1","1.3.36.3.3.2.8.1.1.7",32),d7.register("brainpoolP384r1","1.3.36.3.3.2.8.1.1.11",48),d7.register("brainpoolP512r1","1.3.36.3.3.2.8.1.1.13",64);let pe="namedCurve";class pt extends uz{constructor(e={}){super(),this.x=eQ(e,"x",pt.defaultValues("x")),this.y=eQ(e,"y",pt.defaultValues("y")),this.namedCurve=eQ(e,pe,pt.defaultValues(pe)),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case"x":case"y":return uG;case pe:return"";default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case"x":case"y":return t instanceof ArrayBuffer&&e6(t,pt.defaultValues(e));case pe:return"string"==typeof t&&t===pt.defaultValues(e);default:return super.defaultValues(e)}}static schema(){return new rb}fromSchema(e){let t=eV.toUint8Array(e);if(4!==t[0])throw Error("Object's schema was not verified against input data for ECPublicKey");let r=d7.find(this.namedCurve);if(!r)throw Error(`Incorrect curve OID: ${this.namedCurve}`);let i=r.size;if(t.byteLength!==2*i+1)throw Error("Object's schema was not verified against input data for ECPublicKey");this.namedCurve=r.name,this.x=t.slice(1,i+1).buffer,this.y=t.slice(1+i,2*i+1).buffer}toSchema(){return new rb({data:e2(new Uint8Array([4]).buffer,this.x,this.y)})}toJSON(){let e=d7.find(this.namedCurve);return{crv:e?e.name:this.namedCurve,x:e7(tt(this.x),!0,!0,!1),y:e7(tt(this.y),!0,!0,!1)}}fromJSON(e){uW.assert("json",e,"crv","x","y");let t=0,r=d7.find(e.crv);r&&(this.namedCurve=r.id,t=r.size);let i=tr(te(e.x,!0));if(i.byteLength<t){this.x=new ArrayBuffer(t);let e=new Uint8Array(this.x),r=new Uint8Array(i);e.set(r,1)}else this.x=i.slice(0,t);let a=tr(te(e.y,!0));if(a.byteLength<t){this.y=new ArrayBuffer(t);let e=new Uint8Array(this.y),r=new Uint8Array(a);e.set(r,1)}else this.y=a.slice(0,t)}}pt.CLASS_NAME="ECPublicKey";let pr="modulus",pi="publicExponent",pa=[pr,pi];class pn extends uz{constructor(e={}){super(),this.modulus=eQ(e,pr,pn.defaultValues(pr)),this.publicExponent=eQ(e,pi,pn.defaultValues(pi)),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case pr:case pi:return new tG;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tG({name:t.modulus||""}),new tG({name:t.publicExponent||""})]})}fromSchema(e){ta(e,pa);let t=rv(e,e,pn.schema({names:{modulus:pr,publicExponent:pi}}));uJ.assertSchema(t,this.className),this.modulus=t.result.modulus.convertFromDER(256),this.publicExponent=t.result.publicExponent}toSchema(){return new tX({value:[this.modulus.convertToDER(),this.publicExponent]})}toJSON(){return{n:eY.ToBase64Url(this.modulus.valueBlock.valueHexView),e:eY.ToBase64Url(this.publicExponent.valueBlock.valueHexView)}}fromJSON(e){let t,r,i;uW.assert("json",e,"n","e");let a=tr(te(e.n,!0));this.modulus=new tG({valueHex:a.slice(0,Math.pow(2,(r=Math.floor(t=Math.log(a.byteLength)/ti),r===(i=Math.round(t))?r:i)))}),this.publicExponent=new tG({valueHex:tr(te(e.e,!0)).slice(0,3)})}}pn.CLASS_NAME="RSAPublicKey";let ps="algorithm",po="subjectPublicKey",pl=[ps,po];class pu extends uz{get parsedKey(){if(void 0===this._parsedKey){switch(this.algorithm.algorithmId){case"1.2.840.10045.2.1":if("algorithmParams"in this.algorithm&&this.algorithm.algorithmParams.constructor.blockName()===tz.blockName())try{this._parsedKey=new pt({namedCurve:this.algorithm.algorithmParams.valueBlock.toString(),schema:this.subjectPublicKey.valueBlock.valueHexView})}catch{}break;case"1.2.840.113549.1.1.1":case"1.2.840.113549.1.1.10":{let e=tD(this.subjectPublicKey.valueBlock.valueHexView);if(-1!==e.offset)try{this._parsedKey=new pn({schema:e.result})}catch{}}}this._parsedKey||(this._parsedKey=null)}return this._parsedKey||void 0}set parsedKey(e){this._parsedKey=e}constructor(e={}){super(),this.algorithm=eQ(e,ps,pu.defaultValues(ps)),this.subjectPublicKey=eQ(e,po,pu.defaultValues(po));const t=eQ(e,"parsedKey",null);t&&(this.parsedKey=t),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case ps:return new cu;case po:return new tF;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[cu.schema(t.algorithm||{}),new tF({name:t.subjectPublicKey||""})]})}fromSchema(e){ta(e,pl);let t=rv(e,e,pu.schema({names:{algorithm:{names:{blockName:ps}},subjectPublicKey:po}}));uJ.assertSchema(t,this.className),this.algorithm=new cu({schema:t.result.algorithm}),this.subjectPublicKey=t.result.subjectPublicKey}toSchema(){return new tX({value:[this.algorithm.toSchema(),this.subjectPublicKey]})}toJSON(){if(!this.parsedKey)return{algorithm:this.algorithm.toJSON(),subjectPublicKey:this.subjectPublicKey.toJSON()};let e={};switch(this.algorithm.algorithmId){case"1.2.840.10045.2.1":e.kty="EC";break;case"1.2.840.113549.1.1.1":case"1.2.840.113549.1.1.10":e.kty="RSA"}return Object.assign(e,this.parsedKey.toJSON()),e}fromJSON(e){if("kty"in e){switch(e.kty.toUpperCase()){case"EC":this.parsedKey=new pt({json:e}),this.algorithm=new cu({algorithmId:"1.2.840.10045.2.1",algorithmParams:new tz({value:this.parsedKey.namedCurve})});break;case"RSA":this.parsedKey=new pn({json:e}),this.algorithm=new cu({algorithmId:"1.2.840.113549.1.1.1",algorithmParams:new tU});break;default:throw Error(`Invalid value for "kty" parameter: ${e.kty}`)}this.subjectPublicKey=new tF({valueHex:this.parsedKey.toSchema().toBER(!1)})}}async importKey(e,t=hr(!0)){try{if(!e)throw Error("Need to provide publicKey input parameter");let r=await t.exportKey("spki",e),i=tD(r);try{this.fromSchema(i.result)}catch{throw Error("Error during initializing object from schema")}}catch(t){let e=t instanceof Error?t.message:`${t}`;throw Error(`Error during exporting public key: ${e}`)}}}pu.CLASS_NAME="PublicKeyInfo";let pc="version",pd="privateKey",pp="namedCurve",ph="publicKey",pm=[pc,pd,pp,ph];class pf extends uz{constructor(e={}){super(),this.version=eQ(e,pc,pf.defaultValues(pc)),this.privateKey=eQ(e,pd,pf.defaultValues(pd)),pp in e&&(this.namedCurve=eQ(e,pp,pf.defaultValues(pp))),ph in e&&(this.publicKey=eQ(e,ph,pf.defaultValues(ph))),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case pc:return 1;case pd:return new tq;case pp:return"";case ph:return new pt;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case pc:return t===pf.defaultValues(e);case pd:return t.isEqual(pf.defaultValues(e));case pp:return""===t;case ph:return pt.compareWithDefault(pp,t.namedCurve)&&pt.compareWithDefault("x",t.x)&&pt.compareWithDefault("y",t.y);default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tG({name:t.version||""}),new tq({name:t.privateKey||""}),new tO({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new tz({name:t.namedCurve||""})]}),new tO({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new tF({name:t.publicKey||""})]})]})}fromSchema(e){ta(e,pm);let t=rv(e,e,pf.schema({names:{version:pc,privateKey:pd,namedCurve:pp,publicKey:ph}}));if(uJ.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,this.privateKey=t.result.privateKey,pp in t.result&&(this.namedCurve=t.result.namedCurve.valueBlock.toString()),ph in t.result){let e={schema:t.result.publicKey.valueBlock.valueHex};pp in this&&(e.namedCurve=this.namedCurve),this.publicKey=new pt(e)}}toSchema(){let e=[new tG({value:this.version}),this.privateKey];return this.namedCurve&&e.push(new tO({idBlock:{tagClass:3,tagNumber:0},value:[new tz({value:this.namedCurve})]})),this.publicKey&&e.push(new tO({idBlock:{tagClass:3,tagNumber:1},value:[new tF({valueHex:this.publicKey.toSchema().toBER(!1)})]})),new tX({value:e})}toJSON(){if(!this.namedCurve||pf.compareWithDefault(pp,this.namedCurve))throw Error('Not enough information for making JSON: absent "namedCurve" value');let e=d7.find(this.namedCurve),t={crv:e?e.name:this.namedCurve,d:eY.ToBase64Url(this.privateKey.valueBlock.valueHexView)};if(this.publicKey){let e=this.publicKey.toJSON();t.x=e.x,t.y=e.y}return t}fromJSON(e){uW.assert("json",e,"crv","d");let t=0,r=d7.find(e.crv);r&&(this.namedCurve=r.id,t=r.size);let i=eY.FromBase64Url(e.d);if(i.byteLength<t){let e=new ArrayBuffer(t),r=new Uint8Array(e),a=new Uint8Array(i);r.set(a,1),this.privateKey=new tq({valueHex:e})}else this.privateKey=new tq({valueHex:i.slice(0,t)});e.x&&e.y&&(this.publicKey=new pt({json:e}))}}pf.CLASS_NAME="ECPrivateKey";let pg="prime",py="exponent",pw="coefficient",pb=[pg,py,pw];class pv extends uz{constructor(e={}){super(),this.prime=eQ(e,pg,pv.defaultValues(pg)),this.exponent=eQ(e,py,pv.defaultValues(py)),this.coefficient=eQ(e,pw,pv.defaultValues(pw)),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case pg:case py:case pw:return new tG;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tG({name:t.prime||""}),new tG({name:t.exponent||""}),new tG({name:t.coefficient||""})]})}fromSchema(e){ta(e,pb);let t=rv(e,e,pv.schema({names:{prime:pg,exponent:py,coefficient:pw}}));uJ.assertSchema(t,this.className),this.prime=t.result.prime.convertFromDER(),this.exponent=t.result.exponent.convertFromDER(),this.coefficient=t.result.coefficient.convertFromDER()}toSchema(){return new tX({value:[this.prime.convertToDER(),this.exponent.convertToDER(),this.coefficient.convertToDER()]})}toJSON(){return{r:eY.ToBase64Url(this.prime.valueBlock.valueHexView),d:eY.ToBase64Url(this.exponent.valueBlock.valueHexView),t:eY.ToBase64Url(this.coefficient.valueBlock.valueHexView)}}fromJSON(e){uW.assert("json",e,"r","d","r"),this.prime=new tG({valueHex:eY.FromBase64Url(e.r)}),this.exponent=new tG({valueHex:eY.FromBase64Url(e.d)}),this.coefficient=new tG({valueHex:eY.FromBase64Url(e.t)})}}pv.CLASS_NAME="OtherPrimeInfo";let pk="version",pS="modulus",pE="publicExponent",pI="privateExponent",px="prime1",pA="prime2",p_="exponent1",pC="exponent2",pR="coefficient",pT="otherPrimeInfos",pD=[pk,pS,pE,pI,px,pA,p_,pC,pR,pT];class pN extends uz{constructor(e={}){super(),this.version=eQ(e,pk,pN.defaultValues(pk)),this.modulus=eQ(e,pS,pN.defaultValues(pS)),this.publicExponent=eQ(e,pE,pN.defaultValues(pE)),this.privateExponent=eQ(e,pI,pN.defaultValues(pI)),this.prime1=eQ(e,px,pN.defaultValues(px)),this.prime2=eQ(e,pA,pN.defaultValues(pA)),this.exponent1=eQ(e,p_,pN.defaultValues(p_)),this.exponent2=eQ(e,pC,pN.defaultValues(pC)),this.coefficient=eQ(e,pR,pN.defaultValues(pR)),pT in e&&(this.otherPrimeInfos=eQ(e,pT,pN.defaultValues(pT))),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case pk:return 0;case pS:case pE:case pI:case px:case pA:case p_:case pC:case pR:return new tG;case pT:return[];default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tG({name:t.version||""}),new tG({name:t.modulus||""}),new tG({name:t.publicExponent||""}),new tG({name:t.privateExponent||""}),new tG({name:t.prime1||""}),new tG({name:t.prime2||""}),new tG({name:t.exponent1||""}),new tG({name:t.exponent2||""}),new tG({name:t.coefficient||""}),new tX({optional:!0,value:[new rw({name:t.otherPrimeInfosName||"",value:pv.schema(t.otherPrimeInfo||{})})]})]})}fromSchema(e){ta(e,pD);let t=rv(e,e,pN.schema({names:{version:pk,modulus:pS,publicExponent:pE,privateExponent:pI,prime1:px,prime2:pA,exponent1:p_,exponent2:pC,coefficient:pR,otherPrimeInfo:{names:{blockName:pT}}}}));uJ.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,this.modulus=t.result.modulus.convertFromDER(256),this.publicExponent=t.result.publicExponent,this.privateExponent=t.result.privateExponent.convertFromDER(256),this.prime1=t.result.prime1.convertFromDER(128),this.prime2=t.result.prime2.convertFromDER(128),this.exponent1=t.result.exponent1.convertFromDER(128),this.exponent2=t.result.exponent2.convertFromDER(128),this.coefficient=t.result.coefficient.convertFromDER(128),pT in t.result&&(this.otherPrimeInfos=Array.from(t.result.otherPrimeInfos,e=>new pv({schema:e})))}toSchema(){let e=[];return e.push(new tG({value:this.version})),e.push(this.modulus.convertToDER()),e.push(this.publicExponent),e.push(this.privateExponent.convertToDER()),e.push(this.prime1.convertToDER()),e.push(this.prime2.convertToDER()),e.push(this.exponent1.convertToDER()),e.push(this.exponent2.convertToDER()),e.push(this.coefficient.convertToDER()),this.otherPrimeInfos&&e.push(new tX({value:Array.from(this.otherPrimeInfos,e=>e.toSchema())})),new tX({value:e})}toJSON(){let e={n:eY.ToBase64Url(this.modulus.valueBlock.valueHexView),e:eY.ToBase64Url(this.publicExponent.valueBlock.valueHexView),d:eY.ToBase64Url(this.privateExponent.valueBlock.valueHexView),p:eY.ToBase64Url(this.prime1.valueBlock.valueHexView),q:eY.ToBase64Url(this.prime2.valueBlock.valueHexView),dp:eY.ToBase64Url(this.exponent1.valueBlock.valueHexView),dq:eY.ToBase64Url(this.exponent2.valueBlock.valueHexView),qi:eY.ToBase64Url(this.coefficient.valueBlock.valueHexView)};return this.otherPrimeInfos&&(e.oth=Array.from(this.otherPrimeInfos,e=>e.toJSON())),e}fromJSON(e){uW.assert("json",e,"n","e","d","p","q","dp","dq","qi"),this.modulus=new tG({valueHex:eY.FromBase64Url(e.n)}),this.publicExponent=new tG({valueHex:eY.FromBase64Url(e.e)}),this.privateExponent=new tG({valueHex:eY.FromBase64Url(e.d)}),this.prime1=new tG({valueHex:eY.FromBase64Url(e.p)}),this.prime2=new tG({valueHex:eY.FromBase64Url(e.q)}),this.exponent1=new tG({valueHex:eY.FromBase64Url(e.dp)}),this.exponent2=new tG({valueHex:eY.FromBase64Url(e.dq)}),this.coefficient=new tG({valueHex:eY.FromBase64Url(e.qi)}),e.oth&&(this.otherPrimeInfos=Array.from(e.oth,e=>new pv({json:e})))}}pN.CLASS_NAME="RSAPrivateKey";let pO="version",pP="privateKeyAlgorithm",p$="privateKey",pU="attributes",pB="parsedKey",pj=[pO,pP,p$,pU];class pL extends uz{constructor(e={}){super(),this.version=eQ(e,pO,pL.defaultValues(pO)),this.privateKeyAlgorithm=eQ(e,pP,pL.defaultValues(pP)),this.privateKey=eQ(e,p$,pL.defaultValues(p$)),pU in e&&(this.attributes=eQ(e,pU,pL.defaultValues(pU))),pB in e&&(this.parsedKey=eQ(e,pB,pL.defaultValues(pB))),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case pO:return 0;case pP:return new cu;case p$:return new tq;case pU:return[];case pB:return{};default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tG({name:t.version||""}),cu.schema(t.privateKeyAlgorithm||{}),new tq({name:t.privateKey||""}),new tO({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new rw({name:t.attributes||"",value:cg.schema()})]})]})}fromSchema(e){ta(e,pj);let t=rv(e,e,pL.schema({names:{version:pO,privateKeyAlgorithm:{names:{blockName:pP}},privateKey:p$,attributes:pU}}));switch(uJ.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,this.privateKeyAlgorithm=new cu({schema:t.result.privateKeyAlgorithm}),this.privateKey=t.result.privateKey,pU in t.result&&(this.attributes=Array.from(t.result.attributes,e=>new cg({schema:e}))),this.privateKeyAlgorithm.algorithmId){case"1.2.840.113549.1.1.1":{let e=tD(this.privateKey.valueBlock.valueHexView);-1!==e.offset&&(this.parsedKey=new pN({schema:e.result}))}break;case"1.2.840.10045.2.1":if("algorithmParams"in this.privateKeyAlgorithm&&this.privateKeyAlgorithm.algorithmParams instanceof tz){let e=tD(this.privateKey.valueBlock.valueHexView);-1!==e.offset&&(this.parsedKey=new pf({namedCurve:this.privateKeyAlgorithm.algorithmParams.valueBlock.toString(),schema:e.result}))}}}toSchema(){let e=[new tG({value:this.version}),this.privateKeyAlgorithm.toSchema(),this.privateKey];return this.attributes&&e.push(new tO({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.attributes,e=>e.toSchema())})),new tX({value:e})}toJSON(){if(!this.parsedKey){let e={version:this.version,privateKeyAlgorithm:this.privateKeyAlgorithm.toJSON(),privateKey:this.privateKey.toJSON()};return this.attributes&&(e.attributes=Array.from(this.attributes,e=>e.toJSON())),e}let e={};switch(this.privateKeyAlgorithm.algorithmId){case"1.2.840.10045.2.1":e.kty="EC";break;case"1.2.840.113549.1.1.1":e.kty="RSA"}return Object.assign(e,this.parsedKey.toJSON()),e}fromJSON(e){if("kty"in e){switch(e.kty.toUpperCase()){case"EC":this.parsedKey=new pf({json:e}),this.privateKeyAlgorithm=new cu({algorithmId:"1.2.840.10045.2.1",algorithmParams:new tz({value:this.parsedKey.namedCurve})});break;case"RSA":this.parsedKey=new pN({json:e}),this.privateKeyAlgorithm=new cu({algorithmId:"1.2.840.113549.1.1.1",algorithmParams:new tU});break;default:throw Error(`Invalid value for "kty" parameter: ${e.kty}`)}this.privateKey=new tq({valueHex:this.parsedKey.toSchema().toBER(!1)})}}}pL.CLASS_NAME="PrivateKeyInfo";let pq="contentType",pM="contentEncryptionAlgorithm",pF="encryptedContent",pK=[pq,pM,pF];class pV extends uz{constructor(e={}){if(super(),this.contentType=eQ(e,pq,pV.defaultValues(pq)),this.contentEncryptionAlgorithm=eQ(e,pM,pV.defaultValues(pM)),pF in e&&e.encryptedContent&&(this.encryptedContent=e.encryptedContent,1===this.encryptedContent.idBlock.tagClass&&4===this.encryptedContent.idBlock.tagNumber&&!1===this.encryptedContent.idBlock.isConstructed&&!e.disableSplit)){const e=new tq({idBlock:{isConstructed:!0},isConstructed:!0});let t=0;const r=this.encryptedContent.valueBlock.valueHexView.slice().buffer;let i=r.byteLength;for(;i>0;){const a=new Uint8Array(r,t,t+1024>r.byteLength?r.byteLength-t:1024),n=new ArrayBuffer(a.length),s=new Uint8Array(n);for(let e=0;e<s.length;e++)s[e]=a[e];e.valueBlock.value.push(new tq({valueHex:n})),i-=a.length,t+=a.length}this.encryptedContent=e}e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case pq:return"";case pM:return new cu;case pF:return new tq;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case pq:return""===t;case pM:return""===t.algorithmId&&"algorithmParams"in t==!1;case pF:return t.isEqual(pV.defaultValues(pF));default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tz({name:t.contentType||""}),cu.schema(t.contentEncryptionAlgorithm||{}),new ry({value:[new tO({name:t.encryptedContent||"",idBlock:{tagClass:3,tagNumber:0},value:[new rw({value:new tq})]}),new t_({name:t.encryptedContent||"",idBlock:{tagClass:3,tagNumber:0}})]})]})}fromSchema(e){ta(e,pK);let t=rv(e,e,pV.schema({names:{contentType:pq,contentEncryptionAlgorithm:{names:{blockName:pM}},encryptedContent:pF}}));uJ.assertSchema(t,this.className),this.contentType=t.result.contentType.valueBlock.toString(),this.contentEncryptionAlgorithm=new cu({schema:t.result.contentEncryptionAlgorithm}),pF in t.result&&(this.encryptedContent=t.result.encryptedContent,this.encryptedContent.idBlock.tagClass=1,this.encryptedContent.idBlock.tagNumber=4)}toSchema(){let e={isIndefiniteForm:!1},t=[];if(t.push(new tz({value:this.contentType})),t.push(this.contentEncryptionAlgorithm.toSchema()),this.encryptedContent){e.isIndefiniteForm=this.encryptedContent.idBlock.isConstructed;let r=this.encryptedContent;r.idBlock.tagClass=3,r.idBlock.tagNumber=0,r.lenBlock.isIndefiniteForm=this.encryptedContent.idBlock.isConstructed,t.push(r)}return new tX({lenBlock:e,value:t})}toJSON(){let e={contentType:this.contentType,contentEncryptionAlgorithm:this.contentEncryptionAlgorithm.toJSON()};return this.encryptedContent&&(e.encryptedContent=this.encryptedContent.toJSON()),e}getEncryptedContent(){if(!this.encryptedContent)throw Error("Parameter 'encryptedContent' is undefined");return tq.prototype.getValue.call(this.encryptedContent)}}pV.CLASS_NAME="EncryptedContentInfo";let pG="hashAlgorithm",pH="maskGenAlgorithm",pW="saltLength",pJ="trailerField",pz=[pG,pH,pW,pJ];class pZ extends uz{constructor(e={}){super(),this.hashAlgorithm=eQ(e,pG,pZ.defaultValues(pG)),this.maskGenAlgorithm=eQ(e,pH,pZ.defaultValues(pH)),this.saltLength=eQ(e,pW,pZ.defaultValues(pW)),this.trailerField=eQ(e,pJ,pZ.defaultValues(pJ)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case pG:return new cu({algorithmId:"1.3.14.3.2.26",algorithmParams:new tU});case pH:return new cu({algorithmId:"1.2.840.113549.1.1.8",algorithmParams:new cu({algorithmId:"1.3.14.3.2.26",algorithmParams:new tU}).toSchema()});case pW:return 20;case pJ:return 1;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tO({idBlock:{tagClass:3,tagNumber:0},optional:!0,value:[cu.schema(t.hashAlgorithm||{})]}),new tO({idBlock:{tagClass:3,tagNumber:1},optional:!0,value:[cu.schema(t.maskGenAlgorithm||{})]}),new tO({idBlock:{tagClass:3,tagNumber:2},optional:!0,value:[new tG({name:t.saltLength||""})]}),new tO({idBlock:{tagClass:3,tagNumber:3},optional:!0,value:[new tG({name:t.trailerField||""})]})]})}fromSchema(e){ta(e,pz);let t=rv(e,e,pZ.schema({names:{hashAlgorithm:{names:{blockName:pG}},maskGenAlgorithm:{names:{blockName:pH}},saltLength:pW,trailerField:pJ}}));uJ.assertSchema(t,this.className),pG in t.result&&(this.hashAlgorithm=new cu({schema:t.result.hashAlgorithm})),pH in t.result&&(this.maskGenAlgorithm=new cu({schema:t.result.maskGenAlgorithm})),pW in t.result&&(this.saltLength=t.result.saltLength.valueBlock.valueDec),pJ in t.result&&(this.trailerField=t.result.trailerField.valueBlock.valueDec)}toSchema(){let e=[];return this.hashAlgorithm.isEqual(pZ.defaultValues(pG))||e.push(new tO({idBlock:{tagClass:3,tagNumber:0},value:[this.hashAlgorithm.toSchema()]})),this.maskGenAlgorithm.isEqual(pZ.defaultValues(pH))||e.push(new tO({idBlock:{tagClass:3,tagNumber:1},value:[this.maskGenAlgorithm.toSchema()]})),this.saltLength!==pZ.defaultValues(pW)&&e.push(new tO({idBlock:{tagClass:3,tagNumber:2},value:[new tG({value:this.saltLength})]})),this.trailerField!==pZ.defaultValues(pJ)&&e.push(new tO({idBlock:{tagClass:3,tagNumber:3},value:[new tG({value:this.trailerField})]})),new tX({value:e})}toJSON(){let e={};return this.hashAlgorithm.isEqual(pZ.defaultValues(pG))||(e.hashAlgorithm=this.hashAlgorithm.toJSON()),this.maskGenAlgorithm.isEqual(pZ.defaultValues(pH))||(e.maskGenAlgorithm=this.maskGenAlgorithm.toJSON()),this.saltLength!==pZ.defaultValues(pW)&&(e.saltLength=this.saltLength),this.trailerField!==pZ.defaultValues(pJ)&&(e.trailerField=this.trailerField),e}}pZ.CLASS_NAME="RSASSAPSSParams";let pY="salt",pQ="iterationCount",pX="keyLength",p0=[pY,pQ,pX,"prf"];class p1 extends uz{constructor(e={}){super(),this.salt=eQ(e,pY,p1.defaultValues(pY)),this.iterationCount=eQ(e,pQ,p1.defaultValues(pQ)),pX in e&&(this.keyLength=eQ(e,pX,p1.defaultValues(pX))),"prf"in e&&(this.prf=eQ(e,"prf",p1.defaultValues("prf"))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case pY:return{};case pQ:return -1;case pX:return 0;case"prf":return new cu({algorithmId:"1.3.14.3.2.26",algorithmParams:new tU});default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new ry({value:[new tq({name:t.saltPrimitive||""}),cu.schema(t.saltConstructed||{})]}),new tG({name:t.iterationCount||""}),new tG({name:t.keyLength||"",optional:!0}),cu.schema(t.prf||{names:{optional:!0}})]})}fromSchema(e){ta(e,p0);let t=rv(e,e,p1.schema({names:{saltPrimitive:pY,saltConstructed:{names:{blockName:pY}},iterationCount:pQ,keyLength:pX,prf:{names:{blockName:"prf",optional:!0}}}}));uJ.assertSchema(t,this.className),this.salt=t.result.salt,this.iterationCount=t.result.iterationCount.valueBlock.valueDec,pX in t.result&&(this.keyLength=t.result.keyLength.valueBlock.valueDec),"prf"in t.result&&(this.prf=new cu({schema:t.result.prf}))}toSchema(){let e=[];return e.push(this.salt),e.push(new tG({value:this.iterationCount})),pX in this&&p1.defaultValues(pX)!==this.keyLength&&e.push(new tG({value:this.keyLength})),this.prf&&!1===p1.defaultValues("prf").isEqual(this.prf)&&e.push(this.prf.toSchema()),new tX({value:e})}toJSON(){let e={salt:this.salt.toJSON(),iterationCount:this.iterationCount};return pX in this&&p1.defaultValues(pX)!==this.keyLength&&(e.keyLength=this.keyLength),this.prf&&!1===p1.defaultValues("prf").isEqual(this.prf)&&(e.prf=this.prf.toJSON()),e}}p1.CLASS_NAME="PBKDF2Params";let p2="keyDerivationFunc",p3="encryptionScheme",p4=[p2,p3];class p6 extends uz{constructor(e={}){super(),this.keyDerivationFunc=eQ(e,p2,p6.defaultValues(p2)),this.encryptionScheme=eQ(e,p3,p6.defaultValues(p3)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case p2:case p3:return new cu;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[cu.schema(t.keyDerivationFunc||{}),cu.schema(t.encryptionScheme||{})]})}fromSchema(e){ta(e,p4);let t=rv(e,e,p6.schema({names:{keyDerivationFunc:{names:{blockName:p2}},encryptionScheme:{names:{blockName:p3}}}}));uJ.assertSchema(t,this.className),this.keyDerivationFunc=new cu({schema:t.result.keyDerivationFunc}),this.encryptionScheme=new cu({schema:t.result.encryptionScheme})}toSchema(){return new tX({value:[this.keyDerivationFunc.toSchema(),this.encryptionScheme.toSchema()]})}toJSON(){return{keyDerivationFunc:this.keyDerivationFunc.toJSON(),encryptionScheme:this.encryptionScheme.toJSON()}}}p6.CLASS_NAME="PBES2Params";class p8{constructor(e){this.crypto=e.crypto,this.subtle="webkitSubtle"in e.crypto?e.crypto.webkitSubtle:e.crypto.subtle,this.name=eQ(e,"name","")}async encrypt(...e){return this.subtle.encrypt(...e)}async decrypt(...e){return this.subtle.decrypt(...e)}sign(...e){return this.subtle.sign(...e)}async verify(...e){return this.subtle.verify(...e)}async digest(...e){return this.subtle.digest(...e)}async generateKey(...e){return this.subtle.generateKey(...e)}async deriveKey(...e){return this.subtle.deriveKey(...e)}async deriveBits(...e){return this.subtle.deriveBits(...e)}async wrapKey(...e){return this.subtle.wrapKey(...e)}async unwrapKey(...e){return this.subtle.unwrapKey(...e)}exportKey(...e){return this.subtle.exportKey(...e)}importKey(...e){return this.subtle.importKey(...e)}getRandomValues(e){if(null===e)throw Error('Argument "array" must not be null');return this.crypto.getRandomValues(e)}}async function p5(e,t,r,i,a){let n,s,o;switch(e.toUpperCase()){case"SHA-1":n=20,s=64,o=ug;break;case"SHA-256":n=32,s=64,o=uV;break;case"SHA-384":n=48,s=128,o=uL;break;case"SHA-512":n=64,s=128,o=uj;break;default:throw Error("Unsupported hashing algorithm")}let l=new Uint8Array(r),u=new TextDecoder().decode(r);new TextEncoder().encode(u).some((e,t)=>e!==l[t])&&(u=String.fromCharCode(...l));let c=new Uint8Array(2*u.length+2),d=new DataView(c.buffer);for(let e=0;e<u.length;e++)d.setUint16(2*e,u.charCodeAt(e),!1);d.setUint16(2*u.length,0,!1);let p=new Uint8Array(s).fill(3),h=new Uint8Array(i),m=new Uint8Array(s*Math.ceil(h.length/s)).map((e,t)=>h[t%h.length]),f=new Uint8Array(s*Math.ceil(c.length/s)).map((e,t)=>c[t%c.length]),g=new Uint8Array(m.length+f.length);g.set(m),g.set(f,m.length);let y=Math.ceil((t>>3)/n),w=[];for(let e=0;e<y;e++){let e=new Uint8Array(p.length+g.length);e.set(p),e.set(g,p.length);for(let t=0;t<a;t++)e=o(e);let t=new Uint8Array(s).map((t,r)=>e[r%e.length]),r=Math.ceil(h.length/s)+Math.ceil(c.length/s),i=[];for(let e=0;e<r;e++){let r=Array.from(g.slice(e*s,(e+1)*s)),a=511;for(let e=t.length-1;e>=0;e--)a>>=8,a+=t[e]+(r[e]||0),r[e]=255&a;i.push(...r)}g=new Uint8Array(i),w.push(...e)}return new Uint8Array(w.slice(0,t>>3)).buffer}class p9 extends p8{async importKey(e,t,r,i,a){var n,s,o,l,u,c;let d={},p=function e(t){let r="string"==typeof t?{name:t}:t;return"hash"in r?{...r,hash:e(r.hash)}:r}(r);switch(e.toLowerCase()){case"raw":return this.subtle.importKey("raw",t,r,i,a);case"spki":{let e=tD(eV.toArrayBuffer(t));uJ.assert(e,"keyData");let r=new pu;try{r.fromSchema(e.result)}catch{throw new uH("Incorrect keyData")}switch(p.name.toUpperCase()){case"RSA-PSS":if(a=["verify"],d.kty="RSA",d.ext=i,d.key_ops=a,!["1.2.840.113549.1.1.1","1.2.840.113549.1.1.10"].includes(r.algorithm.algorithmId))throw Error(`Incorrect public key algorithm: ${r.algorithm.algorithmId}`);if(!p.hash)throw new uW("hash","algorithm.hash","Incorrect hash algorithm: Hash algorithm is missed");switch(p.hash.name.toUpperCase()){case"SHA-1":d.alg="PS1";break;case"SHA-256":d.alg="PS256";break;case"SHA-384":d.alg="PS384";break;case"SHA-512":d.alg="PS512";break;default:throw Error(`Incorrect hash algorithm: ${p.hash.name.toUpperCase()}`)}Object.assign(d,r.toJSON());break;case"RSASSA-PKCS1-V1_5":if(a=["verify"],d.kty="RSA",d.ext=i,d.key_ops=a,"1.2.840.113549.1.1.1"!==r.algorithm.algorithmId)throw Error(`Incorrect public key algorithm: ${r.algorithm.algorithmId}`);if(!p.hash)throw new uW("hash","algorithm.hash","Incorrect hash algorithm: Hash algorithm is missed");switch(p.hash.name.toUpperCase()){case"SHA-1":d.alg="RS1";break;case"SHA-256":d.alg="RS256";break;case"SHA-384":d.alg="RS384";break;case"SHA-512":d.alg="RS512";break;default:throw Error(`Incorrect hash algorithm: ${p.hash.name.toUpperCase()}`)}Object.assign(d,r.toJSON());break;case"ECDSA":a=["verify"];case"ECDH":if(d={kty:"EC",ext:i,key_ops:a},"1.2.840.10045.2.1"!==r.algorithm.algorithmId)throw Error(`Incorrect public key algorithm: ${r.algorithm.algorithmId}`);Object.assign(d,r.toJSON());break;case"RSA-OAEP":if(d.kty="RSA",d.ext=i,d.key_ops=a,"safari"===this.name.toLowerCase())d.alg="RSA-OAEP";else{if(!p.hash)throw new uW("hash","algorithm.hash","Incorrect hash algorithm: Hash algorithm is missed");switch(p.hash.name.toUpperCase()){case"SHA-1":d.alg="RSA-OAEP";break;case"SHA-256":d.alg="RSA-OAEP-256";break;case"SHA-384":d.alg="RSA-OAEP-384";break;case"SHA-512":d.alg="RSA-OAEP-512";break;default:throw Error(`Incorrect hash algorithm: ${p.hash.name.toUpperCase()}`)}}Object.assign(d,r.toJSON());break;case"RSAES-PKCS1-V1_5":d.kty="RSA",d.ext=i,d.key_ops=a,d.alg="PS1",Object.assign(d,r.toJSON());break;default:throw Error(`Incorrect algorithm name: ${p.name.toUpperCase()}`)}}break;case"pkcs8":{let e=new pL,r=tD(eV.toArrayBuffer(t));uJ.assert(r,"keyData");try{e.fromSchema(r.result)}catch{throw Error("Incorrect keyData")}if(!e.parsedKey)throw Error("Incorrect keyData");switch(p.name.toUpperCase()){case"RSA-PSS":switch(null==(n=p.hash)?void 0:n.name.toUpperCase()){case"SHA-1":d.alg="PS1";break;case"SHA-256":d.alg="PS256";break;case"SHA-384":d.alg="PS384";break;case"SHA-512":d.alg="PS512";break;default:throw Error(`Incorrect hash algorithm: ${null==(s=p.hash)?void 0:s.name.toUpperCase()}`)}case"RSASSA-PKCS1-V1_5":if(a=["sign"],d.kty="RSA",d.ext=i,d.key_ops=a,"1.2.840.113549.1.1.1"!==e.privateKeyAlgorithm.algorithmId)throw Error(`Incorrect private key algorithm: ${e.privateKeyAlgorithm.algorithmId}`);if("alg"in d==!1)switch(null==(o=p.hash)?void 0:o.name.toUpperCase()){case"SHA-1":d.alg="RS1";break;case"SHA-256":d.alg="RS256";break;case"SHA-384":d.alg="RS384";break;case"SHA-512":d.alg="RS512";break;default:throw Error(`Incorrect hash algorithm: ${null==(l=p.hash)?void 0:l.name.toUpperCase()}`)}Object.assign(d,e.toJSON());break;case"ECDSA":a=["sign"];case"ECDH":if(d={kty:"EC",ext:i,key_ops:a},"1.2.840.10045.2.1"!==e.privateKeyAlgorithm.algorithmId)throw Error(`Incorrect algorithm: ${e.privateKeyAlgorithm.algorithmId}`);Object.assign(d,e.toJSON());break;case"RSA-OAEP":if(d.kty="RSA",d.ext=i,d.key_ops=a,"safari"===this.name.toLowerCase())d.alg="RSA-OAEP";else switch(null==(u=p.hash)?void 0:u.name.toUpperCase()){case"SHA-1":d.alg="RSA-OAEP";break;case"SHA-256":d.alg="RSA-OAEP-256";break;case"SHA-384":d.alg="RSA-OAEP-384";break;case"SHA-512":d.alg="RSA-OAEP-512";break;default:throw Error(`Incorrect hash algorithm: ${null==(c=p.hash)?void 0:c.name.toUpperCase()}`)}Object.assign(d,e.toJSON());break;case"RSAES-PKCS1-V1_5":a=["decrypt"],d.kty="RSA",d.ext=i,d.key_ops=a,d.alg="PS1",Object.assign(d,e.toJSON());break;default:throw Error(`Incorrect algorithm name: ${p.name.toUpperCase()}`)}}break;case"jwk":d=t;break;default:throw Error(`Incorrect format: ${e}`)}if("safari"===this.name.toLowerCase())try{return this.subtle.importKey("jwk",tr(JSON.stringify(d)),r,i,a)}catch{}return this.subtle.importKey("jwk",d,r,i,a)}async exportKey(e,t){let r=await this.subtle.exportKey("jwk",t);switch("safari"===this.name.toLowerCase()&&r instanceof ArrayBuffer&&(r=JSON.parse(tt(r))),e.toLowerCase()){case"raw":return this.subtle.exportKey("raw",t);case"spki":{let e=new pu;try{e.fromJSON(r)}catch{throw Error("Incorrect key data")}return e.toSchema().toBER(!1)}case"pkcs8":{let e=new pL;try{e.fromJSON(r)}catch{throw Error("Incorrect key data")}return e.toSchema().toBER(!1)}case"jwk":return r;default:throw Error(`Incorrect format: ${e}`)}}async convert(e,t,r,i,a,n){if(e.toLowerCase()===t.toLowerCase())return r;let s=await this.importKey(e,r,i,a,n);return this.exportKey(t,s)}getAlgorithmByOID(e,t=!1,r){switch(e){case"1.2.840.113549.1.1.1":return{name:"RSAES-PKCS1-v1_5"};case"1.2.840.113549.1.1.5":return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-1"}};case"1.2.840.113549.1.1.11":return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case"1.2.840.113549.1.1.12":return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-384"}};case"1.2.840.113549.1.1.13":return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-512"}};case"1.2.840.113549.1.1.10":return{name:"RSA-PSS"};case"1.2.840.113549.1.1.7":return{name:"RSA-OAEP"};case"1.2.840.10045.2.1":case"1.2.840.10045.4.1":return{name:"ECDSA",hash:{name:"SHA-1"}};case"1.2.840.10045.4.3.2":return{name:"ECDSA",hash:{name:"SHA-256"}};case"1.2.840.10045.4.3.3":return{name:"ECDSA",hash:{name:"SHA-384"}};case"1.2.840.10045.4.3.4":return{name:"ECDSA",hash:{name:"SHA-512"}};case"1.3.133.16.840.63.0.2":return{name:"ECDH",kdf:"SHA-1"};case"1.3.132.1.11.1":return{name:"ECDH",kdf:"SHA-256"};case"1.3.132.1.11.2":return{name:"ECDH",kdf:"SHA-384"};case"1.3.132.1.11.3":return{name:"ECDH",kdf:"SHA-512"};case"2.16.840.1.101.3.4.1.2":return{name:"AES-CBC",length:128};case"2.16.840.1.101.3.4.1.22":return{name:"AES-CBC",length:192};case"2.16.840.1.101.3.4.1.42":return{name:"AES-CBC",length:256};case"2.16.840.1.101.3.4.1.6":return{name:"AES-GCM",length:128};case"2.16.840.1.101.3.4.1.26":return{name:"AES-GCM",length:192};case"2.16.840.1.101.3.4.1.46":return{name:"AES-GCM",length:256};case"2.16.840.1.101.3.4.1.4":return{name:"AES-CFB",length:128};case"2.16.840.1.101.3.4.1.24":return{name:"AES-CFB",length:192};case"2.16.840.1.101.3.4.1.44":return{name:"AES-CFB",length:256};case"2.16.840.1.101.3.4.1.5":return{name:"AES-KW",length:128};case"2.16.840.1.101.3.4.1.25":return{name:"AES-KW",length:192};case"2.16.840.1.101.3.4.1.45":return{name:"AES-KW",length:256};case"1.2.840.113549.2.7":return{name:"HMAC",hash:{name:"SHA-1"}};case"1.2.840.113549.2.9":return{name:"HMAC",hash:{name:"SHA-256"}};case"1.2.840.113549.2.10":return{name:"HMAC",hash:{name:"SHA-384"}};case"1.2.840.113549.2.11":return{name:"HMAC",hash:{name:"SHA-512"}};case"1.2.840.113549.1.9.16.3.5":return{name:"DH"};case"1.3.14.3.2.26":return{name:"SHA-1"};case"2.16.840.1.101.3.4.2.1":return{name:"SHA-256"};case"2.16.840.1.101.3.4.2.2":return{name:"SHA-384"};case"2.16.840.1.101.3.4.2.3":return{name:"SHA-512"};case"1.2.840.113549.1.5.12":return{name:"PBKDF2"};case"1.2.840.10045.3.1.7":return{name:"P-256"};case"1.3.132.0.34":return{name:"P-384"};case"1.3.132.0.35":return{name:"P-521"}}if(t)throw Error(`Unsupported algorithm identifier ${r?`for ${r} `:""}: ${e}`);return{}}getOIDByAlgorithm(e,t=!1,r){let i="";switch(e.name.toUpperCase()){case"RSAES-PKCS1-V1_5":i="1.2.840.113549.1.1.1";break;case"RSASSA-PKCS1-V1_5":switch(e.hash.name.toUpperCase()){case"SHA-1":i="1.2.840.113549.1.1.5";break;case"SHA-256":i="1.2.840.113549.1.1.11";break;case"SHA-384":i="1.2.840.113549.1.1.12";break;case"SHA-512":i="1.2.840.113549.1.1.13"}break;case"RSA-PSS":i="1.2.840.113549.1.1.10";break;case"RSA-OAEP":i="1.2.840.113549.1.1.7";break;case"ECDSA":switch(e.hash.name.toUpperCase()){case"SHA-1":i="1.2.840.10045.4.1";break;case"SHA-256":i="1.2.840.10045.4.3.2";break;case"SHA-384":i="1.2.840.10045.4.3.3";break;case"SHA-512":i="1.2.840.10045.4.3.4"}break;case"ECDH":switch(e.kdf.toUpperCase()){case"SHA-1":i="1.3.133.16.840.63.0.2";break;case"SHA-256":i="1.3.132.1.11.1";break;case"SHA-384":i="1.3.132.1.11.2";break;case"SHA-512":i="1.3.132.1.11.3"}break;case"AES-CTR":case"AES-CMAC":case"CONCAT":case"HKDF":break;case"AES-CBC":switch(e.length){case 128:i="2.16.840.1.101.3.4.1.2";break;case 192:i="2.16.840.1.101.3.4.1.22";break;case 256:i="2.16.840.1.101.3.4.1.42"}break;case"AES-GCM":switch(e.length){case 128:i="2.16.840.1.101.3.4.1.6";break;case 192:i="2.16.840.1.101.3.4.1.26";break;case 256:i="2.16.840.1.101.3.4.1.46"}break;case"AES-CFB":switch(e.length){case 128:i="2.16.840.1.101.3.4.1.4";break;case 192:i="2.16.840.1.101.3.4.1.24";break;case 256:i="2.16.840.1.101.3.4.1.44"}break;case"AES-KW":switch(e.length){case 128:i="2.16.840.1.101.3.4.1.5";break;case 192:i="2.16.840.1.101.3.4.1.25";break;case 256:i="2.16.840.1.101.3.4.1.45"}break;case"HMAC":switch(e.hash.name.toUpperCase()){case"SHA-1":i="1.2.840.113549.2.7";break;case"SHA-256":i="1.2.840.113549.2.9";break;case"SHA-384":i="1.2.840.113549.2.10";break;case"SHA-512":i="1.2.840.113549.2.11"}break;case"DH":i="1.2.840.113549.1.9.16.3.5";break;case"SHA-1":i="1.3.14.3.2.26";break;case"SHA-256":i="2.16.840.1.101.3.4.2.1";break;case"SHA-384":i="2.16.840.1.101.3.4.2.2";break;case"SHA-512":i="2.16.840.1.101.3.4.2.3";break;case"PBKDF2":i="1.2.840.113549.1.5.12";break;case"P-256":i="1.2.840.10045.3.1.7";break;case"P-384":i="1.3.132.0.34";break;case"P-521":i="1.3.132.0.35"}if(!i&&t)throw Error(`Unsupported algorithm ${r?`for ${r} `:""}: ${e.name}`);return i}getAlgorithmParameters(e,t){let r={algorithm:{},usages:[]};switch(e.toUpperCase()){case"RSAES-PKCS1-V1_5":case"RSASSA-PKCS1-V1_5":switch(t.toLowerCase()){case"generatekey":r={algorithm:{name:"RSASSA-PKCS1-v1_5",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},usages:["sign","verify"]};break;case"verify":case"sign":case"importkey":r={algorithm:{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},usages:["verify"]};break;default:return{algorithm:{name:"RSASSA-PKCS1-v1_5"},usages:[]}}break;case"RSA-PSS":switch(t.toLowerCase()){case"sign":case"verify":r={algorithm:{name:"RSA-PSS",hash:{name:"SHA-1"},saltLength:20},usages:["sign","verify"]};break;case"generatekey":r={algorithm:{name:"RSA-PSS",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-1"}},usages:["sign","verify"]};break;case"importkey":r={algorithm:{name:"RSA-PSS",hash:{name:"SHA-1"}},usages:["verify"]};break;default:return{algorithm:{name:"RSA-PSS"},usages:[]}}break;case"RSA-OAEP":switch(t.toLowerCase()){case"encrypt":case"decrypt":r={algorithm:{name:"RSA-OAEP"},usages:["encrypt","decrypt"]};break;case"generatekey":r={algorithm:{name:"RSA-OAEP",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;case"importkey":r={algorithm:{name:"RSA-OAEP",hash:{name:"SHA-256"}},usages:["encrypt"]};break;default:return{algorithm:{name:"RSA-OAEP"},usages:[]}}break;case"ECDSA":switch(t.toLowerCase()){case"generatekey":r={algorithm:{name:"ECDSA",namedCurve:"P-256"},usages:["sign","verify"]};break;case"importkey":r={algorithm:{name:"ECDSA",namedCurve:"P-256"},usages:["verify"]};break;case"verify":case"sign":r={algorithm:{name:"ECDSA",hash:{name:"SHA-256"}},usages:["sign"]};break;default:return{algorithm:{name:"ECDSA"},usages:[]}}break;case"ECDH":switch(t.toLowerCase()){case"exportkey":case"importkey":case"generatekey":r={algorithm:{name:"ECDH",namedCurve:"P-256"},usages:["deriveKey","deriveBits"]};break;case"derivekey":case"derivebits":r={algorithm:{name:"ECDH",namedCurve:"P-256",public:[]},usages:["encrypt","decrypt"]};break;default:return{algorithm:{name:"ECDH"},usages:[]}}break;case"AES-CTR":switch(t.toLowerCase()){case"importkey":case"exportkey":case"generatekey":r={algorithm:{name:"AES-CTR",length:256},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;case"decrypt":case"encrypt":r={algorithm:{name:"AES-CTR",counter:new Uint8Array(16),length:10},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;default:return{algorithm:{name:"AES-CTR"},usages:[]}}break;case"AES-CBC":switch(t.toLowerCase()){case"importkey":case"exportkey":case"generatekey":r={algorithm:{name:"AES-CBC",length:256},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;case"decrypt":case"encrypt":r={algorithm:{name:"AES-CBC",iv:this.getRandomValues(new Uint8Array(16))},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;default:return{algorithm:{name:"AES-CBC"},usages:[]}}break;case"AES-GCM":switch(t.toLowerCase()){case"importkey":case"exportkey":case"generatekey":r={algorithm:{name:"AES-GCM",length:256},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;case"decrypt":case"encrypt":r={algorithm:{name:"AES-GCM",iv:this.getRandomValues(new Uint8Array(16))},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;default:return{algorithm:{name:"AES-GCM"},usages:[]}}break;case"AES-KW":switch(t.toLowerCase()){case"importkey":case"exportkey":case"generatekey":case"wrapkey":case"unwrapkey":r={algorithm:{name:"AES-KW",length:256},usages:["wrapKey","unwrapKey"]};break;default:return{algorithm:{name:"AES-KW"},usages:[]}}break;case"HMAC":switch(t.toLowerCase()){case"sign":case"verify":r={algorithm:{name:"HMAC"},usages:["sign","verify"]};break;case"importkey":case"exportkey":case"generatekey":r={algorithm:{name:"HMAC",length:32,hash:{name:"SHA-256"}},usages:["sign","verify"]};break;default:return{algorithm:{name:"HMAC"},usages:[]}}break;case"HKDF":if("derivekey"!==t.toLowerCase())return{algorithm:{name:"HKDF"},usages:[]};r={algorithm:{name:"HKDF",hash:"SHA-256",salt:new Uint8Array([]),info:new Uint8Array([])},usages:["encrypt","decrypt"]};break;case"PBKDF2":if("derivekey"!==t.toLowerCase())return{algorithm:{name:"PBKDF2"},usages:[]};r={algorithm:{name:"PBKDF2",hash:{name:"SHA-256"},salt:new Uint8Array([]),iterations:1e4},usages:["encrypt","decrypt"]}}return r}getHashAlgorithm(e){let t="";switch(e.algorithmId){case"1.2.840.10045.4.1":case"1.2.840.113549.1.1.5":t="SHA-1";break;case"1.2.840.10045.4.3.2":case"1.2.840.113549.1.1.11":t="SHA-256";break;case"1.2.840.10045.4.3.3":case"1.2.840.113549.1.1.12":t="SHA-384";break;case"1.2.840.10045.4.3.4":case"1.2.840.113549.1.1.13":t="SHA-512";break;case"1.2.840.113549.1.1.10":try{let r=new pZ({schema:e.algorithmParams});if(r.hashAlgorithm){let e=this.getAlgorithmByOID(r.hashAlgorithm.algorithmId);if(!("name"in e))return"";t=e.name}else t="SHA-1"}catch{}}return t}async encryptEncryptedContentInfo(e){uW.assert(e,"password","contentEncryptionAlgorithm","hmacHashAlgorithm","iterationCount","contentToEncrypt","contentToEncrypt","contentType");let t=this.getOIDByAlgorithm(e.contentEncryptionAlgorithm,!0,"contentEncryptionAlgorithm"),r=this.getOIDByAlgorithm({name:"PBKDF2"},!0,"PBKDF2"),i=this.getOIDByAlgorithm({name:"HMAC",hash:{name:e.hmacHashAlgorithm}},!0,"hmacHashAlgorithm"),a=new ArrayBuffer(16),n=new Uint8Array(a);this.getRandomValues(n);let s=new ArrayBuffer(64),o=new Uint8Array(s);this.getRandomValues(o);let l=new Uint8Array(e.contentToEncrypt),u=new p1({salt:new tq({valueHex:s}),iterationCount:e.iterationCount,prf:new cu({algorithmId:i,algorithmParams:new tU})}),c=new Uint8Array(e.password),d=await this.importKey("raw",c,"PBKDF2",!1,["deriveKey"]),p=await this.deriveKey({name:"PBKDF2",hash:{name:e.hmacHashAlgorithm},salt:o,iterations:e.iterationCount},d,e.contentEncryptionAlgorithm,!1,["encrypt"]),h=await this.encrypt({name:e.contentEncryptionAlgorithm.name,iv:n},p,l),m=new p6({keyDerivationFunc:new cu({algorithmId:r,algorithmParams:u.toSchema()}),encryptionScheme:new cu({algorithmId:t,algorithmParams:new tq({valueHex:a})})});return new pV({contentType:e.contentType,contentEncryptionAlgorithm:new cu({algorithmId:"1.2.840.113549.1.5.13",algorithmParams:m.toSchema()}),encryptedContent:new tq({valueHex:h})})}async decryptEncryptedContentInfo(e){let t,r;if(uW.assert(e,"password","encryptedContentInfo"),"1.2.840.113549.1.5.13"!==e.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId)throw Error(`Unknown "contentEncryptionAlgorithm": ${e.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId}`);try{t=new p6({schema:e.encryptedContentInfo.contentEncryptionAlgorithm.algorithmParams})}catch{throw Error('Incorrectly encoded "pbes2Parameters"')}try{r=new p1({schema:t.keyDerivationFunc.algorithmParams})}catch{throw Error('Incorrectly encoded "pbkdf2Params"')}let i=this.getAlgorithmByOID(t.encryptionScheme.algorithmId,!0),a=new Uint8Array(t.encryptionScheme.algorithmParams.valueBlock.valueHex),n=new Uint8Array(r.salt.valueBlock.valueHex),s=r.iterationCount,o="SHA-1";r.prf&&(o=this.getAlgorithmByOID(r.prf.algorithmId,!0).hash.name);let l=await this.importKey("raw",e.password,"PBKDF2",!1,["deriveKey"]),u=await this.deriveKey({name:"PBKDF2",hash:{name:o},salt:n,iterations:s},l,i,!1,["decrypt"]),c=e.encryptedContentInfo.getEncryptedContent();return this.decrypt({name:i.name,iv:a},u,c)}async stampDataWithPassword(e){let t;if(e instanceof Object==!1)throw Error('Parameters must have type "Object"');switch(uW.assert(e,"password","hashAlgorithm","iterationCount","salt","contentToStamp"),e.hashAlgorithm.toLowerCase()){case"sha-1":t=160;break;case"sha-256":t=256;break;case"sha-384":t=384;break;case"sha-512":t=512;break;default:throw Error(`Incorrect "parameters.hashAlgorithm" parameter: ${e.hashAlgorithm}`)}let r={name:"HMAC",length:t,hash:{name:e.hashAlgorithm}},i=await p5(e.hashAlgorithm,t,e.password,e.salt,e.iterationCount),a=await this.importKey("raw",new Uint8Array(i),r,!1,["sign"]);return this.sign(r,a,new Uint8Array(e.contentToStamp))}async verifyDataStampedWithPassword(e){uW.assert(e,"password","hashAlgorithm","salt","iterationCount","contentToVerify","signatureToVerify");let t=0;switch(e.hashAlgorithm.toLowerCase()){case"sha-1":t=160;break;case"sha-256":t=256;break;case"sha-384":t=384;break;case"sha-512":t=512;break;default:throw Error(`Incorrect "parameters.hashAlgorithm" parameter: ${e.hashAlgorithm}`)}let r={name:"HMAC",length:t,hash:{name:e.hashAlgorithm}},i=await p5(e.hashAlgorithm,t,e.password,e.salt,e.iterationCount),a=await this.importKey("raw",new Uint8Array(i),r,!1,["verify"]);return this.verify(r,a,new Uint8Array(e.signatureToVerify),new Uint8Array(e.contentToVerify))}async getSignatureParameters(e,t="SHA-1"){this.getOIDByAlgorithm({name:t},!0,"hashAlgorithm");let r=new cu,i=this.getAlgorithmParameters(e.algorithm.name,"sign");if(!Object.keys(i.algorithm).length)throw Error("Parameter 'algorithm' is empty");let a=i.algorithm;switch("hash"in e.algorithm&&e.algorithm.hash&&e.algorithm.hash.name?a.hash.name=e.algorithm.hash.name:a.hash.name=t,e.algorithm.name.toUpperCase()){case"RSASSA-PKCS1-V1_5":case"ECDSA":r.algorithmId=this.getOIDByAlgorithm(a,!0);break;case"RSA-PSS":{switch(a.hash.name.toUpperCase()){case"SHA-256":a.saltLength=32;break;case"SHA-384":a.saltLength=48;break;case"SHA-512":a.saltLength=64}let e={};"SHA-1"!==a.hash.name.toUpperCase()&&(e.hashAlgorithm=new cu({algorithmId:this.getOIDByAlgorithm({name:a.hash.name},!0,"hashAlgorithm"),algorithmParams:new tU}),e.maskGenAlgorithm=new cu({algorithmId:"1.2.840.113549.1.1.8",algorithmParams:e.hashAlgorithm.toSchema()})),20!==a.saltLength&&(e.saltLength=a.saltLength);let t=new pZ(e);r.algorithmId="1.2.840.113549.1.1.10",r.algorithmParams=t.toSchema()}break;default:throw Error(`Unsupported signature algorithm: ${e.algorithm.name}`)}return{signatureAlgorithm:r,parameters:i}}async signWithPrivateKey(e,t,r){let i=await this.sign(r.algorithm,t,e);return"ECDSA"===r.algorithm.name?function(e){if(e.byteLength%2!=0)return uG;let t=e.byteLength/2,r=new ArrayBuffer(t);new Uint8Array(r).set(new Uint8Array(e,0,t));let i=new tG({valueHex:r}),a=new ArrayBuffer(t);new Uint8Array(a).set(new Uint8Array(e,t,t));let n=new tG({valueHex:a});return new tX({value:[i.convertToDER(),n.convertToDER()]}).toBER(!1)}(i):i}fillPublicKeyParameters(e,t){let r,i={},a=this.getHashAlgorithm(t);if(""===a)throw Error(`Unsupported signature algorithm: ${t.algorithmId}`);r="1.2.840.113549.1.1.10"===t.algorithmId?t.algorithmId:e.algorithm.algorithmId;let n=this.getAlgorithmByOID(r,!0);if(i.algorithm=this.getAlgorithmParameters(n.name,"importKey"),"hash"in i.algorithm.algorithm&&(i.algorithm.algorithm.hash.name=a),"ECDSA"===n.name){let t=e.algorithm;if(!t.algorithmParams)throw Error("Algorithm parameters for ECDSA public key are missed");let r=t.algorithmParams;if("idBlock"in t.algorithmParams&&(1!==r.idBlock.tagClass||6!==r.idBlock.tagNumber))throw Error("Incorrect type for ECDSA public key parameters");let a=this.getAlgorithmByOID(r.valueBlock.toString(),!0);i.algorithm.algorithm.namedCurve=a.name}return i}async getPublicKey(e,t,r){r||(r=this.fillPublicKeyParameters(e,t));let i=e.toSchema().toBER(!1);return this.importKey("spki",i,r.algorithm.algorithm,!0,r.algorithm.usages)}async verifyWithPublicKey(e,t,r,i,a){let n;if(a){let e,t={};e="1.2.840.113549.1.1.10"===i.algorithmId?i.algorithmId:r.algorithm.algorithmId;let s=this.getAlgorithmByOID(e,!0);if(t.algorithm=this.getAlgorithmParameters(s.name,"importKey"),"hash"in t.algorithm.algorithm&&(t.algorithm.algorithm.hash.name=a),"ECDSA"===s.name){let e=!1;if("algorithmParams"in r.algorithm==!0&&"idBlock"in r.algorithm.algorithmParams&&1===r.algorithm.algorithmParams.idBlock.tagClass&&6===r.algorithm.algorithmParams.idBlock.tagNumber&&(e=!0),!1===e)throw Error("Incorrect type for ECDSA public key parameters");let i=this.getAlgorithmByOID(r.algorithm.algorithmParams.valueBlock.toString(),!0);t.algorithm.algorithm.namedCurve=i.name}n=await this.getPublicKey(r,null,t)}else{if(!(a=this.getHashAlgorithm(i)))throw Error(`Unsupported signature algorithm: ${i.algorithmId}`);n=await this.getPublicKey(r,i)}let s=this.getAlgorithmParameters(n.algorithm.name,"verify");"hash"in s.algorithm&&(s.algorithm.hash.name=a);let o=t.valueBlock.valueHexView;if("ECDSA"===n.algorithm.name){let e=d7.find(n.algorithm.namedCurve);if(!e)throw Error("Unsupported named curve in use");let t=tD(o);uJ.assert(t,"Signature value"),o=function(e,t){if(!(e instanceof tX&&2===e.valueBlock.value.length&&e.valueBlock.value[0]instanceof tG&&e.valueBlock.value[1]instanceof tG))return uG;let r=e.valueBlock.value[0].convertFromDER().valueBlock.valueHexView,i=e.valueBlock.value[1].convertFromDER().valueBlock.valueHexView,a=new Uint8Array(2*t);return a.set(r,t-r.byteLength),a.set(i,2*t-i.byteLength),a.buffer}(t.result,e.size)}if("RSA-PSS"===n.algorithm.name){let e=new pZ({schema:i.algorithmParams});"saltLength"in e?s.algorithm.saltLength=e.saltLength:s.algorithm.saltLength=20;let t="SHA-1";"hashAlgorithm"in e&&(t=this.getAlgorithmByOID(e.hashAlgorithm.algorithmId,!0).name),s.algorithm.hash.name=t}return this.verify(s.algorithm,n,o,e)}}let p7={name:"none",crypto:null};function he(e){return!!e&&"object"==typeof e&&"crypto"in e}function ht(t,...r){let i=null;if(r.length<2)i=r.length?r[0]:"u">typeof self&&self.crypto?new p9({name:"browser",crypto:self.crypto}):null;else{let e=r[0],t=r[1];he(t)?i=t:he(e)?i=e:"subtle"in e&&"getRandomValues"in e&&(i=new p9({crypto:e}))}if("u">typeof process&&"pid"in process){if(void 0===e.g[process.pid])e.g[process.pid]={};else if("object"!=typeof e.g[process.pid])throw Error(`Name global.${process.pid} already exists and it is not an object`);if(void 0===e.g[process.pid].pkijs)e.g[process.pid].pkijs={};else if("object"!=typeof e.g[process.pid].pkijs)throw Error(`Name global.${process.pid}.pkijs already exists and it is not an object`);e.g[process.pid].pkijs.engine={name:t,crypto:i}}else p7={name:t,crypto:i}}function hr(t=!1){let r=function(){if("u">typeof process&&"pid"in process){let t;try{t=e.g[process.pid].pkijs.engine}catch{throw Error("Please call 'setEngine' before call to 'getEngine'")}return t}return p7}();if(!r.crypto&&t)throw Error("Unable to create WebCrypto object");return r.crypto}async function hi(e,t,r,i,a){switch(e.toUpperCase()){case"SHA-1":case"SHA-256":case"SHA-384":case"SHA-512":break;default:throw new uH(`Unknown hash function: ${e}`)}if(uH.assert(t,"zBuffer","ArrayBuffer"),0===t.byteLength)throw new uH("'zBuffer' has zero length, error");if(uH.assert(i,"SharedInfo","ArrayBuffer"),r>255)throw new uH("Please set 'Counter' argument to value less or equal to 255");let n=new ArrayBuffer(4),s=new Uint8Array(n);s[0]=0,s[1]=0,s[2]=0,s[3]=r;let o=uG;return o=e2(o,t),o=e2(o,n),o=e2(o,i),{counter:r,result:await a.digest({name:e},o)}}async function ha(e,t,r,i,a=hr(!0)){let n=0,s=1;switch(e.toUpperCase()){case"SHA-1":n=160;break;case"SHA-256":n=256;break;case"SHA-384":n=384;break;case"SHA-512":n=512;break;default:throw new uH(`Unknown hash function: ${e}`)}if(uH.assert(t,"Zbuffer","ArrayBuffer"),0===t.byteLength)throw new uH("'Zbuffer' has zero length, error");uH.assert(i,"SharedInfo","ArrayBuffer");let o=r/n;Math.floor(o)>0&&(s=Math.floor(o),o-s>0&&s++);let l=[];for(let r=1;r<=s;r++)l.push(await hi(e,t,r,i,a));let u=uG,c=1,d=!0;for(;d;){for(let e of(d=!1,l))if(e.counter===c){u=e2(u,e.result),d=!0;break}c++}if(r>>=3,u.byteLength>r){let e=new ArrayBuffer(r),t=new Uint8Array(e),i=new Uint8Array(u);for(let e=0;e<r;e++)t[e]=i[e];return e}return u}let hn="version",hs="logID",ho="extensions",hl="timestamp",hu="hashAlgorithm",hc="signatureAlgorithm",hd="signature",hp="none",hh="sha1",hm="sha224",hf="sha256",hg="sha384",hy="sha512",hw="anonymous",hb="ecdsa";class hv extends uz{constructor(e={}){super(),this.version=eQ(e,hn,hv.defaultValues(hn)),this.logID=eQ(e,hs,hv.defaultValues(hs)),this.timestamp=eQ(e,hl,hv.defaultValues(hl)),this.extensions=eQ(e,ho,hv.defaultValues(ho)),this.hashAlgorithm=eQ(e,hu,hv.defaultValues(hu)),this.signatureAlgorithm=eQ(e,hc,hv.defaultValues(hc)),this.signature=eQ(e,hd,hv.defaultValues(hd)),"stream"in e&&e.stream&&this.fromStream(e.stream),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case hn:return 0;case hs:case ho:return uG;case hl:return new Date(0);case hu:case hc:return"";case hd:return uG;default:return super.defaultValues(e)}}fromSchema(e){if(e instanceof rb==!1)throw Error("Object's schema was not verified against input data for SignedCertificateTimestamp");let t=new ut({stream:new ue({buffer:e.data})});this.fromStream(t)}fromStream(e){let t=e.getUint16();if(this.version=e.getBlock(1)[0],0===this.version){this.logID=new Uint8Array(e.getBlock(32)).buffer.slice(0),this.timestamp=new Date(e0(new Uint8Array(e.getBlock(8)),8));let r=e.getUint16();switch(this.extensions=new Uint8Array(e.getBlock(r)).buffer.slice(0),e.getBlock(1)[0]){case 0:this.hashAlgorithm=hp;break;case 1:this.hashAlgorithm="md5";break;case 2:this.hashAlgorithm=hh;break;case 3:this.hashAlgorithm=hm;break;case 4:this.hashAlgorithm=hf;break;case 5:this.hashAlgorithm=hg;break;case 6:this.hashAlgorithm=hy;break;default:throw Error("Object's stream was not correct for SignedCertificateTimestamp")}switch(e.getBlock(1)[0]){case 0:this.signatureAlgorithm=hw;break;case 1:this.signatureAlgorithm="rsa";break;case 2:this.signatureAlgorithm="dsa";break;case 3:this.signatureAlgorithm=hb;break;default:throw Error("Object's stream was not correct for SignedCertificateTimestamp")}let i=e.getUint16();if(this.signature=new Uint8Array(e.getBlock(i)).buffer.slice(0),t!==47+r+i)throw Error("Object's stream was not correct for SignedCertificateTimestamp")}}toSchema(){return new rb({data:this.toStream().stream.buffer})}toStream(){let e,t,r=new ut;r.appendUint16(47+this.extensions.byteLength+this.signature.byteLength),r.appendChar(this.version),r.appendView(new Uint8Array(this.logID));let i=new Uint8Array(new ArrayBuffer(8)),a=e1(this.timestamp.valueOf(),8);switch(i.set(new Uint8Array(a),8-a.byteLength),r.appendView(i),r.appendUint16(this.extensions.byteLength),this.extensions.byteLength&&r.appendView(new Uint8Array(this.extensions)),this.hashAlgorithm.toLowerCase()){case hp:e=0;break;case"md5":e=1;break;case hh:e=2;break;case hm:e=3;break;case hf:e=4;break;case hg:e=5;break;case hy:e=6;break;default:throw Error(`Incorrect data for hashAlgorithm: ${this.hashAlgorithm}`)}switch(r.appendChar(e),this.signatureAlgorithm.toLowerCase()){case hw:t=0;break;case"rsa":t=1;break;case"dsa":t=2;break;case hb:t=3;break;default:throw Error(`Incorrect data for signatureAlgorithm: ${this.signatureAlgorithm}`)}return r.appendChar(t),r.appendUint16(this.signature.byteLength),r.appendView(new Uint8Array(this.signature)),r}toJSON(){return{version:this.version,logID:eX(this.logID),timestamp:this.timestamp,extensions:eX(this.extensions),hashAlgorithm:this.hashAlgorithm,signatureAlgorithm:this.signatureAlgorithm,signature:eX(this.signature)}}async verify(e,t,r=0,i=hr(!0)){let a=e7(tt(this.logID)),n=null,s=new ut;for(let t of e)if(t.log_id===a){n=t.key;break}if(!n)throw Error(`Public key not found for CT with logId: ${a}`);let o=tr(te(n)),l=pu.fromBER(o);s.appendChar(0),s.appendChar(0);let u=new Uint8Array(new ArrayBuffer(8)),c=e1(this.timestamp.valueOf(),8);return u.set(new Uint8Array(c),8-c.byteLength),s.appendView(u),s.appendUint16(r),0===r&&s.appendUint24(t.byteLength),s.appendView(new Uint8Array(t)),s.appendUint16(this.extensions.byteLength),0!==this.extensions.byteLength&&s.appendView(new Uint8Array(this.extensions)),i.verifyWithPublicKey(s.buffer.slice(0,s.length),new tq({valueHex:this.signature}),l,{algorithmId:""},"SHA-256")}}hv.CLASS_NAME="SignedCertificateTimestamp";let hk="timestamps";class hS extends uz{constructor(e={}){super(),this.timestamps=eQ(e,hk,hS.defaultValues(hk)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){return e===hk?[]:super.defaultValues(e)}static compareWithDefault(e,t){return e===hk?0===t.length:super.defaultValues(e)}static schema(e={}){let t=eQ(e,"names",{});return null!=t.optional||(t.optional=!1),new tq({name:t.blockName||"SignedCertificateTimestampList",optional:t.optional})}fromSchema(e){if(e instanceof tq==!1)throw Error("Object's schema was not verified against input data for SignedCertificateTimestampList");let t=new ut({stream:new ue({buffer:e.valueBlock.valueHex})});if(t.getUint16()!==t.length)throw Error("Object's schema was not verified against input data for SignedCertificateTimestampList");for(;t.length;)this.timestamps.push(new hv({stream:t}))}toSchema(){let e=new ut,t=0,r=[];for(let e of this.timestamps){let i=e.toStream();r.push(i),t+=i.stream.buffer.byteLength}for(let i of(e.appendUint16(t),r))e.appendView(i.stream.view);return new tq({valueHex:e.stream.buffer.slice(0)})}toJSON(){return{timestamps:Array.from(this.timestamps,e=>e.toJSON())}}}hS.CLASS_NAME="SignedCertificateTimestampList";let hE="attributes",hI=[hE];class hx extends uz{constructor(e={}){super(),this.attributes=eQ(e,hE,hx.defaultValues(hE)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){return e===hE?[]:super.defaultValues(e)}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new rw({name:t.attributes||"",value:cg.schema()})]})}fromSchema(e){ta(e,hI);let t=rv(e,e,hx.schema({names:{attributes:hE}}));uJ.assertSchema(t,this.className),this.attributes=Array.from(t.result.attributes,e=>new cg({schema:e}))}toSchema(){return new tX({value:Array.from(this.attributes,e=>e.toSchema())})}toJSON(){return{attributes:Array.from(this.attributes,e=>e.toJSON())}}}hx.CLASS_NAME="SubjectDirectoryAttributes";class hA{static getItems(){return this.types||(this.types={},hA.register(cI,"SubjectAltName",cp),hA.register(cx,"IssuerAltName",cp),hA.register(c$,"AuthorityKeyIdentifier",cZ),hA.register(cA,"BasicConstraints",cQ),hA.register("1.3.6.1.4.1.311.21.1","MicrosoftCaVersion",c1),hA.register(cN,"CertificatePolicies",dr),hA.register("1.3.6.1.4.1.311.21.10","CertificatePoliciesMicrosoft",dr),hA.register("1.3.6.1.4.1.311.21.7","MicrosoftCertTemplateV2",dl),hA.register(cT,"CRLDistributionPoints",dw),hA.register(cD,"FreshestCRL",dw),hA.register("2.5.29.37","ExtKeyUsage",dk),hA.register(cC,"CertificateIssuer",cE),hA.register(cB,"AuthorityInfoAccess",dE),hA.register("1.3.6.1.5.5.7.1.11","SubjectInfoAccess",dE),hA.register(c_,"IssuingDistributionPoint",dN),hA.register(cR,"NameConstraints",dM),hA.register(cU,"PolicyConstraints",dG),hA.register(cP,"PolicyMappings",dQ),hA.register("2.5.29.16","PrivateKeyUsagePeriod",d2),hA.register("1.3.6.1.5.5.7.1.3","QCStatements",d9),hA.register("1.3.6.1.4.1.11129.2.4.2","SignedCertificateTimestampList",hS),hA.register("2.5.29.9","SubjectDirectoryAttributes",hx)),this.types}static fromBER(e,t){let r=tD(t);if(-1===r.offset)return null;let i=this.find(e);if(i)try{return new i.type({schema:r.result})}catch{let t=new i.type;return t.parsingError=`Incorrectly formatted value of extension ${i.name} (${e})`,t}return r.result}static find(e){return this.getItems()[e]||null}static register(e,t,r){this.getItems()[e]={name:t,type:r}}}let h_="extnID",hC="critical",hR="extnValue",hT="parsedValue",hD=[h_,hC,hR];class hN extends uz{get parsedValue(){if(void 0===this._parsedValue){let e=hA.fromBER(this.extnID,this.extnValue.valueBlock.valueHexView);this._parsedValue=e}return this._parsedValue||void 0}set parsedValue(e){this._parsedValue=e}constructor(e={}){super(),this.extnID=eQ(e,h_,hN.defaultValues(h_)),this.critical=eQ(e,hC,hN.defaultValues(hC)),hR in e?this.extnValue=new tq({valueHex:e.extnValue}):this.extnValue=hN.defaultValues(hR),hT in e&&(this.parsedValue=eQ(e,hT,hN.defaultValues(hT))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case h_:return"";case hC:return!1;case hR:return new tq;case hT:return{};default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tz({name:t.extnID||""}),new tj({name:t.critical||"",optional:!0}),new tq({name:t.extnValue||""})]})}fromSchema(e){ta(e,hD);let t=rv(e,e,hN.schema({names:{extnID:h_,critical:hC,extnValue:hR}}));uJ.assertSchema(t,this.className),this.extnID=t.result.extnID.valueBlock.toString(),hC in t.result&&(this.critical=t.result.critical.valueBlock.value),this.extnValue=t.result.extnValue}toSchema(){let e=[];return e.push(new tz({value:this.extnID})),this.critical!==hN.defaultValues(hC)&&e.push(new tj({value:this.critical})),e.push(this.extnValue),new tX({value:e})}toJSON(){let e={extnID:this.extnID,extnValue:this.extnValue.toJSON()};return this.critical!==hN.defaultValues(hC)&&(e.critical=this.critical),this.parsedValue&&this.parsedValue.toJSON&&(e.parsedValue=this.parsedValue.toJSON()),e}}hN.CLASS_NAME="Extension";let hO="extensions",hP=[hO];class h$ extends uz{constructor(e={}){super(),this.extensions=eQ(e,hO,h$.defaultValues(hO)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){return e===hO?[]:super.defaultValues(e)}static schema(e={},t=!1){let r=eQ(e,"names",{});return new tX({optional:t,name:r.blockName||"",value:[new rw({name:r.extensions||"",value:hN.schema(r.extension||{})})]})}fromSchema(e){ta(e,hP);let t=rv(e,e,h$.schema({names:{extensions:hO}}));uJ.assertSchema(t,this.className),this.extensions=Array.from(t.result.extensions,e=>new hN({schema:e}))}toSchema(){return new tX({value:Array.from(this.extensions,e=>e.toSchema())})}toJSON(){return{extensions:this.extensions.map(e=>e.toJSON())}}}h$.CLASS_NAME="Extensions";let hU="issuer",hB="serialNumber",hj="issuerUID",hL=[hU,hB,hj];class hq extends uz{constructor(e={}){super(),this.issuer=eQ(e,hU,hq.defaultValues(hU)),this.serialNumber=eQ(e,hB,hq.defaultValues(hB)),hj in e&&(this.issuerUID=eQ(e,hj,hq.defaultValues(hj))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case hU:return new cE;case hB:return new tG;case hj:return new tF;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[cE.schema(t.issuer||{}),new tG({name:t.serialNumber||""}),new tF({optional:!0,name:t.issuerUID||""})]})}fromSchema(e){ta(e,hL);let t=rv(e,e,hq.schema({names:{issuer:{names:{blockName:hU}},serialNumber:hB,issuerUID:hj}}));uJ.assertSchema(t,this.className),this.issuer=new cE({schema:t.result.issuer}),this.serialNumber=t.result.serialNumber,hj in t.result&&(this.issuerUID=t.result.issuerUID)}toSchema(){let e=new tX({value:[this.issuer.toSchema(),this.serialNumber]});return this.issuerUID&&e.valueBlock.value.push(this.issuerUID),e}toJSON(){let e={issuer:this.issuer.toJSON(),serialNumber:this.serialNumber.toJSON()};return this.issuerUID&&(e.issuerUID=this.issuerUID.toJSON()),e}}hq.CLASS_NAME="IssuerSerial";let hM="version",hF="baseCertificateID",hK="subjectName",hV="issuer",hG="signature",hH="serialNumber",hW="attrCertValidityPeriod",hJ="attributes",hz="issuerUniqueID",hZ="extensions",hY=[hM,hF,hK,hV,hG,hH,hW,hJ,hz,hZ];class hQ extends uz{constructor(e={}){super(),this.version=eQ(e,hM,hQ.defaultValues(hM)),hF in e&&(this.baseCertificateID=eQ(e,hF,hQ.defaultValues(hF))),hK in e&&(this.subjectName=eQ(e,hK,hQ.defaultValues(hK))),this.issuer=eQ(e,hV,hQ.defaultValues(hV)),this.signature=eQ(e,hG,hQ.defaultValues(hG)),this.serialNumber=eQ(e,hH,hQ.defaultValues(hH)),this.attrCertValidityPeriod=eQ(e,hW,hQ.defaultValues(hW)),this.attributes=eQ(e,hJ,hQ.defaultValues(hJ)),hz in e&&(this.issuerUniqueID=eQ(e,hz,hQ.defaultValues(hz))),hZ in e&&(this.extensions=eQ(e,hZ,hQ.defaultValues(hZ))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case hM:return 0;case hF:return new hq;case hK:case hV:return new cE;case hG:return new cu;case hH:return new tG;case hW:return new cv;case hJ:return[];case hz:return new tF;case hZ:return new h$;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tG({name:t.version||""}),new ry({value:[new tO({name:t.baseCertificateID||"",idBlock:{tagClass:3,tagNumber:0},value:hq.schema().valueBlock.value}),new tO({name:t.subjectName||"",idBlock:{tagClass:3,tagNumber:1},value:cE.schema().valueBlock.value})]}),cE.schema({names:{blockName:t.issuer||""}}),cu.schema(t.signature||{}),new tG({name:t.serialNumber||""}),cv.schema(t.attrCertValidityPeriod||{}),new tX({name:t.attributes||"",value:[new rw({value:cg.schema()})]}),new tF({optional:!0,name:t.issuerUniqueID||""}),h$.schema(t.extensions||{},!0)]})}fromSchema(e){ta(e,hY);let t=rv(e,e,hQ.schema({names:{version:hM,baseCertificateID:hF,subjectName:hK,issuer:hV,signature:{names:{blockName:hG}},serialNumber:hH,attrCertValidityPeriod:{names:{blockName:hW}},attributes:hJ,issuerUniqueID:hz,extensions:{names:{blockName:hZ}}}}));uJ.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,hF in t.result&&(this.baseCertificateID=new hq({schema:new tX({value:t.result.baseCertificateID.valueBlock.value})})),hK in t.result&&(this.subjectName=new cE({schema:new tX({value:t.result.subjectName.valueBlock.value})})),this.issuer=t.result.issuer,this.signature=new cu({schema:t.result.signature}),this.serialNumber=t.result.serialNumber,this.attrCertValidityPeriod=new cv({schema:t.result.attrCertValidityPeriod}),this.attributes=Array.from(t.result.attributes.valueBlock.value,e=>new cg({schema:e})),hz in t.result&&(this.issuerUniqueID=t.result.issuerUniqueID),hZ in t.result&&(this.extensions=new h$({schema:t.result.extensions}))}toSchema(){let e=new tX({value:[new tG({value:this.version})]});return this.baseCertificateID&&e.valueBlock.value.push(new tO({idBlock:{tagClass:3,tagNumber:0},value:this.baseCertificateID.toSchema().valueBlock.value})),this.subjectName&&e.valueBlock.value.push(new tO({idBlock:{tagClass:3,tagNumber:1},value:this.subjectName.toSchema().valueBlock.value})),e.valueBlock.value.push(this.issuer.toSchema()),e.valueBlock.value.push(this.signature.toSchema()),e.valueBlock.value.push(this.serialNumber),e.valueBlock.value.push(this.attrCertValidityPeriod.toSchema()),e.valueBlock.value.push(new tX({value:Array.from(this.attributes,e=>e.toSchema())})),this.issuerUniqueID&&e.valueBlock.value.push(this.issuerUniqueID),this.extensions&&e.valueBlock.value.push(this.extensions.toSchema()),e}toJSON(){let e={version:this.version};return this.baseCertificateID&&(e.baseCertificateID=this.baseCertificateID.toJSON()),this.subjectName&&(e.subjectName=this.subjectName.toJSON()),e.issuer=this.issuer.toJSON(),e.signature=this.signature.toJSON(),e.serialNumber=this.serialNumber.toJSON(),e.attrCertValidityPeriod=this.attrCertValidityPeriod.toJSON(),e.attributes=Array.from(this.attributes,e=>e.toJSON()),this.issuerUniqueID&&(e.issuerUniqueID=this.issuerUniqueID.toJSON()),this.extensions&&(e.extensions=this.extensions.toJSON()),e}}hQ.CLASS_NAME="AttributeCertificateInfoV1";let hX="acinfo",h0="signatureAlgorithm",h1="signatureValue",h2=[hX,h1,h0];class h3 extends uz{constructor(e={}){super(),this.acinfo=eQ(e,hX,h3.defaultValues(hX)),this.signatureAlgorithm=eQ(e,h0,h3.defaultValues(h0)),this.signatureValue=eQ(e,h1,h3.defaultValues(h1)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case hX:return new hQ;case h0:return new cu;case h1:return new tF;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[hQ.schema(t.acinfo||{}),cu.schema(t.signatureAlgorithm||{}),new tF({name:t.signatureValue||""})]})}fromSchema(e){ta(e,h2);let t=rv(e,e,h3.schema({names:{acinfo:{names:{blockName:hX}},signatureAlgorithm:{names:{blockName:h0}},signatureValue:h1}}));uJ.assertSchema(t,this.className),this.acinfo=new hQ({schema:t.result.acinfo}),this.signatureAlgorithm=new cu({schema:t.result.signatureAlgorithm}),this.signatureValue=t.result.signatureValue}toSchema(){return new tX({value:[this.acinfo.toSchema(),this.signatureAlgorithm.toSchema(),this.signatureValue]})}toJSON(){return{acinfo:this.acinfo.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signatureValue:this.signatureValue.toJSON()}}}h3.CLASS_NAME="AttributeCertificateV1";let h4="digestedObjectType",h6="otherObjectTypeID",h8="digestAlgorithm",h5="objectDigest",h9=[h4,h6,h8,h5];class h7 extends uz{constructor(e={}){super(),this.digestedObjectType=eQ(e,h4,h7.defaultValues(h4)),h6 in e&&(this.otherObjectTypeID=eQ(e,h6,h7.defaultValues(h6))),this.digestAlgorithm=eQ(e,h8,h7.defaultValues(h8)),this.objectDigest=eQ(e,h5,h7.defaultValues(h5)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case h4:return new tH;case h6:return new tz;case h8:return new cu;case h5:return new tF;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tH({name:t.digestedObjectType||""}),new tz({optional:!0,name:t.otherObjectTypeID||""}),cu.schema(t.digestAlgorithm||{}),new tF({name:t.objectDigest||""})]})}fromSchema(e){ta(e,h9);let t=rv(e,e,h7.schema({names:{digestedObjectType:h4,otherObjectTypeID:h6,digestAlgorithm:{names:{blockName:h8}},objectDigest:h5}}));uJ.assertSchema(t,this.className),this.digestedObjectType=t.result.digestedObjectType,h6 in t.result&&(this.otherObjectTypeID=t.result.otherObjectTypeID),this.digestAlgorithm=new cu({schema:t.result.digestAlgorithm}),this.objectDigest=t.result.objectDigest}toSchema(){let e=new tX({value:[this.digestedObjectType]});return this.otherObjectTypeID&&e.valueBlock.value.push(this.otherObjectTypeID),e.valueBlock.value.push(this.digestAlgorithm.toSchema()),e.valueBlock.value.push(this.objectDigest),e}toJSON(){let e={digestedObjectType:this.digestedObjectType.toJSON(),digestAlgorithm:this.digestAlgorithm.toJSON(),objectDigest:this.objectDigest.toJSON()};return this.otherObjectTypeID&&(e.otherObjectTypeID=this.otherObjectTypeID.toJSON()),e}}h7.CLASS_NAME="ObjectDigestInfo";let me="issuerName",mt="baseCertificateID",mr="objectDigestInfo",mi=[me,mt,mr];class ma extends uz{constructor(e={}){super(),me in e&&(this.issuerName=eQ(e,me,ma.defaultValues(me))),mt in e&&(this.baseCertificateID=eQ(e,mt,ma.defaultValues(mt))),mr in e&&(this.objectDigestInfo=eQ(e,mr,ma.defaultValues(mr))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case me:return new cE;case mt:return new hq;case mr:return new h7;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[cE.schema({names:{blockName:t.issuerName}},!0),new tO({optional:!0,name:t.baseCertificateID||"",idBlock:{tagClass:3,tagNumber:0},value:hq.schema().valueBlock.value}),new tO({optional:!0,name:t.objectDigestInfo||"",idBlock:{tagClass:3,tagNumber:1},value:h7.schema().valueBlock.value})]})}fromSchema(e){ta(e,mi);let t=rv(e,e,ma.schema({names:{issuerName:me,baseCertificateID:mt,objectDigestInfo:mr}}));uJ.assertSchema(t,this.className),me in t.result&&(this.issuerName=new cE({schema:t.result.issuerName})),mt in t.result&&(this.baseCertificateID=new hq({schema:new tX({value:t.result.baseCertificateID.valueBlock.value})})),mr in t.result&&(this.objectDigestInfo=new h7({schema:new tX({value:t.result.objectDigestInfo.valueBlock.value})}))}toSchema(){let e=new tX;return this.issuerName&&e.valueBlock.value.push(this.issuerName.toSchema()),this.baseCertificateID&&e.valueBlock.value.push(new tO({idBlock:{tagClass:3,tagNumber:0},value:this.baseCertificateID.toSchema().valueBlock.value})),this.objectDigestInfo&&e.valueBlock.value.push(new tO({idBlock:{tagClass:3,tagNumber:1},value:this.objectDigestInfo.toSchema().valueBlock.value})),e}toJSON(){let e={};return this.issuerName&&(e.issuerName=this.issuerName.toJSON()),this.baseCertificateID&&(e.baseCertificateID=this.baseCertificateID.toJSON()),this.objectDigestInfo&&(e.objectDigestInfo=this.objectDigestInfo.toJSON()),e}}ma.CLASS_NAME="V2Form";let mn="baseCertificateID",ms="entityName",mo="objectDigestInfo",ml=[mn,ms,mo];class mu extends uz{constructor(e={}){super(),mn in e&&(this.baseCertificateID=eQ(e,mn,mu.defaultValues(mn))),ms in e&&(this.entityName=eQ(e,ms,mu.defaultValues(ms))),mo in e&&(this.objectDigestInfo=eQ(e,mo,mu.defaultValues(mo))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case mn:return new hq;case ms:return new cE;case mo:return new h7;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tO({optional:!0,name:t.baseCertificateID||"",idBlock:{tagClass:3,tagNumber:0},value:hq.schema().valueBlock.value}),new tO({optional:!0,name:t.entityName||"",idBlock:{tagClass:3,tagNumber:1},value:cE.schema().valueBlock.value}),new tO({optional:!0,name:t.objectDigestInfo||"",idBlock:{tagClass:3,tagNumber:2},value:h7.schema().valueBlock.value})]})}fromSchema(e){ta(e,ml);let t=rv(e,e,mu.schema({names:{baseCertificateID:mn,entityName:ms,objectDigestInfo:mo}}));uJ.assertSchema(t,this.className),mn in t.result&&(this.baseCertificateID=new hq({schema:new tX({value:t.result.baseCertificateID.valueBlock.value})})),ms in t.result&&(this.entityName=new cE({schema:new tX({value:t.result.entityName.valueBlock.value})})),mo in t.result&&(this.objectDigestInfo=new h7({schema:new tX({value:t.result.objectDigestInfo.valueBlock.value})}))}toSchema(){let e=new tX;return this.baseCertificateID&&e.valueBlock.value.push(new tO({idBlock:{tagClass:3,tagNumber:0},value:this.baseCertificateID.toSchema().valueBlock.value})),this.entityName&&e.valueBlock.value.push(new tO({idBlock:{tagClass:3,tagNumber:1},value:this.entityName.toSchema().valueBlock.value})),this.objectDigestInfo&&e.valueBlock.value.push(new tO({idBlock:{tagClass:3,tagNumber:2},value:this.objectDigestInfo.toSchema().valueBlock.value})),e}toJSON(){let e={};return this.baseCertificateID&&(e.baseCertificateID=this.baseCertificateID.toJSON()),this.entityName&&(e.entityName=this.entityName.toJSON()),this.objectDigestInfo&&(e.objectDigestInfo=this.objectDigestInfo.toJSON()),e}}mu.CLASS_NAME="Holder";let mc="version",md="holder",mp="issuer",mh="signature",mm="serialNumber",mf="attrCertValidityPeriod",mg="attributes",my="issuerUniqueID",mw="extensions",mb=[mc,md,mp,mh,mm,mf,mg,my,mw];class mv extends uz{constructor(e={}){super(),this.version=eQ(e,mc,mv.defaultValues(mc)),this.holder=eQ(e,md,mv.defaultValues(md)),this.issuer=eQ(e,mp,mv.defaultValues(mp)),this.signature=eQ(e,mh,mv.defaultValues(mh)),this.serialNumber=eQ(e,mm,mv.defaultValues(mm)),this.attrCertValidityPeriod=eQ(e,mf,mv.defaultValues(mf)),this.attributes=eQ(e,mg,mv.defaultValues(mg)),my in e&&(this.issuerUniqueID=eQ(e,my,mv.defaultValues(my))),mw in e&&(this.extensions=eQ(e,mw,mv.defaultValues(mw))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case mc:return 1;case md:return new mu;case mp:return{};case mh:return new cu;case mm:return new tG;case mf:return new cv;case mg:return[];case my:return new tF;case mw:return new h$;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tG({name:t.version||""}),mu.schema(t.holder||{}),new ry({value:[cE.schema({names:{blockName:t.issuer||""}}),new tO({name:t.issuer||"",idBlock:{tagClass:3,tagNumber:0},value:ma.schema().valueBlock.value})]}),cu.schema(t.signature||{}),new tG({name:t.serialNumber||""}),cv.schema(t.attrCertValidityPeriod||{}),new tX({name:t.attributes||"",value:[new rw({value:cg.schema()})]}),new tF({optional:!0,name:t.issuerUniqueID||""}),h$.schema(t.extensions||{},!0)]})}fromSchema(e){ta(e,mb);let t=rv(e,e,mv.schema({names:{version:mc,holder:{names:{blockName:md}},issuer:mp,signature:{names:{blockName:mh}},serialNumber:mm,attrCertValidityPeriod:{names:{blockName:mf}},attributes:mg,issuerUniqueID:my,extensions:{names:{blockName:mw}}}}));if(uJ.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,this.holder=new mu({schema:t.result.holder}),3===t.result.issuer.idBlock.tagClass)this.issuer=new ma({schema:new tX({value:t.result.issuer.valueBlock.value})});else throw Error("Incorrect value for 'issuer' in AttributeCertificateInfoV2");this.signature=new cu({schema:t.result.signature}),this.serialNumber=t.result.serialNumber,this.attrCertValidityPeriod=new cv({schema:t.result.attrCertValidityPeriod}),this.attributes=Array.from(t.result.attributes.valueBlock.value,e=>new cg({schema:e})),my in t.result&&(this.issuerUniqueID=t.result.issuerUniqueID),mw in t.result&&(this.extensions=new h$({schema:t.result.extensions}))}toSchema(){let e=new tX({value:[new tG({value:this.version}),this.holder.toSchema(),new tO({idBlock:{tagClass:3,tagNumber:0},value:this.issuer.toSchema().valueBlock.value}),this.signature.toSchema(),this.serialNumber,this.attrCertValidityPeriod.toSchema(),new tX({value:Array.from(this.attributes,e=>e.toSchema())})]});return this.issuerUniqueID&&e.valueBlock.value.push(this.issuerUniqueID),this.extensions&&e.valueBlock.value.push(this.extensions.toSchema()),e}toJSON(){let e={version:this.version,holder:this.holder.toJSON(),issuer:this.issuer.toJSON(),signature:this.signature.toJSON(),serialNumber:this.serialNumber.toJSON(),attrCertValidityPeriod:this.attrCertValidityPeriod.toJSON(),attributes:Array.from(this.attributes,e=>e.toJSON())};return this.issuerUniqueID&&(e.issuerUniqueID=this.issuerUniqueID.toJSON()),this.extensions&&(e.extensions=this.extensions.toJSON()),e}}mv.CLASS_NAME="AttributeCertificateInfoV2";let mk="acinfo",mS="signatureAlgorithm",mE="signatureValue",mI=[mk,mS,mE];class mx extends uz{constructor(e={}){super(),this.acinfo=eQ(e,mk,mx.defaultValues(mk)),this.signatureAlgorithm=eQ(e,mS,mx.defaultValues(mS)),this.signatureValue=eQ(e,mE,mx.defaultValues(mE)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case mk:return new mv;case mS:return new cu;case mE:return new tF;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[mv.schema(t.acinfo||{}),cu.schema(t.signatureAlgorithm||{}),new tF({name:t.signatureValue||""})]})}fromSchema(e){ta(e,mI);let t=rv(e,e,mx.schema({names:{acinfo:{names:{blockName:mk}},signatureAlgorithm:{names:{blockName:mS}},signatureValue:mE}}));uJ.assertSchema(t,this.className),this.acinfo=new mv({schema:t.result.acinfo}),this.signatureAlgorithm=new cu({schema:t.result.signatureAlgorithm}),this.signatureValue=t.result.signatureValue}toSchema(){return new tX({value:[this.acinfo.toSchema(),this.signatureAlgorithm.toSchema(),this.signatureValue]})}toJSON(){return{acinfo:this.acinfo.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signatureValue:this.signatureValue.toJSON()}}}mx.CLASS_NAME="AttributeCertificateV2";let mA="contentType",m_="content",mC=[mA,m_];class mR extends uz{constructor(e={}){super(),this.contentType=eQ(e,mA,mR.defaultValues(mA)),this.content=eQ(e,m_,mR.defaultValues(m_)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case mA:return"";case m_:return new rg;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case mA:return"string"==typeof t&&t===this.defaultValues(mA);case m_:return t instanceof rg;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return"optional"in t==!1&&(t.optional=!1),new tX({name:t.blockName||"ContentInfo",optional:t.optional,value:[new tz({name:t.contentType||mA}),new tO({idBlock:{tagClass:3,tagNumber:0},value:[new rg({name:t.content||m_})]})]})}fromSchema(e){ta(e,mC);let t=rv(e,e,mR.schema());uJ.assertSchema(t,this.className),this.contentType=t.result.contentType.valueBlock.toString(),this.content=t.result.content}toSchema(){return new tX({value:[new tz({value:this.contentType}),new tO({idBlock:{tagClass:3,tagNumber:0},value:[this.content]})]})}toJSON(){let e={contentType:this.contentType};return this.content instanceof rg||(e.content=this.content.toJSON()),e}}mR.CLASS_NAME="ContentInfo",mR.DATA=cj,mR.SIGNED_DATA=cL,mR.ENVELOPED_DATA=cq,mR.ENCRYPTED_DATA=cM;let mT="type",mD="value",mN="utcTimeName",mO="generalTimeName",mP=[mN,mO];(w=ej||(ej={}))[w.UTCTime=0]="UTCTime",w[w.GeneralizedTime=1]="GeneralizedTime",w[w.empty=2]="empty";class m$ extends uz{constructor(e={}){super(),this.type=eQ(e,mT,m$.defaultValues(mT)),this.value=eQ(e,mD,m$.defaultValues(mD)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case mT:return 0;case mD:return new Date(0,0,0);default:return super.defaultValues(e)}}static schema(e={},t=!1){let r=eQ(e,"names",{});return new ry({optional:t,value:[new ru({name:r.utcTimeName||""}),new rc({name:r.generalTimeName||""})]})}fromSchema(e){ta(e,mP);let t=rv(e,e,m$.schema({names:{utcTimeName:mN,generalTimeName:mO}}));uJ.assertSchema(t,this.className),mN in t.result&&(this.type=0,this.value=t.result.utcTimeName.toDate()),mO in t.result&&(this.type=1,this.value=t.result.generalTimeName.toDate())}toSchema(){return 0===this.type?new ru({valueDate:this.value}):1===this.type?new rc({valueDate:this.value}):{}}toJSON(){return{type:this.type,value:this.value}}}m$.CLASS_NAME="Time";let mU="version",mB="serialNumber",mj="signature",mL="issuer",mq="notBefore",mM="notAfter",mF="subject",mK="subjectPublicKeyInfo",mV="issuerUniqueID",mG="subjectUniqueID",mH="extensions",mW="signatureAlgorithm",mJ="signatureValue",mz="tbsCertificate",mZ=`${mz}.${mU}`,mY=`${mz}.${mB}`,mQ=`${mz}.${mj}`,mX=`${mz}.${mL}`,m0=`${mz}.${mq}`,m1=`${mz}.${mM}`,m2=`${mz}.${mF}`,m3=`${mz}.${mK}`,m4=`${mz}.${mV}`,m6=`${mz}.${mG}`,m8=`${mz}.${mH}`,m5=[mz,mZ,mY,mQ,mX,m0,m1,m2,m3,m4,m6,m8,mW,mJ];class m9 extends uz{get tbs(){return eV.toArrayBuffer(this.tbsView)}set tbs(e){this.tbsView=new Uint8Array(e)}constructor(e={}){super(),this.tbsView=new Uint8Array(eQ(e,"tbs",m9.defaultValues("tbs"))),this.version=eQ(e,mU,m9.defaultValues(mU)),this.serialNumber=eQ(e,mB,m9.defaultValues(mB)),this.signature=eQ(e,mj,m9.defaultValues(mj)),this.issuer=eQ(e,mL,m9.defaultValues(mL)),this.notBefore=eQ(e,mq,m9.defaultValues(mq)),this.notAfter=eQ(e,mM,m9.defaultValues(mM)),this.subject=eQ(e,mF,m9.defaultValues(mF)),this.subjectPublicKeyInfo=eQ(e,mK,m9.defaultValues(mK)),mV in e&&(this.issuerUniqueID=eQ(e,mV,m9.defaultValues(mV))),mG in e&&(this.subjectUniqueID=eQ(e,mG,m9.defaultValues(mG))),mH in e&&(this.extensions=eQ(e,mH,m9.defaultValues(mH))),this.signatureAlgorithm=eQ(e,mW,m9.defaultValues(mW)),this.signatureValue=eQ(e,mJ,m9.defaultValues(mJ)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case"tbs":return uG;case mU:return 0;case mB:return new tG;case mj:return new cu;case mL:return new u2;case mq:case mM:return new m$;case mF:return new u2;case mK:return new pu;case mV:case mG:return uG;case mH:return[];case mW:return new cu;case mJ:return new tF;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[function(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||mz,value:[new tO({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new tG({name:t.tbsCertificateVersion||mZ})]}),new tG({name:t.tbsCertificateSerialNumber||mY}),cu.schema(t.signature||{names:{blockName:mQ}}),u2.schema(t.issuer||{names:{blockName:mX}}),new tX({name:t.tbsCertificateValidity||"tbsCertificate.validity",value:[m$.schema(t.notBefore||{names:{utcTimeName:m0,generalTimeName:m0}}),m$.schema(t.notAfter||{names:{utcTimeName:m1,generalTimeName:m1}})]}),u2.schema(t.subject||{names:{blockName:m2}}),pu.schema(t.subjectPublicKeyInfo||{names:{blockName:m3}}),new t_({name:t.tbsCertificateIssuerUniqueID||m4,optional:!0,idBlock:{tagClass:3,tagNumber:1}}),new t_({name:t.tbsCertificateSubjectUniqueID||m6,optional:!0,idBlock:{tagClass:3,tagNumber:2}}),new tO({optional:!0,idBlock:{tagClass:3,tagNumber:3},value:[h$.schema(t.extensions||{names:{blockName:m8}})]})]})}(t.tbsCertificate),cu.schema(t.signatureAlgorithm||{names:{blockName:mW}}),new tF({name:t.signatureValue||mJ})]})}fromSchema(e){ta(e,m5);let t=rv(e,e,m9.schema({names:{tbsCertificate:{names:{extensions:{names:{extensions:m8}}}}}}));uJ.assertSchema(t,this.className),this.tbsView=t.result.tbsCertificate.valueBeforeDecodeView,mZ in t.result&&(this.version=t.result[mZ].valueBlock.valueDec),this.serialNumber=t.result[mY],this.signature=new cu({schema:t.result[mQ]}),this.issuer=new u2({schema:t.result[mX]}),this.notBefore=new m$({schema:t.result[m0]}),this.notAfter=new m$({schema:t.result[m1]}),this.subject=new u2({schema:t.result[m2]}),this.subjectPublicKeyInfo=new pu({schema:t.result[m3]}),m4 in t.result&&(this.issuerUniqueID=t.result[m4].valueBlock.valueHex),m6 in t.result&&(this.subjectUniqueID=t.result[m6].valueBlock.valueHex),m8 in t.result&&(this.extensions=Array.from(t.result[m8],e=>new hN({schema:e}))),this.signatureAlgorithm=new cu({schema:t.result.signatureAlgorithm}),this.signatureValue=t.result.signatureValue}encodeTBS(){let e=[];return mU in this&&this.version!==m9.defaultValues(mU)&&e.push(new tO({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new tG({value:this.version})]})),e.push(this.serialNumber),e.push(this.signature.toSchema()),e.push(this.issuer.toSchema()),e.push(new tX({value:[this.notBefore.toSchema(),this.notAfter.toSchema()]})),e.push(this.subject.toSchema()),e.push(this.subjectPublicKeyInfo.toSchema()),this.issuerUniqueID&&e.push(new t_({optional:!0,idBlock:{tagClass:3,tagNumber:1},valueHex:this.issuerUniqueID})),this.subjectUniqueID&&e.push(new t_({optional:!0,idBlock:{tagClass:3,tagNumber:2},valueHex:this.subjectUniqueID})),this.extensions&&e.push(new tO({optional:!0,idBlock:{tagClass:3,tagNumber:3},value:[new tX({value:Array.from(this.extensions,e=>e.toSchema())})]})),new tX({value:e})}toSchema(e=!1){let t;if(!1===e){if(!this.tbsView.byteLength)return m9.schema().value[0];let e=tD(this.tbsView);uJ.assert(e,"TBS Certificate"),t=e.result}else t=this.encodeTBS();return new tX({value:[t,this.signatureAlgorithm.toSchema(),this.signatureValue]})}toJSON(){let e={tbs:eY.ToHex(this.tbsView),version:this.version,serialNumber:this.serialNumber.toJSON(),signature:this.signature.toJSON(),issuer:this.issuer.toJSON(),notBefore:this.notBefore.toJSON(),notAfter:this.notAfter.toJSON(),subject:this.subject.toJSON(),subjectPublicKeyInfo:this.subjectPublicKeyInfo.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signatureValue:this.signatureValue.toJSON()};return mU in this&&this.version!==m9.defaultValues(mU)&&(e.version=this.version),this.issuerUniqueID&&(e.issuerUniqueID=eY.ToHex(this.issuerUniqueID)),this.subjectUniqueID&&(e.subjectUniqueID=eY.ToHex(this.subjectUniqueID)),this.extensions&&(e.extensions=Array.from(this.extensions,e=>e.toJSON())),e}async getPublicKey(e,t=hr(!0)){return t.getPublicKey(this.subjectPublicKeyInfo,this.signatureAlgorithm,e)}async getKeyHash(e="SHA-1",t=hr(!0)){return t.digest({name:e},this.subjectPublicKeyInfo.subjectPublicKey.valueBlock.valueHexView)}async sign(e,t="SHA-1",r=hr(!0)){if(!e)throw Error("Need to provide a private key for signing");let i=await r.getSignatureParameters(e,t),a=i.parameters;this.signature=i.signatureAlgorithm,this.signatureAlgorithm=i.signatureAlgorithm,this.tbsView=new Uint8Array(this.encodeTBS().toBER());let n=await r.signWithPrivateKey(this.tbsView,e,a);this.signatureValue=new tF({valueHex:n})}async verify(e,t=hr(!0)){let r;if(e?r=e.subjectPublicKeyInfo:this.issuer.isEqual(this.subject)&&(r=this.subjectPublicKeyInfo),!(r instanceof pu))throw Error("Please provide issuer certificate as a parameter");return t.verifyWithPublicKey(this.tbsView,this.signatureValue,r,this.signatureAlgorithm)}}function m7(e,t=null){if(t&&e.issuer.isEqual(t.issuer)&&e.serialNumber.isEqual(t.serialNumber))return null;let r=!1;if(e.extensions){for(let t of e.extensions)if(t.extnID===cA&&t.parsedValue instanceof cQ&&t.parsedValue.cA){r=!0;break}}return r?e:null}m9.CLASS_NAME="Certificate";let fe="certId",ft="certValue",fr="parsedValue",fi=[fe,ft];class fa extends uz{constructor(e={}){super(),this.certId=eQ(e,fe,fa.defaultValues(fe)),this.certValue=eQ(e,ft,fa.defaultValues(ft)),fr in e&&(this.parsedValue=eQ(e,fr,fa.defaultValues(fr))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case fe:return"";case ft:return new rg;case fr:return{};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case fe:return""===t;case ft:return t instanceof rg;case fr:return t instanceof Object&&0===Object.keys(t).length;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tz({name:t.id||"id"}),new tO({idBlock:{tagClass:3,tagNumber:0},value:[new rg({name:t.value||"value"})]})]})}fromSchema(e){ta(e,fi);let t=rv(e,e,fa.schema({names:{id:fe,value:ft}}));uJ.assertSchema(t,this.className),this.certId=t.result.certId.valueBlock.toString(),this.certValue=t.result.certValue;let r=this.certValue.valueBlock.valueHexView;switch(this.certId){case cF:try{this.parsedValue=m9.fromBER(r)}catch{mx.fromBER(r)}break;case cK:this.parsedValue=mx.fromBER(r);break;default:throw Error(`Incorrect CERT_ID value in CertBag: ${this.certId}`)}}toSchema(){return fr in this&&("acinfo"in this.parsedValue?this.certId=cK:this.certId=cF,this.certValue=new tq({valueHex:this.parsedValue.toSchema().toBER(!1)})),new tX({value:[new tz({value:this.certId}),new tO({idBlock:{tagClass:3,tagNumber:0},value:["toSchema"in this.certValue?this.certValue.toSchema():this.certValue]})]})}toJSON(){return{certId:this.certId,certValue:this.certValue.toJSON()}}}fa.CLASS_NAME="CertBag";let fn="userCertificate",fs="revocationDate",fo="crlEntryExtensions",fl=[fn,fs,fo];class fu extends uz{constructor(e={}){super(),this.userCertificate=eQ(e,fn,fu.defaultValues(fn)),this.revocationDate=eQ(e,fs,fu.defaultValues(fs)),fo in e&&(this.crlEntryExtensions=eQ(e,fo,fu.defaultValues(fo))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case fn:return new tG;case fs:return new m$;case fo:return new h$;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tG({name:t.userCertificate||fn}),m$.schema({names:{utcTimeName:t.revocationDate||fs,generalTimeName:t.revocationDate||fs}}),h$.schema({names:{blockName:t.crlEntryExtensions||fo}},!0)]})}fromSchema(e){ta(e,fl);let t=rv(e,e,fu.schema());uJ.assertSchema(t,this.className),this.userCertificate=t.result.userCertificate,this.revocationDate=new m$({schema:t.result.revocationDate}),fo in t.result&&(this.crlEntryExtensions=new h$({schema:t.result.crlEntryExtensions}))}toSchema(){let e=[this.userCertificate,this.revocationDate.toSchema()];return this.crlEntryExtensions&&e.push(this.crlEntryExtensions.toSchema()),new tX({value:e})}toJSON(){let e={userCertificate:this.userCertificate.toJSON(),revocationDate:this.revocationDate.toJSON()};return this.crlEntryExtensions&&(e.crlEntryExtensions=this.crlEntryExtensions.toJSON()),e}}fu.CLASS_NAME="RevokedCertificate";let fc="version",fd="signature",fp="issuer",fh="thisUpdate",fm="nextUpdate",ff="revokedCertificates",fg="crlExtensions",fy="signatureAlgorithm",fw="signatureValue",fb="tbsCertList",fv=`${fb}.version`,fk=`${fb}.signature`,fS=`${fb}.issuer`,fE=`${fb}.thisUpdate`,fI=`${fb}.nextUpdate`,fx=`${fb}.revokedCertificates`,fA=`${fb}.extensions`,f_=[fb,fv,fk,fS,fE,fI,fx,fA,fy,fw],fC=[c$,cx,"2.5.29.20","2.5.29.27",c_,cD,cB,"2.5.29.21","2.5.29.24",cC];class fR extends uz{get tbs(){return eV.toArrayBuffer(this.tbsView)}set tbs(e){this.tbsView=new Uint8Array(e)}constructor(e={}){super(),this.tbsView=new Uint8Array(eQ(e,"tbs",fR.defaultValues("tbs"))),this.version=eQ(e,fc,fR.defaultValues(fc)),this.signature=eQ(e,fd,fR.defaultValues(fd)),this.issuer=eQ(e,fp,fR.defaultValues(fp)),this.thisUpdate=eQ(e,fh,fR.defaultValues(fh)),fm in e&&(this.nextUpdate=eQ(e,fm,fR.defaultValues(fm))),ff in e&&(this.revokedCertificates=eQ(e,ff,fR.defaultValues(ff))),fg in e&&(this.crlExtensions=eQ(e,fg,fR.defaultValues(fg))),this.signatureAlgorithm=eQ(e,fy,fR.defaultValues(fy)),this.signatureValue=eQ(e,fw,fR.defaultValues(fw)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case"tbs":return uG;case fc:return 0;case fd:return new cu;case fp:return new u2;case fh:case fm:return new m$;case ff:return[];case fg:return new h$;case fy:return new cu;case fw:return new tF;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"CertificateList",value:[function(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||fb,value:[new tG({optional:!0,name:t.tbsCertListVersion||fv,value:2}),cu.schema(t.signature||{names:{blockName:fk}}),u2.schema(t.issuer||{names:{blockName:fS}}),m$.schema(t.tbsCertListThisUpdate||{names:{utcTimeName:fE,generalTimeName:fE}}),m$.schema(t.tbsCertListNextUpdate||{names:{utcTimeName:fI,generalTimeName:fI}},!0),new tX({optional:!0,value:[new rw({name:t.tbsCertListRevokedCertificates||fx,value:new tX({value:[new tG,m$.schema(),h$.schema({},!0)]})})]}),new tO({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[h$.schema(t.crlExtensions||{names:{blockName:fA}})]})]})}(e),cu.schema(t.signatureAlgorithm||{names:{blockName:fy}}),new tF({name:t.signatureValue||fw})]})}fromSchema(e){ta(e,f_);let t=rv(e,e,fR.schema());uJ.assertSchema(t,this.className),this.tbsView=t.result.tbsCertList.valueBeforeDecodeView,fv in t.result&&(this.version=t.result[fv].valueBlock.valueDec),this.signature=new cu({schema:t.result[fk]}),this.issuer=new u2({schema:t.result[fS]}),this.thisUpdate=new m$({schema:t.result[fE]}),fI in t.result&&(this.nextUpdate=new m$({schema:t.result[fI]})),fx in t.result&&(this.revokedCertificates=Array.from(t.result[fx],e=>new fu({schema:e}))),fA in t.result&&(this.crlExtensions=new h$({schema:t.result[fA]})),this.signatureAlgorithm=new cu({schema:t.result.signatureAlgorithm}),this.signatureValue=t.result.signatureValue}encodeTBS(){let e=[];return this.version!==fR.defaultValues(fc)&&e.push(new tG({value:this.version})),e.push(this.signature.toSchema()),e.push(this.issuer.toSchema()),e.push(this.thisUpdate.toSchema()),this.nextUpdate&&e.push(this.nextUpdate.toSchema()),this.revokedCertificates&&e.push(new tX({value:Array.from(this.revokedCertificates,e=>e.toSchema())})),this.crlExtensions&&e.push(new tO({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[this.crlExtensions.toSchema()]})),new tX({value:e})}toSchema(e=!1){let t;if(e)t=this.encodeTBS();else{if(!this.tbsView.byteLength)return fR.schema();let e=tD(this.tbsView);uJ.assert(e,"TBS Certificate Revocation List"),t=e.result}return new tX({value:[t,this.signatureAlgorithm.toSchema(),this.signatureValue]})}toJSON(){let e={tbs:eY.ToHex(this.tbsView),version:this.version,signature:this.signature.toJSON(),issuer:this.issuer.toJSON(),thisUpdate:this.thisUpdate.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signatureValue:this.signatureValue.toJSON()};return this.version!==fR.defaultValues(fc)&&(e.version=this.version),this.nextUpdate&&(e.nextUpdate=this.nextUpdate.toJSON()),this.revokedCertificates&&(e.revokedCertificates=Array.from(this.revokedCertificates,e=>e.toJSON())),this.crlExtensions&&(e.crlExtensions=this.crlExtensions.toJSON()),e}isCertificateRevoked(e){if(!this.issuer.isEqual(e.issuer)||!this.revokedCertificates)return!1;for(let t of this.revokedCertificates)if(t.userCertificate.isEqual(e.serialNumber))return!0;return!1}async sign(e,t="SHA-1",r=hr(!0)){if(!e)throw Error("Need to provide a private key for signing");let i=await r.getSignatureParameters(e,t),{parameters:a}=i;this.signature=i.signatureAlgorithm,this.signatureAlgorithm=i.signatureAlgorithm,this.tbsView=new Uint8Array(this.encodeTBS().toBER());let n=await r.signWithPrivateKey(this.tbsView,e,a);this.signatureValue=new tF({valueHex:n})}async verify(e={},t=hr(!0)){let r;if(e.issuerCertificate&&(r=e.issuerCertificate.subjectPublicKeyInfo,!this.issuer.isEqual(e.issuerCertificate.subject)))return!1;if(e.publicKeyInfo&&(r=e.publicKeyInfo),!r)throw Error("Issuer's certificate must be provided as an input parameter");if(this.crlExtensions){for(let e of this.crlExtensions.extensions)if(e.critical&&!fC.includes(e.extnID))return!1}return t.verifyWithPublicKey(this.tbsView,this.signatureValue,r,this.signatureAlgorithm)}}fR.CLASS_NAME="CertificateRevocationList";let fT="crlId",fD="crlValue",fN="parsedValue",fO=[fT,fD];class fP extends uz{constructor(e={}){super(),this.crlId=eQ(e,fT,fP.defaultValues(fT)),this.crlValue=eQ(e,fD,fP.defaultValues(fD)),fN in e&&(this.parsedValue=eQ(e,fN,fP.defaultValues(fN))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case fT:return"";case fD:return new rg;case fN:return{};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case fT:return""===t;case fD:return t instanceof rg;case fN:return t instanceof Object&&0===Object.keys(t).length;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tz({name:t.id||"id"}),new tO({idBlock:{tagClass:3,tagNumber:0},value:[new rg({name:t.value||"value"})]})]})}fromSchema(e){ta(e,fO);let t=rv(e,e,fP.schema({names:{id:fT,value:fD}}));if(uJ.assertSchema(t,this.className),this.crlId=t.result.crlId.valueBlock.toString(),this.crlValue=t.result.crlValue,this.crlId===cV)this.parsedValue=fR.fromBER(this.certValue.valueBlock.valueHex);else throw Error(`Incorrect CRL_ID value in CRLBag: ${this.crlId}`)}toSchema(){return this.parsedValue&&(this.crlId=cV,this.crlValue=new tq({valueHex:this.parsedValue.toSchema().toBER(!1)})),new tX({value:[new tz({value:this.crlId}),new tO({idBlock:{tagClass:3,tagNumber:0},value:[this.crlValue.toSchema()]})]})}toJSON(){return{crlId:this.crlId,crlValue:this.crlValue.toJSON()}}}fP.CLASS_NAME="CRLBag";let f$="version",fU="encryptedContentInfo",fB="unprotectedAttrs",fj=[f$,fU,fB];class fL extends uz{constructor(e={}){super(),this.version=eQ(e,f$,fL.defaultValues(f$)),this.encryptedContentInfo=eQ(e,fU,fL.defaultValues(fU)),fB in e&&(this.unprotectedAttrs=eQ(e,fB,fL.defaultValues(fB))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case f$:return 0;case fU:return new pV;case fB:return[];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case f$:return 0===t;case fU:return pV.compareWithDefault("contentType",t.contentType)&&pV.compareWithDefault("contentEncryptionAlgorithm",t.contentEncryptionAlgorithm)&&pV.compareWithDefault("encryptedContent",t.encryptedContent);case fB:return 0===t.length;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tG({name:t.version||""}),pV.schema(t.encryptedContentInfo||{}),new tO({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new rw({name:t.unprotectedAttrs||"",value:cg.schema()})]})]})}fromSchema(e){ta(e,fj);let t=rv(e,e,fL.schema({names:{version:f$,encryptedContentInfo:{names:{blockName:fU}},unprotectedAttrs:fB}}));uJ.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,this.encryptedContentInfo=new pV({schema:t.result.encryptedContentInfo}),fB in t.result&&(this.unprotectedAttrs=Array.from(t.result.unprotectedAttrs,e=>new cg({schema:e})))}toSchema(){let e=[];return e.push(new tG({value:this.version})),e.push(this.encryptedContentInfo.toSchema()),this.unprotectedAttrs&&e.push(new tO({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.unprotectedAttrs,e=>e.toSchema())})),new tX({value:e})}toJSON(){let e={version:this.version,encryptedContentInfo:this.encryptedContentInfo.toJSON()};return this.unprotectedAttrs&&(e.unprotectedAttrs=Array.from(this.unprotectedAttrs,e=>e.toJSON())),e}async encrypt(e,t=hr(!0)){uH.assert(e,"parameters","object");let r={...e,contentType:"1.2.840.113549.1.7.1"};this.encryptedContentInfo=await t.encryptEncryptedContentInfo(r)}async decrypt(e,t=hr(!0)){uH.assert(e,"parameters","object");let r={...e,encryptedContentInfo:this.encryptedContentInfo};return t.decryptEncryptedContentInfo(r)}}fL.CLASS_NAME="EncryptedData";let fq="encryptionAlgorithm",fM="encryptedData",fF="parsedValue",fK=[fq,fM];class fV extends uz{constructor(e={}){super(),this.encryptionAlgorithm=eQ(e,fq,fV.defaultValues(fq)),this.encryptedData=eQ(e,fM,fV.defaultValues(fM)),fF in e&&(this.parsedValue=eQ(e,fF,fV.defaultValues(fF))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case fq:return new cu;case fM:return new tq;case fF:return{};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case fq:return cu.compareWithDefault("algorithmId",t.algorithmId)&&"algorithmParams"in t==!1;case fM:return t.isEqual(fV.defaultValues(e));case fF:return t instanceof Object&&0===Object.keys(t).length;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[cu.schema(t.encryptionAlgorithm||{names:{blockName:fq}}),new ry({value:[new tq({name:t.encryptedData||fM}),new tq({idBlock:{isConstructed:!0},name:t.encryptedData||fM})]})]})}fromSchema(e){ta(e,fK);let t=rv(e,e,fV.schema({names:{encryptionAlgorithm:{names:{blockName:fq}},encryptedData:fM}}));uJ.assertSchema(t,this.className),this.encryptionAlgorithm=new cu({schema:t.result.encryptionAlgorithm}),this.encryptedData=t.result.encryptedData}toSchema(){return new tX({value:[this.encryptionAlgorithm.toSchema(),this.encryptedData]})}toJSON(){return{encryptionAlgorithm:this.encryptionAlgorithm.toJSON(),encryptedData:this.encryptedData.toJSON()}}async parseInternalValues(e,t=hr(!0)){let r=new fL({encryptedContentInfo:new pV({contentEncryptionAlgorithm:this.encryptionAlgorithm,encryptedContent:this.encryptedData})}),i=await r.decrypt(e,t);this.parsedValue=pL.fromBER(i)}async makeInternalValues(e,t=hr(!0)){if(!this.parsedValue)throw Error('Please initialize "parsedValue" first');let r=new fL,i={...e,contentToEncrypt:this.parsedValue.toSchema().toBER(!1)};if(await r.encrypt(i,t),!r.encryptedContentInfo.encryptedContent)throw Error("The filed `encryptedContent` in EncryptedContentInfo is empty");this.encryptionAlgorithm=r.encryptedContentInfo.contentEncryptionAlgorithm,this.encryptedData=r.encryptedContentInfo.encryptedContent}}fV.CLASS_NAME="PKCS8ShroudedKeyBag";let fG="secretTypeId",fH="secretValue",fW=[fG,fH];class fJ extends uz{constructor(e={}){super(),this.secretTypeId=eQ(e,fG,fJ.defaultValues(fG)),this.secretValue=eQ(e,fH,fJ.defaultValues(fH)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case fG:return"";case fH:return new rg;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case fG:return""===t;case fH:return t instanceof rg;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tz({name:t.id||"id"}),new tO({idBlock:{tagClass:3,tagNumber:0},value:[new rg({name:t.value||"value"})]})]})}fromSchema(e){ta(e,fW);let t=rv(e,e,fJ.schema({names:{id:fG,value:fH}}));uJ.assertSchema(t,this.className),this.secretTypeId=t.result.secretTypeId.valueBlock.toString(),this.secretValue=t.result.secretValue}toSchema(){return new tX({value:[new tz({value:this.secretTypeId}),new tO({idBlock:{tagClass:3,tagNumber:0},value:[this.secretValue.toSchema()]})]})}toJSON(){return{secretTypeId:this.secretTypeId,secretValue:this.secretValue.toJSON()}}}fJ.CLASS_NAME="SecretBag";class fz{static getItems(){return this.items||(this.items={},fz.register("1.2.840.113549.1.12.10.1.1",pL),fz.register("1.2.840.113549.1.12.10.1.2",fV),fz.register("1.2.840.113549.1.12.10.1.3",fa),fz.register("1.2.840.113549.1.12.10.1.4",fP),fz.register("1.2.840.113549.1.12.10.1.5",fJ),fz.register("1.2.840.113549.1.12.10.1.6",f2)),this.items}static register(e,t){this.getItems()[e]=t}static find(e){return this.getItems()[e]||null}}let fZ="bagId",fY="bagValue",fQ="bagAttributes",fX=[fZ,fY,fQ];class f0 extends uz{constructor(e={}){super(),this.bagId=eQ(e,fZ,f0.defaultValues(fZ)),this.bagValue=eQ(e,fY,f0.defaultValues(fY)),fQ in e&&(this.bagAttributes=eQ(e,fQ,f0.defaultValues(fQ))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case fZ:return"";case fY:return new rg;case fQ:return[];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case fZ:return""===t;case fY:return t instanceof rg;case fQ:return 0===t.length;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tz({name:t.bagId||fZ}),new tO({idBlock:{tagClass:3,tagNumber:0},value:[new rg({name:t.bagValue||fY})]}),new t0({optional:!0,value:[new rw({name:t.bagAttributes||fQ,value:cg.schema()})]})]})}fromSchema(e){ta(e,fX);let t=rv(e,e,f0.schema({names:{bagId:fZ,bagValue:fY,bagAttributes:fQ}}));uJ.assertSchema(t,this.className),this.bagId=t.result.bagId.valueBlock.toString();let r=fz.find(this.bagId);if(!r)throw Error(`Invalid BAG_ID for SafeBag: ${this.bagId}`);this.bagValue=new r({schema:t.result.bagValue}),fQ in t.result&&(this.bagAttributes=Array.from(t.result.bagAttributes,e=>new cg({schema:e})))}toSchema(){let e=[new tz({value:this.bagId}),new tO({idBlock:{tagClass:3,tagNumber:0},value:[this.bagValue.toSchema()]})];return this.bagAttributes&&e.push(new t0({value:Array.from(this.bagAttributes,e=>e.toSchema())})),new tX({value:e})}toJSON(){let e={bagId:this.bagId,bagValue:this.bagValue.toJSON()};return this.bagAttributes&&(e.bagAttributes=Array.from(this.bagAttributes,e=>e.toJSON())),e}}f0.CLASS_NAME="SafeBag";let f1="safeBags";class f2 extends uz{constructor(e={}){super(),this.safeBags=eQ(e,f1,f2.defaultValues(f1)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){return e===f1?[]:super.defaultValues(e)}static compareWithDefault(e,t){return e===f1?0===t.length:super.defaultValues(e)}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new rw({name:t.safeBags||"",value:f0.schema()})]})}fromSchema(e){ta(e,[f1]);let t=rv(e,e,f2.schema({names:{safeBags:f1}}));uJ.assertSchema(t,this.className),this.safeBags=Array.from(t.result.safeBags,e=>new f0({schema:e}))}toSchema(){return new tX({value:Array.from(this.safeBags,e=>e.toSchema())})}toJSON(){return{safeBags:Array.from(this.safeBags,e=>e.toJSON())}}}f2.CLASS_NAME="SafeContents";let f3="otherCertFormat",f4="otherCert",f6=[f3,f4];class f8 extends uz{constructor(e={}){super(),this.otherCertFormat=eQ(e,f3,f8.defaultValues(f3)),this.otherCert=eQ(e,f4,f8.defaultValues(f4)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case f3:return"";case f4:return new rg;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tz({name:t.otherCertFormat||f3}),new rg({name:t.otherCert||f4})]})}fromSchema(e){ta(e,f6);let t=rv(e,e,f8.schema());uJ.assertSchema(t,this.className),this.otherCertFormat=t.result.otherCertFormat.valueBlock.toString(),this.otherCert=t.result.otherCert}toSchema(){return new tX({value:[new tz({value:this.otherCertFormat}),this.otherCert]})}toJSON(){let e={otherCertFormat:this.otherCertFormat};return this.otherCert instanceof rg||(e.otherCert=this.otherCert.toJSON()),e}}let f5="certificates",f9=[f5];class f7 extends uz{constructor(e={}){super(),this.certificates=eQ(e,f5,f7.defaultValues(f5)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){return e===f5?[]:super.defaultValues(e)}static schema(e={}){let t=eQ(e,"names",{});return new t0({name:t.blockName||"",value:[new rw({name:t.certificates||f5,value:new ry({value:[m9.schema(),new tO({idBlock:{tagClass:3,tagNumber:0},value:[new rg]}),new tO({idBlock:{tagClass:3,tagNumber:1},value:[new tX]}),new tO({idBlock:{tagClass:3,tagNumber:2},value:mx.schema().valueBlock.value}),new tO({idBlock:{tagClass:3,tagNumber:3},value:f8.schema().valueBlock.value})]})})]})}fromSchema(e){ta(e,f9);let t=rv(e,e,f7.schema());uJ.assertSchema(t,this.className),this.certificates=Array.from(t.result.certificates||[],e=>{let t=e.idBlock.tagNumber;if(1===e.idBlock.tagClass)return new m9({schema:e});let r=new tX({value:e.valueBlock.value});switch(t){case 1:if(1===r.valueBlock.value[0].valueBlock.value[0].valueBlock.valueDec)return new mx({schema:r});return new h3({schema:r});case 2:return new mx({schema:r});case 3:return new f8({schema:r})}return e})}toSchema(){return new t0({value:Array.from(this.certificates,e=>{switch(!0){case e instanceof m9:break;case e instanceof h3:return new tO({idBlock:{tagClass:3,tagNumber:1},value:e.toSchema().valueBlock.value});case e instanceof mx:return new tO({idBlock:{tagClass:3,tagNumber:2},value:e.toSchema().valueBlock.value});case e instanceof f8:return new tO({idBlock:{tagClass:3,tagNumber:3},value:e.toSchema().valueBlock.value})}return e.toSchema()})})}toJSON(){return{certificates:Array.from(this.certificates,e=>e.toJSON())}}}f7.CLASS_NAME="CertificateSet";let ge="otherRevInfoFormat",gt="otherRevInfo",gr=[ge,gt];class gi extends uz{constructor(e={}){super(),this.otherRevInfoFormat=eQ(e,ge,gi.defaultValues(ge)),this.otherRevInfo=eQ(e,gt,gi.defaultValues(gt)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case ge:return"";case gt:return new rg;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tz({name:t.otherRevInfoFormat||ge}),new rg({name:t.otherRevInfo||gt})]})}fromSchema(e){ta(e,gr);let t=rv(e,e,gi.schema());uJ.assertSchema(t,this.className),this.otherRevInfoFormat=t.result.otherRevInfoFormat.valueBlock.toString(),this.otherRevInfo=t.result.otherRevInfo}toSchema(){return new tX({value:[new tz({value:this.otherRevInfoFormat}),this.otherRevInfo]})}toJSON(){let e={otherRevInfoFormat:this.otherRevInfoFormat};return this.otherRevInfo instanceof rg||(e.otherRevInfo=this.otherRevInfo.toJSON()),e}}gi.CLASS_NAME="OtherRevocationInfoFormat";let ga="crls",gn="otherRevocationInfos",gs=[ga];class go extends uz{constructor(e={}){super(),this.crls=eQ(e,ga,go.defaultValues(ga)),this.otherRevocationInfos=eQ(e,gn,go.defaultValues(gn)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case ga:case gn:return[];default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new t0({name:t.blockName||"",value:[new rw({name:t.crls||"",value:new ry({value:[fR.schema(),new tO({idBlock:{tagClass:3,tagNumber:1},value:[new tz,new rg]})]})})]})}fromSchema(e){ta(e,gs);let t=rv(e,e,go.schema({names:{crls:ga}}));if(uJ.assertSchema(t,this.className),t.result.crls)for(let e of t.result.crls)1===e.idBlock.tagClass?this.crls.push(new fR({schema:e})):this.otherRevocationInfos.push(new gi({schema:e}))}toSchema(){let e=[];return e.push(...Array.from(this.crls,e=>e.toSchema())),e.push(...Array.from(this.otherRevocationInfos,e=>{let t=e.toSchema();return t.idBlock.tagClass=3,t.idBlock.tagNumber=1,t})),new t0({value:e})}toJSON(){return{crls:Array.from(this.crls,e=>e.toJSON()),otherRevocationInfos:Array.from(this.otherRevocationInfos,e=>e.toJSON())}}}go.CLASS_NAME="RevocationInfoChoices";let gl="certs",gu="crls",gc=[gl,gu];class gd extends uz{constructor(e={}){super(),this.crls=eQ(e,gu,gd.defaultValues(gu)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case gl:return new f7;case gu:return new go;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case gl:return 0===t.certificates.length;case gu:return 0===t.crls.length&&0===t.otherRevocationInfos.length;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tO({name:t.certs||"",optional:!0,idBlock:{tagClass:3,tagNumber:0},value:f7.schema().valueBlock.value}),new tO({name:t.crls||"",optional:!0,idBlock:{tagClass:3,tagNumber:1},value:go.schema().valueBlock.value})]})}fromSchema(e){ta(e,gc);let t=rv(e,e,gd.schema({names:{certs:gl,crls:gu}}));uJ.assertSchema(t,this.className),gl in t.result&&(this.certs=new f7({schema:new t0({value:t.result.certs.valueBlock.value})})),gu in t.result&&(this.crls=new go({schema:new t0({value:t.result.crls.valueBlock.value})}))}toSchema(){let e=[];return this.certs&&e.push(new tO({idBlock:{tagClass:3,tagNumber:0},value:this.certs.toSchema().valueBlock.value})),this.crls&&e.push(new tO({idBlock:{tagClass:3,tagNumber:1},value:this.crls.toSchema().valueBlock.value})),new tX({value:e})}toJSON(){let e={};return this.certs&&(e.certs=this.certs.toJSON()),this.crls&&(e.crls=this.crls.toJSON()),e}}gd.CLASS_NAME="OriginatorInfo";let gp="issuer",gh="serialNumber",gm=[gp,gh];class gf extends uz{constructor(e={}){super(),this.issuer=eQ(e,gp,gf.defaultValues(gp)),this.serialNumber=eQ(e,gh,gf.defaultValues(gh)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case gp:return new u2;case gh:return new tG;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[u2.schema(t.issuer||{}),new tG({name:t.serialNumber||""})]})}fromSchema(e){ta(e,gm);let t=rv(e,e,gf.schema({names:{issuer:{names:{blockName:gp}},serialNumber:gh}}));uJ.assertSchema(t,this.className),this.issuer=new u2({schema:t.result.issuer}),this.serialNumber=t.result.serialNumber}toSchema(){return new tX({value:[this.issuer.toSchema(),this.serialNumber]})}toJSON(){return{issuer:this.issuer.toJSON(),serialNumber:this.serialNumber.toJSON()}}}gf.CLASS_NAME="IssuerAndSerialNumber";let gg="variant",gy="value",gw=["blockName"];class gb extends uz{constructor(e={}){super(),this.variant=eQ(e,gg,gb.defaultValues(gg)),gy in e&&(this.value=eQ(e,gy,gb.defaultValues(gy))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case gg:return -1;case gy:return{};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case gg:return -1===t;case gy:return 0===Object.keys(t).length;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new ry({value:[gf.schema({names:{blockName:t.blockName||""}}),new t_({name:t.blockName||"",idBlock:{tagClass:3,tagNumber:0}})]})}fromSchema(e){ta(e,gw);let t=rv(e,e,gb.schema({names:{blockName:"blockName"}}));uJ.assertSchema(t,this.className),1===t.result.blockName.idBlock.tagClass?(this.variant=1,this.value=new gf({schema:t.result.blockName})):(this.variant=2,this.value=new tq({valueHex:t.result.blockName.valueBlock.valueHex}))}toSchema(){switch(this.variant){case 1:if(!(this.value instanceof gf))throw Error("Incorrect type of RecipientIdentifier.value. It should be IssuerAndSerialNumber.");return this.value.toSchema();case 2:if(!(this.value instanceof tq))throw Error("Incorrect type of RecipientIdentifier.value. It should be ASN.1 OctetString.");return new t_({idBlock:{tagClass:3,tagNumber:0},valueHex:this.value.valueBlock.valueHexView});default:return new rg}}toJSON(){let e={variant:this.variant};return(1===this.variant||2===this.variant)&&this.value&&(e.value=this.value.toJSON()),e}}gb.CLASS_NAME="RecipientIdentifier";let gv="version",gk="keyEncryptionAlgorithm",gS="encryptedKey",gE="recipientCertificate",gI=[gv,"rid",gk,gS];class gx extends uz{constructor(e={}){super(),this.version=eQ(e,gv,gx.defaultValues(gv)),this.rid=eQ(e,"rid",gx.defaultValues("rid")),this.keyEncryptionAlgorithm=eQ(e,gk,gx.defaultValues(gk)),this.encryptedKey=eQ(e,gS,gx.defaultValues(gS)),this.recipientCertificate=eQ(e,gE,gx.defaultValues(gE)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case gv:return -1;case"rid":return{};case gk:return new cu;case gS:return new tq;case gE:return new m9;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case gv:return t===gx.defaultValues(gv);case"rid":return 0===Object.keys(t).length;case gk:case gS:return t.isEqual(gx.defaultValues(e));case gE:return!1;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tG({name:t.version||""}),gb.schema(t.rid||{}),cu.schema(t.keyEncryptionAlgorithm||{}),new tq({name:t.encryptedKey||""})]})}fromSchema(e){ta(e,gI);let t=rv(e,e,gx.schema({names:{version:gv,rid:{names:{blockName:"rid"}},keyEncryptionAlgorithm:{names:{blockName:gk}},encryptedKey:gS}}));uJ.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,3===t.result.rid.idBlock.tagClass?this.rid=new tq({valueHex:t.result.rid.valueBlock.valueHex}):this.rid=new gf({schema:t.result.rid}),this.keyEncryptionAlgorithm=new cu({schema:t.result.keyEncryptionAlgorithm}),this.encryptedKey=t.result.encryptedKey}toSchema(){let e=[];return this.rid instanceof gf?(this.version=0,e.push(new tG({value:this.version})),e.push(this.rid.toSchema())):(this.version=2,e.push(new tG({value:this.version})),e.push(new t_({idBlock:{tagClass:3,tagNumber:0},valueHex:this.rid.valueBlock.valueHexView}))),e.push(this.keyEncryptionAlgorithm.toSchema()),e.push(this.encryptedKey),new tX({value:e})}toJSON(){return{version:this.version,rid:this.rid.toJSON(),keyEncryptionAlgorithm:this.keyEncryptionAlgorithm.toJSON(),encryptedKey:this.encryptedKey.toJSON()}}}gx.CLASS_NAME="KeyTransRecipientInfo";let gA="algorithm",g_="publicKey",gC=[gA,g_];class gR extends uz{constructor(e={}){super(),this.algorithm=eQ(e,gA,gR.defaultValues(gA)),this.publicKey=eQ(e,g_,gR.defaultValues(g_)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case gA:return new cu;case g_:return new tF;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case gA:case g_:return t.isEqual(gR.defaultValues(e));default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[cu.schema(t.algorithm||{}),new tF({name:t.publicKey||""})]})}fromSchema(e){ta(e,gC);let t=rv(e,e,gR.schema({names:{algorithm:{names:{blockName:gA}},publicKey:g_}}));uJ.assertSchema(t,this.className),this.algorithm=new cu({schema:t.result.algorithm}),this.publicKey=t.result.publicKey}toSchema(){return new tX({value:[this.algorithm.toSchema(),this.publicKey]})}toJSON(){return{algorithm:this.algorithm.toJSON(),publicKey:this.publicKey.toJSON()}}}gR.CLASS_NAME="OriginatorPublicKey";let gT="variant",gD="value",gN=["blockName"];class gO extends uz{constructor(e={}){super(),this.variant=eQ(e,gT,gO.defaultValues(gT)),gD in e&&(this.value=eQ(e,gD,gO.defaultValues(gD))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case gT:return -1;case gD:return{};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case gT:return -1===t;case gD:return 0===Object.keys(t).length;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new ry({value:[gf.schema({names:{blockName:t.blockName||""}}),new t_({idBlock:{tagClass:3,tagNumber:0},name:t.blockName||""}),new tO({idBlock:{tagClass:3,tagNumber:1},name:t.blockName||"",value:gR.schema().valueBlock.value})]})}fromSchema(e){ta(e,gN);let t=rv(e,e,gO.schema({names:{blockName:"blockName"}}));uJ.assertSchema(t,this.className),1===t.result.blockName.idBlock.tagClass?(this.variant=1,this.value=new gf({schema:t.result.blockName})):0===t.result.blockName.idBlock.tagNumber?(t.result.blockName.idBlock.tagClass=1,t.result.blockName.idBlock.tagNumber=4,this.variant=2,this.value=t.result.blockName):(this.variant=3,this.value=new gR({schema:new tX({value:t.result.blockName.valueBlock.value})}))}toSchema(){switch(this.variant){case 1:return this.value.toSchema();case 2:return this.value.idBlock.tagClass=3,this.value.idBlock.tagNumber=0,this.value;case 3:{let e=this.value.toSchema();return e.idBlock.tagClass=3,e.idBlock.tagNumber=1,e}default:return new rg}}toJSON(){let e={variant:this.variant};return(1===this.variant||2===this.variant||3===this.variant)&&(e.value=this.value.toJSON()),e}}gO.CLASS_NAME="OriginatorIdentifierOrKey";let gP="keyAttrId",g$="keyAttr",gU=[gP,g$];class gB extends uz{constructor(e={}){super(),this.keyAttrId=eQ(e,gP,gB.defaultValues(gP)),g$ in e&&(this.keyAttr=eQ(e,g$,gB.defaultValues(g$))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case gP:return"";case g$:return{};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case gP:return"string"==typeof t&&""===t;case g$:return 0===Object.keys(t).length;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({optional:t.optional||!0,name:t.blockName||"",value:[new tz({name:t.keyAttrId||""}),new rg({optional:!0,name:t.keyAttr||""})]})}fromSchema(e){ta(e,gU);let t=rv(e,e,gB.schema({names:{keyAttrId:gP,keyAttr:g$}}));uJ.assertSchema(t,this.className),this.keyAttrId=t.result.keyAttrId.valueBlock.toString(),g$ in t.result&&(this.keyAttr=t.result.keyAttr)}toSchema(){let e=[];return e.push(new tz({value:this.keyAttrId})),g$ in this&&e.push(this.keyAttr),new tX({value:e})}toJSON(){let e={keyAttrId:this.keyAttrId};return g$ in this&&(e.keyAttr=this.keyAttr.toJSON()),e}}gB.CLASS_NAME="OtherKeyAttribute";let gj="subjectKeyIdentifier",gL="date",gq="other",gM=[gj,gL,gq];class gF extends uz{constructor(e={}){super(),this.subjectKeyIdentifier=eQ(e,gj,gF.defaultValues(gj)),gL in e&&(this.date=eQ(e,gL,gF.defaultValues(gL))),gq in e&&(this.other=eQ(e,gq,gF.defaultValues(gq))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case gj:return new tq;case gL:return new rc;case gq:return new gB;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case gj:return t.isEqual(gF.defaultValues(gj));case gL:return 0===t.year&&0===t.month&&0===t.day&&0===t.hour&&0===t.minute&&0===t.second&&0===t.millisecond;case gq:return""===t.keyAttrId&&"keyAttr"in t==!1;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tq({name:t.subjectKeyIdentifier||""}),new rc({optional:!0,name:t.date||""}),gB.schema(t.other||{})]})}fromSchema(e){ta(e,gM);let t=rv(e,e,gF.schema({names:{subjectKeyIdentifier:gj,date:gL,other:{names:{blockName:gq}}}}));uJ.assertSchema(t,this.className),this.subjectKeyIdentifier=t.result.subjectKeyIdentifier,gL in t.result&&(this.date=t.result.date),gq in t.result&&(this.other=new gB({schema:t.result.other}))}toSchema(){let e=[];return e.push(this.subjectKeyIdentifier),this.date&&e.push(this.date),this.other&&e.push(this.other.toSchema()),new tX({value:e})}toJSON(){let e={subjectKeyIdentifier:this.subjectKeyIdentifier.toJSON()};return this.date&&(e.date=this.date.toJSON()),this.other&&(e.other=this.other.toJSON()),e}}gF.CLASS_NAME="RecipientKeyIdentifier";let gK="variant",gV="value",gG=["blockName"];class gH extends uz{constructor(e={}){super(),this.variant=eQ(e,gK,gH.defaultValues(gK)),this.value=eQ(e,gV,gH.defaultValues(gV)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case gK:return -1;case gV:return{};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case gK:return -1===t;case gV:return 0===Object.keys(t).length;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new ry({value:[gf.schema(t.issuerAndSerialNumber||{names:{blockName:t.blockName||""}}),new tO({name:t.blockName||"",idBlock:{tagClass:3,tagNumber:0},value:gF.schema(t.rKeyId||{names:{blockName:t.blockName||""}}).valueBlock.value})]})}fromSchema(e){ta(e,gG);let t=rv(e,e,gH.schema({names:{blockName:"blockName"}}));uJ.assertSchema(t,this.className),1===t.result.blockName.idBlock.tagClass?(this.variant=1,this.value=new gf({schema:t.result.blockName})):(this.variant=2,this.value=new gF({schema:new tX({value:t.result.blockName.valueBlock.value})}))}toSchema(){switch(this.variant){case 1:return this.value.toSchema();case 2:return new tO({idBlock:{tagClass:3,tagNumber:0},value:this.value.toSchema().valueBlock.value});default:return new rg}}toJSON(){let e={variant:this.variant};return(1===this.variant||2===this.variant)&&(e.value=this.value.toJSON()),e}}gH.CLASS_NAME="KeyAgreeRecipientIdentifier";let gW="encryptedKey",gJ=["rid",gW];class gz extends uz{constructor(e={}){super(),this.rid=eQ(e,"rid",gz.defaultValues("rid")),this.encryptedKey=eQ(e,gW,gz.defaultValues(gW)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case"rid":return new gH;case gW:return new tq;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case"rid":return -1===t.variant&&"value"in t==!1;case gW:return t.isEqual(gz.defaultValues(gW));default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[gH.schema(t.rid||{}),new tq({name:t.encryptedKey||""})]})}fromSchema(e){ta(e,gJ);let t=rv(e,e,gz.schema({names:{rid:{names:{blockName:"rid"}},encryptedKey:gW}}));uJ.assertSchema(t,this.className),this.rid=new gH({schema:t.result.rid}),this.encryptedKey=t.result.encryptedKey}toSchema(){return new tX({value:[this.rid.toSchema(),this.encryptedKey]})}toJSON(){return{rid:this.rid.toJSON(),encryptedKey:this.encryptedKey.toJSON()}}}gz.CLASS_NAME="RecipientEncryptedKey";let gZ="encryptedKeys",gY="RecipientEncryptedKeys",gQ=[gY];class gX extends uz{constructor(e={}){super(),this.encryptedKeys=eQ(e,gZ,gX.defaultValues(gZ)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){return e===gZ?[]:super.defaultValues(e)}static compareWithDefault(e,t){return e===gZ?0===t.length:super.defaultValues(e)}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new rw({name:t.RecipientEncryptedKeys||"",value:gz.schema()})]})}fromSchema(e){ta(e,gQ);let t=rv(e,e,gX.schema({names:{RecipientEncryptedKeys:gY}}));uJ.assertSchema(t,this.className),this.encryptedKeys=Array.from(t.result.RecipientEncryptedKeys,e=>new gz({schema:e}))}toSchema(){return new tX({value:Array.from(this.encryptedKeys,e=>e.toSchema())})}toJSON(){return{encryptedKeys:Array.from(this.encryptedKeys,e=>e.toJSON())}}}gX.CLASS_NAME="RecipientEncryptedKeys";let g0="version",g1="originator",g2="keyEncryptionAlgorithm",g3="recipientEncryptedKeys",g4="recipientCertificate",g6="recipientPublicKey",g8=[g0,g1,"ukm",g2,g3];class g5 extends uz{constructor(e={}){super(),this.version=eQ(e,g0,g5.defaultValues(g0)),this.originator=eQ(e,g1,g5.defaultValues(g1)),"ukm"in e&&(this.ukm=eQ(e,"ukm",g5.defaultValues("ukm"))),this.keyEncryptionAlgorithm=eQ(e,g2,g5.defaultValues(g2)),this.recipientEncryptedKeys=eQ(e,g3,g5.defaultValues(g3)),this.recipientCertificate=eQ(e,g4,g5.defaultValues(g4)),this.recipientPublicKey=eQ(e,g6,g5.defaultValues(g6)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case g0:return 0;case g1:return new gO;case"ukm":return new tq;case g2:return new cu;case g3:return new gX;case g4:return new m9;case g6:return null;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case g0:return 0===t;case g1:return -1===t.variant&&"value"in t==!1;case"ukm":return t.isEqual(g5.defaultValues("ukm"));case g2:return""===t.algorithmId&&"algorithmParams"in t==!1;case g3:return 0===t.encryptedKeys.length;case g4:case g6:return!1;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tG({name:t.version||""}),new tO({idBlock:{tagClass:3,tagNumber:0},value:[gO.schema(t.originator||{})]}),new tO({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new tq({name:t.ukm||""})]}),cu.schema(t.keyEncryptionAlgorithm||{}),gX.schema(t.recipientEncryptedKeys||{})]})}fromSchema(e){ta(e,g8);let t=rv(e,e,g5.schema({names:{version:g0,originator:{names:{blockName:g1}},ukm:"ukm",keyEncryptionAlgorithm:{names:{blockName:g2}},recipientEncryptedKeys:{names:{blockName:g3}}}}));uJ.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,this.originator=new gO({schema:t.result.originator}),"ukm"in t.result&&(this.ukm=t.result.ukm),this.keyEncryptionAlgorithm=new cu({schema:t.result.keyEncryptionAlgorithm}),this.recipientEncryptedKeys=new gX({schema:t.result.recipientEncryptedKeys})}toSchema(){let e=[];return e.push(new tG({value:this.version})),e.push(new tO({idBlock:{tagClass:3,tagNumber:0},value:[this.originator.toSchema()]})),this.ukm&&e.push(new tO({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[this.ukm]})),e.push(this.keyEncryptionAlgorithm.toSchema()),e.push(this.recipientEncryptedKeys.toSchema()),new tX({value:e})}toJSON(){let e={version:this.version,originator:this.originator.toJSON(),keyEncryptionAlgorithm:this.keyEncryptionAlgorithm.toJSON(),recipientEncryptedKeys:this.recipientEncryptedKeys.toJSON()};return this.ukm&&(e.ukm=this.ukm.toJSON()),e}}g5.CLASS_NAME="KeyAgreeRecipientInfo";let g9="keyIdentifier",g7="date",ye="other",yt=[g9,g7,ye];class yr extends uz{constructor(e={}){super(),this.keyIdentifier=eQ(e,g9,yr.defaultValues(g9)),g7 in e&&(this.date=eQ(e,g7,yr.defaultValues(g7))),ye in e&&(this.other=eQ(e,ye,yr.defaultValues(ye))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case g9:return new tq;case g7:return new rc;case ye:return new gB;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case g9:return t.isEqual(yr.defaultValues(g9));case g7:return 0===t.year&&0===t.month&&0===t.day&&0===t.hour&&0===t.minute&&0===t.second&&0===t.millisecond;case ye:return t.compareWithDefault("keyAttrId",t.keyAttrId)&&"keyAttr"in t==!1;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tq({name:t.keyIdentifier||""}),new rc({optional:!0,name:t.date||""}),gB.schema(t.other||{})]})}fromSchema(e){ta(e,yt);let t=rv(e,e,yr.schema({names:{keyIdentifier:g9,date:g7,other:{names:{blockName:ye}}}}));uJ.assertSchema(t,this.className),this.keyIdentifier=t.result.keyIdentifier,g7 in t.result&&(this.date=t.result.date),ye in t.result&&(this.other=new gB({schema:t.result.other}))}toSchema(){let e=[];return e.push(this.keyIdentifier),this.date&&e.push(this.date),this.other&&e.push(this.other.toSchema()),new tX({value:e})}toJSON(){let e={keyIdentifier:this.keyIdentifier.toJSON()};return this.date&&(e.date=this.date),this.other&&(e.other=this.other.toJSON()),e}}yr.CLASS_NAME="KEKIdentifier";let yi="version",ya="kekid",yn="keyEncryptionAlgorithm",ys="encryptedKey",yo="preDefinedKEK",yl=[yi,ya,yn,ys];class yu extends uz{constructor(e={}){super(),this.version=eQ(e,yi,yu.defaultValues(yi)),this.kekid=eQ(e,ya,yu.defaultValues(ya)),this.keyEncryptionAlgorithm=eQ(e,yn,yu.defaultValues(yn)),this.encryptedKey=eQ(e,ys,yu.defaultValues(ys)),this.preDefinedKEK=eQ(e,yo,yu.defaultValues(yo)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case yi:return 0;case ya:return new yr;case yn:return new cu;case ys:return new tq;case yo:return uG;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case"KEKRecipientInfo":return t===yu.defaultValues(yi);case ya:return t.compareWithDefault("keyIdentifier",t.keyIdentifier)&&"date"in t==!1&&"other"in t==!1;case yn:return""===t.algorithmId&&"algorithmParams"in t==!1;case ys:return t.isEqual(yu.defaultValues(ys));case yo:return 0===t.byteLength;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tG({name:t.version||""}),yr.schema(t.kekid||{}),cu.schema(t.keyEncryptionAlgorithm||{}),new tq({name:t.encryptedKey||""})]})}fromSchema(e){ta(e,yl);let t=rv(e,e,yu.schema({names:{version:yi,kekid:{names:{blockName:ya}},keyEncryptionAlgorithm:{names:{blockName:yn}},encryptedKey:ys}}));uJ.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,this.kekid=new yr({schema:t.result.kekid}),this.keyEncryptionAlgorithm=new cu({schema:t.result.keyEncryptionAlgorithm}),this.encryptedKey=t.result.encryptedKey}toSchema(){return new tX({value:[new tG({value:this.version}),this.kekid.toSchema(),this.keyEncryptionAlgorithm.toSchema(),this.encryptedKey]})}toJSON(){return{version:this.version,kekid:this.kekid.toJSON(),keyEncryptionAlgorithm:this.keyEncryptionAlgorithm.toJSON(),encryptedKey:this.encryptedKey.toJSON()}}}yu.CLASS_NAME="KEKRecipientInfo";let yc="version",yd="keyDerivationAlgorithm",yp="keyEncryptionAlgorithm",yh="encryptedKey",ym="password",yf=[yc,yd,yp,yh];class yg extends uz{constructor(e={}){super(),this.version=eQ(e,yc,yg.defaultValues(yc)),yd in e&&(this.keyDerivationAlgorithm=eQ(e,yd,yg.defaultValues(yd))),this.keyEncryptionAlgorithm=eQ(e,yp,yg.defaultValues(yp)),this.encryptedKey=eQ(e,yh,yg.defaultValues(yh)),this.password=eQ(e,ym,yg.defaultValues(ym)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case yc:return -1;case yd:case yp:return new cu;case yh:return new tq;case ym:return uG;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case yc:return -1===t;case yd:case yp:return""===t.algorithmId&&"algorithmParams"in t==!1;case yh:return t.isEqual(yg.defaultValues(yh));case ym:return 0===t.byteLength;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tG({name:t.version||""}),new tO({name:t.keyDerivationAlgorithm||"",optional:!0,idBlock:{tagClass:3,tagNumber:0},value:cu.schema().valueBlock.value}),cu.schema(t.keyEncryptionAlgorithm||{}),new tq({name:t.encryptedKey||""})]})}fromSchema(e){ta(e,yf);let t=rv(e,e,yg.schema({names:{version:yc,keyDerivationAlgorithm:yd,keyEncryptionAlgorithm:{names:{blockName:yp}},encryptedKey:yh}}));uJ.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,yd in t.result&&(this.keyDerivationAlgorithm=new cu({schema:new tX({value:t.result.keyDerivationAlgorithm.valueBlock.value})})),this.keyEncryptionAlgorithm=new cu({schema:t.result.keyEncryptionAlgorithm}),this.encryptedKey=t.result.encryptedKey}toSchema(){let e=[];return e.push(new tG({value:this.version})),this.keyDerivationAlgorithm&&e.push(new tO({idBlock:{tagClass:3,tagNumber:0},value:this.keyDerivationAlgorithm.toSchema().valueBlock.value})),e.push(this.keyEncryptionAlgorithm.toSchema()),e.push(this.encryptedKey),new tX({value:e})}toJSON(){let e={version:this.version,keyEncryptionAlgorithm:this.keyEncryptionAlgorithm.toJSON(),encryptedKey:this.encryptedKey.toJSON()};return this.keyDerivationAlgorithm&&(e.keyDerivationAlgorithm=this.keyDerivationAlgorithm.toJSON()),e}}yg.CLASS_NAME="PasswordRecipientInfo";let yy="oriType",yw="oriValue",yb=[yy,yw];class yv extends uz{constructor(e={}){super(),this.oriType=eQ(e,yy,yv.defaultValues(yy)),this.oriValue=eQ(e,yw,yv.defaultValues(yw)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case yy:return"";case yw:return{};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case yy:return""===t;case yw:return 0===Object.keys(t).length;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tz({name:t.oriType||""}),new rg({name:t.oriValue||""})]})}fromSchema(e){ta(e,yb);let t=rv(e,e,yv.schema({names:{oriType:yy,oriValue:yw}}));uJ.assertSchema(t,this.className),this.oriType=t.result.oriType.valueBlock.toString(),this.oriValue=t.result.oriValue}toSchema(){return new tX({value:[new tz({value:this.oriType}),this.oriValue]})}toJSON(){let e={oriType:this.oriType};return yv.compareWithDefault(yw,this.oriValue)||(e.oriValue=this.oriValue.toJSON()),e}}yv.CLASS_NAME="OtherRecipientInfo";let yk="variant",yS="value",yE=["blockName"];class yI extends uz{constructor(e={}){super(),this.variant=eQ(e,yk,yI.defaultValues(yk)),yS in e&&(this.value=eQ(e,yS,yI.defaultValues(yS))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case yk:return -1;case yS:return{};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case yk:return t===yI.defaultValues(e);case yS:return 0===Object.keys(t).length;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new ry({value:[gx.schema({names:{blockName:t.blockName||""}}),new tO({name:t.blockName||"",idBlock:{tagClass:3,tagNumber:1},value:g5.schema().valueBlock.value}),new tO({name:t.blockName||"",idBlock:{tagClass:3,tagNumber:2},value:yu.schema().valueBlock.value}),new tO({name:t.blockName||"",idBlock:{tagClass:3,tagNumber:3},value:yg.schema().valueBlock.value}),new tO({name:t.blockName||"",idBlock:{tagClass:3,tagNumber:4},value:yv.schema().valueBlock.value})]})}fromSchema(e){ta(e,yE);let t=rv(e,e,yI.schema({names:{blockName:"blockName"}}));if(uJ.assertSchema(t,this.className),1===t.result.blockName.idBlock.tagClass)this.variant=1,this.value=new gx({schema:t.result.blockName});else{let e=new tX({value:t.result.blockName.valueBlock.value});switch(t.result.blockName.idBlock.tagNumber){case 1:this.variant=2,this.value=new g5({schema:e});break;case 2:this.variant=3,this.value=new yu({schema:e});break;case 3:this.variant=4,this.value=new yg({schema:e});break;case 4:this.variant=5,this.value=new yv({schema:e});break;default:throw Error("Incorrect structure of RecipientInfo block")}}}toSchema(){uW.assertEmpty(this.value,"value","RecipientInfo");let e=this.value.toSchema();switch(this.variant){case 1:return e;case 2:case 3:case 4:return e.idBlock.tagClass=3,e.idBlock.tagNumber=this.variant-1,e;default:return new rg}}toJSON(){let e={variant:this.variant};return this.value&&this.variant>=1&&this.variant<=4&&(e.value=this.value.toJSON()),e}}yI.CLASS_NAME="RecipientInfo";let yx="hashAlgorithm",yA="maskGenAlgorithm",y_="pSourceAlgorithm",yC=[yx,yA,y_];class yR extends uz{constructor(e={}){super(),this.hashAlgorithm=eQ(e,yx,yR.defaultValues(yx)),this.maskGenAlgorithm=eQ(e,yA,yR.defaultValues(yA)),this.pSourceAlgorithm=eQ(e,y_,yR.defaultValues(y_)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case yx:return new cu({algorithmId:"1.3.14.3.2.26",algorithmParams:new tU});case yA:return new cu({algorithmId:"1.2.840.113549.1.1.8",algorithmParams:new cu({algorithmId:"1.3.14.3.2.26",algorithmParams:new tU}).toSchema()});case y_:return new cu({algorithmId:"1.2.840.113549.1.1.9",algorithmParams:new tq({valueHex:new Uint8Array([218,57,163,238,94,107,75,13,50,85,191,239,149,96,24,144,175,216,7,9]).buffer})});default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tO({idBlock:{tagClass:3,tagNumber:0},optional:!0,value:[cu.schema(t.hashAlgorithm||{})]}),new tO({idBlock:{tagClass:3,tagNumber:1},optional:!0,value:[cu.schema(t.maskGenAlgorithm||{})]}),new tO({idBlock:{tagClass:3,tagNumber:2},optional:!0,value:[cu.schema(t.pSourceAlgorithm||{})]})]})}fromSchema(e){ta(e,yC);let t=rv(e,e,yR.schema({names:{hashAlgorithm:{names:{blockName:yx}},maskGenAlgorithm:{names:{blockName:yA}},pSourceAlgorithm:{names:{blockName:y_}}}}));uJ.assertSchema(t,this.className),yx in t.result&&(this.hashAlgorithm=new cu({schema:t.result.hashAlgorithm})),yA in t.result&&(this.maskGenAlgorithm=new cu({schema:t.result.maskGenAlgorithm})),y_ in t.result&&(this.pSourceAlgorithm=new cu({schema:t.result.pSourceAlgorithm}))}toSchema(){let e=[];return this.hashAlgorithm.isEqual(yR.defaultValues(yx))||e.push(new tO({idBlock:{tagClass:3,tagNumber:0},value:[this.hashAlgorithm.toSchema()]})),this.maskGenAlgorithm.isEqual(yR.defaultValues(yA))||e.push(new tO({idBlock:{tagClass:3,tagNumber:1},value:[this.maskGenAlgorithm.toSchema()]})),this.pSourceAlgorithm.isEqual(yR.defaultValues(y_))||e.push(new tO({idBlock:{tagClass:3,tagNumber:2},value:[this.pSourceAlgorithm.toSchema()]})),new tX({value:e})}toJSON(){let e={};return this.hashAlgorithm.isEqual(yR.defaultValues(yx))||(e.hashAlgorithm=this.hashAlgorithm.toJSON()),this.maskGenAlgorithm.isEqual(yR.defaultValues(yA))||(e.maskGenAlgorithm=this.maskGenAlgorithm.toJSON()),this.pSourceAlgorithm.isEqual(yR.defaultValues(y_))||(e.pSourceAlgorithm=this.pSourceAlgorithm.toJSON()),e}}yR.CLASS_NAME="RSAESOAEPParams";let yT="keyInfo",yD="entityUInfo",yN="suppPubInfo",yO=[yT,yD,yN];class yP extends uz{constructor(e={}){super(),this.keyInfo=eQ(e,yT,yP.defaultValues(yT)),yD in e&&(this.entityUInfo=eQ(e,yD,yP.defaultValues(yD))),this.suppPubInfo=eQ(e,yN,yP.defaultValues(yN)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case yT:return new cu;case yD:case yN:return new tq;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case yT:case yD:case yN:return t.isEqual(yP.defaultValues(e));default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[cu.schema(t.keyInfo||{}),new tO({name:t.entityUInfo||"",idBlock:{tagClass:3,tagNumber:0},optional:!0,value:[new tq]}),new tO({name:t.suppPubInfo||"",idBlock:{tagClass:3,tagNumber:2},value:[new tq]})]})}fromSchema(e){ta(e,yO);let t=rv(e,e,yP.schema({names:{keyInfo:{names:{blockName:yT}},entityUInfo:yD,suppPubInfo:yN}}));uJ.assertSchema(t,this.className),this.keyInfo=new cu({schema:t.result.keyInfo}),yD in t.result&&(this.entityUInfo=t.result.entityUInfo.valueBlock.value[0]),this.suppPubInfo=t.result.suppPubInfo.valueBlock.value[0]}toSchema(){let e=[];return e.push(this.keyInfo.toSchema()),this.entityUInfo&&e.push(new tO({idBlock:{tagClass:3,tagNumber:0},value:[this.entityUInfo]})),e.push(new tO({idBlock:{tagClass:3,tagNumber:2},value:[this.suppPubInfo]})),new tX({value:e})}toJSON(){let e={keyInfo:this.keyInfo.toJSON(),suppPubInfo:this.suppPubInfo.toJSON()};return this.entityUInfo&&(e.entityUInfo=this.entityUInfo.toJSON()),e}}yP.CLASS_NAME="ECCCMSSharedInfo";let y$="version",yU="originatorInfo",yB="recipientInfos",yj="encryptedContentInfo",yL="unprotectedAttrs",yq=[y$,yU,yB,yj,yL],yM={kdfAlgorithm:"SHA-512",kekEncryptionLength:256},yF={"P-256":256,"P-384":384,"P-521":528};class yK extends uz{constructor(e={}){super(),this.version=eQ(e,y$,yK.defaultValues(y$)),yU in e&&(this.originatorInfo=eQ(e,yU,yK.defaultValues(yU))),this.recipientInfos=eQ(e,yB,yK.defaultValues(yB)),this.encryptedContentInfo=eQ(e,yj,yK.defaultValues(yj)),yL in e&&(this.unprotectedAttrs=eQ(e,yL,yK.defaultValues(yL))),this.policy={disableSplit:!!e.disableSplit},e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case y$:return 0;case yU:return new gd;case yB:return[];case yj:return new pV;case yL:return[];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case y$:return t===yK.defaultValues(e);case yU:return 0===t.certs.certificates.length&&0===t.crls.crls.length;case yB:case yL:return 0===t.length;case yj:return pV.compareWithDefault("contentType",t.contentType)&&pV.compareWithDefault("contentEncryptionAlgorithm",t.contentEncryptionAlgorithm)&&pV.compareWithDefault("encryptedContent",t.encryptedContent);default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tG({name:t.version||""}),new tO({name:t.originatorInfo||"",optional:!0,idBlock:{tagClass:3,tagNumber:0},value:gd.schema().valueBlock.value}),new t0({value:[new rw({name:t.recipientInfos||"",value:yI.schema()})]}),pV.schema(t.encryptedContentInfo||{}),new tO({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new rw({name:t.unprotectedAttrs||"",value:cg.schema()})]})]})}fromSchema(e){ta(e,yq);let t=rv(e,e,yK.schema({names:{version:y$,originatorInfo:yU,recipientInfos:yB,encryptedContentInfo:{names:{blockName:yj}},unprotectedAttrs:yL}}));uJ.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,yU in t.result&&(this.originatorInfo=new gd({schema:new tX({value:t.result.originatorInfo.valueBlock.value})})),this.recipientInfos=Array.from(t.result.recipientInfos,e=>new yI({schema:e})),this.encryptedContentInfo=new pV({schema:t.result.encryptedContentInfo}),yL in t.result&&(this.unprotectedAttrs=Array.from(t.result.unprotectedAttrs,e=>new cg({schema:e})))}toSchema(){let e=[];return e.push(new tG({value:this.version})),this.originatorInfo&&e.push(new tO({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:this.originatorInfo.toSchema().valueBlock.value})),e.push(new t0({value:Array.from(this.recipientInfos,e=>e.toSchema())})),e.push(this.encryptedContentInfo.toSchema()),this.unprotectedAttrs&&e.push(new tO({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.unprotectedAttrs,e=>e.toSchema())})),new tX({value:e})}toJSON(){let e={version:this.version,recipientInfos:Array.from(this.recipientInfos,e=>e.toJSON()),encryptedContentInfo:this.encryptedContentInfo.toJSON()};return this.originatorInfo&&(e.originatorInfo=this.originatorInfo.toJSON()),this.unprotectedAttrs&&(e.unprotectedAttrs=Array.from(this.unprotectedAttrs,e=>e.toJSON())),e}addRecipientByCertificate(e,t,r,i=hr(!0)){let a=Object.assign({useOAEP:!0,oaepHashAlgorithm:"SHA-512"},yM,t||{});if(-1!==e.subjectPublicKeyInfo.algorithm.algorithmId.indexOf("1.2.840.113549"))r=1;else if(-1!==e.subjectPublicKeyInfo.algorithm.algorithmId.indexOf("1.2.840.10045"))r=2;else throw Error(`Unknown type of certificate's public key: ${e.subjectPublicKeyInfo.algorithm.algorithmId}`);switch(r){case 1:{let t,r;if(!0===a.useOAEP){t=i.getOIDByAlgorithm({name:"RSA-OAEP"},!0,"keyEncryptionAlgorithm");let e=new cu({algorithmId:i.getOIDByAlgorithm({name:a.oaepHashAlgorithm},!0,"RSAES-OAEP-params"),algorithmParams:new tU});r=new yR({hashAlgorithm:e,maskGenAlgorithm:new cu({algorithmId:"1.2.840.113549.1.1.8",algorithmParams:e.toSchema()})}).toSchema()}else{if(""===(t=i.getOIDByAlgorithm({name:"RSAES-PKCS1-v1_5"})))throw Error("Can not find OID for RSAES-PKCS1-v1_5");r=new tU}let n=new gx({version:0,rid:new gf({issuer:e.issuer,serialNumber:e.serialNumber}),keyEncryptionAlgorithm:new cu({algorithmId:t,algorithmParams:r}),recipientCertificate:e});this.recipientInfos.push(new yI({variant:1,value:n}))}break;case 2:{let t=new gH({variant:1,value:new gf({issuer:e.issuer,serialNumber:e.serialNumber})});this._addKeyAgreeRecipientInfo(t,a,{recipientCertificate:e},i)}break;default:throw Error(`Unknown "variant" value: ${r}`)}return!0}addRecipientByPreDefinedData(e,t={},r,i=hr(!0)){if(uH.assert(e,"preDefinedData","ArrayBuffer"),!e.byteLength)throw Error("Pre-defined data could have zero length");if(!t.keyIdentifier){let e=new ArrayBuffer(16),r=new Uint8Array(e);i.getRandomValues(r),t.keyIdentifier=e}switch(!t.hmacHashAlgorithm&&(t.hmacHashAlgorithm="SHA-512"),void 0===t.iterationCount&&(t.iterationCount=2048),!t.keyEncryptionAlgorithm&&(t.keyEncryptionAlgorithm={name:"AES-KW",length:256}),!t.keyEncryptionAlgorithmParams&&(t.keyEncryptionAlgorithmParams=new tU),r){case 1:{let r=i.getOIDByAlgorithm(t.keyEncryptionAlgorithm,!0,"keyEncryptionAlgorithm"),a=new yu({version:4,kekid:new yr({keyIdentifier:new tq({valueHex:t.keyIdentifier})}),keyEncryptionAlgorithm:new cu({algorithmId:r,algorithmParams:t.keyEncryptionAlgorithmParams}),preDefinedKEK:e});this.recipientInfos.push(new yI({variant:3,value:a}))}break;case 2:{let r=i.getOIDByAlgorithm({name:"PBKDF2"},!0,"keyDerivationAlgorithm"),a=new ArrayBuffer(64),n=new Uint8Array(a);i.getRandomValues(n);let s=i.getOIDByAlgorithm({name:"HMAC",hash:{name:t.hmacHashAlgorithm}},!0,"hmacHashAlgorithm"),o=new p1({salt:new tq({valueHex:a}),iterationCount:t.iterationCount,prf:new cu({algorithmId:s,algorithmParams:new tU})}),l=i.getOIDByAlgorithm(t.keyEncryptionAlgorithm,!0,"keyEncryptionAlgorithm"),u=new yg({version:0,keyDerivationAlgorithm:new cu({algorithmId:r,algorithmParams:o.toSchema()}),keyEncryptionAlgorithm:new cu({algorithmId:l,algorithmParams:t.keyEncryptionAlgorithmParams}),password:e});this.recipientInfos.push(new yI({variant:4,value:u}))}break;default:throw Error(`Unknown value for "variant": ${r}`)}}addRecipientByKeyIdentifier(e,t,r,i=hr(!0)){let a=Object.assign({},yM,r||{}),n=new gH({variant:2,value:new gF({subjectKeyIdentifier:new tq({valueHex:t})})});this._addKeyAgreeRecipientInfo(n,a,{recipientPublicKey:e},i)}_addKeyAgreeRecipientInfo(e,t,r,i=hr(!0)){let a=new gz({rid:e}),n=new cu({algorithmId:i.getOIDByAlgorithm({name:"AES-KW",length:t.kekEncryptionLength},!0,"keyEncryptionAlgorithm")}),s=i.getOIDByAlgorithm({name:"ECDH",kdf:t.kdfAlgorithm},!0,"KeyAgreeRecipientInfo"),o=new ArrayBuffer(64),l=new Uint8Array(o);i.getRandomValues(l);let u=new g5(Object.assign({version:3,ukm:new tq({valueHex:o}),keyEncryptionAlgorithm:new cu({algorithmId:s,algorithmParams:n.toSchema()}),recipientEncryptedKeys:new gX({encryptedKeys:[a]})},r));this.recipientInfos.push(new yI({variant:2,value:u}))}async encrypt(e,t,r=hr(!0)){let i=new ArrayBuffer(16),a=new Uint8Array(i);r.getRandomValues(a);let n=new Uint8Array(t),s=r.getOIDByAlgorithm(e,!0,"contentEncryptionAlgorithm"),o=await r.generateKey(e,!0,["encrypt"]),l=await r.encrypt({name:e.name,iv:a},o,n),u=await r.exportKey("raw",o);this.version=2,this.encryptedContentInfo=new pV({disableSplit:this.policy.disableSplit,contentType:"1.2.840.113549.1.7.1",contentEncryptionAlgorithm:new cu({algorithmId:s,algorithmParams:new tq({valueHex:i})}),encryptedContent:new tq({valueHex:l})});let c=async e=>{let t,i,a=this.recipientInfos[e].value;if(a.recipientPublicKey)t=a.recipientPublicKey.algorithm.namedCurve,i=a.recipientPublicKey;else if(a.recipientCertificate){let n=a.recipientCertificate.subjectPublicKeyInfo.algorithm.algorithmParams;if(n.constructor.blockName()!==tz.blockName())throw Error(`Incorrect "recipientCertificate" for index ${e}`);switch(n.valueBlock.toString()){case"1.2.840.10045.3.1.7":t="P-256";break;case"1.3.132.0.34":t="P-384";break;case"1.3.132.0.35":t="P-521";break;default:throw Error(`Incorrect curve OID for index ${e}`)}i=await a.recipientCertificate.getPublicKey({algorithm:{algorithm:{name:"ECDH",namedCurve:t},usages:[]}},r)}else throw Error("Unsupported RecipientInfo");let n=yF[t],s=await r.generateKey({name:"ECDH",namedCurve:t},!0,["deriveBits"]),l=await r.exportKey("spki",s.publicKey),u=await r.deriveBits({name:"ECDH",public:i},s.privateKey,n),c=new cu({schema:a.keyEncryptionAlgorithm.algorithmParams}),d=r.getAlgorithmByOID(c.algorithmId,!0,"aesKWAlgorithm"),p=d.length,h=new ArrayBuffer(4),m=new Uint8Array(h);for(let e=3;e>=0;e--)m[e]=p,p>>=8;let f=new yP({keyInfo:new cu({algorithmId:c.algorithmId}),entityUInfo:a.ukm,suppPubInfo:new tq({valueHex:h})}).toSchema().toBER(!1),g=r.getAlgorithmByOID(a.keyEncryptionAlgorithm.algorithmId,!0,"ecdhAlgorithm"),y=await ha(g.kdf,u,d.length,f,r),w=await r.importKey("raw",y,{name:"AES-KW"},!0,["wrapKey"]),b=await r.wrapKey("raw",o,w,{name:"AES-KW"}),v=new gO;return v.variant=3,v.value=gR.fromBER(l),a.originator=v,a.recipientEncryptedKeys.encryptedKeys[0].encryptedKey=new tq({valueHex:b}),{ecdhPrivateKey:s.privateKey}},d=async e=>{let t=this.recipientInfos[e].value,i=r.getAlgorithmByOID(t.keyEncryptionAlgorithm.algorithmId,!0,"keyEncryptionAlgorithm");if("RSA-OAEP"===i.name){let e=new yR({schema:t.keyEncryptionAlgorithm.algorithmParams});if(i.hash=r.getAlgorithmByOID(e.hashAlgorithm.algorithmId),"name"in i.hash==!1)throw Error(`Incorrect OID for hash algorithm: ${e.hashAlgorithm.algorithmId}`)}try{let e=await t.recipientCertificate.getPublicKey({algorithm:{algorithm:i,usages:["encrypt","wrapKey"]}},r),a=await r.encrypt(e.algorithm,e,u);t.encryptedKey=new tq({valueHex:a})}catch{}},p=async e=>{let t=this.recipientInfos[e].value,i=r.getAlgorithmByOID(t.keyEncryptionAlgorithm.algorithmId,!0,"kekAlgorithm"),a=await r.importKey("raw",new Uint8Array(t.preDefinedKEK),i,!0,["wrapKey"]);t.encryptedKey=new tq({valueHex:await r.wrapKey("raw",o,a,i)})},h=async e=>{let t,i=this.recipientInfos[e].value;if(!i.keyDerivationAlgorithm)throw Error('Please append encoded "keyDerivationAlgorithm"');if(!i.keyDerivationAlgorithm.algorithmParams)throw Error('Incorrectly encoded "keyDerivationAlgorithm"');try{t=new p1({schema:i.keyDerivationAlgorithm.algorithmParams})}catch{throw Error('Incorrectly encoded "keyDerivationAlgorithm"')}let a=new Uint8Array(i.password),n=await r.importKey("raw",a,"PBKDF2",!1,["deriveKey"]),s=r.getAlgorithmByOID(i.keyEncryptionAlgorithm.algorithmId,!0,"kekAlgorithm"),l="SHA-1";t.prf&&(l=r.getAlgorithmByOID(t.prf.algorithmId,!0,"prfAlgorithm").hash.name);let u=new Uint8Array(t.salt.valueBlock.valueHex),c=t.iterationCount,d=await r.deriveKey({name:"PBKDF2",hash:{name:l},salt:u,iterations:c},n,s,!0,["wrapKey"]);i.encryptedKey=new tq({valueHex:await r.wrapKey("raw",o,d,s)})},m=[];for(let e=0;e<this.recipientInfos.length;e++)switch(this.recipientInfos[e].variant){case 1:m.push(await d(e));break;case 2:m.push(await c(e));break;case 3:m.push(await p(e));break;case 4:m.push(await h(e));break;default:throw Error(`Unknown recipient type in array with index ${e}`)}return m}async decrypt(e,t,r=hr(!0)){let i,a=t||{};if(e+1>this.recipientInfos.length)throw Error(`Maximum value for "index" is: ${this.recipientInfos.length-1}`);let n=async e=>{let t,i,n,s,o=this.recipientInfos[e].value,l=o.originator;if(a.recipientCertificate){let r=a.recipientCertificate.subjectPublicKeyInfo.algorithm.algorithmParams;if(r.constructor.blockName()!==tz.blockName())throw Error(`Incorrect "recipientCertificate" for index ${e}`);t=r.valueBlock.toString()}else if(l.value.algorithm.algorithmParams){let r=l.value.algorithm.algorithmParams;if(r.constructor.blockName()!==tz.blockName())throw Error(`Incorrect originator for index ${e}`);t=r.valueBlock.toString()}else throw Error('Parameter "recipientCertificate" is mandatory for "KeyAgreeRecipientInfo" if algorithm params are missing from originator');if(!a.recipientPrivateKey)throw Error('Parameter "recipientPrivateKey" is mandatory for "KeyAgreeRecipientInfo"');switch(t){case"1.2.840.10045.3.1.7":i="P-256",n=256;break;case"1.3.132.0.34":i="P-384",n=384;break;case"1.3.132.0.35":i="P-521",n=528;break;default:throw Error(`Incorrect curve OID for index ${e}`)}let u=r;eV.isBufferSource(a.recipientPrivateKey)?s=await r.importKey("pkcs8",a.recipientPrivateKey,{name:"ECDH",namedCurve:i},!0,["deriveBits"]):(s=a.recipientPrivateKey,"crypto"in a&&a.crypto&&(u=a.crypto.subtle)),"algorithmParams"in l.value.algorithm==!1&&(l.value.algorithm.algorithmParams=new tz({value:t}));let c=l.value.toSchema().toBER(!1),d=await r.importKey("spki",c,{name:"ECDH",namedCurve:i},!0,[]),p=await u.deriveBits({name:"ECDH",public:d},s,n);async function h(e){e=e||!1;let t=new cu({schema:o.keyEncryptionAlgorithm.algorithmParams}),i=r.getAlgorithmByOID(t.algorithmId,!0,"kwAlgorithm"),a=i.length,n=new ArrayBuffer(4),s=new Uint8Array(n);for(let e=3;e>=0;e--)s[e]=a,a>>=8;let l={algorithmId:t.algorithmId};e&&(l.algorithmParams=new tU);let u=new yP({keyInfo:new cu(l),entityUInfo:o.ukm,suppPubInfo:new tq({valueHex:n})}).toSchema().toBER(!1),c=r.getAlgorithmByOID(o.keyEncryptionAlgorithm.algorithmId,!0,"ecdhAlgorithm");if(!c.name)throw Error(`Incorrect OID for key encryption algorithm: ${o.keyEncryptionAlgorithm.algorithmId}`);return ha(c.kdf,p,i.length,u,r)}let m=await h(),f=async e=>r.importKey("raw",e,{name:"AES-KW"},!0,["unwrapKey"]),g=await f(m),y=async e=>{let t=this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId,i=r.getAlgorithmByOID(t,!0,"contentEncryptionAlgorithm");return r.unwrapKey("raw",o.recipientEncryptedKeys.encryptedKeys[0].encryptedKey.valueBlock.valueHexView,e,{name:"AES-KW"},i,!0,["decrypt"])};try{return await y(g)}catch{let e=await h(!0);return y(await f(e))}},s=async e=>{let t,i=this.recipientInfos[e].value;if(!a.recipientPrivateKey)throw Error('Parameter "recipientPrivateKey" is mandatory for "KeyTransRecipientInfo"');let n=r.getAlgorithmByOID(i.keyEncryptionAlgorithm.algorithmId,!0,"keyEncryptionAlgorithm");if("RSA-OAEP"===n.name){let e=new yR({schema:i.keyEncryptionAlgorithm.algorithmParams});if(n.hash=r.getAlgorithmByOID(e.hashAlgorithm.algorithmId),"name"in n.hash==!1)throw Error(`Incorrect OID for hash algorithm: ${e.hashAlgorithm.algorithmId}`)}let s=r;eV.isBufferSource(a.recipientPrivateKey)?t=await r.importKey("pkcs8",a.recipientPrivateKey,n,!0,["decrypt"]):(t=a.recipientPrivateKey,"crypto"in a&&a.crypto&&(s=a.crypto.subtle));let o=await s.decrypt(t.algorithm,t,i.encryptedKey.valueBlock.valueHexView),l=this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId,u=r.getAlgorithmByOID(l,!0,"contentEncryptionAlgorithm");if("name"in u==!1)throw Error(`Incorrect "contentEncryptionAlgorithm": ${l}`);return r.importKey("raw",o,u,!0,["decrypt"])},o=async e=>{let t=this.recipientInfos[e].value;if(!a.preDefinedData)throw Error('Parameter "preDefinedData" is mandatory for "KEKRecipientInfo"');let i=r.getAlgorithmByOID(t.keyEncryptionAlgorithm.algorithmId,!0,"kekAlgorithm"),n=await r.importKey("raw",a.preDefinedData,i,!0,["unwrapKey"]),s=this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId,o=r.getAlgorithmByOID(s,!0,"contentEncryptionAlgorithm");if(!o.name)throw Error(`Incorrect "contentEncryptionAlgorithm": ${s}`);return r.unwrapKey("raw",t.encryptedKey.valueBlock.valueHexView,n,i,o,!0,["decrypt"])},l=async e=>{let t,i=this.recipientInfos[e].value;if(!a.preDefinedData)throw Error('Parameter "preDefinedData" is mandatory for "KEKRecipientInfo"');if(!i.keyDerivationAlgorithm)throw Error('Please append encoded "keyDerivationAlgorithm"');if(!i.keyDerivationAlgorithm.algorithmParams)throw Error('Incorrectly encoded "keyDerivationAlgorithm"');try{t=new p1({schema:i.keyDerivationAlgorithm.algorithmParams})}catch{throw Error('Incorrectly encoded "keyDerivationAlgorithm"')}let n=await r.importKey("raw",a.preDefinedData,"PBKDF2",!1,["deriveKey"]),s=r.getAlgorithmByOID(i.keyEncryptionAlgorithm.algorithmId,!0,"keyEncryptionAlgorithm"),o=t.prf?r.getAlgorithmByOID(t.prf.algorithmId,!0,"prfAlgorithm").hash.name:"SHA-1",l=new Uint8Array(t.salt.valueBlock.valueHex),u=t.iterationCount,c=await r.deriveKey({name:"PBKDF2",hash:{name:o},salt:l,iterations:u},n,s,!0,["unwrapKey"]),d=this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId,p=r.getAlgorithmByOID(d,!0,"contentEncryptionAlgorithm");return r.unwrapKey("raw",i.encryptedKey.valueBlock.valueHexView,c,s,p,!0,["decrypt"])};switch(this.recipientInfos[e].variant){case 1:i=await s(e);break;case 2:i=await n(e);break;case 3:i=await o(e);break;case 4:i=await l(e);break;default:throw Error(`Unknown recipient type in array with index ${e}`)}let u=this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId,c=r.getAlgorithmByOID(u,!0,"contentEncryptionAlgorithm"),d=new Uint8Array(this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmParams.valueBlock.valueHex);if(!this.encryptedContentInfo.encryptedContent)throw Error("Required property `encryptedContent` is empty");let p=this.encryptedContentInfo.getEncryptedContent();return r.decrypt({name:c.name,iv:d},i,p)}}yK.CLASS_NAME="EnvelopedData";let yV="safeContents",yG="parsedValue",yH="contentInfos";class yW extends uz{constructor(e={}){super(),this.safeContents=eQ(e,yV,yW.defaultValues(yV)),yG in e&&(this.parsedValue=eQ(e,yG,yW.defaultValues(yG))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case yV:return[];case yG:return{};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case yV:return 0===t.length;case yG:return t instanceof Object&&0===Object.keys(t).length;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new rw({name:t.contentInfos||"",value:mR.schema()})]})}fromSchema(e){ta(e,[yH]);let t=rv(e,e,yW.schema({names:{contentInfos:yH}}));uJ.assertSchema(t,this.className),this.safeContents=Array.from(t.result.contentInfos,e=>new mR({schema:e}))}toSchema(){return new tX({value:Array.from(this.safeContents,e=>e.toSchema())})}toJSON(){return{safeContents:Array.from(this.safeContents,e=>e.toJSON())}}async parseInternalValues(e,t=hr(!0)){if(uW.assert(e,yV),uH.assert(e.safeContents,yV,"Array"),e.safeContents.length!==this.safeContents.length)throw new uH('Length of "parameters.safeContents" must be equal to "this.safeContents.length"');for(let[r,i]of(this.parsedValue={safeContents:[]},this.safeContents.entries())){let a=e.safeContents[r],n=`parameters.safeContents[${r}]`;switch(i.contentType){case cj:{uH.assert(i.content,"this.safeContents[j].content",tq);let e=i.content.getValue();this.parsedValue.safeContents.push({privacyMode:0,value:f2.fromBER(e)})}break;case cq:{let e=new yK({schema:i.content});uW.assert(n,a,"recipientCertificate","recipientKey");let r=a.recipientCertificate,s=a.recipientKey,o=await e.decrypt(0,{recipientCertificate:r,recipientPrivateKey:s},t);this.parsedValue.safeContents.push({privacyMode:2,value:f2.fromBER(o)})}break;case cM:{let e=new fL({schema:i.content});uW.assert(n,a,"password");let r=a.password,s=await e.decrypt({password:r},t);this.parsedValue.safeContents.push({privacyMode:1,value:f2.fromBER(s)})}break;default:throw Error(`Unknown "contentType" for AuthenticatedSafe: " ${i.contentType}`)}}}async makeInternalValues(e,t=hr(!0)){if(!this.parsedValue)throw Error('Please run "parseValues" first or add "parsedValue" manually');if(uH.assert(this.parsedValue,"this.parsedValue","object"),uH.assert(this.parsedValue.safeContents,"this.parsedValue.safeContents","Array"),uH.assert(e,"parameters","object"),uW.assert(e,"safeContents"),uH.assert(e.safeContents,"parameters.safeContents","Array"),e.safeContents.length!==this.parsedValue.safeContents.length)throw new uH('Length of "parameters.safeContents" must be equal to "this.parsedValue.safeContents"');for(let[r,i]of(this.safeContents=[],this.parsedValue.safeContents.entries()))switch(uW.assert("content",i,"privacyMode","value"),uH.assert(i.value,"content.value",f2),i.privacyMode){case 0:{let e=i.value.toSchema().toBER(!1);this.safeContents.push(new mR({contentType:"1.2.840.113549.1.7.1",content:new tq({valueHex:e})}))}break;case 1:{let a=new fL,n=e.safeContents[r];n.contentToEncrypt=i.value.toSchema().toBER(!1),await a.encrypt(n,t),this.safeContents.push(new mR({contentType:"1.2.840.113549.1.7.6",content:a.toSchema()}))}break;case 2:{let a=new yK,n=i.value.toSchema().toBER(!1),s=e.safeContents[r];switch(uW.assert(`parameters.safeContents[${r}]`,s,"encryptingCertificate","encryptionAlgorithm"),!0){case"aes-cbc"===s.encryptionAlgorithm.name.toLowerCase():case"aes-gcm"===s.encryptionAlgorithm.name.toLowerCase():break;default:throw Error(`Incorrect parameter "encryptionAlgorithm" in "parameters.safeContents[i]": ${s.encryptionAlgorithm}`)}switch(!0){case 128===s.encryptionAlgorithm.length:case 192===s.encryptionAlgorithm.length:case 256===s.encryptionAlgorithm.length:break;default:throw Error(`Incorrect parameter "encryptionAlgorithm.length" in "parameters.safeContents[i]": ${s.encryptionAlgorithm.length}`)}let o=s.encryptionAlgorithm;a.addRecipientByCertificate(s.encryptingCertificate,{},void 0,t),await a.encrypt(o,n,t),this.safeContents.push(new mR({contentType:"1.2.840.113549.1.7.3",content:a.toSchema()}))}break;default:throw Error(`Incorrect value for "content.privacyMode": ${i.privacyMode}`)}return this}}yW.CLASS_NAME="AuthenticatedSafe";let yJ="hashAlgorithm",yz="issuerNameHash",yZ="issuerKeyHash",yY="serialNumber",yQ=[yJ,yz,yZ,yY];class yX extends uz{static async create(e,t,r=hr(!0)){let i=new yX;return await i.createForCertificate(e,t,r),i}constructor(e={}){super(),this.hashAlgorithm=eQ(e,yJ,yX.defaultValues(yJ)),this.issuerNameHash=eQ(e,yz,yX.defaultValues(yz)),this.issuerKeyHash=eQ(e,yZ,yX.defaultValues(yZ)),this.serialNumber=eQ(e,yY,yX.defaultValues(yY)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case yJ:return new cu;case yz:case yZ:return new tq;case yY:return new tG;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case yJ:return""===t.algorithmId&&"algorithmParams"in t==!1;case yz:case yZ:case yY:return t.isEqual(yX.defaultValues(yY));default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[cu.schema(t.hashAlgorithmObject||{names:{blockName:t.hashAlgorithm||""}}),new tq({name:t.issuerNameHash||""}),new tq({name:t.issuerKeyHash||""}),new tG({name:t.serialNumber||""})]})}fromSchema(e){ta(e,yQ);let t=rv(e,e,yX.schema({names:{hashAlgorithm:yJ,issuerNameHash:yz,issuerKeyHash:yZ,serialNumber:yY}}));uJ.assertSchema(t,this.className),this.hashAlgorithm=new cu({schema:t.result.hashAlgorithm}),this.issuerNameHash=t.result.issuerNameHash,this.issuerKeyHash=t.result.issuerKeyHash,this.serialNumber=t.result.serialNumber}toSchema(){return new tX({value:[this.hashAlgorithm.toSchema(),this.issuerNameHash,this.issuerKeyHash,this.serialNumber]})}toJSON(){return{hashAlgorithm:this.hashAlgorithm.toJSON(),issuerNameHash:this.issuerNameHash.toJSON(),issuerKeyHash:this.issuerKeyHash.toJSON(),serialNumber:this.serialNumber.toJSON()}}isEqual(e){return this.hashAlgorithm.algorithmId===e.hashAlgorithm.algorithmId&&!!eV.isEqual(this.issuerNameHash.valueBlock.valueHexView,e.issuerNameHash.valueBlock.valueHexView)&&!!eV.isEqual(this.issuerKeyHash.valueBlock.valueHexView,e.issuerKeyHash.valueBlock.valueHexView)&&!!this.serialNumber.isEqual(e.serialNumber)}async createForCertificate(e,t,r=hr(!0)){uW.assert(t,yJ,"issuerCertificate");let i=r.getOIDByAlgorithm({name:t.hashAlgorithm},!0,"hashAlgorithm");this.hashAlgorithm=new cu({algorithmId:i,algorithmParams:new tU});let a=t.issuerCertificate;this.serialNumber=e.serialNumber;let n=await r.digest({name:t.hashAlgorithm},a.subject.toSchema().toBER(!1));this.issuerNameHash=new tq({valueHex:n});let s=a.subjectPublicKeyInfo.subjectPublicKey.valueBlock.valueHexView,o=await r.digest({name:t.hashAlgorithm},s);this.issuerKeyHash=new tq({valueHex:o})}}yX.CLASS_NAME="CertID";let y0="certID",y1="certStatus",y2="thisUpdate",y3="nextUpdate",y4="singleExtensions",y6=[y0,y1,y2,y3,y4];class y8 extends uz{constructor(e={}){super(),this.certID=eQ(e,y0,y8.defaultValues(y0)),this.certStatus=eQ(e,y1,y8.defaultValues(y1)),this.thisUpdate=eQ(e,y2,y8.defaultValues(y2)),y3 in e&&(this.nextUpdate=eQ(e,y3,y8.defaultValues(y3))),y4 in e&&(this.singleExtensions=eQ(e,y4,y8.defaultValues(y4))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case y0:return new yX;case y1:return{};case y2:case y3:return new Date(0,0,0);case y4:return[];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case y0:return yX.compareWithDefault("hashAlgorithm",t.hashAlgorithm)&&yX.compareWithDefault("issuerNameHash",t.issuerNameHash)&&yX.compareWithDefault("issuerKeyHash",t.issuerKeyHash)&&yX.compareWithDefault("serialNumber",t.serialNumber);case y1:return 0===Object.keys(t).length;case y2:case y3:return t===y8.defaultValues(e);default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[yX.schema(t.certID||{}),new ry({value:[new t_({name:t.certStatus||"",idBlock:{tagClass:3,tagNumber:0}}),new tO({name:t.certStatus||"",idBlock:{tagClass:3,tagNumber:1},value:[new rc,new tO({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new tH]})]}),new t_({name:t.certStatus||"",idBlock:{tagClass:3,tagNumber:2},lenBlock:{length:1}})]}),new rc({name:t.thisUpdate||""}),new tO({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new rc({name:t.nextUpdate||""})]}),new tO({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[h$.schema(t.singleExtensions||{})]})]})}fromSchema(e){ta(e,y6);let t=rv(e,e,y8.schema({names:{certID:{names:{blockName:y0}},certStatus:y1,thisUpdate:y2,nextUpdate:y3,singleExtensions:{names:{blockName:y4}}}}));uJ.assertSchema(t,this.className),this.certID=new yX({schema:t.result.certID}),this.certStatus=t.result.certStatus,this.thisUpdate=t.result.thisUpdate.toDate(),y3 in t.result&&(this.nextUpdate=t.result.nextUpdate.toDate()),y4 in t.result&&(this.singleExtensions=Array.from(t.result.singleExtensions.valueBlock.value,e=>new hN({schema:e})))}toSchema(){let e=[];return e.push(this.certID.toSchema()),e.push(this.certStatus),e.push(new rc({valueDate:this.thisUpdate})),this.nextUpdate&&e.push(new tO({idBlock:{tagClass:3,tagNumber:0},value:[new rc({valueDate:this.nextUpdate})]})),this.singleExtensions&&e.push(new tO({idBlock:{tagClass:3,tagNumber:1},value:[new tX({value:Array.from(this.singleExtensions,e=>e.toSchema())})]})),new tX({value:e})}toJSON(){let e={certID:this.certID.toJSON(),certStatus:this.certStatus.toJSON(),thisUpdate:this.thisUpdate};return this.nextUpdate&&(e.nextUpdate=this.nextUpdate),this.singleExtensions&&(e.singleExtensions=Array.from(this.singleExtensions,e=>e.toJSON())),e}}y8.CLASS_NAME="SingleResponse";let y5="version",y9="responderID",y7="producedAt",we="responses",wt="responseExtensions",wr="ResponseData",wi=`${wr}.${y5}`,wa=`${wr}.${y9}`,wn=`${wr}.${y7}`,ws=`${wr}.${we}`,wo=`${wr}.${wt}`,wl=[wr,wi,wa,wn,ws,wo];class wu extends uz{get tbs(){return eV.toArrayBuffer(this.tbsView)}set tbs(e){this.tbsView=new Uint8Array(e)}constructor(e={}){super(),this.tbsView=new Uint8Array(eQ(e,"tbs",wu.defaultValues("tbs"))),y5 in e&&(this.version=eQ(e,y5,wu.defaultValues(y5))),this.responderID=eQ(e,y9,wu.defaultValues(y9)),this.producedAt=eQ(e,y7,wu.defaultValues(y7)),this.responses=eQ(e,we,wu.defaultValues(we)),wt in e&&(this.responseExtensions=eQ(e,wt,wu.defaultValues(wt))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case y5:return 0;case"tbs":return uG;case y9:return{};case y7:return new Date(0,0,0);case we:case wt:return[];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case"tbs":return 0===t.byteLength;case y9:return 0===Object.keys(t).length;case y7:return t===wu.defaultValues(e);case we:case wt:return 0===t.length;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||wr,value:[new tO({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new tG({name:t.version||wi})]}),new ry({value:[new tO({name:t.responderID||wa,idBlock:{tagClass:3,tagNumber:1},value:[u2.schema(t.ResponseDataByName||{names:{blockName:"ResponseData.byName"}})]}),new tO({name:t.responderID||wa,idBlock:{tagClass:3,tagNumber:2},value:[new tq({name:t.ResponseDataByKey||"ResponseData.byKey"})]})]}),new rc({name:t.producedAt||wn}),new tX({value:[new rw({name:ws,value:y8.schema(t.response||{})})]}),new tO({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[h$.schema(t.extensions||{names:{blockName:wo}})]})]})}fromSchema(e){ta(e,wl);let t=rv(e,e,wu.schema());uJ.assertSchema(t,this.className),this.tbsView=t.result.ResponseData.valueBeforeDecodeView,wi in t.result&&(this.version=t.result[wi].valueBlock.valueDec),1===t.result[wa].idBlock.tagNumber?this.responderID=new u2({schema:t.result[wa].valueBlock.value[0]}):this.responderID=t.result[wa].valueBlock.value[0],this.producedAt=t.result[wn].toDate(),this.responses=Array.from(t.result[ws],e=>new y8({schema:e})),wo in t.result&&(this.responseExtensions=Array.from(t.result[wo].valueBlock.value,e=>new hN({schema:e})))}toSchema(e=!1){let t;if(!1===e){if(!this.tbsView.byteLength)return wu.schema();let e=tD(this.tbsView);uJ.assert(e,"TBS Response Data"),t=e.result}else{let e=[];y5 in this&&e.push(new tO({idBlock:{tagClass:3,tagNumber:0},value:[new tG({value:this.version})]})),this.responderID instanceof u2?e.push(new tO({idBlock:{tagClass:3,tagNumber:1},value:[this.responderID.toSchema()]})):e.push(new tO({idBlock:{tagClass:3,tagNumber:2},value:[this.responderID]})),e.push(new rc({valueDate:this.producedAt})),e.push(new tX({value:Array.from(this.responses,e=>e.toSchema())})),this.responseExtensions&&e.push(new tO({idBlock:{tagClass:3,tagNumber:1},value:[new tX({value:Array.from(this.responseExtensions,e=>e.toSchema())})]})),t=new tX({value:e})}return t}toJSON(){let e={};return y5 in this&&(e.version=this.version),this.responderID&&(e.responderID=this.responderID),this.producedAt&&(e.producedAt=this.producedAt),this.responses&&(e.responses=Array.from(this.responses,e=>e.toJSON())),this.responseExtensions&&(e.responseExtensions=Array.from(this.responseExtensions,e=>e.toJSON())),e}}wu.CLASS_NAME="ResponseData";let wc="trustedCerts",wd="certs",wp="crls",wh="ocsps",wm="checkDate",wf="findOrigin",wg="findIssuer";(b=eL||(eL={}))[b.unknown=-1]="unknown",b[b.success=0]="success",b[b.noRevocation=11]="noRevocation",b[b.noPath=60]="noPath",b[b.noValidPath=97]="noValidPath";class wy extends Error{constructor(e,t){super(t),this.name=wy.NAME,this.code=e,this.message=t}}wy.NAME="ChainValidationError";class ww{constructor(e={}){this.trustedCerts=eQ(e,wc,this.defaultValues(wc)),this.certs=eQ(e,wd,this.defaultValues(wd)),this.crls=eQ(e,wp,this.defaultValues(wp)),this.ocsps=eQ(e,wh,this.defaultValues(wh)),this.checkDate=eQ(e,wm,this.defaultValues(wm)),this.findOrigin=eQ(e,wf,this.defaultValues(wf)),this.findIssuer=eQ(e,wg,this.defaultValues(wg))}static defaultFindOrigin(e,t){for(let r of(0===e.tbsView.byteLength&&(e.tbsView=new Uint8Array(e.encodeTBS().toBER())),t.certs))if(0===r.tbsView.byteLength&&(r.tbsView=new Uint8Array(r.encodeTBS().toBER())),eV.isEqual(e.tbsView,r.tbsView))return"Intermediate Certificates";for(let r of t.trustedCerts)if(0===r.tbsView.byteLength&&(r.tbsView=new Uint8Array(r.encodeTBS().toBER())),eV.isEqual(e.tbsView,r.tbsView))return"Trusted Certificates";return"Unknown"}async defaultFindIssuer(e,t,r=hr(!0)){let i=[],a=null,n=null,s=null;if(e.subject.isEqual(e.issuer))try{if(await e.verify(void 0,r))return[e]}catch{}if(e.extensions){for(let t of e.extensions)if(t.extnID===c$&&t.parsedValue instanceof cZ){t.parsedValue.keyIdentifier?a=t.parsedValue.keyIdentifier:(t.parsedValue.authorityCertIssuer&&(n=t.parsedValue.authorityCertIssuer),t.parsedValue.authorityCertSerialNumber&&(s=t.parsedValue.authorityCertSerialNumber));break}}function o(t){if(null!==a&&t.extensions){let e=!1;for(let r of t.extensions)if("2.5.29.14"===r.extnID&&r.parsedValue){e=!0,eV.isEqual(r.parsedValue.valueBlock.valueHex,a.valueBlock.valueHexView)&&i.push(t);break}if(e)return}let r=!1;null!==s&&(r=t.serialNumber.isEqual(s)),null!==n?t.subject.isEqual(n)&&r&&i.push(t):e.issuer.isEqual(t.subject)&&i.push(t)}for(let e of t.trustedCerts)o(e);for(let e of t.certs)o(e);for(let t=i.length-1;t>=0;t--)try{let a=await e.verify(i[t],r);!1===a&&i.splice(t,1)}catch{i.splice(t,1)}return i}defaultValues(e){switch(e){case wc:case wd:case wp:case wh:return[];case wm:return new Date;case wf:return ww.defaultFindOrigin;case wg:return this.defaultFindIssuer;default:throw Error(`Invalid member name for CertificateChainValidationEngine class: ${e}`)}}async sort(e=!1,t=hr(!0)){let r,i=[],a=async(e,t)=>{let r=[];if(function(e,t){for(let r=0;r<t.length;r++)if(eV.isEqual(e.tbsView,t[r].tbsView))return!0;return!1}(e,this.trustedCerts))return[[e]];let i=await this.findIssuer(e,this,t);if(0===i.length)throw Error("No valid certificate paths found");for(let n=0;n<i.length;n++){if(eV.isEqual(i[n].tbsView,e.tbsView)){r.push([i[n]]);continue}let s=await a(i[n],t);for(let e=0;e<s.length;e++){let t=s[e].slice();t.splice(0,0,i[n]),function(e){let t=!0;for(let r=0;r<e.length;r++){for(let i=0;i<e.length;i++)if(i!==r&&e[r]===e[i]){t=!1;break}if(!t)break}return t}(t)?r.push(t):r.push(s[e])}}return r},n=async e=>{let r=[],a=[],n=[];if(r.push(...i.filter(t=>e.issuer.isEqual(t.subject))),0===r.length)return{status:1,statusMessage:"No certificate's issuers"};if(a.push(...this.crls.filter(t=>t.issuer.isEqual(e.issuer))),0===a.length)return{status:2,statusMessage:"No CRLs for specific certificate issuer"};for(let e=0;e<a.length;e++){let i=a[e];if(!i.nextUpdate||!(i.nextUpdate.value<this.checkDate))for(let i=0;i<r.length;i++)try{if(await a[e].verify({issuerCertificate:r[i]},t)){n.push({crl:a[e],certificate:r[i]});break}}catch{}}return n.length?{status:0,statusMessage:"",result:n}:{status:3,statusMessage:"No valid CRLs found"}},s=async(e,r)=>{let i=t.getAlgorithmByOID(e.signatureAlgorithm.algorithmId);if(!i.name||!i.hash)return 1;for(let i=0;i<this.ocsps.length;i++){let a=this.ocsps[i],n=await a.getCertificateStatus(e,r,t);if(n.isForCertificate){if(0===n.status)return 0;return 1}}return 2};async function o(e,t=!1){let r=!1,i=!1,a=!1,n=!1;if(e.extensions){for(let t=0;t<e.extensions.length;t++){let s=e.extensions[t];if(s.critical&&!s.parsedValue)return{result:!1,resultCode:6,resultMessage:`Unable to parse critical certificate extension: ${s.extnID}`};if("2.5.29.15"===s.extnID){a=!0;let e=new Uint8Array(s.parsedValue.valueBlock.valueHex);(4&e[0])==4&&(i=!0),(2&e[0])==2&&(n=!0)}s.extnID===cA&&"cA"in s.parsedValue&&!0===s.parsedValue.cA&&(r=!0)}if(!0===i&&!1===r)return{result:!1,resultCode:3,resultMessage:'Unable to build certificate chain - using "keyCertSign" flag set without BasicConstraints'};if(!0===a&&!0===r&&!1===i)return{result:!1,resultCode:4,resultMessage:'Unable to build certificate chain - "keyCertSign" flag was not set'};if(!0===r&&!0===a&&t&&!1===n)return{result:!1,resultCode:5,resultMessage:'Unable to build certificate chain - intermediate certificate must have "cRLSign" key usage flag'}}return!1===r?{result:!1,resultCode:7,resultMessage:"Unable to build certificate chain - more than one possible end-user certificate"}:{result:!0,resultCode:0,resultMessage:""}}let l=async(t,r)=>{for(let e=0;e<t.length;e++)if(t[e].notBefore.value>r||t[e].notAfter.value<r)return{result:!1,resultCode:8,resultMessage:"The certificate is either not yet valid or expired"};if(t.length<2)return{result:!1,resultCode:9,resultMessage:"Too short certificate path"};for(let e=t.length-2;e>=0;e--)if(!1===t[e].issuer.isEqual(t[e].subject)&&!1===t[e].issuer.isEqual(t[e+1].subject))return{result:!1,resultCode:10,resultMessage:"Incorrect name chaining"};if(0!==this.crls.length||0!==this.ocsps.length)for(let r=0;r<t.length-1;r++){let i=2,a={status:0,statusMessage:""};if(0!==this.ocsps.length)switch(i=await s(t[r],t[r+1])){case 0:continue;case 1:return{result:!1,resultCode:12,resultMessage:"One of certificates was revoked via OCSP response"}}if(0!==this.crls.length){if(0===(a=await n(t[r])).status&&a.result)for(let e=0;e<a.result.length;e++){if(a.result[e].crl.isCertificateRevoked(t[r]))return{result:!1,resultCode:12,resultMessage:"One of certificates had been revoked"};if(!1===(await o(a.result[e].certificate,!0)).result)return{result:!1,resultCode:13,resultMessage:"CRL issuer certificate is not a CA certificate or does not have crlSign flag"}}else if(!1===e)throw new wy(eL.noRevocation,`No revocation values found for one of certificates: ${a.statusMessage}`)}else if(2===i)return{result:!1,resultCode:11,resultMessage:"No revocation values found for one of certificates"};if(2===i&&2===a.status&&e){let e=t[r+1],i=!1;if(e.extensions)for(let t of e.extensions)switch(t.extnID){case cT:case cD:case cB:i=!0}if(i)throw new wy(eL.noRevocation,`No revocation values found for one of certificates: ${a.statusMessage}`)}}for(let[e,r]of t.entries())if(e&&!(await o(r)).result)return{result:!1,resultCode:14,resultMessage:"One of intermediate certificates is not a CA certificate"};return{result:!0}};i.push(...this.trustedCerts),i.push(...this.certs);for(let e=0;e<i.length;e++)for(let t=0;t<i.length;t++)if(e!==t&&eV.isEqual(i[e].tbsView,i[t].tbsView)){i.splice(t,1),e=0;break}let u=i[i.length-1],c=[u];if(0===(r=await a(u,t)).length)throw new wy(eL.noPath,"Unable to find certificate path");for(let e=r.length-1;e>=0;e--){let t=!1;for(let i=0;i<r[e].length;i++){let a=r[e][i];for(let e=0;e<this.trustedCerts.length;e++)if(eV.isEqual(a.tbsView,this.trustedCerts[e].tbsView)){t=!0;break}if(t)break}t||r.splice(e,1)}if(0===r.length)throw new wy(eL.noValidPath,"No valid certificate paths found");let d=r[0].length,p=0;for(let e=0;e<r.length;e++)r[e].length<d&&(d=r[e].length,p=e);for(let e=0;e<r[p].length;e++)c.push(r[p][e]);if(!1===(r=await l(c,this.checkDate)).result)throw r;return c}async verify(e={},t=hr(!0)){function r(e,t){let r=uZ(e),i=uZ(t),a=r.split("."),n=i.split("."),s=a.length,o=n.length;if(0===s||0===o||s<o)return!1;for(let e=0;e<s;e++)if(0===a[e].length)return!1;for(let e=0;e<o;e++)if(0===n[e].length){if(0===e){if(1===o)return!1;continue}return!1}for(let e=0;e<o;e++)if(0!==n[o-1-e].length&&0!==a[s-1-e].localeCompare(n[o-1-e]))return!1;return!0}function i(e,t){let i=uZ(e),a=uZ(t),n=i.split("@"),s=a.split("@");if(0===n.length||0===s.length||n.length<s.length)return!1;if(1===s.length){if(r(n[1],s[0])){let e=n[1].split("."),t=s[0].split(".");return 0===t[0].length||e.length===t.length}return!1}return 0===i.localeCompare(a)}function a(e,t){let i=uZ(e),a=uZ(t),n=i.split("/");if(a.split("/").length>1)return!1;if(n.length>1){for(let e=0;e<n.length;e++)if(n[e].length>0&&":"!==n[e].charAt(n[e].length-1)){i=n[e].split(":")[0];break}}if(r(i,a)){let e=i.split("."),t=a.split(".");return 0===t[0].length||e.length===t.length}return!1}function n(e,t){let r=e.valueBlock.valueHexView,i=t.valueBlock.valueHexView;if(4===r.length&&8===i.length){for(let e=0;e<4;e++)if((r[e]^i[e])&i[e+4])return!1;return!0}if(16===r.length&&32===i.length){for(let e=0;e<16;e++)if((r[e]^i[e])&i[e+16])return!1;return!0}return!1}function s(e,t){if(0===e.typesAndValues.length||0===t.typesAndValues.length)return!0;if(e.typesAndValues.length<t.typesAndValues.length)return!1;let r=!0,i=0;for(let a=0;a<t.typesAndValues.length;a++){let n=!1;for(let s=i;s<e.typesAndValues.length;s++)if(n=e.typesAndValues[s].isEqual(t.typesAndValues[a]),e.typesAndValues[s].type===t.typesAndValues[a].type&&(r=r&&n),!0===n)if(0!==i&&i!==s)return!1;else{i=s+1;break}if(!1===n)return!1}return 0!==i&&r}try{if(0===this.certs.length)throw Error("Empty certificate array");let o=e.passedWhenNotRevValues||!1,l=e.initialPolicySet||[cO],u=e.initialExplicitPolicy||!1,c=e.initialPolicyMappingInhibit||!1,d=e.initialInhibitPolicy||!1,p=e.initialPermittedSubtreesSet||[],h=e.initialExcludedSubtreesSet||[],m=e.initialRequiredNameForms||[],f=u,g=c,y=d,w=[!1,!1,!1],b=0,v=0,k=0,S=p,E=h,I=1;this.certs=await this.sort(o,t);let x=[];x.push(cO);let A=[],_=Array(this.certs.length-1);for(let e=0;e<this.certs.length-1;e++)_[e]=!0;A.push(_);let C=Array(this.certs.length-1),R=Array(this.certs.length-1),T=f?this.certs.length-1:-1;for(let e=this.certs.length-2;e>=0;e--,I++){let t=this.certs[e];if(t.extensions){for(let r=0;r<t.extensions.length;r++){let i=t.extensions[r];if(i.extnID===cN){R[e]=i.parsedValue;for(let t=0;t<x.length;t++)if(x[t]===cO){delete A[t][e];break}for(let t=0;t<i.parsedValue.certificatePolicies.length;t++){let r=-1,a=i.parsedValue.certificatePolicies[t].policyIdentifier;for(let e=0;e<x.length;e++)if(a===x[e]){r=e;break}if(-1===r){x.push(a);let t=Array(this.certs.length-1);t[e]=!0,A.push(t)}else A[r][e]=!0}}if(i.extnID===cP){if(g)return{result:!1,resultCode:98,resultMessage:"Policy mapping prohibited"};C[e]=i.parsedValue}i.extnID===cU&&!1===f&&(0===i.parsedValue.requireExplicitPolicy?(f=!0,T=e):!1===w[0]?(w[0]=!0,b=i.parsedValue.requireExplicitPolicy):b=b>i.parsedValue.requireExplicitPolicy?i.parsedValue.requireExplicitPolicy:b,0===i.parsedValue.inhibitPolicyMapping?g=!0:!1===w[1]?(w[1]=!0,v=i.parsedValue.inhibitPolicyMapping+1):v=v>i.parsedValue.inhibitPolicyMapping+1?i.parsedValue.inhibitPolicyMapping+1:v),"2.5.29.54"===i.extnID&&!1===y&&(0===i.parsedValue.valueBlock.valueDec?y=!0:!1===w[2]?(w[2]=!0,k=i.parsedValue.valueBlock.valueDec):k=k>i.parsedValue.valueBlock.valueDec?i.parsedValue.valueBlock.valueDec:k)}if(!0===y){let t=-1;for(let e=0;e<x.length;e++)if(x[e]===cO){t=e;break}-1!==t&&delete A[0][e]}!1===f&&!0===w[0]&&(b--,0===b&&(f=!0,T=e,w[0]=!1)),!1===g&&!0===w[1]&&(v--,0===v&&(g=!0,w[1]=!1)),!1===y&&!0===w[2]&&(k--,0===k&&(y=!0,w[2]=!1))}}for(let e=0;e<this.certs.length-1;e++)if(e<this.certs.length-2&&void 0!==C[e+1])for(let t=0;t<C[e+1].mappings.length;t++){if(C[e+1].mappings[t].issuerDomainPolicy===cO||C[e+1].mappings[t].subjectDomainPolicy===cO)return{result:!1,resultCode:99,resultMessage:'The "anyPolicy" should not be a part of policy mapping scheme'};let r=-1,i=-1;for(let a=0;a<x.length;a++)x[a]===C[e+1].mappings[t].issuerDomainPolicy&&(r=a),x[a]===C[e+1].mappings[t].subjectDomainPolicy&&(i=a);void 0!==A[r][e]&&delete A[r][e];for(let a=0;a<R[e].certificatePolicies.length;a++)if(C[e+1].mappings[t].subjectDomainPolicy===R[e].certificatePolicies[a].policyIdentifier&&-1!==r&&-1!==i)for(let t=0;t<=e;t++)void 0!==A[i][t]&&(A[r][t]=!0,delete A[i][t])}for(let e=0;e<x.length;e++)if(x[e]===cO)for(let t=0;t<T;t++)delete A[e][t];let D=[];for(let e=0;e<A.length;e++){let t=!0;for(let r=0;r<this.certs.length-1;r++){let i=!1;if(r<T&&x[e]===cO&&x.length>1){t=!1;break}if(void 0===A[e][r]){if(r>=T){for(let e=0;e<x.length;e++)if(x[e]===cO){!0===A[e][r]&&(i=!0);break}}if(!i){t=!1;break}}}!0===t&&D.push(x[e])}let N=[];if(1===l.length&&l[0]===cO&&!1===f)N=l;else if(1===D.length&&D[0]===cO)N=l;else for(let e=0;e<D.length;e++)for(let t=0;t<l.length;t++)if(l[t]===D[e]||l[t]===cO){N.push(D[e]);break}let O={result:N.length>0,resultCode:0,resultMessage:N.length>0?"":'Zero "userConstrPolicies" array, no intersections with "authConstrPolicies"',authConstrPolicies:D,userConstrPolicies:N,explicitPolicyIndicator:f,policyMappings:C,certificatePath:this.certs};if(0===N.length||!1===O.result)return O;I=1;for(let e=this.certs.length-2;e>=0;e--,I++){let t=this.certs[e],o=[],l=[],u=[];if(t.extensions)for(let e=0;e<t.extensions.length;e++){let r=t.extensions[e];r.extnID===cR&&("permittedSubtrees"in r.parsedValue&&(l=l.concat(r.parsedValue.permittedSubtrees)),"excludedSubtrees"in r.parsedValue&&(u=u.concat(r.parsedValue.excludedSubtrees))),r.extnID===cI&&(o=o.concat(r.parsedValue.altNames))}let c=m.length<=0;for(let e=0;e<m.length;e++)if(4===m[e].base.type){if(m[e].base.value.typesAndValues.length!==t.subject.typesAndValues.length)continue;c=!0;for(let r=0;r<t.subject.typesAndValues.length;r++)if(t.subject.typesAndValues[r].type!==m[e].base.value.typesAndValues[r].type){c=!1;break}}if(!1===c)throw O.result=!1,O.resultCode=21,O.resultMessage="No necessary name form found",O;let d=[[],[],[],[],[]];for(let e=0;e<S.length;e++)switch(S[e].base.type){case 1:d[0].push(S[e]);break;case 2:d[1].push(S[e]);break;case 4:d[2].push(S[e]);break;case 6:d[3].push(S[e]);break;case 7:d[4].push(S[e])}for(let e=0;e<5;e++){let l=!1,u=!1,c=d[e];for(let d=0;d<c.length;d++){switch(e){case 0:if(o.length>0)for(let e=0;e<o.length;e++)1===o[e].type&&(u=!0,l=l||i(o[e].value,c[d].base.value));else for(let e=0;e<t.subject.typesAndValues.length;e++)("1.2.840.113549.1.9.1"===t.subject.typesAndValues[e].type||"0.9.2342.19200300.100.1.3"===t.subject.typesAndValues[e].type)&&(u=!0,l=l||i(t.subject.typesAndValues[e].value.valueBlock.value,c[d].base.value));break;case 1:if(o.length>0)for(let e=0;e<o.length;e++)2===o[e].type&&(u=!0,l=l||r(o[e].value,c[d].base.value));break;case 2:u=!0,l=s(t.subject,c[d].base.value);break;case 3:if(o.length>0)for(let e=0;e<o.length;e++)6===o[e].type&&(u=!0,l=l||a(o[e].value,c[d].base.value));break;case 4:if(o.length>0)for(let e=0;e<o.length;e++)7===o[e].type&&(u=!0,l=l||n(o[e].value,c[d].base.value))}if(l)break}if(!1===l&&c.length>0&&u)throw O.result=!1,O.resultCode=41,O.resultMessage='Failed to meet "permitted sub-trees" name constraint',O}let p=!1;for(let e=0;e<E.length;e++){switch(E[e].base.type){case 1:if(o.length>=0)for(let t=0;t<o.length;t++)1===o[t].type&&(p=p||i(o[t].value,E[e].base.value));else for(let r=0;r<t.subject.typesAndValues.length;r++)("1.2.840.113549.1.9.1"===t.subject.typesAndValues[r].type||"0.9.2342.19200300.100.1.3"===t.subject.typesAndValues[r].type)&&(p=p||i(t.subject.typesAndValues[r].value.valueBlock.value,E[e].base.value));break;case 2:if(o.length>0)for(let t=0;t<o.length;t++)2===o[t].type&&(p=p||r(o[t].value,E[e].base.value));break;case 4:p=p||s(t.subject,E[e].base.value);break;case 6:if(o.length>0)for(let t=0;t<o.length;t++)6===o[t].type&&(p=p||a(o[t].value,E[e].base.value));break;case 7:if(o.length>0)for(let t=0;t<o.length;t++)7===o[t].type&&(p=p||n(o[t].value,E[e].base.value))}if(p)break}if(!0===p)throw O.result=!1,O.resultCode=42,O.resultMessage='Failed to meet "excluded sub-trees" name constraint',O;S=S.concat(l),E=E.concat(u)}return O}catch(e){if(e instanceof Error){if(e instanceof wy)return{result:!1,resultCode:e.code,resultMessage:e.message,error:e};return{result:!1,resultCode:eL.unknown,resultMessage:e.message,error:e}}if(e&&"object"==typeof e&&"resultMessage"in e)return e;return{result:!1,resultCode:-1,resultMessage:`${e}`}}}}let wb="tbsResponseData",wv="signatureAlgorithm",wk="signature",wS="certs",wE="BasicOCSPResponse",wI=`${wE}.${wb}`,wx=`${wE}.${wv}`,wA=`${wE}.${wk}`,w_=`${wE}.${wS}`,wC=[wI,wx,wA,w_];class wR extends uz{constructor(e={}){super(),this.tbsResponseData=eQ(e,wb,wR.defaultValues(wb)),this.signatureAlgorithm=eQ(e,wv,wR.defaultValues(wv)),this.signature=eQ(e,wk,wR.defaultValues(wk)),wS in e&&(this.certs=eQ(e,wS,wR.defaultValues(wS))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case wb:return new wu;case wv:return new cu;case wk:return new tF;case wS:return[];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case"type":{let e=wu.compareWithDefault("tbs",t.tbs)&&wu.compareWithDefault("responderID",t.responderID)&&wu.compareWithDefault("producedAt",t.producedAt)&&wu.compareWithDefault("responses",t.responses);return"responseExtensions"in t&&(e=e&&wu.compareWithDefault("responseExtensions",t.responseExtensions)),e}case wv:return""===t.algorithmId&&"algorithmParams"in t==!1;case wk:return t.isEqual(wR.defaultValues(e));case wS:return 0===t.length;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||wE,value:[wu.schema(t.tbsResponseData||{names:{blockName:wI}}),cu.schema(t.signatureAlgorithm||{names:{blockName:wx}}),new tF({name:t.signature||wA}),new tO({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new tX({value:[new rw({name:w_,value:m9.schema(t.certs||{})})]})]})]})}fromSchema(e){ta(e,wC);let t=rv(e,e,wR.schema());uJ.assertSchema(t,this.className),this.tbsResponseData=new wu({schema:t.result[wI]}),this.signatureAlgorithm=new cu({schema:t.result[wx]}),this.signature=t.result[wA],w_ in t.result&&(this.certs=Array.from(t.result[w_],e=>new m9({schema:e})))}toSchema(){let e=[];return e.push(this.tbsResponseData.toSchema()),e.push(this.signatureAlgorithm.toSchema()),e.push(this.signature),this.certs&&e.push(new tO({idBlock:{tagClass:3,tagNumber:0},value:[new tX({value:Array.from(this.certs,e=>e.toSchema())})]})),new tX({value:e})}toJSON(){let e={tbsResponseData:this.tbsResponseData.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signature:this.signature.toJSON()};return this.certs&&(e.certs=Array.from(this.certs,e=>e.toJSON())),e}async getCertificateStatus(e,t,r=hr(!0)){let i={isForCertificate:!1,status:2},a={},n=[];for(let i of this.tbsResponseData.responses){let s=r.getAlgorithmByOID(i.certID.hashAlgorithm.algorithmId,!0,"CertID.hashAlgorithm");if(!a[s.name]){a[s.name]=1;let i=new yX;n.push(i),await i.createForCertificate(e,{hashAlgorithm:s.name,issuerCertificate:t},r)}}for(let e of this.tbsResponseData.responses)for(let t of n)if(e.certID.isEqual(t)){i.isForCertificate=!0;try{switch(e.certStatus.idBlock.isConstructed){case!0:1===e.certStatus.idBlock.tagNumber&&(i.status=1);break;case!1:switch(e.certStatus.idBlock.tagNumber){case 0:i.status=0;break;case 2:i.status=2}}}catch{}return i}return i}async sign(e,t="SHA-1",r=hr(!0)){if(!e)throw Error("Need to provide a private key for signing");let i=await r.getSignatureParameters(e,t),a=i.parameters.algorithm;if(!("name"in a))throw Error("Empty algorithm");this.signatureAlgorithm=i.signatureAlgorithm,this.tbsResponseData.tbsView=new Uint8Array(this.tbsResponseData.toSchema(!0).toBER());let n=await r.signWithPrivateKey(this.tbsResponseData.tbsView,e,{algorithm:a});this.signature=new tF({valueHex:n})}async verify(e={},t=hr(!0)){let r=null,i=-1,a=e.trustedCerts||[];if(!this.certs)throw Error("No certificates attached to the BasicOCSPResponse");switch(!0){case this.tbsResponseData.responderID instanceof u2:for(let[e,t]of this.certs.entries())if(t.subject.isEqual(this.tbsResponseData.responderID)){i=e;break}break;case this.tbsResponseData.responderID instanceof tq:for(let[e,r]of this.certs.entries())if(e6(await t.digest({name:"sha-1"},r.subjectPublicKeyInfo.subjectPublicKey.valueBlock.valueHexView),this.tbsResponseData.responderID.valueBlock.valueHex)){i=e;break}break;default:throw Error("Wrong value for responderID")}if(-1===i)throw Error("Correct certificate was not found in OCSP response");let n=[r=this.certs[i]];for(let e of this.certs){let t=await m7(e,r);t&&n.push(t)}let s=new ww({certs:n,trustedCerts:a});if(!(await s.verify({},t)).result)throw Error("Validation of signer's certificate failed");return t.verifyWithPublicKey(this.tbsResponseData.tbsView,this.signature,this.certs[i].subjectPublicKeyInfo,this.signatureAlgorithm)}}wR.CLASS_NAME="BasicOCSPResponse";let wT="version",wD="subject",wN="subjectPublicKeyInfo",wO="attributes",wP="signatureAlgorithm",w$="signatureValue",wU="CertificationRequestInfo",wB=`${wU}.version`,wj=`${wU}.subject`,wL=`${wU}.subjectPublicKeyInfo`,wq=`${wU}.attributes`,wM=[wU,wB,wj,wL,wq,wP,w$];class wF extends uz{get tbs(){return eV.toArrayBuffer(this.tbsView)}set tbs(e){this.tbsView=new Uint8Array(e)}constructor(e={}){super(),this.tbsView=new Uint8Array(eQ(e,"tbs",wF.defaultValues("tbs"))),this.version=eQ(e,wT,wF.defaultValues(wT)),this.subject=eQ(e,wD,wF.defaultValues(wD)),this.subjectPublicKeyInfo=eQ(e,wN,wF.defaultValues(wN)),wO in e&&(this.attributes=eQ(e,wO,wF.defaultValues(wO))),this.signatureAlgorithm=eQ(e,wP,wF.defaultValues(wP)),this.signatureValue=eQ(e,w$,wF.defaultValues(w$)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case"tbs":return uG;case wT:return 0;case wD:return new u2;case wN:return new pu;case wO:return[];case wP:return new cu;case w$:return new tF;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({value:[function(e={}){let t=eQ(e,"names",{});return new tX({name:t.CertificationRequestInfo||wU,value:[new tG({name:t.CertificationRequestInfoVersion||wB}),u2.schema(t.subject||{names:{blockName:wj}}),pu.schema({names:{blockName:wL}}),new tO({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new rw({optional:!0,name:t.CertificationRequestInfoAttributes||wq,value:cg.schema(t.attributes||{})})]})]})}(t.certificationRequestInfo||{}),new tX({name:t.signatureAlgorithm||wP,value:[new tz,new rg({optional:!0})]}),new tF({name:t.signatureValue||w$})]})}fromSchema(e){ta(e,wM);let t=rv(e,e,wF.schema());uJ.assertSchema(t,this.className),this.tbsView=t.result.CertificationRequestInfo.valueBeforeDecodeView,this.version=t.result[wB].valueBlock.valueDec,this.subject=new u2({schema:t.result[wj]}),this.subjectPublicKeyInfo=new pu({schema:t.result[wL]}),wq in t.result&&(this.attributes=Array.from(t.result[wq],e=>new cg({schema:e}))),this.signatureAlgorithm=new cu({schema:t.result.signatureAlgorithm}),this.signatureValue=t.result.signatureValue}encodeTBS(){let e=[new tG({value:this.version}),this.subject.toSchema(),this.subjectPublicKeyInfo.toSchema()];return wO in this&&e.push(new tO({idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.attributes||[],e=>e.toSchema())})),new tX({value:e})}toSchema(e=!1){let t;if(!1===e){if(0===this.tbsView.byteLength)return wF.schema();let e=tD(this.tbsView);uJ.assert(e,"PKCS#10 Certificate Request"),t=e.result}else t=this.encodeTBS();return new tX({value:[t,this.signatureAlgorithm.toSchema(),this.signatureValue]})}toJSON(){let e={tbs:eY.ToHex(this.tbsView),version:this.version,subject:this.subject.toJSON(),subjectPublicKeyInfo:this.subjectPublicKeyInfo.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signatureValue:this.signatureValue.toJSON()};return wO in this&&(e.attributes=Array.from(this.attributes||[],e=>e.toJSON())),e}async sign(e,t="SHA-1",r=hr(!0)){if(!e)throw Error("Need to provide a private key for signing");let i=await r.getSignatureParameters(e,t),a=i.parameters;this.signatureAlgorithm=i.signatureAlgorithm,this.tbsView=new Uint8Array(this.encodeTBS().toBER());let n=await r.signWithPrivateKey(this.tbsView,e,a);this.signatureValue=new tF({valueHex:n})}async verify(e=hr(!0)){return e.verifyWithPublicKey(this.tbsView,this.signatureValue,this.subjectPublicKeyInfo,this.signatureAlgorithm)}async getPublicKey(e,t=hr(!0)){return t.getPublicKey(this.subjectPublicKeyInfo,this.signatureAlgorithm,e)}}wF.CLASS_NAME="CertificationRequest";let wK="digestAlgorithm",wV="digest",wG=[wK,wV];class wH extends uz{constructor(e={}){super(),this.digestAlgorithm=eQ(e,wK,wH.defaultValues(wK)),this.digest=eQ(e,wV,wH.defaultValues(wV)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case wK:return new cu;case wV:return new tq;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case wK:return cu.compareWithDefault("algorithmId",t.algorithmId)&&"algorithmParams"in t==!1;case wV:return t.isEqual(wH.defaultValues(e));default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[cu.schema(t.digestAlgorithm||{names:{blockName:wK}}),new tq({name:t.digest||wV})]})}fromSchema(e){ta(e,wG);let t=rv(e,e,wH.schema({names:{digestAlgorithm:{names:{blockName:wK}},digest:wV}}));uJ.assertSchema(t,this.className),this.digestAlgorithm=new cu({schema:t.result.digestAlgorithm}),this.digest=t.result.digest}toSchema(){return new tX({value:[this.digestAlgorithm.toSchema(),this.digest]})}toJSON(){return{digestAlgorithm:this.digestAlgorithm.toJSON(),digest:this.digest.toJSON()}}}wH.CLASS_NAME="DigestInfo";let wW="eContentType",wJ="eContent",wz=[wW,wJ];class wZ extends uz{constructor(e={}){if(super(),this.eContentType=eQ(e,wW,wZ.defaultValues(wW)),wJ in e&&(this.eContent=eQ(e,wJ,wZ.defaultValues(wJ)),1===this.eContent.idBlock.tagClass&&4===this.eContent.idBlock.tagNumber&&!1===this.eContent.idBlock.isConstructed)){const e=new tq({idBlock:{isConstructed:!0},isConstructed:!0});let t=0;const r=this.eContent.valueBlock.valueHexView.slice().buffer;let i=r.byteLength;for(;i>0;){const a=new Uint8Array(r,t,t+65536>r.byteLength?r.byteLength-t:65536),n=new ArrayBuffer(a.length),s=new Uint8Array(n);for(let e=0;e<s.length;e++)s[e]=a[e];e.valueBlock.value.push(new tq({valueHex:n})),i-=a.length,t+=a.length}this.eContent=e}e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case wW:return"";case wJ:return new tq;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case wW:return""===t;case wJ:if(1===t.idBlock.tagClass&&4===t.idBlock.tagNumber)return t.isEqual(wZ.defaultValues(wJ));return!1;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tz({name:t.eContentType||""}),new tO({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new rg({name:t.eContent||""})]})]})}fromSchema(e){ta(e,wz);let t=rv(e,e,wZ.schema({names:{eContentType:wW,eContent:wJ}}));uJ.assertSchema(t,this.className),this.eContentType=t.result.eContentType.valueBlock.toString(),wJ in t.result&&(this.eContent=t.result.eContent)}toSchema(){let e=[];return e.push(new tz({value:this.eContentType})),this.eContent&&!1===wZ.compareWithDefault(wJ,this.eContent)&&e.push(new tO({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[this.eContent]})),new tX({value:e})}toJSON(){let e={eContentType:this.eContentType};return this.eContent&&!1===wZ.compareWithDefault(wJ,this.eContent)&&(e.eContent=this.eContent.toJSON()),e}}wZ.CLASS_NAME="EncapsulatedContentInfo";let wY="macSalt",wQ="iterations",wX=["mac",wY,wQ];class w0 extends uz{constructor(e={}){super(),this.mac=eQ(e,"mac",w0.defaultValues("mac")),this.macSalt=eQ(e,wY,w0.defaultValues(wY)),wQ in e&&(this.iterations=eQ(e,wQ,w0.defaultValues(wQ))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case"mac":return new wH;case wY:return new tq;case wQ:return 1;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case"mac":return wH.compareWithDefault("digestAlgorithm",t.digestAlgorithm)&&wH.compareWithDefault("digest",t.digest);case wY:return t.isEqual(w0.defaultValues(e));case wQ:return t===w0.defaultValues(e);default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",optional:t.optional||!0,value:[wH.schema(t.mac||{names:{blockName:"mac"}}),new tq({name:t.macSalt||wY}),new tG({optional:!0,name:t.iterations||wQ})]})}fromSchema(e){ta(e,wX);let t=rv(e,e,w0.schema({names:{mac:{names:{blockName:"mac"}},macSalt:wY,iterations:wQ}}));uJ.assertSchema(t,this.className),this.mac=new wH({schema:t.result.mac}),this.macSalt=t.result.macSalt,wQ in t.result&&(this.iterations=t.result.iterations.valueBlock.valueDec)}toSchema(){let e=[this.mac.toSchema(),this.macSalt];return void 0!==this.iterations&&e.push(new tG({value:this.iterations})),new tX({value:e})}toJSON(){let e={mac:this.mac.toJSON(),macSalt:this.macSalt.toJSON()};return void 0!==this.iterations&&(e.iterations=this.iterations),e}}w0.CLASS_NAME="MacData";let w1="hashAlgorithm",w2="hashedMessage",w3=[w1,w2];class w4 extends uz{static async create(e,t,r=hr(!0)){let i=r.getOIDByAlgorithm({name:e},!0,"hashAlgorithm"),a=await r.digest(e,t);return new w4({hashAlgorithm:new cu({algorithmId:i,algorithmParams:new tU}),hashedMessage:new tq({valueHex:a})})}constructor(e={}){super(),this.hashAlgorithm=eQ(e,w1,w4.defaultValues(w1)),this.hashedMessage=eQ(e,w2,w4.defaultValues(w2)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case w1:return new cu;case w2:return new tq;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case w1:return""===t.algorithmId&&"algorithmParams"in t==!1;case w2:return 0===t.isEqual(w4.defaultValues(e));default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[cu.schema(t.hashAlgorithm||{}),new tq({name:t.hashedMessage||""})]})}fromSchema(e){ta(e,w3);let t=rv(e,e,w4.schema({names:{hashAlgorithm:{names:{blockName:w1}},hashedMessage:w2}}));uJ.assertSchema(t,this.className),this.hashAlgorithm=new cu({schema:t.result.hashAlgorithm}),this.hashedMessage=t.result.hashedMessage}toSchema(){return new tX({value:[this.hashAlgorithm.toSchema(),this.hashedMessage]})}toJSON(){return{hashAlgorithm:this.hashAlgorithm.toJSON(),hashedMessage:this.hashedMessage.toJSON()}}}w4.CLASS_NAME="MessageImprint";let w6="reqCert",w8="singleRequestExtensions",w5=[w6,w8];class w9 extends uz{constructor(e={}){super(),this.reqCert=eQ(e,w6,w9.defaultValues(w6)),w8 in e&&(this.singleRequestExtensions=eQ(e,w8,w9.defaultValues(w8))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case w6:return new yX;case w8:return[];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case w6:return t.isEqual(w9.defaultValues(e));case w8:return 0===t.length;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[yX.schema(t.reqCert||{}),new tO({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[h$.schema(t.extensions||{names:{blockName:t.singleRequestExtensions||""}})]})]})}fromSchema(e){ta(e,w5);let t=rv(e,e,w9.schema({names:{reqCert:{names:{blockName:w6}},extensions:{names:{blockName:w8}}}}));uJ.assertSchema(t,this.className),this.reqCert=new yX({schema:t.result.reqCert}),w8 in t.result&&(this.singleRequestExtensions=Array.from(t.result.singleRequestExtensions.valueBlock.value,e=>new hN({schema:e})))}toSchema(){let e=[];return e.push(this.reqCert.toSchema()),this.singleRequestExtensions&&e.push(new tO({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new tX({value:Array.from(this.singleRequestExtensions,e=>e.toSchema())})]})),new tX({value:e})}toJSON(){let e={reqCert:this.reqCert.toJSON()};return this.singleRequestExtensions&&(e.singleRequestExtensions=Array.from(this.singleRequestExtensions,e=>e.toJSON())),e}}w9.CLASS_NAME="Request";let w7="version",be="requestorName",bt="requestList",br="requestExtensions",bi="TBSRequest",ba=`${bi}.${w7}`,bn=`${bi}.${be}`,bs=`${bi}.requests`,bo=`${bi}.${br}`,bl=[bi,ba,bn,bs,bo];class bu extends uz{get tbs(){return eV.toArrayBuffer(this.tbsView)}set tbs(e){this.tbsView=new Uint8Array(e)}constructor(e={}){super(),this.tbsView=new Uint8Array(eQ(e,"tbs",bu.defaultValues("tbs"))),w7 in e&&(this.version=eQ(e,w7,bu.defaultValues(w7))),be in e&&(this.requestorName=eQ(e,be,bu.defaultValues(be))),this.requestList=eQ(e,bt,bu.defaultValues(bt)),br in e&&(this.requestExtensions=eQ(e,br,bu.defaultValues(br))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case"tbs":return uG;case w7:return 0;case be:return new u6;case bt:case br:return[];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case"tbs":return 0===t.byteLength;case w7:return t===bu.defaultValues(e);case be:return t.type===u6.defaultValues("type")&&0===Object.keys(t.value).length;case bt:case br:return 0===t.length;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||bi,value:[new tO({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new tG({name:t.TBSRequestVersion||ba})]}),new tO({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[u6.schema(t.requestorName||{names:{blockName:bn}})]}),new tX({name:t.requestList||"TBSRequest.requestList",value:[new rw({name:t.requests||bs,value:w9.schema(t.requestNames||{})})]}),new tO({optional:!0,idBlock:{tagClass:3,tagNumber:2},value:[h$.schema(t.extensions||{names:{blockName:t.requestExtensions||bo}})]})]})}fromSchema(e){ta(e,bl);let t=rv(e,e,bu.schema());uJ.assertSchema(t,this.className),this.tbsView=t.result.TBSRequest.valueBeforeDecodeView,ba in t.result&&(this.version=t.result[ba].valueBlock.valueDec),bn in t.result&&(this.requestorName=new u6({schema:t.result[bn]})),this.requestList=Array.from(t.result[bs],e=>new w9({schema:e})),bo in t.result&&(this.requestExtensions=Array.from(t.result[bo].valueBlock.value,e=>new hN({schema:e})))}toSchema(e=!1){let t;if(!1===e){if(0===this.tbsView.byteLength)return bu.schema();let e=tD(this.tbsView);if(uJ.assert(e,"TBS Request"),!(e.result instanceof tX))throw Error("ASN.1 result should be SEQUENCE");t=e.result}else{let e=[];void 0!==this.version&&e.push(new tO({idBlock:{tagClass:3,tagNumber:0},value:[new tG({value:this.version})]})),this.requestorName&&e.push(new tO({idBlock:{tagClass:3,tagNumber:1},value:[this.requestorName.toSchema()]})),e.push(new tX({value:Array.from(this.requestList,e=>e.toSchema())})),this.requestExtensions&&e.push(new tO({idBlock:{tagClass:3,tagNumber:2},value:[new tX({value:Array.from(this.requestExtensions,e=>e.toSchema())})]})),t=new tX({value:e})}return t}toJSON(){let e={};return void 0!=this.version&&(e.version=this.version),this.requestorName&&(e.requestorName=this.requestorName.toJSON()),e.requestList=Array.from(this.requestList,e=>e.toJSON()),this.requestExtensions&&(e.requestExtensions=Array.from(this.requestExtensions,e=>e.toJSON())),e}}bu.CLASS_NAME="TBSRequest";let bc="signatureAlgorithm",bd="signature",bp="certs";class bh extends uz{constructor(e={}){super(),this.signatureAlgorithm=eQ(e,bc,bh.defaultValues(bc)),this.signature=eQ(e,bd,bh.defaultValues(bd)),bp in e&&(this.certs=eQ(e,bp,bh.defaultValues(bp))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case bc:return new cu;case bd:return new tF;case bp:return[];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case bc:return""===t.algorithmId&&"algorithmParams"in t==!1;case bd:return t.isEqual(bh.defaultValues(e));case bp:return 0===t.length;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[cu.schema(t.signatureAlgorithm||{}),new tF({name:t.signature||""}),new tO({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new tX({value:[new rw({name:t.certs||"",value:m9.schema({})})]})]})]})}fromSchema(e){ta(e,[bc,bd,bp]);let t=rv(e,e,bh.schema({names:{signatureAlgorithm:{names:{blockName:bc}},signature:bd,certs:bp}}));uJ.assertSchema(t,this.className),this.signatureAlgorithm=new cu({schema:t.result.signatureAlgorithm}),this.signature=t.result.signature,bp in t.result&&(this.certs=Array.from(t.result.certs,e=>new m9({schema:e})))}toSchema(){let e=[];return e.push(this.signatureAlgorithm.toSchema()),e.push(this.signature),this.certs&&e.push(new tO({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new tX({value:Array.from(this.certs,e=>e.toSchema())})]})),new tX({value:e})}toJSON(){let e={signatureAlgorithm:this.signatureAlgorithm.toJSON(),signature:this.signature.toJSON()};return this.certs&&(e.certs=Array.from(this.certs,e=>e.toJSON())),e}}bh.CLASS_NAME="Signature";let bm="tbsRequest",bf="optionalSignature",bg=[bm,bf];class by extends uz{constructor(e={}){super(),this.tbsRequest=eQ(e,bm,by.defaultValues(bm)),bf in e&&(this.optionalSignature=eQ(e,bf,by.defaultValues(bf))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case bm:return new bu;case bf:return new bh;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case bm:return bu.compareWithDefault("tbs",t.tbs)&&bu.compareWithDefault("version",t.version)&&bu.compareWithDefault("requestorName",t.requestorName)&&bu.compareWithDefault("requestList",t.requestList)&&bu.compareWithDefault("requestExtensions",t.requestExtensions);case bf:return bh.compareWithDefault("signatureAlgorithm",t.signatureAlgorithm)&&bh.compareWithDefault("signature",t.signature)&&bh.compareWithDefault("certs",t.certs);default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"OCSPRequest",value:[bu.schema(t.tbsRequest||{names:{blockName:bm}}),new tO({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[bh.schema(t.optionalSignature||{names:{blockName:bf}})]})]})}fromSchema(e){ta(e,bg);let t=rv(e,e,by.schema());uJ.assertSchema(t,this.className),this.tbsRequest=new bu({schema:t.result.tbsRequest}),bf in t.result&&(this.optionalSignature=new bh({schema:t.result.optionalSignature}))}toSchema(e=!1){let t=[];return t.push(this.tbsRequest.toSchema(e)),this.optionalSignature&&t.push(new tO({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[this.optionalSignature.toSchema()]})),new tX({value:t})}toJSON(){let e={tbsRequest:this.tbsRequest.toJSON()};return this.optionalSignature&&(e.optionalSignature=this.optionalSignature.toJSON()),e}async createForCertificate(e,t,r=hr(!0)){let i=new yX;await i.createForCertificate(e,t,r),this.tbsRequest.requestList.push(new w9({reqCert:i}))}async sign(e,t="SHA-1",r=hr(!0)){if(uW.assertEmpty(e,"privateKey","OCSPRequest.sign method"),!this.optionalSignature)throw Error('Need to create "optionalSignature" field before signing');let i=await r.getSignatureParameters(e,t),a=i.parameters;this.optionalSignature.signatureAlgorithm=i.signatureAlgorithm;let n=this.tbsRequest.toSchema(!0).toBER(!1),s=await r.signWithPrivateKey(n,e,a);this.optionalSignature.signature=new tF({valueHex:s})}verify(){}}by.CLASS_NAME="OCSPRequest";let bw="responseType",bb="response",bv=[bw,bb];class bk extends uz{constructor(e={}){super(),this.responseType=eQ(e,bw,bk.defaultValues(bw)),this.response=eQ(e,bb,bk.defaultValues(bb)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case bw:return"";case bb:return new tq;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case bw:return""===t;case bb:return t.isEqual(bk.defaultValues(e));default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tz({name:t.responseType||""}),new tq({name:t.response||""})]})}fromSchema(e){ta(e,bv);let t=rv(e,e,bk.schema({names:{responseType:bw,response:bb}}));uJ.assertSchema(t,this.className),this.responseType=t.result.responseType.valueBlock.toString(),this.response=t.result.response}toSchema(){return new tX({value:[new tz({value:this.responseType}),this.response]})}toJSON(){return{responseType:this.responseType,response:this.response.toJSON()}}}bk.CLASS_NAME="ResponseBytes";let bS="responseStatus",bE="responseBytes";class bI extends uz{constructor(e={}){super(),this.responseStatus=eQ(e,bS,bI.defaultValues(bS)),bE in e&&(this.responseBytes=eQ(e,bE,bI.defaultValues(bE))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case bS:return new tH;case bE:return new bk;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case bS:return t.isEqual(bI.defaultValues(e));case bE:return bk.compareWithDefault("responseType",t.responseType)&&bk.compareWithDefault("response",t.response);default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"OCSPResponse",value:[new tH({name:t.responseStatus||bS}),new tO({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[bk.schema(t.responseBytes||{names:{blockName:bE}})]})]})}fromSchema(e){ta(e,[bS,bE]);let t=rv(e,e,bI.schema());uJ.assertSchema(t,this.className),this.responseStatus=t.result.responseStatus,bE in t.result&&(this.responseBytes=new bk({schema:t.result.responseBytes}))}toSchema(){let e=[];return e.push(this.responseStatus),this.responseBytes&&e.push(new tO({idBlock:{tagClass:3,tagNumber:0},value:[this.responseBytes.toSchema()]})),new tX({value:e})}toJSON(){let e={responseStatus:this.responseStatus.toJSON()};return this.responseBytes&&(e.responseBytes=this.responseBytes.toJSON()),e}async getCertificateStatus(e,t,r=hr(!0)){let i,a={isForCertificate:!1,status:2};if(!this.responseBytes||this.responseBytes.responseType!==cG)return a;try{let e=tD(this.responseBytes.response.valueBlock.valueHexView);uJ.assert(e,"Basic OCSP response"),i=new wR({schema:e.result})}catch{return a}return i.getCertificateStatus(e,t,r)}async sign(e,t,r=hr(!0)){var i;if(this.responseBytes&&this.responseBytes.responseType===cG)return wR.fromBER(this.responseBytes.response.valueBlock.valueHexView).sign(e,t,r);throw Error(`Unknown ResponseBytes type: ${(null==(i=this.responseBytes)?void 0:i.responseType)||"Unknown"}`)}async verify(e=null,t=hr(!0)){var r;if(bE in this==!1)throw Error("Empty ResponseBytes field");if(this.responseBytes&&this.responseBytes.responseType===cG){let r=wR.fromBER(this.responseBytes.response.valueBlock.valueHexView);return null!==e&&(r.certs||(r.certs=[]),r.certs.push(e)),r.verify({},t)}throw Error(`Unknown ResponseBytes type: ${(null==(r=this.responseBytes)?void 0:r.responseType)||"Unknown"}`)}}bI.CLASS_NAME="OCSPResponse";let bx="type",bA="attributes",b_="encodedValue",bC=[bA];class bR extends uz{constructor(e={}){super(),this.type=eQ(e,bx,bR.defaultValues(bx)),this.attributes=eQ(e,bA,bR.defaultValues(bA)),this.encodedValue=eQ(e,b_,bR.defaultValues(b_)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case bx:return -1;case bA:return[];case b_:return uG;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case bx:return t===bR.defaultValues(bx);case bA:return 0===t.length;case b_:return 0===t.byteLength;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tO({name:t.blockName||"",optional:!0,idBlock:{tagClass:3,tagNumber:t.tagNumber||0},value:[new rw({name:t.attributes||"",value:cg.schema()})]})}fromSchema(e){ta(e,bC);let t=rv(e,e,bR.schema({names:{tagNumber:this.type,attributes:bA}}));if(uJ.assertSchema(t,this.className),this.type=t.result.idBlock.tagNumber,this.encodedValue=eV.toArrayBuffer(t.result.valueBeforeDecodeView),new Uint8Array(this.encodedValue)[0]=49,bA in t.result==!1)if(0!==this.type)return;else throw Error("Wrong structure of SignedUnsignedAttributes");this.attributes=Array.from(t.result.attributes,e=>new cg({schema:e}))}toSchema(){if(bR.compareWithDefault(bx,this.type)||bR.compareWithDefault(bA,this.attributes))throw Error('Incorrectly initialized "SignedAndUnsignedAttributes" class');return new tO({optional:!0,idBlock:{tagClass:3,tagNumber:this.type},value:Array.from(this.attributes,e=>e.toSchema())})}toJSON(){if(bR.compareWithDefault(bx,this.type)||bR.compareWithDefault(bA,this.attributes))throw Error('Incorrectly initialized "SignedAndUnsignedAttributes" class');return{type:this.type,attributes:Array.from(this.attributes,e=>e.toJSON())}}}bR.CLASS_NAME="SignedAndUnsignedAttributes";let bT="version",bD="digestAlgorithm",bN="signedAttrs",bO="signatureAlgorithm",bP="signature",b$="unsignedAttrs",bU="SignerInfo",bB=`${bU}.${bT}`,bj=`${bU}.sid`,bL=`${bU}.${bD}`,bq=`${bU}.${bN}`,bM=`${bU}.${bO}`,bF=`${bU}.${bP}`,bK=`${bU}.${b$}`,bV=[bB,bj,bL,bq,bM,bF,bK];class bG extends uz{constructor(e={}){super(),this.version=eQ(e,bT,bG.defaultValues(bT)),this.sid=eQ(e,"sid",bG.defaultValues("sid")),this.digestAlgorithm=eQ(e,bD,bG.defaultValues(bD)),bN in e&&(this.signedAttrs=eQ(e,bN,bG.defaultValues(bN))),this.signatureAlgorithm=eQ(e,bO,bG.defaultValues(bO)),this.signature=eQ(e,bP,bG.defaultValues(bP)),b$ in e&&(this.unsignedAttrs=eQ(e,b$,bG.defaultValues(b$))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case bT:return 0;case"sid":return new rg;case bD:return new cu;case bN:return new bR({type:0});case bO:return new cu;case bP:return new tq;case b$:return new bR({type:1});default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case bT:return bG.defaultValues(bT)===t;case"sid":return t instanceof rg;case bD:if(t instanceof cu==!1)return!1;return t.isEqual(bG.defaultValues(bD));case bN:return bR.compareWithDefault("type",t.type)&&bR.compareWithDefault("attributes",t.attributes)&&bR.compareWithDefault("encodedValue",t.encodedValue);case bO:if(t instanceof cu==!1)return!1;return t.isEqual(bG.defaultValues(bO));case bP:case b$:return bR.compareWithDefault("type",t.type)&&bR.compareWithDefault("attributes",t.attributes)&&bR.compareWithDefault("encodedValue",t.encodedValue);default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:bU,value:[new tG({name:t.version||bB}),new ry({value:[gf.schema(t.sidSchema||{names:{blockName:bj}}),new ry({value:[new tO({optional:!0,name:t.sid||bj,idBlock:{tagClass:3,tagNumber:0},value:[new tq]}),new t_({optional:!0,name:t.sid||bj,idBlock:{tagClass:3,tagNumber:0}})]})]}),cu.schema(t.digestAlgorithm||{names:{blockName:bL}}),bR.schema(t.signedAttrs||{names:{blockName:bq,tagNumber:0}}),cu.schema(t.signatureAlgorithm||{names:{blockName:bM}}),new tq({name:t.signature||bF}),bR.schema(t.unsignedAttrs||{names:{blockName:bK,tagNumber:1}})]})}fromSchema(e){ta(e,bV);let t=rv(e,e,bG.schema());uJ.assertSchema(t,this.className),this.version=t.result[bB].valueBlock.valueDec;let r=t.result[bj];1===r.idBlock.tagClass?this.sid=new gf({schema:r}):this.sid=r,this.digestAlgorithm=new cu({schema:t.result[bL]}),bq in t.result&&(this.signedAttrs=new bR({type:0,schema:t.result[bq]})),this.signatureAlgorithm=new cu({schema:t.result[bM]}),this.signature=t.result[bF],bK in t.result&&(this.unsignedAttrs=new bR({type:1,schema:t.result[bK]}))}toSchema(){if(bG.compareWithDefault("sid",this.sid))throw Error('Incorrectly initialized "SignerInfo" class');let e=[];return e.push(new tG({value:this.version})),this.sid instanceof gf?e.push(this.sid.toSchema()):e.push(this.sid),e.push(this.digestAlgorithm.toSchema()),this.signedAttrs&&!1===bG.compareWithDefault(bN,this.signedAttrs)&&e.push(this.signedAttrs.toSchema()),e.push(this.signatureAlgorithm.toSchema()),e.push(this.signature),this.unsignedAttrs&&!1===bG.compareWithDefault(b$,this.unsignedAttrs)&&e.push(this.unsignedAttrs.toSchema()),new tX({value:e})}toJSON(){if(bG.compareWithDefault("sid",this.sid))throw Error('Incorrectly initialized "SignerInfo" class');let e={version:this.version,digestAlgorithm:this.digestAlgorithm.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signature:this.signature.toJSON()};return this.sid instanceof rg||(e.sid=this.sid.toJSON()),this.signedAttrs&&!1===bG.compareWithDefault(bN,this.signedAttrs)&&(e.signedAttrs=this.signedAttrs.toJSON()),this.unsignedAttrs&&!1===bG.compareWithDefault(b$,this.unsignedAttrs)&&(e.unsignedAttrs=this.unsignedAttrs.toJSON()),e}}bG.CLASS_NAME="SignerInfo";let bH="version",bW="policy",bJ="messageImprint",bz="serialNumber",bZ="genTime",bY="ordering",bQ="nonce",bX="accuracy",b0="extensions",b1="TSTInfo",b2=`${b1}.${bH}`,b3=`${b1}.${bW}`,b4=`${b1}.${bJ}`,b6=`${b1}.${bz}`,b8=`${b1}.${bZ}`,b5=`${b1}.${bX}`,b9=`${b1}.${bY}`,b7=`${b1}.${bQ}`,ve=`${b1}.tsa`,vt=`${b1}.${b0}`,vr=[b2,b3,b4,b6,b8,b5,b9,b7,ve,vt];class vi extends uz{constructor(e={}){super(),this.version=eQ(e,bH,vi.defaultValues(bH)),this.policy=eQ(e,bW,vi.defaultValues(bW)),this.messageImprint=eQ(e,bJ,vi.defaultValues(bJ)),this.serialNumber=eQ(e,bz,vi.defaultValues(bz)),this.genTime=eQ(e,bZ,vi.defaultValues(bZ)),bX in e&&(this.accuracy=eQ(e,bX,vi.defaultValues(bX))),bY in e&&(this.ordering=eQ(e,bY,vi.defaultValues(bY))),bQ in e&&(this.nonce=eQ(e,bQ,vi.defaultValues(bQ))),"tsa"in e&&(this.tsa=eQ(e,"tsa",vi.defaultValues("tsa"))),b0 in e&&(this.extensions=eQ(e,b0,vi.defaultValues(b0))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case bH:return 0;case bW:return"";case bJ:return new w4;case bz:return new tG;case bZ:return new Date(0,0,0);case bX:return new ci;case bY:return!1;case bQ:return new tG;case"tsa":return new u6;case b0:return[];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case bH:case bW:case bZ:case bY:return t===vi.defaultValues(bY);case bJ:return w4.compareWithDefault(w1,t.hashAlgorithm)&&w4.compareWithDefault(w2,t.hashedMessage);case bz:case bQ:return t.isEqual(vi.defaultValues(bQ));case bX:return ci.compareWithDefault(ce,t.seconds)&&ci.compareWithDefault(ct,t.millis)&&ci.compareWithDefault(cr,t.micros);case"tsa":return u6.compareWithDefault(u3,t.type)&&u6.compareWithDefault(u4,t.value);case b0:return 0===t.length;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||b1,value:[new tG({name:t.version||b2}),new tz({name:t.policy||b3}),w4.schema(t.messageImprint||{names:{blockName:b4}}),new tG({name:t.serialNumber||b6}),new rc({name:t.genTime||b8}),ci.schema(t.accuracy||{names:{blockName:b5}}),new tj({name:t.ordering||b9,optional:!0}),new tG({name:t.nonce||b7,optional:!0}),new tO({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[u6.schema(t.tsa||{names:{blockName:ve}})]}),new tO({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new rw({name:t.extensions||vt,value:hN.schema(t.extension||{})})]})]})}fromSchema(e){ta(e,vr);let t=rv(e,e,vi.schema());uJ.assertSchema(t,this.className),this.version=t.result[b2].valueBlock.valueDec,this.policy=t.result[b3].valueBlock.toString(),this.messageImprint=new w4({schema:t.result[b4]}),this.serialNumber=t.result[b6],this.genTime=t.result[b8].toDate(),b5 in t.result&&(this.accuracy=new ci({schema:t.result[b5]})),b9 in t.result&&(this.ordering=t.result[b9].valueBlock.value),b7 in t.result&&(this.nonce=t.result[b7]),ve in t.result&&(this.tsa=new u6({schema:t.result[ve]})),vt in t.result&&(this.extensions=Array.from(t.result[vt],e=>new hN({schema:e})))}toSchema(){let e=[];return e.push(new tG({value:this.version})),e.push(new tz({value:this.policy})),e.push(this.messageImprint.toSchema()),e.push(this.serialNumber),e.push(new rc({valueDate:this.genTime})),this.accuracy&&e.push(this.accuracy.toSchema()),void 0!==this.ordering&&e.push(new tj({value:this.ordering})),this.nonce&&e.push(this.nonce),this.tsa&&e.push(new tO({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[this.tsa.toSchema()]})),this.extensions&&e.push(new tO({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.extensions,e=>e.toSchema())})),new tX({value:e})}toJSON(){let e={version:this.version,policy:this.policy,messageImprint:this.messageImprint.toJSON(),serialNumber:this.serialNumber.toJSON(),genTime:this.genTime};return this.accuracy&&(e.accuracy=this.accuracy.toJSON()),void 0!==this.ordering&&(e.ordering=this.ordering),this.nonce&&(e.nonce=this.nonce.toJSON()),this.tsa&&(e.tsa=this.tsa.toJSON()),this.extensions&&(e.extensions=Array.from(this.extensions,e=>e.toJSON())),e}async verify(e,t=hr(!0)){if(!e.data)throw Error('"data" is a mandatory attribute for TST_INFO verification');let r=e.data;if(e.notBefore&&this.genTime<e.notBefore)throw Error("Generation time for TSTInfo object is less than notBefore value");if(e.notAfter&&this.genTime>e.notAfter)throw Error("Generation time for TSTInfo object is more than notAfter value");let i=t.getAlgorithmByOID(this.messageImprint.hashAlgorithm.algorithmId,!0,"MessageImprint.hashAlgorithm"),a=await t.digest(i.name,new Uint8Array(r));return eV.isEqual(a,this.messageImprint.hashedMessage.valueBlock.valueHexView)}}vi.CLASS_NAME="TSTInfo";let va="version",vn="digestAlgorithms",vs="encapContentInfo",vo="certificates",vl="crls",vu="signerInfos",vc="ocsps",vd="SignedData",vp=`${vd}.${va}`,vh=`${vd}.${vn}`,vm=`${vd}.${vs}`,vf=`${vd}.${vo}`,vg=`${vd}.${vl}`,vy=`${vd}.${vu}`,vw=[vp,vh,vm,vf,vg,vy];class vb extends Error{constructor({message:e,code:t=0,date:r=new Date,signatureVerified:i=null,signerCertificate:a=null,signerCertificateVerified:n=null,timestampSerial:s=null,certificatePath:o=[]}){super(e),this.name="SignedDataVerifyError",this.date=r,this.code=t,this.timestampSerial=s,this.signatureVerified=i,this.signerCertificate=a,this.signerCertificateVerified=n,this.certificatePath=o}}class vv extends uz{constructor(e={}){super(),this.version=eQ(e,va,vv.defaultValues(va)),this.digestAlgorithms=eQ(e,vn,vv.defaultValues(vn)),this.encapContentInfo=eQ(e,vs,vv.defaultValues(vs)),vo in e&&(this.certificates=eQ(e,vo,vv.defaultValues(vo))),vl in e&&(this.crls=eQ(e,vl,vv.defaultValues(vl))),vc in e&&(this.ocsps=eQ(e,vc,vv.defaultValues(vc))),this.signerInfos=eQ(e,vu,vv.defaultValues(vu)),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case va:return 0;case vn:return[];case vs:return new wZ;case vo:case vl:case vc:case vu:return[];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case va:return t===vv.defaultValues(va);case vs:return wZ.compareWithDefault("eContentType",t.eContentType)&&wZ.compareWithDefault("eContent",t.eContent);case vn:case vo:case vl:case vc:case vu:return 0===t.length;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return void 0===t.optional&&(t.optional=!1),new tX({name:t.blockName||vd,optional:t.optional,value:[new tG({name:t.version||vp}),new t0({value:[new rw({name:t.digestAlgorithms||vh,value:cu.schema()})]}),wZ.schema(t.encapContentInfo||{names:{blockName:vm}}),new tO({name:t.certificates||vf,optional:!0,idBlock:{tagClass:3,tagNumber:0},value:f7.schema().valueBlock.value}),new tO({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:go.schema(t.crls||{names:{crls:vg}}).valueBlock.value}),new t0({value:[new rw({name:t.signerInfos||vy,value:bG.schema()})]})]})}fromSchema(e){ta(e,vw);let t=rv(e,e,vv.schema());if(uJ.assertSchema(t,this.className),this.version=t.result[vp].valueBlock.valueDec,vh in t.result&&(this.digestAlgorithms=Array.from(t.result[vh],e=>new cu({schema:e}))),this.encapContentInfo=new wZ({schema:t.result[vm]}),vf in t.result){let e=new f7({schema:new t0({value:t.result[vf].valueBlock.value})});this.certificates=e.certificates.slice(0)}vg in t.result&&(this.crls=Array.from(t.result[vg],e=>1===e.idBlock.tagClass?new fR({schema:e}):(e.idBlock.tagClass=1,e.idBlock.tagNumber=16,new gi({schema:e})))),vy in t.result&&(this.signerInfos=Array.from(t.result[vy],e=>new bG({schema:e})))}toSchema(e=!1){let t=[];if(this.certificates&&this.certificates.length&&this.certificates.some(e=>e instanceof f8)||this.crls&&this.crls.length&&this.crls.some(e=>e instanceof gi)?this.version=5:this.certificates&&this.certificates.length&&this.certificates.some(e=>e instanceof mx)?this.version=4:this.certificates&&this.certificates.length&&this.certificates.some(e=>e instanceof h3)||this.signerInfos.some(e=>3===e.version)||this.encapContentInfo.eContentType!==vv.ID_DATA?this.version=3:this.version=1,t.push(new tG({value:this.version})),t.push(new t0({value:Array.from(this.digestAlgorithms,e=>e.toSchema())})),t.push(this.encapContentInfo.toSchema()),this.certificates){let e=new f7({certificates:this.certificates}).toSchema();t.push(new tO({idBlock:{tagClass:3,tagNumber:0},value:e.valueBlock.value}))}return this.crls&&t.push(new tO({idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.crls,t=>{if(t instanceof gi){let e=t.toSchema();return e.idBlock.tagClass=3,e.idBlock.tagNumber=1,e}return t.toSchema(e)})})),t.push(new t0({value:Array.from(this.signerInfos,e=>e.toSchema())})),new tX({value:t})}toJSON(){let e={version:this.version,digestAlgorithms:Array.from(this.digestAlgorithms,e=>e.toJSON()),encapContentInfo:this.encapContentInfo.toJSON(),signerInfos:Array.from(this.signerInfos,e=>e.toJSON())};return this.certificates&&(e.certificates=Array.from(this.certificates,e=>e.toJSON())),this.crls&&(e.crls=Array.from(this.crls,e=>e.toJSON())),e}async verify({signer:e=-1,data:t=uG,trustedCerts:r=[],checkDate:i=new Date,checkChain:a=!1,passedWhenNotRevValues:n=!1,extendedMode:s=!1,findOrigin:o=null,findIssuer:l=null}={},u=hr(!0)){let c=null,d=null;try{let p=uG,h="",m=[],f=this.signerInfos[e];if(!f)throw new vb({date:i,code:1,message:"Unable to get signer by supplied index"});if(!this.certificates)throw new vb({date:i,code:2,message:"No certificates attached to this signed data"});if(f.sid instanceof gf){for(let e of this.certificates)if(e instanceof m9&&e.issuer.isEqual(f.sid.issuer)&&e.serialNumber.isEqual(f.sid.serialNumber)){c=e;break}}else{let e=f.sid,t=e.idBlock.isConstructed?e.valueBlock.value[0].valueBlock.valueHex:e.valueBlock.valueHex;for(let e of this.certificates){if(!(e instanceof m9))continue;let r=await u.digest({name:"sha-1"},e.subjectPublicKeyInfo.subjectPublicKey.valueBlock.valueHexView);if(e6(r,t)){c=e;break}}}if(!c)throw new vb({date:i,code:3,message:"Unable to find signer certificate"});if("1.2.840.113549.1.9.16.1.4"===this.encapContentInfo.eContentType){let e;if(!this.encapContentInfo.eContent)throw new vb({date:i,code:15,message:"Error during verification: TSTInfo eContent is empty",signatureVerified:null,signerCertificate:c,timestampSerial:d,signerCertificateVerified:!0});try{e=vi.fromBER(this.encapContentInfo.eContent.valueBlock.valueHexView)}catch{throw new vb({date:i,code:15,message:"Error during verification: TSTInfo wrong ASN.1 schema ",signatureVerified:null,signerCertificate:c,timestampSerial:d,signerCertificateVerified:!0})}if(i=e.genTime,d=e.serialNumber.valueBlock.valueHexView.slice().buffer,0===t.byteLength)throw new vb({date:i,code:4,message:"Missed detached data input array"});if(!await e.verify({data:t},u))throw new vb({date:i,code:15,message:"Error during verification: TSTInfo verification is failed",signatureVerified:!1,signerCertificate:c,timestampSerial:d,signerCertificateVerified:!0})}if(a){let e=this.certificates.filter(e=>e instanceof m9&&!!m7(e,c)),t={checkDate:i,certs:e,trustedCerts:r};l&&(t.findIssuer=l),o&&(t.findOrigin=o);let a=new ww(t);if(a.certs.push(c),this.crls)for(let e of this.crls)"thisUpdate"in e?a.crls.push(e):e.otherRevInfoFormat===cG&&a.ocsps.push(new wR({schema:e.otherRevInfo}));this.ocsps&&a.ocsps.push(...this.ocsps);let s=await a.verify({passedWhenNotRevValues:n},u).catch(e=>{throw new vb({date:i,code:5,message:`Validation of signer's certificate failed with error: ${e instanceof Object?e.resultMessage:e}`,signerCertificate:c,signerCertificateVerified:!1})});if(s.certificatePath&&(m=s.certificatePath),!s.result)throw new vb({date:i,code:5,message:`Validation of signer's certificate failed: ${s.resultMessage}`,signerCertificate:c,signerCertificateVerified:!1})}let g=u.getAlgorithmByOID(f.digestAlgorithm.algorithmId);if(!("name"in g))throw new vb({date:i,code:7,message:`Unsupported signature algorithm: ${f.digestAlgorithm.algorithmId}`,signerCertificate:c,signerCertificateVerified:!0});h=g.name;let y=this.encapContentInfo.eContent;if(y)t=1===y.idBlock.tagClass&&4===y.idBlock.tagNumber?y.getValue():y.valueBlock.valueBeforeDecodeView.slice().buffer;else if(0===t.byteLength)throw new vb({date:i,code:8,message:"Missed detached data input array",signerCertificate:c,signerCertificateVerified:!0});if(f.signedAttrs){let e=!1,t=!1;for(let r of f.signedAttrs.attributes)if("1.2.840.113549.1.9.3"===r.type&&(e=!0),"1.2.840.113549.1.9.4"===r.type&&(t=!0,p=r.values[0].valueBlock.valueHex),e&&t)break;if(!1===e)throw new vb({date:i,code:9,message:'Attribute "content-type" is a mandatory attribute for "signed attributes"',signerCertificate:c,signerCertificateVerified:!0});if(!1===t)throw new vb({date:i,code:10,message:'Attribute "message-digest" is a mandatory attribute for "signed attributes"',signatureVerified:null,signerCertificate:c,signerCertificateVerified:!0})}if(f.signedAttrs){let e=await u.digest(h,new Uint8Array(t));if(!e6(e,p))throw new vb({date:i,code:15,message:"Error during verification: Message digest doesn't match",signatureVerified:null,signerCertificate:c,timestampSerial:d,signerCertificateVerified:!0});t=f.signedAttrs.encodedValue}let w="1.2.840.113549.1.1.1"===f.signatureAlgorithm.algorithmId?await u.verifyWithPublicKey(t,f.signature,c.subjectPublicKeyInfo,f.signatureAlgorithm,h):await u.verifyWithPublicKey(t,f.signature,c.subjectPublicKeyInfo,f.signatureAlgorithm);if(s)return{date:i,code:14,message:"",signatureVerified:w,signerCertificate:c,timestampSerial:d,signerCertificateVerified:!0,certificatePath:m};return w}catch(e){if(e instanceof vb)throw e;throw new vb({date:i,code:15,message:`Error during verification: ${e instanceof Error?e.message:e}`,signatureVerified:null,signerCertificate:c,timestampSerial:d,signerCertificateVerified:!0})}}async sign(e,t,r="SHA-1",i=uG,a=hr(!0)){var n;if(!e)throw Error("Need to provide a private key for signing");let s=this.signerInfos[t];if(!s)throw RangeError("SignerInfo index is out of range");!(null==(n=s.signedAttrs)?void 0:n.attributes.length)&&"hash"in e.algorithm&&"hash"in e.algorithm&&e.algorithm.hash&&(r=e.algorithm.hash.name);let o=a.getOIDByAlgorithm({name:r},!0,"hashAlgorithm");0===this.digestAlgorithms.filter(e=>e.algorithmId===o).length&&this.digestAlgorithms.push(new cu({algorithmId:o,algorithmParams:new tU})),s.digestAlgorithm=new cu({algorithmId:o,algorithmParams:new tU});let l=await a.getSignatureParameters(e,r),u=l.parameters;if(s.signatureAlgorithm=l.signatureAlgorithm,s.signedAttrs)0!==s.signedAttrs.encodedValue.byteLength?i=s.signedAttrs.encodedValue:(i=s.signedAttrs.toSchema().toBER(),eV.toUint8Array(i)[0]=49);else{let e=this.encapContentInfo.eContent;if(e)i=1===e.idBlock.tagClass&&4===e.idBlock.tagNumber?e.getValue():e.valueBlock.valueBeforeDecodeView.slice().buffer;else if(0===i.byteLength)throw Error("Missed detached data input array")}s.signature=new tq({valueHex:await a.signWithPrivateKey(i,e,u)})}}vv.CLASS_NAME="SignedData",vv.ID_DATA=cj;let vk="version",vS="authSafe",vE="macData",vI="parsedValue",vx=[vk,vS,vE];class vA extends uz{constructor(e={}){super(),this.version=eQ(e,vk,vA.defaultValues(vk)),this.authSafe=eQ(e,vS,vA.defaultValues(vS)),vE in e&&(this.macData=eQ(e,vE,vA.defaultValues(vE))),vI in e&&(this.parsedValue=eQ(e,vI,vA.defaultValues(vI))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case vk:return 3;case vS:return new mR;case vE:return new w0;case vI:return{};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case vk:return t===vA.defaultValues(e);case vS:return mR.compareWithDefault("contentType",t.contentType)&&mR.compareWithDefault("content",t.content);case vE:return w0.compareWithDefault("mac",t.mac)&&w0.compareWithDefault("macSalt",t.macSalt)&&w0.compareWithDefault("iterations",t.iterations);case vI:return t instanceof Object&&0===Object.keys(t).length;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tG({name:t.version||vk}),mR.schema(t.authSafe||{names:{blockName:vS}}),w0.schema(t.macData||{names:{blockName:vE,optional:!0}})]})}fromSchema(e){ta(e,vx);let t=rv(e,e,vA.schema({names:{version:vk,authSafe:{names:{blockName:vS}},macData:{names:{blockName:vE}}}}));uJ.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,this.authSafe=new mR({schema:t.result.authSafe}),vE in t.result&&(this.macData=new w0({schema:t.result.macData}))}toSchema(){let e=[new tG({value:this.version}),this.authSafe.toSchema()];return this.macData&&e.push(this.macData.toSchema()),new tX({value:e})}toJSON(){let e={version:this.version,authSafe:this.authSafe.toJSON()};return this.macData&&(e.macData=this.macData.toJSON()),e}async makeInternalValues(e={},t=hr(!0)){if(uH.assert(e,"parameters","object"),!this.parsedValue)throw Error('Please call "parseValues" function first in order to make "parsedValue" data');switch(uW.assertEmpty(this.parsedValue.integrityMode,"integrityMode","parsedValue"),uW.assertEmpty(this.parsedValue.authenticatedSafe,"authenticatedSafe","parsedValue"),this.parsedValue.integrityMode){case 0:{if(!("iterations"in e))throw new uW("iterations");uW.assertEmpty(e.pbkdf2HashAlgorithm,"pbkdf2HashAlgorithm"),uW.assertEmpty(e.hmacHashAlgorithm,"hmacHashAlgorithm"),uW.assertEmpty(e.password,"password");let r=new ArrayBuffer(64),i=new Uint8Array(r);t.getRandomValues(i);let a=this.parsedValue.authenticatedSafe.toSchema().toBER(!1);this.authSafe=new mR({contentType:mR.DATA,content:new tq({valueHex:a})});let n=await t.stampDataWithPassword({password:e.password,hashAlgorithm:e.hmacHashAlgorithm,salt:r,iterationCount:e.iterations,contentToStamp:a});this.macData=new w0({mac:new wH({digestAlgorithm:new cu({algorithmId:t.getOIDByAlgorithm({name:e.hmacHashAlgorithm},!0,"hmacHashAlgorithm")}),digest:new tq({valueHex:n})}),macSalt:new tq({valueHex:r}),iterations:e.iterations})}break;case 1:{if(!("signingCertificate"in e))throw new uW("signingCertificate");uW.assertEmpty(e.privateKey,"privateKey"),uW.assertEmpty(e.hashAlgorithm,"hashAlgorithm");let r=this.parsedValue.authenticatedSafe.toSchema().toBER(!1),i=new vv({version:1,encapContentInfo:new wZ({eContentType:"1.2.840.113549.1.7.1",eContent:new tq({valueHex:r})}),certificates:[e.signingCertificate]}),a=await t.digest({name:e.hashAlgorithm},new Uint8Array(r)),n=[];n.push(new cg({type:"1.2.840.113549.1.9.3",values:[new tz({value:"1.2.840.113549.1.7.1"})]})),n.push(new cg({type:"1.2.840.113549.1.9.5",values:[new ru({valueDate:new Date})]})),n.push(new cg({type:"1.2.840.113549.1.9.4",values:[new tq({valueHex:a})]})),i.signerInfos.push(new bG({version:1,sid:new gf({issuer:e.signingCertificate.issuer,serialNumber:e.signingCertificate.serialNumber}),signedAttrs:new bR({type:0,attributes:n})})),await i.sign(e.privateKey,0,e.hashAlgorithm,void 0,t),this.authSafe=new mR({contentType:"1.2.840.113549.1.7.2",content:i.toSchema(!0)})}break;default:throw Error(`Parameter "integrityMode" has unknown value: ${this.parsedValue.integrityMode}`)}}async parseInternalValues(e,t=hr(!0)){switch(uH.assert(e,"parameters","object"),void 0===e.checkIntegrity&&(e.checkIntegrity=!0),this.parsedValue={},this.authSafe.contentType){case mR.DATA:{uW.assertEmpty(e.password,"password"),this.parsedValue.integrityMode=0,uH.assert(this.authSafe.content,"authSafe.content",tq);let r=this.authSafe.content.getValue();if(this.parsedValue.authenticatedSafe=yW.fromBER(r),e.checkIntegrity){if(!this.macData)throw Error('Absent "macData" value, can not check PKCS#12 data integrity');let i=t.getAlgorithmByOID(this.macData.mac.digestAlgorithm.algorithmId,!0,"digestAlgorithm");if(!await t.verifyDataStampedWithPassword({password:e.password,hashAlgorithm:i.name,salt:eV.toArrayBuffer(this.macData.macSalt.valueBlock.valueHexView),iterationCount:this.macData.iterations||1,contentToVerify:r,signatureToVerify:eV.toArrayBuffer(this.macData.mac.digest.valueBlock.valueHexView)}))throw Error("Integrity for the PKCS#12 data is broken!")}}break;case mR.SIGNED_DATA:{this.parsedValue.integrityMode=1;let e=new vv({schema:this.authSafe.content}),r=e.encapContentInfo.eContent;uW.assert(r,"eContent","cmsSigned.encapContentInfo"),uH.assert(r,"eContent",tq);let i=r.getValue();if(this.parsedValue.authenticatedSafe=yW.fromBER(i),!await e.verify({signer:0,checkChain:!1},t))throw Error("Integrity for the PKCS#12 data is broken!")}break;default:throw Error(`Incorrect value for "this.authSafe.contentType": ${this.authSafe.contentType}`)}}}vA.CLASS_NAME="PFX";let v_="status",vC="statusStrings",vR="failInfo",vT=[v_,vC,vR];(v=eq||(eq={}))[v.granted=0]="granted",v[v.grantedWithMods=1]="grantedWithMods",v[v.rejection=2]="rejection",v[v.waiting=3]="waiting",v[v.revocationWarning=4]="revocationWarning",v[v.revocationNotification=5]="revocationNotification";class vD extends uz{constructor(e={}){super(),this.status=eQ(e,v_,vD.defaultValues(v_)),vC in e&&(this.statusStrings=eQ(e,vC,vD.defaultValues(vC))),vR in e&&(this.failInfo=eQ(e,vR,vD.defaultValues(vR))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case v_:return 2;case vC:return[];case vR:return new tF;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case v_:return t===vD.defaultValues(e);case vC:return 0===t.length;case vR:return t.isEqual(vD.defaultValues(e));default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||"",value:[new tG({name:t.status||""}),new tX({optional:!0,value:[new rw({name:t.statusStrings||"",value:new t6})]}),new tF({name:t.failInfo||"",optional:!0})]})}fromSchema(e){ta(e,vT);let t=rv(e,e,vD.schema({names:{status:v_,statusStrings:vC,failInfo:vR}}));uJ.assertSchema(t,this.className);let r=t.result.status;if(!0===r.valueBlock.isHexOnly||r.valueBlock.valueDec<0||r.valueBlock.valueDec>5)throw Error('PKIStatusInfo "status" has invalid value');this.status=r.valueBlock.valueDec,vC in t.result&&(this.statusStrings=t.result.statusStrings),vR in t.result&&(this.failInfo=t.result.failInfo)}toSchema(){let e=[];return e.push(new tG({value:this.status})),this.statusStrings&&e.push(new tX({optional:!0,value:this.statusStrings})),this.failInfo&&e.push(this.failInfo),new tX({value:e})}toJSON(){let e={status:this.status};return this.statusStrings&&(e.statusStrings=Array.from(this.statusStrings,e=>e.toJSON())),this.failInfo&&(e.failInfo=this.failInfo.toJSON()),e}}vD.CLASS_NAME="PKIStatusInfo";let vN="version",vO="messageImprint",vP="reqPolicy",v$="nonce",vU="certReq",vB="extensions",vj="TimeStampReq",vL=`${vj}.${vN}`,vq=`${vj}.${vO}`,vM=`${vj}.${vP}`,vF=`${vj}.${v$}`,vK=`${vj}.${vU}`,vV=`${vj}.${vB}`,vG=[vL,vq,vM,vF,vK,vV];class vH extends uz{constructor(e={}){super(),this.version=eQ(e,vN,vH.defaultValues(vN)),this.messageImprint=eQ(e,vO,vH.defaultValues(vO)),vP in e&&(this.reqPolicy=eQ(e,vP,vH.defaultValues(vP))),v$ in e&&(this.nonce=eQ(e,v$,vH.defaultValues(v$))),vU in e&&(this.certReq=eQ(e,vU,vH.defaultValues(vU))),vB in e&&(this.extensions=eQ(e,vB,vH.defaultValues(vB))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case vN:return 0;case vO:return new w4;case vP:return"";case v$:return new tG;case vU:return!1;case vB:return[];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case vN:case vP:case vU:return t===vH.defaultValues(e);case vO:return w4.compareWithDefault("hashAlgorithm",t.hashAlgorithm)&&w4.compareWithDefault("hashedMessage",t.hashedMessage);case v$:return t.isEqual(vH.defaultValues(e));case vB:return 0===t.length;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||vj,value:[new tG({name:t.version||vL}),w4.schema(t.messageImprint||{names:{blockName:vq}}),new tz({name:t.reqPolicy||vM,optional:!0}),new tG({name:t.nonce||vF,optional:!0}),new tj({name:t.certReq||vK,optional:!0}),new tO({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new rw({name:t.extensions||vV,value:hN.schema()})]})]})}fromSchema(e){ta(e,vG);let t=rv(e,e,vH.schema());uJ.assertSchema(t,this.className),this.version=t.result[vL].valueBlock.valueDec,this.messageImprint=new w4({schema:t.result[vq]}),vM in t.result&&(this.reqPolicy=t.result[vM].valueBlock.toString()),vF in t.result&&(this.nonce=t.result[vF]),vK in t.result&&(this.certReq=t.result[vK].valueBlock.value),vV in t.result&&(this.extensions=Array.from(t.result[vV],e=>new hN({schema:e})))}toSchema(){let e=[];return e.push(new tG({value:this.version})),e.push(this.messageImprint.toSchema()),this.reqPolicy&&e.push(new tz({value:this.reqPolicy})),this.nonce&&e.push(this.nonce),vU in this&&!1===vH.compareWithDefault(vU,this.certReq)&&e.push(new tj({value:this.certReq})),this.extensions&&e.push(new tO({idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.extensions,e=>e.toSchema())})),new tX({value:e})}toJSON(){let e={version:this.version,messageImprint:this.messageImprint.toJSON()};return void 0!==this.reqPolicy&&(e.reqPolicy=this.reqPolicy),void 0!==this.nonce&&(e.nonce=this.nonce.toJSON()),void 0!==this.certReq&&!1===vH.compareWithDefault(vU,this.certReq)&&(e.certReq=this.certReq),this.extensions&&(e.extensions=Array.from(this.extensions,e=>e.toJSON())),e}}vH.CLASS_NAME="TimeStampReq";let vW="status",vJ="timeStampToken",vz="TimeStampResp",vZ=`${vz}.${vW}`,vY=`${vz}.${vJ}`,vQ=[vZ,vY];class vX extends uz{constructor(e={}){super(),this.status=eQ(e,vW,vX.defaultValues(vW)),vJ in e&&(this.timeStampToken=eQ(e,vJ,vX.defaultValues(vJ))),e.schema&&this.fromSchema(e.schema)}static defaultValues(e){switch(e){case vW:return new vD;case vJ:return new mR;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case vW:return vD.compareWithDefault(vW,t.status)&&"statusStrings"in t==!1&&"failInfo"in t==!1;case vJ:return""===t.contentType&&t.content instanceof rg;default:return super.defaultValues(e)}}static schema(e={}){let t=eQ(e,"names",{});return new tX({name:t.blockName||vz,value:[vD.schema(t.status||{names:{blockName:vZ}}),mR.schema(t.timeStampToken||{names:{blockName:vY,optional:!0}})]})}fromSchema(e){ta(e,vQ);let t=rv(e,e,vX.schema());uJ.assertSchema(t,this.className),this.status=new vD({schema:t.result[vZ]}),vY in t.result&&(this.timeStampToken=new mR({schema:t.result[vY]}))}toSchema(){let e=[];return e.push(this.status.toSchema()),this.timeStampToken&&e.push(this.timeStampToken.toSchema()),new tX({value:e})}toJSON(){let e={status:this.status.toJSON()};return this.timeStampToken&&(e.timeStampToken=this.timeStampToken.toJSON()),e}async sign(e,t,r=hr(!0)){return this.assertContentType(),new vv({schema:this.timeStampToken.content}).sign(e,0,t,void 0,r)}async verify(e={signer:0,trustedCerts:[],data:uG},t=hr(!0)){return this.assertContentType(),new vv({schema:this.timeStampToken.content}).verify(e,t)}assertContentType(){if(!this.timeStampToken)throw Error("timeStampToken is absent in TSP response");if(this.timeStampToken.contentType!==cL)throw Error(`Wrong format of timeStampToken: ${this.timeStampToken.contentType}`)}}if(vX.CLASS_NAME="TimeStampResp","u">typeof globalThis&&"crypto"in globalThis){let e="webcrypto";"webkitSubtle"in globalThis.crypto&&(e="safari"),ht(e,new p9({name:e,crypto:globalThis.crypto}))}else if("u">typeof crypto&&"webcrypto"in crypto){let e="NodeJS ^15";ht(e,new p9({name:e,crypto:crypto.webcrypto}))}let v0=new TextEncoder,v1=new TextDecoder("utf-8",{fatal:!0}),v2=eK.webcrypto,v3=new p9({name:"node",crypto:v2}),v4={name:"RSASSA-PKCS1-v1_5",hash:"SHA-256",publicExponent:new Uint8Array([1,0,1]),modulusLength:2048},v6=`-----BEGIN CERTIFICATE-----
594
594
  MIIDaTCCAlGgAwIBAgIBATANBgkqhkiG9w0BAQUFADB5MQswCQYDVQQGEwJVUzET
595
595
  MBEGA1UEChMKQXBwbGUgSW5jLjEmMCQGA1UECxMdQXBwbGUgQ2VydGlmaWNhdGlv