UNPKG

tsdav

Version:

WebDAV, CALDAV, and CARDDAV client for Nodejs and the Browser

14 lines 79.3 kB
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},c=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},l=(n,r,a)=>(a=n==null?{}:e(i(n)),c(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n)),u=(e=>typeof require<`u`?require:typeof Proxy<`u`?new Proxy(e,{get:(e,t)=>(typeof require<`u`?require:e)[t]}):e)(function(e){if(typeof require<`u`)return require.apply(this,arguments);throw Error('Calling `require` for "'+e+"\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.")}),d=o(((e,t)=>{var n=1e3,r=n*60,i=r*60,a=i*24,o=a*7,s=a*365.25;t.exports=function(e,t){t||={};var n=typeof e;if(n===`string`&&e.length>0)return c(e);if(n===`number`&&isFinite(e))return t.long?u(e):l(e);throw Error(`val is not a non-empty string or a valid number. val=`+JSON.stringify(e))};function c(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var c=parseFloat(t[1]);switch((t[2]||`ms`).toLowerCase()){case`years`:case`year`:case`yrs`:case`yr`:case`y`:return c*s;case`weeks`:case`week`:case`w`:return c*o;case`days`:case`day`:case`d`:return c*a;case`hours`:case`hour`:case`hrs`:case`hr`:case`h`:return c*i;case`minutes`:case`minute`:case`mins`:case`min`:case`m`:return c*r;case`seconds`:case`second`:case`secs`:case`sec`:case`s`:return c*n;case`milliseconds`:case`millisecond`:case`msecs`:case`msec`:case`ms`:return c;default:return}}}}function l(e){var t=Math.abs(e);return t>=a?Math.round(e/a)+`d`:t>=i?Math.round(e/i)+`h`:t>=r?Math.round(e/r)+`m`:t>=n?Math.round(e/n)+`s`:e+`ms`}function u(e){var t=Math.abs(e);return t>=a?d(e,t,a,`day`):t>=i?d(e,t,i,`hour`):t>=r?d(e,t,r,`minute`):t>=n?d(e,t,n,`second`):e+` ms`}function d(e,t,n,r){var i=t>=n*1.5;return Math.round(e/n)+` `+r+(i?`s`:``)}})),f=o(((e,t)=>{function n(e){n.debug=n,n.default=n,n.coerce=c,n.disable=o,n.enable=i,n.enabled=s,n.humanize=d(),n.destroy=l,Object.keys(e).forEach(t=>{n[t]=e[t]}),n.names=[],n.skips=[],n.formatters={};function t(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t|=0;return n.colors[Math.abs(t)%n.colors.length]}n.selectColor=t;function n(e){let t,i=null,a,o;function s(...e){if(!s.enabled)return;let r=s,i=Number(new Date);r.diff=i-(t||i),r.prev=t,r.curr=i,t=i,e[0]=n.coerce(e[0]),typeof e[0]!=`string`&&e.unshift(`%O`);let a=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,(t,i)=>{if(t===`%%`)return`%`;a++;let o=n.formatters[i];if(typeof o==`function`){let n=e[a];t=o.call(r,n),e.splice(a,1),a--}return t}),n.formatArgs.call(r,e),(r.log||n.log).apply(r,e)}return s.namespace=e,s.useColors=n.useColors(),s.color=n.selectColor(e),s.extend=r,s.destroy=n.destroy,Object.defineProperty(s,"enabled",{enumerable:!0,configurable:!1,get:()=>i===null?(a!==n.namespaces&&(a=n.namespaces,o=n.enabled(e)),o):i,set:e=>{i=e}}),typeof n.init==`function`&&n.init(s),s}function r(e,t){let r=n(this.namespace+(t===void 0?`:`:t)+e);return r.log=this.log,r}function i(e){n.save(e),n.namespaces=e,n.names=[],n.skips=[];let t=(typeof e==`string`?e:``).trim().replace(/\s+/g,`,`).split(`,`).filter(Boolean);for(let e of t)e[0]===`-`?n.skips.push(e.slice(1)):n.names.push(e)}function a(e,t){let n=0,r=0,i=-1,a=0;for(;n<e.length;)if(r<t.length&&(t[r]===e[n]||t[r]===`*`))t[r]===`*`?(i=r,a=n,r++):(n++,r++);else if(i!==-1)r=i+1,a++,n=a;else return!1;for(;r<t.length&&t[r]===`*`;)r++;return r===t.length}function o(){let e=[...n.names,...n.skips.map(e=>`-`+e)].join(`,`);return n.enable(``),e}function s(e){for(let t of n.skips)if(a(e,t))return!1;for(let t of n.names)if(a(e,t))return!0;return!1}function c(e){return e instanceof Error?e.stack||e.message:e}function l(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return n.enable(n.load()),n}t.exports=n})),p=l(o(((e,t)=>{e.formatArgs=r,e.save=i,e.load=a,e.useColors=n,e.storage=o(),e.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),e.colors=`#0000CC.#0000FF.#0033CC.#0033FF.#0066CC.#0066FF.#0099CC.#0099FF.#00CC00.#00CC33.#00CC66.#00CC99.#00CCCC.#00CCFF.#3300CC.#3300FF.#3333CC.#3333FF.#3366CC.#3366FF.#3399CC.#3399FF.#33CC00.#33CC33.#33CC66.#33CC99.#33CCCC.#33CCFF.#6600CC.#6600FF.#6633CC.#6633FF.#66CC00.#66CC33.#9900CC.#9900FF.#9933CC.#9933FF.#99CC00.#99CC33.#CC0000.#CC0033.#CC0066.#CC0099.#CC00CC.#CC00FF.#CC3300.#CC3333.#CC3366.#CC3399.#CC33CC.#CC33FF.#CC6600.#CC6633.#CC9900.#CC9933.#CCCC00.#CCCC33.#FF0000.#FF0033.#FF0066.#FF0099.#FF00CC.#FF00FF.#FF3300.#FF3333.#FF3366.#FF3399.#FF33CC.#FF33FF.#FF6600.#FF6633.#FF9900.#FF9933.#FFCC00.#FFCC33`.split(`.`);function n(){if(typeof window<`u`&&window.process&&(window.process.type===`renderer`||window.process.__nwjs))return!0;if(typeof navigator<`u`&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return typeof document<`u`&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<`u`&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<`u`&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||typeof navigator<`u`&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function r(e){if(e[0]=(this.useColors?`%c`:``)+this.namespace+(this.useColors?` %c`:` `)+e[0]+(this.useColors?`%c `:` `)+`+`+t.exports.humanize(this.diff),!this.useColors)return;let n=`color: `+this.color;e.splice(1,0,n,`color: inherit`);let r=0,i=0;e[0].replace(/%[a-zA-Z%]/g,e=>{e!==`%%`&&(r++,e===`%c`&&(i=r))}),e.splice(i,0,n)}e.log=console.debug||console.log||(()=>{});function i(t){try{t?e.storage.setItem(`debug`,t):e.storage.removeItem(`debug`)}catch{}}function a(){let t;try{t=e.storage.getItem(`debug`)||e.storage.getItem(`DEBUG`)}catch{}return!t&&typeof process<`u`&&`env`in process&&(t=process.env.DEBUG),t}function o(){try{return localStorage}catch{}}t.exports=f()(e);let{formatters:s}=t.exports;s.j=function(e){try{return JSON.stringify(e)}catch(e){return`[UnexpectedJSONParseError]: `+e.message}}}))());let m=function(e){return e.CALENDAR_SERVER=`http://calendarserver.org/ns/`,e.CALDAV_APPLE=`http://apple.com/ns/ical/`,e.CALDAV=`urn:ietf:params:xml:ns:caldav`,e.CARDDAV=`urn:ietf:params:xml:ns:carddav`,e.DAV=`DAV:`,e}({});const h={"urn:ietf:params:xml:ns:caldav":`xmlns:c`,"urn:ietf:params:xml:ns:carddav":`xmlns:card`,"http://calendarserver.org/ns/":`xmlns:cs`,"http://apple.com/ns/ical/":`xmlns:ca`,"DAV:":`xmlns:d`};let g=function(e){return e.CALDAV=`c`,e.CARDDAV=`card`,e.CALENDAR_SERVER=`cs`,e.CALDAV_APPLE=`ca`,e.DAV=`d`,e}({}),_=function(e){return e.VEVENT=`VEVENT`,e.VTODO=`VTODO`,e.VJOURNAL=`VJOURNAL`,e.VFREEBUSY=`VFREEBUSY`,e.VTIMEZONE=`VTIMEZONE`,e.VALARM=`VALARM`,e}({});var v=o((e=>{(function(e){e.parser=function(e,t){return new n(e,t)},e.SAXParser=n,e.SAXStream=l,e.createStream=c,e.MAX_BUFFER_LENGTH=64*1024;var t=[`comment`,`sgmlDecl`,`textNode`,`tagName`,`doctype`,`procInstName`,`procInstBody`,`entity`,`attribName`,`attribValue`,`cdata`,`script`];e.EVENTS=[`text`,`processinginstruction`,`sgmldeclaration`,`doctype`,`comment`,`opentagstart`,`attribute`,`opentag`,`closetag`,`opencdata`,`cdata`,`closecdata`,`error`,`end`,`ready`,`script`,`opennamespace`,`closenamespace`];function n(t,r){if(!(this instanceof n))return new n(t,r);var a=this;i(a),a.q=a.c=``,a.bufferCheckPosition=e.MAX_BUFFER_LENGTH,a.opt=r||{},a.opt.lowercase=a.opt.lowercase||a.opt.lowercasetags,a.looseCase=a.opt.lowercase?`toLowerCase`:`toUpperCase`,a.tags=[],a.closed=a.closedRoot=a.sawRoot=!1,a.tag=a.error=null,a.strict=!!t,a.noscript=!!(t||a.opt.noscript),a.state=C.BEGIN,a.strictEntities=a.opt.strictEntities,a.ENTITIES=a.strictEntities?Object.create(e.XML_ENTITIES):Object.create(e.ENTITIES),a.attribList=[],a.opt.xmlns&&(a.ns=Object.create(h)),a.opt.unquotedAttributeValues===void 0&&(a.opt.unquotedAttributeValues=!t),a.trackPosition=a.opt.position!==!1,a.trackPosition&&(a.position=a.line=a.column=0),w(a,`onready`)}Object.create||(Object.create=function(e){function t(){}return t.prototype=e,new t}),Object.keys||(Object.keys=function(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(n);return t});function r(n){for(var r=Math.max(e.MAX_BUFFER_LENGTH,10),i=0,a=0,o=t.length;a<o;a++){var s=n[t[a]].length;if(s>r)switch(t[a]){case`textNode`:E(n);break;case`cdata`:T(n,`oncdata`,n.cdata),n.cdata=``;break;case`script`:T(n,`onscript`,n.script),n.script=``;break;default:D(n,`Max buffer length exceeded: `+t[a])}i=Math.max(i,s)}n.bufferCheckPosition=e.MAX_BUFFER_LENGTH-i+n.position}function i(e){for(var n=0,r=t.length;n<r;n++)e[t[n]]=``}function a(e){E(e),e.cdata!==``&&(T(e,`oncdata`,e.cdata),e.cdata=``),e.script!==``&&(T(e,`onscript`,e.script),e.script=``)}n.prototype={end:function(){O(this)},write:oe,resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){a(this)}};var o;try{o=u(`stream`).Stream}catch{o=function(){}}o||=function(){};var s=e.EVENTS.filter(function(e){return e!==`error`&&e!==`end`});function c(e,t){return new l(e,t)}function l(e,t){if(!(this instanceof l))return new l(e,t);o.apply(this),this._parser=new n(e,t),this.writable=!0,this.readable=!0;var r=this;this._parser.onend=function(){r.emit(`end`)},this._parser.onerror=function(e){r.emit(`error`,e),r._parser.error=null},this._decoder=null,s.forEach(function(e){Object.defineProperty(r,`on`+e,{get:function(){return r._parser[`on`+e]},set:function(t){if(!t)return r.removeAllListeners(e),r._parser[`on`+e]=t,t;r.on(e,t)},enumerable:!0,configurable:!1})})}l.prototype=Object.create(o.prototype,{constructor:{value:l}}),l.prototype.write=function(e){return typeof Buffer==`function`&&typeof Buffer.isBuffer==`function`&&Buffer.isBuffer(e)&&(this._decoder||=new TextDecoder(`utf8`),e=this._decoder.decode(e,{stream:!0})),this._parser.write(e.toString()),this.emit(`data`,e),!0},l.prototype.end=function(e){if(e&&e.length&&this.write(e),this._decoder){var t=this._decoder.decode();t&&(this._parser.write(t),this.emit(`data`,t))}return this._parser.end(),!0},l.prototype.on=function(e,t){var n=this;return!n._parser[`on`+e]&&s.indexOf(e)!==-1&&(n._parser[`on`+e]=function(){var t=arguments.length===1?[arguments[0]]:Array.apply(null,arguments);t.splice(0,0,e),n.emit.apply(n,t)}),o.prototype.on.call(n,e,t)};var d=`[CDATA[`,f=`DOCTYPE`,p=`http://www.w3.org/XML/1998/namespace`,m=`http://www.w3.org/2000/xmlns/`,h={xml:p,xmlns:m},g=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,_=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,v=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,ee=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function y(e){return e===` `||e===` `||e===`\r`||e===` `}function b(e){return e===`"`||e===`'`}function x(e){return e===`>`||y(e)}function S(e,t){return e.test(t)}function te(e,t){return!S(e,t)}var C=0;for(var ne in e.STATE={BEGIN:C++,BEGIN_WHITESPACE:C++,TEXT:C++,TEXT_ENTITY:C++,OPEN_WAKA:C++,SGML_DECL:C++,SGML_DECL_QUOTED:C++,DOCTYPE:C++,DOCTYPE_QUOTED:C++,DOCTYPE_DTD:C++,DOCTYPE_DTD_QUOTED:C++,COMMENT_STARTING:C++,COMMENT:C++,COMMENT_ENDING:C++,COMMENT_ENDED:C++,CDATA:C++,CDATA_ENDING:C++,CDATA_ENDING_2:C++,PROC_INST:C++,PROC_INST_BODY:C++,PROC_INST_ENDING:C++,OPEN_TAG:C++,OPEN_TAG_SLASH:C++,ATTRIB:C++,ATTRIB_NAME:C++,ATTRIB_NAME_SAW_WHITE:C++,ATTRIB_VALUE:C++,ATTRIB_VALUE_QUOTED:C++,ATTRIB_VALUE_CLOSED:C++,ATTRIB_VALUE_UNQUOTED:C++,ATTRIB_VALUE_ENTITY_Q:C++,ATTRIB_VALUE_ENTITY_U:C++,CLOSE_TAG:C++,CLOSE_TAG_SAW_WHITE:C++,SCRIPT:C++,SCRIPT_ENDING:C++},e.XML_ENTITIES={amp:`&`,gt:`>`,lt:`<`,quot:`"`,apos:`'`},e.ENTITIES={amp:`&`,gt:`>`,lt:`<`,quot:`"`,apos:`'`,AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(e.ENTITIES).forEach(function(t){var n=e.ENTITIES[t],r=typeof n==`number`?String.fromCharCode(n):n;e.ENTITIES[t]=r}),e.STATE)e.STATE[e.STATE[ne]]=ne;C=e.STATE;function w(e,t,n){e[t]&&e[t](n)}function T(e,t,n){e.textNode&&E(e),w(e,t,n)}function E(e){e.textNode=re(e.opt,e.textNode),e.textNode&&w(e,`ontext`,e.textNode),e.textNode=``}function re(e,t){return e.trim&&(t=t.trim()),e.normalize&&(t=t.replace(/\s+/g,` `)),t}function D(e,t){return E(e),e.trackPosition&&(t+=` Line: `+e.line+` Column: `+e.column+` Char: `+e.c),t=Error(t),e.error=t,w(e,`onerror`,t),e}function O(e){return e.sawRoot&&!e.closedRoot&&k(e,`Unclosed root tag`),e.state!==C.BEGIN&&e.state!==C.BEGIN_WHITESPACE&&e.state!==C.TEXT&&D(e,`Unexpected end`),E(e),e.c=``,e.closed=!0,w(e,`onend`),n.call(e,e.strict,e.opt),e}function k(e,t){if(typeof e!=`object`||!(e instanceof n))throw Error(`bad call to strictFail`);e.strict&&D(e,t)}function A(e){e.strict||(e.tagName=e.tagName[e.looseCase]());var t=e.tags[e.tags.length-1]||e,n=e.tag={name:e.tagName,attributes:{}};e.opt.xmlns&&(n.ns=t.ns),e.attribList.length=0,T(e,`onopentagstart`,n)}function j(e,t){var n=e.indexOf(`:`)<0?[``,e]:e.split(`:`),r=n[0],i=n[1];return t&&e===`xmlns`&&(r=`xmlns`,i=``),{prefix:r,local:i}}function M(e){if(e.strict||(e.attribName=e.attribName[e.looseCase]()),e.attribList.indexOf(e.attribName)!==-1||e.tag.attributes.hasOwnProperty(e.attribName)){e.attribName=e.attribValue=``;return}if(e.opt.xmlns){var t=j(e.attribName,!0),n=t.prefix,r=t.local;if(n===`xmlns`)if(r===`xml`&&e.attribValue!==p)k(e,`xml: prefix must be bound to `+p+` Actual: `+e.attribValue);else if(r===`xmlns`&&e.attribValue!==m)k(e,`xmlns: prefix must be bound to `+m+` Actual: `+e.attribValue);else{var i=e.tag,a=e.tags[e.tags.length-1]||e;i.ns===a.ns&&(i.ns=Object.create(a.ns)),i.ns[r]=e.attribValue}e.attribList.push([e.attribName,e.attribValue])}else e.tag.attributes[e.attribName]=e.attribValue,T(e,`onattribute`,{name:e.attribName,value:e.attribValue});e.attribName=e.attribValue=``}function N(e,t){if(e.opt.xmlns){var n=e.tag,r=j(e.tagName);n.prefix=r.prefix,n.local=r.local,n.uri=n.ns[r.prefix]||``,n.prefix&&!n.uri&&(k(e,`Unbound namespace prefix: `+JSON.stringify(e.tagName)),n.uri=r.prefix);var i=e.tags[e.tags.length-1]||e;n.ns&&i.ns!==n.ns&&Object.keys(n.ns).forEach(function(t){T(e,`onopennamespace`,{prefix:t,uri:n.ns[t]})});for(var a=0,o=e.attribList.length;a<o;a++){var s=e.attribList[a],c=s[0],l=s[1],u=j(c,!0),d=u.prefix,f=u.local,p=d===``?``:n.ns[d]||``,m={name:c,value:l,prefix:d,local:f,uri:p};d&&d!==`xmlns`&&!p&&(k(e,`Unbound namespace prefix: `+JSON.stringify(d)),m.uri=d),e.tag.attributes[c]=m,T(e,`onattribute`,m)}e.attribList.length=0}e.tag.isSelfClosing=!!t,e.sawRoot=!0,e.tags.push(e.tag),T(e,`onopentag`,e.tag),t||(!e.noscript&&e.tagName.toLowerCase()===`script`?e.state=C.SCRIPT:e.state=C.TEXT,e.tag=null,e.tagName=``),e.attribName=e.attribValue=``,e.attribList.length=0}function P(e){if(!e.tagName){k(e,`Weird empty close tag.`),e.textNode+=`</>`,e.state=C.TEXT;return}if(e.script){if(e.tagName!==`script`){e.script+=`</`+e.tagName+`>`,e.tagName=``,e.state=C.SCRIPT;return}T(e,`onscript`,e.script),e.script=``}var t=e.tags.length,n=e.tagName;e.strict||(n=n[e.looseCase]());for(var r=n;t--&&e.tags[t].name!==r;)k(e,`Unexpected close tag`);if(t<0){k(e,`Unmatched closing tag: `+e.tagName),e.textNode+=`</`+e.tagName+`>`,e.state=C.TEXT;return}e.tagName=n;for(var i=e.tags.length;i-->t;){var a=e.tag=e.tags.pop();e.tagName=e.tag.name,T(e,`onclosetag`,e.tagName);var o={};for(var s in a.ns)o[s]=a.ns[s];var c=e.tags[e.tags.length-1]||e;e.opt.xmlns&&a.ns!==c.ns&&Object.keys(a.ns).forEach(function(t){var n=a.ns[t];T(e,`onclosenamespace`,{prefix:t,uri:n})})}t===0&&(e.closedRoot=!0),e.tagName=e.attribValue=e.attribName=``,e.attribList.length=0,e.state=C.TEXT}function F(e){var t=e.entity,n=t.toLowerCase(),r,i=``;return e.ENTITIES[t]?e.ENTITIES[t]:e.ENTITIES[n]?e.ENTITIES[n]:(t=n,t.charAt(0)===`#`&&(t.charAt(1)===`x`?(t=t.slice(2),r=parseInt(t,16),i=r.toString(16)):(t=t.slice(1),r=parseInt(t,10),i=r.toString(10))),t=t.replace(/^0+/,``),isNaN(r)||i.toLowerCase()!==t||r<0||r>1114111?(k(e,`Invalid character entity`),`&`+e.entity+`;`):String.fromCodePoint(r))}function ie(e,t){t===`<`?(e.state=C.OPEN_WAKA,e.startTagPosition=e.position):y(t)||(k(e,`Non-whitespace before first tag.`),e.textNode=t,e.state=C.TEXT)}function ae(e,t){var n=``;return t<e.length&&(n=e.charAt(t)),n}function oe(t){var n=this;if(this.error)throw this.error;if(n.closed)return D(n,`Cannot write after close. Assign an onready handler.`);if(t===null)return O(n);typeof t==`object`&&(t=t.toString());for(var i=0,a=``;a=ae(t,i++),n.c=a,a;)switch(n.trackPosition&&(n.position++,a===` `?(n.line++,n.column=0):n.column++),n.state){case C.BEGIN:if(n.state=C.BEGIN_WHITESPACE,a===``)continue;ie(n,a);continue;case C.BEGIN_WHITESPACE:ie(n,a);continue;case C.TEXT:if(n.sawRoot&&!n.closedRoot){for(var o=i-1;a&&a!==`<`&&a!==`&`;)a=ae(t,i++),a&&n.trackPosition&&(n.position++,a===` `?(n.line++,n.column=0):n.column++);n.textNode+=t.substring(o,i-1)}a===`<`&&!(n.sawRoot&&n.closedRoot&&!n.strict)?(n.state=C.OPEN_WAKA,n.startTagPosition=n.position):(!y(a)&&(!n.sawRoot||n.closedRoot)&&k(n,`Text data outside of root node.`),a===`&`?n.state=C.TEXT_ENTITY:n.textNode+=a);continue;case C.SCRIPT:a===`<`?n.state=C.SCRIPT_ENDING:n.script+=a;continue;case C.SCRIPT_ENDING:a===`/`?n.state=C.CLOSE_TAG:(n.script+=`<`+a,n.state=C.SCRIPT);continue;case C.OPEN_WAKA:if(a===`!`)n.state=C.SGML_DECL,n.sgmlDecl=``;else if(!y(a))if(S(g,a))n.state=C.OPEN_TAG,n.tagName=a;else if(a===`/`)n.state=C.CLOSE_TAG,n.tagName=``;else if(a===`?`)n.state=C.PROC_INST,n.procInstName=n.procInstBody=``;else{if(k(n,`Unencoded <`),n.startTagPosition+1<n.position){var s=n.position-n.startTagPosition;a=Array(s).join(` `)+a}n.textNode+=`<`+a,n.state=C.TEXT}continue;case C.SGML_DECL:if(n.sgmlDecl+a===`--`){n.state=C.COMMENT,n.comment=``,n.sgmlDecl=``;continue}n.doctype&&n.doctype!==!0&&n.sgmlDecl?(n.state=C.DOCTYPE_DTD,n.doctype+=`<!`+n.sgmlDecl+a,n.sgmlDecl=``):(n.sgmlDecl+a).toUpperCase()===d?(T(n,`onopencdata`),n.state=C.CDATA,n.sgmlDecl=``,n.cdata=``):(n.sgmlDecl+a).toUpperCase()===f?(n.state=C.DOCTYPE,(n.doctype||n.sawRoot)&&k(n,`Inappropriately located doctype declaration`),n.doctype=``,n.sgmlDecl=``):a===`>`?(T(n,`onsgmldeclaration`,n.sgmlDecl),n.sgmlDecl=``,n.state=C.TEXT):(b(a)&&(n.state=C.SGML_DECL_QUOTED),n.sgmlDecl+=a);continue;case C.SGML_DECL_QUOTED:a===n.q&&(n.state=C.SGML_DECL,n.q=``),n.sgmlDecl+=a;continue;case C.DOCTYPE:a===`>`?(n.state=C.TEXT,T(n,`ondoctype`,n.doctype),n.doctype=!0):(n.doctype+=a,a===`[`?n.state=C.DOCTYPE_DTD:b(a)&&(n.state=C.DOCTYPE_QUOTED,n.q=a));continue;case C.DOCTYPE_QUOTED:n.doctype+=a,a===n.q&&(n.q=``,n.state=C.DOCTYPE);continue;case C.DOCTYPE_DTD:a===`]`?(n.doctype+=a,n.state=C.DOCTYPE):a===`<`?(n.state=C.OPEN_WAKA,n.startTagPosition=n.position):b(a)?(n.doctype+=a,n.state=C.DOCTYPE_DTD_QUOTED,n.q=a):n.doctype+=a;continue;case C.DOCTYPE_DTD_QUOTED:n.doctype+=a,a===n.q&&(n.state=C.DOCTYPE_DTD,n.q=``);continue;case C.COMMENT:a===`-`?n.state=C.COMMENT_ENDING:n.comment+=a;continue;case C.COMMENT_ENDING:a===`-`?(n.state=C.COMMENT_ENDED,n.comment=re(n.opt,n.comment),n.comment&&T(n,`oncomment`,n.comment),n.comment=``):(n.comment+=`-`+a,n.state=C.COMMENT);continue;case C.COMMENT_ENDED:a===`>`?n.doctype&&n.doctype!==!0?n.state=C.DOCTYPE_DTD:n.state=C.TEXT:(k(n,`Malformed comment`),n.comment+=`--`+a,n.state=C.COMMENT);continue;case C.CDATA:for(var o=i-1;a&&a!==`]`;)a=ae(t,i++),a&&n.trackPosition&&(n.position++,a===` `?(n.line++,n.column=0):n.column++);n.cdata+=t.substring(o,i-1),a===`]`&&(n.state=C.CDATA_ENDING);continue;case C.CDATA_ENDING:a===`]`?n.state=C.CDATA_ENDING_2:(n.cdata+=`]`+a,n.state=C.CDATA);continue;case C.CDATA_ENDING_2:a===`>`?(n.cdata&&T(n,`oncdata`,n.cdata),T(n,`onclosecdata`),n.cdata=``,n.state=C.TEXT):a===`]`?n.cdata+=`]`:(n.cdata+=`]]`+a,n.state=C.CDATA);continue;case C.PROC_INST:a===`?`?n.state=C.PROC_INST_ENDING:y(a)?n.state=C.PROC_INST_BODY:n.procInstName+=a;continue;case C.PROC_INST_BODY:if(!n.procInstBody&&y(a))continue;a===`?`?n.state=C.PROC_INST_ENDING:n.procInstBody+=a;continue;case C.PROC_INST_ENDING:a===`>`?(T(n,`onprocessinginstruction`,{name:n.procInstName,body:n.procInstBody}),n.procInstName=n.procInstBody=``,n.state=C.TEXT):(n.procInstBody+=`?`+a,n.state=C.PROC_INST_BODY);continue;case C.OPEN_TAG:S(_,a)?n.tagName+=a:(A(n),a===`>`?N(n):a===`/`?n.state=C.OPEN_TAG_SLASH:(y(a)||k(n,`Invalid character in tag name`),n.state=C.ATTRIB));continue;case C.OPEN_TAG_SLASH:a===`>`?(N(n,!0),P(n)):(k(n,`Forward-slash in opening tag not followed by >`),n.state=C.ATTRIB);continue;case C.ATTRIB:if(y(a))continue;a===`>`?N(n):a===`/`?n.state=C.OPEN_TAG_SLASH:S(g,a)?(n.attribName=a,n.attribValue=``,n.state=C.ATTRIB_NAME):k(n,`Invalid attribute name`);continue;case C.ATTRIB_NAME:a===`=`?n.state=C.ATTRIB_VALUE:a===`>`?(k(n,`Attribute without value`),n.attribValue=n.attribName,M(n),N(n)):y(a)?n.state=C.ATTRIB_NAME_SAW_WHITE:S(_,a)?n.attribName+=a:k(n,`Invalid attribute name`);continue;case C.ATTRIB_NAME_SAW_WHITE:if(a===`=`)n.state=C.ATTRIB_VALUE;else if(y(a))continue;else k(n,`Attribute without value`),n.tag.attributes[n.attribName]=``,n.attribValue=``,T(n,`onattribute`,{name:n.attribName,value:``}),n.attribName=``,a===`>`?N(n):S(g,a)?(n.attribName=a,n.state=C.ATTRIB_NAME):(k(n,`Invalid attribute name`),n.state=C.ATTRIB);continue;case C.ATTRIB_VALUE:if(y(a))continue;b(a)?(n.q=a,n.state=C.ATTRIB_VALUE_QUOTED):(n.opt.unquotedAttributeValues||D(n,`Unquoted attribute value`),n.state=C.ATTRIB_VALUE_UNQUOTED,n.attribValue=a);continue;case C.ATTRIB_VALUE_QUOTED:if(a!==n.q){a===`&`?n.state=C.ATTRIB_VALUE_ENTITY_Q:n.attribValue+=a;continue}M(n),n.q=``,n.state=C.ATTRIB_VALUE_CLOSED;continue;case C.ATTRIB_VALUE_CLOSED:y(a)?n.state=C.ATTRIB:a===`>`?N(n):a===`/`?n.state=C.OPEN_TAG_SLASH:S(g,a)?(k(n,`No whitespace between attributes`),n.attribName=a,n.attribValue=``,n.state=C.ATTRIB_NAME):k(n,`Invalid attribute name`);continue;case C.ATTRIB_VALUE_UNQUOTED:if(!x(a)){a===`&`?n.state=C.ATTRIB_VALUE_ENTITY_U:n.attribValue+=a;continue}M(n),a===`>`?N(n):n.state=C.ATTRIB;continue;case C.CLOSE_TAG:if(n.tagName)a===`>`?P(n):S(_,a)?n.tagName+=a:n.script?(n.script+=`</`+n.tagName+a,n.tagName=``,n.state=C.SCRIPT):(y(a)||k(n,`Invalid tagname in closing tag`),n.state=C.CLOSE_TAG_SAW_WHITE);else{if(y(a))continue;te(g,a)?n.script?(n.script+=`</`+a,n.state=C.SCRIPT):k(n,`Invalid tagname in closing tag.`):n.tagName=a}continue;case C.CLOSE_TAG_SAW_WHITE:if(y(a))continue;a===`>`?P(n):k(n,`Invalid characters in closing tag`);continue;case C.TEXT_ENTITY:case C.ATTRIB_VALUE_ENTITY_Q:case C.ATTRIB_VALUE_ENTITY_U:var c,l;switch(n.state){case C.TEXT_ENTITY:c=C.TEXT,l=`textNode`;break;case C.ATTRIB_VALUE_ENTITY_Q:c=C.ATTRIB_VALUE_QUOTED,l=`attribValue`;break;case C.ATTRIB_VALUE_ENTITY_U:c=C.ATTRIB_VALUE_UNQUOTED,l=`attribValue`;break}if(a===`;`){var u=F(n);n.opt.unparsedEntities&&!Object.values(e.XML_ENTITIES).includes(u)?(n.entity=``,n.state=c,n.write(u)):(n[l]+=u,n.entity=``,n.state=c)}else S(n.entity.length?ee:v,a)?n.entity+=a:(k(n,`Invalid character in entity name`),n[l]+=`&`+n.entity+a,n.entity=``,n.state=c);continue;default:throw Error(n,`Unknown state: `+n.state)}return n.position>=n.bufferCheckPosition&&r(n),n} /*! http://mths.be/fromcodepoint v0.1.0 by @mathias */ String.fromCodePoint||(function(){var e=String.fromCharCode,t=Math.floor,n=function(){var n=16384,r=[],i,a,o=-1,s=arguments.length;if(!s)return``;for(var c=``;++o<s;){var l=Number(arguments[o]);if(!isFinite(l)||l<0||l>1114111||t(l)!==l)throw RangeError(`Invalid code point: `+l);l<=65535?r.push(l):(l-=65536,i=(l>>10)+55296,a=l%1024+56320,r.push(i,a)),(o+1===s||r.length>n)&&(c+=e.apply(null,r),r.length=0)}return c};Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:n,configurable:!0,writable:!0}):String.fromCodePoint=n})()})(e===void 0?e.sax={}:e)})),ee=o(((e,t)=>{t.exports={isArray:function(e){return Array.isArray?Array.isArray(e):Object.prototype.toString.call(e)===`[object Array]`}}})),y=o(((e,t)=>{var n=ee().isArray;t.exports={copyOptions:function(e){var t,n={};for(t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n},ensureFlagExists:function(e,t){(!(e in t)||typeof t[e]!=`boolean`)&&(t[e]=!1)},ensureSpacesExists:function(e){(!(`spaces`in e)||typeof e.spaces!=`number`&&typeof e.spaces!=`string`)&&(e.spaces=0)},ensureAlwaysArrayExists:function(e){(!(`alwaysArray`in e)||typeof e.alwaysArray!=`boolean`&&!n(e.alwaysArray))&&(e.alwaysArray=!1)},ensureKeyExists:function(e,t){(!(e+`Key`in t)||typeof t[e+`Key`]!=`string`)&&(t[e+`Key`]=t.compact?`_`+e:e)},checkFnExists:function(e,t){return e+`Fn`in t}}})),b=o(((e,t)=>{var n=v(),r={on:function(){},parse:function(){}},i=y(),a=ee().isArray,o,s=!0,c;function l(e){return o=i.copyOptions(e),i.ensureFlagExists(`ignoreDeclaration`,o),i.ensureFlagExists(`ignoreInstruction`,o),i.ensureFlagExists(`ignoreAttributes`,o),i.ensureFlagExists(`ignoreText`,o),i.ensureFlagExists(`ignoreComment`,o),i.ensureFlagExists(`ignoreCdata`,o),i.ensureFlagExists(`ignoreDoctype`,o),i.ensureFlagExists(`compact`,o),i.ensureFlagExists(`alwaysChildren`,o),i.ensureFlagExists(`addParent`,o),i.ensureFlagExists(`trim`,o),i.ensureFlagExists(`nativeType`,o),i.ensureFlagExists(`nativeTypeAttributes`,o),i.ensureFlagExists(`sanitize`,o),i.ensureFlagExists(`instructionHasAttributes`,o),i.ensureFlagExists(`captureSpacesBetweenElements`,o),i.ensureAlwaysArrayExists(o),i.ensureKeyExists(`declaration`,o),i.ensureKeyExists(`instruction`,o),i.ensureKeyExists(`attributes`,o),i.ensureKeyExists(`text`,o),i.ensureKeyExists(`comment`,o),i.ensureKeyExists(`cdata`,o),i.ensureKeyExists(`doctype`,o),i.ensureKeyExists(`type`,o),i.ensureKeyExists(`name`,o),i.ensureKeyExists(`elements`,o),i.ensureKeyExists(`parent`,o),i.checkFnExists(`doctype`,o),i.checkFnExists(`instruction`,o),i.checkFnExists(`cdata`,o),i.checkFnExists(`comment`,o),i.checkFnExists(`text`,o),i.checkFnExists(`instructionName`,o),i.checkFnExists(`elementName`,o),i.checkFnExists(`attributeName`,o),i.checkFnExists(`attributeValue`,o),i.checkFnExists(`attributes`,o),o}function u(e){var t=Number(e);if(!isNaN(t))return t;var n=e.toLowerCase();return n===`true`||n!==`false`&&e}function d(e,t){var n;if(o.compact){if(!c[o[e+`Key`]]&&(a(o.alwaysArray)?o.alwaysArray.indexOf(o[e+`Key`])!==-1:o.alwaysArray)&&(c[o[e+`Key`]]=[]),c[o[e+`Key`]]&&!a(c[o[e+`Key`]])&&(c[o[e+`Key`]]=[c[o[e+`Key`]]]),e+`Fn`in o&&typeof t==`string`&&(t=o[e+`Fn`](t,c)),e===`instruction`&&(`instructionFn`in o||`instructionNameFn`in o)){for(n in t)if(t.hasOwnProperty(n))if(`instructionFn`in o)t[n]=o.instructionFn(t[n],n,c);else{var r=t[n];delete t[n],t[o.instructionNameFn(n,r,c)]=r}}a(c[o[e+`Key`]])?c[o[e+`Key`]].push(t):c[o[e+`Key`]]=t}else{c[o.elementsKey]||(c[o.elementsKey]=[]);var i={};if(i[o.typeKey]=e,e===`instruction`){for(n in t)if(t.hasOwnProperty(n))break;i[o.nameKey]=`instructionNameFn`in o?o.instructionNameFn(n,t,c):n,o.instructionHasAttributes?(i[o.attributesKey]=t[n][o.attributesKey],`instructionFn`in o&&(i[o.attributesKey]=o.instructionFn(i[o.attributesKey],n,c))):(`instructionFn`in o&&(t[n]=o.instructionFn(t[n],n,c)),i[o.instructionKey]=t[n])}else e+`Fn`in o&&(t=o[e+`Fn`](t,c)),i[o[e+`Key`]]=t;o.addParent&&(i[o.parentKey]=c),c[o.elementsKey].push(i)}}function f(e){if(`attributesFn`in o&&e&&(e=o.attributesFn(e,c)),(o.trim||`attributeValueFn`in o||`attributeNameFn`in o||o.nativeTypeAttributes)&&e){for(var t in e)if(e.hasOwnProperty(t)&&(o.trim&&(e[t]=e[t].trim()),o.nativeTypeAttributes&&(e[t]=u(e[t])),`attributeValueFn`in o&&(e[t]=o.attributeValueFn(e[t],t,c)),`attributeNameFn`in o)){var n=e[t];delete e[t],e[o.attributeNameFn(t,e[t],c)]=n}}return e}function p(e){var t={};if(e.body&&(e.name.toLowerCase()===`xml`||o.instructionHasAttributes)){for(var n=/([\w:-]+)\s*=\s*(?:"([^"]*)"|'([^']*)'|(\w+))\s*/g,r;(r=n.exec(e.body))!==null;)t[r[1]]=r[2]||r[3]||r[4];t=f(t)}if(e.name.toLowerCase()===`xml`){if(o.ignoreDeclaration)return;c[o.declarationKey]={},Object.keys(t).length&&(c[o.declarationKey][o.attributesKey]=t),o.addParent&&(c[o.declarationKey][o.parentKey]=c)}else{if(o.ignoreInstruction)return;o.trim&&(e.body=e.body.trim());var i={};o.instructionHasAttributes&&Object.keys(t).length?(i[e.name]={},i[e.name][o.attributesKey]=t):i[e.name]=e.body,d(`instruction`,i)}}function m(e,t){var n;if(typeof e==`object`&&(t=e.attributes,e=e.name),t=f(t),`elementNameFn`in o&&(e=o.elementNameFn(e,c)),o.compact){if(n={},!o.ignoreAttributes&&t&&Object.keys(t).length)for(var r in n[o.attributesKey]={},t)t.hasOwnProperty(r)&&(n[o.attributesKey][r]=t[r]);!(e in c)&&(a(o.alwaysArray)?o.alwaysArray.indexOf(e)!==-1:o.alwaysArray)&&(c[e]=[]),c[e]&&!a(c[e])&&(c[e]=[c[e]]),a(c[e])?c[e].push(n):c[e]=n}else c[o.elementsKey]||(c[o.elementsKey]=[]),n={},n[o.typeKey]=`element`,n[o.nameKey]=e,!o.ignoreAttributes&&t&&Object.keys(t).length&&(n[o.attributesKey]=t),o.alwaysChildren&&(n[o.elementsKey]=[]),c[o.elementsKey].push(n);n[o.parentKey]=c,c=n}function h(e){o.ignoreText||!e.trim()&&!o.captureSpacesBetweenElements||(o.trim&&(e=e.trim()),o.nativeType&&(e=u(e)),o.sanitize&&(e=e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`)),d(`text`,e))}function g(e){o.ignoreComment||(o.trim&&(e=e.trim()),d(`comment`,e))}function _(e){var t=c[o.parentKey];o.addParent||delete c[o.parentKey],c=t}function b(e){o.ignoreCdata||(o.trim&&(e=e.trim()),d(`cdata`,e))}function x(e){o.ignoreDoctype||(e=e.replace(/^ /,``),o.trim&&(e=e.trim()),d(`doctype`,e))}function S(e){e.note=e}t.exports=function(e,t){var i=s?n.parser(!0,{}):i=new r.Parser(`UTF-8`),a={};if(c=a,o=l(t),s?(i.opt={strictEntities:!0},i.onopentag=m,i.ontext=h,i.oncomment=g,i.onclosetag=_,i.onerror=S,i.oncdata=b,i.ondoctype=x,i.onprocessinginstruction=p):(i.on(`startElement`,m),i.on(`text`,h),i.on(`comment`,g),i.on(`endElement`,_),i.on(`error`,S)),s)i.write(e).close();else if(!i.parse(e))throw Error(`XML parsing error: `+i.getError());if(a[o.elementsKey]){var u=a[o.elementsKey];delete a[o.elementsKey],a[o.elementsKey]=u,delete a.text}return a}})),x=o(((e,t)=>{var n=y(),r=b();function i(e){var t=n.copyOptions(e);return n.ensureSpacesExists(t),t}t.exports=function(e,t){var n=i(t),a=r(e,n),o,s=`compact`in n&&n.compact?`_parent`:`parent`;return o=`addParent`in n&&n.addParent?JSON.stringify(a,function(e,t){return e===s?`_`:t},n.spaces):JSON.stringify(a,null,n.spaces),o.replace(/\u2028/g,`\\u2028`).replace(/\u2029/g,`\\u2029`)}})),S=o(((e,t)=>{var n=y(),r=ee().isArray,i,a;function o(e){var t=n.copyOptions(e);return n.ensureFlagExists(`ignoreDeclaration`,t),n.ensureFlagExists(`ignoreInstruction`,t),n.ensureFlagExists(`ignoreAttributes`,t),n.ensureFlagExists(`ignoreText`,t),n.ensureFlagExists(`ignoreComment`,t),n.ensureFlagExists(`ignoreCdata`,t),n.ensureFlagExists(`ignoreDoctype`,t),n.ensureFlagExists(`compact`,t),n.ensureFlagExists(`indentText`,t),n.ensureFlagExists(`indentCdata`,t),n.ensureFlagExists(`indentAttributes`,t),n.ensureFlagExists(`indentInstruction`,t),n.ensureFlagExists(`fullTagEmptyElement`,t),n.ensureFlagExists(`noQuotesForNativeAttributes`,t),n.ensureSpacesExists(t),typeof t.spaces==`number`&&(t.spaces=Array(t.spaces+1).join(` `)),n.ensureKeyExists(`declaration`,t),n.ensureKeyExists(`instruction`,t),n.ensureKeyExists(`attributes`,t),n.ensureKeyExists(`text`,t),n.ensureKeyExists(`comment`,t),n.ensureKeyExists(`cdata`,t),n.ensureKeyExists(`doctype`,t),n.ensureKeyExists(`type`,t),n.ensureKeyExists(`name`,t),n.ensureKeyExists(`elements`,t),n.checkFnExists(`doctype`,t),n.checkFnExists(`instruction`,t),n.checkFnExists(`cdata`,t),n.checkFnExists(`comment`,t),n.checkFnExists(`text`,t),n.checkFnExists(`instructionName`,t),n.checkFnExists(`elementName`,t),n.checkFnExists(`attributeName`,t),n.checkFnExists(`attributeValue`,t),n.checkFnExists(`attributes`,t),n.checkFnExists(`fullTagEmptyElement`,t),t}function s(e,t,n){return(!n&&e.spaces?` `:``)+Array(t+1).join(e.spaces)}function c(e,t,n){if(t.ignoreAttributes)return``;`attributesFn`in t&&(e=t.attributesFn(e,a,i));var r,o,c,l,u=[];for(r in e)e.hasOwnProperty(r)&&e[r]!==null&&e[r]!==void 0&&(l=t.noQuotesForNativeAttributes&&typeof e[r]!=`string`?``:`"`,o=``+e[r],o=o.replace(/"/g,`&quot;`),c=`attributeNameFn`in t?t.attributeNameFn(r,o,a,i):r,u.push(t.spaces&&t.indentAttributes?s(t,n+1,!1):` `),u.push(c+`=`+l+(`attributeValueFn`in t?t.attributeValueFn(o,r,a,i):o)+l));return e&&Object.keys(e).length&&t.spaces&&t.indentAttributes&&u.push(s(t,n,!1)),u.join(``)}function l(e,t,n){return i=e,a=`xml`,t.ignoreDeclaration?``:`<?xml`+c(e[t.attributesKey],t,n)+`?>`}function u(e,t,n){if(t.ignoreInstruction)return``;for(var r in e)if(e.hasOwnProperty(r))break;var o=`instructionNameFn`in t?t.instructionNameFn(r,e[r],a,i):r;if(typeof e[r]==`object`)return i=e,a=o,`<?`+o+c(e[r][t.attributesKey],t,n)+`?>`;var s=e[r]?e[r]:``;return`instructionFn`in t&&(s=t.instructionFn(s,r,a,i)),`<?`+o+(s?` `+s:``)+`?>`}function d(e,t){return t.ignoreComment?``:`<!--`+(`commentFn`in t?t.commentFn(e,a,i):e)+`-->`}function f(e,t){return t.ignoreCdata?``:`<![CDATA[`+(`cdataFn`in t?t.cdataFn(e,a,i):e.replace(`]]>`,`]]]]><![CDATA[>`))+`]]>`}function p(e,t){return t.ignoreDoctype?``:`<!DOCTYPE `+(`doctypeFn`in t?t.doctypeFn(e,a,i):e)+`>`}function m(e,t){return t.ignoreText?``:(e=``+e,e=e.replace(/&amp;/g,`&`),e=e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`),`textFn`in t?t.textFn(e,a,i):e)}function h(e,t){var n;if(e.elements&&e.elements.length)for(n=0;n<e.elements.length;++n)switch(e.elements[n][t.typeKey]){case`text`:if(t.indentText)return!0;break;case`cdata`:if(t.indentCdata)return!0;break;case`instruction`:if(t.indentInstruction)return!0;break;case`doctype`:case`comment`:case`element`:return!0;default:return!0}return!1}function g(e,t,n){i=e,a=e.name;var r=[],o=`elementNameFn`in t?t.elementNameFn(e.name,e):e.name;r.push(`<`+o),e[t.attributesKey]&&r.push(c(e[t.attributesKey],t,n));var s=e[t.elementsKey]&&e[t.elementsKey].length||e[t.attributesKey]&&e[t.attributesKey][`xml:space`]===`preserve`;return s||=`fullTagEmptyElementFn`in t?t.fullTagEmptyElementFn(e.name,e):t.fullTagEmptyElement,s?(r.push(`>`),e[t.elementsKey]&&e[t.elementsKey].length&&(r.push(_(e[t.elementsKey],t,n+1)),i=e,a=e.name),r.push(t.spaces&&h(e,t)?` `+Array(n+1).join(t.spaces):``),r.push(`</`+o+`>`)):r.push(`/>`),r.join(``)}function _(e,t,n,r){return e.reduce(function(e,i){var a=s(t,n,r&&!e);switch(i.type){case`element`:return e+a+g(i,t,n);case`comment`:return e+a+d(i[t.commentKey],t);case`doctype`:return e+a+p(i[t.doctypeKey],t);case`cdata`:return e+(t.indentCdata?a:``)+f(i[t.cdataKey],t);case`text`:return e+(t.indentText?a:``)+m(i[t.textKey],t);case`instruction`:var o={};return o[i[t.nameKey]]=i[t.attributesKey]?i:i[t.instructionKey],e+(t.indentInstruction?a:``)+u(o,t,n)}},``)}function v(e,t,n){for(var r in e)if(e.hasOwnProperty(r))switch(r){case t.parentKey:case t.attributesKey:break;case t.textKey:if(t.indentText||n)return!0;break;case t.cdataKey:if(t.indentCdata||n)return!0;break;case t.instructionKey:if(t.indentInstruction||n)return!0;break;case t.doctypeKey:case t.commentKey:return!0;default:return!0}return!1}function b(e,t,n,r,o){i=e,a=t;var l=`elementNameFn`in n?n.elementNameFn(t,e):t;if(e==null||e===``)return`fullTagEmptyElementFn`in n&&n.fullTagEmptyElementFn(t,e)||n.fullTagEmptyElement?`<`+l+`></`+l+`>`:`<`+l+`/>`;var u=[];if(t){if(u.push(`<`+l),typeof e!=`object`)return u.push(`>`+m(e,n)+`</`+l+`>`),u.join(``);e[n.attributesKey]&&u.push(c(e[n.attributesKey],n,r));var d=v(e,n,!0)||e[n.attributesKey]&&e[n.attributesKey][`xml:space`]===`preserve`;if(d||=`fullTagEmptyElementFn`in n?n.fullTagEmptyElementFn(t,e):n.fullTagEmptyElement,d)u.push(`>`);else return u.push(`/>`),u.join(``)}return u.push(x(e,n,r+1,!1)),i=e,a=t,t&&u.push((o?s(n,r,!1):``)+`</`+l+`>`),u.join(``)}function x(e,t,n,i){var a,o,c,h=[];for(o in e)if(e.hasOwnProperty(o))for(c=r(e[o])?e[o]:[e[o]],a=0;a<c.length;++a){switch(o){case t.declarationKey:h.push(l(c[a],t,n));break;case t.instructionKey:h.push((t.indentInstruction?s(t,n,i):``)+u(c[a],t,n));break;case t.attributesKey:case t.parentKey:break;case t.textKey:h.push((t.indentText?s(t,n,i):``)+m(c[a],t));break;case t.cdataKey:h.push((t.indentCdata?s(t,n,i):``)+f(c[a],t));break;case t.doctypeKey:h.push(s(t,n,i)+p(c[a],t));break;case t.commentKey:h.push(s(t,n,i)+d(c[a],t));break;default:h.push(s(t,n,i)+b(c[a],o,t,n,v(c[a],t)))}i&&=!h.length}return h.join(``)}t.exports=function(e,t){t=o(t);var n=[];return i=e,a=`_root_`,t.compact?n.push(x(e,t,0,!0)):(e[t.declarationKey]&&n.push(l(e[t.declarationKey],t,0)),e[t.elementsKey]&&e[t.elementsKey].length&&n.push(_(e[t.elementsKey],t,0,!n.length))),n.join(``)}})),te=o(((e,t)=>{var n=S();t.exports=function(e,t){e instanceof Buffer&&(e=e.toString());var r=null;if(typeof e==`string`)try{r=JSON.parse(e)}catch{throw Error(`The JSON structure is invalid`)}else r=e;return n(r,t)}})),C=l(o(((e,t)=>{t.exports={xml2js:b(),xml2json:x(),js2xml:S(),json2xml:te()}}))());const ne=e=>e.replace(/[-_]+(\w?)/g,(e,t)=>t?t.toUpperCase():``),w=typeof globalThis<`u`&&typeof globalThis.fetch==`function`?globalThis.fetch.bind(globalThis):(()=>{throw Error("tsdav: global fetch is not available in this runtime. Upgrade to Node.js >= 18, run under a browser/Bun/Deno, or install a fetch polyfill on globalThis before importing tsdav. You can also pass a custom `fetch` implementation to `createDAVClient`, `DAVClient`, or individual request helpers.")}),T=/^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?$/,E=e=>{if(typeof e!=`string`)return e;if(T.test(e)){let t=Number(e);if(!Number.isNaN(t)&&Number.isFinite(t)&&(!Number.isInteger(t)||Number.isSafeInteger(t)))return t}let t=e.toLowerCase();return t===`true`||t!==`false`&&e};var re=s({cleanupFalsy:()=>M,conditionalParam:()=>N,excludeHeaders:()=>P,getDAVAttribute:()=>j,mergeHeaders:()=>F,urlContains:()=>k,urlEquals:()=>O,urlMatches:()=>A});const D=e=>{let t=e.trim();return t.endsWith(`/`)?t.slice(0,-1):t},O=(e,t)=>!e&&!t?!0:!e||!t?!1:D(e)===D(t),k=(e,t)=>{if(!e&&!t)return!0;if(!e||!t)return!1;let n=D(e),r=D(t);return n.includes(r)||r.includes(n)},A=(e,t,n)=>{if(!e||!t||!n)return O(e,t);try{return O(new URL(e,n).href,new URL(t,n).href)}catch{return O(e,t)}},j=e=>e.reduce((e,t)=>({...e,[h[t]]:t}),{}),M=e=>Object.entries(e).reduce((e,[t,n])=>n?{...e,[t]:n}:e,{}),N=(e,t)=>t?{[e]:t}:{},P=(e,t)=>{if(!e)return{};if(!t||t.length===0)return e;let n=new Set(t.map(e=>e.toLowerCase()));return Object.fromEntries(Object.entries(e).filter(([e])=>!n.has(e.toLowerCase())))},F=(...e)=>{let t=new Map,n=(e,n)=>{t.set(e.toLowerCase(),[e,n])};for(let t of e)if(t){if(Array.isArray(t)){for(let[e,r]of t)n(e,r);continue}if(typeof t.forEach==`function`){t.forEach((e,t)=>{n(t,e)});continue}for(let[e,r]of Object.entries(t))n(e,r)}return Object.fromEntries(t.values())};var ie=s({createObject:()=>se,davRequest:()=>I,deleteObject:()=>R,propfind:()=>L,updateObject:()=>ce});const ae=(0,p.default)(`tsdav:request`),oe=e=>{let t=/^\S+\s(?<status>\d+)\s(?<statusText>.+)$/.exec(e??``),n=t?.groups?.status,r=t?.groups?.statusText;return n&&r?{status:Number.parseInt(n,10),statusText:r}:void 0},I=async e=>{let{url:t,init:n,convertIncoming:r=!0,parseOutgoing:i=!0,fetchOptions:a={},fetch:o}=e,s=o??w,{headers:c={},body:l,namespace:u,method:d,attributes:f}=n,p=r&&l!=null?C.default.js2xml({_declaration:{_attributes:{version:`1.0`,encoding:`utf-8`}},_attributes:f,...l},{compact:!0,spaces:2,elementNameFn:e=>u&&!/^.+:.+/.test(e)?`${u}:${e}`:e}):l,m={...a};delete m.headers;let h=F({"Content-Type":`text/xml;charset=UTF-8`},M(c),a.headers),g=await s(t,{...m,headers:h,body:p,method:d}),_=await g.text();if(!g.ok||!g.headers.get(`content-type`)?.toLowerCase().includes(`xml`)||!i||!_){let e=4096,t=_.length>e?`${_.slice(0,e)}…`:_;return[{href:g.url,ok:g.ok,status:g.status,statusText:g.statusText,raw:t}]}let v;try{v=C.default.xml2js(_,{compact:!0,trim:!0,textFn:(e,t)=>{try{let n=t._parent,r=Object.keys(n),i=r[r.length-1];if(!i)return;let a=n[i];if(a.length>0){let t=a,n=a.length-1;t[n]=E(e)}else n[i]=E(e)}catch(e){ae(e.stack)}},elementNameFn:e=>ne(e.replace(/^.+:/,``)),attributesFn:e=>{let t={...e};return delete t.xmlns,t},ignoreDeclaration:!0})}catch(e){return ae(`Failed to parse DAV response XML: ${e.message}`),[{href:g.url,ok:g.ok,status:g.status,statusText:g.statusText,raw:_}]}return v?.multistatus?(Array.isArray(v.multistatus.response)?v.multistatus.response:[v.multistatus.response]).map(e=>{if(!e)return{status:g.status,statusText:g.statusText,ok:g.ok};let t=oe(e.status),n=t?.status??g.status;return{raw:v,href:e.href,status:n,statusText:t?.statusText??g.statusText,ok:n>=200&&n<300,error:e.error,responsedescription:e.responsedescription,props:(Array.isArray(e.propstat)?e.propstat:[e.propstat]).reduce((e,t)=>{let n=oe(t?.status)?.status;return n&&(n<200||n>=300)?e:{...e,...t?.prop}},{})}}):[{href:g.url,ok:g.ok,status:g.status,statusText:g.statusText,raw:v}]},L=async e=>{let{url:t,props:n,depth:r,headers:i,headersToExclude:a,fetchOptions:o={},fetch:s}=e;return I({url:t,init:{method:`PROPFIND`,headers:P(M({depth:r,...i}),a),namespace:`d`,body:{propfind:{_attributes:j([`urn:ietf:params:xml:ns:caldav`,`http://apple.com/ns/ical/`,`http://calendarserver.org/ns/`,`urn:ietf:params:xml:ns:carddav`,`DAV:`]),prop:n}}},fetchOptions:o,fetch:s})},se=async e=>{let{url:t,data:n,headers:r,headersToExclude:i,fetchOptions:a={},fetch:o}=e,s=o??w,{headers:c,...l}=a;return s(t,{...l,method:`PUT`,body:n,headers:P(F(r,c),i)})},ce=async e=>{let{url:t,data:n,etag:r,headers:i,headersToExclude:a,fetchOptions:o={},fetch:s}=e,c=s??w,{headers:l,...u}=o;return c(t,{...u,method:`PUT`,body:n,headers:P(F(M({"If-Match":r,...i}),l),a)})},R=async e=>{let{url:t,headers:n,etag:r,headersToExclude:i,fetchOptions:a={},fetch:o}=e,s=o??w,{headers:c,...l}=a;return s(t,{...l,method:`DELETE`,headers:P(F(M({"If-Match":r,...n}),c),i)})};function z(e,t){let n=e=>t.every(t=>e[t]);return Array.isArray(e)?e.every(e=>n(e)):n(e)}const B=(e,t)=>t.reduce((t,n)=>e[n]?t:`${t.length?`${t},`:``}${n.toString()}`,``);var le=s({collectionQuery:()=>V,isCollectionDirty:()=>me,makeCollection:()=>pe,smartCollectionSync:()=>U,smartCollectionSyncDetailed:()=>ge,supportedReportSet:()=>H,syncCollection:()=>he});const ue=(0,p.default)(`tsdav:collection`),de=(e,t)=>{try{return new URL(e,t).href}catch{return e}},fe=(e,t,n)=>{try{return new URL(e,n).pathname.toLowerCase().endsWith(t)}catch{return(e.split(/[?#]/,1)[0]??``).toLowerCase().endsWith(t)}},V=async e=>{let{url:t,body:n,depth:r,defaultNamespace:i=`d`,headers:a,headersToExclude:o,fetchOptions:s={},fetch:c}=e,l=await I({url:t,init:{method:`REPORT`,headers:P(M({depth:r,...a}),o),namespace:i,body:n},fetchOptions:s,fetch:c}),u=l.find(e=>!e.ok||e.status&&e.status>=400);if(u)throw Error(`Collection query failed: ${u.status} ${u.statusText}. ${u.raw?`Raw response: ${u.raw}`:``}`);let d=l[0];return l.length===1&&d&&!d.raw&&d.status&&d.status<300?[]:l},pe=async e=>{let{url:t,props:n,depth:r,headers:i,headersToExclude:a,fetchOptions:o={},fetch:s}=e;return I({url:t,init:{method:`MKCOL`,headers:P(M({depth:r,...i}),a),namespace:`d`,body:n?{mkcol:{set:{prop:n}}}:void 0},fetchOptions:o,fetch:s})},H=async e=>{let{collection:t,headers:n,headersToExclude:r,fetchOptions:i={},fetch:a}=e,o=(await L({url:t.url,props:{"d:supported-report-set":{}},depth:`0`,headers:P(n,r),fetchOptions:i,fetch:a}))[0]?.props?.supportedReportSet?.supportedReport;return o?(Array.isArray(o)?o:[o]).map(e=>e?.report?Object.keys(e.report)[0]:void 0).filter(e=>typeof e==`string`&&e.length>0):[]},me=async e=>{let{collection:t,headers:n,headersToExclude:r,fetchOptions:i={},fetch:a}=e,o=(await L({url:t.url,props:{"cs:getctag":{}},depth:`0`,headers:P(n,r),fetchOptions:i,fetch:a})).find(e=>A(t.url,e.href,t.url));if(!o)throw Error(`Collection does not exist on server`);if(!o.ok)throw Error(`Collection status check failed: ${o.status} ${o.statusText}`);let s=o.props?.getctag;return{isDirty:t.ctag==null||s==null||`${t.ctag}`!=`${s}`,newCtag:s?.toString()}},he=e=>{let{url:t,props:n,headers:r,syncLevel:i,syncToken:a,headersToExclude:o,fetchOptions:s,fetch:c}=e;return I({url:t,init:{method:`REPORT`,namespace:`d`,headers:P({...r},o),body:{"sync-collection":{_attributes:j([`urn:ietf:params:xml:ns:caldav`,`urn:ietf:params:xml:ns:carddav`,`DAV:`]),"sync-level":i,"sync-token":a,"d:prop":n}}},fetchOptions:s,fetch:c})},U=async e=>{let{collection:t,method:n,headers:r,headersToExclude:i,account:a,detailedResult:o,fetchOptions:s={},fetch:c}=e,l=[`accountType`,`homeUrl`];if(!a||!z(a,l))throw Error(a?`account must have ${B(a,l)} before smartCollectionSync`:`no account for smartCollectionSync`);let u=n??(t.reports?.includes(`syncCollection`)?`webdav`:`basic`);if(ue(`smart collection sync with type ${a.accountType} and method ${u}`),u===`webdav`){let e=await he({url:t.url,props:{"d:getetag":{},[`${a.accountType===`caldav`?`c`:`card`}:${a.accountType===`caldav`?`calendar-data`:`address-data`}`]:{},"d:displayname":{}},syncLevel:1,syncToken:t.syncToken,headers:P(r,i),fetchOptions:s,fetch:c}),n=e.filter(e=>{let n=a.accountType===`caldav`?`.ics`:`.vcf`;return typeof e.href==`string`&&fe(e.href,n,t.url)}),l=n.filter(e=>e.status!==404).map(e=>e.href),u=n.filter(e=>e.status===404).map(e=>e.href),d=t.objectMultiGet;if(l.length>0&&!d)throw Error(`collection.objectMultiGet is required for webdav sync changes`);let f=(l.length?await d?.({url:t.url,props:{"d:getetag":{},[`${a.accountType===`caldav`?`c`:`card`}:${a.accountType===`caldav`?`calendar-data`:`address-data`}`]:{}},objectUrls:l,depth:`1`,headers:P(r,i),fetchOptions:s,fetch:c})??[]:[]).map(e=>({url:de(e.href??``,t.url),etag:e.props?.getetag==null?void 0:String(e.props.getetag),data:a?.accountType===`caldav`?e.props?.calendarData?._cdata??e.props?.calendarData:e.props?.addressData?._cdata??e.props?.addressData})),p=t.objects??[],m=f.filter(e=>p.every(n=>!A(n.url,e.url,t.url))),h=p.reduce((e,n)=>{let r=f.find(e=>A(e.url,n.url,t.url));return r&&r.etag&&r.etag!==n.etag?[...e,r]:e},[]),g=u.map(e=>({url:de(e,t.url),etag:``})),_=p.filter(e=>g.every(n=>!A(e.url,n.url,t.url))&&h.every(n=>!A(e.url,n.url,t.url)));return{...t,objects:o?{created:m,updated:h,deleted:g}:[..._,...m,...h],syncToken:e[0]?.raw?.multistatus?.syncToken??t.syncToken}}if(u===`basic`){let{isDirty:e,newCtag:n}=await me({collection:t,headers:P(r,i),fetchOptions:s,fetch:c});if(!e)return o?{...t,objects:{created:[],updated:[],deleted:[]}}:t;let a=t.objects??[];if(!t.fetchObjects)throw Error(`collection.fetchObjects is required for basic sync changes`);let l=await t.fetchObjects({collection:t,headers:P(r,i),fetchO