@blockcerts/blockcerts-verifier 1.72.4 → 1.73.0

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 (48) hide show
  1. package/README.md +8 -0
  2. package/bundle-stats.html +1 -1
  3. package/codecov +0 -0
  4. package/codecov.SHA256SUM +1 -0
  5. package/codecov.SHA256SUM.sig +16 -0
  6. package/coverage/lcov.info +475 -472
  7. package/dist/{DataIntegrityProof-x-pKdBCc-B_YUlE0Z.js → DataIntegrityProof-D8TnXEkl-CGiIg0kn.js} +2 -2
  8. package/dist/{EcdsaSd2023-CU35O_1w-CISk0lEt.js → EcdsaSd2023-D2eJBmaY-mHNjbn8h.js} +11 -15
  9. package/dist/EcdsaSecp256k1Signature2019-BRdQnZ0o-D_QN8KrS.js +1 -0
  10. package/dist/{Ed25519Signature2020-B6yblwC5-BRlzT2Yc.js → Ed25519Signature2020-D2tdrIA4-PSi5TCQH.js} +5 -5
  11. package/dist/{EddsaRdfc2022-Csk9U_qt-B798omlR.js → EddsaRdfc2022-CpZAUc7W-BJP0532C.js} +3 -3
  12. package/dist/MerkleProof2017-DW_9FhLr-C0dPtifx.js +1 -0
  13. package/dist/MerkleProof2019-DJbo7uW--CHlhsnHk.js +5 -0
  14. package/dist/Suite-BmP2Qu19-D1ucdMDB.js +1 -0
  15. package/dist/_polyfill-node.path-hKwMKLNw-B7aPtphV.js +1 -0
  16. package/dist/checkBitStringStatusList-BUPuVWy_-CYedocxJ.js +13 -0
  17. package/dist/checkCredentialSchemaConformity-CJdGwNcY-CaSak-bD.js +1 -0
  18. package/dist/{controlVerificationMethod-Cuyek_Vk-C_Uq2iA5.js → controlVerificationMethod-C71lJp3H-n-AbzkO8.js} +1 -1
  19. package/dist/{downloadPDF-UAsY-nU_.js → downloadPDF-BU6CfP-N.js} +2 -2
  20. package/dist/{ensureNotRevoked-CNUfpW4F-BheL-ZKZ.js → ensureNotRevoked-BWp1jPEo-DSQMtjrj.js} +1 -1
  21. package/dist/ensureValidIssuingKey-BYAR3LEF-76kiqVKA.js +1 -0
  22. package/dist/{index-DNlz8u7B-CYTlxhyY.js → index-BCu3PGuw-Dh4-8Ruv.js} +1 -1
  23. package/dist/index-CB7VaVsF-G_Mj6xql.js +30 -0
  24. package/dist/index-Jn9Q6fuB-uChPhl1c.js +56 -0
  25. package/dist/{index.es-CnYWLNZV.js → index.es-C2GPR7m7.js} +1 -1
  26. package/dist/jsonld-DqC1oHcn-ruRlORc0.js +88 -0
  27. package/dist/main.js +85 -85
  28. package/dist/purify.es-C6IIzwyE.js +2 -0
  29. package/dist/{retrieveVerificationMethodPublicKey-DcEGtx_h-D1zuvtQB.js → retrieveVerificationMethodPublicKey-Dai7em0K-BqIH8qzD.js} +1 -1
  30. package/dist/verifyIssuerProfile-zkczSLpC-CTHpISfH.js +1 -0
  31. package/package.json +9 -9
  32. package/dist/EcdsaSecp256k1Signature2019-DiXIv8yq-B2kEN_Qo.js +0 -1
  33. package/dist/MerkleProof2017-BIJKwMk5-CLYAJK4G.js +0 -1
  34. package/dist/MerkleProof2019-CeAt2OGM-DOuISx_E.js +0 -5
  35. package/dist/Suite-CBLHluYK-Dmvbh142.js +0 -33
  36. package/dist/checkCredentialSchemaConformity-CECtM4WI-C1vg05zb.js +0 -1
  37. package/dist/checkRevocationStatusList2021-B7NFlV-5-C3Zng1tA.js +0 -13
  38. package/dist/ensureValidIssuingKey-DN2kpCwj-DY8BTObG.js +0 -1
  39. package/dist/index-DFOHyoZq-BCuOIg2Z.js +0 -29
  40. package/dist/jsonld-signatures-BtZPa7MV-DTekMXP5.js +0 -56
  41. package/dist/pako.esm-BGRKTPxS-Bodm4Eha.js +0 -2
  42. package/dist/purify.es-Om653OSQ.js +0 -2
  43. package/dist/sha2-JcCWfgvE-By1_saxP.js +0 -2
  44. package/dist/verifyIssuerProfile-DQji41Fc-l31-7imR.js +0 -1
  45. /package/dist/{HashlinkVerifier-Bi7nn19S-DMjUYzMR.js → HashlinkVerifier-BcdAFe02-DMjUYzMR.js} +0 -0
  46. /package/dist/{index-6G1g4ypj-Dgus2xdV.js → index-KzSDgEl9-Dgus2xdV.js} +0 -0
  47. /package/dist/{index-D7PA_QcD-CyttRwCk.js → index-OtXtCWrq-CyttRwCk.js} +0 -0
  48. /package/dist/{webcrypto.es-aoUxIxUm-gGk5JRJH.js → webcrypto.es-9hytEjC6-gGk5JRJH.js} +0 -0
@@ -1 +1 @@
1
- import{B as e}from"./main.js";var t,r,n,s,o,i,a,c,l,u,p,d,f,m,y,h,g,w,b,$,v,j;function O(){if(r)return t;r=1;class e extends String{}const n=new Set(["<",">","<=",">="]),s=(t,...r)=>{const o=t.replace(/%[%drscjw]/g,t=>{if("%%"===t)return"%";if(0===r.length)throw new Error("Unexpected arguments count");const o=r.shift();switch(t){case"%d":if("number"==typeof o)return o;throw new Error("Expected a number");case"%r":if(o instanceof RegExp)return s("new RegExp(%j, %j)",o.source,o.flags);throw new Error("Expected a RegExp instance");case"%s":if(o instanceof e)return o;throw new Error("Expected a safe string");case"%c":if(n.has(o))return o;throw new Error("Expected a compare op");case"%j":return(e=>{if([1/0,-1/0,NaN,void 0,null].includes(e))return`${e}`;if(!["string","boolean","number"].includes(typeof e)){if("object"!=typeof e)throw new Error("Unexpected value type");const t=Object.getPrototypeOf(e);if(!(t===Array.prototype&&Array.isArray(e)||t===Object.prototype))throw new Error("Unexpected object given as value")}return JSON.stringify(e).replace(/([{,])"__proto__":/g,'$1["__proto__"]:').replace(/[^\\]"__proto__":/g,()=>{throw new Error("Unreachable")}).replace(/[\u2028\u2029]/g,e=>`\\u${e.charCodeAt(0).toString(16).padStart(4,"0")}`)})(o);case"%w":if(Number.isInteger(o)&&o>=0)return" ".repeat(o);throw new Error("Expected a non-negative integer for indentation")}throw new Error("Unreachable")});if(0!==r.length)throw new Error("Unexpected arguments count");return new e(o)},o=t=>{if(!/^[a-z][a-z0-9_]*$/i.test(t))throw new Error("Does not look like a safe id");return new e(t)},i=t=>(...r)=>{if(!r.every(t=>t instanceof e))throw new Error("Unsafe arguments");return new e(t(...r))},a=i((...e)=>e.some(e=>"true"==`${e}`)?"true":e.join(" || ")||"false"),c=i((...e)=>e.some(e=>"false"==`${e}`)?"false":e.join(" && ")||"true"),l=e=>"true"==`${e}`?o("false"):"false"==`${e}`?o("true"):s("!%s",(e=>/^[a-z][a-z0-9_().]*$/i.test(e)||/^\([^()]+\)$/i.test(e)?e:s("(%s)",e))(e));return t={format:s,safe:o,safeand:c,safenot:l,safenotor:(...e)=>l(a(...e))}}function x(){if(s)return n;s=1;const{safe:e}=O(),t=new WeakMap;return n={scopeMethods:r=>{t.has(r)||t.set(r,{sym:new Map,ref:new Map,format:new Map,pattern:new Map});const n=t.get(r),s=t=>{n.sym.get(t)||n.sym.set(t,0);const r=n.sym.get(t);return n.sym.set(t,r+1),e(`${t}${r}`)};n.loop||(n.loop="ijklmnopqrstuvxyz".split(""));return{gensym:s,genpattern:e=>{if(n.pattern.has(e))return n.pattern.get(e);const t=s("pattern");return r[t]=new RegExp(e,"u"),n.pattern.set(e,t),t},genloop:()=>{const t=n.loop.shift();return n.loop.push(`${t}${t[0]}`),e(t)},getref:e=>n.ref.get(e),genref:e=>{const t=s("ref");return n.ref.set(e,t),t},genformat:e=>{let t=n.format.get(e);return t||(t=s("format"),r[t]=e,n.format.set(e,t)),t}}}}}function E(){if(i)return o;i=1;const t=(e,r)=>{if(e===r)return!0;if(!e||!r||typeof e!=typeof r)return!1;if(e!==r&&"object"!=typeof e)return!1;const n=Object.getPrototypeOf(e);if(n!==Object.getPrototypeOf(r))return!1;if(n===Array.prototype)return!(!Array.isArray(e)||!Array.isArray(r))&&(e.length===r.length&&e.every((e,n)=>t(e,r[n])));if(n===Object.prototype){const[n,s]=[Object.keys(e),Object.keys(r)];if(n.length!==s.length)return!1;return new Set([...n,...s]).size===n.length&&n.every(n=>t(e[n],r[n]))}return!1},r=Function.prototype.call.bind(Object.prototype.hasOwnProperty);r[Symbol.for("toJayString")]="Function.prototype.call.bind(Object.prototype.hasOwnProperty)";const n=e=>/~\//.test(e)?`${e}`.replace(/~/g,"~0").replace(/\//g,"~1"):e;return o={stringLength:e=>/[\uD800-\uDFFF]/.test(e)?[...e].length:e.length,isMultipleOf:(e,t,r,n)=>{if(e%t===0)return!0;let s=e*r;if(s!==1/0&&s!==-1/0||(s=e),s%n===0)return!0;const o=Math.floor(s+.5);return o/r===e&&o%n===0},deepEqual:t,unique:e=>{if(e.length<2)return!0;if(2===e.length)return!t(e[0],e[1]);const r=[],n=e.length>20?new Set:null;let s=0,o=0;for(const t of e){if("object"==typeof t)r.push(t);else if(n){if(n.add(t),n.size!==++s)return!1}else if(-1!==e.indexOf(t,o+1))return!1;o++}for(let e=1;e<r.length;e++)for(let n=0;n<e;n++)if(t(r[e],r[n]))return!1;return!0},deBase64:t=>{if(void 0!==e)return e.from(t,"base64").toString("utf-8");const r=atob(t);return new TextDecoder("utf-8").decode(new Uint8Array(r.length).map((e,t)=>r.charCodeAt(t)))},hasOwn:r,...{toPointer:e=>0===e.length?"#":`#/${e.map(n).join("/")}`,pointerPart:n,errorMerge:({keywordLocation:e,instanceLocation:t},r,n)=>({keywordLocation:`${r}${e.slice(1)}`,instanceLocation:`${n}${t.slice(1)}`}),propertyIn:(e,[t,r])=>t.includes(!0)||t.some(t=>t===e)||r.some(t=>new RegExp(t,"u").test(e)),dynamicResolve:(e,t)=>(e.filter(e=>e[t])[0]||{})[t]}}}function k(){if(c)return a;c=1;const{format:e,safe:t}=O(),{scopeMethods:r}=x(),n=E(),s=new Map(Object.entries({null:t=>e("%s === null",t),boolean:t=>e('typeof %s === "boolean"',t),array:t=>e("Array.isArray(%s)",t),object:t=>e('typeof %s === "object" && %s && !Array.isArray(%s)',t,t,t),number:t=>e('typeof %s === "number"',t),integer:t=>e("Number.isInteger(%s)",t),string:t=>e('typeof %s === "string"',t)})),o=({name:r,parent:n,keyval:s,keyname:i})=>{if(r){if(n||s||i)throw new Error("name can be used only stand-alone");return r}if(!n)throw new Error("Can not use property of undefined parent!");const a=o(n);if(void 0!==s){if(i)throw new Error("Can not use key value and name together");if(!["string","number"].includes(typeof s))throw new Error("Invalid property path");return/^[a-z][a-z0-9_]*$/i.test(s)?e("%s.%s",a,t(s)):e("%s[%j]",a,s)}if(i)return e("%s[%s]",a,i);throw new Error("Unreachable")},i=new Set([].concat(...[Object,Array,String,Number,Boolean].map(e=>Object.getOwnPropertyNames(e.prototype)))),l=/^\([^)]*\) *=>/,u=/^[^=]*=>/,p=Symbol.for("toJayString");return a={types:s,buildName:o,jsHelpers:(t,a,c,{unmodifiedPrototypes:l,isJSON:u},p)=>{const{gensym:d,genpattern:f,genloop:m}=r(a,c);return{present:t=>{const r=o(t),{parent:s,keyval:c,keyname:p,inKeys:d,checked:f}=t;if(f||d&&u)throw new Error("Unreachable: useless check for undefined");if(d)return e("%s !== undefined",r);if(s&&p){a.hasOwn=n.hasOwn;const t=o(s);return u?e("%s !== undefined && hasOwn(%s, %s)",r,t,p):e("%s in %s && hasOwn(%s, %s)",p,t,t,p)}if(s&&void 0!==c){if(l&&u&&!i.has(`${c}`))return e("%s !== undefined",r);a.hasOwn=n.hasOwn;const t=o(s);return u?e("%s !== undefined && hasOwn(%s, %j)",r,t,c):e("%j in %s && hasOwn(%s, %j)",c,t,t,c)}throw new Error("Unreachable: present() check without parent")},forObjectKeys:(r,n)=>{const s=d("key");t.block(e("for (const %s of Object.keys(%s))",s,o(r)),()=>{n(c(r,s,!0),s)})},forArray:(r,n,s)=>{const i=m(),a=o(r);t.block(e("for (let %s = %s; %s < %s.length; %s++)",i,n,i,a,i),()=>{s(c(r,i,l,!0),i)})},patternTest:(t,r)=>{const n=t.replace(/[.^$|*+?(){}[\]\\]/gu,"");if(t===`^${n}$`)return e("(%s === %j)",r,t.slice(1,-1));if(p.has(t))return e("true");if([n,`${n}+`,`${n}.*`,`.*${n}.*`].includes(t))return e("%s.includes(%j)",r,n);if([`^${n}`,`^${n}+`,`^${n}.*`].includes(t))return e("%s.startsWith(%j)",r,n);if([`${n}$`,`.*${n}$`].includes(t))return e("%s.endsWith(%j)",r,n);const s=[...n].slice(0,-1).join("");return[`${n}*`,`${n}?`].includes(t)?0===s.length?e("true"):e("%s.includes(%j)",r,s):[`^${n}*`,`^${n}?`].includes(t)?0===s.length?e("true"):e("%s.startsWith(%j)",r,s):e("%s.test(%s)",f(t),r)},compare:(t,r)=>{if(!r||"object"!=typeof r)return e("%s === %j",t,r);let o;const i=e=>e.length<=3&&e.every(e=>!e||"object"!=typeof e);if(Array.isArray(r)){if(o=s.get("array")(t),i(r)){let n=e("%s.length === %d",t,r.length);for(let s=0;s<r.length;s++)n=e("%s && %s[%d] === %j",n,t,s,r[s]);return e("%s && %s",o,n)}}else{o=s.get("object")(t);const[c,l]=[Object.keys(r),Object.values(r)];if(i(l)){let s=e("Object.keys(%s).length === %d",t,c.length);c.length>0&&(a.hasOwn=n.hasOwn);for(const r of c)s=e("%s && hasOwn(%s, %j)",s,t,r);for(const n of c)s=e("%s && %s[%j] === %j",s,t,n,r[n]);return e("%s && %s",o,s)}}return a.deepEqual=n.deepEqual,e("%s && deepEqual(%s, %j)",o,t,r)},propvar:c}},jaystring:function(t){if("function"==typeof t){if(t[p])return t[p];if(Object.getPrototypeOf(t)!==Function.prototype)throw new Error("Can not stringify: a function with unexpected prototype");const e=`${t}`;if(t.prototype){if(!/^function[ (]/.test(e))throw new Error("Unexpected function");return e}if(l.test(e)||u.test(e))return e;throw new Error("Can not stringify: only either normal or arrow functions are supported")}if("object"==typeof t){const r=Object.getPrototypeOf(t);if(t instanceof RegExp&&r===RegExp.prototype)return e("%r",t);throw new Error("Can not stringify: an object with unexpected prototype")}throw new Error("Can not stringify: unknown type "+typeof t)}}}function A(){if(u)return l;u=1;const{format:e,safe:t,safenot:r}=O(),{jaystring:n}=k(),s=/[{[]/,o=/[}\]]/;return l=()=>{const i=[];let a=0;const c=()=>{if(0!==a)throw new Error("Unexpected indent at build()");const t=i.map(t=>e("%w%s",2*t.indent,t.code)).join("\n");return/^[a-z][a-z0-9]*$/i.test(t)?`return ${t}`:`return (${t})`},l=e=>{const t=Object.entries(e);for(const[e,r]of t){if(!/^[a-z][a-z0-9]*$/i.test(e))throw new Error("Unexpected scope key!");if(!("function"==typeof r||r instanceof RegExp))throw new Error("Unexpected scope value!")}return t};return{optimizedOut:!1,size:()=>i.length,write(t,...r){if("string"!=typeof t)throw new Error("Format must be a string!");if(t.includes("\n"))throw new Error("Only single lines are supported");var n;return n=e(t,...r),o.test(n.trim()[0])&&a--,i.push({indent:a,code:n}),s.test(n[n.length-1])&&a++,!0},block(e,t,r=!1){const n=a;this.write("%s {",e);const s=i.length;if(t(),s===i.length)return i.pop(),a=n,!1;if(s===i.length-1&&!r){const{code:t}=i[i.length-1];if(!/^(if|for) /.test(t))return i.length-=2,a=n,this.write("%s %s",e,t)}return this.write("}")},if(t,n,s){"false"==`${t}`?(s&&s(),n&&(this.optimizedOut=!0)):"true"==`${t}`?(n&&n(),s&&(this.optimizedOut=!0)):n&&this.block(e("if (%s)",t),n,!!s)?s&&this.block(e("else"),s):s&&this.if(r(t),s)},makeModule:(e={})=>`(function() {\n'use strict'\n${l(e).map(([e,r])=>`const ${t(e)} = ${n(r)};`).join("\n")}\n${c()}})()`,makeFunction(e={}){const t=l(e),r=t.map(e=>e[0]),n=t.map(e=>e[1]);return Function(...r,`'use strict'\n${c()}`)(...n)}}}}function S(){if(d)return p;d=1;const e=["$schema","$vocabulary","id","$id","$anchor","$ref","definitions","$defs","$recursiveRef","$recursiveAnchor","$dynamicAnchor","$dynamicRef","type","required","default","enum","const","not","allOf","anyOf","oneOf","if","then","else","maximum","minimum","exclusiveMaximum","exclusiveMinimum","multipleOf","divisibleBy","items","maxItems","minItems","additionalItems","prefixItems","contains","minContains","maxContains","uniqueItems","maxLength","minLength","format","pattern","contentEncoding","contentMediaType","contentSchema","properties","maxProperties","minProperties","additionalProperties","patternProperties","propertyNames","dependencies","dependentRequired","dependentSchemas","propertyDependencies","unevaluatedProperties","unevaluatedItems","title","description","deprecated","readOnly","writeOnly","examples","$comment","example","discriminator","removeAdditional"],t=["draft/next","draft/2020-12","draft/2019-09","draft-07","draft-06","draft-04","draft-03"].map(e=>`https://json-schema.org/${e}/schema`),r=["core","applicator","unevaluated","validation","meta-data","format-annotation","format-assertion","content"],n=[...["core","applicator","validation","meta-data","format","content"].map(e=>`https://json-schema.org/draft/2019-09/vocab/${e}`),...r.map(e=>`https://json-schema.org/draft/2020-12/vocab/${e}`)];return p={knownKeywords:e,schemaVersions:t,knownVocabularies:n}}function z(){if(m)return f;m=1;const{knownKeywords:e}=S();function t(e,t,r,n="keys"){if(!e.has(t))return e.set(t,r);if(e.get(t)!==r)throw new Error(`Conflicting duplicate ${n}: ${t}`)}function r(e){return e.includes("~")?e.replace(/~[01]/g,e=>{switch(e){case"~1":return"/";case"~0":return"~"}throw new Error("Unreachable")}):e}function n(e,t,n){if("object"!=typeof e)throw new Error("Invalid input object");if("string"!=typeof t)throw new Error("Invalid JSON pointer");const s=t.split("/");if(!["","#"].includes(s.shift()))throw new Error("Invalid JSON pointer");if(0===s.length)return e;let o=e;for(const e of s){if("string"!=typeof e)throw new Error("Invalid JSON pointer");n&&n.push(o);const t=r(e);if("object"!=typeof o)return;if(!Object.prototype.hasOwnProperty.call(o,t))return;o=o[t]}return o}const s=/^https?:\/\//;function o(e,t){if("string"!=typeof e||"string"!=typeof t)throw new Error("Unexpected path!");if(0===t.length)return e;const r=e.replace(/#.*/,"");return t.startsWith("#")?`${r}${t}`:!r.includes("/")||s.test(t)?t:s.test(r)?`${new URL(t,r)}`:t.startsWith("/")?t:[...r.split("/").slice(0,-1),t].join("/")}function i(e){return e.map(e=>e&&(e.$id||e.id)||"").filter(e=>e&&"string"==typeof e).reduce(o,"")}const a=["properties","patternProperties","$defs","definitions"],c=["const","enum","examples","example","comment"],l=Symbol("skip");function u(t,r){const n=(t,s=!1)=>{if(!t||"object"!=typeof t)return;const o=r(t);if(void 0!==o)return o===l?void 0:o;for(const r of Object.keys(t)){if(!s&&!Array.isArray(t)&&!e.includes(r))continue;if(!s&&c.includes(r))continue;const o=n(t[r],!s&&a.includes(r));if(void 0!==o)return o}};return n(t)}const p=(e,r,n=!1)=>{if(!Array.isArray(r))throw new Error("Expected an array of schemas");for(const s of r)u(s,r=>{const o=r.$id||r.id,i=o&&"string"==typeof o?o.replace(/#$/,""):null;if(i&&i.includes("://")&&!i.includes("#"))t(e,i,r,"schema $id in 'schemas'");else if(r===s&&!n)throw new Error("Schema with missing or invalid $id in 'schemas'")});return e},d=(e,t)=>{if(t)return p(d(e),t,!0);if(e)switch(Object.getPrototypeOf(e)){case Object.prototype:return new Map(Object.entries(e));case Map.prototype:return new Map(e);case Array.prototype:return p(new Map,e)}throw new Error("Unexpected value for 'schemas' option")};return f={get:n,joinPath:o,resolveReference:function t(r,s,l,u=""){const p=o(u,l),d=[],[f,m=""]=p.split("#"),y=decodeURI(m),h=(t,s,l=!1,u=!1)=>{if(!t||"object"!=typeof t)return;const m=t.$id||t.id;let g=s;if(m&&"string"==typeof m)if(g=o(g,m),g===p||g===f&&""===y)d.push([t,r,s]);else if(g===f&&"/"===y[0]){const e=[],a=n(t,y,e);void 0!==a&&d.push([a,r,o(s,i(e))])}const w=u?t.$dynamicAnchor:t.$anchor;if(w&&"string"==typeof w){if(w.includes("#"))throw new Error("$anchor can't include '#'");if(w.startsWith("/"))throw new Error("$anchor can't start with '/'");g=o(g,`#${w}`),g===p&&d.push([t,r,s])}for(const r of Object.keys(t))(l||Array.isArray(t)||e.includes(r))&&(!l&&c.includes(r)||h(t[r],g,!l&&a.includes(r)));!u&&t.$dynamicAnchor&&h(t,s,l,!0)};if(h(r,f),f===u.replace(/#$/,"")&&("/"===y[0]||""===y)){const e=[],t=n(r,y,e);void 0!==t&&d.push([t,r,i(e)])}if(s.has(f)&&s.get(f)!==r){const e=t(s.get(f),s,`#${m}`,f);d.push(...e.map(([e,t,r])=>[e,t,o(f,r)]))}return s.has(p)&&d.push([s.get(p),s.get(p),p]),d},getDynamicAnchors:function(e){const r=new Map;return u(e,n=>{if(n!==e&&(n.$id||n.id))return l;const s=n.$dynamicAnchor;if(s&&"string"==typeof s){if(s.includes("#"))throw new Error("$dynamicAnchor can't include '#'");if(!/^[a-zA-Z0-9_-]+$/.test(s))throw new Error(`Unsupported $dynamicAnchor: ${s}`);t(r,s,n,"$dynamicAnchor")}}),r},hasKeywords:(e,t)=>u(e,e=>Object.keys(e).some(e=>t.includes(e))||void 0)||!1,buildSchemas:d},f}function M(){if(h)return y;h=1;const e={email:e=>{if(e.length>318)return!1;if(/^[a-z0-9!#$%&'*+/=?^_`{|}~-]{1,20}(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]{1,21}){0,2}@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,60}[a-z0-9])?){0,3}$/i.test(e))return!0;if(!e.includes("@")||/(^\.|^"|\.@|\.\.)/.test(e))return!1;const[t,r,...n]=e.split("@");return!(!t||!r||0!==n.length||t.length>64||r.length>253)&&(!(!/^[a-z0-9.-]+$/i.test(r)||!/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+$/i.test(t))&&r.split(".").every(e=>/^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$/i.test(e)))},hostname:e=>{if(e.length>(e.endsWith(".")?254:253))return!1;return/^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*\.?$/i.test(e)},date:e=>{if(10!==e.length)return!1;if("0"===e[5]&&"2"===e[6]){if(/^\d\d\d\d-02-(?:[012][1-8]|[12]0|[01]9)$/.test(e))return!0;const t=e.match(/^(\d\d\d\d)-02-29$/);if(!t)return!1;const r=0|t[1];return r%16==0||r%4==0&&r%25!=0}return e.endsWith("31")?/^\d\d\d\d-(?:0[13578]|1[02])-31$/.test(e):/^\d\d\d\d-(?:0[13-9]|1[012])-(?:[012][1-9]|[123]0)$/.test(e)},time:e=>{if(e.length>27)return!1;if(!/^(?:2[0-3]|[0-1]\d):[0-5]\d:(?:[0-5]\d|60)(?:\.\d+)?(?:z|[+-](?:2[0-3]|[0-1]\d)(?::?[0-5]\d)?)?$/i.test(e))return!1;if(!/:60/.test(e))return!0;const t=e.match(/([0-9.]+|[^0-9.])/g);let r=60*Number(t[0])+Number(t[2]);return"+"===t[5]?r+=1440-60*Number(t[6]||0)-Number(t[8]||0):"-"===t[5]&&(r+=60*Number(t[6]||0)+Number(t[8]||0)),r%1440==1439},"date-time":e=>{if(e.length>38)return!1;const t="0"===e[5]&&"2"===e[6];if(t&&"3"===e[8]||!/^\d\d\d\d-(?:0[1-9]|1[0-2])-(?:[0-2]\d|3[01])[t\s](?:2[0-3]|[0-1]\d):[0-5]\d:(?:[0-5]\d|60)(?:\.\d+)?(?:z|[+-](?:2[0-3]|[0-1]\d)(?::?[0-5]\d)?)$/i.test(e))return!1;if("6"===e[17]){const t=e.slice(11).match(/([0-9.]+|[^0-9.])/g);let r=60*Number(t[0])+Number(t[2]);if("+"===t[5]?r+=1440-60*Number(t[6]||0)-Number(t[8]||0):"-"===t[5]&&(r+=60*Number(t[6]||0)+Number(t[8]||0)),r%1440!=1439)return!1}if(t){if(/^\d\d\d\d-02-(?:[012][1-8]|[12]0|[01]9)/.test(e))return!0;const t=e.match(/^(\d\d\d\d)-02-29/);if(!t)return!1;const r=0|t[1];return r%16==0||r%4==0&&r%25!=0}return"3"===e[8]&&"1"===e[9]?/^\d\d\d\d-(?:0[13578]|1[02])-31/.test(e):/^\d\d\d\d-(?:0[13-9]|1[012])-(?:[012][1-9]|[123]0)/.test(e)},ipv4:e=>e.length<=15&&/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d\d?)$/.test(e),ipv6:e=>{if(e.length>45||e.length<2)return!1;let t=0,r=0,n=0,s=!1,o=!1,i=0,a=!0;for(let c=0;c<e.length;c++){const l=e.charCodeAt(c);if(1===c&&58===i&&58!==l)return!1;if(l>=48&&l<=57){if(++n>4)return!1}else if(46===l){if(t>6||r>=3||0===n||o)return!1;r++,n=0}else if(58===l){if(r>0||t>=7)return!1;if(58===i){if(s)return!1;s=!0}else 0===c&&(a=!1);t++,n=0,o=!1}else{if(!(l>=97&&l<=102||l>=65&&l<=70))return!1;if(r>0)return!1;if(++n>4)return!1;o=!0}i=l}if(t<2||r>0&&(3!==r||0===n))return!1;if(s&&2===e.length)return!0;if(r>0&&!/(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}$/.test(e))return!1;const c=r>0?6:7;return s?(a||n>0)&&t<c:t===c&&a&&n>0},uri:/^[a-z][a-z0-9+\-.]*:(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|v[0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/?(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|v[0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/?(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?)?(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2}|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,"json-pointer":/^(?:|\/(?:[^~]|~0|~1)*)$/,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:|#|\/(?:[^~]|~0|~1)*)$/,uuid:/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,duration:e=>e.length>1&&e.length<80&&(/^P\d+([.,]\d+)?W$/.test(e)||/^P[\dYMDTHS]*(\d[.,]\d+)?[YMDHS]$/.test(e)&&/^P([.,\d]+Y)?([.,\d]+M)?([.,\d]+D)?(T([.,\d]+H)?([.,\d]+M)?([.,\d]+S)?)?$/.test(e))};return y={core:e,extra:{alpha:/^[a-zA-Z]+$/,alphanumeric:/^[a-zA-Z0-9]+$/,"hex-digits":/^[0-9a-f]+$/i,"hex-digits-prefixed":/^0x[0-9a-f]+$/i,"hex-bytes":/^([0-9a-f][0-9a-f])+$/i,"hex-bytes-prefixed":/^0x([0-9a-f][0-9a-f])+$/i,base64:e=>e.length%4==0&&/^[a-z0-9+/]*={0,3}$/i.test(e),"json-pointer-uri-fragment":/^#(|\/(\/|[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)$/i,"host-name":e.hostname,"ip-address":e.ipv4,color:/^(#[0-9A-Fa-f]{3,6}|aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow|rgb\(\s*([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\s*,\s*([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\s*,\s*([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\s*\)|rgb\(\s*(\d?\d%|100%)\s*,\s*(\d?\d%|100%)\s*,\s*(\d?\d%|100%)\s*\))$/},weak:{regex:e=>{if(e.length>1e5)return!1;if(/[^\\]\\Z/.test(e))return!1;try{return new RegExp(e,"u"),!0}catch(e){return!1}}}}}function q(){if($)return b;$=1;const{format:e,safe:t,safeand:r,safenot:n,safenotor:s}=O(),o=A(),{resolveReference:i,joinPath:a,getDynamicAnchors:c,hasKeywords:l}=z(),u=M(),{toPointer:p,...d}=E(),{scopeMethods:f}=x(),{buildName:m,types:y,jsHelpers:h}=k(),{knownKeywords:v,schemaVersions:j,knownVocabularies:q}=S(),{initTracing:N,andDelta:P,orDelta:I,applyDelta:R,isDynamic:U,inProperties:C}=function(){if(w)return g;w=1;const e=(e,t)=>[...new Set([...e,...t])].sort(),t=(e,t)=>e.filter(e=>t.includes(e)),r=e=>(...t)=>s(e(...t.map(s))),n=(e,t)=>e&&!e.includes(t),s=({type:t=null,dyn:r={},...s})=>({type:t?[...t].sort():t,items:n(t,"array")?1/0:s.items||0,properties:n(t,"object")?[!0]:[...s.properties||[]].sort(),patterns:n(t,"object")?[]:[...s.patterns||[]].sort(),required:n(t,"object")?[]:[...s.required||[]].sort(),fullstring:n(t,"string")||s.fullstring||!1,dyn:{item:!n(t,"array")&&(r.item||!1),items:n(t,"array")?0:Math.max(s.items||0,r.items||0),properties:n(t,"object")?[]:e(s.properties||[],r.properties||[]),patterns:n(t,"object")?[]:e(s.patterns||[],r.patterns||[])},unknown:s.unknown&&!(n(t,"object")&&n(t,"array"))||!1}),o=r((r,n)=>({type:r.type&&n.type?t(r.type,n.type):r.type||n.type||null,items:Math.max(r.items,n.items),properties:e(r.properties,n.properties),patterns:e(r.patterns,n.patterns),required:e(r.required,n.required),fullstring:r.fullstring||n.fullstring,dyn:{item:r.dyn.item||n.dyn.item,items:Math.max(r.dyn.items,n.dyn.items),properties:e(r.dyn.properties,n.dyn.properties),patterns:e(r.dyn.patterns,n.dyn.patterns)},unknown:r.unknown||n.unknown})),i=(e,t)=>!0!==t&&new RegExp(e,"u").test(t),a=({properties:t,patterns:r},{properties:n,patterns:s})=>{const o=t.filter(e=>n.includes(e)||n.includes(!0)||s.some(t=>i(t,e))),a=n.filter(e=>t.includes(e)||t.includes(!0)||r.some(t=>i(t,e))),c=r.filter(e=>s.includes(e)||n.includes(!0)),l=s.filter(e=>r.includes(e)||t.includes(!0));return{properties:e(o,a),patterns:e(c,l)}},c=({properties:e,patterns:t},{properties:r,patterns:n})=>r.every(r=>e.includes(r)||e.includes(!0)||t.some(e=>i(e,r)))&&n.every(r=>t.includes(r)||e.includes(!0)),l=r((r,s)=>({type:r.type&&s.type?e(r.type,s.type):null,items:Math.min(r.items,s.items),...a(r,s),required:n(r.type,"object")&&s.required||n(s.type,"object")&&r.required||t(r.required,s.required),fullstring:r.fullstring&&s.fullstring,dyn:{item:r.dyn.item||s.dyn.item,items:Math.max(r.dyn.items,s.dyn.items),properties:e(r.dyn.properties,s.dyn.properties),patterns:e(r.dyn.patterns,s.dyn.patterns)},unknown:r.unknown||s.unknown})),u=(p=({unknown:e,items:t,dyn:r,...n})=>({items:t!==1/0&&(e||r.items>t||r.item),properties:!n.properties.includes(!0)&&(e||!c(n,r))}),(...e)=>p(...e.map(s)));var p;return g={initTracing:()=>s({}),andDelta:o,orDelta:l,applyDelta:(e,t)=>Object.assign(e,o(e,t)),isDynamic:u,inProperties:c}}(),D=new Set(["^[\\s\\S]*$","^[\\S\\s]*$","^[^]*$","",".*","^","$"]),_=["null","boolean","number","integer","string"],L=new Map(Object.entries({boolean:e=>"boolean"==typeof e,array:e=>Array.isArray(e)&&Object.getPrototypeOf(e)===Array.prototype,object:e=>e&&Object.getPrototypeOf(e)===Object.prototype,finite:e=>Number.isFinite(e),natural:e=>Number.isInteger(e)&&e>=0,string:e=>"string"==typeof e,jsonval:e=>d.deepEqual(e,JSON.parse(JSON.stringify(e)))})),J=L.get("object"),F=e=>J(e)||"boolean"==typeof e,T=(e,t)=>j.indexOf(e)>j.indexOf(`https://json-schema.org/${t}/schema`),V=(e,t)=>{const r=`${e}`.replace(/^http:\/\//,"https://").replace(/#$/,"");return!j.includes(r)||T(r,t)},W=(e,t,r=!1,n=!1)=>Object.freeze({parent:e,keyname:t,inKeys:r,number:n}),K=Symbol("evaluatedStatic"),B=Symbol("optDynamic"),H=Symbol("optDynAnchors"),Z=Symbol("optRecAnchors"),Y=new Set,G=new Map,Q=(g,w,b,$,O="")=>{const{mode:x="default",useDefaults:E=!1,removeAdditional:k=!1,includeErrors:A=!1,allErrors:S=!1,contentValidation:z,dryRun:M,lint:X=!1,allowUnusedKeywords:ee="lax"===b.mode||"spec"===b.mode,allowUnreachable:te="lax"===b.mode||"spec"===b.mode,requireSchema:re="strong"===b.mode,requireValidation:ne="strong"===b.mode,requireStringValidation:se="strong"===b.mode,forbidNoopValues:oe="strong"===b.mode,complexityChecks:ie="strong"===b.mode,unmodifiedPrototypes:ae=!1,isJSON:ce=!1,$schemaDefault:le=null,formatAssertion:ue="spec"!==b.mode||V(w.$schema,"draft/2019-09"),formats:pe={},weakFormats:de="strong"!==b.mode,extraFormats:fe=!1,schemas:me,...ye}=b,he={...u.core,...de?u.weak:{},...fe?u.extra:{},...pe};if(0!==Object.keys(ye).length)throw new Error(`Unknown options: ${Object.keys(ye).join(", ")}`);if(!["strong","lax","default","spec"].includes(x))throw new Error(`Invalid mode: ${x}`);if(!A&&S)throw new Error("allErrors requires includeErrors to be enabled");if(re&&le)throw new Error("requireSchema forbids $schemaDefault");if("strong"===x){const e={...{requireValidation:ne,requireStringValidation:se},formatAssertion:ue,complexityChecks:ie,requireSchema:re},t={weakFormats:de,allowUnusedKeywords:ee};for(const[t,r]of Object.entries(e))if(!r)throw new Error(`Strong mode demands ${t}`);for(const[e,r]of Object.entries(t))if(r)throw new Error(`Strong mode forbids ${e}`)}const{gensym:ge,getref:we,genref:be,genformat:$e}=f($),ve=be(g);let je=null;const Oe=(...e)=>{const t=je(...e);return Oe.errors=je.errors,t};$[ve]=Oe;const xe=l(g,["$ref","$recursiveRef","$dynamicRef"]),Ee=b[H]&&xe&&l(g,["$dynamicAnchor"]),ke=b[Z]?e(", recursive"):e(""),Ae=o();Ae.write("function validate(data%s%s) {",ke,b[H]?e(Ee?", dynAnchors = []":", dynAnchors"):e("")),A&&Ae.write("validate.errors = null"),S&&Ae.write("let errorCount = 0"),b[B]&&Ae.write("validate.evaluatedDynamic = null");let Se=b[H]?e(", dynAnchors"):e("");Ee&&(Ae.write("const dynLocal = [{}]"),Se=e(", [...dynAnchors, dynLocal[0] || []]"));const ze=h(Ae,$,W,{unmodifiedPrototypes:ae,isJSON:ce},D),{present:Me,forObjectKeys:qe,forArray:Ne,patternTest:Pe,compare:Ie}=ze,Re=[],Ue=()=>G.get(w),Ce=O?[O]:[],De=(o,l,f,h,M,V={},{constProp:W}={})=>{const ae=l.length>0&&l[l.length-1].prop===f,de=()=>l.filter(e=>e.prop===f),fe=!f.parent||f.checked||f.inKeys&&ce||de().length>0,ye=m(f),be=(...e)=>((e,t,r=!1)=>Object.freeze({parent:e,keyval:t,checked:r}))(f,...e),je=({path:t=[],prop:r=f,source:n,suberr:s})=>{const i=p([...M,...t]),a=A?(t=>{const r=[];let n=t;for(;n;)n.name||r.unshift(n),n=n.parent||n.errorParent;if(r.every(e=>void 0!==e.keyval))return e("%j",p(r.map(e=>e.keyval)));const s=["#"],o=()=>{const e=s.map(d.pointerPart).join("/");return s.length=0,e};let i=null;for(const{keyname:t,keyval:n,number:a}of r)if(t){a||($.pointerPart=d.pointerPart);const r=a?t:e("pointerPart(%s)",t),n=`${o()}/`;i=i?e("%s+%j+%s",i,n,r):e("%j+%s",n,r)}else n&&s.push(n);return s.length>0?e("%s+%j",i,`/${o()}`):i})(r):null;if(!0===A&&o&&n){$.errorMerge=d.errorMerge;const e=[n,i,a];S?(Ae.write("if (validate.errors === null) validate.errors = []"),Ae.write("validate.errors.push(...%s.map(e => errorMerge(e, %j, %s)))",...e)):Ae.write("validate.errors = [errorMerge(%s[0], %j, %s)]",...e)}else if(!0===A&&o){const t=e("{ keywordLocation: %j, instanceLocation: %s }",i,a);S?(Ae.write("if (%s === null) %s = []",o,o),Ae.write("%s.push(%s)",o,t)):Ae.write("%s = [%s]",o,t)}s&&xt(s),S?Ae.write("errorCount++"):Ae.write("return false")},Oe=(e,t)=>Ae.if(e,()=>je(t));X&&!$.lintErrors&&($.lintErrors=[]);const xe=(e,t)=>{const r=void 0!==t?` ${JSON.stringify(t)}`:"",n=a(O,p(M)),s=`${e}${r} at ${n}`;if(X)return $.lintErrors.push({message:s,keywordLocation:n,schema:g});throw new Error(s)},ke=(t,r)=>{try{return Pe(t,r)}catch(t){return xe(t.message),e("false")}},ze=(e,...t)=>e||xe(...t),_e=(e,...t)=>ze("lax"===x||"spec"===x||e,...t),Le=(e,t)=>_e(!(h[t]<h[e]),`Invalid ${e} / ${t} combination`),Je=(e,t="should be specified")=>ze(!ne,`[requireValidation] ${e} ${t}`),Fe=(...e)=>[...M,...e],Te=e=>ze(!k&&!E,`[removeAdditional/useDefaults] uncertain: ${e}`),Ve=(e,t)=>ze(!ie,`[complexityChecks] ${e}`,t),We=e=>((e,t,r,n)=>{if(t){const n=t.replace(/^http:\/\//,"https://").replace(/#$/,"");r(j.includes(n),"Unexpected schema version:",n),G.set(e,{exclusiveRefs:T(n,"draft/2019-09"),contentValidation:T(n,"draft/2019-09"),dependentUnsupported:T(n,"draft/2019-09"),newItemsSyntax:!T(n,"draft/2020-12"),containsEvaluates:!T(n,"draft/2020-12"),objectContains:!T(n,"draft/next"),bookending:T(n,"draft/next")})}else r(!n,"[requireSchema] $schema is required"),G.set(e,{})})(w,e||le,ze,re),Ke=N(),Be=e=>R(Ke,e);if("boolean"==typeof h)return!0===h?(Je("schema = true","is not allowed"),{stat:Ke}):(Oe(!(!fe&&!f.inKeys)||Me(f),{}),Be({type:[]}),{stat:Ke});ze(J(h),"Schema is not an object");for(const e of Object.keys(h))ze(v.includes(e)||ee,"Keyword not supported:",e);if(0===Object.keys(h).length)return Je("empty rules node","is not allowed"),{stat:Ke};const He=new Set(Object.keys(h)),Ze=new Set,Ye=(e,...t)=>{ze(Ze.has(e)||He.has(e),"Unexpected double consumption:",e),ze(d.hasOwn(h,e),"Is not an own property:",e),ze(t.every(e=>L.has(e)),"Invalid type used in consume"),ze(t.some(t=>L.get(t)(h[e])),"Unexpected type for",e),He.delete(e)},Ge=(e,...t)=>(void 0!==h[e]&&Ye(e,...t),h[e]),Qe=(e,t,r,n={})=>{if(void 0===h[e])return!1;if(Ye(e,...t),null!==r)try{const t=r(h[e]);null!==t&&Oe(t,{path:[e],...n})}catch(e){if(!X||e.message.startsWith("[opt] "))throw e;xe(e.message)}return!0};if(h===w?(We(Ge("$schema","string")),Qe("$vocabulary",["object"],e=>{for(const[t,r]of Object.entries(e))!1!==r&&ze(!0===r&&q.includes(t),"Unknown vocabulary:",t);return null})):Ue()||We(w.$schema),Ue().objectContains)for(const e of["contains","minContains","maxContains"])Ze.add(e);Qe("examples",["array"],null),Qe("example",["jsonval"],null);for(const e of["title","description","$comment"])Qe(e,["string"],null);for(const e of["deprecated","readOnly","writeOnly"])Qe(e,["boolean"],null);Qe("$defs",["object"],null)||Qe("definitions",["object"],null);const Xe=(e,r,n)=>e===g?t("validate"):we(e)||Q(e,r,b,$,n),et=()=>Ce.length>0?Ce[Ce.length-1]:"",tt=Ce.length,rt=e=>(Ce.push(a(et(),e)),null);Ue().exclusiveRefs&&h.$ref||(Qe("$id",["string"],rt)||Qe("id",["string"],rt),Qe("$anchor",["string"],null),Qe("$dynamicAnchor",["string"],null),!h.$recursiveAnchor&&oe||Qe("$recursiveAnchor",["boolean"],e=>(e&&Re.push([h,w,et()]),null)));const nt=Ee&&(h===g||h.id||h.$id);if(nt){const e=c(h);h!==g&&Ae.write("dynLocal.unshift({})");for(const[t,r]of e){const e=i(w,me,`#${t}`,et()),[n,s,o]=e[0]||[];ze(n===r,`Unexpected $dynamicAnchor resolution: ${t}`);const a=Xe(n,s,o);Ae.write("dynLocal[0][%j] = %s",`#${t}`,a)}}const st=e=>b[B]&&(h[e]||!1===h[e]||h===g),ot=Object.freeze({item:st("unevaluatedItems")?ge("evaluatedItem"):null,items:st("unevaluatedItems")?ge("evaluatedItems"):null,props:st("unevaluatedProperties")?ge("evaluatedProps"):null}),it=Object.freeze({item:ot.item||V.item,items:ot.items||V.items,props:ot.props||V.props}),at=()=>(!it.items||Ke.items===1/0)&&(!it.props||Ke.properties.includes(!0)),ct=e=>{if(it.item&&e.item&&Ke.items!==1/0&&Ae.write("%s.push(%s)",it.item,e.item),it.items&&e.items>Ke.items&&Ae.write("%s.push(%d)",it.items,e.items),it.props&&(e.properties||[]).includes(!0)&&!Ke.properties.includes(!0))Ae.write("%s[0].push(true)",it.props);else if(it.props){const t=(e,t)=>C(Ke,{properties:e,patterns:t}),r=(e.properties||[]).filter(e=>!t([e],[])),n=(e.patterns||[]).filter(e=>!t([],[e]));r.length>0&&Ae.write("%s[0].push(...%j)",it.props,r),n.length>0&&Ae.write("%s[1].push(...%j)",it.props,n);for(const t of e.propertiesVars||[])Ae.write("%s[0].push(%s)",it.props,t)}},lt=(e,t,r,n)=>{U(Ke).items&&e.item&&t&&Ae.write("%s.push(...%s)",e.item,t),U(Ke).items&&e.items&&r&&Ae.write("%s.push(...%s)",e.items,r),U(Ke).properties&&e.props&&n&&(Ae.write("%s[0].push(...%s[0])",e.props,n),Ae.write("%s[1].push(...%s[1])",e.props,n))},ut=(t,r)=>{const s=$[t]&&$[t][K]||{unknown:!0};Be(s);const o=e("%s(%s%s%s)",t,ye,b[Z]?0===Re.length?e(", recursive"):e(", recursive || %s",Xe(...Re[0])):e(""),Se);if(!A&&at())return e("!%s",o);const i=ge("res"),a=ge("err"),c=ge("suberr");return A&&Ae.write("const %s = validate.errors",a),Ae.write("const %s = %s",i,o),A&&Ae.write("const %s = %s.errors",c,t),A&&Ae.write("validate.errors = %s",a),Oe(n(i),{...r,source:c}),Ae.if(i,()=>{const r=U(s).items?e("%s.evaluatedDynamic[0]",t):null,n=U(s).items?e("%s.evaluatedDynamic[1]",t):null,o=U(s).properties?e("%s.evaluatedDynamic[2]",t):null;lt(it,r,n,o)}),null},pt=(e,t)=>e&&e.every(e=>t.includes(e)),dt=(e,t)=>t.some(t=>null===e||e.includes(t)),ft=(...e)=>de().some(t=>pt(t.stat.type,e)),mt=(...e)=>dt(Ke.type,e)&&de().every(t=>dt(t.stat.type,e)),yt=(e,t=h)=>{ze("string"==typeof e,"Invalid pattern:",e),(ne||se)&&ze(/^\^.*\$$/.test(e),"Should start with ^ and end with $:",e),/([{+*].*[{+*]|\)[{+*]|^[^^].*[{+*].)/.test(e)&&void 0===t.maxLength&&Ve("maxLength should be specified for pattern:",e)},ht=h.pattern&&!D.has(h.pattern),gt=h.uniqueItems||ht||h.patternProperties||h.format,wt=S&&gt?ge("prev"):null,bt=(t,r)=>Ae.if(!t||null===wt||e("errorCount === %s",wt),r),$t=()=>[...l,{stat:Ke,prop:f}],vt=(...e)=>De(o,$t(),...e).stat,jt=(t,...r)=>{if(r[0]===f){const t=(e=>"boolean"==typeof e?e:!(!J(e)||0!==Object.keys(e).length)||void 0)(r[1]);if(!0===t)return{sub:e("true"),delta:{}};if(!1===t)return{sub:e("false"),delta:{type:[]}}}const n=ge("sub");Ae.write("const %s = (() => {",n),S&&Ae.write("let errorCount = 0");const{stat:s}=De(t,$t(),...r);return S?Ae.write("return errorCount === 0"):Ae.write("return true"),Ae.write("})()"),{sub:n,delta:s}},Ot=()=>{const e=A&&S?ge("suberr"):null;return e&&Ae.write("let %s = null",e),e},xt=e=>{null!==o&&null!==e&&Ae.if(e,()=>Ae.write("%s.push(...%s)",o,e))},Et=()=>{if(!k)return!1;if(!0===k)return!0;if("keyword"===k)return!!h.removeAdditional&&(Ye("removeAdditional","boolean"),!0);throw new Error(`Invalid removeAdditional: ${k}`)},kt=(t,r,n)=>{Qe(t,["object","boolean"],s=>!1===s&&Et()?(Ae.write("if (%s.length > %s) %s.length = %s",ye,r,ye,r),null):!1!==s||n?(Ne(f,r,(e,r)=>(n&&Ae.write("if (%s) continue",n(r)),vt(e,s,Fe(t)))),null):e("%s.length > %s",ye,r))&&Be({items:1/0})},At=(e,t)=>{Qe(e,["object","boolean"],r=>(qe(f,(n,s)=>{Ae.if(t(s),()=>{!1===r&&Et()?Ae.write("delete %s[%s]",ye,s):vt(n,r,Fe(e))})}),null))&&Be({properties:[!0]})},St=(t,s,o)=>r(...s.map(r=>e("%s !== %j",t,r)),...o.map(e=>n(ke(e,t)))),zt=(e,t)=>{const r=t.map(e=>new RegExp(e,"u")),n=t=>e.includes(t)||r.some(e=>e.test(t));for(const e of Ke.required)ze(n(e),"Unknown required property:",e)},Mt=[],qt=()=>{const t=(t,r)=>e("!(%d %c %s)",t,r,ye);Number.isFinite(h.exclusiveMinimum)?Qe("exclusiveMinimum",["finite"],e=>t(e,"<")):(Qe("minimum",["finite"],e=>t(e,h.exclusiveMinimum?"<":"<=")),Qe("exclusiveMinimum",["boolean"],null)),Number.isFinite(h.exclusiveMaximum)?(Qe("exclusiveMaximum",["finite"],e=>t(e,">")),Le("minimum","exclusiveMaximum"),Le("exclusiveMinimum","exclusiveMaximum")):void 0!==h.maximum&&(Qe("maximum",["finite"],e=>t(e,h.exclusiveMaximum?">":">=")),Qe("exclusiveMaximum",["boolean"],null),Le("minimum","maximum"),Le("exclusiveMinimum","maximum"));const r=void 0===h.multipleOf?"divisibleBy":"multipleOf";Qe(r,["finite"],t=>{ze(t>0,`Invalid ${r}:`,t);const[n,s]=`${t}`.split("e-"),o=`${n}.`.split(".")[1].length+(s?Number(s):0);if(Number.isInteger(t*2**o))return e("%s %% %d !== 0",ye,t);$.isMultipleOf=d.isMultipleOf;const i=[ye,t,o,Math.round(t*Math.pow(10,o))];return e("!isMultipleOf(%s, %d, 1e%d, %d)",...i)})},Nt=()=>{Qe("maxLength",["natural"],t=>($.stringLength=d.stringLength,e("%s.length > %d && stringLength(%s) > %d",ye,t,ye,t))),Qe("minLength",["natural"],t=>($.stringLength=d.stringLength,e("%s.length < %d || stringLength(%s) < %d",ye,t,ye,t))),Le("minLength","maxLength"),bt(!0,()=>{const t=(t,r,n=he)=>{const s="string"==typeof t&&d.hasOwn(n,t);ze(s,"Unrecognized format used:",t);const o=n[t],i=o instanceof RegExp||"function"==typeof o;return ze(i,"Invalid format used:",t),ue?o instanceof RegExp?(d.hasOwn(pe,t)&&yt(o.source),e("!%s.test(%s)",$e(o),r)):e("!%s(%s)",$e(o),r):null};Qe("format",["string"],e=>(Be({fullstring:!0}),t(e,ye))),Qe("pattern",["string"],e=>(yt(e),Be({fullstring:!0}),D.has(e)?null:n(ke(e,ye)))),ze(!1!==h.contentSchema,"contentSchema cannot be set to false");const r=void 0===z?Ue().contentValidation:z,s=h.contentEncoding||h.contentMediaType||h.contentSchema;if(ze(!s||r||ee,'"content*" keywords are disabled by default per spec, enable with { contentValidation = true } option (see doc/Options.md for more info)'),s&&r){const e=ge("dec");h.contentMediaType&&Ae.write("let %s = %s",e,ye),"base64"===h.contentEncoding?(Oe(t("base64",ye,u.extra),{path:["contentEncoding"]}),h.contentMediaType&&($.deBase64=d.deBase64,Ae.write("try {"),Ae.write("%s = deBase64(%s)",e,e)),Ye("contentEncoding","string")):ze(!h.contentEncoding,"Unknown contentEncoding:",h.contentEncoding);let r=!1;if("application/json"===h.contentMediaType?(Ae.write("try {"),Ae.write("%s = JSON.parse(%s)",e,e),r=!0,Ye("contentMediaType","string")):ze(!h.contentMediaType,"Unknown contentMediaType:",h.contentMediaType),h.contentSchema){ze(r,"contentSchema requires contentMediaType application/json");const t=Object.freeze({name:e,errorParent:f});vt(t,h.contentSchema,Fe("contentSchema")),Ye("contentSchema","object","array"),Be({fullstring:!0})}h.contentMediaType&&(Ae.write("} catch (e) {"),je({path:["contentMediaType"]}),Ae.write("}"),h.contentEncoding&&(Ae.write("} catch (e) {"),je({path:["contentEncoding"]}),Ae.write("}")))}})},Pt=()=>{Qe("maxItems",["natural"],t=>{const r=Ue().newItemsSyntax?"prefixItems":"items";return Array.isArray(h[r])&&h[r].length>t&&xe(`Invalid maxItems: ${t} is less than ${r} array length`),e("%s.length > %d",ye,t)}),Qe("minItems",["natural"],t=>e("%s.length < %d",ye,t)),Le("minItems","maxItems");const t=e=>{for(let t=0;t<e.length;t++)vt(be(t),e[t],Fe(`${t}`));return Be({items:e.length}),null};Ue().newItemsSyntax?(Qe("prefixItems",["array"],t),kt("items",e("%d",(h.prefixItems||[]).length))):Array.isArray(h.items)?(Qe("items",["array"],t),kt("additionalItems",e("%d",h.items.length))):Qe("items",["object","boolean"],t=>(Ne(f,e("0"),e=>vt(e,t,Fe("items"))),Be({items:1/0}),null)),Ut(t=>{Ne(f,e("0"),(e,r)=>{t(e,()=>{Be({dyn:{item:!0}}),ct({item:r})})})});const r=e=>{if(!J(e))return!1;if(e.enum||d.hasOwn(e,"const"))return!0;if(e.type){if((Array.isArray(e.type)?e.type:[e.type]).every(e=>_.includes(e)))return!0}if(e.$ref){const[t]=i(w,me,e.$ref,et())[0]||[];if(r(t))return!0}return!1},n=e=>!1===e||r(e);bt(!0,()=>{Qe("uniqueItems",["boolean"],t=>!1===t?null:(void 0!==h.maxItems||n(h.items)||Array.isArray(h.items)&&n(h.additionalItems)||Ve("maxItems should be specified for non-primitive uniqueItems"),Object.assign($,{unique:d.unique,deepEqual:d.deepEqual}),e("!unique(%s)",ye)))})},It=e=>!S&&(Ke.required.includes(e)||de().some(t=>t.stat.required.includes(e))),Rt=()=>{const t=e("Object.keys(%s).length",ye);Qe("maxProperties",["natural"],r=>e("%s > %d",t,r)),Qe("minProperties",["natural"],r=>e("%s < %d",t,r)),Le("minProperties","maxProperties"),Qe("propertyNames",["object","boolean"],e=>(qe(f,(t,r)=>{const n="object"!=typeof e||e.$ref?e:{type:"string",...e},s=Object.freeze({name:r,errorParent:t,type:"string"});vt(s,n,Fe("propertyNames"))}),null)),Qe("required",["array"],e=>{for(const t of e){if(It(t))continue;const e=be(t);Oe(n(Me(e)),{path:["required"],prop:e})}return Be({required:e}),null});for(const e of["dependencies","dependentRequired","dependentSchemas"])"dependencies"!==e&&Ue().dependentUnsupported||Qe(e,["object"],t=>{for(const s of Object.keys(t)){const o="string"==typeof t[s]?[t[s]]:t[s],i=be(s,It(s));if(Array.isArray(o)&&"dependentSchemas"!==e){const t=o.filter(e=>!It(e)).map(e=>Me(be(e))),a=n(r(...t)),c={path:[e,s]};0===t.length||(i.checked?(Oe(a,c),Be({required:o})):Oe(r(Me(i),a),c))}else F(o)&&"dependentRequired"!==e?(Te(e),Ae.if(!!i.checked||Me(i),()=>{const t=vt(f,o,Fe(e,s),it);Be(I({},t)),ct(t)})):xe(`Unexpected ${e} entry`)}return null});Qe("propertyDependencies",["object"],e=>{for(const[t,r]of Object.entries(e)){ze(J(r),"propertyDependencies must be an object"),Te("propertyDependencies");const e=be(t,It(t));Ae.if(!!e.checked||Me(e),()=>{for(const[n,s]of Object.entries(r))ze(F(s),"propertyDependencies must contain schemas"),Ae.if(Ie(m(e),n),()=>{const e=vt(f,s,Fe("propertyDependencies",t,n),it);Be(I({},e)),ct(e)})})}return null}),Qe("properties",["object"],e=>{for(const t of Object.keys(e))W!==t&&vt(be(t,It(t)),e[t],Fe("properties",t));return Be({properties:Object.keys(e)}),null}),bt(h.patternProperties,()=>{if(Qe("patternProperties",["object"],e=>(qe(f,(t,r)=>{for(const n of Object.keys(e))yt(n,h.propertyNames||{}),Ae.if(ke(n,r),()=>{vt(t,e[n],Fe("patternProperties",n))})}),Be({patterns:Object.keys(e)}),null)),h.additionalProperties||!1===h.additionalProperties){const e=Object.keys(h.properties||{}),t=Object.keys(h.patternProperties||{});!1===h.additionalProperties&&Mt.push(()=>zt(e,t));At("additionalProperties",r=>St(r,e,t))}}),Ue().objectContains&&Ut(e=>{qe(f,(t,r)=>{e(t,()=>{Be({dyn:{properties:[!0]}}),ct({propertiesVars:[r]})})})})},Ut=t=>{Qe("contains",["object","boolean"],()=>{Te("contains"),Ue().objectContains&&mt("array")&&mt("object")&&Je("possible type confusion in 'contains',","forbid 'object' or 'array'");const r=ge("passes");Ae.write("let %s = 0",r);const n=Ot();return t((e,t)=>{const{sub:s}=jt(n,e,h.contains,Fe("contains"));Ae.if(s,()=>{Ae.write("%s++",r),Ue().containsEvaluates&&(ze(!k,'Can\'t use removeAdditional with draft2020+ "contains"'),t())})}),Qe("minContains",["natural"],t=>e("%s < %d",r,t),{suberr:n})||Oe(e("%s < 1",r),{path:["contains"],suberr:n}),Qe("maxContains",["natural"],t=>e("%s > %d",r,t)),Le("minContains","maxContains"),null})},Ct=()=>{Qe("not",["object","boolean"],e=>jt(null,f,e,Fe("not")).sub),h.not&&Te("not");(h.then||!1===h.then||h.else||!1===h.else||ee)&&Qe("if",["object","boolean"],e=>{Te("if/then/else");const{sub:t,delta:r}=jt(null,f,e,Fe("if"),it);let n,s,o,i;var a;return Qe("else",["object","boolean"],e=>(n=()=>{o=vt(f,e,Fe("else"),it),ct(o)},null)),Qe("then",["object","boolean"],e=>(s=()=>{i=vt(f,e,Fe("then"),it),ct(P(r,i))},null)),s||(a=r,d.deepEqual(a,{type:[]}))||(s=()=>ct(r)),Ae.if(t,s,n),Be(I(o||{},P(r,i||{}))),null});const t=(e,t="allOf")=>{ze(e.length>0,`${t} cannot be empty`);for(const[r,n]of Object.entries(e))Be(vt(f,n,Fe(t,r),it));return null};Qe("allOf",["array"],e=>t(e));let r=null;Qe("discriminator",["object"],e=>{const t=new Set,n=(e,t,r)=>ze(e,`[discriminator]: ${t}`,r),{propertyName:s,mapping:o,...a}=e,c=be(s);n(s&&!h.oneOf!=!h.anyOf,"need propertyName, oneOf OR anyOf"),n(0===Object.keys(a).length,'only "propertyName" and "mapping" are supported');return r=(e,r)=>{const a=()=>{let a;Ae.write("switch (%s) {",m(c));for(const[c,l]of Object.entries(e)){const{const:e,enum:u,...p}=(l.properties||{})[s]||{};let m=void 0!==e?[e]:u;if(!m&&l.$ref){const[e]=i(w,me,l.$ref,et())[0]||[];ze(J(e),"failed to resolve $ref:",l.$ref);const t=(e.properties||{})[s]||{};m=void 0!==t.const?[t.const]:t.enum}const y=Array.isArray(m)&&m.length>0;n(y,"branches should have unique string const or enum values for [propertyName]");const h=!(0!==Object.keys(p).length||e&&u);n(h,"only const OR enum rules are allowed on [propertyName] in branches");for(const e of m){const r=!o||d.hasOwn(o,e)&&o[e]===l.$ref;n(r,"mismatching mapping for",e);const s="string"==typeof e&&!t.has(e);n(s,"const/enum values for [propertyName] should be unique strings"),t.add(e),Ae.write("case %j:",e)}const g=vt(f,l,Fe(r,c),it,{constProp:s});ct(g),a=a?I(a,g):g,Ae.write("break")}var l;n(void 0===o||(J(l=o)?Object.keys(l).length:null)===t.size,"mismatching mapping size"),Be(a),Ae.write("default:"),je({path:[r]}),Ae.write("}")},l=()=>{if(It(s))a();else{const e=["discriminator","propertyName"];Ae.if(Me(c),a,()=>je({path:e,prop:c}))}};return S||!d.deepEqual(Ke.type,["object"])?Ae.if(y.get("object")(ye),l,()=>je({path:["discriminator"]})):l(),n(d.deepEqual(Ke.type,["object"]),"has to be checked for type:","object"),n(Ke.required.includes(s),"propertyName should be placed in required:",s),null},null});const o=(e,t)=>{const r=t.map(e=>e.type||(Array.isArray(e.const)?"array":typeof e.const)),n=r.filter(e=>!_.includes(e)&&"array"!==e).length,s=r.filter(e=>!_.includes(e)&&"object"!==e).length;(n>1||s>1)&&Te(`${e}, use discriminator to make it certain`)};Qe("anyOf",["array"],e=>{if(ze(e.length>0,"anyOf cannot be empty"),1===e.length)return t(e);if(r)return r(e,"anyOf");const i=Ot();if(!at()){o("anyOf",e);const t=Object.entries(e).map(([e,t])=>jt(i,f,t,Fe("anyOf",e),it));Be(t.map(e=>e.delta).reduce((e,t)=>I(e,t))),Oe(s(...t.map(({sub:e})=>e)),{path:["anyOf"],suberr:i});for(const{delta:e,sub:r}of t)Ae.if(r,()=>ct(e));return null}const a=e.filter(e=>d.hasOwn(e,"const")),c=e.filter(e=>!d.hasOwn(e,"const"));o("anyOf",c);const l=[...a,...c];let u;if(Ue().exclusiveRefs){let e=()=>je({path:["anyOf"],suberr:i});for(const[t,r]of Object.entries(l).reverse()){const s=e;e=()=>{const{sub:e,delta:o}=jt(i,f,r,Fe("anyOf",t));Ae.if(n(e),s),u=u?I(u,o):o}}e()}else{const t=Object.entries(e).map(([e,t])=>jt(i,f,t,Fe("anyOf",e),it));u=t.map(e=>e.delta).reduce((e,t)=>I(e,t)),Oe(s(...t.map(({sub:e})=>e)),{path:["anyOf"],suberr:i})}return Be(u),null}),Qe("oneOf",["array"],n=>{if(ze(n.length>0,"oneOf cannot be empty"),1===n.length)return t(n);if(r)return r(n,"oneOf");o("oneOf",n);const s=ge("passes");Ae.write("let %s = 0",s);const i=Ot();let a,c=0;const l=Object.entries(n).map(([t,r])=>{!A&&c++>1&&Oe(e("%s > 1",s),{path:["oneOf"]});const n=jt(i,f,r,Fe("oneOf",t),it);return Ae.if(n.sub,()=>Ae.write("%s++",s)),a=a?I(a,n.delta):n.delta,n});Be(a),Oe(e("%s !== 1",s),{path:["oneOf"]}),Ae.if(e("%s === 0",s),()=>xt(i));for(const e of l)Ae.if(e.sub,()=>ct(e.delta));return null})},Dt=(e,t,r)=>{const[n,s]=[Ae.size(),He.size];Ae.if(!!((...e)=>pt(Ke.type,e)||ft(...e))(...t)||r,e),n===Ae.size()&&s===He.size||ze(mt(...t),"Unexpected rules in type",h.type)},_t=()=>{if(Ke.items===1/0)!1===h.unevaluatedItems&&Ye("unevaluatedItems","boolean");else if(h.unevaluatedItems||!1===h.unevaluatedItems)if(U(Ke).items){if(!b[B])throw new Error("[opt] Dynamic unevaluated tracing not enabled");const t=e("Math.max(%d, ...%s)",Ke.items,it.items),r=t=>e("%s.includes(%s)",it.item,t);kt("unevaluatedItems",t,Ue().containsEvaluates?r:null)}else kt("unevaluatedItems",e("%d",Ke.items))},Lt=()=>{bt(Ke.patterns.length>0||Ke.dyn.patterns.length>0||Ke.unknown,()=>{if(Ke.properties.includes(!0))!1===h.unevaluatedProperties&&Ye("unevaluatedProperties","boolean");else if(h.unevaluatedProperties||!1===h.unevaluatedProperties){const t=e=>St(e,Ke.properties,Ke.patterns);if(U(Ke).properties){if(!b[B])throw new Error("[opt] Dynamic unevaluated tracing not enabled");$.propertyIn=d.propertyIn;const n=t=>e("!propertyIn(%s, %s)",t,it.props);At("unevaluatedProperties",e=>r(t(e),n(e)))}else!1===h.unevaluatedProperties&&zt(Ke.properties,Ke.patterns),At("unevaluatedProperties",t)}})},Jt=()=>{if(null!==wt&&Ae.write("const %s = errorCount",wt),(()=>{const e=Qe("const",["jsonval"],e=>n(Ie(ye,e)));if(e&&!ee)return!0;const t=Qe("enum",["array"],e=>{const t=e.filter(e=>e&&"object"==typeof e),r=e.filter(e=>!(e&&"object"==typeof e));return s(...[...r,...t].map(e=>Ie(ye,e)))});return e||t})()){const e=[...y.keys()];if(Be({properties:[!0],items:1/0,type:e,fullstring:!0}),!ee)return void ze(0===He.size,"Unexpected keywords mixed with const or enum:",[...He])}Dt(qt,["number","integer"],y.get("number")(ye)),Dt(Nt,["string"],y.get("string")(ye)),Dt(Pt,["array"],y.get("array")(ye)),Dt(Rt,["object"],y.get("object")(ye)),Ct(),Dt(_t,["array"],y.get("array")(ye)),Dt(Lt,["object"],y.get("object")(ye));for(const e of Mt)e();lt(V,ot.item,ot.items,ot.props)},Ft=()=>{if(ot.item&&Ae.write("const %s = []",ot.item),ot.items&&Ae.write("const %s = [0]",ot.items),ot.props&&Ae.write("const %s = [[], []]",ot.props),Qe("$ref",["string"],e=>{const t=i(w,me,e,et()),[r,n,s]=t[0]||[];if(!r&&!1!==r&&(xe("failed to resolve $ref:",e),X))return null;const o=Xe(r,n,s),a=r===g?ve:o;if(!$[a])throw new Error("Unexpected: coherence check failed");if(!$[a][K]&&r.type){const e=Array.isArray(r.type)?r.type:[r.type];Be({type:e}),ne&&(Y.add(a),e.includes("array")&&Be({items:1/0}),e.includes("object")&&Be({properties:[!0]})),se&&e.includes("string")&&(Y.add(a),Be({fullstring:!0}))}return ut(o,{path:["$ref"]})}),Ue().exclusiveRefs&&(ze(!b[B],"unevaluated* is supported only on draft2019-09 and above"),h.$ref))return;Qe("$recursiveRef",["string"],t=>{if(!b[Z])throw new Error("[opt] Recursive anchors are not enabled");ze("#"===t,'Behavior of $recursiveRef is defined only for "#"');const r=i(w,me,"#",et()),[n,s,o]=r[0];_e(n.$recursiveAnchor,"$recursiveRef without $recursiveAnchor");const a=Xe(n,s,o),c=n.$recursiveAnchor?e("(recursive || %s)",a):a;return ut(c,{path:["$recursiveRef"]})}),Qe("$dynamicRef",["string"],t=>{if(!b[H])throw new Error("[opt] Dynamic anchors are not enabled");_e(/^[^#]*#[a-zA-Z0-9_-]+$/.test(t),"Unsupported $dynamicRef format");const r=t.replace(/^[^#]+/,""),n=i(w,me,t,et());if(!n[0]&&!Ue().bookending){_e(!1,"$dynamicRef bookending resolution failed (even though not required)"),$.dynamicResolve=d.dynamicResolve;const t=e("dynamicResolve(dynAnchors || [], %j)",r);return ut(t,{path:["$dynamicRef"]})}ze(n[0],"$dynamicRef bookending resolution failed",t);const[s,o,a]=n[0],c=s.$dynamicAnchor&&`#${s.$dynamicAnchor}`===r;_e(c,"$dynamicRef without $dynamicAnchor in the same scope");const l=Xe(s,o,a);$.dynamicResolve=d.dynamicResolve;const u=c?e("(dynamicResolve(dynAnchors || [], %j) || %s)",r,l):l;return ut(u,{path:["$dynamicRef"]})});let t=null;Qe("type",["string","array"],e=>{const r=Array.isArray(e)?e:[e];for(const e of r)ze("string"==typeof e&&y.has(e),"Unknown type:",e);if(f.type)return ze(d.deepEqual(r,[f.type]),"One type allowed:",f.type),Be({type:[f.type]}),null;if(ft(...r))return null;const n=r.filter(e=>mt(e));return 0===n.length&&xe("No valid types possible"),Be({type:r}),t=s(...n.map(e=>y.get(e)(ye))),null}),t&&S?Ae.if(t,()=>je({path:["type"]}),Jt):(t&&Oe(t,{path:["type"]}),Jt()),Ke.items<1/0&&h.maxItems<=Ke.items&&Be({items:1/0})};if(void 0!==h.default&&E){fe&&xe("Can not apply default value here (e.g. at root)");const e=Ge("default","jsonval");Ae.if(Me(f),Ft,()=>Ae.write("%s = %j",ye,e))}else Qe("default",["jsonval"],null),Ae.if(!!fe||Me(f),Ft);if(Ce.length=tt,Re[0]&&Re[Re.length-1][0]===h&&Re.pop(),nt&&h!==g&&Ae.write("dynLocal.shift()"),te||ze(!Ae.optimizedOut,"some checks are never reachable"),ae){const e=["not","if","then","else"].includes(M[M.length-1]),t=["oneOf","anyOf","allOf"].includes(M[M.length-2]),r=["dependencies","dependentSchemas"].includes(M[M.length-2]),n=["propertyDependencies"].includes(M[M.length-3]);ze(e||t||r||n,"Unexpected logical path")}else if(!M.includes("not")){if((!(g!==w&&h===g)||Y.has(ve))&&(Y.delete(ve),Ke.type||Je("type"),mt("array")&&Ke.items!==1/0&&Je(h.items?"additionalItems or unevaluatedItems":"items rule"),mt("object")&&!Ke.properties.includes(!0)&&Je("additionalProperties or unevaluatedProperties"),!Ke.fullstring&&se)){xe(`[requireStringValidation] ${"pattern, format or contentSchema should be specified for strings"}, use pattern: ^[\\s\\S]*$ to opt-out`)}if("object"!=typeof h.propertyNames)for(const e of["additionalProperties","unevaluatedProperties"])h[e]&&Je(`wild-card ${e}`,"requires propertyNames")}return h.properties&&!h.required&&Je("if properties is used, required"),ze(0===He.size||ee,"Unprocessed keywords:",[...He]),{stat:Ke,local:ot}},{stat:_e,local:Le}=De(e("validate.errors"),[],{name:t("data")},g,[]);if(Y.has(ve))throw new Error("Unexpected: unvalidated cyclic ref");if(b[B]&&(U(_e).items||U(_e).properties)){if(!Le)throw new Error("Failed to trace dynamic properties");Ae.write("validate.evaluatedDynamic = [%s, %s, %s]",Le.item,Le.items,Le.props)}return S?Ae.write("return errorCount === 0"):Ae.write("return true"),Ae.write("}"),X||(je=Ae.makeFunction($),delete $[ve],$[ve]=je),$[ve][K]=_e,ve},X=(e,t)=>{if(!Array.isArray(e))throw new Error("Expected an array of schemas");try{const r=Object.create(null),{getref:n}=f(r);Y.clear(),G.clear();const s=e.map(e=>n(e)||Q(e,e,t,r));if(0!==Y.size)throw new Error("Unexpected: not all refs are validated");return{scope:r,refs:s}}catch(r){if(!t[B]&&"[opt] Dynamic unevaluated tracing not enabled"===r.message)return X(e,{...t,[B]:!0});if(!t[H]&&"[opt] Dynamic anchors are not enabled"===r.message)return X(e,{...t,[H]:!0});if(!t[Z]&&"[opt] Recursive anchors are not enabled"===r.message)return X(e,{...t,[Z]:!0});throw r}finally{Y.clear(),G.clear()}};return b={compile:X}}function N(){if(j)return v;j=1;const e=A(),{buildSchemas:t}=z(),{compile:r}=q(),{deepEqual:n}=E(),s=e=>function t(r){if(!n(r,JSON.parse(JSON.stringify(r))))return t.errors=[{instanceLocation:"#",error:"not JSON compatible"}],!1;const s=e(r);return t.errors=e.errors,s},o=e=>t=>n(t,JSON.parse(JSON.stringify(t)))&&e(t),i=(i,{parse:l=!1,multi:u=!1,jsonCheck:p=!1,isJSON:d=!1,schemas:f=[],...m}={})=>{if(p&&d)throw new Error("Can not specify both isJSON and jsonCheck options");if(l&&(p||d))throw new Error("jsonCheck and isJSON options are not applicable in parser mode");const y=d||p||l,h=u?i:[i],g={mode:l?"strong":"default",...m,schemas:t(f,h),isJSON:y},{scope:w,refs:b}=r(h,g);if(m.dryRun)return;if(m.lint)return w.lintErrors;const $=e();if(l?w.parseWrap=m.includeErrors?a:c:p&&(w.deepEqual=n,w.jsonCheckWrap=m.includeErrors?s:o),u){$.write("[");for(const e of b.slice(0,-1))$.write("%s,",e);b.length>0&&$.write("%s",b[b.length-1]),$.write("]"),l?$.write(".map(parseWrap)"):p&&$.write(".map(jsonCheckWrap)")}else l?$.write("parseWrap(%s)",b[0]):p?$.write("jsonCheckWrap(%s)",b[0]):$.write("%s",b[0]);const v=$.makeFunction(w);return v.toModule=({semi:e=!0}={})=>$.makeModule(w)+(e?";":""),v.toJSON=()=>i,v},a=e=>t=>{if("string"!=typeof t)return{valid:!1,error:"Input is not a string"};try{const r=JSON.parse(t);if(!e(r)){const{keywordLocation:t,instanceLocation:r}=e.errors[0],n=t.slice(t.lastIndexOf("/")+1);return{valid:!1,error:`JSON validation failed for ${n} at ${r}`,errors:e.errors}}return{valid:!0,value:r}}catch({message:e}){return{valid:!1,error:e}}},c=e=>t=>{if("string"!=typeof t)return{valid:!1};try{const r=JSON.parse(t);return e(r)?{valid:!0,value:r}:{valid:!1}}catch(e){return{valid:!1}}};return v={validator:i,parser:function(e,{parse:t=!0,...r}={}){if(!t)throw new Error("can not disable parse in parser");return i(e,{parse:t,...r})},lint:function(e,{lint:t=!0,...r}={}){if(!t)throw new Error("can not disable lint option in lint()");return i(e,{lint:t,...r})}}}export{N as r};
1
+ import{B as e}from"./main.js";var t,r,n,s,o,i,a,c,l,u,p,d,f,m,y,h,g,w,b,$,v,j;function O(){if(r)return t;r=1;class e extends String{}const n=new Set(["<",">","<=",">="]),s=(t,...r)=>{const o=t.replace(/%[%drscjw]/g,t=>{if("%%"===t)return"%";if(0===r.length)throw new Error("Unexpected arguments count");const o=r.shift();switch(t){case"%d":if("number"==typeof o)return o;throw new Error("Expected a number");case"%r":if(o instanceof RegExp)return s("new RegExp(%j, %j)",o.source,o.flags);throw new Error("Expected a RegExp instance");case"%s":if(o instanceof e)return o;throw new Error("Expected a safe string");case"%c":if(n.has(o))return o;throw new Error("Expected a compare op");case"%j":return(e=>{if([1/0,-1/0,NaN,void 0,null].includes(e))return`${e}`;if(!["string","boolean","number"].includes(typeof e)){if("object"!=typeof e)throw new Error("Unexpected value type");const t=Object.getPrototypeOf(e);if(!(t===Array.prototype&&Array.isArray(e)||t===Object.prototype))throw new Error("Unexpected object given as value")}return JSON.stringify(e).replace(/([{,])"__proto__":/g,'$1["__proto__"]:').replace(/[^\\]"__proto__":/g,()=>{throw new Error("Unreachable")}).replace(/[\u2028\u2029]/g,e=>`\\u${e.charCodeAt(0).toString(16).padStart(4,"0")}`)})(o);case"%w":if(Number.isInteger(o)&&o>=0)return" ".repeat(o);throw new Error("Expected a non-negative integer for indentation")}throw new Error("Unreachable")});if(0!==r.length)throw new Error("Unexpected arguments count");return new e(o)},o=t=>{if(!/^[a-z][a-z0-9_]*$/i.test(t))throw new Error("Does not look like a safe id");return new e(t)},i=t=>(...r)=>{if(!r.every(t=>t instanceof e))throw new Error("Unsafe arguments");return new e(t(...r))},a=i((...e)=>e.some(e=>"true"==`${e}`)?"true":e.join(" || ")||"false"),c=i((...e)=>e.some(e=>"false"==`${e}`)?"false":e.join(" && ")||"true"),l=e=>"true"==`${e}`?o("false"):"false"==`${e}`?o("true"):s("!%s",(e=>/^[a-z][a-z0-9_().]*$/i.test(e)||/^\([^()]+\)$/i.test(e)?e:s("(%s)",e))(e));return t={format:s,safe:o,safeand:c,safenot:l,safenotor:(...e)=>l(a(...e))}}function x(){if(s)return n;s=1;const{safe:e}=O(),t=new WeakMap;return n={scopeMethods:r=>{t.has(r)||t.set(r,{sym:new Map,ref:new Map,format:new Map,pattern:new Map});const n=t.get(r),s=t=>{n.sym.get(t)||n.sym.set(t,0);const r=n.sym.get(t);return n.sym.set(t,r+1),e(`${t}${r}`)};n.loop||(n.loop="ijklmnopqrstuvxyz".split(""));return{gensym:s,genpattern:e=>{if(n.pattern.has(e))return n.pattern.get(e);const t=s("pattern");return r[t]=new RegExp(e,"u"),n.pattern.set(e,t),t},genloop:()=>{const t=n.loop.shift();return n.loop.push(`${t}${t[0]}`),e(t)},getref:e=>n.ref.get(e),genref:e=>{const t=s("ref");return n.ref.set(e,t),t},genformat:e=>{let t=n.format.get(e);return t||(t=s("format"),r[t]=e,n.format.set(e,t)),t}}}}}function E(){if(i)return o;i=1;const t=(e,r)=>{if(e===r)return!0;if(!e||!r||typeof e!=typeof r)return!1;if(e!==r&&"object"!=typeof e)return!1;const n=Object.getPrototypeOf(e);if(n!==Object.getPrototypeOf(r))return!1;if(n===Array.prototype)return!(!Array.isArray(e)||!Array.isArray(r))&&(e.length===r.length&&e.every((e,n)=>t(e,r[n])));if(n===Object.prototype){const[n,s]=[Object.keys(e),Object.keys(r)];if(n.length!==s.length)return!1;return new Set([...n,...s]).size===n.length&&n.every(n=>t(e[n],r[n]))}return!1},r=Function.prototype.call.bind(Object.prototype.hasOwnProperty);r[Symbol.for("toJayString")]="Function.prototype.call.bind(Object.prototype.hasOwnProperty)";const n=e=>/~\//.test(e)?`${e}`.replace(/~/g,"~0").replace(/\//g,"~1"):e;return o={stringLength:e=>/[\uD800-\uDFFF]/.test(e)?[...e].length:e.length,isMultipleOf:(e,t,r,n)=>{if(e%t===0)return!0;let s=e*r;if(s!==1/0&&s!==-1/0||(s=e),s%n===0)return!0;const o=Math.floor(s+.5);return o/r===e&&o%n===0},deepEqual:t,unique:e=>{if(e.length<2)return!0;if(2===e.length)return!t(e[0],e[1]);const r=[],n=e.length>20?new Set:null;let s=0,o=0;for(const t of e){if("object"==typeof t)r.push(t);else if(n){if(n.add(t),n.size!==++s)return!1}else if(-1!==e.indexOf(t,o+1))return!1;o++}for(let e=1;e<r.length;e++)for(let n=0;n<e;n++)if(t(r[e],r[n]))return!1;return!0},deBase64:t=>{if(void 0!==e)return e.from(t,"base64").toString("utf-8");const r=atob(t);return new TextDecoder("utf-8").decode(new Uint8Array(r.length).map((e,t)=>r.charCodeAt(t)))},hasOwn:r,...{toPointer:e=>0===e.length?"#":`#/${e.map(n).join("/")}`,pointerPart:n,errorMerge:({keywordLocation:e,instanceLocation:t},r,n)=>({keywordLocation:`${r}${e.slice(1)}`,instanceLocation:`${n}${t.slice(1)}`}),propertyIn:(e,[t,r])=>t.includes(!0)||t.some(t=>t===e)||r.some(t=>new RegExp(t,"u").test(e)),dynamicResolve:(e,t)=>(e.filter(e=>e[t])[0]||{})[t]}}}function k(){if(c)return a;c=1;const{format:e,safe:t}=O(),{scopeMethods:r}=x(),n=E(),s=new Map(Object.entries({null:t=>e("%s === null",t),boolean:t=>e('typeof %s === "boolean"',t),array:t=>e("Array.isArray(%s)",t),object:t=>e('typeof %s === "object" && %s && !Array.isArray(%s)',t,t,t),number:t=>e('typeof %s === "number"',t),integer:t=>e("Number.isInteger(%s)",t),string:t=>e('typeof %s === "string"',t)})),o=({name:r,parent:n,keyval:s,keyname:i})=>{if(r){if(n||s||i)throw new Error("name can be used only stand-alone");return r}if(!n)throw new Error("Can not use property of undefined parent!");const a=o(n);if(void 0!==s){if(i)throw new Error("Can not use key value and name together");if(!["string","number"].includes(typeof s))throw new Error("Invalid property path");return/^[a-z][a-z0-9_]*$/i.test(s)?e("%s.%s",a,t(s)):e("%s[%j]",a,s)}if(i)return e("%s[%s]",a,i);throw new Error("Unreachable")},i=new Set([].concat(...[Object,Array,String,Number,Boolean].map(e=>Object.getOwnPropertyNames(e.prototype)))),l=/^\([^)]*\) *=>/,u=/^[^=]*=>/,p=Symbol.for("toJayString");return a={types:s,buildName:o,jsHelpers:(t,a,c,{unmodifiedPrototypes:l,isJSON:u},p)=>{const{gensym:d,genpattern:f,genloop:m}=r(a,c);return{present:t=>{const r=o(t),{parent:s,keyval:c,keyname:p,inKeys:d,checked:f}=t;if(f||d&&u)throw new Error("Unreachable: useless check for undefined");if(d)return e("%s !== undefined",r);if(s&&p){a.hasOwn=n.hasOwn;const t=o(s);return u?e("%s !== undefined && hasOwn(%s, %s)",r,t,p):e("%s in %s && hasOwn(%s, %s)",p,t,t,p)}if(s&&void 0!==c){if(l&&u&&!i.has(`${c}`))return e("%s !== undefined",r);a.hasOwn=n.hasOwn;const t=o(s);return u?e("%s !== undefined && hasOwn(%s, %j)",r,t,c):e("%j in %s && hasOwn(%s, %j)",c,t,t,c)}throw new Error("Unreachable: present() check without parent")},forObjectKeys:(r,n)=>{const s=d("key");t.block(e("for (const %s of Object.keys(%s))",s,o(r)),()=>{n(c(r,s,!0),s)})},forArray:(r,n,s)=>{const i=m(),a=o(r);t.block(e("for (let %s = %s; %s < %s.length; %s++)",i,n,i,a,i),()=>{s(c(r,i,l,!0),i)})},patternTest:(t,r)=>{const n=t.replace(/[.^$|*+?(){}[\]\\]/gu,"");if(t===`^${n}$`)return e("(%s === %j)",r,t.slice(1,-1));if(p.has(t))return e("true");if([n,`${n}+`,`${n}.*`,`.*${n}.*`].includes(t))return e("%s.includes(%j)",r,n);if([`^${n}`,`^${n}+`,`^${n}.*`].includes(t))return e("%s.startsWith(%j)",r,n);if([`${n}$`,`.*${n}$`].includes(t))return e("%s.endsWith(%j)",r,n);const s=[...n].slice(0,-1).join("");return[`${n}*`,`${n}?`].includes(t)?0===s.length?e("true"):e("%s.includes(%j)",r,s):[`^${n}*`,`^${n}?`].includes(t)?0===s.length?e("true"):e("%s.startsWith(%j)",r,s):e("%s.test(%s)",f(t),r)},compare:(t,r)=>{if(!r||"object"!=typeof r)return e("%s === %j",t,r);let o;const i=e=>e.length<=3&&e.every(e=>!e||"object"!=typeof e);if(Array.isArray(r)){if(o=s.get("array")(t),i(r)){let n=e("%s.length === %d",t,r.length);for(let s=0;s<r.length;s++)n=e("%s && %s[%d] === %j",n,t,s,r[s]);return e("%s && %s",o,n)}}else{o=s.get("object")(t);const[c,l]=[Object.keys(r),Object.values(r)];if(i(l)){let s=e("Object.keys(%s).length === %d",t,c.length);c.length>0&&(a.hasOwn=n.hasOwn);for(const r of c)s=e("%s && hasOwn(%s, %j)",s,t,r);for(const n of c)s=e("%s && %s[%j] === %j",s,t,n,r[n]);return e("%s && %s",o,s)}}return a.deepEqual=n.deepEqual,e("%s && deepEqual(%s, %j)",o,t,r)},propvar:c}},jaystring:function(t){if("function"==typeof t){if(t[p])return t[p];if(Object.getPrototypeOf(t)!==Function.prototype)throw new Error("Can not stringify: a function with unexpected prototype");const e=`${t}`;if(t.prototype){if(!/^function[ (]/.test(e))throw new Error("Unexpected function");return e}if(l.test(e)||u.test(e))return e;throw new Error("Can not stringify: only either normal or arrow functions are supported")}if("object"==typeof t){const r=Object.getPrototypeOf(t);if(t instanceof RegExp&&r===RegExp.prototype)return e("%r",t);throw new Error("Can not stringify: an object with unexpected prototype")}throw new Error("Can not stringify: unknown type "+typeof t)}}}function A(){if(u)return l;u=1;const{format:e,safe:t,safenot:r}=O(),{jaystring:n}=k(),s=/[{[]/,o=/[}\]]/;return l=()=>{const i=[];let a=0;const c=()=>{if(0!==a)throw new Error("Unexpected indent at build()");const t=i.map(t=>e("%w%s",2*t.indent,t.code)).join("\n");return/^[a-z][a-z0-9]*$/i.test(t)?`return ${t}`:`return (${t})`},l=e=>{const t=Object.entries(e);for(const[e,r]of t){if(!/^[a-z][a-z0-9]*$/i.test(e))throw new Error("Unexpected scope key!");if(!("function"==typeof r||r instanceof RegExp))throw new Error("Unexpected scope value!")}return t};return{optimizedOut:!1,size:()=>i.length,write(t,...r){if("string"!=typeof t)throw new Error("Format must be a string!");if(t.includes("\n"))throw new Error("Only single lines are supported");var n;return n=e(t,...r),o.test(n.trim()[0])&&a--,i.push({indent:a,code:n}),s.test(n[n.length-1])&&a++,!0},block(e,t,r=!1){const n=a;this.write("%s {",e);const s=i.length;if(t(),s===i.length)return i.pop(),a=n,!1;if(s===i.length-1&&!r){const{code:t}=i[i.length-1];if(!/^(if|for) /.test(t))return i.length-=2,a=n,this.write("%s %s",e,t)}return this.write("}")},if(t,n,s){"false"==`${t}`?(s&&s(),n&&(this.optimizedOut=!0)):"true"==`${t}`?(n&&n(),s&&(this.optimizedOut=!0)):n&&this.block(e("if (%s)",t),n,!!s)?s&&this.block(e("else"),s):s&&this.if(r(t),s)},makeModule:(e={})=>`(function() {\n'use strict'\n${l(e).map(([e,r])=>`const ${t(e)} = ${n(r)};`).join("\n")}\n${c()}})()`,makeFunction(e={}){const t=l(e),r=t.map(e=>e[0]),n=t.map(e=>e[1]);return Function(...r,`'use strict'\n${c()}`)(...n)}}}}function S(){if(d)return p;d=1;const e=["$schema","$vocabulary","id","$id","$anchor","$ref","definitions","$defs","$recursiveRef","$recursiveAnchor","$dynamicAnchor","$dynamicRef","type","required","default","enum","const","not","allOf","anyOf","oneOf","if","then","else","maximum","minimum","exclusiveMaximum","exclusiveMinimum","multipleOf","divisibleBy","items","maxItems","minItems","additionalItems","prefixItems","contains","minContains","maxContains","uniqueItems","maxLength","minLength","format","pattern","contentEncoding","contentMediaType","contentSchema","properties","maxProperties","minProperties","additionalProperties","patternProperties","propertyNames","dependencies","dependentRequired","dependentSchemas","propertyDependencies","unevaluatedProperties","unevaluatedItems","title","description","deprecated","readOnly","writeOnly","examples","$comment","example","discriminator","removeAdditional"],t=["draft/next","draft/2020-12","draft/2019-09","draft-07","draft-06","draft-04","draft-03"].map(e=>`https://json-schema.org/${e}/schema`),r=["core","applicator","unevaluated","validation","meta-data","format-annotation","format-assertion","content"],n=[...["core","applicator","validation","meta-data","format","content"].map(e=>`https://json-schema.org/draft/2019-09/vocab/${e}`),...r.map(e=>`https://json-schema.org/draft/2020-12/vocab/${e}`)];return p={knownKeywords:e,schemaVersions:t,knownVocabularies:n}}function z(){if(m)return f;m=1;const{knownKeywords:e}=S();function t(e,t,r,n="keys"){if(!e.has(t))return e.set(t,r);if(e.get(t)!==r)throw new Error(`Conflicting duplicate ${n}: ${t}`)}function r(e){return e.includes("~")?e.replace(/~[01]/g,e=>{switch(e){case"~1":return"/";case"~0":return"~"}throw new Error("Unreachable")}):e}function n(e,t,n){if("object"!=typeof e)throw new Error("Invalid input object");if("string"!=typeof t)throw new Error("Invalid JSON pointer");const s=t.split("/");if(!["","#"].includes(s.shift()))throw new Error("Invalid JSON pointer");if(0===s.length)return e;let o=e;for(const e of s){if("string"!=typeof e)throw new Error("Invalid JSON pointer");n&&n.push(o);const t=r(e);if("object"!=typeof o)return;if(!Object.prototype.hasOwnProperty.call(o,t))return;o=o[t]}return o}const s=/^https?:\/\//;function o(e,t){if("string"!=typeof e||"string"!=typeof t)throw new Error("Unexpected path!");if(0===t.length)return e;const r=e.replace(/#.*/,"");return t.startsWith("#")?`${r}${t}`:!r.includes("/")||s.test(t)?t:s.test(r)?`${new URL(t,r)}`:t.startsWith("/")?t:[...r.split("/").slice(0,-1),t].join("/")}function i(e){return e.map(e=>e&&(e.$id||e.id)||"").filter(e=>e&&"string"==typeof e).reduce(o,"")}const a=["properties","patternProperties","$defs","definitions"],c=["const","enum","examples","example","comment"],l=Symbol("skip");function u(t,r){const n=(t,s=!1)=>{if(!t||"object"!=typeof t)return;const o=r(t);if(void 0!==o)return o===l?void 0:o;for(const r of Object.keys(t)){if(!s&&!Array.isArray(t)&&!e.includes(r))continue;if(!s&&c.includes(r))continue;const o=n(t[r],!s&&a.includes(r));if(void 0!==o)return o}};return n(t)}const p=(e,r,n=!1)=>{if(!Array.isArray(r))throw new Error("Expected an array of schemas");for(const s of r)u(s,r=>{const o=r.$id||r.id,i=o&&"string"==typeof o?o.replace(/#$/,""):null;if(i&&i.includes("://")&&!i.includes("#"))t(e,i,r,"schema $id in 'schemas'");else if(r===s&&!n)throw new Error("Schema with missing or invalid $id in 'schemas'")});return e},d=(e,t)=>{if(t)return p(d(e),t,!0);if(e)switch(Object.getPrototypeOf(e)){case Object.prototype:return new Map(Object.entries(e));case Map.prototype:return new Map(e);case Array.prototype:return p(new Map,e)}throw new Error("Unexpected value for 'schemas' option")};return f={get:n,joinPath:o,resolveReference:function t(r,s,l,u=""){const p=o(u,l),d=[],[f,m=""]=p.split("#"),y=decodeURI(m),h=(t,s,l=!1,u=!1)=>{if(!t||"object"!=typeof t)return;const m=t.$id||t.id;let g=s;if(m&&"string"==typeof m)if(g=o(g,m),g===p||g===f&&""===y)d.push([t,r,s]);else if(g===f&&"/"===y[0]){const e=[],a=n(t,y,e);void 0!==a&&d.push([a,r,o(s,i(e))])}const w=u?t.$dynamicAnchor:t.$anchor;if(w&&"string"==typeof w){if(w.includes("#"))throw new Error("$anchor can't include '#'");if(w.startsWith("/"))throw new Error("$anchor can't start with '/'");g=o(g,`#${w}`),g===p&&d.push([t,r,s])}for(const r of Object.keys(t))(l||Array.isArray(t)||e.includes(r))&&(!l&&c.includes(r)||h(t[r],g,!l&&a.includes(r)));!u&&t.$dynamicAnchor&&h(t,s,l,!0)};if(h(r,f),f===u.replace(/#$/,"")&&("/"===y[0]||""===y)){const e=[],t=n(r,y,e);void 0!==t&&d.push([t,r,i(e)])}if(s.has(f)&&s.get(f)!==r){const e=t(s.get(f),s,`#${m}`,f);d.push(...e.map(([e,t,r])=>[e,t,o(f,r)]))}return s.has(p)&&d.push([s.get(p),s.get(p),p]),d},getDynamicAnchors:function(e){const r=new Map;return u(e,n=>{if(n!==e&&(n.$id||n.id))return l;const s=n.$dynamicAnchor;if(s&&"string"==typeof s){if(s.includes("#"))throw new Error("$dynamicAnchor can't include '#'");if(!/^[a-zA-Z0-9_-]+$/.test(s))throw new Error(`Unsupported $dynamicAnchor: ${s}`);t(r,s,n,"$dynamicAnchor")}}),r},hasKeywords:(e,t)=>u(e,e=>Object.keys(e).some(e=>t.includes(e))||void 0)||!1,buildSchemas:d},f}function M(){if(h)return y;h=1;const e={email:e=>{if(e.length>318)return!1;if(/^[a-z0-9!#$%&'*+/=?^_`{|}~-]{1,20}(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]{1,21}){0,2}@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,60}[a-z0-9])?){0,3}$/i.test(e))return!0;if(!e.includes("@")||/(^\.|^"|\.@|\.\.)/.test(e))return!1;const[t,r,...n]=e.split("@");return!(!t||!r||0!==n.length||t.length>64||r.length>253)&&(!(!/^[a-z0-9.-]+$/i.test(r)||!/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+$/i.test(t))&&r.split(".").every(e=>/^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$/i.test(e)))},hostname:e=>{if(e.length>(e.endsWith(".")?254:253))return!1;return/^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*\.?$/i.test(e)},date:e=>{if(10!==e.length)return!1;if("0"===e[5]&&"2"===e[6]){if(/^\d\d\d\d-02-(?:[012][1-8]|[12]0|[01]9)$/.test(e))return!0;const t=e.match(/^(\d\d\d\d)-02-29$/);if(!t)return!1;const r=0|t[1];return r%16==0||r%4==0&&r%25!=0}return e.endsWith("31")?/^\d\d\d\d-(?:0[13578]|1[02])-31$/.test(e):/^\d\d\d\d-(?:0[13-9]|1[012])-(?:[012][1-9]|[123]0)$/.test(e)},time:e=>{if(e.length>27)return!1;if(!/^(?:2[0-3]|[0-1]\d):[0-5]\d:(?:[0-5]\d|60)(?:\.\d+)?(?:z|[+-](?:2[0-3]|[0-1]\d)(?::?[0-5]\d)?)?$/i.test(e))return!1;if(!/:60/.test(e))return!0;const t=e.match(/([0-9.]+|[^0-9.])/g);let r=60*Number(t[0])+Number(t[2]);return"+"===t[5]?r+=1440-60*Number(t[6]||0)-Number(t[8]||0):"-"===t[5]&&(r+=60*Number(t[6]||0)+Number(t[8]||0)),r%1440==1439},"date-time":e=>{if(e.length>38)return!1;const t="0"===e[5]&&"2"===e[6];if(t&&"3"===e[8]||!/^\d\d\d\d-(?:0[1-9]|1[0-2])-(?:[0-2]\d|3[01])[t\s](?:2[0-3]|[0-1]\d):[0-5]\d:(?:[0-5]\d|60)(?:\.\d+)?(?:z|[+-](?:2[0-3]|[0-1]\d)(?::?[0-5]\d)?)$/i.test(e))return!1;if("6"===e[17]){const t=e.slice(11).match(/([0-9.]+|[^0-9.])/g);let r=60*Number(t[0])+Number(t[2]);if("+"===t[5]?r+=1440-60*Number(t[6]||0)-Number(t[8]||0):"-"===t[5]&&(r+=60*Number(t[6]||0)+Number(t[8]||0)),r%1440!=1439)return!1}if(t){if(/^\d\d\d\d-02-(?:[012][1-8]|[12]0|[01]9)/.test(e))return!0;const t=e.match(/^(\d\d\d\d)-02-29/);if(!t)return!1;const r=0|t[1];return r%16==0||r%4==0&&r%25!=0}return"3"===e[8]&&"1"===e[9]?/^\d\d\d\d-(?:0[13578]|1[02])-31/.test(e):/^\d\d\d\d-(?:0[13-9]|1[012])-(?:[012][1-9]|[123]0)/.test(e)},ipv4:e=>e.length<=15&&/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d\d?)$/.test(e),ipv6:e=>{if(e.length>45||e.length<2)return!1;let t=0,r=0,n=0,s=!1,o=!1,i=0,a=!0;for(let c=0;c<e.length;c++){const l=e.charCodeAt(c);if(1===c&&58===i&&58!==l)return!1;if(l>=48&&l<=57){if(++n>4)return!1}else if(46===l){if(t>6||r>=3||0===n||o)return!1;r++,n=0}else if(58===l){if(r>0||t>=7)return!1;if(58===i){if(s)return!1;s=!0}else 0===c&&(a=!1);t++,n=0,o=!1}else{if(!(l>=97&&l<=102||l>=65&&l<=70))return!1;if(r>0)return!1;if(++n>4)return!1;o=!0}i=l}if(t<2||r>0&&(3!==r||0===n))return!1;if(s&&2===e.length)return!0;if(r>0&&!/(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}$/.test(e))return!1;const c=r>0?6:7;return s?(a||n>0)&&t<c:t===c&&a&&n>0},uri:/^[a-z][a-z0-9+\-.]*:(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|v[0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/?(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|v[0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/?(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?)?(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2}|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,"json-pointer":/^(?:|\/(?:[^~]|~0|~1)*)$/,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:|#|\/(?:[^~]|~0|~1)*)$/,uuid:/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,duration:e=>e.length>1&&e.length<80&&(/^P\d+([.,]\d+)?W$/.test(e)||/^P[\dYMDTHS]*(\d[.,]\d+)?[YMDHS]$/.test(e)&&/^P([.,\d]+Y)?([.,\d]+M)?([.,\d]+D)?(T([.,\d]+H)?([.,\d]+M)?([.,\d]+S)?)?$/.test(e))};return y={core:e,extra:{alpha:/^[a-zA-Z]+$/,alphanumeric:/^[a-zA-Z0-9]+$/,"hex-digits":/^[0-9a-f]+$/i,"hex-digits-prefixed":/^0x[0-9a-f]+$/i,"hex-bytes":/^([0-9a-f][0-9a-f])+$/i,"hex-bytes-prefixed":/^0x([0-9a-f][0-9a-f])+$/i,base64:e=>e.length%4==0&&/^[a-z0-9+/]*={0,3}$/i.test(e),"json-pointer-uri-fragment":/^#(|\/(\/|[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)$/i,"host-name":e.hostname,"ip-address":e.ipv4,color:/^(#[0-9A-Fa-f]{3,6}|aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow|rgb\(\s*([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\s*,\s*([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\s*,\s*([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\s*\)|rgb\(\s*(\d?\d%|100%)\s*,\s*(\d?\d%|100%)\s*,\s*(\d?\d%|100%)\s*\))$/},weak:{regex:e=>{if(e.length>1e5)return!1;if(/[^\\]\\Z/.test(e))return!1;try{return new RegExp(e,"u"),!0}catch(e){return!1}}}}}function q(){if($)return b;$=1;const{format:e,safe:t,safeand:r,safenot:n,safenotor:s}=O(),o=A(),{resolveReference:i,joinPath:a,getDynamicAnchors:c,hasKeywords:l}=z(),u=M(),{toPointer:p,...d}=E(),{scopeMethods:f}=x(),{buildName:m,types:y,jsHelpers:h}=k(),{knownKeywords:v,schemaVersions:j,knownVocabularies:q}=S(),{initTracing:N,andDelta:P,orDelta:I,applyDelta:R,isDynamic:U,inProperties:C}=function(){if(w)return g;w=1;const e=(e,t)=>[...new Set([...e,...t])].sort(),t=(e,t)=>e.filter(e=>t.includes(e)),r=e=>(...t)=>s(e(...t.map(s))),n=(e,t)=>e&&!e.includes(t),s=({type:t=null,dyn:r={},...s})=>({type:t?[...t].sort():t,items:n(t,"array")?1/0:s.items||0,properties:n(t,"object")?[!0]:[...s.properties||[]].sort(),patterns:n(t,"object")?[]:[...s.patterns||[]].sort(),required:n(t,"object")?[]:[...s.required||[]].sort(),fullstring:n(t,"string")||s.fullstring||!1,dyn:{item:!n(t,"array")&&(r.item||!1),items:n(t,"array")?0:Math.max(s.items||0,r.items||0),properties:n(t,"object")?[]:e(s.properties||[],r.properties||[]),patterns:n(t,"object")?[]:e(s.patterns||[],r.patterns||[])},unknown:s.unknown&&!(n(t,"object")&&n(t,"array"))||!1}),o=r((r,n)=>({type:r.type&&n.type?t(r.type,n.type):r.type||n.type||null,items:Math.max(r.items,n.items),properties:e(r.properties,n.properties),patterns:e(r.patterns,n.patterns),required:e(r.required,n.required),fullstring:r.fullstring||n.fullstring,dyn:{item:r.dyn.item||n.dyn.item,items:Math.max(r.dyn.items,n.dyn.items),properties:e(r.dyn.properties,n.dyn.properties),patterns:e(r.dyn.patterns,n.dyn.patterns)},unknown:r.unknown||n.unknown})),i=(e,t)=>!0!==t&&new RegExp(e,"u").test(t),a=({properties:t,patterns:r},{properties:n,patterns:s})=>{const o=t.filter(e=>n.includes(e)||n.includes(!0)||s.some(t=>i(t,e))),a=n.filter(e=>t.includes(e)||t.includes(!0)||r.some(t=>i(t,e))),c=r.filter(e=>s.includes(e)||n.includes(!0)),l=s.filter(e=>r.includes(e)||t.includes(!0));return{properties:e(o,a),patterns:e(c,l)}},c=({properties:e,patterns:t},{properties:r,patterns:n})=>r.every(r=>e.includes(r)||e.includes(!0)||t.some(e=>i(e,r)))&&n.every(r=>t.includes(r)||e.includes(!0)),l=r((r,s)=>({type:r.type&&s.type?e(r.type,s.type):null,items:Math.min(r.items,s.items),...a(r,s),required:n(r.type,"object")&&s.required||n(s.type,"object")&&r.required||t(r.required,s.required),fullstring:r.fullstring&&s.fullstring,dyn:{item:r.dyn.item||s.dyn.item,items:Math.max(r.dyn.items,s.dyn.items),properties:e(r.dyn.properties,s.dyn.properties),patterns:e(r.dyn.patterns,s.dyn.patterns)},unknown:r.unknown||s.unknown})),u=(p=({unknown:e,items:t,dyn:r,...n})=>({items:t!==1/0&&(e||r.items>t||r.item),properties:!n.properties.includes(!0)&&(e||!c(n,r))}),(...e)=>p(...e.map(s)));var p;return g={initTracing:()=>s({}),andDelta:o,orDelta:l,applyDelta:(e,t)=>Object.assign(e,o(e,t)),isDynamic:u,inProperties:c}}(),D=new Set(["^[\\s\\S]*$","^[\\S\\s]*$","^[^]*$","",".*","^","$"]),_=["null","boolean","number","integer","string"],L=new Map(Object.entries({boolean:e=>"boolean"==typeof e,array:e=>Array.isArray(e)&&Object.getPrototypeOf(e)===Array.prototype,object:e=>e&&Object.getPrototypeOf(e)===Object.prototype,finite:e=>Number.isFinite(e),natural:e=>Number.isInteger(e)&&e>=0,string:e=>"string"==typeof e,jsonval:e=>d.deepEqual(e,JSON.parse(JSON.stringify(e)))})),J=L.get("object"),F=e=>J(e)||"boolean"==typeof e,T=(e,t)=>j.indexOf(e)>j.indexOf(`https://json-schema.org/${t}/schema`),V=(e,t)=>{const r=`${e}`.replace(/^http:\/\//,"https://").replace(/#$/,"");return!j.includes(r)||T(r,t)},W=(e,t,r=!1,n=!1)=>Object.freeze({parent:e,keyname:t,inKeys:r,number:n}),K=Symbol("evaluatedStatic"),B=Symbol("optDynamic"),H=Symbol("optDynAnchors"),Z=Symbol("optRecAnchors"),Y=new Set,G=new Map,Q=(g,w,b,$,O="")=>{const{mode:x="default",useDefaults:E=!1,removeAdditional:k=!1,includeErrors:A=!1,allErrors:S=!1,contentValidation:z,dryRun:M,lint:X=!1,allowUnusedKeywords:ee="lax"===b.mode||"spec"===b.mode,allowUnreachable:te="lax"===b.mode||"spec"===b.mode,requireSchema:re="strong"===b.mode,requireValidation:ne="strong"===b.mode,requireStringValidation:se="strong"===b.mode,forbidNoopValues:oe="strong"===b.mode,complexityChecks:ie="strong"===b.mode,unmodifiedPrototypes:ae=!1,isJSON:ce=!1,$schemaDefault:le=null,formatAssertion:ue="spec"!==b.mode||V(w.$schema,"draft/2019-09"),formats:pe={},weakFormats:de="strong"!==b.mode,extraFormats:fe=!1,schemas:me,...ye}=b,he={...u.core,...de?u.weak:{},...fe?u.extra:{},...pe};if(0!==Object.keys(ye).length)throw new Error(`Unknown options: ${Object.keys(ye).join(", ")}`);if(!["strong","lax","default","spec"].includes(x))throw new Error(`Invalid mode: ${x}`);if(!A&&S)throw new Error("allErrors requires includeErrors to be enabled");if(re&&le)throw new Error("requireSchema forbids $schemaDefault");if("strong"===x){const e={...{requireValidation:ne,requireStringValidation:se},formatAssertion:ue,complexityChecks:ie,requireSchema:re},t={weakFormats:de,allowUnusedKeywords:ee};for(const[t,r]of Object.entries(e))if(!r)throw new Error(`Strong mode demands ${t}`);for(const[e,r]of Object.entries(t))if(r)throw new Error(`Strong mode forbids ${e}`)}const{gensym:ge,getref:we,genref:be,genformat:$e}=f($),ve=be(g);let je=null;const Oe=(...e)=>{const t=je(...e);return Oe.errors=je.errors,t};$[ve]=Oe;const xe=l(g,["$ref","$recursiveRef","$dynamicRef"]),Ee=b[H]&&xe&&l(g,["$dynamicAnchor"]),ke=b[Z]?e(", recursive"):e(""),Ae=o();Ae.write("function validate(data%s%s) {",ke,b[H]?e(Ee?", dynAnchors = []":", dynAnchors"):e("")),A&&Ae.write("validate.errors = null"),S&&Ae.write("let errorCount = 0"),b[B]&&Ae.write("validate.evaluatedDynamic = null");let Se=b[H]?e(", dynAnchors"):e("");Ee&&(Ae.write("const dynLocal = [{}]"),Se=e(", [...dynAnchors, dynLocal[0] || []]"));const ze=h(Ae,$,W,{unmodifiedPrototypes:ae,isJSON:ce},D),{present:Me,forObjectKeys:qe,forArray:Ne,patternTest:Pe,compare:Ie}=ze,Re=[],Ue=()=>G.get(w),Ce=O?[O]:[],De=(o,l,f,h,M,V={},{constProp:W}={})=>{const ae=l.length>0&&l[l.length-1].prop===f,de=()=>l.filter(e=>e.prop===f),fe=!f.parent||f.checked||f.inKeys&&ce||de().length>0,ye=m(f),be=(...e)=>((e,t,r=!1)=>Object.freeze({parent:e,keyval:t,checked:r}))(f,...e),je=({path:t=[],prop:r=f,source:n,suberr:s})=>{const i=p([...M,...t]),a=A?(t=>{const r=[];let n=t;for(;n;)n.name||r.unshift(n),n=n.parent||n.errorParent;if(r.every(e=>void 0!==e.keyval))return e("%j",p(r.map(e=>e.keyval)));const s=["#"],o=()=>{const e=s.map(d.pointerPart).join("/");return s.length=0,e};let i=null;for(const{keyname:t,keyval:n,number:a}of r)if(t){a||($.pointerPart=d.pointerPart);const r=a?t:e("pointerPart(%s)",t),n=`${o()}/`;i=i?e("%s+%j+%s",i,n,r):e("%j+%s",n,r)}else n&&s.push(n);return s.length>0?e("%s+%j",i,`/${o()}`):i})(r):null;if(!0===A&&o&&n){$.errorMerge=d.errorMerge;const e=[n,i,a];S?(Ae.write("if (validate.errors === null) validate.errors = []"),Ae.write("validate.errors.push(...%s.map(e => errorMerge(e, %j, %s)))",...e)):Ae.write("validate.errors = [errorMerge(%s[0], %j, %s)]",...e)}else if(!0===A&&o){const t=e("{ keywordLocation: %j, instanceLocation: %s }",i,a);S?(Ae.write("if (%s === null) %s = []",o,o),Ae.write("%s.push(%s)",o,t)):Ae.write("%s = [%s]",o,t)}s&&xt(s),S?Ae.write("errorCount++"):Ae.write("return false")},Oe=(e,t)=>Ae.if(e,()=>je(t));X&&!$.lintErrors&&($.lintErrors=[]);const xe=(e,t)=>{const r=void 0!==t?` ${JSON.stringify(t)}`:"",n=a(O,p(M)),s=`${e}${r} at ${n}`;if(X)return $.lintErrors.push({message:s,keywordLocation:n,schema:g});throw new Error(s)},ke=(t,r)=>{try{return Pe(t,r)}catch(t){return xe(t.message),e("false")}},ze=(e,...t)=>e||xe(...t),_e=(e,...t)=>ze("lax"===x||"spec"===x||e,...t),Le=(e,t)=>_e(!(h[t]<h[e]),`Invalid ${e} / ${t} combination`),Je=(e,t="should be specified")=>ze(!ne,`[requireValidation] ${e} ${t}`),Fe=(...e)=>[...M,...e],Te=e=>ze(!k&&!E,`[removeAdditional/useDefaults] uncertain: ${e}`),Ve=(e,t)=>ze(!ie,`[complexityChecks] ${e}`,t),We=e=>((e,t,r,n)=>{if(t){const n=t.replace(/^http:\/\//,"https://").replace(/#$/,"");r(j.includes(n),"Unexpected schema version:",n),G.set(e,{exclusiveRefs:T(n,"draft/2019-09"),contentValidation:T(n,"draft/2019-09"),dependentUnsupported:T(n,"draft/2019-09"),newItemsSyntax:!T(n,"draft/2020-12"),containsEvaluates:!T(n,"draft/2020-12"),objectContains:!T(n,"draft/next"),bookending:T(n,"draft/next")})}else r(!n,"[requireSchema] $schema is required"),G.set(e,{})})(w,e||le,ze,re),Ke=N(),Be=e=>R(Ke,e);if("boolean"==typeof h)return!0===h?(Je("schema = true","is not allowed"),{stat:Ke}):(Oe(!(!fe&&!f.inKeys)||Me(f),{}),Be({type:[]}),{stat:Ke});ze(J(h),"Schema is not an object");for(const e of Object.keys(h))ze(v.includes(e)||ee,"Keyword not supported:",e);if(0===Object.keys(h).length)return Je("empty rules node","is not allowed"),{stat:Ke};const He=new Set(Object.keys(h)),Ze=new Set,Ye=(e,...t)=>{ze(Ze.has(e)||He.has(e),"Unexpected double consumption:",e),ze(d.hasOwn(h,e),"Is not an own property:",e),ze(t.every(e=>L.has(e)),"Invalid type used in consume"),ze(t.some(t=>L.get(t)(h[e])),"Unexpected type for",e),He.delete(e)},Ge=(e,...t)=>(void 0!==h[e]&&Ye(e,...t),h[e]),Qe=(e,t,r,n={})=>{if(void 0===h[e])return!1;if(Ye(e,...t),null!==r)try{const t=r(h[e]);null!==t&&Oe(t,{path:[e],...n})}catch(e){if(!X||e.message.startsWith("[opt] "))throw e;xe(e.message)}return!0};if(h===w?(We(Ge("$schema","string")),Qe("$vocabulary",["object"],e=>{for(const[t,r]of Object.entries(e))!1!==r&&ze(!0===r&&q.includes(t),"Unknown vocabulary:",t);return null})):Ue()||We(w.$schema),Ue().objectContains)for(const e of["contains","minContains","maxContains"])Ze.add(e);Qe("examples",["array"],null),Qe("example",["jsonval"],null);for(const e of["title","description","$comment"])Qe(e,["string"],null);for(const e of["deprecated","readOnly","writeOnly"])Qe(e,["boolean"],null);Qe("$defs",["object"],null)||Qe("definitions",["object"],null);const Xe=(e,r,n)=>e===g?t("validate"):we(e)||Q(e,r,b,$,n),et=()=>Ce.length>0?Ce[Ce.length-1]:"",tt=Ce.length,rt=e=>(Ce.push(a(et(),e)),null);Ue().exclusiveRefs&&h.$ref||(Qe("$id",["string"],rt)||Qe("id",["string"],rt),Qe("$anchor",["string"],null),Qe("$dynamicAnchor",["string"],null),!h.$recursiveAnchor&&oe||Qe("$recursiveAnchor",["boolean"],e=>(e&&Re.push([h,w,et()]),null)));const nt=Ee&&(h===g||h.id||h.$id);if(nt){const e=c(h);h!==g&&Ae.write("dynLocal.unshift({})");for(const[t,r]of e){const e=i(w,me,`#${t}`,et()),[n,s,o]=e[0]||[];ze(n===r,`Unexpected $dynamicAnchor resolution: ${t}`);const a=Xe(n,s,o);Ae.write("dynLocal[0][%j] = %s",`#${t}`,a)}}const st=e=>b[B]&&(h[e]||!1===h[e]||h===g),ot=Object.freeze({item:st("unevaluatedItems")?ge("evaluatedItem"):null,items:st("unevaluatedItems")?ge("evaluatedItems"):null,props:st("unevaluatedProperties")?ge("evaluatedProps"):null}),it=Object.freeze({item:ot.item||V.item,items:ot.items||V.items,props:ot.props||V.props}),at=()=>(!it.items||Ke.items===1/0)&&(!it.props||Ke.properties.includes(!0)),ct=e=>{if(it.item&&e.item&&Ke.items!==1/0&&Ae.write("%s.push(%s)",it.item,e.item),it.items&&e.items>Ke.items&&Ae.write("%s.push(%d)",it.items,e.items),it.props&&(e.properties||[]).includes(!0)&&!Ke.properties.includes(!0))Ae.write("%s[0].push(true)",it.props);else if(it.props){const t=(e,t)=>C(Ke,{properties:e,patterns:t}),r=(e.properties||[]).filter(e=>!t([e],[])),n=(e.patterns||[]).filter(e=>!t([],[e]));r.length>0&&Ae.write("%s[0].push(...%j)",it.props,r),n.length>0&&Ae.write("%s[1].push(...%j)",it.props,n);for(const t of e.propertiesVars||[])Ae.write("%s[0].push(%s)",it.props,t)}},lt=(e,t,r,n)=>{U(Ke).items&&e.item&&t&&Ae.write("%s.push(...%s)",e.item,t),U(Ke).items&&e.items&&r&&Ae.write("%s.push(...%s)",e.items,r),U(Ke).properties&&e.props&&n&&(Ae.write("%s[0].push(...%s[0])",e.props,n),Ae.write("%s[1].push(...%s[1])",e.props,n))},ut=(t,r)=>{const s=$[t]&&$[t][K]||{unknown:!0};Be(s);const o=e("%s(%s%s%s)",t,ye,b[Z]?0===Re.length?e(", recursive"):e(", recursive || %s",Xe(...Re[0])):e(""),Se);if(!A&&at())return e("!%s",o);const i=ge("res"),a=ge("err"),c=ge("suberr");return A&&Ae.write("const %s = validate.errors",a),Ae.write("const %s = %s",i,o),A&&Ae.write("const %s = %s.errors",c,t),A&&Ae.write("validate.errors = %s",a),Oe(n(i),{...r,source:c}),Ae.if(i,()=>{const r=U(s).items?e("%s.evaluatedDynamic[0]",t):null,n=U(s).items?e("%s.evaluatedDynamic[1]",t):null,o=U(s).properties?e("%s.evaluatedDynamic[2]",t):null;lt(it,r,n,o)}),null},pt=(e,t)=>e&&e.every(e=>t.includes(e)),dt=(e,t)=>t.some(t=>null===e||e.includes(t)),ft=(...e)=>de().some(t=>pt(t.stat.type,e)),mt=(...e)=>dt(Ke.type,e)&&de().every(t=>dt(t.stat.type,e)),yt=(e,t=h)=>{ze("string"==typeof e,"Invalid pattern:",e),(ne||se)&&ze(/^\^.*\$$/.test(e),"Should start with ^ and end with $:",e),/([{+*].*[{+*]|\)[{+*]|^[^^].*[{+*].)/.test(e)&&void 0===t.maxLength&&Ve("maxLength should be specified for pattern:",e)},ht=h.pattern&&!D.has(h.pattern),gt=h.uniqueItems||ht||h.patternProperties||h.format,wt=S&&gt?ge("prev"):null,bt=(t,r)=>Ae.if(!t||null===wt||e("errorCount === %s",wt),r),$t=()=>[...l,{stat:Ke,prop:f}],vt=(...e)=>De(o,$t(),...e).stat,jt=(t,...r)=>{if(r[0]===f){const t=(e=>"boolean"==typeof e?e:!(!J(e)||0!==Object.keys(e).length)||void 0)(r[1]);if(!0===t)return{sub:e("true"),delta:{}};if(!1===t)return{sub:e("false"),delta:{type:[]}}}const n=ge("sub");Ae.write("const %s = (() => {",n),S&&Ae.write("let errorCount = 0");const{stat:s}=De(t,$t(),...r);return S?Ae.write("return errorCount === 0"):Ae.write("return true"),Ae.write("})()"),{sub:n,delta:s}},Ot=()=>{const e=A&&S?ge("suberr"):null;return e&&Ae.write("let %s = null",e),e},xt=e=>{null!==o&&null!==e&&Ae.if(e,()=>Ae.write("%s.push(...%s)",o,e))},Et=()=>{if(!k)return!1;if(!0===k)return!0;if("keyword"===k)return!!h.removeAdditional&&(Ye("removeAdditional","boolean"),!0);throw new Error(`Invalid removeAdditional: ${k}`)},kt=(t,r,n)=>{Qe(t,["object","boolean"],s=>!1===s&&Et()?(Ae.write("if (%s.length > %s) %s.length = %s",ye,r,ye,r),null):!1!==s||n?(Ne(f,r,(e,r)=>(n&&Ae.write("if (%s) continue",n(r)),vt(e,s,Fe(t)))),null):e("%s.length > %s",ye,r))&&Be({items:1/0})},At=(e,t)=>{Qe(e,["object","boolean"],r=>(qe(f,(n,s)=>{Ae.if(t(s),()=>{!1===r&&Et()?Ae.write("delete %s[%s]",ye,s):vt(n,r,Fe(e))})}),null))&&Be({properties:[!0]})},St=(t,s,o)=>r(...s.map(r=>e("%s !== %j",t,r)),...o.map(e=>n(ke(e,t)))),zt=(e,t)=>{const r=t.map(e=>new RegExp(e,"u")),n=t=>e.includes(t)||r.some(e=>e.test(t));for(const e of Ke.required)ze(n(e),"Unknown required property:",e)},Mt=[],qt=()=>{const t=(t,r)=>e("!(%d %c %s)",t,r,ye);Number.isFinite(h.exclusiveMinimum)?Qe("exclusiveMinimum",["finite"],e=>t(e,"<")):(Qe("minimum",["finite"],e=>t(e,h.exclusiveMinimum?"<":"<=")),Qe("exclusiveMinimum",["boolean"],null)),Number.isFinite(h.exclusiveMaximum)?(Qe("exclusiveMaximum",["finite"],e=>t(e,">")),Le("minimum","exclusiveMaximum"),Le("exclusiveMinimum","exclusiveMaximum")):void 0!==h.maximum&&(Qe("maximum",["finite"],e=>t(e,h.exclusiveMaximum?">":">=")),Qe("exclusiveMaximum",["boolean"],null),Le("minimum","maximum"),Le("exclusiveMinimum","maximum"));const r=void 0===h.multipleOf?"divisibleBy":"multipleOf";Qe(r,["finite"],t=>{ze(t>0,`Invalid ${r}:`,t);const[n,s]=`${t}`.split("e-"),o=`${n}.`.split(".")[1].length+(s?Number(s):0);if(Number.isInteger(t*2**o))return e("%s %% %d !== 0",ye,t);$.isMultipleOf=d.isMultipleOf;const i=[ye,t,o,Math.round(t*Math.pow(10,o))];return e("!isMultipleOf(%s, %d, 1e%d, %d)",...i)})},Nt=()=>{Qe("maxLength",["natural"],t=>($.stringLength=d.stringLength,e("%s.length > %d && stringLength(%s) > %d",ye,t,ye,t))),Qe("minLength",["natural"],t=>($.stringLength=d.stringLength,e("%s.length < %d || stringLength(%s) < %d",ye,t,ye,t))),Le("minLength","maxLength"),bt(!0,()=>{const t=(t,r,n=he)=>{const s="string"==typeof t&&d.hasOwn(n,t);ze(s,"Unrecognized format used:",t);const o=n[t],i=o instanceof RegExp||"function"==typeof o;return ze(i,"Invalid format used:",t),ue?o instanceof RegExp?(d.hasOwn(pe,t)&&yt(o.source),e("!%s.test(%s)",$e(o),r)):e("!%s(%s)",$e(o),r):null};Qe("format",["string"],e=>(Be({fullstring:!0}),t(e,ye))),Qe("pattern",["string"],e=>(yt(e),Be({fullstring:!0}),D.has(e)?null:n(ke(e,ye)))),ze(!1!==h.contentSchema,"contentSchema cannot be set to false");const r=void 0===z?Ue().contentValidation:z,s=h.contentEncoding||h.contentMediaType||h.contentSchema;if(ze(!s||r||ee,'"content*" keywords are disabled by default per spec, enable with { contentValidation = true } option (see doc/Options.md for more info)'),s&&r){const e=ge("dec");h.contentMediaType&&Ae.write("let %s = %s",e,ye),"base64"===h.contentEncoding?(Oe(t("base64",ye,u.extra),{path:["contentEncoding"]}),h.contentMediaType&&($.deBase64=d.deBase64,Ae.write("try {"),Ae.write("%s = deBase64(%s)",e,e)),Ye("contentEncoding","string")):ze(!h.contentEncoding,"Unknown contentEncoding:",h.contentEncoding);let r=!1;if("application/json"===h.contentMediaType?(Ae.write("try {"),Ae.write("%s = JSON.parse(%s)",e,e),r=!0,Ye("contentMediaType","string")):ze(!h.contentMediaType,"Unknown contentMediaType:",h.contentMediaType),h.contentSchema){ze(r,"contentSchema requires contentMediaType application/json");const t=Object.freeze({name:e,errorParent:f});vt(t,h.contentSchema,Fe("contentSchema")),Ye("contentSchema","object","array"),Be({fullstring:!0})}h.contentMediaType&&(Ae.write("} catch (e) {"),je({path:["contentMediaType"]}),Ae.write("}"),h.contentEncoding&&(Ae.write("} catch (e) {"),je({path:["contentEncoding"]}),Ae.write("}")))}})},Pt=()=>{Qe("maxItems",["natural"],t=>{const r=Ue().newItemsSyntax?"prefixItems":"items";return Array.isArray(h[r])&&h[r].length>t&&xe(`Invalid maxItems: ${t} is less than ${r} array length`),e("%s.length > %d",ye,t)}),Qe("minItems",["natural"],t=>e("%s.length < %d",ye,t)),Le("minItems","maxItems");const t=e=>{for(let t=0;t<e.length;t++)vt(be(t),e[t],Fe(`${t}`));return Be({items:e.length}),null};Ue().newItemsSyntax?(Qe("prefixItems",["array"],t),kt("items",e("%d",(h.prefixItems||[]).length))):Array.isArray(h.items)?(Qe("items",["array"],t),kt("additionalItems",e("%d",h.items.length))):Qe("items",["object","boolean"],t=>(Ne(f,e("0"),e=>vt(e,t,Fe("items"))),Be({items:1/0}),null)),Ut(t=>{Ne(f,e("0"),(e,r)=>{t(e,()=>{Be({dyn:{item:!0}}),ct({item:r})})})});const r=e=>{if(!J(e))return!1;if(e.enum||d.hasOwn(e,"const"))return!0;if(e.type){if((Array.isArray(e.type)?e.type:[e.type]).every(e=>_.includes(e)))return!0}if(e.$ref){const[t]=i(w,me,e.$ref,et())[0]||[];if(r(t))return!0}return!1},n=e=>!1===e||r(e);bt(!0,()=>{Qe("uniqueItems",["boolean"],t=>!1===t?null:(void 0!==h.maxItems||n(h.items)||Array.isArray(h.items)&&n(h.additionalItems)||Ve("maxItems should be specified for non-primitive uniqueItems"),Object.assign($,{unique:d.unique,deepEqual:d.deepEqual}),e("!unique(%s)",ye)))})},It=e=>!S&&(Ke.required.includes(e)||de().some(t=>t.stat.required.includes(e))),Rt=()=>{const t=e("Object.keys(%s).length",ye);Qe("maxProperties",["natural"],r=>e("%s > %d",t,r)),Qe("minProperties",["natural"],r=>e("%s < %d",t,r)),Le("minProperties","maxProperties"),Qe("propertyNames",["object","boolean"],e=>(qe(f,(t,r)=>{const n="object"!=typeof e||e.$ref?e:{type:"string",...e},s=Object.freeze({name:r,errorParent:t,type:"string"});vt(s,n,Fe("propertyNames"))}),null)),Qe("required",["array"],e=>{for(const t of e){if(It(t))continue;const e=be(t);Oe(n(Me(e)),{path:["required"],prop:e})}return Be({required:e}),null});for(const e of["dependencies","dependentRequired","dependentSchemas"])"dependencies"!==e&&Ue().dependentUnsupported||Qe(e,["object"],t=>{for(const s of Object.keys(t)){const o="string"==typeof t[s]?[t[s]]:t[s],i=be(s,It(s));if(Array.isArray(o)&&"dependentSchemas"!==e){const t=o.filter(e=>!It(e)).map(e=>Me(be(e))),a=n(r(...t)),c={path:[e,s]};0===t.length||(i.checked?(Oe(a,c),Be({required:o})):Oe(r(Me(i),a),c))}else F(o)&&"dependentRequired"!==e?(Te(e),Ae.if(!!i.checked||Me(i),()=>{const t=vt(f,o,Fe(e,s),it);Be(I({},t)),ct(t)})):xe(`Unexpected ${e} entry`)}return null});Qe("propertyDependencies",["object"],e=>{for(const[t,r]of Object.entries(e)){ze(J(r),"propertyDependencies must be an object"),Te("propertyDependencies");const e=be(t,It(t));Ae.if(!!e.checked||Me(e),()=>{for(const[n,s]of Object.entries(r))ze(F(s),"propertyDependencies must contain schemas"),Ae.if(Ie(m(e),n),()=>{const e=vt(f,s,Fe("propertyDependencies",t,n),it);Be(I({},e)),ct(e)})})}return null}),Qe("properties",["object"],e=>{for(const t of Object.keys(e))W!==t&&vt(be(t,It(t)),e[t],Fe("properties",t));return Be({properties:Object.keys(e)}),null}),bt(h.patternProperties,()=>{if(Qe("patternProperties",["object"],e=>(qe(f,(t,r)=>{for(const n of Object.keys(e))yt(n,h.propertyNames||{}),Ae.if(ke(n,r),()=>{vt(t,e[n],Fe("patternProperties",n))})}),Be({patterns:Object.keys(e)}),null)),h.additionalProperties||!1===h.additionalProperties){const e=Object.keys(h.properties||{}),t=Object.keys(h.patternProperties||{});!1===h.additionalProperties&&Mt.push(()=>zt(e,t));At("additionalProperties",r=>St(r,e,t))}}),Ue().objectContains&&Ut(e=>{qe(f,(t,r)=>{e(t,()=>{Be({dyn:{properties:[!0]}}),ct({propertiesVars:[r]})})})})},Ut=t=>{Qe("contains",["object","boolean"],()=>{Te("contains"),Ue().objectContains&&mt("array")&&mt("object")&&Je("possible type confusion in 'contains',","forbid 'object' or 'array'");const r=ge("passes");Ae.write("let %s = 0",r);const n=Ot();return t((e,t)=>{const{sub:s}=jt(n,e,h.contains,Fe("contains"));Ae.if(s,()=>{Ae.write("%s++",r),Ue().containsEvaluates&&(ze(!k,'Can\'t use removeAdditional with draft2020+ "contains"'),t())})}),Qe("minContains",["natural"],t=>e("%s < %d",r,t),{suberr:n})||Oe(e("%s < 1",r),{path:["contains"],suberr:n}),Qe("maxContains",["natural"],t=>e("%s > %d",r,t)),Le("minContains","maxContains"),null})},Ct=()=>{Qe("not",["object","boolean"],e=>jt(null,f,e,Fe("not")).sub),h.not&&Te("not");(h.then||!1===h.then||h.else||!1===h.else||ee)&&Qe("if",["object","boolean"],e=>{Te("if/then/else");const{sub:t,delta:r}=jt(null,f,e,Fe("if"),it);let n,s,o,i;var a;return Qe("else",["object","boolean"],e=>(n=()=>{o=vt(f,e,Fe("else"),it),ct(o)},null)),Qe("then",["object","boolean"],e=>(s=()=>{i=vt(f,e,Fe("then"),it),ct(P(r,i))},null)),s||(a=r,d.deepEqual(a,{type:[]}))||(s=()=>ct(r)),Ae.if(t,s,n),Be(I(o||{},P(r,i||{}))),null});const t=(e,t="allOf")=>{ze(e.length>0,`${t} cannot be empty`);for(const[r,n]of Object.entries(e))Be(vt(f,n,Fe(t,r),it));return null};Qe("allOf",["array"],e=>t(e));let r=null;Qe("discriminator",["object"],e=>{const t=new Set,n=(e,t,r)=>ze(e,`[discriminator]: ${t}`,r),{propertyName:s,mapping:o,...a}=e,c=be(s);n(s&&!h.oneOf!=!h.anyOf,"need propertyName, oneOf OR anyOf"),n(0===Object.keys(a).length,'only "propertyName" and "mapping" are supported');return r=(e,r)=>{const a=()=>{let a;Ae.write("switch (%s) {",m(c));for(const[c,l]of Object.entries(e)){const{const:e,enum:u,...p}=(l.properties||{})[s]||{};let m=void 0!==e?[e]:u;if(!m&&l.$ref){const[e]=i(w,me,l.$ref,et())[0]||[];ze(J(e),"failed to resolve $ref:",l.$ref);const t=(e.properties||{})[s]||{};m=void 0!==t.const?[t.const]:t.enum}const y=Array.isArray(m)&&m.length>0;n(y,"branches should have unique string const or enum values for [propertyName]");const h=!(0!==Object.keys(p).length||e&&u);n(h,"only const OR enum rules are allowed on [propertyName] in branches");for(const e of m){const r=!o||d.hasOwn(o,e)&&o[e]===l.$ref;n(r,"mismatching mapping for",e);const s="string"==typeof e&&!t.has(e);n(s,"const/enum values for [propertyName] should be unique strings"),t.add(e),Ae.write("case %j:",e)}const g=vt(f,l,Fe(r,c),it,{constProp:s});ct(g),a=a?I(a,g):g,Ae.write("break")}var l;n(void 0===o||(J(l=o)?Object.keys(l).length:null)===t.size,"mismatching mapping size"),Be(a),Ae.write("default:"),je({path:[r]}),Ae.write("}")},l=()=>{if(It(s))a();else{const e=["discriminator","propertyName"];Ae.if(Me(c),a,()=>je({path:e,prop:c}))}};return S||!d.deepEqual(Ke.type,["object"])?Ae.if(y.get("object")(ye),l,()=>je({path:["discriminator"]})):l(),n(d.deepEqual(Ke.type,["object"]),"has to be checked for type:","object"),n(Ke.required.includes(s),"propertyName should be placed in required:",s),null},null});const o=(e,t)=>{const r=t.map(e=>e.type||(Array.isArray(e.const)?"array":typeof e.const)),n=r.filter(e=>!_.includes(e)&&"array"!==e).length,s=r.filter(e=>!_.includes(e)&&"object"!==e).length;(n>1||s>1)&&Te(`${e}, use discriminator to make it certain`)};Qe("anyOf",["array"],e=>{if(ze(e.length>0,"anyOf cannot be empty"),1===e.length)return t(e);if(r)return r(e,"anyOf");const i=Ot();if(!at()){o("anyOf",e);const t=Object.entries(e).map(([e,t])=>jt(i,f,t,Fe("anyOf",e),it));Be(t.map(e=>e.delta).reduce((e,t)=>I(e,t))),Oe(s(...t.map(({sub:e})=>e)),{path:["anyOf"],suberr:i});for(const{delta:e,sub:r}of t)Ae.if(r,()=>ct(e));return null}const a=e.filter(e=>d.hasOwn(e,"const")),c=e.filter(e=>!d.hasOwn(e,"const"));o("anyOf",c);const l=[...a,...c];let u;if(Ue().exclusiveRefs){let e=()=>je({path:["anyOf"],suberr:i});for(const[t,r]of Object.entries(l).reverse()){const s=e;e=()=>{const{sub:e,delta:o}=jt(i,f,r,Fe("anyOf",t));Ae.if(n(e),s),u=u?I(u,o):o}}e()}else{const t=Object.entries(e).map(([e,t])=>jt(i,f,t,Fe("anyOf",e),it));u=t.map(e=>e.delta).reduce((e,t)=>I(e,t)),Oe(s(...t.map(({sub:e})=>e)),{path:["anyOf"],suberr:i})}return Be(u),null}),Qe("oneOf",["array"],n=>{if(ze(n.length>0,"oneOf cannot be empty"),1===n.length)return t(n);if(r)return r(n,"oneOf");o("oneOf",n);const s=ge("passes");Ae.write("let %s = 0",s);const i=Ot();let a,c=0;const l=Object.entries(n).map(([t,r])=>{!A&&c++>1&&Oe(e("%s > 1",s),{path:["oneOf"]});const n=jt(i,f,r,Fe("oneOf",t),it);return Ae.if(n.sub,()=>Ae.write("%s++",s)),a=a?I(a,n.delta):n.delta,n});Be(a),Oe(e("%s !== 1",s),{path:["oneOf"]}),Ae.if(e("%s === 0",s),()=>xt(i));for(const e of l)Ae.if(e.sub,()=>ct(e.delta));return null})},Dt=(e,t,r)=>{const[n,s]=[Ae.size(),He.size];Ae.if(!!((...e)=>pt(Ke.type,e)||ft(...e))(...t)||r,e),n===Ae.size()&&s===He.size||ze(mt(...t),"Unexpected rules in type",h.type)},_t=()=>{if(Ke.items===1/0)!1===h.unevaluatedItems&&Ye("unevaluatedItems","boolean");else if(h.unevaluatedItems||!1===h.unevaluatedItems)if(U(Ke).items){if(!b[B])throw new Error("[opt] Dynamic unevaluated tracing not enabled");const t=e("Math.max(%d, ...%s)",Ke.items,it.items),r=t=>e("%s.includes(%s)",it.item,t);kt("unevaluatedItems",t,Ue().containsEvaluates?r:null)}else kt("unevaluatedItems",e("%d",Ke.items))},Lt=()=>{bt(Ke.patterns.length>0||Ke.dyn.patterns.length>0||Ke.unknown,()=>{if(Ke.properties.includes(!0))!1===h.unevaluatedProperties&&Ye("unevaluatedProperties","boolean");else if(h.unevaluatedProperties||!1===h.unevaluatedProperties){const t=e=>St(e,Ke.properties,Ke.patterns);if(U(Ke).properties){if(!b[B])throw new Error("[opt] Dynamic unevaluated tracing not enabled");$.propertyIn=d.propertyIn;const n=t=>e("!propertyIn(%s, %s)",t,it.props);At("unevaluatedProperties",e=>r(t(e),n(e)))}else!1===h.unevaluatedProperties&&zt(Ke.properties,Ke.patterns),At("unevaluatedProperties",t)}})},Jt=()=>{if(null!==wt&&Ae.write("const %s = errorCount",wt),(()=>{const e=Qe("const",["jsonval"],e=>n(Ie(ye,e)));if(e&&!ee)return!0;const t=Qe("enum",["array"],e=>{const t=e.filter(e=>e&&"object"==typeof e),r=e.filter(e=>!(e&&"object"==typeof e));return s(...[...r,...t].map(e=>Ie(ye,e)))});return e||t})()){const e=[...y.keys()];if(Be({properties:[!0],items:1/0,type:e,fullstring:!0}),!ee)return void ze(0===He.size,"Unexpected keywords mixed with const or enum:",[...He])}Dt(qt,["number","integer"],y.get("number")(ye)),Dt(Nt,["string"],y.get("string")(ye)),Dt(Pt,["array"],y.get("array")(ye)),Dt(Rt,["object"],y.get("object")(ye)),Ct(),Dt(_t,["array"],y.get("array")(ye)),Dt(Lt,["object"],y.get("object")(ye));for(const e of Mt)e();lt(V,ot.item,ot.items,ot.props)},Ft=()=>{if(ot.item&&Ae.write("const %s = []",ot.item),ot.items&&Ae.write("const %s = [0]",ot.items),ot.props&&Ae.write("const %s = [[], []]",ot.props),Qe("$ref",["string"],e=>{const t=i(w,me,e,et()),[r,n,s]=t[0]||[];if(!r&&!1!==r&&(xe("failed to resolve $ref:",e),X))return null;const o=Xe(r,n,s),a=r===g?ve:o;if(!$[a])throw new Error("Unexpected: coherence check failed");if(!$[a][K]&&r.type){const e=Array.isArray(r.type)?r.type:[r.type];Be({type:e}),ne&&(Y.add(a),e.includes("array")&&Be({items:1/0}),e.includes("object")&&Be({properties:[!0]})),se&&e.includes("string")&&(Y.add(a),Be({fullstring:!0}))}return ut(o,{path:["$ref"]})}),Ue().exclusiveRefs&&(ze(!b[B],"unevaluated* is supported only on draft2019-09 and above"),h.$ref))return;Qe("$recursiveRef",["string"],t=>{if(!b[Z])throw new Error("[opt] Recursive anchors are not enabled");ze("#"===t,'Behavior of $recursiveRef is defined only for "#"');const r=i(w,me,"#",et()),[n,s,o]=r[0];_e(n.$recursiveAnchor,"$recursiveRef without $recursiveAnchor");const a=Xe(n,s,o),c=n.$recursiveAnchor?e("(recursive || %s)",a):a;return ut(c,{path:["$recursiveRef"]})}),Qe("$dynamicRef",["string"],t=>{if(!b[H])throw new Error("[opt] Dynamic anchors are not enabled");_e(/^[^#]*#[a-zA-Z0-9_-]+$/.test(t),"Unsupported $dynamicRef format");const r=t.replace(/^[^#]+/,""),n=i(w,me,t,et());if(!n[0]&&!Ue().bookending){_e(!1,"$dynamicRef bookending resolution failed (even though not required)"),$.dynamicResolve=d.dynamicResolve;const t=e("dynamicResolve(dynAnchors || [], %j)",r);return ut(t,{path:["$dynamicRef"]})}ze(n[0],"$dynamicRef bookending resolution failed",t);const[s,o,a]=n[0],c=s.$dynamicAnchor&&`#${s.$dynamicAnchor}`===r;_e(c,"$dynamicRef without $dynamicAnchor in the same scope");const l=Xe(s,o,a);$.dynamicResolve=d.dynamicResolve;const u=c?e("(dynamicResolve(dynAnchors || [], %j) || %s)",r,l):l;return ut(u,{path:["$dynamicRef"]})});let t=null;Qe("type",["string","array"],e=>{const r=Array.isArray(e)?e:[e];for(const e of r)ze("string"==typeof e&&y.has(e),"Unknown type:",e);if(f.type)return ze(d.deepEqual(r,[f.type]),"One type allowed:",f.type),Be({type:[f.type]}),null;if(ft(...r))return null;const n=r.filter(e=>mt(e));return 0===n.length&&xe("No valid types possible"),Be({type:r}),t=s(...n.map(e=>y.get(e)(ye))),null}),t&&S?Ae.if(t,()=>je({path:["type"]}),Jt):(t&&Oe(t,{path:["type"]}),Jt()),Ke.items<1/0&&h.maxItems<=Ke.items&&Be({items:1/0})};if(void 0!==h.default&&E){fe&&xe("Can not apply default value here (e.g. at root)");const e=Ge("default","jsonval");Ae.if(Me(f),Ft,()=>Ae.write("%s = %j",ye,e))}else Qe("default",["jsonval"],null),Ae.if(!!fe||Me(f),Ft);if(Ce.length=tt,Re[0]&&Re[Re.length-1][0]===h&&Re.pop(),nt&&h!==g&&Ae.write("dynLocal.shift()"),te||ze(!Ae.optimizedOut,"some checks are never reachable"),ae){const e=["not","if","then","else"].includes(M[M.length-1]),t=["oneOf","anyOf","allOf"].includes(M[M.length-2]),r=["dependencies","dependentSchemas"].includes(M[M.length-2]),n=["propertyDependencies"].includes(M[M.length-3]);ze(e||t||r||n,"Unexpected logical path")}else if(!M.includes("not")){if((!(g!==w&&h===g)||Y.has(ve))&&(Y.delete(ve),Ke.type||Je("type"),mt("array")&&Ke.items!==1/0&&Je(h.items?"additionalItems or unevaluatedItems":"items rule"),mt("object")&&!Ke.properties.includes(!0)&&Je("additionalProperties or unevaluatedProperties"),!Ke.fullstring&&se)){xe(`[requireStringValidation] ${"pattern, format or contentSchema should be specified for strings"}, use pattern: ^[\\s\\S]*$ to opt-out`)}if("object"!=typeof h.propertyNames)for(const e of["additionalProperties","unevaluatedProperties"])h[e]&&Je(`wild-card ${e}`,"requires propertyNames")}return h.properties&&!h.required&&Je("if properties is used, required"),ze(0===He.size||ee,"Unprocessed keywords:",[...He]),{stat:Ke,local:ot}},{stat:_e,local:Le}=De(e("validate.errors"),[],{name:t("data")},g,[]);if(Y.has(ve))throw new Error("Unexpected: unvalidated cyclic ref");if(b[B]&&(U(_e).items||U(_e).properties)){if(!Le)throw new Error("Failed to trace dynamic properties");Ae.write("validate.evaluatedDynamic = [%s, %s, %s]",Le.item,Le.items,Le.props)}return S?Ae.write("return errorCount === 0"):Ae.write("return true"),Ae.write("}"),X||(je=Ae.makeFunction($),delete $[ve],$[ve]=je),$[ve][K]=_e,ve},X=(e,t)=>{if(!Array.isArray(e))throw new Error("Expected an array of schemas");try{const r=Object.create(null),{getref:n}=f(r);Y.clear(),G.clear();const s=e.map(e=>n(e)||Q(e,e,t,r));if(0!==Y.size)throw new Error("Unexpected: not all refs are validated");return{scope:r,refs:s}}catch(r){if(!t[B]&&"[opt] Dynamic unevaluated tracing not enabled"===r.message)return X(e,{...t,[B]:!0});if(!t[H]&&"[opt] Dynamic anchors are not enabled"===r.message)return X(e,{...t,[H]:!0});if(!t[Z]&&"[opt] Recursive anchors are not enabled"===r.message)return X(e,{...t,[Z]:!0});throw r}finally{Y.clear(),G.clear()}};return b={compile:X}}var N=function(){if(j)return v;j=1;const e=A(),{buildSchemas:t}=z(),{compile:r}=q(),{deepEqual:n}=E(),s=e=>function t(r){if(!n(r,JSON.parse(JSON.stringify(r))))return t.errors=[{instanceLocation:"#",error:"not JSON compatible"}],!1;const s=e(r);return t.errors=e.errors,s},o=e=>t=>n(t,JSON.parse(JSON.stringify(t)))&&e(t),i=(i,{parse:l=!1,multi:u=!1,jsonCheck:p=!1,isJSON:d=!1,schemas:f=[],...m}={})=>{if(p&&d)throw new Error("Can not specify both isJSON and jsonCheck options");if(l&&(p||d))throw new Error("jsonCheck and isJSON options are not applicable in parser mode");const y=d||p||l,h=u?i:[i],g={mode:l?"strong":"default",...m,schemas:t(f,h),isJSON:y},{scope:w,refs:b}=r(h,g);if(m.dryRun)return;if(m.lint)return w.lintErrors;const $=e();if(l?w.parseWrap=m.includeErrors?a:c:p&&(w.deepEqual=n,w.jsonCheckWrap=m.includeErrors?s:o),u){$.write("[");for(const e of b.slice(0,-1))$.write("%s,",e);b.length>0&&$.write("%s",b[b.length-1]),$.write("]"),l?$.write(".map(parseWrap)"):p&&$.write(".map(jsonCheckWrap)")}else l?$.write("parseWrap(%s)",b[0]):p?$.write("jsonCheckWrap(%s)",b[0]):$.write("%s",b[0]);const v=$.makeFunction(w);return v.toModule=({semi:e=!0}={})=>$.makeModule(w)+(e?";":""),v.toJSON=()=>i,v},a=e=>t=>{if("string"!=typeof t)return{valid:!1,error:"Input is not a string"};try{const r=JSON.parse(t);if(!e(r)){const{keywordLocation:t,instanceLocation:r}=e.errors[0],n=t.slice(t.lastIndexOf("/")+1);return{valid:!1,error:`JSON validation failed for ${n} at ${r}`,errors:e.errors}}return{valid:!0,value:r}}catch({message:e}){return{valid:!1,error:e}}},c=e=>t=>{if("string"!=typeof t)return{valid:!1};try{const r=JSON.parse(t);return e(r)?{valid:!0,value:r}:{valid:!1}}catch(e){return{valid:!1}}};return v={validator:i,parser:function(e,{parse:t=!0,...r}={}){if(!t)throw new Error("can not disable parse in parser");return i(e,{parse:t,...r})},lint:function(e,{lint:t=!0,...r}={}){if(!t)throw new Error("can not disable lint option in lint()");return i(e,{lint:t,...r})}}}();export{N as s};
@@ -0,0 +1,30 @@
1
+ import{t,f as e,v as r}from"./main.js";
2
+ /*!
3
+ * Copyright (c) 2023 Digital Bazaar, Inc. All rights reserved.
4
+ */
5
+ const n="ECDSA",i=!0,o="https://w3id.org/security/suites/ecdsa-2019/v1",s="https://w3id.org/security/multikey/v1",c="z",u=new Uint8Array([231,1]),a=new Uint8Array([128,36]),f=new Uint8Array([129,36]),l=new Uint8Array([130,36]),d=new Uint8Array([129,38]),h=new Uint8Array([134,38]),y=new Uint8Array([135,38]),p=new Uint8Array([136,38]),w="P-256",g="P-384",b="P-521",m="K-256",E="SHA-256",v="SHA-384",B="SHA-512",x=globalThis.crypto,k=globalThis.CryptoKey??x.CryptoKey;function K({curve:t}){if(t===w||t===m)return E;if(t===g)return v;if(t===b)return B;throw new TypeError(`Unsupported curve "${t}".`)}
6
+ /*!
7
+ * Copyright (c) 2022-2023 Digital Bazaar, Inc. All rights reserved.
8
+ */function A({publicMultikey:t}){if(t[0]===a[0]&&t[1]===a[1])return w;if(t[0]===f[0]&&t[1]===f[1])return g;if(t[0]===l[0]&&t[1]===l[1])return b;if(t[0]===u[0]&&t[1]===u[1])return m;throw new TypeError("Unsupported public multikey header.")}function O({secretMultikey:t}){if(t[0]===h[0]&&t[1]===h[1])return w;if(t[0]===y[0]&&t[1]===y[1])return g;if(t[0]===p[0]&&t[1]===p[1])return b;if(t[0]===d[0]&&t[1]===d[1])return m;throw new TypeError("Unsupported secret multikey header.")}function R({curve:t}){if(t===w||t===m)return 32;if(t===g)return 48;if(t===b)return 66;throw new TypeError(`Unsupported curve "${t}".`)}
9
+ /*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */
10
+ function U(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&"Uint8Array"===t.constructor.name}function S(t,e=""){if(!Number.isSafeInteger(t)||t<0){throw new Error(`${e&&`"${e}" `}expected integer >= 0, got ${t}`)}}function C(t,e,r=""){const n=U(t),i=t?.length,o=void 0!==e;if(!n||o&&i!==e){throw new Error((r&&`"${r}" `)+"expected Uint8Array"+(o?` of length ${e}`:"")+", got "+(n?`length=${i}`:"type="+typeof t))}return t}function I(t){if("function"!=typeof t||"function"!=typeof t.create)throw new Error("Hash must wrapped by utils.createHasher");S(t.outputLen),S(t.blockLen)}function j(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function q(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}function M(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function H(t,e){return t<<32-e|t>>>e}const L=(()=>"function"==typeof Uint8Array.from([]).toHex&&"function"==typeof Uint8Array.fromHex)(),N=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function T(t){if(C(t),L)return t.toHex();let e="";for(let r=0;r<t.length;r++)e+=N[t[r]];return e}const F=48,P=57,Z=65,V=70,D=97,_=102;function $(t){return t>=F&&t<=P?t-F:t>=Z&&t<=V?t-(Z-10):t>=D&&t<=_?t-(D-10):void 0}function Y(t){if("string"!=typeof t)throw new Error("hex string expected, got "+typeof t);if(L)return Uint8Array.fromHex(t);const e=t.length,r=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);const n=new Uint8Array(r);for(let e=0,i=0;e<r;e++,i+=2){const r=$(t.charCodeAt(i)),o=$(t.charCodeAt(i+1));if(void 0===r||void 0===o){const e=t[i]+t[i+1];throw new Error('hex string expected, got non-hex character "'+e+'" at index '+i)}n[e]=16*r+o}return n}function z(...t){let e=0;for(let r=0;r<t.length;r++){const n=t[r];C(n),e+=n.length}const r=new Uint8Array(e);for(let e=0,n=0;e<t.length;e++){const i=t[e];r.set(i,n),n+=i.length}return r}function G(t,e={}){const r=(e,r)=>t(r).update(e).digest(),n=t(void 0);return r.outputLen=n.outputLen,r.blockLen=n.blockLen,r.create=e=>t(e),Object.assign(r,e),Object.freeze(r)}function X(t=32){const e="object"==typeof globalThis?globalThis.crypto:null;if("function"!=typeof e?.getRandomValues)throw new Error("crypto.getRandomValues must be defined");return e.getRandomValues(new Uint8Array(t))}const W=t=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,t])});function J(t,e,r){return t&e^~t&r}function Q(t,e,r){return t&e^t&r^e&r}class tt{blockLen;outputLen;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(t,e,r,n){this.blockLen=t,this.outputLen=e,this.padOffset=r,this.isLE=n,this.buffer=new Uint8Array(t),this.view=M(this.buffer)}update(t){j(this),C(t);const{view:e,buffer:r,blockLen:n}=this,i=t.length;for(let o=0;o<i;){const s=Math.min(n-this.pos,i-o);if(s===n){const e=M(t);for(;n<=i-o;o+=n)this.process(e,o);continue}r.set(t.subarray(o,o+s),this.pos),this.pos+=s,o+=s,this.pos===n&&(this.process(e,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){j(this),function(t,e){C(t,void 0,"digestInto() output");const r=e.outputLen;if(t.length<r)throw new Error('"digestInto() output" expected to be of length >='+r)}(t,this),this.finished=!0;const{buffer:e,view:r,blockLen:n,isLE:i}=this;let{pos:o}=this;e[o++]=128,q(this.buffer.subarray(o)),this.padOffset>n-o&&(this.process(r,0),o=0);for(let t=o;t<n;t++)e[t]=0;r.setBigUint64(n-8,BigInt(8*this.length),i),this.process(r,0);const s=M(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen must be aligned to 32bit");const u=c/4,a=this.get();if(u>a.length)throw new Error("_sha2: outputLen bigger than state");for(let t=0;t<u;t++)s.setUint32(4*t,a[t],i)}digest(){const{buffer:t,outputLen:e}=this;this.digestInto(t);const r=t.slice(0,e);return this.destroy(),r}_cloneInto(t){t||=new this.constructor,t.set(...this.get());const{blockLen:e,buffer:r,length:n,finished:i,destroyed:o,pos:s}=this;return t.destroyed=o,t.finished=i,t.length=n,t.pos=s,n%e&&t.buffer.set(r),t}clone(){return this._cloneInto()}}const et=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),rt=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),nt=new Uint32Array(64);class it extends tt{constructor(t){super(64,t,8,!1)}get(){const{A:t,B:e,C:r,D:n,E:i,F:o,G:s,H:c}=this;return[t,e,r,n,i,o,s,c]}set(t,e,r,n,i,o,s,c){this.A=0|t,this.B=0|e,this.C=0|r,this.D=0|n,this.E=0|i,this.F=0|o,this.G=0|s,this.H=0|c}process(t,e){for(let r=0;r<16;r++,e+=4)nt[r]=t.getUint32(e,!1);for(let t=16;t<64;t++){const e=nt[t-15],r=nt[t-2],n=H(e,7)^H(e,18)^e>>>3,i=H(r,17)^H(r,19)^r>>>10;nt[t]=i+nt[t-7]+n+nt[t-16]|0}let{A:r,B:n,C:i,D:o,E:s,F:c,G:u,H:a}=this;for(let t=0;t<64;t++){const e=a+(H(s,6)^H(s,11)^H(s,25))+J(s,c,u)+rt[t]+nt[t]|0,f=(H(r,2)^H(r,13)^H(r,22))+Q(r,n,i)|0;a=u,u=c,c=s,s=o+e|0,o=i,i=n,n=r,r=e+f|0}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,o=o+this.D|0,s=s+this.E|0,c=c+this.F|0,u=u+this.G|0,a=a+this.H|0,this.set(r,n,i,o,s,c,u,a)}roundClean(){q(nt)}destroy(){this.set(0,0,0,0,0,0,0,0),q(this.buffer)}}class ot extends it{A=0|et[0];B=0|et[1];C=0|et[2];D=0|et[3];E=0|et[4];F=0|et[5];G=0|et[6];H=0|et[7];constructor(){super(32)}}const st=G(()=>new ot,W(1)),ct=BigInt(0),ut=BigInt(1);
11
+ /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function at(t,e=""){if("boolean"!=typeof t){throw new Error((e&&`"${e}" `)+"expected boolean, got type="+typeof t)}return t}function ft(t){if("bigint"==typeof t){if(!gt(t))throw new Error("positive bigint expected, got "+t)}else S(t);return t}function lt(t){const e=ft(t).toString(16);return 1&e.length?"0"+e:e}function dt(t){if("string"!=typeof t)throw new Error("hex string expected, got "+typeof t);return""===t?ct:BigInt("0x"+t)}function ht(t){return dt(T(t))}function yt(t){return dt(T(function(t){return Uint8Array.from(t)}(C(t)).reverse()))}function pt(t,e){S(e);const r=Y((t=ft(t)).toString(16).padStart(2*e,"0"));if(r.length!==e)throw new Error("number too large");return r}function wt(t,e){return pt(t,e).reverse()}const gt=t=>"bigint"==typeof t&&ct<=t;function bt(t,e,r,n){if(!function(t,e,r){return gt(t)&&gt(e)&&gt(r)&&e<=t&&t<r}(e,r,n))throw new Error("expected valid "+t+": "+r+" <= n < "+n+", got "+e)}const mt=t=>(ut<<BigInt(t))-ut;function Et(t,e={},r={}){if(!t||"object"!=typeof t)throw new Error("expected valid options object");const n=(e,r)=>Object.entries(e).forEach(([e,n])=>function(e,r,n){const i=t[e];if(n&&void 0===i)return;const o=typeof i;if(o!==r||null===i)throw new Error(`param "${e}" is invalid: expected ${r}, got ${o}`)}(e,n,r));n(e,!1),n(r,!0)}function vt(t){const e=new WeakMap;return(r,...n)=>{const i=e.get(r);if(void 0!==i)return i;const o=t(r,...n);return e.set(r,o),o}}
12
+ /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Bt=BigInt(0),xt=BigInt(1),kt=BigInt(2),Kt=BigInt(3),At=BigInt(4),Ot=BigInt(5),Rt=BigInt(7),Ut=BigInt(8),St=BigInt(9),Ct=BigInt(16);function It(t,e){const r=t%e;return r>=Bt?r:e+r}function jt(t,e,r){let n=t;for(;e-- >Bt;)n*=n,n%=r;return n}function qt(t,e){if(t===Bt)throw new Error("invert: expected non-zero number");if(e<=Bt)throw new Error("invert: expected positive modulus, got "+e);let r=It(t,e),n=e,i=Bt,o=xt;for(;r!==Bt;){const t=n%r,e=i-o*(n/r);n=r,r=t,i=o,o=e}if(n!==xt)throw new Error("invert: does not exist");return It(i,e)}function Mt(t,e,r){if(!t.eql(t.sqr(e),r))throw new Error("Cannot find square root")}function Ht(t,e){const r=(t.ORDER+xt)/At,n=t.pow(e,r);return Mt(t,n,e),n}function Lt(t,e){const r=(t.ORDER-Ot)/Ut,n=t.mul(e,kt),i=t.pow(n,r),o=t.mul(e,i),s=t.mul(t.mul(o,kt),i),c=t.mul(o,t.sub(s,t.ONE));return Mt(t,c,e),c}function Nt(t){if(t<Kt)throw new Error("sqrt is not defined for small field");let e=t-xt,r=0;for(;e%kt===Bt;)e/=kt,r++;let n=kt;const i=Dt(t);for(;1===Zt(i,n);)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(1===r)return Ht;let o=i.pow(n,e);const s=(e+xt)/kt;return function(t,n){if(t.is0(n))return n;if(1!==Zt(t,n))throw new Error("Cannot find square root");let i=r,c=t.mul(t.ONE,o),u=t.pow(n,e),a=t.pow(n,s);for(;!t.eql(u,t.ONE);){if(t.is0(u))return t.ZERO;let e=1,r=t.sqr(u);for(;!t.eql(r,t.ONE);)if(e++,r=t.sqr(r),e===i)throw new Error("Cannot find square root");const n=xt<<BigInt(i-e-1),o=t.pow(c,n);i=e,c=t.sqr(o),u=t.mul(u,c),a=t.mul(a,o)}return a}}function Tt(t){return t%At===Kt?Ht:t%Ut===Ot?Lt:t%Ct===St?function(t){const e=Dt(t),r=Nt(t),n=r(e,e.neg(e.ONE)),i=r(e,n),o=r(e,e.neg(n)),s=(t+Rt)/Ct;return(t,e)=>{let r=t.pow(e,s),c=t.mul(r,n);const u=t.mul(r,i),a=t.mul(r,o),f=t.eql(t.sqr(c),e),l=t.eql(t.sqr(u),e);r=t.cmov(r,c,f),c=t.cmov(a,u,l);const d=t.eql(t.sqr(c),e),h=t.cmov(r,c,d);return Mt(t,h,e),h}}(t):Nt(t)}const Ft=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Pt(t,e,r=!1){const n=new Array(e.length).fill(r?t.ZERO:void 0),i=e.reduce((e,r,i)=>t.is0(r)?e:(n[i]=e,t.mul(e,r)),t.ONE),o=t.inv(i);return e.reduceRight((e,r,i)=>t.is0(r)?e:(n[i]=t.mul(e,n[i]),t.mul(e,r)),o),n}function Zt(t,e){const r=(t.ORDER-xt)/kt,n=t.pow(e,r),i=t.eql(n,t.ONE),o=t.eql(n,t.ZERO),s=t.eql(n,t.neg(t.ONE));if(!i&&!o&&!s)throw new Error("invalid Legendre symbol result");return i?1:o?0:-1}class Vt{ORDER;BITS;BYTES;isLE;ZERO=Bt;ONE=xt;_lengths;_sqrt;_mod;constructor(t,e={}){if(t<=Bt)throw new Error("invalid field: expected ORDER > 0, got "+t);let r;this.isLE=!1,null!=e&&"object"==typeof e&&("number"==typeof e.BITS&&(r=e.BITS),"function"==typeof e.sqrt&&(this.sqrt=e.sqrt),"boolean"==typeof e.isLE&&(this.isLE=e.isLE),e.allowedLengths&&(this._lengths=e.allowedLengths?.slice()),"boolean"==typeof e.modFromBytes&&(this._mod=e.modFromBytes));const{nBitLength:n,nByteLength:i}=function(t,e){void 0!==e&&S(e);const r=void 0!==e?e:t.toString(2).length;return{nBitLength:r,nByteLength:Math.ceil(r/8)}}(t,r);if(i>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=t,this.BITS=n,this.BYTES=i,this._sqrt=void 0,Object.preventExtensions(this)}create(t){return It(t,this.ORDER)}isValid(t){if("bigint"!=typeof t)throw new Error("invalid field element: expected bigint, got "+typeof t);return Bt<=t&&t<this.ORDER}is0(t){return t===Bt}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}isOdd(t){return(t&xt)===xt}neg(t){return It(-t,this.ORDER)}eql(t,e){return t===e}sqr(t){return It(t*t,this.ORDER)}add(t,e){return It(t+e,this.ORDER)}sub(t,e){return It(t-e,this.ORDER)}mul(t,e){return It(t*e,this.ORDER)}pow(t,e){return function(t,e,r){if(r<Bt)throw new Error("invalid exponent, negatives unsupported");if(r===Bt)return t.ONE;if(r===xt)return e;let n=t.ONE,i=e;for(;r>Bt;)r&xt&&(n=t.mul(n,i)),i=t.sqr(i),r>>=xt;return n}(this,t,e)}div(t,e){return It(t*qt(e,this.ORDER),this.ORDER)}sqrN(t){return t*t}addN(t,e){return t+e}subN(t,e){return t-e}mulN(t,e){return t*e}inv(t){return qt(t,this.ORDER)}sqrt(t){return this._sqrt||(this._sqrt=Tt(this.ORDER)),this._sqrt(this,t)}toBytes(t){return this.isLE?wt(t,this.BYTES):pt(t,this.BYTES)}fromBytes(t,e=!1){C(t);const{_lengths:r,BYTES:n,isLE:i,ORDER:o,_mod:s}=this;if(r){if(!r.includes(t.length)||t.length>n)throw new Error("Field.fromBytes: expected "+r+" bytes, got "+t.length);const e=new Uint8Array(n);e.set(t,i?0:e.length-t.length),t=e}if(t.length!==n)throw new Error("Field.fromBytes: expected "+n+" bytes, got "+t.length);let c=i?yt(t):ht(t);if(s&&(c=It(c,o)),!e&&!this.isValid(c))throw new Error("invalid field element: outside of range 0..ORDER");return c}invertBatch(t){return Pt(this,t)}cmov(t,e,r){return r?e:t}}function Dt(t,e={}){return new Vt(t,e)}function _t(t){if("bigint"!=typeof t)throw new Error("field order must be bigint");const e=t.toString(2).length;return Math.ceil(e/8)}function $t(t){const e=_t(t);return e+Math.ceil(e/2)}
13
+ /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
14
+ const Yt=BigInt(0),zt=BigInt(1);function Gt(t,e){const r=e.negate();return t?r:e}function Xt(t,e){const r=Pt(t.Fp,e.map(t=>t.Z));return e.map((e,n)=>t.fromAffine(e.toAffine(r[n])))}function Wt(t,e){if(!Number.isSafeInteger(t)||t<=0||t>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+t)}function Jt(t,e){Wt(t,e);const r=2**t;return{windows:Math.ceil(e/t)+1,windowSize:2**(t-1),mask:mt(t),maxNumber:r,shiftBy:BigInt(t)}}function Qt(t,e,r){const{windowSize:n,mask:i,maxNumber:o,shiftBy:s}=r;let c=Number(t&i),u=t>>s;c>n&&(c-=o,u+=zt);const a=e*n;return{nextN:u,offset:a+Math.abs(c)-1,isZero:0===c,isNeg:c<0,isNegF:e%2!=0,offsetF:a}}const te=new WeakMap,ee=new WeakMap;function re(t){return ee.get(t)||1}function ne(t){if(t!==Yt)throw new Error("invalid wNAF")}class ie{BASE;ZERO;Fn;bits;constructor(t,e){this.BASE=t.BASE,this.ZERO=t.ZERO,this.Fn=t.Fn,this.bits=e}_unsafeLadder(t,e,r=this.ZERO){let n=t;for(;e>Yt;)e&zt&&(r=r.add(n)),n=n.double(),e>>=zt;return r}precomputeWindow(t,e){const{windows:r,windowSize:n}=Jt(e,this.bits),i=[];let o=t,s=o;for(let t=0;t<r;t++){s=o,i.push(s);for(let t=1;t<n;t++)s=s.add(o),i.push(s);o=s.double()}return i}wNAF(t,e,r){if(!this.Fn.isValid(r))throw new Error("invalid scalar");let n=this.ZERO,i=this.BASE;const o=Jt(t,this.bits);for(let t=0;t<o.windows;t++){const{nextN:s,offset:c,isZero:u,isNeg:a,isNegF:f,offsetF:l}=Qt(r,t,o);r=s,u?i=i.add(Gt(f,e[l])):n=n.add(Gt(a,e[c]))}return ne(r),{p:n,f:i}}wNAFUnsafe(t,e,r,n=this.ZERO){const i=Jt(t,this.bits);for(let t=0;t<i.windows&&r!==Yt;t++){const{nextN:o,offset:s,isZero:c,isNeg:u}=Qt(r,t,i);if(r=o,!c){const t=e[s];n=n.add(u?t.negate():t)}}return ne(r),n}getPrecomputes(t,e,r){let n=te.get(e);return n||(n=this.precomputeWindow(e,t),1!==t&&("function"==typeof r&&(n=r(n)),te.set(e,n))),n}cached(t,e,r){const n=re(t);return this.wNAF(n,this.getPrecomputes(n,t,r),e)}unsafe(t,e,r,n){const i=re(t);return 1===i?this._unsafeLadder(t,e,n):this.wNAFUnsafe(i,this.getPrecomputes(i,t,r),e,n)}createCache(t,e){Wt(e,this.bits),ee.set(t,e),te.delete(t)}hasCache(t){return 1!==re(t)}}function oe(t,e,r){if(e){if(e.ORDER!==t)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return function(t){Et(t,Ft.reduce((t,e)=>(t[e]="function",t),{ORDER:"bigint",BYTES:"number",BITS:"number"}))}(e),e}return Dt(t,{isLE:r})}class se{oHash;iHash;blockLen;outputLen;finished=!1;destroyed=!1;constructor(t,e){if(I(t),C(e,void 0,"key"),this.iHash=t.create(),"function"!=typeof this.iHash.update)throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const r=this.blockLen,n=new Uint8Array(r);n.set(e.length>r?t.create().update(e).digest():e);for(let t=0;t<n.length;t++)n[t]^=54;this.iHash.update(n),this.oHash=t.create();for(let t=0;t<n.length;t++)n[t]^=106;this.oHash.update(n),q(n)}update(t){return j(this),this.iHash.update(t),this}digestInto(t){j(this),C(t,this.outputLen,"output"),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){const t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||=Object.create(Object.getPrototypeOf(this),{});const{oHash:e,iHash:r,finished:n,destroyed:i,blockLen:o,outputLen:s}=this;return t.finished=n,t.destroyed=i,t.blockLen=o,t.outputLen=s,t.oHash=e._cloneInto(t.oHash),t.iHash=r._cloneInto(t.iHash),t}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const ce=(t,e,r)=>new se(t,e).update(r).digest();ce.create=(t,e)=>new se(t,e);
15
+ /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
16
+ const ue=(t,e)=>(t+(t>=0?e:-e)/we)/e;function ae(t,e,r){const[[n,i],[o,s]]=e,c=ue(s*t,r),u=ue(-i*t,r);let a=t-c*n-u*o,f=-c*i-u*s;const l=a<ye,d=f<ye;l&&(a=-a),d&&(f=-f);const h=mt(Math.ceil(function(t){let e;for(e=0;t>ct;t>>=ut,e+=1);return e}(r)/2))+pe;if(a<ye||a>=h||f<ye||f>=h)throw new Error("splitScalar (endomorphism): failed, k="+t);return{k1neg:l,k1:a,k2neg:d,k2:f}}function fe(t){if(!["compact","recovered","der"].includes(t))throw new Error('Signature format must be "compact", "recovered", or "der"');return t}function le(t,e){const r={};for(let n of Object.keys(e))r[n]=void 0===t[n]?e[n]:t[n];return at(r.lowS,"lowS"),at(r.prehash,"prehash"),void 0!==r.format&&fe(r.format),r}class de extends Error{constructor(t=""){super(t)}}const he={Err:de,_tlv:{encode:(t,e)=>{const{Err:r}=he;if(t<0||t>256)throw new r("tlv.encode: wrong tag");if(1&e.length)throw new r("tlv.encode: unpadded data");const n=e.length/2,i=lt(n);if(i.length/2&128)throw new r("tlv.encode: long form length too big");const o=n>127?lt(i.length/2|128):"";return lt(t)+o+i+e},decode(t,e){const{Err:r}=he;let n=0;if(t<0||t>256)throw new r("tlv.encode: wrong tag");if(e.length<2||e[n++]!==t)throw new r("tlv.decode: wrong tlv");const i=e[n++];let o=0;if(!!(128&i)){const t=127&i;if(!t)throw new r("tlv.decode(long): indefinite length not supported");if(t>4)throw new r("tlv.decode(long): byte length is too big");const s=e.subarray(n,n+t);if(s.length!==t)throw new r("tlv.decode: length bytes not complete");if(0===s[0])throw new r("tlv.decode(long): zero leftmost byte");for(const t of s)o=o<<8|t;if(n+=t,o<128)throw new r("tlv.decode(long): not minimal encoding")}else o=i;const s=e.subarray(n,n+o);if(s.length!==o)throw new r("tlv.decode: wrong value length");return{v:s,l:e.subarray(n+o)}}},_int:{encode(t){const{Err:e}=he;if(t<ye)throw new e("integer: negative integers are not allowed");let r=lt(t);if(8&Number.parseInt(r[0],16)&&(r="00"+r),1&r.length)throw new e("unexpected DER parsing assertion: unpadded hex");return r},decode(t){const{Err:e}=he;if(128&t[0])throw new e("invalid signature integer: negative");if(0===t[0]&&!(128&t[1]))throw new e("invalid signature integer: unnecessary leading zero");return ht(t)}},toSig(t){const{Err:e,_int:r,_tlv:n}=he,i=C(t,void 0,"signature"),{v:o,l:s}=n.decode(48,i);if(s.length)throw new e("invalid signature: left bytes after parsing");const{v:c,l:u}=n.decode(2,o),{v:a,l:f}=n.decode(2,u);if(f.length)throw new e("invalid signature: left bytes after parsing");return{r:r.decode(c),s:r.decode(a)}},hexFromSig(t){const{_tlv:e,_int:r}=he,n=e.encode(2,r.encode(t.r))+e.encode(2,r.encode(t.s));return e.encode(48,n)}},ye=BigInt(0),pe=BigInt(1),we=BigInt(2),ge=BigInt(3),be=BigInt(4);function me(t,e={}){const r=function(t,e,r={},n){if(void 0===n&&(n="edwards"===t),!e||"object"!=typeof e)throw new Error(`expected valid ${t} CURVE object`);for(const t of["p","n","h"]){const r=e[t];if(!("bigint"==typeof r&&r>Yt))throw new Error(`CURVE.${t} must be positive bigint`)}const i=oe(e.p,r.Fp,n),o=oe(e.n,r.Fn,n),s=["Gx","Gy","a","b"];for(const t of s)if(!i.isValid(e[t]))throw new Error(`CURVE.${t} must be valid field element of CURVE.Fp`);return{CURVE:e=Object.freeze(Object.assign({},e)),Fp:i,Fn:o}}("weierstrass",t,e),{Fp:n,Fn:i}=r;let o=r.CURVE;const{h:s,n:c}=o;Et(e,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});const{endo:u}=e;if(u&&(!n.is0(o.a)||"bigint"!=typeof u.beta||!Array.isArray(u.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');const a=ve(n,i);function f(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}const l=e.toBytes||function(t,e,r){const{x:i,y:o}=e.toAffine(),s=n.toBytes(i);if(at(r,"isCompressed"),r){f();return z(Ee(!n.isOdd(o)),s)}return z(Uint8Array.of(4),s,n.toBytes(o))},d=e.fromBytes||function(t){C(t,void 0,"Point");const{publicKey:e,publicKeyUncompressed:r}=a,i=t.length,o=t[0],s=t.subarray(1);if(i!==e||2!==o&&3!==o){if(i===r&&4===o){const t=n.BYTES,e=n.fromBytes(s.subarray(0,t)),r=n.fromBytes(s.subarray(t,2*t));if(!y(e,r))throw new Error("bad point: is not on curve");return{x:e,y:r}}throw new Error(`bad point: got length ${i}, expected compressed=${e} or uncompressed=${r}`)}{const t=n.fromBytes(s);if(!n.isValid(t))throw new Error("bad point: is not on curve, wrong x");const e=h(t);let r;try{r=n.sqrt(e)}catch(t){const e=t instanceof Error?": "+t.message:"";throw new Error("bad point: is not on curve, sqrt error"+e)}f();return!(1&~o)!==n.isOdd(r)&&(r=n.neg(r)),{x:t,y:r}}};function h(t){const e=n.sqr(t),r=n.mul(e,t);return n.add(n.add(r,n.mul(t,o.a)),o.b)}function y(t,e){const r=n.sqr(e),i=h(t);return n.eql(r,i)}if(!y(o.Gx,o.Gy))throw new Error("bad curve params: generator point");const p=n.mul(n.pow(o.a,ge),be),w=n.mul(n.sqr(o.b),BigInt(27));if(n.is0(n.add(p,w)))throw new Error("bad curve params: a or b");function g(t,e,r=!1){if(!n.isValid(e)||r&&n.is0(e))throw new Error(`bad point coordinate ${t}`);return e}function b(t){if(!(t instanceof x))throw new Error("Weierstrass Point expected")}function m(t){if(!u||!u.basises)throw new Error("no endo");return ae(t,u.basises,i.ORDER)}const E=vt((t,e)=>{const{X:r,Y:i,Z:o}=t;if(n.eql(o,n.ONE))return{x:r,y:i};const s=t.is0();null==e&&(e=s?n.ONE:n.inv(o));const c=n.mul(r,e),u=n.mul(i,e),a=n.mul(o,e);if(s)return{x:n.ZERO,y:n.ZERO};if(!n.eql(a,n.ONE))throw new Error("invZ was invalid");return{x:c,y:u}}),v=vt(t=>{if(t.is0()){if(e.allowInfinityPoint&&!n.is0(t.Y))return;throw new Error("bad point: ZERO")}const{x:r,y:i}=t.toAffine();if(!n.isValid(r)||!n.isValid(i))throw new Error("bad point: x or y not field elements");if(!y(r,i))throw new Error("bad point: equation left != right");if(!t.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function B(t,e,r,i,o){return r=new x(n.mul(r.X,t),r.Y,r.Z),e=Gt(i,e),r=Gt(o,r),e.add(r)}class x{static BASE=new x(o.Gx,o.Gy,n.ONE);static ZERO=new x(n.ZERO,n.ONE,n.ZERO);static Fp=n;static Fn=i;X;Y;Z;constructor(t,e,r){this.X=g("x",t),this.Y=g("y",e,!0),this.Z=g("z",r),Object.freeze(this)}static CURVE(){return o}static fromAffine(t){const{x:e,y:r}=t||{};if(!t||!n.isValid(e)||!n.isValid(r))throw new Error("invalid affine point");if(t instanceof x)throw new Error("projective point not allowed");return n.is0(e)&&n.is0(r)?x.ZERO:new x(e,r,n.ONE)}static fromBytes(t){const e=x.fromAffine(d(C(t,void 0,"point")));return e.assertValidity(),e}static fromHex(t){return x.fromBytes(Y(t))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(t=8,e=!0){return K.createCache(this,t),e||this.multiply(ge),this}assertValidity(){v(this)}hasEvenY(){const{y:t}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(t)}equals(t){b(t);const{X:e,Y:r,Z:i}=this,{X:o,Y:s,Z:c}=t,u=n.eql(n.mul(e,c),n.mul(o,i)),a=n.eql(n.mul(r,c),n.mul(s,i));return u&&a}negate(){return new x(this.X,n.neg(this.Y),this.Z)}double(){const{a:t,b:e}=o,r=n.mul(e,ge),{X:i,Y:s,Z:c}=this;let u=n.ZERO,a=n.ZERO,f=n.ZERO,l=n.mul(i,i),d=n.mul(s,s),h=n.mul(c,c),y=n.mul(i,s);return y=n.add(y,y),f=n.mul(i,c),f=n.add(f,f),u=n.mul(t,f),a=n.mul(r,h),a=n.add(u,a),u=n.sub(d,a),a=n.add(d,a),a=n.mul(u,a),u=n.mul(y,u),f=n.mul(r,f),h=n.mul(t,h),y=n.sub(l,h),y=n.mul(t,y),y=n.add(y,f),f=n.add(l,l),l=n.add(f,l),l=n.add(l,h),l=n.mul(l,y),a=n.add(a,l),h=n.mul(s,c),h=n.add(h,h),l=n.mul(h,y),u=n.sub(u,l),f=n.mul(h,d),f=n.add(f,f),f=n.add(f,f),new x(u,a,f)}add(t){b(t);const{X:e,Y:r,Z:i}=this,{X:s,Y:c,Z:u}=t;let a=n.ZERO,f=n.ZERO,l=n.ZERO;const d=o.a,h=n.mul(o.b,ge);let y=n.mul(e,s),p=n.mul(r,c),w=n.mul(i,u),g=n.add(e,r),m=n.add(s,c);g=n.mul(g,m),m=n.add(y,p),g=n.sub(g,m),m=n.add(e,i);let E=n.add(s,u);return m=n.mul(m,E),E=n.add(y,w),m=n.sub(m,E),E=n.add(r,i),a=n.add(c,u),E=n.mul(E,a),a=n.add(p,w),E=n.sub(E,a),l=n.mul(d,m),a=n.mul(h,w),l=n.add(a,l),a=n.sub(p,l),l=n.add(p,l),f=n.mul(a,l),p=n.add(y,y),p=n.add(p,y),w=n.mul(d,w),m=n.mul(h,m),p=n.add(p,w),w=n.sub(y,w),w=n.mul(d,w),m=n.add(m,w),y=n.mul(p,m),f=n.add(f,y),y=n.mul(E,m),a=n.mul(g,a),a=n.sub(a,y),y=n.mul(g,p),l=n.mul(E,l),l=n.add(l,y),new x(a,f,l)}subtract(t){return this.add(t.negate())}is0(){return this.equals(x.ZERO)}multiply(t){const{endo:r}=e;if(!i.isValidNot0(t))throw new Error("invalid scalar: out of range");let n,o;const s=t=>K.cached(this,t,t=>Xt(x,t));if(r){const{k1neg:e,k1:i,k2neg:c,k2:u}=m(t),{p:a,f:f}=s(i),{p:l,f:d}=s(u);o=f.add(d),n=B(r.beta,a,l,e,c)}else{const{p:e,f:r}=s(t);n=e,o=r}return Xt(x,[n,o])[0]}multiplyUnsafe(t){const{endo:r}=e,n=this;if(!i.isValid(t))throw new Error("invalid scalar: out of range");if(t===ye||n.is0())return x.ZERO;if(t===pe)return n;if(K.hasCache(this))return this.multiply(t);if(r){const{k1neg:e,k1:i,k2neg:o,k2:s}=m(t),{p1:c,p2:u}=function(t,e,r,n){let i=e,o=t.ZERO,s=t.ZERO;for(;r>Yt||n>Yt;)r&zt&&(o=o.add(i)),n&zt&&(s=s.add(i)),i=i.double(),r>>=zt,n>>=zt;return{p1:o,p2:s}}(x,n,i,s);return B(r.beta,c,u,e,o)}return K.unsafe(n,t)}toAffine(t){return E(this,t)}isTorsionFree(){const{isTorsionFree:t}=e;return s===pe||(t?t(x,this):K.unsafe(this,c).is0())}clearCofactor(){const{clearCofactor:t}=e;return s===pe?this:t?t(x,this):this.multiplyUnsafe(s)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}toBytes(t=!0){return at(t,"isCompressed"),this.assertValidity(),l(x,this,t)}toHex(t=!0){return T(this.toBytes(t))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}const k=i.BITS,K=new ie(x,e.endo?Math.ceil(k/2):k);return x.BASE.precompute(8),x}function Ee(t){return Uint8Array.of(t?2:3)}function ve(t,e){return{secretKey:e.BYTES,publicKey:1+t.BYTES,publicKeyUncompressed:1+2*t.BYTES,publicKeyHasPrefix:!0,signature:2*e.BYTES}}function Be(t,e={}){const{Fn:r}=t,n=e.randomBytes||X,i=Object.assign(ve(t.Fp,r),{seed:$t(r.ORDER)});function o(t=n(i.seed)){return function(t,e,r=!1){C(t);const n=t.length,i=_t(e),o=$t(e);if(n<16||n<o||n>1024)throw new Error("expected "+o+"-1024 bytes of input, got "+n);const s=It(r?yt(t):ht(t),e-xt)+xt;return r?wt(s,i):pt(s,i)}(C(t,i.seed,"seed"),r.ORDER)}function s(e,n=!0){return t.BASE.multiply(r.fromBytes(e)).toBytes(n)}function c(t){const{secretKey:e,publicKey:n,publicKeyUncompressed:o}=i;if(!U(t))return;if("_lengths"in r&&r._lengths||e===n)return;const s=C(t,void 0,"key").length;return s===n||s===o}const u={isValidSecretKey:function(t){try{const e=r.fromBytes(t);return r.isValidNot0(e)}catch(t){return!1}},isValidPublicKey:function(e,r){const{publicKey:n,publicKeyUncompressed:o}=i;try{const i=e.length;return(!0!==r||i===n)&&((!1!==r||i===o)&&!!t.fromBytes(e))}catch(t){return!1}},randomSecretKey:o},a=function(t,e){return function(r){const n=t(r);return{secretKey:n,publicKey:e(n)}}}(o,s);return Object.freeze({getPublicKey:s,getSharedSecret:function(e,n,i=!0){if(!0===c(e))throw new Error("first arg must be private key");if(!1===c(n))throw new Error("second arg must be public key");const o=r.fromBytes(e);return t.fromBytes(n).multiply(o).toBytes(i)},keygen:a,Point:t,utils:u,lengths:i})}function xe(t,e,r={}){I(e),Et(r,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});const n=(r=Object.assign({},r)).randomBytes||X,i=r.hmac||((t,r)=>ce(e,t,r)),{Fp:o,Fn:s}=t,{ORDER:c,BITS:u}=s,{keygen:a,getPublicKey:f,getSharedSecret:l,utils:d,lengths:h}=Be(t,r),y={prehash:!0,lowS:"boolean"!=typeof r.lowS||r.lowS,format:"compact",extraEntropy:!1},p=c*we<o.ORDER;function w(t){return t>c>>pe}function g(t,e){if(!s.isValidNot0(e))throw new Error(`invalid signature ${t}: out of range 1..Point.Fn.ORDER`);return e}function b(){if(p)throw new Error('"recovered" sig type is not supported for cofactor >2 curves')}function m(t,e){fe(e);const r=h.signature;return C(t,"compact"===e?r:"recovered"===e?r+1:void 0)}class E{r;s;recovery;constructor(t,e,r){if(this.r=g("r",t),this.s=g("s",e),null!=r){if(b(),![0,1,2,3].includes(r))throw new Error("invalid recovery id");this.recovery=r}Object.freeze(this)}static fromBytes(t,e=y.format){let r;if(m(t,e),"der"===e){const{r:e,s:r}=he.toSig(C(t));return new E(e,r)}"recovered"===e&&(r=t[0],e="compact",t=t.subarray(1));const n=h.signature/2,i=t.subarray(0,n),o=t.subarray(n,2*n);return new E(s.fromBytes(i),s.fromBytes(o),r)}static fromHex(t,e){return this.fromBytes(Y(t),e)}assertRecovery(){const{recovery:t}=this;if(null==t)throw new Error("invalid recovery id: must be present");return t}addRecoveryBit(t){return new E(this.r,this.s,t)}recoverPublicKey(e){const{r:r,s:n}=this,i=this.assertRecovery(),u=2===i||3===i?r+c:r;if(!o.isValid(u))throw new Error("invalid recovery id: sig.r+curve.n != R.x");const a=o.toBytes(u),f=t.fromBytes(z(Ee(!(1&i)),a)),l=s.inv(u),d=B(C(e,void 0,"msgHash")),h=s.create(-d*l),y=s.create(n*l),p=t.BASE.multiplyUnsafe(h).add(f.multiplyUnsafe(y));if(p.is0())throw new Error("invalid recovery: point at infinify");return p.assertValidity(),p}hasHighS(){return w(this.s)}toBytes(t=y.format){if(fe(t),"der"===t)return Y(he.hexFromSig(this));const{r:e,s:r}=this,n=s.toBytes(e),i=s.toBytes(r);return"recovered"===t?(b(),z(Uint8Array.of(this.assertRecovery()),n,i)):z(n,i)}toHex(t){return T(this.toBytes(t))}}const v=r.bits2int||function(t){if(t.length>8192)throw new Error("input is too large");const e=ht(t),r=8*t.length-u;return r>0?e>>BigInt(r):e},B=r.bits2int_modN||function(t){return s.create(v(t))},x=mt(u);function k(t){return bt("num < 2^"+u,t,ye,x),s.toBytes(t)}function K(t,r){return C(t,void 0,"message"),r?C(e(t),void 0,"prehashed message"):t}return Object.freeze({keygen:a,getPublicKey:f,getSharedSecret:l,utils:d,lengths:h,Point:t,sign:function(r,o,c={}){const{seed:u,k2sig:a}=function(e,r,i){const{lowS:o,prehash:c,extraEntropy:u}=le(i,y);e=K(e,c);const a=B(e),f=s.fromBytes(r);if(!s.isValidNot0(f))throw new Error("invalid private key");const l=[k(f),k(a)];if(null!=u&&!1!==u){const t=!0===u?n(h.secretKey):u;l.push(C(t,void 0,"extraEntropy"))}const d=z(...l),g=a;return{seed:d,k2sig:function(e){const r=v(e);if(!s.isValidNot0(r))return;const n=s.inv(r),i=t.BASE.multiply(r).toAffine(),c=s.create(i.x);if(c===ye)return;const u=s.create(n*s.create(g+c*f));if(u===ye)return;let a=(i.x===c?0:2)|Number(i.y&pe),l=u;return o&&w(u)&&(l=s.neg(u),a^=1),new E(c,l,p?void 0:a)}}}(r,o,c);return function(t,e,r){if(S(t,"hashLen"),S(e,"qByteLen"),"function"!=typeof r)throw new Error("hmacFn must be a function");const n=t=>new Uint8Array(t),i=Uint8Array.of(),o=Uint8Array.of(0),s=Uint8Array.of(1);let c=n(t),u=n(t),a=0;const f=()=>{c.fill(1),u.fill(0),a=0},l=(...t)=>r(u,z(c,...t)),d=(t=i)=>{u=l(o,t),c=l(),0!==t.length&&(u=l(s,t),c=l())},h=()=>{if(a++>=1e3)throw new Error("drbg: tried max amount of iterations");let t=0;const r=[];for(;t<e;){c=l();const e=c.slice();r.push(e),t+=c.length}return z(...r)};return(t,e)=>{let r;for(f(),d(t);!(r=e(h()));)d();return f(),r}}(e.outputLen,s.BYTES,i)(u,a).toBytes(c.format)},verify:function(e,r,n,i={}){const{lowS:o,prehash:c,format:u}=le(i,y);if(n=C(n,void 0,"publicKey"),r=K(r,c),!U(e)){throw new Error("verify expects Uint8Array signature"+(e instanceof E?", use sig.toBytes()":""))}m(e,u);try{const i=E.fromBytes(e,u),c=t.fromBytes(n);if(o&&i.hasHighS())return!1;const{r:a,s:f}=i,l=B(r),d=s.inv(f),h=s.create(l*d),y=s.create(a*d),p=t.BASE.multiplyUnsafe(h).add(c.multiplyUnsafe(y));if(p.is0())return!1;return s.create(p.x)===a}catch(t){return!1}},recoverPublicKey:function(t,e,r={}){const{prehash:n}=le(r,y);return e=K(e,n),E.fromBytes(t,"recovered").recoverPublicKey(e).toBytes()},Signature:E,hash:e})}
17
+ /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const ke={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},Ke={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]},Ae=BigInt(2);const Oe=Dt(ke.p,{sqrt:function(t){const e=ke.p,r=BigInt(3),n=BigInt(6),i=BigInt(11),o=BigInt(22),s=BigInt(23),c=BigInt(44),u=BigInt(88),a=t*t*t%e,f=a*a*t%e,l=jt(f,r,e)*f%e,d=jt(l,r,e)*f%e,h=jt(d,Ae,e)*a%e,y=jt(h,i,e)*h%e,p=jt(y,o,e)*y%e,w=jt(p,c,e)*p%e,g=jt(w,u,e)*w%e,b=jt(g,c,e)*p%e,m=jt(b,r,e)*f%e,E=jt(m,s,e)*y%e,v=jt(E,n,e)*a%e,B=jt(v,Ae,e);if(!Oe.eql(Oe.sqr(B),t))throw new Error("Cannot find square root");return B}}),Re=xe(me(ke,{Fp:Oe,endo:Ke}),st);class Ue{constructor(t){this.ec={...Re},null!=t.priv&&(this.priv=t.priv),null!=t.pub&&(this.pub=t.pub)}static hexToBytes(t){if("string"!=typeof t)throw new Error("hex string expected");if(t.length%2)throw new Error("hex string must have even length");const e=t.length/2,r=new Uint8Array(e);for(let n=0;n<e;n++)r[n]=parseInt(t.substr(2*n,2),16);return r}static bytesToHex(t){return Array.from(t||[]).map(t=>t.toString(16).padStart(2,"0")).join("")}static keyFromPublic(t,e="hex"){const r="hex"===e?Ue.hexToBytes(t):t;return new Ue({pub:r})}getPublic(t=!0,e="hex"){this.pub||(this.pub=this.ec.getPublicKey(this.priv,!1));let r=this.pub;const n=this.ec.Point.fromHex(Ue.bytesToHex(r)).toHex(t);return r=Ue.hexToBytes(n),"hex"===e?Ue.bytesToHex(r):r}}
18
+ /*!
19
+ * Copyright (c) 2022-2023 Digital Bazaar, Inc. All rights reserved.
20
+ */const Se=new Map([[w,{secret:new Uint8Array([48,103,2,1,0,48,19,6,7,42,134,72,206,61,2,1,6,8,42,134,72,206,61,3,1,7,4,77,48,75,2,1,1,4,32]),public:new Uint8Array([161,36,3,34,0])}],[g,{secret:new Uint8Array([48,129,132,2,1,0,48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,34,4,109,48,107,2,1,1,4,48]),public:new Uint8Array([161,52,3,50,0])}],[b,{secret:new Uint8Array([48,129,170,2,1,0,48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,35,4,129,146,48,129,143,2,1,1,4,66]),public:new Uint8Array([161,70,3,68,0])}],[m,{secret:new Uint8Array([48,129,132,2,1,0,48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,10,4,109,48,107,2,1,1,4,32]),public:new Uint8Array([161,68,3,66,0])}]]),Ce=new Map([[w,new Uint8Array([48,57,48,19,6,7,42,134,72,206,61,2,1,6,8,42,134,72,206,61,3,1,7,3,34,0])],[g,new Uint8Array([48,70,48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,34,3,50,0])],[b,new Uint8Array([48,88,48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,35,3,68,0])],[m,new Uint8Array([48,86,48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,10,3,66,0])]]);function Ie(t){return Uint8Array.from(Ue.keyFromPublic(t,"bytes").getPublic(!1,"array"))}async function je({id:t,controller:r,secretKeyMultibase:o,publicKeyMultibase:s,keyAgreement:u=!1}){if(!s)throw new TypeError('The "publicKeyMultibase" property is required.');const a={id:t,controller:r};if(!s||"string"!=typeof s||s[0]!==c)throw new TypeError('"publicKeyMultibase" must be a multibase, base58-encoded string.');const f=e(s.slice(1)),l={name:u?"ECDH":n,namedCurve:A({publicMultikey:f})},d=function({publicMultikey:t}){const e=A({publicMultikey:t});let r=t.subarray(2);e===m&&(r=Ie(r));return function({curve:t,publicKey:e}){const r=Ce.get(t),n=new Uint8Array(r.length+e.length);let i=0;return n.set(r,i),i+=r.length,n.set(e,i),n}
21
+ /*!
22
+ * Copyright (c) 2023 Digital Bazaar, Inc. All rights reserved.
23
+ */({curve:e,publicKey:r})}({publicMultikey:f}),h=u?[]:["verify"];if(l.namedCurve===m){const{Crypto:t}=await import("./webcrypto.es-9hytEjC6-gGk5JRJH.js"),e=new t;a.publicKey=await e.subtle.importKey("spki",d,l,i,h)}else a.publicKey=await x.subtle.importKey("spki",d,l,i,h);if(o){if("string"!=typeof o||o[0]!==c)throw new TypeError('"secretKeyMultibase" must be a multibase, base58-encoded string.');const t=e(o.slice(1));!function({secretMultikey:t,publicMultikey:e}){const r=A({publicMultikey:e}),n=O({secretMultikey:t});if(r!==n)throw new Error(`Public key curve ('${r}') does not match secret key curve ('${n}').`)}({secretMultikey:t,publicMultikey:f});const r=function({secretMultikey:t,publicMultikey:e}){const r=O({secretMultikey:t}),n=t.subarray(2),i=e.subarray(2);return function({curve:t,secretKey:e,publicKey:r}){const n=Se.get(t);if(!n)throw new Error(`Unsupported curve "${t}".`);t===m&&(r=Ie(r));const i=new Uint8Array(n.secret.length+e.length+n.public.length+r.length);let o=0;return i.set(n.secret,o),o+=n.secret.length,i.set(e,o),o+=e.length,i.set(n.public,o),o+=n.public.length,i.set(r,o),i}({curve:r,secretKey:n,publicKey:i})}({secretMultikey:t,publicMultikey:f}),n=u?["deriveBits"]:["sign"];if(l.namedCurve===m){const{Crypto:t}=await import("./webcrypto.es-9hytEjC6-gGk5JRJH.js"),e=new t;a.secretKey=await e.subtle.importKey("pkcs8",r,l,i,n)}else a.secretKey=await x.subtle.importKey("pkcs8",r,l,i,n)}return a}function qe({jwk:e}={}){if("EC"!==e?.kty)throw new TypeError('"jwk.kty" must be "EC".');const{crv:r}=e,n=R({curve:r}),i=t(e.x),o=t(e.y),s=new Uint8Array(n+1),c=o[o.length-1]%2==0;return s[0]=c?2:3,s.set(i,s.length-i.length),s}function Me({jwk:e}={}){if("EC"!==e?.kty)throw new TypeError('"jwk.kty" must be "EC".');const{crv:n}=e,i=R({curve:n}),o=t(e.x),s=t(e.y),d=new Uint8Array(2+(i+1));!function({curve:t,buffer:e}){if(t===w)e[0]=a[0],e[1]=a[1];else if(t===g)e[0]=f[0],e[1]=f[1];else if(t===b)e[0]=l[0],e[1]=l[1];else{if(t!==m)throw new TypeError(`Unsupported curve "${t}".`);e[0]=u[0],e[1]=u[1]}}({curve:n,buffer:d});const h=s[s.length-1]%2==0;d[2]=h?2:3,d.set(o,d.length-o.length);return c+r(d)}function He({jwk:e}={}){if("EC"!==e?.kty)throw new TypeError('"jwk.kty" must be "EC".');const{crv:n}=e,i=R({curve:n}),o=t(e.d),s=new Uint8Array(2+i);!function({curve:t,buffer:e}){if(t===w)e[0]=h[0],e[1]=h[1];else if(t===g)e[0]=y[0],e[1]=y[1];else if(t===b)e[0]=p[0],e[1]=p[1];else{if(t!==m)throw new TypeError(`Unsupported curve "${t}".`);e[0]=d[0],e[1]=d[1]}}({curve:e.crv,buffer:s}),s.set(o,s.length-o.length);return c+r(s)}const Le=new Set(["EcdsaSecp256r1VerificationKey2019","EcdsaSecp384r1VerificationKey2019","EcdsaSecp521r1VerificationKey2019","EcdsaSecp256k1VerificationKey2019"]);async function Ne({keyPair:t}){if(!Le.has(t.type))throw new TypeError(`Unsupported key type "${t.type}".`);if(t["@context"]||(t["@context"]=o),!function({document:t,contextUrl:e}){const r=t["@context"];return r===e||Array.isArray(r)&&r.includes(e)}
24
+ /*!
25
+ * Copyright (c) 2022-2023 Digital Bazaar, Inc. All rights reserved.
26
+ */({document:t,contextUrl:o}))throw new TypeError(`Context not supported "${t["@context"]}".`);return{"@context":s,id:t.id,type:"Multikey",controller:t.controller,publicKeyMultibase:t.publicKeyMultibase,secretKeyMultibase:t.secretKeyMultibase}}async function Te(t,e={}){"boolean"==typeof e&&(e={keyAgreement:e});const{keyAgreement:r}=e;let n={...t};if("Multikey"!==n.type){if(n.publicKeyJwk)return async function({jwk:t,secretKey:e=!1}={}){const r={"@context":s,type:"Multikey",publicKeyMultibase:Me({jwk:t})};e&&t.d&&(r.secretKeyMultibase=He({jwk:t}));const n=!t.key_ops||t.key_ops.includes("deriveBits");return Te(r,n)}({jwk:n.publicKeyJwk,secretKey:!1});if(n.type)return n=await Ne({keyPair:n}),Pe({keyPair:n,keyAgreement:r})}return n.type||(n.type="Multikey"),n["@context"]||(n["@context"]=s),n.controller&&!n.id&&(n.id=`${t.controller}#${t.publicKeyMultibase}`),function(t){if(!t||"object"!=typeof t)throw new TypeError('"key" must be an object.');if("Multikey"!==t.type)throw new TypeError('"key" must be a Multikey with type "Multikey".');if(!(t["@context"]===s||Array.isArray(t["@context"])&&t["@context"].includes(s)))throw new TypeError(`"key" must be a Multikey with context "${s}".`)}(n),Pe({keyPair:n,keyAgreement:r})}async function Fe({keyPair:t,secretKey:e=!1}={}){t?.publicKey instanceof k||(t=await je(t));const r=e&&!!t.secretKey?t.secretKey:t.publicKey;let n;if(t.publicKey.algorithm.namedCurve===m){const{Crypto:t}=await import("./webcrypto.es-9hytEjC6-gGk5JRJH.js"),e=new t;n=await e.subtle.exportKey("jwk",r)}else n=await x.subtle.exportKey("jwk",r);return n}async function Pe({keyPair:e,keyAgreement:r=!1}){e?.publicKey instanceof k||e.publicKey?.algorithm.namedCurve===m||(e=await je(e));const i=async({publicKey:r=!0,secretKey:n=!1,includeContext:i=!0,raw:o=!1}={})=>{if(o){const i=await Fe({keyPair:e,secretKey:n}),o={};return r&&(o.publicKey=qe({jwk:i})),n&&(o.secretKey=function({jwk:e}={}){if("EC"!==e?.kty)throw new TypeError('"jwk.kty" must be "EC".');const{crv:r}=e,n=R({curve:r}),i=t(e.d),o=new Uint8Array(n);return o.set(i,o.length-i.length),o}({jwk:i})),o}return async function({keyPair:t,secretKey:e,publicKey:r,includeContext:n}={}){if(!r&&!e)throw new TypeError('Export requires specifying either "publicKey" or "secretKey".');const i=e&&!!t.secretKey,o=i?t.secretKey:t.publicKey;let c;if(o.algorithm.namedCurve===m){const{Crypto:t}=await import("./webcrypto.es-9hytEjC6-gGk5JRJH.js"),e=new t;c=await e.subtle.exportKey("jwk",o)}else c=await x.subtle.exportKey("jwk",o);const u={};return n&&(u["@context"]=s),u.id=t.id,u.type="Multikey",u.controller=t.controller,r&&(u.publicKeyMultibase=Me({jwk:c})),i&&(u.secretKeyMultibase=He({jwk:c})),u}({keyPair:e,publicKey:r,secretKey:n,includeContext:i})},{publicKeyMultibase:o,secretKeyMultibase:c}=await i({publicKey:!0,secretKey:!0,includeContext:!0});return e={...e,publicKeyMultibase:o,secretKeyMultibase:c,keyAgreement:r,export:i,signer(){const{id:t,secretKey:r}=e;
27
+ /*!
28
+ * Copyright (c) 2022-2023 Digital Bazaar, Inc. All rights reserved.
29
+ */
30
+ return function({id:t,secretKey:e}){if(!e)throw new Error('"secretKey" is required for signing.');const{namedCurve:r}=e.algorithm,i={name:n,hash:{name:K({curve:r})}};return{algorithm:r,id:t,async sign({data:t}={}){if(r===m){const{Crypto:r}=await import("./webcrypto.es-9hytEjC6-gGk5JRJH.js"),n=new r;return new Uint8Array(await n.subtle.sign(i,e,t))}return new Uint8Array(await x.subtle.sign(i,e,t))}}}({id:t,secretKey:r})},verifier(){const{id:t,publicKey:r}=e;return function({id:t,publicKey:e}){if(!e)throw new Error('"publicKey" is required for verifying.');const{namedCurve:r}=e.algorithm,i={name:n,hash:{name:K({curve:r})}};return{algorithm:r,id:t,async verify({data:t,signature:n}={}){if(r===m){const{Crypto:r}=await import("./webcrypto.es-9hytEjC6-gGk5JRJH.js");return(new r).subtle.verify(i,e,n,t)}return x.subtle.verify(i,e,n,t)}}}({id:t,publicKey:r})},async deriveSecret({publicKey:t,remotePublicKey:r}={}){if(r&&t)throw new Error('Only one of "remotePublicKey" and "publicKey" must be given.');if(!e.keyAgreement){const t=Error('"keyAgreement" is not supported by this keypair.');throw t.name="NotSupportedError",t}return async function({localKeyPair:t,remoteKeyPair:e}){if(!t.secretKey){const t=Error('"secretKey" required to derive secret.');throw t.name="NotSupportedError",t}t=await je({...t,keyAgreement:!0}),e=await je({...e,keyAgreement:!0});const{namedCurve:r}=t.secretKey.algorithm,n=R({curve:r});if(r===m){const{Crypto:i}=await import("./webcrypto.es-9hytEjC6-gGk5JRJH.js"),o=new i,s=await o.subtle.deriveBits({name:"ECDH",namedCurve:r,public:e.publicKey},t.secretKey,8*n);return new Uint8Array(s,0,n)}const i=await x.subtle.deriveBits({name:"ECDH",namedCurve:r,public:e.publicKey},t.secretKey,8*n);return new Uint8Array(i,0,n)}({localKeyPair:this,remoteKeyPair:r||t})}}}export{qe as a,Te as f,Fe as t};