json-schema-library
Version:
Customizable and hackable json-validator and json-schema utilities for traversal, data generation and validation
3 lines • 120 kB
JavaScript
var jlib=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=Object.create,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.getPrototypeOf,o=Object.prototype.hasOwnProperty,s=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),c=(e,t,a,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var c=i(t),l=0,u=c.length,d;l<u;l++)d=c[l],!o.call(e,d)&&d!==a&&n(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(s=r(t,d))||s.enumerable});return e},l=(e,r,i)=>(i=e==null?{}:t(a(e)),c(r||!e||!e.__esModule?n(i,`default`,{value:e,enumerable:!0}):i,e));let u=Function.prototype.toString,d=Object.prototype.toString;function f(e){if(!e)return Object.create(null);let t=e.constructor;if(t===Object)return e===Object.prototype?{}:Object.create(e);if(t&&~u.call(t).indexOf(`[native code]`))try{return new t}catch{}return Object.create(e)}function p(e){let t=e[Symbol.toStringTag];if(t)return t;let n=d.call(e);return n.substring(8,n.length-1)}let{hasOwnProperty:m,propertyIsEnumerable:h}=Object.prototype;function g(e,t,n,r){let i=Object.getOwnPropertyDescriptor(e,n)||{configurable:!0,enumerable:!0,value:e[n],writable:!0},a=i.get||i.set?i:{configurable:i.configurable,enumerable:i.enumerable,value:r.copier(i.value,r),writable:i.writable};try{Object.defineProperty(t,n,a)}catch{t[n]=a.get?a.get():a.value}}function _(e,t,n){let r=Object.getOwnPropertyNames(e);for(let i=0;i<r.length;++i)g(e,t,r[i],n);let i=Object.getOwnPropertySymbols(e);for(let r=0;r<i.length;++r)g(e,t,i[r],n);return t}function v(e,t){let n=new t.Constructor;t.cache.set(e,n);for(let r=0;r<e.length;++r)n[r]=t.copier(e[r],t);return n}function ee(e,t){let n=new t.Constructor;return t.cache.set(e,n),_(e,n,t)}function te(e,t){return e.slice(0)}function ne(e,t){return e.slice(0,e.size,e.type)}function re(e,t){return new t.Constructor(te(e.buffer))}function ie(e,t){return new t.Constructor(e.getTime())}function ae(e,t){let n=new t.Constructor;return t.cache.set(e,n),e.forEach((e,r)=>{n.set(r,t.copier(e,t))}),n}function y(e,t){return _(e,ae(e,t),t)}function b(e,t){let n=f(t.prototype);t.cache.set(e,n);for(let r in e)m.call(e,r)&&(n[r]=t.copier(e[r],t));let r=Object.getOwnPropertySymbols(e);for(let i=0;i<r.length;++i){let a=r[i];h.call(e,a)&&(n[a]=t.copier(e[a],t))}return n}function oe(e,t){let n=f(t.prototype);return t.cache.set(e,n),_(e,n,t)}function x(e,t){return new t.Constructor(e.valueOf())}function se(e,t){let n=new t.Constructor(e.source,e.flags);return n.lastIndex=e.lastIndex,n}function S(e,t){return e}function ce(e,t){let n=new t.Constructor;return t.cache.set(e,n),e.forEach(e=>{n.add(t.copier(e,t))}),n}function C(e,t){return _(e,ce(e,t),t)}function w(){return new WeakMap}function le({createCache:e,methods:t,strict:n}){let r={array:n?ee:v,arrayBuffer:te,asyncGenerator:S,blob:ne,dataView:re,date:ie,error:S,generator:S,map:n?y:ae,object:n?oe:b,regExp:se,set:n?C:ce},i=t?Object.assign(r,t):r,a=ue(i),o=e||w;if(!a.Object||!a.Array)throw Error(`An object and array copier must be provided.`);return{createCache:o,copiers:a,methods:i,strict:!!n}}function ue(e){return{Arguments:e.object,Array:e.array,ArrayBuffer:e.arrayBuffer,AsyncGenerator:e.asyncGenerator,BigInt64Array:e.arrayBuffer,BigUint64Array:e.arrayBuffer,Blob:e.blob,Boolean:x,DataView:e.dataView,Date:e.date,Error:e.error,Float32Array:e.arrayBuffer,Float64Array:e.arrayBuffer,Generator:e.generator,Int8Array:e.arrayBuffer,Int16Array:e.arrayBuffer,Int32Array:e.arrayBuffer,Map:e.map,Number:x,Object:e.object,Promise:S,RegExp:e.regExp,Set:e.set,String:x,WeakMap:S,WeakSet:S,Uint8Array:e.arrayBuffer,Uint8ClampedArray:e.arrayBuffer,Uint16Array:e.arrayBuffer,Uint32Array:e.arrayBuffer}}function T(e={}){let{createCache:t,copiers:n}=le(e),{Array:r,Object:i}=n;function a(e,t){if(t.prototype=t.Constructor=void 0,!e||typeof e!=`object`)return e;if(t.cache.has(e))return t.cache.get(e);if(t.prototype=Object.getPrototypeOf(e),t.Constructor=t.prototype&&t.prototype.constructor,!t.Constructor||t.Constructor===Object)return i(e,t);if(Array.isArray(e))return r(e,t);let a=n[p(e)];return a?a(e,t):typeof e.then==`function`?e:i(e,t)}return function(e){return a(e,{Constructor:void 0,cache:t(),copier:a,prototype:void 0})}}T({strict:!0});let E=T();function D(e,t=[]){if(!Array.isArray(e))return e===void 0?[]:[e];for(let n of e)Array.isArray(n)?D(n,t):(et(n)||n instanceof Promise)&&t.push(n);return t}var O={DECLARATOR_ONEOF:`oneOfProperty`,propertyBlacklist:[`_id`],DYNAMIC_PROPERTIES:[`$ref`,`$defs`,`if`,`then`,`else`,`allOf`,`anyOf`,`oneOf`,`dependentSchemas`,`dependentRequired`,`definitions`,`dependencies`,`patternProperties`,`propertyDependencies`],REGEX_FLAGS:`u`,VALID_ANNOTATION_KEYWORDS:[`$id`,`$schema`,`title`,`description`,`default`,`oneOfProperty`],PROPERTIES_TO_MERGE:[`title`,`description`,`default`,`options`,`x-options`,`readOnly`,`writeOnly`]};let k=Object.prototype.toString;function A(e){let t=k.call(e).slice(8,-1).toLowerCase();return t===`file`?`object`:t}function j(e){return A(e)===`object`}function M(e){let t=e===void 0?{}:{type:A(e)};return t.type===`object`&&j(e)&&(t.properties={},Object.keys(e).forEach(n=>t.properties[n]=M(e[n]))),t.type===`array`&&Array.isArray(e)&&(e.length===1?t.items=M(e[0]):(t.items=e.map(M),t.items.find(e=>e.type!==t.items[0].type)??(t.items=t.items[0]))),t}function de(e,t){t!=null&&Object.values(t).forEach(t=>N(t,e))}function fe(e,t){t?.forEach(t=>N(t,e))}function N(e,t=[]){return V(e)?(t.push(e),de(t,e.$defs),e.additionalProperties&&N(e.additionalProperties,t),fe(t,e.allOf),fe(t,e.anyOf),e.contains&&N(e.contains,t),de(t,e.dependentSchemas),e.if&&N(e.if,t),e.else&&N(e.else,t),e.then&&N(e.then,t),e.items&&N(e.items,t),fe(t,e.prefixItems),e.not&&N(e.not,t),fe(t,e.oneOf),e.patternProperties&&Object.values(e.patternProperties).forEach(({node:e})=>N(e,t)),de(t,e.properties),e.propertyNames&&N(e.propertyNames,t),e.unevaluatedProperties&&N(e.unevaluatedProperties,t),e.unevaluatedItems&&N(e.unevaluatedItems,t),t):t}function pe(e){return e===`#`||e===``||Array.isArray(e)&&e.length===0||!1}let me=/~1/g,he=/~0/g,ge=/(^#?\/?)/g;function _e(e){return e.replace(me,`/`).replace(he,`~`)}function ve(e){return _e(decodeURIComponent(e))}function ye(e){if(e==null||typeof e!=`string`||pe(e))return Array.isArray(e)?e.slice():[];let t=e.indexOf(`#`)>=0?ve:_e;e=e.replace(ge,``);let n=e.split(`/`);for(let e=0,r=n.length;e<r;e+=1)n[e]=t(n[e]);return n}function be(e,t,n=void 0){if(t==null||e==null)return n;if(pe(t))return e;let r=P(e,ye(t));return r===void 0?n:r}function P(e,t){let n=t.shift();if(e!==void 0)return n===void 0?e:e==null?void 0:P(e[n],t)}let xe=/~/g,Se=/\//g;function Ce(e,t){if(e.length===0)return t?`#`:``;for(let n=0,r=e.length;n<r;n+=1)e[n]=e[n].replace(xe,`~0`).replace(Se,`~1`),t&&(e[n]=encodeURIComponent(e[n]));return(t?`#/`:`/`)+e.join(`/`)}function we(e,...t){let n=[];if(Array.isArray(e))return Ce(e,arguments[1]===!0);let r=arguments[arguments.length-1],i=typeof r==`boolean`?r:e&&e[0]===`#`;for(let e=0,t=arguments.length;e<t;e+=1)n.push.apply(n,ye(arguments[e]));let a=[];for(let e=0,t=n.length;e<t;e+=1)if(n[e]===`..`){if(a.length===0)return i?`#`:``;a.pop()}else a.push(n[e]);return Ce(a,i)}var Te=s(((e,t)=>{
/** @license URI.js v4.4.1 (c) 2011 Gary Court. License: http://github.com/garycourt/uri-js */
(function(n,r){typeof e==`object`&&t!==void 0?r(e):typeof define==`function`&&define.amd?define([`exports`],r):r(n.URI=n.URI||{})})(e,(function(e){"use strict";function t(){var e=[...arguments];if(e.length>1){e[0]=e[0].slice(0,-1);for(var t=e.length-1,n=1;n<t;++n)e[n]=e[n].slice(1,-1);return e[t]=e[t].slice(1),e.join(``)}else return e[0]}function n(e){return`(?:`+e+`)`}function r(e){return e===void 0?`undefined`:e===null?`null`:Object.prototype.toString.call(e).split(` `).pop().split(`]`).shift().toLowerCase()}function i(e){return e.toUpperCase()}function a(e){return e==null?[]:e instanceof Array?e:typeof e.length!=`number`||e.split||e.setInterval||e.call?[e]:Array.prototype.slice.call(e)}function o(e,t){var n=e;if(t)for(var r in t)n[r]=t[r];return n}function s(e){var r=`[A-Za-z]`,i=`[0-9]`,a=t(i,`[A-Fa-f]`),o=n(n(`%[EFef]`+a+`%`+a+a+`%`+a+a)+`|`+n(`%[89A-Fa-f]`+a+`%`+a+a)+`|`+n(`%`+a+a)),s=`[\\:\\/\\?\\#\\[\\]\\@]`,c=`[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]`,l=t(s,c),u=e?`[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]`:`[]`,d=e?`[\\uE000-\\uF8FF]`:`[]`,f=t(r,i,`[\\-\\.\\_\\~]`,u),p=n(r+t(r,i,`[\\+\\-\\.]`)+`*`),m=n(n(o+`|`+t(f,c,`[\\:]`))+`*`);n(n(`25[0-5]`)+`|`+n(`2[0-4]`+i)+`|`+n(`1`+i+i)+`|`+n(`[1-9]`+i)+`|`+i);var h=n(n(`25[0-5]`)+`|`+n(`2[0-4]`+i)+`|`+n(`1`+i+i)+`|`+n(`0?[1-9]`+i)+`|0?0?`+i),g=n(h+`\\.`+h+`\\.`+h+`\\.`+h),_=n(a+`{1,4}`),v=n(n(_+`\\:`+_)+`|`+g),ee=n([n(n(_+`\\:`)+`{6}`+v),n(`\\:\\:`+n(_+`\\:`)+`{5}`+v),n(n(_)+`?\\:\\:`+n(_+`\\:`)+`{4}`+v),n(n(n(_+`\\:`)+`{0,1}`+_)+`?\\:\\:`+n(_+`\\:`)+`{3}`+v),n(n(n(_+`\\:`)+`{0,2}`+_)+`?\\:\\:`+n(_+`\\:`)+`{2}`+v),n(n(n(_+`\\:`)+`{0,3}`+_)+`?\\:\\:`+_+`\\:`+v),n(n(n(_+`\\:`)+`{0,4}`+_)+`?\\:\\:`+v),n(n(n(_+`\\:`)+`{0,5}`+_)+`?\\:\\:`+_),n(n(n(_+`\\:`)+`{0,6}`+_)+`?\\:\\:`)].join(`|`)),te=n(n(f+`|`+o)+`+`);n(ee+`\\%25`+te);var ne=n(ee+n(`\\%25|\\%(?!`+a+`{2})`)+te),re=n(`[vV]`+a+`+\\.`+t(f,c,`[\\:]`)+`+`),ie=n(`\\[`+n(ne+`|`+ee+`|`+re)+`\\]`),ae=n(n(o+`|`+t(f,c))+`*`),y=n(ie+`|`+g+`(?!`+ae+`)|`+ae),b=n(i+`*`),oe=n(n(m+`@`)+`?`+y+n(`\\:`+b)+`?`),x=n(o+`|`+t(f,c,`[\\:\\@]`)),se=n(x+`*`),S=n(x+`+`),ce=n(n(o+`|`+t(f,c,`[\\@]`))+`+`),C=n(n(`\\/`+se)+`*`),w=n(`\\/`+n(S+C)+`?`),le=n(ce+C),ue=n(S+C),T=`(?!`+x+`)`;n(C+`|`+w+`|`+le+`|`+ue+`|`+T);var E=n(n(x+`|`+t(`[\\/\\?]`,d))+`*`),D=n(n(x+`|[\\/\\?]`)+`*`),O=n(n(`\\/\\/`+oe+C)+`|`+w+`|`+ue+`|`+T),k=n(p+`\\:`+O+n(`\\?`+E)+`?`+n(`\\#`+D)+`?`),A=n(n(n(`\\/\\/`+oe+C)+`|`+w+`|`+le+`|`+T)+n(`\\?`+E)+`?`+n(`\\#`+D)+`?`);return n(k+`|`+A),n(p+`\\:`+O+n(`\\?`+E)+`?`),``+p+n(n(`\\/\\/(`+n(`(`+m+`)@`)+`?(`+y+`)`+n(`\\:(`+b+`)`)+`?)`)+`?(`+C+`|`+w+`|`+ue+`|`+T+`)`)+n(`\\?(`+E+`)`)+n(`\\#(`+D+`)`),``+n(n(`\\/\\/(`+n(`(`+m+`)@`)+`?(`+y+`)`+n(`\\:(`+b+`)`)+`?)`)+`?(`+C+`|`+w+`|`+le+`|`+T+`)`)+n(`\\?(`+E+`)`)+n(`\\#(`+D+`)`),``+p+n(n(`\\/\\/(`+n(`(`+m+`)@`)+`?(`+y+`)`+n(`\\:(`+b+`)`)+`?)`)+`?(`+C+`|`+w+`|`+ue+`|`+T+`)`)+n(`\\?(`+E+`)`),``+n(`\\#(`+D+`)`),``+n(`(`+m+`)@`)+y+n(`\\:(`+b+`)`),{NOT_SCHEME:new RegExp(t(`[^]`,r,i,`[\\+\\-\\.]`),`g`),NOT_USERINFO:new RegExp(t(`[^\\%\\:]`,f,c),`g`),NOT_HOST:new RegExp(t(`[^\\%\\[\\]\\:]`,f,c),`g`),NOT_PATH:new RegExp(t(`[^\\%\\/\\:\\@]`,f,c),`g`),NOT_PATH_NOSCHEME:new RegExp(t(`[^\\%\\/\\@]`,f,c),`g`),NOT_QUERY:new RegExp(t(`[^\\%]`,f,c,`[\\:\\@\\/\\?]`,d),`g`),NOT_FRAGMENT:new RegExp(t(`[^\\%]`,f,c,`[\\:\\@\\/\\?]`),`g`),ESCAPE:new RegExp(t(`[^]`,f,c),`g`),UNRESERVED:new RegExp(f,`g`),OTHER_CHARS:new RegExp(t(`[^\\%]`,f,l),`g`),PCT_ENCODED:new RegExp(o,`g`),IPV4ADDRESS:RegExp(`^(`+g+`)$`),IPV6ADDRESS:RegExp(`^\\[?(`+ee+`)`+n(n(`\\%25|\\%(?!`+a+`{2})`)+`(`+te+`)`)+`?\\]?$`)}}var c=s(!1),l=s(!0),u=function(){function e(e,t){var n=[],r=!0,i=!1,a=void 0;try{for(var o=e[Symbol.iterator](),s;!(r=(s=o.next()).done)&&(n.push(s.value),!(t&&n.length===t));r=!0);}catch(e){i=!0,a=e}finally{try{!r&&o.return&&o.return()}finally{if(i)throw a}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw TypeError(`Invalid attempt to destructure non-iterable instance`)}}(),d=function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}else return Array.from(e)},f=2147483647,p=36,m=1,h=26,g=38,_=700,v=72,ee=128,te=`-`,ne=/^xn--/,re=/[^\0-\x7E]/,ie=/[\x2E\u3002\uFF0E\uFF61]/g,ae={overflow:`Overflow: input needs wider integers to process`,"not-basic":`Illegal input >= 0x80 (not a basic code point)`,"invalid-input":`Invalid input`},y=p-m,b=Math.floor,oe=String.fromCharCode;function x(e){throw RangeError(ae[e])}function se(e,t){for(var n=[],r=e.length;r--;)n[r]=t(e[r]);return n}function S(e,t){var n=e.split(`@`),r=``;n.length>1&&(r=n[0]+`@`,e=n[1]),e=e.replace(ie,`.`);var i=se(e.split(`.`),t).join(`.`);return r+i}function ce(e){for(var t=[],n=0,r=e.length;n<r;){var i=e.charCodeAt(n++);if(i>=55296&&i<=56319&&n<r){var a=e.charCodeAt(n++);(a&64512)==56320?t.push(((i&1023)<<10)+(a&1023)+65536):(t.push(i),n--)}else t.push(i)}return t}var C=function(e){return String.fromCodePoint.apply(String,d(e))},w=function(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:p},le=function(e,t){return e+22+75*(e<26)-((t!=0)<<5)},ue=function(e,t,n){var r=0;for(e=n?b(e/_):e>>1,e+=b(e/t);e>y*h>>1;r+=p)e=b(e/y);return b(r+(y+1)*e/(e+g))},T=function(e){var t=[],n=e.length,r=0,i=ee,a=v,o=e.lastIndexOf(te);o<0&&(o=0);for(var s=0;s<o;++s)e.charCodeAt(s)>=128&&x(`not-basic`),t.push(e.charCodeAt(s));for(var c=o>0?o+1:0;c<n;){for(var l=r,u=1,d=p;;d+=p){c>=n&&x(`invalid-input`);var g=w(e.charCodeAt(c++));(g>=p||g>b((f-r)/u))&&x(`overflow`),r+=g*u;var _=d<=a?m:d>=a+h?h:d-a;if(g<_)break;var ne=p-_;u>b(f/ne)&&x(`overflow`),u*=ne}var re=t.length+1;a=ue(r-l,re,l==0),b(r/re)>f-i&&x(`overflow`),i+=b(r/re),r%=re,t.splice(r++,0,i)}return String.fromCodePoint.apply(String,t)},E=function(e){var t=[];e=ce(e);var n=e.length,r=ee,i=0,a=v,o=!0,s=!1,c=void 0;try{for(var l=e[Symbol.iterator](),u;!(o=(u=l.next()).done);o=!0){var d=u.value;d<128&&t.push(oe(d))}}catch(e){s=!0,c=e}finally{try{!o&&l.return&&l.return()}finally{if(s)throw c}}var g=t.length,_=g;for(g&&t.push(te);_<n;){var ne=f,re=!0,ie=!1,ae=void 0;try{for(var y=e[Symbol.iterator](),se;!(re=(se=y.next()).done);re=!0){var S=se.value;S>=r&&S<ne&&(ne=S)}}catch(e){ie=!0,ae=e}finally{try{!re&&y.return&&y.return()}finally{if(ie)throw ae}}var C=_+1;ne-r>b((f-i)/C)&&x(`overflow`),i+=(ne-r)*C,r=ne;var w=!0,T=!1,E=void 0;try{for(var D=e[Symbol.iterator](),O;!(w=(O=D.next()).done);w=!0){var k=O.value;if(k<r&&++i>f&&x(`overflow`),k==r){for(var A=i,j=p;;j+=p){var M=j<=a?m:j>=a+h?h:j-a;if(A<M)break;var de=A-M,fe=p-M;t.push(oe(le(M+de%fe,0))),A=b(de/fe)}t.push(oe(le(A,0))),a=ue(i,C,_==g),i=0,++_}}}catch(e){T=!0,E=e}finally{try{!w&&D.return&&D.return()}finally{if(T)throw E}}++i,++r}return t.join(``)},D={version:`2.1.0`,ucs2:{decode:ce,encode:C},decode:T,encode:E,toASCII:function(e){return S(e,function(e){return re.test(e)?`xn--`+E(e):e})},toUnicode:function(e){return S(e,function(e){return ne.test(e)?T(e.slice(4).toLowerCase()):e})}},O={};function k(e){var t=e.charCodeAt(0),n=void 0;return n=t<16?`%0`+t.toString(16).toUpperCase():t<128?`%`+t.toString(16).toUpperCase():t<2048?`%`+(t>>6|192).toString(16).toUpperCase()+`%`+(t&63|128).toString(16).toUpperCase():`%`+(t>>12|224).toString(16).toUpperCase()+`%`+(t>>6&63|128).toString(16).toUpperCase()+`%`+(t&63|128).toString(16).toUpperCase(),n}function A(e){for(var t=``,n=0,r=e.length;n<r;){var i=parseInt(e.substr(n+1,2),16);if(i<128)t+=String.fromCharCode(i),n+=3;else if(i>=194&&i<224){if(r-n>=6){var a=parseInt(e.substr(n+4,2),16);t+=String.fromCharCode((i&31)<<6|a&63)}else t+=e.substr(n,6);n+=6}else if(i>=224){if(r-n>=9){var o=parseInt(e.substr(n+4,2),16),s=parseInt(e.substr(n+7,2),16);t+=String.fromCharCode((i&15)<<12|(o&63)<<6|s&63)}else t+=e.substr(n,9);n+=9}else t+=e.substr(n,3),n+=3}return t}function j(e,t){function n(e){var n=A(e);return n.match(t.UNRESERVED)?n:e}return e.scheme&&=String(e.scheme).replace(t.PCT_ENCODED,n).toLowerCase().replace(t.NOT_SCHEME,``),e.userinfo!==void 0&&(e.userinfo=String(e.userinfo).replace(t.PCT_ENCODED,n).replace(t.NOT_USERINFO,k).replace(t.PCT_ENCODED,i)),e.host!==void 0&&(e.host=String(e.host).replace(t.PCT_ENCODED,n).toLowerCase().replace(t.NOT_HOST,k).replace(t.PCT_ENCODED,i)),e.path!==void 0&&(e.path=String(e.path).replace(t.PCT_ENCODED,n).replace(e.scheme?t.NOT_PATH:t.NOT_PATH_NOSCHEME,k).replace(t.PCT_ENCODED,i)),e.query!==void 0&&(e.query=String(e.query).replace(t.PCT_ENCODED,n).replace(t.NOT_QUERY,k).replace(t.PCT_ENCODED,i)),e.fragment!==void 0&&(e.fragment=String(e.fragment).replace(t.PCT_ENCODED,n).replace(t.NOT_FRAGMENT,k).replace(t.PCT_ENCODED,i)),e}function M(e){return e.replace(/^0*(.*)/,`$1`)||`0`}function de(e,t){var n=u(e.match(t.IPV4ADDRESS)||[],2)[1];return n?n.split(`.`).map(M).join(`.`):e}function fe(e,t){var n=u(e.match(t.IPV6ADDRESS)||[],3),r=n[1],i=n[2];if(r){for(var a=u(r.toLowerCase().split(`::`).reverse(),2),o=a[0],s=a[1],c=s?s.split(`:`).map(M):[],l=o.split(`:`).map(M),d=t.IPV4ADDRESS.test(l[l.length-1]),f=d?7:8,p=l.length-f,m=Array(f),h=0;h<f;++h)m[h]=c[h]||l[p+h]||``;d&&(m[f-1]=de(m[f-1],t));var g=m.reduce(function(e,t,n){if(!t||t===`0`){var r=e[e.length-1];r&&r.index+r.length===n?r.length++:e.push({index:n,length:1})}return e},[]).sort(function(e,t){return t.length-e.length})[0],_=void 0;if(g&&g.length>1){var v=m.slice(0,g.index),ee=m.slice(g.index+g.length);_=v.join(`:`)+`::`+ee.join(`:`)}else _=m.join(`:`);return i&&(_+=`%`+i),_}else return e}var N=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,pe=``.match(/(){0}/)[1]===void 0;function me(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n={},r=t.iri===!1?c:l;t.reference===`suffix`&&(e=(t.scheme?t.scheme+`:`:``)+`//`+e);var i=e.match(N);if(i){pe?(n.scheme=i[1],n.userinfo=i[3],n.host=i[4],n.port=parseInt(i[5],10),n.path=i[6]||``,n.query=i[7],n.fragment=i[8],isNaN(n.port)&&(n.port=i[5])):(n.scheme=i[1]||void 0,n.userinfo=e.indexOf(`@`)===-1?void 0:i[3],n.host=e.indexOf(`//`)===-1?void 0:i[4],n.port=parseInt(i[5],10),n.path=i[6]||``,n.query=e.indexOf(`?`)===-1?void 0:i[7],n.fragment=e.indexOf(`#`)===-1?void 0:i[8],isNaN(n.port)&&(n.port=e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?i[4]:void 0)),n.host&&=fe(de(n.host,r),r),n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&!n.path&&n.query===void 0?n.reference=`same-document`:n.scheme===void 0?n.reference=`relative`:n.fragment===void 0?n.reference=`absolute`:n.reference=`uri`,t.reference&&t.reference!==`suffix`&&t.reference!==n.reference&&(n.error=n.error||`URI is not a `+t.reference+` reference.`);var a=O[(t.scheme||n.scheme||``).toLowerCase()];if(!t.unicodeSupport&&(!a||!a.unicodeSupport)){if(n.host&&(t.domainHost||a&&a.domainHost))try{n.host=D.toASCII(n.host.replace(r.PCT_ENCODED,A).toLowerCase())}catch(e){n.error=n.error||`Host's domain name can not be converted to ASCII via punycode: `+e}j(n,c)}else j(n,r);a&&a.parse&&a.parse(n,t)}else n.error=n.error||`URI can not be parsed.`;return n}function he(e,t){var n=t.iri===!1?c:l,r=[];return e.userinfo!==void 0&&(r.push(e.userinfo),r.push(`@`)),e.host!==void 0&&r.push(fe(de(String(e.host),n),n).replace(n.IPV6ADDRESS,function(e,t,n){return`[`+t+(n?`%25`+n:``)+`]`})),(typeof e.port==`number`||typeof e.port==`string`)&&(r.push(`:`),r.push(String(e.port))),r.length?r.join(``):void 0}var ge=/^\.\.?\//,_e=/^\/\.(\/|$)/,ve=/^\/\.\.(\/|$)/,ye=/^\/?(?:.|\n)*?(?=\/|$)/;function be(e){for(var t=[];e.length;)if(e.match(ge))e=e.replace(ge,``);else if(e.match(_e))e=e.replace(_e,`/`);else if(e.match(ve))e=e.replace(ve,`/`),t.pop();else if(e===`.`||e===`..`)e=``;else{var n=e.match(ye);if(n){var r=n[0];e=e.slice(r.length),t.push(r)}else throw Error(`Unexpected dot segment condition`)}return t.join(``)}function P(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.iri?l:c,r=[],i=O[(t.scheme||e.scheme||``).toLowerCase()];if(i&&i.serialize&&i.serialize(e,t),e.host&&!n.IPV6ADDRESS.test(e.host)&&(t.domainHost||i&&i.domainHost))try{e.host=t.iri?D.toUnicode(e.host):D.toASCII(e.host.replace(n.PCT_ENCODED,A).toLowerCase())}catch(n){e.error=e.error||`Host's domain name can not be converted to `+(t.iri?`Unicode`:`ASCII`)+` via punycode: `+n}j(e,n),t.reference!==`suffix`&&e.scheme&&(r.push(e.scheme),r.push(`:`));var a=he(e,t);if(a!==void 0&&(t.reference!==`suffix`&&r.push(`//`),r.push(a),e.path&&e.path.charAt(0)!==`/`&&r.push(`/`)),e.path!==void 0){var o=e.path;!t.absolutePath&&(!i||!i.absolutePath)&&(o=be(o)),a===void 0&&(o=o.replace(/^\/\//,`/%2F`)),r.push(o)}return e.query!==void 0&&(r.push(`?`),r.push(e.query)),e.fragment!==void 0&&(r.push(`#`),r.push(e.fragment)),r.join(``)}function xe(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=arguments[3],i={};return r||(e=me(P(e,n),n),t=me(P(t,n),n)),n||={},!n.tolerant&&t.scheme?(i.scheme=t.scheme,i.userinfo=t.userinfo,i.host=t.host,i.port=t.port,i.path=be(t.path||``),i.query=t.query):(t.userinfo!==void 0||t.host!==void 0||t.port!==void 0?(i.userinfo=t.userinfo,i.host=t.host,i.port=t.port,i.path=be(t.path||``),i.query=t.query):(t.path?(t.path.charAt(0)===`/`?i.path=be(t.path):((e.userinfo!==void 0||e.host!==void 0||e.port!==void 0)&&!e.path?i.path=`/`+t.path:e.path?i.path=e.path.slice(0,e.path.lastIndexOf(`/`)+1)+t.path:i.path=t.path,i.path=be(i.path)),i.query=t.query):(i.path=e.path,t.query===void 0?i.query=e.query:i.query=t.query),i.userinfo=e.userinfo,i.host=e.host,i.port=e.port),i.scheme=e.scheme),i.fragment=t.fragment,i}function Se(e,t,n){var r=o({scheme:`null`},n);return P(xe(me(e,r),me(t,r),r,!0),r)}function Ce(e,t){return typeof e==`string`?e=P(me(e,t),t):r(e)===`object`&&(e=me(P(e,t),t)),e}function we(e,t,n){return typeof e==`string`?e=P(me(e,n),n):r(e)===`object`&&(e=P(e,n)),typeof t==`string`?t=P(me(t,n),n):r(t)===`object`&&(t=P(t,n)),e===t}function Te(e,t){return e&&e.toString().replace(!t||!t.iri?c.ESCAPE:l.ESCAPE,k)}function Ee(e,t){return e&&e.toString().replace(!t||!t.iri?c.PCT_ENCODED:l.PCT_ENCODED,A)}var De={scheme:`http`,domainHost:!0,parse:function(e,t){return e.host||(e.error=e.error||`HTTP URIs must have a host.`),e},serialize:function(e,t){var n=String(e.scheme).toLowerCase()===`https`;return(e.port===(n?443:80)||e.port===``)&&(e.port=void 0),e.path||=`/`,e}},Oe={scheme:`https`,domainHost:De.domainHost,parse:De.parse,serialize:De.serialize};function ke(e){return typeof e.secure==`boolean`?e.secure:String(e.scheme).toLowerCase()===`wss`}var F={scheme:`ws`,domainHost:!0,parse:function(e,t){var n=e;return n.secure=ke(n),n.resourceName=(n.path||`/`)+(n.query?`?`+n.query:``),n.path=void 0,n.query=void 0,n},serialize:function(e,t){if((e.port===(ke(e)?443:80)||e.port===``)&&(e.port=void 0),typeof e.secure==`boolean`&&(e.scheme=e.secure?`wss`:`ws`,e.secure=void 0),e.resourceName){var n=u(e.resourceName.split(`?`),2),r=n[0],i=n[1];e.path=r&&r!==`/`?r:void 0,e.query=i,e.resourceName=void 0}return e.fragment=void 0,e}},I={scheme:`wss`,domainHost:F.domainHost,parse:F.parse,serialize:F.serialize},Ae={},je=`[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]`,L=`[0-9A-Fa-f]`,Me=n(n(`%[EFef]`+L+`%`+L+L+`%`+L+L)+`|`+n(`%[89A-Fa-f]`+L+`%`+L+L)+`|`+n(`%`+L+L)),Ne="[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]",Pe=t(`[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]`,`[\\"\\\\]`),R=`[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]`,Fe=new RegExp(je,`g`),Ie=new RegExp(Me,`g`),Le=new RegExp(t(`[^]`,Ne,`[\\.]`,`[\\"]`,Pe),`g`),z=new RegExp(t(`[^]`,je,R),`g`),Re=z;function ze(e){var t=A(e);return t.match(Fe)?t:e}var B={scheme:`mailto`,parse:function(e,t){var n=e,r=n.to=n.path?n.path.split(`,`):[];if(n.path=void 0,n.query){for(var i=!1,a={},o=n.query.split(`&`),s=0,c=o.length;s<c;++s){var l=o[s].split(`=`);switch(l[0]){case`to`:for(var u=l[1].split(`,`),d=0,f=u.length;d<f;++d)r.push(u[d]);break;case`subject`:n.subject=Ee(l[1],t);break;case`body`:n.body=Ee(l[1],t);break;default:i=!0,a[Ee(l[0],t)]=Ee(l[1],t);break}}i&&(n.headers=a)}n.query=void 0;for(var p=0,m=r.length;p<m;++p){var h=r[p].split(`@`);if(h[0]=Ee(h[0]),t.unicodeSupport)h[1]=Ee(h[1],t).toLowerCase();else try{h[1]=D.toASCII(Ee(h[1],t).toLowerCase())}catch(e){n.error=n.error||`Email address's domain name can not be converted to ASCII via punycode: `+e}r[p]=h.join(`@`)}return n},serialize:function(e,t){var n=e,r=a(e.to);if(r){for(var o=0,s=r.length;o<s;++o){var c=String(r[o]),l=c.lastIndexOf(`@`),u=c.slice(0,l).replace(Ie,ze).replace(Ie,i).replace(Le,k),d=c.slice(l+1);try{d=t.iri?D.toUnicode(d):D.toASCII(Ee(d,t).toLowerCase())}catch(e){n.error=n.error||`Email address's domain name can not be converted to `+(t.iri?`Unicode`:`ASCII`)+` via punycode: `+e}r[o]=u+`@`+d}n.path=r.join(`,`)}var f=e.headers=e.headers||{};e.subject&&(f.subject=e.subject),e.body&&(f.body=e.body);var p=[];for(var m in f)f[m]!==Ae[m]&&p.push(m.replace(Ie,ze).replace(Ie,i).replace(z,k)+`=`+f[m].replace(Ie,ze).replace(Ie,i).replace(Re,k));return p.length&&(n.query=p.join(`&`)),n}},Be=/^([^\:]+)\:(.*)/,Ve={scheme:`urn`,parse:function(e,t){var n=e.path&&e.path.match(Be),r=e;if(n){var i=t.scheme||r.scheme||`urn`,a=n[1].toLowerCase(),o=n[2],s=O[i+`:`+(t.nid||a)];r.nid=a,r.nss=o,r.path=void 0,s&&(r=s.parse(r,t))}else r.error=r.error||`URN can not be parsed.`;return r},serialize:function(e,t){var n=t.scheme||e.scheme||`urn`,r=e.nid,i=O[n+`:`+(t.nid||r)];i&&(e=i.serialize(e,t));var a=e,o=e.nss;return a.path=(r||t.nid)+`:`+o,a}},He=/^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/,Ue={scheme:`urn:uuid`,parse:function(e,t){var n=e;return n.uuid=n.nss,n.nss=void 0,!t.tolerant&&(!n.uuid||!n.uuid.match(He))&&(n.error=n.error||`UUID is not valid.`),n},serialize:function(e,t){var n=e;return n.nss=(e.uuid||``).toLowerCase(),n}};O[De.scheme]=De,O[Oe.scheme]=Oe,O[F.scheme]=F,O[I.scheme]=I,O[B.scheme]=B,O[Ve.scheme]=Ve,O[Ue.scheme]=Ue,e.SCHEMES=O,e.pctEncChar=k,e.pctDecChars=A,e.parse=me,e.removeDotSegments=be,e.serialize=P,e.resolveComponents=xe,e.resolve=Se,e.normalize=Ce,e.equal=we,e.escapeComponent=Te,e.unescapeComponent=Ee,Object.defineProperty(e,`__esModule`,{value:!0})}))}))();let Ee=/(#)+$/,De=/#$/,Oe=/^[^:]+:\/\/[^/]+\//,ke=/#.*$/;function F(e,t){return t==null?e?.replace(De,``)??`#`:e==null||e===`#`?t?.replace(De,``):t[0]===`#`?e[0]===`/`?t:`${e.replace(ke,``)}${t.replace(Ee,``)}`:Oe.test(t)?t.replace(De,``):(0,Te.resolve)(e,t??``)??`#`}function I(e,t,...n){if(t?.type===`error`)return t;if(e?.type===`error`||A(e)!==A(t))return e;let r=Ae(e,t);for(let e of n)delete r[e];return r}function Ae(e,t,n){if(j(e)&&j(t)){let n={};return[...Object.keys(e),...Object.keys(t)].filter((e,t,n)=>n.indexOf(e)===t).forEach(r=>n[r]=Ae(e[r],t[r],r)),n}let r=Array.isArray(e),i=Array.isArray(t);if(r&&i){if(n===`required`||n===`anyOf`)return e.concat(t).filter((e,t,n)=>n.indexOf(e)===t);if(n===`items`||n===`prefixItems`){let n=[];for(let r=0;r<t.length;r+=1)j(e[r])&&j(t[r])&&e[r].type===t[r].type?n[r]=Ae(e[r],t[r]):n.push(t[r]??e[r]);return n}let r=[],i=[];for(let n=0;n<Math.max(e.length,t.length);n+=1)j(e[n])&&j(t[n])?r[n]=Ae(e[n],t[n]):e[n]!==void 0&&t[n]!==void 0?(r[n]=e[n],i.push(t[n])):e[n]===void 0?t[n]!==void 0&&i.push(t[n]):r[n]=e[n];return[...r,...i].filter((e,t,n)=>n.indexOf(e)===t)}if(n===`type`&&(r||i)){if(r&&e.includes(t))return t;if(i&&t.includes(e))return e;if(r)return[...e,t];if(i)return[...t,e]}return i?t:r||t===void 0?e:t}function je(e,t){return(t.order??0)-(e.order??0)}function L(e,t,n){if(e==null||n.indexOf(e)!==t)return!1;let r=e.toJSON?.()??e.name;return n.find((e,n)=>(e.toJSON?.()??e.name)===r&&n===t)}function Me(e,t){if(e==null||t==null)return t||e;let n={};return[...Object.keys(e),...Object.keys(t)].filter((e,t,n)=>n.indexOf(e)===t).forEach(r=>{let i=R(e[r],t[r]);V(i)&&(n[r]=i)}),n}function Ne(e,t){return e==null||t==null?t||e:e.concat(t).filter((e,t,n)=>n.indexOf(e)===t)}function Pe(e,t){if(e==null||t==null)return e||t;let n=[...e],r=e.map(e=>e.node.evaluationPath);return t.forEach(e=>{r.includes(e.node.evaluationPath)||n.push(e)}),n}function R(e,t,...n){if(e==null||t==null)return e||t;let r={};e.items&&t.prefixItems||e.prefixItems&&t.items?t.prefixItems?r.prefixItems=t.prefixItems:r.items=t.items:(r.prefixItems=t.prefixItems??e.prefixItems,r.items=R(e.items,t.items));let i={...e,...t,...r,dynamicId:Je(e.dynamicId,t.dynamicId),oneOfIndex:e.oneOfIndex??t.oneOfIndex,schema:I(e.schema,t.schema,...n),parent:e.parent,resolvers:e.resolvers.concat(t.resolvers).filter(L).sort(je),reducers:e.reducers.concat(t.reducers).filter(L).sort(je),validators:e.validators.concat(t.validators).filter(L).sort(je),additionalProperties:R(e.additionalProperties,t.additionalProperties),contains:R(e.contains,t.contains),enum:Ne(e.enum,t.enum),if:R(e.if,t.if),then:R(e.then,t.then),else:R(e.else,t.else),not:R(e.not,t.not),propertyNames:R(e.propertyNames,t.propertyNames),unevaluatedProperties:R(e.unevaluatedProperties,t.unevaluatedProperties),unevaluatedItems:R(e.unevaluatedItems,t.unevaluatedItems),$defs:Me(e.$defs,t.$defs),patternProperties:Pe(e.patternProperties,t.patternProperties),properties:Me(e.properties,t.properties),required:Ne(e.required,t.required)};function a(e){let t=e.toJSON?.()??e.name;return i.schema?.[t]===void 0?(i[t]=void 0,!1):!0}return n?.forEach(e=>i[e]=void 0),i.resolvers=i.resolvers.filter(a),i.reducers=i.reducers.filter(a),i.validators=i.validators.filter(a),i}function Fe(e,...t){let n={};return Object.keys(e).forEach(r=>{t.includes(r)||(n[r]=e[r])}),n}function Ie(e,...t){if(!j(e)||t.length===0)return e;let n={};return t.forEach(t=>{e[t]!==void 0&&(n[t]=e[t])}),n}function Le(e,t={}){return e.replace(/\{\{(\w+)\}\}/g,(e,n)=>{let r=t[n];return r==null?``:typeof r==`object`?JSON.stringify(r):String(r)})}function z(e,t,n,r){if(W(e))return[e];r.push({pointer:n,node:e});let i=e.schema;if(i===!0)return[];if(i===!1)return[e.createError(`invalid-data-error`,{value:t,pointer:n,schema:e.schema})];let a=[];for(let i of e.validators){let o=i({node:e,data:t,pointer:n,path:r});Array.isArray(o)?a.push(...o):o&&a.push(o)}return D(a)}let Re=Object.prototype.hasOwnProperty,ze=(e,t)=>!(e[t]===void 0||!Re.call(e,t));function B(e,t){if(j(e)||Array.isArray(e))return e[t]}function Be(e,t,n={}){n.path=n.path??[],n.withSchemaWarning=n.withSchemaWarning??!1,n.pointer=n.pointer??`#`;let r=this,i=ye(e);if(i.length===0){let e=r.resolveRef(n);return W(e)?{node:void 0,error:e}:{node:e,error:void 0}}let a=`#`,o=r;for(let e=0,r=i.length;e<r;e+=1){a=`${a}/${i[e]}`;let r=o.getNodeChild(i[e],t,{...n,pointer:a});if(r.error||r.node==null)return r;o=r.node,t=B(t,i[e])}let{node:s,error:c}=o.resolveRef(n).reduceNode(t);return W(c)?{node:void 0,error:c}:V(s)?{node:s,error:void 0}:{error:void 0}}function Ve(e,t,n={}){n.path=n.path??[],n.withSchemaWarning=n.withSchemaWarning??!1,n.pointer=n.pointer??`#`;let{path:r,pointer:i}=n,a=this;if(a.reducers.length){let n=a.reduceNode(t,{key:e,path:r,pointer:i});if(n.error)return n;V(n.node)&&(a=n.node)}for(let n of a.resolvers){let o=n({data:t,key:e,node:a});if(W(o))return{node:void 0,error:o};if(V(o))return{node:o.resolveRef({pointer:i,path:r}),error:void 0}}return n.createSchema===!0?{node:a.compileSchema(a.createSchema(B(t,e)),`${a.evaluationPath}/additional`,`${a.schemaLocation}/additional`),error:void 0}:n.withSchemaWarning===!0?{node:void 0,error:a.createError(`schema-warning`,{pointer:i,value:t,schema:a.schema,key:e})}:{node:void 0}}let{DYNAMIC_PROPERTIES:He,REGEX_FLAGS:Ue,DECLARATOR_ONEOF:We,VALID_ANNOTATION_KEYWORDS:Ge}=O;function V(e){return j(e)&&Array.isArray(e?.reducers)&&Array.isArray(e?.resolvers)}function Ke(e){for(let t=0,n=He.length;t<n;t+=1)if(ze(e,He[t]))return!0;return!1}function qe(e,t){if(!Array.isArray(e)||e.length===0)throw Error(`Missing drafts in 'compileSchema({ $schema: "${t}" })'`);return e.length===1?e[0]:e.find(e=>new RegExp(e.$schemaRegEx,Ue).test(t))??e[e.length-1]}function Je(e,t){return e==t?e??``:e==null||t==null?(e||t)??``:e.startsWith(t)?e:t.startsWith(e)?t:`${e}+${t}`}let Ye={compileSchema(e,t,n,r){let i=this;t??=i.evaluationPath;let a=t.split(`/$ref`)[0],o={lastIdPointer:i.lastIdPointer,context:i.context,parent:i,evaluationPath:t,dynamicId:Je(i.dynamicId,r),schemaLocation:n??we(i.schemaLocation,a),reducers:[],resolvers:[],validators:[],schema:e,...Ye};return!H(e)&&!U(e)?(o.schemaValidation=[o.createError(`schema-error`,{pointer:n??t,schema:e,value:void 0,message:`JSON schema must be object or boolean - reveived: '${e}'`})],o):(o.schemaValidation=D(Qe(o).filter(e=>e!=null)),o)},createError(e,t,n){let r=this,i=n;if(i===void 0){let n=r.schema?.errorMessages?.[e]??r.context.errors[e];if(typeof n==`function`)return n(t);i=Le(n??name,t)}return{type:`error`,code:e,message:i,data:t}},createAnnotation(e,t,n){let r=this,i=n;if(i===void 0){let n=r.schema?.errorMessages?.[e]??r.context.errors[e];if(typeof n==`function`)return n(t);i=Le(n??name,t)}return{type:`annotation`,code:e,message:i,data:t}},createSchema:M,getChildSelection(e){let t=this;return t.context.methods.getChildSelection(t,e)},getNode:Be,getNodeChild:Ve,getNodeRef(e){return this.compileSchema({$ref:e},`$dynamic`).resolveRef()},getNodeRoot(){return this.context.rootNode},getDraftVersion(){return this.context.version},getData(e,t){let n=this,r={recursionLimit:1,...n.context.getDataDefaultOptions,cache:{},...t??{}};return n.context.methods.getData(n,e,r)},reduceNode(e,t={}){let n=this,{key:r=`missing-key`,pointer:i=n.evaluationPath,path:a}=t;if(n.schema===!1)return{node:n,error:void 0};if(n.schema===!0){let t=n.compileSchema(M(e),n.evaluationPath,n.schemaLocation);return a?.push({pointer:i,node:n}),{node:t,error:void 0}}let o,s=n.compileSchema(n.schema,n.evaluationPath,n.schemaLocation),c=n.reducers;for(let t of c){let c=t({data:e,key:r,node:n,pointer:i,path:a??[]});if(W(c))return{node:void 0,error:c};if(c){if(c.schema===!1){o=!1;break}s=R(s,c)}}return o===!1?{node:{...n,schema:!1,reducers:[]},error:void 0}:(s!==n&&a?.push({pointer:i,node:n}),s.schema=Fe(s.schema,We,...He),He.forEach(e=>s[e]=void 0),{node:s,error:void 0})},validate(e,t=`#`,n=[]){let r=this,i=z(r,e,t,n)??[],a=[],o=[],s=D(Array.isArray(i)?i:[i]).filter(W),c=[];return D(Array.isArray(i)?i:[i]).forEach(e=>{if(W(e)){if(r.context.throwOnInvalidRef&&e.code===`ref-error`){let t=Error(`Invalid $ref: `+e.message);throw t.data=a,t}a.push(e)}else e instanceof Promise?c.push(e.then(D)):tt(e)&&o.push(e)}),{valid:s.length===0,errors:a,annotations:o,errorsAsync:c}},addRemoteSchema(e,t){H(t)&&(t.$id=F(t.$id||e));let n=this,{context:r}=n,i=H(t)?n.context.draft??t.$schema:void 0,a=qe(r.drafts,i??r.rootNode.schema?.$schema),o={evaluationPath:`#`,lastIdPointer:`#`,schemaLocation:`#`,dynamicId:``,reducers:[],resolvers:[],validators:[],schema:t,context:{...r,refs:{},anchors:{},...E(Ie(a,`methods`,`keywords`,`version`,`formats`,`errors`))},...Ye};return o.context.rootNode=o,o.context.remotes[F(e)]=o,Qe(o),n},resolveRef(e){throw Error(`method 'resolveRef' is not implemented`)},toSchemaNodes(){return N(this)},toDataNodes(e,t){let n=this;return n.context.methods.toDataNodes(n,e,t)},toJSON(){let e=this;return{...e,context:void 0,errors:void 0,parent:e.parent?.evaluationPath}}},Xe=[`$ref`,`if`,`$defs`],Ze=[`draft-04`,`draft-06`,`draft-07`];function Qe(e){if(e.schema.$ref&&Ze.includes(e.context.version))return e.context.keywords.filter(({keyword:e})=>Xe.includes(e)).map(t=>$e(t,e));let t=Object.keys(e.schema),n=e.context.keywords.filter(({keyword:e})=>Xe.includes(e)||t.includes(e)).map(t=>$e(t,e));return t.filter(t=>!t.startsWith(`x-`)&&!Ge.includes(t)&&e.context.keywords.find(e=>e.keyword===t)==null).forEach(t=>{n.push(e.createAnnotation(`unknown-keyword-warning`,{pointer:`${e.schemaLocation}/${t}`,schema:e.schema,value:t,draft:e.getDraftVersion()}))}),n}function $e(e,t){let n=e.parse?.(t);return e.reduce&&e.addReduce?.(t)&&t.reducers.push(e.reduce),e.resolve&&e.addResolve?.(t)&&t.resolvers.push(e.resolve),e.validate&&e.addValidate?.(t)&&t.validators.push(e.validate),n}function H(e){return j(e)}function U(e){return typeof e==`boolean`}function et(e){return j(e)&&(e?.type&&e?.code&&e?.data)!=null}function tt(e){return j(e)&&e.type===`annotation`}function W(e){return j(e)&&e.type===`error`}function G(e){return typeof e==`number`}let nt=/(#)+$/g,rt=[``,null,`#`];function it(e){if(rt.includes(e))return[];if(e=e.replace(nt,``),e.indexOf(`#`)===-1)return[e.replace(/(#|\/)+$/g,``)];if(e.indexOf(`#`)===0)return[e.replace(nt,``)];let t=e.split(`#`);return t[0]=t[0].replace(/(#|\/)+$/g,``),t[1]=`#${t[1].replace(nt,``)}`,t}let at={id:`$ref`,keyword:`$ref`,order:10,parse:st,addReduce:e=>e.$ref!=null||e.schema.$dynamicRef!=null,reduce:ct,addValidate:({schema:e})=>e.$ref!=null||e.$dynamicRef!=null,validate:ut};function ot(e,t){e.context.refs[t]??(e.context.refs[t]=e)}function st(e){e.resolveRef=lt;let t=F(e.parent?.$id,e.schema?.$id);e.$id=t,e.lastIdPointer=e.parent?.lastIdPointer??`#`,t!==e.parent?.$id&&e.evaluationPath!==`#`&&(e.lastIdPointer=e.evaluationPath),e.lastIdPointer!==`#`&&e.evaluationPath.startsWith(e.lastIdPointer)&&ot(e,F(t,`#${e.evaluationPath.replace(e.lastIdPointer,``)}`)),ot(e,F(e.context.rootNode.$id,e.evaluationPath));let n=e.schema.$anchor;if(n){let r=`${t.replace(/#$/,``)}#${n}`;e.context.anchors[r]??(e.context.anchors[r]=e)}let r=e.schema.$dynamicAnchor;if(r){let n=`${t.replace(/#$/,``)}#${r}`;e.context.dynamicAnchors[n]??(e.context.dynamicAnchors[n]=e)}if(e.schema.$ref&&(e.$ref=F(t,e.schema.$ref),e.$ref.startsWith(`/`)&&(e.$ref=`#${e.$ref}`)),e.$ref?.startsWith(`#/$defs/`)&&be(e.getNodeRoot().schema,e.$ref)==null)return e.createError(`schema-error`,{pointer:`${e.schemaLocation}/$ref`,schema:e.schema,value:e.schema.$ref,message:`Invalid $ref to missing target '${e.schema.ref}'`})}function ct({node:e,data:t,key:n,pointer:r,path:i}){if(e==null)return;let a=e.resolveRef({pointer:r,path:i});if(a==null)return e.createError(`ref-error`,{ref:e.schema.$ref??e.schema.$dynamicRef,pointer:r,schema:e.schema,value:t});if(a.schemaLocation===e.schemaLocation)return a;let{node:o,error:s}=R(e,a).reduceNode(t,{key:n,pointer:r,path:i});return o??s}function lt({pointer:e,path:t=[]}={}){if(this.schema.$dynamicRef){let n=dt(this,t);return W(n)||t.push({pointer:e,node:n}),n}if(this.$ref==null)return this;let n=pt(this);return V(n)&&t.push({pointer:e,node:n}),n}function ut({node:e,data:t,pointer:n=`#`,path:r}){let i=e.resolveRef({pointer:n,path:r});return i==null?e.createError(`ref-error`,{ref:e.schema.$ref??e.schema.$dynamicRef,pointer:n,schema:e.schema,value:t}):z(i,t,n,r)}function dt(e,t){let n=t,r=F(e.$id,e.schema.$dynamicRef);if(e.context.dynamicAnchors[r]==null&&e.context.anchors[r])return ft(e.context.anchors[r],e);for(let t of n){if(t.node.schema.$dynamicAnchor)return ft(t.node,e);let n=e.schema.$dynamicRef.split(`#`).pop(),r=F(t.node.$id,`#${n}`);if(e.context.dynamicAnchors[r])return ft(e.context.dynamicAnchors[r],e)}return pt(e,r)}function ft(e,t){let n=e.schema;return j(e.schema)&&(n={...Fe(e.schema,`$id`),...Ie(t.schema,...O.PROPERTIES_TO_MERGE)}),e.compileSchema(n,`${t.evaluationPath}/$ref`,e.schemaLocation)}function pt(e,t=e?.$ref){if(t==null)return e;if(e.context.refs[t])return ft(e.context.refs[t],e);if(e.context.anchors[t])return ft(e.context.anchors[t],e);if(e.context.dynamicAnchors[t])return ft(e.context.dynamicAnchors[t],e);let n=it(t);if(n.length===0)return e.createError(`ref-error`,{ref:t,pointer:e.evaluationPath,schema:e.schema,value:void 0});if(n.length===1){let t=n[0];if(e.context.remotes[t])return ft(e.context.remotes[t],e);if(t[0]===`#`){let n=e.context.rootNode.schema,r=be(n,t);if(r)return e.compileSchema(r,`${e.evaluationPath}/$ref`,t)}return e.createError(`ref-error`,{ref:t,pointer:e.evaluationPath,schema:e.schema,value:void 0})}if(n.length===2){let r=n[0];if(e.context.remotes[r]&&e!==e.context.remotes[r]){let i=e.context.remotes[r],a=pt(i,t);if(a||(a=pt(i,n[1]),a))return a}if(e.context.refs[r]){let i=e.context.refs[r],a=ye(n[1]),o=i;for(let r of a)if(o=o[r===`definitions`?`$defs`:r],o==null)return e.createError(`ref-error`,{ref:t,pointer:e.evaluationPath,schema:e.schema,value:void 0,host:n[0],local:n[1]});return o}}return e.createError(`ref-error`,{ref:t,pointer:e.evaluationPath,schema:e.schema,value:void 0})}function K(e,...t){return t.reduce((e,t)=>(t.schemaValidation&&e.push(...t.schemaValidation),e),e)}let mt={id:`$defs`,keyword:`$defs`,parse:ht};function ht(e){let t=[];return e.schema.$defs&&(j(e.schema.$defs)?(e.$defs=e.$defs??{},Object.keys(e.schema.$defs).forEach(n=>{e.$defs[n]=e.compileSchema(e.schema.$defs[n],`${e.evaluationPath}/$defs/${gt(n)}`,`${e.schemaLocation}/$defs/${n}`),K(t,e.$defs[n])})):t.push(e.createError(`schema-error`,{pointer:e.schemaLocation,schema:e.schema,value:e.schema.$defs,message:`$defs must be an object - received: ${typeof e.schema.$defs}`}))),e.schema.definitions&&(j(e.schema.definitions)||t.push(e.createError(`schema-error`,{pointer:e.schemaLocation,schema:e.schema,value:e.schema.$defs,message:`definitions must be an object - received: ${typeof e.schema.definitions}`})),e.$defs=e.$defs??{},Object.keys(e.schema.definitions).forEach(n=>{e.$defs[n]=e.compileSchema(e.schema.definitions[n],`${e.evaluationPath}/definitions/${gt(n)}`,`${e.schemaLocation}/definitions/${gt(n)}`),K(t,e.$defs[n])})),t}function gt(e){return e=e.replace(/~/g,`~0`),e=e.replace(/\//g,`~1`),encodeURIComponent(e)}let _t={id:`$ref`,keyword:`$ref`,parse:vt,addValidate:({schema:e})=>e.$ref!=null,validate:yt};function vt(e){let t=e.parent?.$id;if(e.schema?.$ref??(t=F(e.parent?.$id,e.schema?.$id)),e.$id=t,e.lastIdPointer=e.parent?.lastIdPointer??`#`,e.resolveRef=lt,e.context.refs[t]??(e.context.refs[t]=e),t!==e.parent?.$id&&(e.lastIdPointer=e.evaluationPath),e.lastIdPointer!==`#`&&e.evaluationPath.startsWith(e.lastIdPointer)){let n=`#${e.evaluationPath.replace(e.lastIdPointer,``)}`;e.context.refs[F(t,n)]=e}else e.context.refs[F(t,e.evaluationPath)]=e;e.context.refs[F(e.context.rootNode.$id,e.evaluationPath)]=e,e.schema.$ref&&(e.$ref=F(t,e.schema.$ref))}function yt({node:e,data:t,pointer:n=`#`,path:r}){let i=bt(e,n,r);return V(i)?z(i,t,n,r):e.createError(`ref-error`,{ref:e.schema.$ref,pointer:n,schema:e.schema,value:t})}function bt(e,t,n){let r=e.resolveRef({pointer:t,path:n});return V(r)?r!==e&&r?bt(r,t,n):e:e.createError(`ref-error`,{ref:e.schema.$ref,pointer:t,schema:e.schema,value:void 0})}let xt={id:`$ref`,keyword:`$ref`,parse:Ct,addValidate:({schema:e})=>e.$ref!=null,validate:_t.validate};function St(e,t){e.context.refs[t]??(e.context.refs[t]=e)}function Ct(e){let t=e.parent?.$id;if(e.schema?.$ref==null&&e.schema?.id&&(t=F(e.parent?.$id,e.schema.id)),e.$id=t,e.lastIdPointer=e.parent?.lastIdPointer??`#`,e.resolveRef=wt,e.context.refs[t]??(e.context.refs[t]=e),t!==e.parent?.$id&&(e.lastIdPointer=e.evaluationPath),e.lastIdPointer!==`#`&&e.evaluationPath.startsWith(e.lastIdPointer)){let n=`#${e.evaluationPath.replace(e.lastIdPointer,``)}`;St(e,F(t,n))}else St(e,F(t,e.evaluationPath));St(e,F(e.context.rootNode.$id,e.evaluationPath)),e.schema.$ref&&(e.$ref=F(t,e.schema.$ref))}function wt({pointer:e,path:t}={}){if(this.$ref==null)return this;let n=Et(this);return V(n)&&t?.push({pointer:e,node:n}),n}function Tt(e,t=e.evaluationPath){let n=j(e.schema)?Fe(e.schema,`id`):e.schema;return e.compileSchema(n,`${t}/$ref`,n.schemaLocation)}function Et(e,t=e?.$ref){if(t==null)return e;if(e.context.refs[t])return Tt(e.context.refs[t],e.evaluationPath);if(e.context.anchors[t])return Tt(e.context.anchors[t],e.evaluationPath);let n=it(t);if(n.length===0)return e.createError(`ref-error`,{ref:t,pointer:e.evaluationPath,schema:e.schema,value:void 0});if(n.length===1){let t=n[0];return e.context.remotes[t]?Tt(e.context.remotes[t],e.evaluationPath):e.createError(`ref-error`,{ref:t,pointer:e.evaluationPath,schema:e.schema,value:void 0})}if(n.length===2){let r=n[0];if(e.context.remotes[r]&&e!==e.context.remotes[r]){let i=e.context.remotes[r],a=Et(i,t);if(a||(a=Et(i,n[1]),a))return a}let i=n[0];if(e.context.refs[i]){let t=e.context.refs[i],r=n[1].split(`$defs/`).pop();if(r&&t?.$defs)return Et(t.$defs[r])}return}return e.createError(`ref-error`,{ref:t,pointer:e.evaluationPath,schema:e.schema,value:void 0})}let Dt=`additionalItems`,Ot={id:Dt,keyword:Dt,order:-10,parse:kt,addResolve:e=>e.items!=null,resolve:At,addValidate:({schema:e})=>e[Dt]!=null&&e[Dt]!==!0&&Array.isArray(e.items),validate:jt};function kt(e){let{schema:t,evaluationPath:n,schemaLocation:r}=e;if(t.additionalItems==null||t.additionalItems===!1)return;let i=t[Dt];if(!(j(i)||i===!0))return e.createError(`schema-error`,{pointer:n,schema:t,value:void 0,message:`Keyword '${Dt}' must be an object or a boolean - received '${typeof i}'`});if(!Array.isArray(t.items))return e.createAnnotation(`schema-error`,{pointer:n,schema:t,value:void 0,message:`Keyword '${Dt}' is only evaluated with a given items-array`});e.items=e.compileSchema(t.additionalItems,`${n}/additionalItems`,`${r}/additionalItems`)}function At({node:e,key:t,data:n}){if(Array.isArray(n)){let r=B(n,t),{node:i,error:a}=e.items.reduceNode(r);return i??a}}function jt({node:e,data:t,pointer:n,path:r}){let{schema:i}=e;if(!Array.isArray(t)||t.length===0||Array.isArray(i.items)&&i.items.length>=t.length)return;let a=Array.isArray(i.items)?i.items.length:0,o=[];for(let s=a;s<t.length;s+=1){let a=t[s];if(e.items){let t=z(e.items,a,`${n}/${s}`,r);t&&o.push(...t)}else i.additionalItems===!1&&o.push(e.createError(`additional-items-error`,{key:s,pointer:`${n}/${s}`,value:t,schema:i}))}return o}let Mt={id:`additionalProperties`,keyword:`additionalProperties`,order:-10,parse:Nt,addResolve:({schema:e})=>e.additionalProperties!=null,resolve:Pt,addValidate:({schema:e})=>e.additionalProperties!==!0&&e.additionalProperties!=null&&!(e.additionalProperties===!1&&j(e.patternProperties)),validate:Ft};function Nt(e){let{schema:t,evaluationPath:n,schemaLocation:r}=e;if(!(t.additionalProperties==null||U(t.additionalProperties)))return j(t.additionalProperties)?(e.additionalProperties=e.compileSchema(t.additionalProperties,`${n}/additionalProperties`,`${r}/additionalProperties`),e.additionalProperties.schemaValidation):e.createError(`schema-error`,{pointer:e.schemaLocation,schema:t,value:t.additionalProperties,message:`keyword 'additionalProperties' must be a valid JSON Schema - receoved: ${typeof t.additionalProperties}`})}function Pt({node:e,data:t,key:n}){let r=B(t,n);if(e.additionalProperties){let{node:t,error:n}=e.additionalProperties.reduceNode(r);return t??n}if(e.schema.additionalProperties===!1)return e.createError(`no-additional-properties-error`,{pointer:`${n}`,schema:e.schema,value:B(t,n),property:`${n}`})}function Ft({node:e,data:t,pointer:n=`#`,path:r}){if(!j(t))return;let{schema:i}=e,a=[],o=Object.keys(t).filter(e=>O.propertyBlacklist.includes(e)===!1),s=e.patternProperties;Array.isArray(s)&&(o=o.filter(e=>{for(let t of s)if(t.pattern.test(e))return!1;return!0}));let c=e.properties?Object.keys(e.properties):[];return o.filter(e=>c.indexOf(e)===-1).forEach(o=>{let s=B(t,o);if(s!==void 0)if(j(e.additionalProperties)){let t=z(e.additionalProperties,s,`${n}/${o}`,r);t&&a.push(...t)}else a.push(e.createError(`no-additional-properties-error`,{pointer:`${n}/${o}`,schema:i,value:t,property:o,properties:c}))}),a}let q=`allOf`,It={id:q,keyword:q,parse:Lt,addReduce:e=>e[q]!=null,reduce:Rt,addValidate:e=>e[q]!=null,validate:zt};function Lt(e){let{schema:t,evaluationPath:n,schemaLocation:r}=e;if(t[q]!=null){if(!Array.isArray(t[q]))return e.createError(`schema-error`,{pointer:r,schema:t,value:t[q],message:`Keyword '${q}' must be an array - received '${typeof t[q]}'`});if(t[q].length!==0)return e[q]=t[q].map((t,i)=>e.compileSchema(t,`${n}/${q}/${i}`,`${r}/${q}/${i}`)),K([],...e[q])}}function Rt({node:e,data:t,key:n,pointer:r,path:i}){if(e[q]==null)return;let a={},o=``;for(let s=0;s<e[q].length;s+=1){let{node:c}=e[q][s].reduceNode(t,{key:n,pointer:r,path:i});if(c){let t=c.dynamicId?.replace(e.dynamicId,``)??``,n=t===``?`${q}/${s}`:t;o+=`${o===``?``:`,`}${n}`;let r=I(e[q][s].schema,c.schema);a=I(a,r,q,`contains`)}}return e.compileSchema(a,`${e.evaluationPath}/${o}`,e.schemaLocation,`${e.schemaLocation}(${o})`)}function zt({node:e,data:t,pointer:n,path:r}){if(!Array.isArray(e[q])||e[q].length===0)return;let i=[];return e[q].forEach(e=>{i.push(...z(e,t,n,r))}),i}let J=`anyOf`,Bt={id:J,keyword:J,parse:Vt,addReduce:e=>e[J]!=null,reduce:Ht,addValidate:e=>e[J]!=null,validate:Ut};function Vt(e){let{schema:t,evaluationPath:n,schemaLocation:r}=e;if(t[J]!=null){if(!Array.isArray(t[J]))return e.createError(`schema-error`,{pointer:r,schema:t,value:t[J],message:`Keyword '${J}' must be an array - received '${typeof t[J]}'`});if(t[J].length!==0)return e[J]=t[J].map((t,i)=>e.compileSchema(t,`${n}/${J}/${i}`,`${r}/${J}/${i}`)),K([],...e[J])}}function Ht({node:e,data:t,pointer:n,path:r}){if(e[J]==null)return;let i={},a=``;for(let o=0;o<e[J].length;o+=1)if(z(e[J][o],t,n,r).length===0){let{node:n}=e[J][o].reduceNode(t);if(n){let t=n.dynamicId?.replace(e.dynamicId,``)??``,r=t===``?`${J}/${o}`:t;a+=`${a===``?``:`,`}${r}`;let s=I(e[J][o].schema,n.schema);i=I(i,s,J)}}return e.compileSchema(i,`${e.evaluationPath}${a}`,e.schemaLocation,`${e.schemaLocation}(${a})`)}function Ut({node:e,data:t,pointer:n,path:r}){if(e[J]!=null){for(let i of e[J])if(z(i,t,n,r).length===0)return;return e.createError(`any-of-error`,{pointer:n,schema:e.schema,value:t,anyOf:e.schema[J]})}}let Y=`contains`,Wt={id:Y,keyword:Y,parse:Gt,addValidate:e=>e[Y]!=null,validate:Kt,addReduce:e=>e[Y]!=null,reduce:({node:e})=>e.compileSchema({items:{anyOf:[e[Y].schema]}},e.evaluationPath,e.schemaLocation)};function Gt(e){let t=e.schema[Y];if(t!=null)return H(t)||U(t)?(e[Y]=e.compileSchema(t,`${e.evaluationPath}/${Y}`),e[Y].schemaValidation):e.createError(`schema-error`,{pointer:`${e.schemaLocation}/${Y}`,schema:e.schema,value:t,message:`Keyword '${Y}' must be a valid JSON Schema - received '${typeof t}'`})}function Kt({node:e,data:t,pointer:n,path:r}){let{schema:i}=e;if(!Array.isArray(t))return;if(i.contains===!1)return e.createError(`contains-array-error`,{pointer:n,value:t,schema:i});if(i.contains===!0)return Array.isArray(t)&&t.length===0?e.createError(`contains-any-error`,{pointer:n,value:t,schema:i}):void 0;if(!j(i.contains)||!Array.isArray(t))return;let a=0;for(let i of t)z(e.contains,i,n,r).length===0&&a++;let o=i.maxContains??1/0,s=i.minContains??1;if(!(o>=a&&s<=a))return o<a?e.createError(`contains-max-error`,{pointer:n,schema:i,delta:a-o,value:t}):s>a?e.createError(`contains-min-error`,{pointer:n,schema:i,delta:s-a,value:t}):e.createError(`contains-error`,{pointer:n,schema:i,value:t})}function qt(e){return Array.isArray(e)&&e.find(e=>typeof e!=`string`)==null}let X=`dependentRequired`,Jt={id:X,keyword:X,parse:Yt