fontoxpath
Version:
A minimalistic XPath 3.1 engine in JavaScript
90 lines • 296 kB
JavaScript
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD
define(['xspattern', 'prsc'], factory);
} else if (typeof exports === 'object') {
// Node, CommonJS-like
module.exports = factory(require('xspattern'), require('prsc'));
} else {
// Browser globals (root is window)
// Maybe it is in scope:
root.fontoxpath = factory(root.xspattern, root.prsc);
}
})(this, function (xspattern, prsc) {
return (function (xspattern, prsc) {
const VERSION='3.34.0';
const fontoxpathGlobal = {};
function aa(a,b){if(!("0"!==a&&"-0"!==a||"0"!==b&&"-0"!==b))return 0;var c=/(?:\+|(-))?(\d+)?(?:\.(\d+))?/;a=c.exec(a+"");var d=c.exec(b+""),e=!a[1];const f=!d[1];b=(a[2]||"").replace(/^0*/,"");c=(d[2]||"").replace(/^0*/,"");a=a[3]||"";d=d[3]||"";if(e&&!f)return 1;if(!e&&f)return-1;e=e&&f;if(b.length>c.length)return e?1:-1;if(b.length<c.length)return e?-1:1;if(b>c)return e?1:-1;if(b<c)return e?-1:1;b=Math.max(a.length,d.length);c=a.padEnd(b,"0");b=d.padEnd(b,"0");return c>b?e?1:-1:c<b?e?-1:1:0};function ba(a,b){a=a.toString();if(-1<a.indexOf(".")&&0===b)return!1;a=/^[-+]?0*([1-9]\d*)?(?:\.((?:\d*[1-9])*)0*)?$/.exec(a);return a[2]?a[2].length<=b:!0}function ca(){return function(a,b){return 1>aa(a,b)}}function fa(){return function(a,b){return 0>aa(a,b)}}function ha(){return function(a,b){return-1<aa(a,b)}}function ia(){return function(a,b){return 0<aa(a,b)}}
function ja(a,b){switch(b){case "required":return/(Z)|([+-])([01]\d):([0-5]\d)$/.test(a.toString());case "prohibited":return!/(Z)|([+-])([01]\d):([0-5]\d)$/.test(a.toString());case "optional":return!0}}function ka(a){switch(a){case 1:case 0:case 6:case 3:return{};case 4:return{ja:ba,va:ca(),pc:fa(),wa:ha(),qc:ia()};case 18:return{};case 9:case 8:case 7:case 11:case 12:case 13:case 15:case 14:return{Ca:ja};case 22:case 21:case 20:case 23:case 44:return{};default:return null}}var la={},ma={};function na(a){return/^([+-]?(\d*(\.\d*)?([eE][+-]?\d*)?|INF)|NaN)$/.test(a)}function oa(a){return/^[_:A-Za-z][-._:A-Za-z0-9]*$/.test(a)}function pa(a){return oa(a)&&/^[_A-Za-z]([-._A-Za-z0-9])*$/.test(a)}function qa(a){a=a.split(":");return 1===a.length?pa(a[0]):2!==a.length?!1:pa(a[0])&&pa(a[1])}function ra(a){return!/[\u0009\u000A\u000D]/.test(a)}function sa(a){return pa(a)}
const ta=new Map([[45,function(){return!0}],[46,function(){return!0}],[1,function(){return!0}],[0,function(a){return/^(0|1|true|false)$/.test(a)}],[6,function(a){return na(a)}],[3,na],[4,function(a){return/^[+-]?\d*(\.\d*)?$/.test(a)}],[18,function(a){return/^(-)?P(\d+Y)?(\d+M)?(\d+D)?(T(\d+H)?(\d+M)?(\d+(\.\d*)?S)?)?$/.test(a)}],[9,function(a){return/^-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\.[0-9]+)?|(24:00:00(\.0+)?))(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$/.test(a)}],
[8,function(a){return/^(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\.[0-9]+)?|(24:00:00(\.0+)?))(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$/.test(a)}],[7,function(a){return/^-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$/.test(a)}],[11,function(a){return/^-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$/.test(a)}],[12,function(a){return/^-?([1-9][0-9]{3,}|0[0-9]{3})(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$/.test(a)}],
[13,function(a){return/^--(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$/.test(a)}],[15,function(a){return/^---(0[1-9]|[12][0-9]|3[01])(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$/.test(a)}],[14,function(a){return/^--(0[1-9]|1[0-2])(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$/.test(a)}],[22,function(a){return/^([0-9A-Fa-f]{2})*$/.test(a)}],[21,function(a){return(new RegExp(/^((([A-Za-z0-9+/] ?){4})*((([A-Za-z0-9+/] ?){3}[A-Za-z0-9+/])|(([A-Za-z0-9+/] ?){2}[AEIMQUYcgkosw048] ?=)|(([A-Za-z0-9+/] ?)[AQgw] ?= ?=)))?$/)).test(a)}],
[20,function(){return!0}],[44,qa],[48,ra],[52,function(a){return ra(a)&&!/^ | {2,}| $/.test(a)}],[51,function(a){return/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/.test(a)}],[50,function(a){return/^[-._:A-Za-z0-9]+$/.test(a)}],[25,oa],[23,qa],[24,pa],[42,sa],[41,sa],[26,function(a){return pa(a)}],[5,function(a){return/^[+-]?\d+$/.test(a)}],[16,function(a){return/^-?P[0-9]+(Y([0-9]+M)?|M)$/.test(a)}],[17,function(a){return/^-?P([0-9]+D)?(T([0-9]+H)?([0-9]+M)?([0-9]+(\.[0-9]+)?S)?)?$/.test(a)}]]);var ua=Object.create(null);
[{C:0,name:59},{C:0,name:46,parent:59,J:{whiteSpace:"preserve"}},{C:0,name:19,parent:46},{C:0,name:1,parent:46},{C:0,name:0,parent:46,J:{whiteSpace:"collapse"}},{C:0,name:4,parent:46,J:{whiteSpace:"collapse"}},{C:0,name:6,parent:46,J:{whiteSpace:"collapse"}},{C:0,name:3,parent:46,J:{whiteSpace:"collapse"}},{C:0,name:18,parent:46,J:{whiteSpace:"collapse"}},{C:0,name:9,parent:46,J:{Ca:"optional",whiteSpace:"collapse"}},{C:0,name:8,parent:46,J:{Ca:"optional",whiteSpace:"collapse"}},{C:0,name:7,parent:46,
J:{Ca:"optional",whiteSpace:"collapse"}},{C:0,name:11,parent:46,J:{Ca:"optional",whiteSpace:"collapse"}},{C:0,name:12,parent:46,J:{Ca:"optional",whiteSpace:"collapse"}},{C:0,name:13,parent:46,J:{Ca:"optional",whiteSpace:"collapse"}},{C:0,name:15,parent:46,J:{Ca:"optional",whiteSpace:"collapse"}},{C:0,name:14,parent:46,J:{Ca:"optional",whiteSpace:"collapse"}},{C:0,name:22,parent:46,J:{whiteSpace:"collapse"}},{C:0,name:21,parent:46,J:{whiteSpace:"collapse"}},{C:0,name:20,parent:46,J:{whiteSpace:"collapse"}},
{C:0,name:23,parent:46,J:{whiteSpace:"collapse"}},{C:0,name:44,parent:46,J:{whiteSpace:"collapse"}},{C:1,name:10,R:9,J:{whiteSpace:"collapse",Ca:"required"}},{C:1,name:48,R:1,J:{whiteSpace:"replace"}},{C:1,name:52,R:48,J:{whiteSpace:"collapse"}},{C:1,name:51,R:52,J:{whiteSpace:"collapse"}},{C:1,name:50,R:52,J:{whiteSpace:"collapse"}},{C:2,name:49,type:50,J:{minLength:1,whiteSpace:"collapse"}},{C:1,name:25,R:52,J:{whiteSpace:"collapse"}},{C:1,name:24,R:25,J:{whiteSpace:"collapse"}},{C:1,name:42,R:24,
J:{whiteSpace:"collapse"}},{C:1,name:41,R:24,J:{whiteSpace:"collapse"}},{C:2,name:43,type:41,J:{minLength:1,whiteSpace:"collapse"}},{C:1,name:26,R:24,J:{whiteSpace:"collapse"}},{C:2,name:40,type:26,J:{minLength:1,whiteSpace:"collapse"}},{C:0,name:5,parent:4,J:{ja:0,whiteSpace:"collapse"}},{C:1,name:27,R:5,J:{ja:0,va:"0",whiteSpace:"collapse"}},{C:1,name:28,R:27,J:{ja:0,va:"-1",whiteSpace:"collapse"}},{C:1,name:31,R:5,J:{ja:0,va:"9223372036854775807",wa:"-9223372036854775808",whiteSpace:"collapse"}},
{C:1,name:32,R:31,J:{ja:0,va:"2147483647",wa:"-2147483648",whiteSpace:"collapse"}},{C:1,name:33,R:32,J:{ja:0,va:"32767",wa:"-32768",whiteSpace:"collapse"}},{C:1,name:34,R:33,J:{ja:0,va:"127",wa:"-128",whiteSpace:"collapse"}},{C:1,name:30,R:5,J:{ja:0,wa:"0",whiteSpace:"collapse"}},{C:1,name:36,R:30,J:{ja:0,va:"18446744073709551615",wa:"0",whiteSpace:"collapse"}},{C:1,name:35,R:36,J:{ja:0,va:"4294967295",wa:"0",whiteSpace:"collapse"}},{C:1,name:38,R:35,J:{ja:0,va:"65535",wa:"0",whiteSpace:"collapse"}},
{C:1,name:37,R:38,J:{ja:0,va:"255",wa:"0",whiteSpace:"collapse"}},{C:1,name:29,R:30,J:{ja:0,wa:"1",whiteSpace:"collapse"}},{C:1,name:16,R:18,J:{whiteSpace:"collapse"}},{C:1,name:17,R:18,J:{whiteSpace:"collapse"}},{C:1,name:60,R:59},{C:3,name:39,Da:[]},{C:1,name:61,R:60},{C:1,name:62,R:60},{C:0,name:53,parent:59},{C:1,name:54,R:53},{C:1,name:58,R:53},{C:1,name:47,R:53},{C:1,name:56,R:53},{C:1,name:57,R:53},{C:1,name:55,R:53},{C:3,name:2,Da:[4,5,6,3]},{C:3,name:63,Da:[]}].forEach(a=>{const b=a.name,
c=a.J||{};switch(a.C){case 0:a=a.parent?ua[a.parent]:null;var d=ta.get(b)||null;ua[b]={C:0,type:b,La:c,parent:a,gb:d,Qa:ka(b),Da:[]};break;case 1:a=ua[a.R];d=ta.get(b)||null;ua[b]={C:1,type:b,La:c,parent:a,gb:d,Qa:a.Qa,Da:[]};break;case 2:ua[b]={C:2,type:b,La:c,parent:ua[a.type],gb:null,Qa:la,Da:[]};break;case 3:a=a.Da.map(e=>ua[e]),ua[b]={C:3,type:b,La:c,parent:null,gb:null,Qa:ma,Da:a}}});function g(a,b){if(!ua[b])throw Error("Unknown type");return{type:b,value:a}}var va=g(!0,0),wa=g(!1,0);var xa=(a="A wrong argument type was specified in a function call.")=>Error(`FORG0006: ${a}`);var ya=class{constructor(a,b){this.done=a;this.value=b}},p=new ya(!0);function q(a){return new ya(!1,a)};function za(a,b){if(3===b.C)return!!b.Da.find(c=>za(a,c));for(;a;){if(a.type===b.type)return!0;if(3===a.C)return!!a.Da.find(c=>v(c.type,b.type));a=a.parent}return!1}function v(a,b){return a===b?!0:za(ua[a],ua[b])};var Aa=class{constructor(a){this.o=w;this.h=a;let b=-1;this.value={next:()=>{b++;return b>=a.length?p:q(a[b])}}}hb(){return this}filter(a){let b=-1;return this.o.create({next:()=>{for(b++;b<this.h.length&&!a(this.h[b],b,this);)b++;return b>=this.h.length?p:q(this.h[b])}})}first(){return this.h[0]}N(){return this.h}ea(){if(v(this.h[0].type,53))return!0;throw xa("Cannot determine the effective boolean value of a sequence with a length higher than one.");}Ra(){return this.h.length}isEmpty(){return!1}oa(){return!1}map(a){let b=
-1;return this.o.create({next:()=>++b>=this.h.length?p:q(a(this.h[b],b,this))},this.h.length)}M(a){return a(this.h)}X(a){return a.multiple?a.multiple(this):a.default(this)}};var Ba=class{constructor(){this.value={next:()=>p}}hb(){return this}filter(){return this}first(){return null}N(){return[]}ea(){return!1}Ra(){return 0}isEmpty(){return!0}oa(){return!1}map(){return this}M(a){return a([])}X(a){return a.empty?a.empty(this):a.default(this)}};var Ca=class{constructor(a,b){this.type=a;this.value=b}};
const Da={[0]:"xs:boolean",[1]:"xs:string",[2]:"xs:numeric",[3]:"xs:double",[4]:"xs:decimal",[5]:"xs:integer",[6]:"xs:float",[7]:"xs:date",[8]:"xs:time",[9]:"xs:dateTime",[10]:"xs:dateTimeStamp",[11]:"xs:gYearMonth",[12]:"xs:gYear",[13]:"xs:gMonthDay",[14]:"xs:gMonth",[15]:"xs:gDay",[16]:"xs:yearMonthDuration",[17]:"xs:dayTimeDuration",[18]:"xs:duration",[19]:"xs:untypedAtomic",[20]:"xs:anyURI",[21]:"xs:base64Binary",[22]:"xs:hexBinary",[23]:"xs:QName",[24]:"xs:NCName",[25]:"xs:Name",[26]:"xs:ENTITY",
[27]:"xs:nonPositiveInteger",[28]:"xs:negativeInteger",[29]:"xs:positiveInteger",[30]:"xs:nonNegativeInteger",[31]:"xs:long",[32]:"xs:int",[33]:"xs:short",[34]:"xs:byte",[35]:"xs:unsignedInt",[36]:"xs:unsignedLong",[37]:"xs:unsignedByte",[38]:"xs:unsignedShort",[39]:"xs:error",[40]:"xs:ENTITIES",[41]:"xs:IDREF",[42]:"xs:ID",[43]:"xs:IDREFS",[44]:"xs:NOTATION",[45]:"xs:anySimpleType",[46]:"xs:anyAtomicType",[47]:"attribute()",[48]:"xs:normalizedString",[49]:"xs:NMTOKENS",[50]:"xs:NMTOKEN",[51]:"xs:language",
[52]:"xs:token",[53]:"node()",[54]:"element()",[55]:"document-node()",[56]:"text()",[57]:"processing-instruction()",[58]:"comment()",[59]:"item()",[60]:"function(*)",[61]:"map(*)",[62]:"array(*)",[63]:"none"},Ea={"xs:boolean":0,"xs:string":1,"xs:numeric":2,"xs:double":3,"xs:decimal":4,"xs:integer":5,"xs:float":6,"xs:date":7,"xs:time":8,"xs:dateTime":9,"xs:dateTimeStamp":10,"xs:gYearMonth":11,"xs:gYear":12,"xs:gMonthDay":13,"xs:gMonth":14,"xs:gDay":15,"xs:yearMonthDuration":16,"xs:dayTimeDuration":17,
"xs:duration":18,"xs:untypedAtomic":19,"xs:anyURI":20,"xs:base64Binary":21,"xs:hexBinary":22,"xs:QName":23,"xs:NCName":24,"xs:Name":25,"xs:ENTITY":26,"xs:nonPositiveInteger":27,"xs:negativeInteger":28,"xs:positiveInteger":29,"xs:nonNegativeInteger":30,"xs:long":31,"xs:int":32,"xs:short":33,"xs:byte":34,"xs:unsignedInt":35,"xs:unsignedLong":36,"xs:unsignedByte":37,"xs:unsignedShort":38,"xs:error":39,"xs:ENTITIES":40,"xs:IDREF":41,"xs:ID":42,"xs:IDREFS":43,"xs:NOTATION":44,"xs:anySimpleType":45,"xs:anyAtomicType":46,
"attribute()":47,"xs:normalizedString":48,"xs:NMTOKENS":49,"xs:NMTOKEN":50,"xs:language":51,"xs:token":52,"node()":53,"element()":54,"document-node()":55,"text()":56,"processing-instruction()":57,"comment()":58,"item()":59,"function(*)":60,"map(*)":61,"array(*)":62};function Ha(a){return 2===a.g?Da[a.type]+"*":1===a.g?Da[a.type]+"+":0===a.g?Da[a.type]+"?":Da[a.type]}
function Ia(a){if("none"===a)throw Error('XPST0051: The type "none" could not be found');if(!a.startsWith("xs:")&&0<=a.indexOf(":"))throw Error(`XPST0081: Invalid prefix for input ${a}`);const b=Ea[a];if(void 0===b)throw Error(`XPST0051: The type "${a}" could not be found`);return b}
function Ja(a){switch(a[a.length-1]){case "*":return{type:Ia(a.substr(0,a.length-1)),g:2};case "?":return{type:Ia(a.substr(0,a.length-1)),g:0};case "+":return{type:Ia(a.substr(0,a.length-1)),g:1};default:return{type:Ia(a),g:3}}}function Ka(a){switch(a){case "*":return 2;case "?":return 0;case "+":return 1;default:return 3}};function La(a){const b=a.value;if(v(a.type,53))return!0;if(v(a.type,0))return b;if(v(a.type,1)||v(a.type,20)||v(a.type,19))return 0!==b.length;if(v(a.type,2))return!isNaN(b)&&0!==b;throw xa(`Cannot determine the effective boolean value of a value with the type ${Da[a.type]}`);};function Ma(a,b=0){a.h=b}
var Na=class{constructor(a,b=null){this.D=w;this.value={next:c=>{if(null!==this.o&&this.h>=this.o)return p;if(void 0!==this.v[this.h])return q(this.v[this.h++]);c=a.next(c);if(c.done)return this.o=this.h,c;if(this.l||2>this.h)this.v[this.h]=c.value;this.h++;return c}};this.l=!1;this.v=[];this.h=0;this.o=b}hb(){return this.D.create(this.N())}filter(a){let b=-1;const c=this.value;return this.D.create({next:d=>{b++;for(d=c.next(d);!d.done&&!a(d.value,b,this);)b++,d=c.next(0);return d}})}first(){if(void 0!==
this.v[0])return this.v[0];const a=this.value.next(0);Ma(this);return a.done?null:a.value}N(){if(this.h>this.v.length&&this.o!==this.v.length)throw Error("Implementation error: Sequence Iterator has progressed.");const a=this.value;this.l=!0;let b=a.next(0);for(;!b.done;)b=a.next(0);return this.v}ea(){const a=this.value,b=this.h;Ma(this);var c=a.next(0);if(c.done)return Ma(this,b),!1;c=c.value;if(v(c.type,53))return Ma(this,b),!0;if(!a.next(0).done)throw xa("Cannot determine the effective boolean value of a sequence with a length higher than one.");
Ma(this,b);return La(c)}Ra(a=!1){if(null!==this.o)return this.o;if(a)return-1;a=this.h;const b=this.N().length;Ma(this,a);return b}isEmpty(){return 0===this.o?!0:null===this.first()}oa(){if(null!==this.o)return 1===this.o;var a=this.value;const b=this.h;Ma(this);if(a.next(0).done)return Ma(this,b),!1;a=a.next(0);Ma(this,b);return a.done}map(a){let b=0;const c=this.value;return this.D.create({next:d=>{d=c.next(d);return d.done?p:q(a(d.value,b++,this))}},this.o)}M(a,b){const c=this.value;let d;const e=
[];let f=!0;(function(){for(let h=c.next(f?0:b);!h.done;h=c.next(b))f=!1,e.push(h.value);d=a(e).value})();return this.D.create({next:()=>d.next(0)})}X(a){let b=null;const c=d=>{b=d.value;d=d.Ra(!0);-1!==d&&(this.o=d)};return this.D.create({next:d=>{if(b)return b.next(d);if(this.isEmpty())return c(a.empty?a.empty(this):a.default(this)),b.next(d);if(this.oa())return c(a.m?a.m(this):a.default(this)),b.next(d);c(a.multiple?a.multiple(this):a.default(this));return b.next(d)}})}};var Oa=class{constructor(a){this.v=w;this.h=a;let b=!1;this.value={next:()=>{if(b)return p;b=!0;return q(a)}};this.o=null}hb(){return this}filter(a){return a(this.h,0,this)?this:this.v.create()}first(){return this.h}N(){return[this.h]}ea(){null===this.o&&(this.o=La(this.h));return this.o}Ra(){return 1}isEmpty(){return!1}oa(){return!0}map(a){return this.v.create(a(this.h,0,this))}M(a){return a([this.h])}X(a){return a.m?a.m(this):a.default(this)}};const Pa=new Ba;function Qa(a=null,b=null){if(null===a)return Pa;if(Array.isArray(a))switch(a.length){case 0:return Pa;case 1:return new Oa(a[0]);default:return new Aa(a)}return a.next?new Na(a,b):new Oa(a)}var w={create:Qa,m:a=>new Oa(a),empty:()=>Qa(),$:()=>Qa(va),S:()=>Qa(wa)};function Ra(a){const b=[],c=a.value;return()=>{let d=0;return w.create({next:()=>{if(void 0!==b[d])return b[d++];const e=c.next(0);return e.done?e:b[d++]=e}})}};var Sa=class{constructor(a,b,c){this.namespaceURI=b||null;this.prefix=a||"";this.localName=c}Aa(){return this.prefix?this.prefix+":"+this.localName:this.localName}};function Ta(a,b){const c=a.value,d=b.map(e=>null===e?null:Ra(e));b=b.reduce((e,f,h)=>{null===f&&e.push(a.o[h]);return e},[]);b=new Va({j:b,arity:b.length,bb:!0,H:a.H,localName:"boundFunction",namespaceURI:a.l,i:a.s,value:function(e,f,h){const k=Array.from(arguments).slice(3),l=d.map(n=>null===n?k.shift():n());return c.apply(void 0,[e,f,h].concat(l))}});return w.m(b)}
var Va=class extends Ca{constructor({j:a,arity:b,bb:c=!1,H:d=!1,localName:e,namespaceURI:f,i:h,value:k}){super(60,null);this.value=k;this.H=d;d=-1;for(k=0;k<a.length;k++)4===a[k]&&(d=k);-1<d&&(k=Array(b-(a.length-1)).fill(a[d-1]),a=a.slice(0,d).concat(k));this.o=a;this.v=b;this.ha=c;this.D=e;this.l=f;this.s=h}bb(){return this.ha}};function Wa(a,b){const c=[];2!==a&&1!==a||c.push("type-1-or-type-2");c.push(`type-${a}`);b&&c.push(`name-${b}`);return c}function Xa(a){const b=a.node.nodeType;let c;if(2===b||1===b)c=a.node.localName;return Wa(b,c)}function Ya(a){let b=a.nodeType;4===b&&(b=3);let c;if(2===b||1===b)c=a.localName;return Wa(b,c)};var Za=class{getAllAttributes(a,b=null){if(1!==a.nodeType)return[];a=Array.from(a.attributes);return null===b?a:a.filter(c=>Ya(c).includes(b))}getAttribute(a,b){return 1!==a.nodeType?null:a.getAttribute(b)}getChildNodes(a,b=null){a=Array.from(a.childNodes);return null===b?a:a.filter(c=>Ya(c).includes(b))}getData(a){return 2===a.nodeType?a.value:a.data}getFirstChild(a,b=null){for(a=a.firstChild;a;a=a.nextSibling)if(null===b||Ya(a).includes(b))return a;return null}getLastChild(a,b=null){for(a=a.lastChild;a;a=
a.previousSibling)if(null===b||Ya(a).includes(b))return a;return null}getNextSibling(a,b=null){for(a=a.nextSibling;a;a=a.nextSibling)if(null===b||Ya(a).includes(b))return a;return null}getParentNode(a,b=null){return(a=2===a.nodeType?a.ownerElement:a.parentNode)?null===b||Ya(a).includes(b)?a:null:null}getPreviousSibling(a,b=null){for(a=a.previousSibling;a;a=a.previousSibling)if(null===b||Ya(a).includes(b))return a;return null}};class $a{insertBefore(a,b,c){return a.insertBefore(b,c)}removeAttributeNS(a,b,c){return a.removeAttributeNS(b,c)}removeChild(a,b){return a.removeChild(b)}setAttributeNS(a,b,c,d){a.setAttributeNS(b,c,d)}setData(a,b){a.data=b}}var ab=new $a;class bb{constructor(a){this.h=a}insertBefore(a,b,c){return this.h.insertBefore(a,b,c)}removeAttributeNS(a,b,c){return this.h.removeAttributeNS(a,b,c)}removeChild(a,b){return this.h.removeChild(a,b)}setAttributeNS(a,b,c,d){this.h.setAttributeNS(a,b,c,d)}setData(a,b){this.h.setData(a,b)}};function cb(a){return void 0!==a.Ta};function db(a,b,c){let d=null;b&&(cb(b.node)?d={F:b.F,offset:c,parent:b.node}:b.F&&(d=b.F));return{node:a,F:d}}function eb(a,b,c=null){return a.getAllAttributes(b.node,c).map(d=>db(d,b,d.nodeName))}function fb(a,b,c){b=b.node;return cb(b)?(a=b.attributes.find(d=>c===d.name))?a.value:null:(a=a.h.getAttribute(b,c))?a:null}function gb(a,b,c=null){return a.getChildNodes(b.node,c).map((d,e)=>db(d,b,e))}function hb(a,b){return a.getData(b.node)}
function ib(a,b,c=null){const d=b.node;cb(d)?a=d.childNodes[0]:((c=a.h.getFirstChild(d,c))&&10===c.nodeType&&(c=a.h.getNextSibling(c)),a=c);return a?db(a,b,0):null}function lb(a,b,c=null){var d=b.node;cb(d)?(a=d.childNodes.length-1,d=d.childNodes[a]):((d=a.h.getLastChild(d,c))&&10===d.nodeType&&(d=a.h.getPreviousSibling(d)),a=a.getChildNodes(b.node,c).length-1);return d?db(d,b,a):null}
function x(a,b,c=null){const d=b.node,e=b.F;if(e)"number"===typeof e.offset&&d===e.parent.childNodes[e.offset]||"string"===typeof e.offset&&d===e.parent.attributes.find(f=>e.offset===f.nodeName)?(a=e.parent,b=e.F):(a=a.getParentNode(d,c),b=e);else{if(cb(d))return null;a=a.getParentNode(d,c);b=null}return a?{node:a,F:b}:null}
function mb(a,b,c=null){const d=b.node;let e,f,h;const k=b.F;if(cb(d))k&&(h=k.offset+1,e=k.parent.childNodes[h]);else if(k)h=k.offset+1,f=x(a,b,null),e=a.getChildNodes(f.node,c)[h];else{for(e=d;e&&(!(e=a.h.getNextSibling(e,c))||10===e.nodeType););return e?{node:e,F:null}:null}return e?db(e,f||x(a,b,c),h):null}
function nb(a,b,c=null){const d=b.node;let e,f;const h=b.F;let k;if(cb(d))h&&(k=h.offset-1,e=h.parent.childNodes[k]);else if(h)k=h.offset-1,f=x(a,b,null),e=a.getChildNodes(f.node,c)[k];else{for(e=d;e&&(!(e=a.h.getPreviousSibling(e,c))||10===e.nodeType););return e?{node:e,F:null}:null}return e?db(e,f||x(a,b,c),k):null}
var ob=class{constructor(a){this.h=a;this.o=[]}getAllAttributes(a,b=null){return cb(a)?a.attributes:this.h.getAllAttributes(a,b)}getChildNodes(a,b=null){b=cb(a)?a.childNodes:this.h.getChildNodes(a,b);return 9===a.nodeType?b.filter(c=>10!==c.nodeType):b}getData(a){return cb(a)?2===a.nodeType?a.value:a.data:this.h.getData(a)||""}getParentNode(a,b=null){return this.h.getParentNode(a,b)}};var pb=(a,b,c,d,e)=>e.M(([f])=>d.M(([h])=>{const k=f.value;if(0>=k||k>h.members.length)throw Error("FOAY0001: array position out of bounds.");return h.members[k-1]()}));var qb=class extends Va{constructor(a){super({value:(b,c,d,e)=>pb(b,c,d,w.m(this),e),localName:"get",namespaceURI:"http://www.w3.org/2005/xpath-functions/array",j:[{type:5,g:3}],arity:1,i:{type:59,g:2}});this.type=62;this.members=a}};function rb(a){switch(a.node.nodeType){case 2:return 47;case 1:return 54;case 3:case 4:return 56;case 7:return 57;case 8:return 58;case 9:return 55;default:return 53}}function sb(a){return{type:rb(a),value:a}};function tb(a,b){a=a.map(c=>c.first());return b(a)};function ub(a,b){var c=v(a.type,1)||v(a.type,20)||v(a.type,19),d=v(b.type,1)||v(b.type,20)||v(b.type,19);if(c&&d)return a.value===b.value;c=v(a.type,4)||v(a.type,3)||v(a.type,6);d=v(b.type,4)||v(b.type,3)||v(b.type,6);if(c&&d)return isNaN(a.value)&&isNaN(b.value)?!0:a.value===b.value;c=v(a.type,0)||v(a.type,22)||v(a.type,18)||v(a.type,23)||v(a.type,44);d=v(b.type,0)||v(b.type,22)||v(b.type,18)||v(b.type,23)||v(b.type,44);return c&&d?a.value===b.value:!1};var vb=(a,b,c,d,e)=>tb([d,e],([f,h])=>(f=f.h.find(k=>ub(k.key,h)))?f.value():w.empty());var wb=class extends Va{constructor(a){super({j:[{type:59,g:3}],arity:1,localName:"get",namespaceURI:"http://www.w3.org/2005/xpath-functions/map",value:(b,c,d,e)=>vb(b,c,d,w.m(this),e),i:{type:59,g:2}});this.type=61;this.h=a}};var xb=class{equals(a){return this.o()===a.o()&&this.v()===a.v()}Za(){return 0}getHours(){return 0}getMinutes(){return 0}$a(){return 0}o(){return 0}v(){return 0}getSeconds(){return 0}ab(){return 0}na(){return!0}h(){return this}};function yb(a){var b=Math.abs(a.Za()),c=Math.abs(a.getHours());const d=Math.abs(a.getMinutes());a=Math.abs(a.getSeconds());b=`${b?`${b}D`:""}`;c=(c?`${c}H`:"")+(d?`${d}M`:"")+(a?`${a}S`:"");return b&&c?`${b}T${c}`:b?b:c?`T${c}`:"T0S"}
var zb=class extends xb{constructor(a){super();if(a>Number.MAX_SAFE_INTEGER||a<Number.MIN_SAFE_INTEGER)throw Error("FODT0002: Number of seconds given to construct DayTimeDuration overflows MAX_SAFE_INTEGER or MIN_SAFE_INTEGER");this.ba=a}Za(){return Math.trunc(this.ba/86400)}getHours(){return Math.trunc(this.ba%86400/3600)}getMinutes(){return Math.trunc(this.ba%3600/60)}v(){return this.ba}getSeconds(){const a=this.ba%60;return Object.is(-0,a)?0:a}na(){return Object.is(-0,this.ba)?!1:0<=this.ba}h(){return new this.constructor(-this.ba)}toString(){return(this.na()?
"P":"-P")+yb(this)}},Ab=(a,b,c,d,e,f)=>{a=86400*a+3600*b+60*c+d+e;return new zb(f||0===a?a:-a)},Bb=a=>(a=/^(-)?P(\d+Y)?(\d+M)?(\d+D)?(?:T(\d+H)?(\d+M)?(\d+(\.\d*)?S)?)?$/.exec(a))?Ab(a[4]?parseInt(a[4],10):0,a[5]?parseInt(a[5],10):0,a[6]?parseInt(a[6],10):0,a[7]?parseInt(a[7],10):0,a[8]?parseFloat(a[8]):0,!a[1]):null,Cb=a=>{a=/^(Z)|([+-])([01]\d):([0-5]\d)$/.exec(a);return"Z"===a[1]?Ab(0,0,0,0,0,!0):Ab(0,a[3]?parseInt(a[3],10):0,a[4]?parseInt(a[4],10):0,0,0,"+"===a[2])};
function Db(a,b){if(isNaN(b))throw Error("FOCA0005: Cannot multiply xs:dayTimeDuration by NaN");a=a.ba*b;if(a>Number.MAX_SAFE_INTEGER||!Number.isFinite(a))throw Error("FODT0002: Value overflow while multiplying xs:dayTimeDuration");return new zb(a<Number.MIN_SAFE_INTEGER||Object.is(-0,a)?0:a)};function Eb(a){return a?parseInt(a,10):null}function Fb(a){a+="";const b=a.startsWith("-");b&&(a=a.substring(1));return(b?"-":"")+a.padStart(4,"0")}function Gb(a){return(a+"").padStart(2,"0")}function Ib(a){a+="";1===a.split(".")[0].length&&(a=a.padStart(a.length+1,"0"));return a}function Jb(a){return 0===a.getHours()&&0===a.getMinutes()?"Z":(a.na()?"+":"-")+Gb(Math.abs(a.getHours()))+":"+Gb(Math.abs(a.getMinutes()))}
function Kb(a){var b=/^(?:(-?\d{4,}))?(?:--?(\d\d))?(?:-{1,3}(\d\d))?(T)?(?:(\d\d):(\d\d):(\d\d))?(\.\d+)?(Z|(?:[+-]\d\d:\d\d))?$/.exec(a);a=b[1]?parseInt(b[1],10):null;const c=Eb(b[2]),d=Eb(b[3]),e=b[4],f=Eb(b[5]),h=Eb(b[6]),k=Eb(b[7]),l=b[8]?parseFloat(b[8]):0;b=b[9]?Cb(b[9]):null;if(a&&(-271821>a||273860<a))throw Error("FODT0001: Datetime year is out of bounds");return e?new Lb(a,c,d,f,h,k,l,b,9):null!==f&&null!==h&&null!==k?new Lb(1972,12,31,f,h,k,l,b,8):null!==a&&null!==c&&null!==d?new Lb(a,
c,d,0,0,0,0,b,7):null!==a&&null!==c?new Lb(a,c,1,0,0,0,0,b,11):null!==c&&null!==d?new Lb(1972,c,d,0,0,0,0,b,13):null!==a?new Lb(a,1,1,0,0,0,0,b,12):null!==c?new Lb(1972,c,1,0,0,0,0,b,14):new Lb(1972,12,d,0,0,0,0,b,15)}
function Mb(a,b){switch(b){case 15:return new Lb(1972,12,a.o,0,0,0,0,a.W,15);case 14:return new Lb(1972,a.h,1,0,0,0,0,a.W,14);case 12:return new Lb(a.v,1,1,0,0,0,0,a.W,12);case 13:return new Lb(1972,a.h,a.o,0,0,0,0,a.W,13);case 11:return new Lb(a.v,a.h,1,0,0,0,0,a.W,11);case 8:return new Lb(1972,12,31,a.l,a.s,a.D,a.ma,a.W,8);case 7:return new Lb(a.v,a.h,a.o,0,0,0,0,a.W,7);default:return new Lb(a.v,a.h,a.o,a.l,a.s,a.D,a.ma,a.W,9)}}
function Nb(a,b){b=a.W||b||Cb("Z");return new Date(Date.UTC(a.v,a.h-1,a.o,a.l-b.getHours(),a.s-b.getMinutes(),a.D,1E3*a.ma))}
var Lb=class{constructor(a,b,c,d,e,f,h,k,l=9){this.v=a;this.h=b;this.o=c+(24===d?1:0);this.l=24===d?0:d;this.s=e;this.D=f;this.ma=h;this.W=k;this.type=l}getDay(){return this.o}getHours(){return this.l}getMinutes(){return this.s}getMonth(){return this.h}getSeconds(){return this.D}getYear(){return this.v}toString(){switch(this.type){case 9:return Fb(this.v)+"-"+Gb(this.h)+"-"+Gb(this.o)+"T"+Gb(this.l)+":"+Gb(this.s)+":"+Ib(this.D+this.ma)+(this.W?Jb(this.W):"");case 7:return Fb(this.v)+"-"+Gb(this.h)+
"-"+Gb(this.o)+(this.W?Jb(this.W):"");case 8:return Gb(this.l)+":"+Gb(this.s)+":"+Ib(this.D+this.ma)+(this.W?Jb(this.W):"");case 15:return"---"+Gb(this.o)+(this.W?Jb(this.W):"");case 14:return"--"+Gb(this.h)+(this.W?Jb(this.W):"");case 13:return"--"+Gb(this.h)+"-"+Gb(this.o)+(this.W?Jb(this.W):"");case 12:return Fb(this.v)+(this.W?Jb(this.W):"");case 11:return Fb(this.v)+"-"+Gb(this.h)+(this.W?Jb(this.W):"")}throw Error("Unexpected subType");}};
function Ob(a,b,c){const d=Nb(a,c).getTime();c=Nb(b,c).getTime();return d===c?a.ma===b.ma?0:a.ma>b.ma?1:-1:d>c?1:-1}function Pb(a,b,c){return 0===Ob(a,b,c)}function Qb(a,b,c){a=(Nb(a,c).getTime()-Nb(b,c).getTime())/1E3;return new zb(a)}
function Rb(a,b){function c(y,F){return 2===F?0===y%4&&0!==y%100||0===y%400?29:28:[4,6,9,11].includes(F)?30:31}const d=a.W;let e=a.getYear(),f=a.getMonth(),h=a.getDay(),k=a.getHours(),l=a.getMinutes(),n=a.getSeconds();const t=a.ma;e+=b.ab();for(f+=b.$a();12<f;)f-=12,e+=1;for(;1>f;)f+=12,--e;var u=c(a.getYear(),a.getMonth());u=a.getDay()===u;const z=c(e,f);u&&(h=z);h+=b.Za();k+=b.getHours();l+=b.getMinutes();n+=b.getSeconds();60<=n?(l+=Math.floor(n/60),n%=60):0>n&&(l-=Math.ceil(Math.abs(n)/60),n=(n%
60+60)%60);60<=l?(k+=Math.floor(l/60),l%=60):0>l&&(k-=Math.ceil(Math.abs(l)/60),l=(l%60+60)%60);24<=k?(h+=Math.floor(k/24),k%=24):0>k&&(h-=Math.ceil(Math.abs(k)/24),k=(k%24+24)%24);for(;h>c(e,f);)h-=c(e,f),f+=1;for(;1>h;)--f,h+=c(e,f);for(;12<f;)f-=12,e+=1;for(;1>f;)f+=12,--e;return new Lb(e,f,h,k,l,n,t,d,a.type)}function Sb(a,b){return Rb(a,b)}function Tb(a,b){return Rb(a,b.h())};function Ub(a,b){if(null===a)return null;switch(typeof a){case "boolean":return a?va:wa;case "number":return g(a,3);case "string":return g(a,1);case "object":if("nodeType"in a)return sb({node:a,F:null});if(Array.isArray(a))return new qb(a.map(c=>{if(void 0===c)return()=>w.empty();c=Ub(c,b);c=null===c?w.empty():w.m(c);return Ra(c)}));if(a instanceof Date){const c=Kb(a.toISOString());return g(c,c.type)}return new wb(Object.keys(a).filter(c=>void 0!==a[c]).map(c=>{var d=Ub(a[c],b);d=null===d?w.empty():
w.m(d);return{key:g(c,1),value:Ra(d)}}))}throw Error(`Value ${String(a)} of type "${typeof a}" is not adaptable to an XPath value.`);}function Vb(a,b){if("number"!==typeof a&&("string"!==typeof a||!ta.get(b)(a)))throw Error(`Cannot convert JavaScript value '${a}' to the XPath type ${Da[b]} since it is not valid.`);}
function Wb(a,b,c){if(null===b)return null;switch(a){case 0:return b?va:wa;case 1:return g(b+"",1);case 3:case 2:return Vb(b,3),g(+b,3);case 4:return Vb(b,a),g(+b,4);case 5:return Vb(b,a),g(b|0,5);case 6:return Vb(b,a),g(+b,6);case 7:case 8:case 9:case 11:case 12:case 13:case 14:case 15:if(!(b instanceof Date))throw Error(`The JavaScript value ${b} with type ${typeof b} is not a valid type to be converted to an XPath ${Da[a]}.`);return g(Mb(Kb(b.toISOString()),a),a);case 53:case 47:case 55:case 54:case 56:case 57:case 58:if("object"!==
typeof b||!("nodeType"in b))throw Error(`The JavaScript value ${b} with type ${typeof b} is not a valid type to be converted to an XPath ${Da[a]}.`);return sb({node:b,F:null});case 59:return Ub(b,c);case 61:return Ub(b,c);default:throw Error(`Values of the type "${Da[a]}" can not be adapted from JavaScript to equivalent XPath values.`);}}
function Xb(a,b,c){if(0===c.g)return b=Wb(c.type,b,a),null===b?[]:[b];if(2===c.g||1===c.g){if(!Array.isArray(b))throw Error(`The JavaScript value ${b} should be an array if it is to be converted to ${Ha(c)}.`);return b.map(e=>Wb(c.type,e,a)).filter(e=>null!==e)}const d=Wb(c.type,b,a);if(null===d)throw Error(`The JavaScript value ${b} should be a single entry if it is to be converted to ${Ha(c)}.`);return[d]}function Yb(a,b,c={type:59,g:0}){return w.create(Xb(a,b,c))};var bc=class{constructor(){this.h=Math.abs(Math.floor(Math.random()*ac)%ac)}},ac=2**32;function cc(a,b,c,d){return new dc({L:c,Ba:b,sa:d||a.sa,qa:a.qa},a.h,a.o)}function ec(a,b){let c=0;const d=b.value;return{next:e=>{e=d.next(e);return e.done?p:q(cc(a,c++,e.value,b))}}}function fc(a){a.h.ib||(a.h.ib=!0,a.h.qb=Kb((new Date).toISOString()),a.h.vb=Bb("PT0S"));return a.h.qb}function gc(a){a.h.ib||(a.h.ib=!0,a.h.qb=Kb((new Date).toISOString()),a.h.vb=Bb("PT0S"));return a.h.vb}function hc(a,b=null){a=29421*(null!==b&&void 0!==b?b:a.o.h)%ac;return{rb:Math.floor(a),bc:a/ac}}
function ic(a,b){return new dc({L:a.L,Ba:a.Ba,sa:a.sa,qa:Object.assign(Object.create(null),a.qa,b)},a.h,a.o)}var dc=class{constructor(a,b={qb:null,vb:null,ib:!1},c=new bc){this.h=b;this.Ba=a.Ba;this.sa=a.sa;this.L=a.L;this.qa=a.qa||Object.create(null);this.o=c}};var jc=class{constructor(a,b,c,d,e,f,h,k,l){this.debug=a;this.Ha=b;this.h=c;this.Ja=d;this.Oa=e;this.o=f;this.v=h;this.jb=k;this.Wa=l}};function kc(a){let b=0,c=null,d=!0;return w.create({next:e=>{for(;b<a.length;){c||(c=a[b].value,d=!0);const f=c.next(d?0:e);d=!1;if(f.done)b++,c=null;else return f}return p}})};var lc=(a,b,c)=>Error(`FORG0001: Cannot cast ${a} to ${Da[b]}${c?`, ${c}`:""}`),mc=a=>Error(`XPDY0002: ${a}`),nc=a=>Error(`XPTY0004: ${a}`),oc=a=>Error(`FOTY0013: Atomization is not supported for ${Da[a]}.`),pc=a=>Error(`XPST0081: The prefix ${a} could not be resolved.`);function qc(a,b){if(v(a.type,46)||v(a.type,19)||v(a.type,0)||v(a.type,4)||v(a.type,3)||v(a.type,6)||v(a.type,5)||v(a.type,2)||v(a.type,23)||v(a.type,1))return w.create(a);const c=b.h;if(v(a.type,53)){const d=a.value;if(2===d.node.nodeType||3===d.node.nodeType)return w.create(g(hb(c,d),19));if(8===d.node.nodeType||7===d.node.nodeType)return w.create(g(hb(c,d),1));const e=[];(function k(h){if(8!==d.node.nodeType&&7!==d.node.nodeType){var l=h.nodeType;3===l||4===l?e.push(c.getData(h)):1!==l&&9!==l&&
11!==l||c.getChildNodes(h).forEach(n=>{k(n)})}})(d.node);return w.create(g(e.join(""),19))}if(v(a.type,60)&&!v(a.type,62))throw oc(a.type);if(v(a.type,62))return kc(a.members.map(d=>rc(d(),b)));throw Error(`Atomizing ${a.type} is not implemented.`);}function rc(a,b){let c=!1;const d=a.value;let e=null;return w.create({next:()=>{for(;!c;){if(!e){var f=d.next(0);if(f.done){c=!0;break}e=qc(f.value,b).value}f=e.next(0);if(f.done)e=null;else return f}return p}})};function sc(a){for(a=ua[a];a&&0!==a.C;)a=a.parent;return a?a.type:null}function tc(a,b){b=ua[b];const c=b.La;if(!c||!c.whiteSpace)return b.parent?tc(a,b.parent.type):a;switch(b.La.whiteSpace){case "replace":return a.replace(/[\u0009\u000A\u000D]/g," ");case "collapse":return a.replace(/[\u0009\u000A\u000D]/g," ").replace(/ {2,}/g," ").replace(/^ | $/g,"")}return a}function uc(a,b){for(b=ua[b];b&&null===b.gb;){if(2===b.C||3===b.C)return!0;b=b.parent}return b?b.gb(a):!0}
function vc(a,b){for(;a;){if(a.Qa&&a.Qa[b])return a.Qa[b];a=a.parent}return()=>!0}function wc(a,b){let c=ua[b];for(;c;){if(c.La&&!Object.keys(c.La).every(d=>{if("whiteSpace"===d)return!0;const e=vc(c,d);return e?e(a,c.La[d]):!0}))return!1;c=c.parent}return!0}function xc(a){return a?2===a.g||0===a.g:!0};function yc(a){return a(1)||a(19)?b=>({u:!0,value:g(b,20)}):()=>({u:!1,error:Error("XPTY0004: Casting not supported from given type to xs:anyURI or any of its derived types.")})};function zc(a){return a(22)?b=>{let c="";for(let d=0;d<b.length;d+=2)c+=String.fromCharCode(parseInt(b.substr(d,2),16));return{u:!0,value:g(btoa(c),21)}}:a(1)||a(19)?b=>({u:!0,value:g(b,21)}):()=>({error:Error("XPTY0004: Casting not supported from given type to xs:base64Binary or any of its derived types."),u:!1})};function Ac(a){return a(2)?b=>({u:!0,value:0===b||isNaN(b)?wa:va}):a(1)||a(19)?b=>{switch(b){case "true":case "1":return{u:!0,value:va};case "false":case "0":return{u:!0,value:wa};default:return{u:!1,error:Error("XPTY0004: Casting not supported from given type to xs:boolean or any of its derived types.")}}}:()=>({u:!1,error:Error("XPTY0004: Casting not supported from given type to xs:boolean or any of its derived types.")})};function Ec(a){return a(9)?b=>({u:!0,value:g(Mb(b,7),7)}):a(19)||a(1)?b=>({u:!0,value:g(Kb(b),7)}):()=>({u:!1,error:Error("XPTY0004: Casting not supported from given type to xs:date or any of its derived types.")})};function Fc(a){return a(7)?b=>({u:!0,value:g(Mb(b,9),9)}):a(19)||a(1)?b=>({u:!0,value:g(Kb(b),9)}):()=>({u:!1,error:Error("XPTY0004: Casting not supported from given type to xs:dateTime or any of its derived types.")})};function Gc(a){return a(18)&&!a(16)?b=>({u:!0,value:g(b.za,17)}):a(16)?()=>({u:!0,value:g(Bb("PT0.0S"),17)}):a(19)||a(1)?b=>{const c=Bb(b);return c?{u:!0,value:g(c,17)}:{u:!1,error:Error(`FORG0001: Can not cast ${b} to xs:dayTimeDuration`)}}:()=>({u:!1,error:Error("XPTY0004: Casting not supported from given type to xs:dayTimeDuration or any of its derived types.")})};function Hc(a){return a(5)?b=>({u:!0,value:g(b,4)}):a(6)||a(3)?b=>isNaN(b)||!isFinite(b)?{u:!1,error:Error(`FOCA0002: Can not cast ${b} to xs:decimal`)}:Math.abs(b)>Number.MAX_VALUE?{u:!1,error:Error(`FOAR0002: Can not cast ${b} to xs:decimal, it is out of bounds for JavaScript numbers`)}:{u:!0,value:g(b,4)}:a(0)?b=>({u:!0,value:g(b?1:0,4)}):a(1)||a(19)?b=>{const c=parseFloat(b);return!isNaN(c)||isFinite(c)?{u:!0,value:g(c,4)}:{u:!1,error:Error(`FORG0001: Can not cast ${b} to xs:decimal`)}}:()=>({u:!1,
error:Error("XPTY0004: Casting not supported from given type to xs:decimal or any of its derived types.")})};function Ic(a,b){return a(2)?c=>({u:!0,value:c}):a(0)?c=>({u:!0,value:c?1:0}):a(1)||a(19)?c=>{switch(c){case "NaN":return{u:!0,value:NaN};case "INF":case "+INF":return{u:!0,value:Infinity};case "-INF":return{u:!0,value:-Infinity};case "0":case "+0":return{u:!0,value:0};case "-0":return{u:!0,value:-0}}const d=parseFloat(c);return isNaN(d)?{u:!1,error:lc(c,b)}:{u:!0,value:d}}:()=>({u:!1,error:Error(`XPTY0004: Casting not supported from given type to ${b} or any of its derived types.`)})};function Jc(a){const b=Ic(a,3);return c=>{c=b(c);return c.u?{u:!0,value:g(c.value,3)}:c}};function Kc(a){const b=Math.abs(a.ab());a=Math.abs(a.$a());return`${b?`${b}Y`:""}`+`${a?`${a}M`:""}`||"0M"}
var Lc=class extends xb{constructor(a){super();if(a>Number.MAX_SAFE_INTEGER||a<Number.MIN_SAFE_INTEGER)throw Error("FODT0002: Number of months given to construct YearMonthDuration overflows MAX_SAFE_INTEGER or MIN_SAFE_INTEGER");this.da=a}$a(){const a=this.da%12;return 0===a?0:a}o(){return this.da}ab(){return Math.trunc(this.da/12)}na(){return Object.is(-0,this.da)?!1:0<=this.da}h(){return new this.constructor(-this.da)}toString(){return(this.na()?"P":"-P")+Kc(this)}},Mc=a=>{var b=/^(-)?P(\d+Y)?(\d+M)?(\d+D)?(?:T(\d+H)?(\d+M)?(\d+(\.\d*)?S)?)?$/.exec(a);
if(b){a=!b[1];b=12*(b[2]?parseInt(b[2],10):0)+(b[3]?parseInt(b[3],10):0);if(b>Number.MAX_SAFE_INTEGER||!Number.isFinite(b))throw Error("FODT0002: Value overflow while constructing xs:yearMonthDuration");a=new Lc(a||0===b?b:-b)}else a=null;return a};
function Nc(a,b){if(isNaN(b))throw Error("FOCA0005: Cannot multiply xs:yearMonthDuration by NaN");a=Math.round(a.da*b);if(a>Number.MAX_SAFE_INTEGER||!Number.isFinite(a))throw Error("FODT0002: Value overflow while constructing xs:yearMonthDuration");return new Lc(a<Number.MIN_SAFE_INTEGER||0===a?0:a)};var Oc=class extends xb{constructor(a,b){super();this.Na=a;this.za=b}Za(){return this.za.Za()}getHours(){return this.za.getHours()}getMinutes(){return this.za.getMinutes()}$a(){return this.Na.$a()}o(){return this.Na.o()}v(){return this.za.v()}getSeconds(){return this.za.getSeconds()}ab(){return this.Na.ab()}na(){return this.Na.na()&&this.za.na()}h(){return new this.constructor(this.Na.h(),this.za.h())}toString(){const a=this.na()?"P":"-P",b=Kc(this.Na),c=yb(this.za);return"0M"===b?a+c:"T0S"===c?a+
b:a+b+c}};function Pc(a){return a(16)?b=>({u:!0,value:g(new Oc(b,new zb(b.na()?0:-0)),18)}):a(17)?b=>{b=new Oc(new Lc(b.na()?0:-0),b);return{u:!0,value:g(b,18)}}:a(18)?b=>({u:!0,value:g(b,18)}):a(19)||a(1)?b=>{var c;return c=new Oc(Mc(b),Bb(b)),{u:!0,value:g(c,18)}}:()=>({u:!1,error:Error("XPTY0004: Casting not supported from given type to xs:duration or any of its derived types.")})};function Qc(a){const b=Ic(a,6);return c=>{c=b(c);return c.u?{u:!0,value:g(c.value,6)}:c}};function Rc(a){return a(7)||a(9)?b=>({u:!0,value:g(Mb(b,15),15)}):a(19)||a(1)?b=>({u:!0,value:g(Kb(b),15)}):()=>({u:!1,error:Error("XPTY0004: Casting not supported from given type to xs:gDay or any of its derived types.")})};function Sc(a){return a(7)||a(9)?b=>({u:!0,value:g(Mb(b,14),14)}):a(19)||a(1)?b=>({u:!0,value:g(Kb(b),14)}):()=>({u:!1,error:Error("XPTY0004: Casting not supported from given type to xs:gMonth or any of its derived types.")})};function Tc(a){return a(7)||a(9)?b=>({u:!0,value:g(Mb(b,13),13)}):a(19)||a(1)?b=>({u:!0,value:g(Kb(b),13)}):()=>({u:!1,error:Error("XPTY0004: Casting not supported from given type to xs:gMonthDay or any of its derived types.")})};function Uc(a){return a(7)||a(9)?b=>({u:!0,value:g(Mb(b,12),12)}):a(19)||a(1)?b=>({u:!0,value:g(Kb(b),12)}):()=>({u:!1,error:Error("XPTY0004: Casting not supported from given type to xs:gYear or any of its derived types.")})};function Vc(a){return a(7)||a(9)?b=>({u:!0,value:g(Mb(b,11),11)}):a(19)||a(1)?b=>({u:!0,value:g(Kb(b),11)}):()=>({u:!1,error:Error("XPTY0004: Casting not supported from given type to xs:gYearMonth or any of its derived types.")})};function Wc(a){return a(21)?b=>{b=atob(b);let c="";for(let d=0,e=b.length;d<e;d++)c+=Number(b.charCodeAt(d)).toString(16);return{u:!0,value:g(c.toUpperCase(),22)}}:a(1)||a(19)?b=>({u:!0,value:g(b,22)}):()=>({u:!1,error:Error("XPTY0004: Casting not supported from given type to xs:hexBinary or any of its derived types.")})};function Xc(a){return a(0)?b=>({u:!0,value:g(b?1:0,5)}):a(2)?b=>{const c=Math.trunc(b);return!isFinite(c)||isNaN(c)?{u:!1,error:Error(`FOCA0002: can not cast ${b} to xs:integer`)}:Number.isSafeInteger(c)?{u:!0,value:g(c,5)}:{u:!1,error:Error(`FOAR0002: can not cast ${b} to xs:integer, it is out of bounds for JavaScript numbers.`)}}:a(1)||a(19)?b=>{const c=parseInt(b,10);return isNaN(c)?{u:!1,error:lc(b,5)}:Number.isSafeInteger(c)?{u:!0,value:g(c,5)}:{u:!1,error:Error(`FOCA0003: can not cast ${b} to xs:integer, it is out of bounds for JavaScript numbers.`)}}:
()=>({u:!1,error:Error("XPTY0004: Casting not supported from given type to xs:integer or any of its derived types.")})};const Yc=[3,6,4,5];function Zc(a){var b=$c;return c=>{for(const d of Yc){const e=b(a,d)(c);if(e.u)return e}return{u:!1,error:Error(`XPTY0004: Casting not supported from "${c}" given type to xs:numeric or any of its derived types.`)}}};function ad(a){if(a(1)||a(19))return b=>({u:!0,value:b+""});if(a(20))return b=>({u:!0,value:b});if(a(23))return b=>({u:!0,value:b.prefix?`${b.prefix}:${b.localName}`:b.localName});if(a(44))return b=>({u:!0,value:b.toString()});if(a(2)){if(a(5)||a(4))return b=>({u:!0,value:(b+"").replace("e","E")});if(a(6)||a(3))return b=>isNaN(b)?{u:!0,value:"NaN"}:isFinite(b)?Object.is(b,-0)?{u:!0,value:"-0"}:{u:!0,value:(b+"").replace("e","E").replace("E+","E")}:{u:!0,value:`${0>b?"-":""}INF`}}return a(9)||a(7)||
a(8)||a(15)||a(14)||a(13)||a(12)||a(11)?b=>({u:!0,value:b.toString()}):a(16)?b=>({u:!0,value:b.toString()}):a(17)?b=>({u:!0,value:b.toString()}):a(18)?b=>({u:!0,value:b.toString()}):a(22)?b=>({u:!0,value:b.toUpperCase()}):b=>({u:!0,value:b+""})};function bd(a){const b=ad(a);return c=>{c=b(c);return c.u?{u:!0,value:g(c.value,1)}:c}};function cd(a){return a(9)?b=>({u:!0,value:g(Mb(b,8),8)}):a(19)||a(1)?b=>({u:!0,value:g(Kb(b),8)}):()=>({u:!1,error:Error("XPTY0004: Casting not supported from given type to xs:time or any of its derived types.")})};function dd(a){const b=ad(a);return c=>{c=b(c);return c.u?{u:!0,value:g(c.value,19)}:c}};function ed(a){return a(18)&&!a(17)?b=>({u:!0,value:g(b.Na,16)}):a(17)?()=>({u:!0,value:g(Mc("P0M"),16)}):a(19)||a(1)?b=>{const c=Mc(b);return c?{u:!0,value:g(c,16)}:{u:!1,error:lc(b,16)}}:()=>({u:!1,error:Error("XPTY0004: Casting not supported from given type to xs:yearMonthDuration or any of its derived types.")})};const fd=[2,5,17,16];
function $c(a,b){const c=d=>v(a,d);if(39===b)return()=>({u:!1,error:Error("FORG0001: Casting to xs:error is always invalid.")});switch(b){case 19:return dd(c);case 1:return bd(c);case 6:return Qc(c);case 3:return Jc(c);case 4:return Hc(c);case 5:return Xc(c);case 2:return Zc(a);case 18:return Pc(c);case 16:return ed(c);case 17:return Gc(c);case 9:return Fc(c);case 8:return cd(c);case 7:return Ec(c);case 11:return Vc(c);case 12:return Uc(c);case 13:return Tc(c);case 15:return Rc(c);case 14:return Sc(c);
case 0:return Ac(c);case 21:return zc(c);case 22:return Wc(c);case 20:return yc(c);case 23:throw Error("Casting to xs:QName is not implemented.");}return()=>({u:!1,error:Error(`XPTY0004: Casting not supported from ${a} to ${b}.`)})}const gd=Object.create(null);
function id(a,b){if(19===a&&1===b)return f=>({u:!0,value:g(f,1)});if(44===b)return()=>({u:!1,error:Error("XPST0080: Casting to xs:NOTATION is not permitted.")});if(39===b)return()=>({u:!1,error:Error("FORG0001: Casting to xs:error is not permitted.")});if(45===a||45===b)return()=>({u:!1,error:Error("XPST0080: Casting from or to xs:anySimpleType is not permitted.")});if(46===a||46===b)return()=>({u:!1,error:Error("XPST0080: Casting from or to xs:anyAtomicType is not permitted.")});if(v(a,60)&&1===
b)return()=>({u:!1,error:Error("FOTY0014: Casting from function item to xs:string is not permitted.")});if(a===b)return f=>({u:!0,value:{type:b,value:f}});const c=fd.includes(a)?a:sc(a),d=fd.includes(b)?b:sc(b);if(null===d||null===c)return()=>({u:!1,error:Error(`XPST0081: Can not cast: type ${d?Da[a]:Da[b]} is unknown.`)});const e=[];1!==c&&19!==c||e.push(f=>{const h=tc(f,b);return uc(h,b)?{u:!0,value:h}:{u:!1,error:lc(f,b,"pattern validation failed.")}});c!==d&&(e.push($c(c,d)),e.push(f=>({u:!0,
value:f.value})));19!==d&&1!==d||e.push(f=>uc(f,b)?{u:!0,value:f}:{u:!1,error:lc(f,b,"pattern validation failed.")});e.push(f=>wc(f,b)?{u:!0,value:f}:{u:!1,error:lc(f,b,"pattern validation failed.")});e.push(f=>({u:!0,value:{type:b,value:f}}));return f=>{f={u:!0,value:f};for(let h=0,k=e.length;h<k&&(f=e[h](f.value),!1!==f.u);++h);return f}}function jd(a,b){const c=a.type+1E4*b;let d=gd[c];d||=gd[c]=id(a.type,b);return d.call(void 0,a.value,b)};function kd(a,b){a=jd(a,b);if(!0===a.u)return a.value;throw a.error;};function ld(a){let b=!1;return{next:()=>{if(b)return p;b=!0;return q(a)}}};function md(a,b){return a===b?!0:a&&b&&a.offset===b.offset&&a.parent===b.parent?md(a.F,b.F):!1}function nd(a,b){return a===b||a.node===b.node&&md(a.F,b.F)?!0:!1};function od(a,b,c){var d=x(a,b,null);a=gb(a,d,null);for(let e=0,f=a.length;e<f;++e){d=a[e];if(nd(d,b))return-1;if(nd(d,c))return 1}}function pd(a,b){const c=[];for(;b;b=x(a,b,null))c.unshift(b);return c}function qd(a,b){const c=[];for(;b;b=a.getParentNode(b,null))c.unshift(b);return c}
function rd(a,b,c,d){if(c.F||d.F||cb(c.node)||cb(d.node)){if(nd(c,d))return 0;c=pd(b,c);d=pd(b,d);const f=c[0],h=d[0];if(!nd(f,h))return b=a.findIndex(k=>nd(k,f)),c=a.findIndex(k=>nd(k,h)),-1===b&&(b=a.push(f)),-1===c&&(c=a.push(h)),b-c;a=1;for(var e=Math.min(c.length,d.length);a<e&&nd(c[a],d[a]);++a);return c[a]?d[a]?od(b,c[a],d[a]):1:-1}c=c.node;e=d.node;if(c===e)return 0;d=qd(b,c);c=qd(b,e);if(d[0]!==c[0]){const f={node:d[0],F:null},h={node:c[0],F:null};b=a.findIndex(k=>nd(k,f));c=a.findIndex(k=>
nd(k,h));-1===b&&(b=a.push(f));-1===c&&(c=a.push(h));return b-c}a=1;for(e=Math.min(d.length,c.length);a<e&&d[a]===c[a];++a);d=d[a];e=c[a];if(!d)return-1;if(!e)return 1;b=b.getChildNodes(c[a-1],null);for(let f=0,h=b.length;f<h;++f){a=b[f];if(a===d)return-1;if(a===e)return 1}}
function sd(a,b,c,d){const e=v(c.type,47),f=v(d.type,47);if(e&&!f){if(c=x(b,c.value),d=d.value,nd(c,d))return 1}else if(f&&!e){if(c=c.value,d=x(b,d.value),nd(c,d))return-1}else if(e&&f){if(nd(x(b,d.value),x(b,c.value)))return c.value.node.localName>d.value.node.localName?1:-1;c=x(b,c.value);d=x(b,d.value)}else c=c.value,d=d.value;return rd(a,b,c,d)}function td(a,b,c){return sd(a.o,a,b,c)}function ud(a,b){return vd(b,(c,d)=>sd(a.o,a,c,d)).filter((c,d,e)=>0===d?!0:!nd(c.value,e[d-1].value))}
const wd=(a,b)=>a<b?-1:0;function vd(a,b=wd){if(1>=a.length)return a;var c=Math.floor(a.length/2);const d=vd(a.slice(0,c),b);a=vd(a.slice(c),b);for(c=[];d.length&&a.length;)0>b(d[0],a[0])?c.push(d.shift()):c.push(a.shift());return c.concat(d.concat(a))};function xd(a,b){if(v(a.type,2)){if(v(a.type,6))return 3===b?g(a.value,3):null;if(v(a.type,4)){if(6===b)return g(a.value,6);if(3===b)return g(a.value,3)}return null}return v(a.type,20)&&1===b?g(a.value,1):null};function yd(a,b,c,d,e){if(v(a.type,b.type))return a;v(b.type,46)&&v(a.type,53)&&(a=qc(a,c).first());if(v(a.type,b.type)||46===b.type)return a;if(v(a.type,19)){c=kd(a,b.type);if(!c)throw Error(`XPTY0004 Unable to convert ${e?"return":"argument"} of type ${Da[a.type]} to type ${Ha(b)} while calling ${d}`);return c}c=xd(a,b.type);if(!c)throw Error(`XPTY0004 Unable to cast ${e?"return":"argument"} of type ${Da[a.type]} to type ${Ha(b)} while calling ${d}`);return c}
function zd(a){switch(a){case 2:return"*";case 1:return"+";case 0:return"?";case 3:return""}}
var Ad=(a,b,c,d,e)=>0===a.g?b.X({default:()=>b.map(f=>yd(f,a,c,d,e)),multiple:()=>{throw Error(`XPTY0004: Multiplicity of ${e?"function return value":"function argument"} of type ${Da[a.type]}${zd(a.g)} for ${d} is incorrect. Expected "?", but got "+".`);}}):1===a.g?b.X({empty:()=>{throw Error(`XPTY0004: Multiplicity of ${e?"function return value":"function argument"} of type ${Da[a.type]}${zd(a.g)} for ${d} is incorrect. Expected "+", but got "empty-sequence()"`);},default:()=>b.map(f=>yd(f,a,c,
d,e))}):2===a.g?b.map(f=>yd(f,a,c,d,e)):b.X({m:()=>b.map(f=>yd(f,a,c,d,e)),default:()=>{throw Error(`XPTY0004: Multiplicity of ${e?"function return value":"function argument"} of type ${Da[a.type]}${zd(a.g)} for ${d} is incorrect. Expected exactly one`);}});function Bd(a,b,c){return(d,e,f)=>{if(null===d.L)throw mc(`The function ${a} depends on dynamic context, which is absent.`);const h=Ad({type:b,g:3},w.m(d.L),e,a,!1);return c(d,e,f,h)}};var Cd=xspattern;function Dd(a,b){return v(a,5)?g(b,5):v(a,6)?g(b,6):v(a,3)?g(b,3):g(b,4)}const Ed=[{ka:"M",ia:1E3},{ka:"CM",ia:900},{ka:"D",ia:500},{ka:"CD",ia:400},{ka:"C",ia:100},{ka:"XC",ia:90},{ka:"L",ia:50},{ka:"XL",ia:40},{ka:"X",ia:10},{ka:"IX",ia:9},{ka:"V",ia:5},{ka:"IV",ia:4},{ka:"I",ia:1}];function Fd(a,b){const c=0>a;a=Math.abs(a);if(!a)return"-";let d=Ed.reduce((e,f)=>{const h=Math.floor(a/f.ia);a-=h*f.ia;return e+f.ka.repeat(h)},"");b&&(d=d.toLowerCase());c&&(d=`-${d}`);return d}const Gd="ABCDEFGHIJKLMNOPQRSTUVWXYZ".split("");
function Hd(a,b){const c=0>a;a=Math.abs(a);if(!a)return"-";let d="",e;for(;0<a;)e=(a-1)%Gd.length,d=Gd[e]+d,a=(a-e)/Gd.length|0;b&&(d=d.toLowerCase());c&&(d=`-${d}`);return d}function Id(a,b,c=[]){return Array.from({length:b},(d,e)=>e+a).filter(d=>!c.includes(d))}
const Jd=Id(1488,27,[1498,1501,1503,1507,1509]),Kd=Id(1575,36,[1577,1595,1596,1597,1598,1599,1600,1609]),Ld="\u0623\u0628\u062c\u062f\u0647\u0648\u0632\u062d\u0637\u064a\u0643\u0644\u0645\u0646\u0633\u0639\u0641\u0635\u0642\u0631\u0634\u062a\u062b\u062e\u0630\u0636\u0638\u063a".split(""),Md=[[1E3,"\u063a"],[900,"\u0638"],[800,"\u0636"],[700,"\u0630"],[600,"\u062e"],[500,"\u062b"],[400,"\u062a"],[300,"\u0634"],[200,"\u0631"],[100,"\u0642"],[90,"\u0635"],[80,"\u0641"],[70,"\u0639"],[60,"\u0633"],[50,
"\u0646"],[40,"\u0645"],[30,"\u0644"],[20,"\u0643"],[10,"\u064a"],[9,"\u0637"],[8,"\u062d"],[7,"\u0632"],[6,"\u0648"],[5,"\u0647"],[4,"\u062f"],[3,"\u062c"],[2,"\u0628"],[1,"\u0623"]],Nd=[[400,"\u05ea"],[300,"\u05e9"],[200,"\u05e8"],[100,"\u05e7"],[90,"\u05e6"],[80,"\u05e4"],[70,"\u05e2"],[60,"\u05e1"],[50,"\u05e0"],[40,"\u05de"],[30,"\u05dc"],[20,"\u05db"],[10,"\u05d9"],[9,"\u05d8"],[8,"\u05d7"],[7,"\u05d6"],[6,"\u05d5"],[5,"\u05d4"],[4,"\u05d3"],[3,"\u05d2"],[2,"\u05d1"],[1,"\u05d0"]];
function Od(a,b=[]){var c=25;b.sort((d,e)=>d-e);c-=b.length;return function(d){const e=0>d;d=Math.abs(d);if(!d)return"-";const f=[];for(;0<d;){let h=a+(d-1)%c;b.forEa