"use strict";function e(e,t){return void 0===t&&(t=Object),t&&"function"==typeof t.freeze?t.freeze(e):e;}function t(e){return""!==e;}function r(e,t){return e.hasOwnProperty(t)||(e[t]=!0),e;}function n(e){if(!e)return[];var n=function(e){return e?e.split(/[\t\n\f\r ]+/).filter(t):[];}(e);return Object.keys(n.reduce(r,{}));}function a(e,t){for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);}function i(e,t){var r=e.prototype;if(!(r instanceof t)){let n=function(){};n.prototype=t.prototype,n=new n(),a(r,n),e.prototype=r=n;}r.constructor!=e&&("function"!=typeof e&&console.error("unknown Class:"+e),r.constructor=e);}function o(e,t){if(t instanceof Error)var r=t;else r=this,Error.call(this,nt[e]),this.message=nt[e],Error.captureStackTrace&&Error.captureStackTrace(this,o);return r.code=e,t&&(this.message=this.message+": "+t),r;}function s(){}function l(e,t){this._node=e,this._refresh=t,c(this);}function c(e){var t=e._node._inc||e._node.ownerDocument._inc;if(e._inc!==t){var r=e._refresh(e._node);if(K(e,"length",r.length),!e.$$length||e.$$length>r.length)for(var n=r.length;n in e;n++)({}).hasOwnProperty.call(e,n)&&delete e[n];a(r,e),e._inc=t;}}function u(){}function h(e,t){for(var r=e.length;r--;)if(e[r]===t)return r;}function p(e,t,r,n){if(n?t[h(t,n)]=r:t[t.length++]=r,e){r.ownerElement=e;var a=e.ownerDocument;a&&(n&&v(a,e,n),function(e,t,r){e&&e._inc++,r.namespaceURI===He.XMLNS&&(t._nsMap[r.prefix?r.localName:""]=r.value);}(a,e,r));}}function d(e,t,r){var n=h(t,r);if(0>n)throw new o(it,Error(e.tagName+"@"+r));for(var a=t.length-1;a>n;)t[n]=t[++n];if(t.length=a,e){var i=e.ownerDocument;i&&(v(i,e,r),r.ownerElement=null);}}function f(){}function m(){}function g(e){return("<"==e?"<":">"==e&&">")||"&"==e&&"&"||'"'==e&&"""||"&#"+e.charCodeAt()+";";}function w(e,t){if(t(e))return!0;if(e=e.firstChild)do{if(w(e,t))return!0;}while(e=e.nextSibling);}function b(){this.ownerDocument=this;}function v(e,t,r,n){e&&e._inc++,r.namespaceURI===He.XMLNS&&delete t._nsMap[r.prefix?r.localName:""];}function E(e,t,r){if(e&&e._inc){e._inc++;var n=t.childNodes;if(r)n[n.length++]=r;else{for(var a=t.firstChild,i=0;a;)n[i++]=a,a=a.nextSibling;n.length=i,delete n[n.length];}}}function y(e,t){var r=t.previousSibling,n=t.nextSibling;return r?r.nextSibling=n:e.firstChild=n,n?n.previousSibling=r:e.lastChild=r,t.parentNode=null,t.previousSibling=null,t.nextSibling=null,E(e.ownerDocument,e),t;}function N(e){return e&&e.nodeType===m.DOCUMENT_TYPE_NODE;}function T(e){return e&&e.nodeType===m.ELEMENT_NODE;}function x(e){return e&&e.nodeType===m.TEXT_NODE;}function S(e,t){var r=e.childNodes||[];if(Be(r,T)||N(t))return!1;var n=Be(r,N);return!(t&&n&&r.indexOf(n)>r.indexOf(t));}function D(e,t){var r=e.childNodes||[];if(Be(r,function(e){return T(e)&&e!==t;}))return!1;var n=Be(r,N);return!(t&&n&&r.indexOf(n)>r.indexOf(t));}function A(e,t,r){var n=e.childNodes||[],a=t.childNodes||[];if(t.nodeType===m.DOCUMENT_FRAGMENT_NODE){var i=a.filter(T);if(i.length>1||Be(a,x))throw new o(at,"More than one element or text in fragment");if(1===i.length&&!S(e,r))throw new o(at,"Element in fragment can not be inserted before doctype");}if(T(t)&&!S(e,r))throw new o(at,"Only one element can be added and only after doctype");if(N(t)){if(Be(n,N))throw new o(at,"Only one doctype is allowed");var s=Be(n,T);if(r&&n.indexOf(s)1||Be(a,x))throw new o(at,"More than one element or text in fragment");if(1===i.length&&!D(e,r))throw new o(at,"Element in fragment can not be inserted before doctype");}if(T(t)&&!D(e,r))throw new o(at,"Only one element can be added and only after doctype");if(N(t)){if(Be(n,function(e){return N(e)&&e!==r;}))throw new o(at,"Only one doctype is allowed");var s=Be(n,T);if(r&&n.indexOf(s)h;h++)if("xmlns"===i.item(h).name){u=i.item(h).value;break;}if(!u)for(var p=a.length-1;p>=0;p--)if(""===(d=a[p]).prefix&&d.namespace===e.namespaceURI){u=d.namespace;break;}if(u!==e.namespaceURI)for(p=a.length-1;p>=0;p--){var d;if((d=a[p]).namespace===e.namespaceURI){d.prefix&&(c=d.prefix+":"+l);break;}}}t.push("<",c);for(var f=0;o>f;f++)"xmlns"==(m=i.item(f)).prefix?a.push({prefix:m.localName,namespace:m.value}):"xmlns"==m.nodeName&&a.push({prefix:"",namespace:m.value});for(f=0;o>f;f++){var m,w,b;j(m=i.item(f),0,a)&&(G(t,(w=m.prefix||"")?"xmlns:"+w:"xmlns",b=m.namespaceURI),a.push({prefix:w,namespace:b})),$(m,t,r,n,a);}if(l===c&&j(e,0,a)&&(G(t,(w=e.prefix||"")?"xmlns:"+w:"xmlns",b=e.namespaceURI),a.push({prefix:w,namespace:b})),s||r&&!/^(?:meta|link|img|br|hr|input)$/i.test(l)){if(t.push(">"),r&&/^script$/i.test(l))for(;s;)s.data?t.push(s.data):$(s,t,r,n,a.slice()),s=s.nextSibling;else for(;s;)$(s,t,r,n,a.slice()),s=s.nextSibling;t.push("");}else t.push("/>");return;case Je:case et:for(s=e.firstChild;s;)$(s,t,r,n,a.slice()),s=s.nextSibling;return;case Ge:return G(t,e.name,e.value);case $e:return t.push(e.data.replace(/[<&>]/g,g));case ze:return t.push("");case Ze:return t.push("\x3c!--",e.data,"--\x3e");case Qe:var v=e.publicId,E=e.systemId;if(t.push("");else if(E&&"."!=E)t.push(" SYSTEM ",E,">");else{var y=e.internalSubset;y&&t.push(" [",y,"]"),t.push(">");}return;case We:return t.push("");case Ye:return t.push("&",e.nodeName,";");default:t.push("??",e.nodeName);}}function z(e,t,r){var n;switch(t.nodeType){case je:(n=t.cloneNode(!1)).ownerDocument=e;case et:break;case Ge:r=!0;}if(n||(n=t.cloneNode(!1)),n.ownerDocument=e,n.parentNode=null,r)for(var a=t.firstChild;a;)n.appendChild(z(e,a,r)),a=a.nextSibling;return n;}function Y(e,t,r){var n=new t.constructor();for(var a in t)if({}.hasOwnProperty.call(t,a)){var i=t[a];"object"!=typeof i&&i!=n[a]&&(n[a]=i);}switch(t.childNodes&&(n.childNodes=new s()),n.ownerDocument=e,n.nodeType){case je:var o=t.attributes,l=n.attributes=new u(),c=o.length;l._ownerElement=n;for(var h=0;c>h;h++)n.setAttributeNode(Y(e,o.item(h),!0));break;case Ge:r=!0;}if(r)for(var p=t.firstChild;p;)n.appendChild(Y(e,p,r)),p=p.nextSibling;return n;}function K(e,t,r){e[t]=r;}function W(e,t){this.message=e,this.locator=t,Error.captureStackTrace&&Error.captureStackTrace(this,W);}function Z(){}function J(e,t){return t.lineNumber=e.lineNumber,t.columnNumber=e.columnNumber,t;}function Q(e,t,r,n,a,i){function o(e,t,n){r.attributeNames.hasOwnProperty(e)&&i.fatalError("Attribute "+e+" redefined"),r.addValue(e,t.replace(/[\t\n\r]/g," ").replace(/&#?\w+;/g,a),n);}for(var s,l=++t,c=gt;;){var u=e.charAt(l);switch(u){case"=":if(c===wt)s=e.slice(t,l),c=vt;else{if(c!==bt)throw Error("attribute equal must after attrName");c=vt;}break;case"'":case'"':if(c===vt||c===wt){if(c===wt&&(i.warning('attribute value must after "="'),s=e.slice(t,l)),0>=(l=e.indexOf(u,t=l+1)))throw Error("attribute value no end '"+u+"' match");o(s,h=e.slice(t,l),t-1),c=yt;}else{if(c!=Et)throw Error('attribute value must after "="');o(s,h=e.slice(t,l),t),i.warning('attribute "'+s+'" missed start quot('+u+")!!"),t=l+1,c=yt;}break;case"/":switch(c){case gt:r.setTagName(e.slice(t,l));case yt:case Nt:case Tt:c=Tt,r.closed=!0;case Et:case wt:break;case bt:r.closed=!0;break;default:throw Error("attribute invalid close char('/')");}break;case"":return i.error("unexpected end of input"),c==gt&&r.setTagName(e.slice(t,l)),l;case">":switch(c){case gt:r.setTagName(e.slice(t,l));case yt:case Nt:case Tt:break;case Et:case wt:"/"===(h=e.slice(t,l)).slice(-1)&&(r.closed=!0,h=h.slice(0,-1));case bt:c===bt&&(h=s),c==Et?(i.warning('attribute "'+h+'" missed quot(")!'),o(s,h,t)):(pt.isHTML(n[""])&&h.match(/^(?:disabled|checked|selected)$/i)||i.warning('attribute "'+h+'" missed value!! "'+h+'" instead!!'),o(h,h,t));break;case vt:throw Error("attribute value missed!!");}return l;case"€":u=" ";default:if(u>" ")switch(c){case bt:pt.isHTML(n[""])&&s.match(/^(?:disabled|checked|selected)$/i)||i.warning('attribute "'+s+'" missed value!! "'+s+'" instead2!!'),o(s,s,t),t=l,c=wt;break;case yt:i.warning('attribute space is required"'+s+'"!!');case Nt:c=wt,t=l;break;case vt:c=Et,t=l;break;case Tt:throw Error("elements closed character '/' and '>' must be connected to");}else switch(c){case gt:r.setTagName(e.slice(t,l)),c=Nt;break;case wt:s=e.slice(t,l),c=bt;break;case Et:var h=e.slice(t,l);i.warning('attribute "'+h+'" missed quot(")!!'),o(s,h,t);case yt:c=Nt;}}l++;}}function ee(e,t,r){for(var n=e.tagName,a=null,i=e.length;i--;){var o=e[i],s=o.qName,l=o.value;if((p=s.indexOf(":"))>0)var c=o.prefix=s.slice(0,p),u=s.slice(p+1),h="xmlns"===c&&u;else u=s,c=null,h="xmlns"===s&&"";o.localName=u,!1!==h&&(null==a&&(a={},ne(r,r={})),r[h]=a[h]=l,o.uri=pt.XMLNS,t.startPrefixMapping(h,l));}for(i=e.length;i--;)(c=(o=e[i]).prefix)&&("xml"===c&&(o.uri=pt.XML),"xmlns"!==c&&(o.uri=r[c||""]));var p;(p=n.indexOf(":"))>0?(c=e.prefix=n.slice(0,p),u=e.localName=n.slice(p+1)):(c=null,u=e.localName=n);var d=e.uri=r[c||""];if(t.startElement(d,u,n,e),!e.closed)return e.currentNSMap=r,e.localNSMap=a,!0;if(t.endElement(d,u,n),a)for(c in a)({}).hasOwnProperty.call(a,c)&&t.endPrefixMapping(c);}function te(e,t,r,n,a){if(/^(?:script|textarea)$/i.test(r)){var i=e.indexOf("",t),o=e.substring(t+1,i);if(/[&<]/.test(o))return /^script$/i.test(r)?(a.characters(o,0,o.length),i):(o=o.replace(/&#?\w+;/g,n),a.characters(o,0,o.length),i);}return t+1;}function re(e,t,r,n){var a=n[r];return null==a&&(t>(a=e.lastIndexOf(""))&&(a=e.lastIndexOf("a;}function ne(e,t){for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);}function ae(e,t,r,n){if("-"===e.charAt(t+2))return"-"===e.charAt(t+3)?(a=e.indexOf("--\x3e",t+4))>t?(r.comment(e,t+4,a-t-4),a+3):(n.error("Unclosed comment"),-1):-1;if("CDATA["==e.substr(t+3,6)){var a=e.indexOf("]]>",t+9);return r.startCDATA(),r.characters(e,t+9,a-t-9),r.endCDATA(),a+3;}var i=function(e,t){var r,n=[],a=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;for(a.lastIndex=t,a.exec(e);r=a.exec(e);)if(n.push(r),r[1])return n;}(e,t),o=i.length;if(o>1&&/!doctype/i.test(i[0][0])){var s=i[1][0],l=!1,c=!1;o>3&&(/^public$/i.test(i[2][0])?(l=i[3][0],c=o>4&&i[4][0]):/^system$/i.test(i[2][0])&&(c=i[3][0]));var u=i[o-1];return r.startDTD(s,l,c),r.endDTD(),u.index+u[0].length;}return-1;}function ie(e,t,r){var n=e.indexOf("?>",t);if(n){var a=e.substring(t,n).match(/^<\?(\S*)\s*([\s\S]*?)\s*$/);return a?(r.processingInstruction(a[1],a[2]),n+2):-1;}return-1;}function oe(){this.attributeNames={};}function se(e){return e.replace(/\r[\n\u0085]/g,"\n").replace(/[\r\u0085\u2028]/g,"\n");}function le(e){this.options=e||{locator:{}};}function ce(){this.cdata=!1;}function ue(e,t){t.lineNumber=e.lineNumber,t.columnNumber=e.columnNumber;}function he(e){if(e)return"\n@"+(e.systemId||"")+"#[line:"+e.lineNumber+",col:"+e.columnNumber+"]";}function pe(e,t,r){return"string"==typeof e?e.substr(t,r):e.length>=t+r||t?new java.lang.String(e,t,r)+"":e;}function de(e,t){e.currentElement?e.currentElement.appendChild(t):e.doc.appendChild(t);}function fe(e){let t=null,r=null;const n=[],a=new qt({locator:{},errorHandler:{warning:e=>{},error:e=>{n.push(e);},fatalError:e=>{n.push(e);}}}).parseFromString(e,"text/xml");if(n.length)throw Error("XML decode error: "+n[0]);const{childNodes:i}=a,o=a.documentElement||null;for(let s=0,l=i.length;l>s;s++){const e=i[s];if(e===o)break;const n=""+e;/^<\?xml[^>]*\?>$/.test(n)&&(t=n),/^]*>$/.test(n)&&(r=n);}if(!o)throw Error("XML decode error: No document element");return{declaration:t,doctype:r,documentElement:o};}function me(e){const{childNodes:t}=e,r=[];for(let n=0,a=t.length;a>n;n++){const a=t[n];if("tagName"in a){r.push(a);continue;}const{nodeValue:i}=a;if(i&&!/^\s*$/.test(i))throw Error("Found text children of: "+e.tagName);}return r;}function ge(e){const{childNodes:t}=e;let r=null;for(let n=0,a=t.length;a>n;n++){if(n)throw Error("Multiple child elements in: "+e.tagName);const a=t[n];if("tagName"in a||!("data"in a)||!("nodeValue"in a))throw Error("Unexpected child element in: "+e.tagName);r=a;}return r;}function we(e,t){if(e.tagName!==t)throw Error("Unexpected tagName: "+t);}function be(e){const t=e.length;let r="";for(let n=0;t>n;){const a=e[n++],i=t>n?e[n++]:null,o=t>n?e[n++]:null,s=a<<16|(i||0)<<8|(o||0);r+=Ct[s>>18]+Ct[s>>12&Rt]+Ct[null===i?64:s>>6&Rt]+Ct[null===o?64:s&Rt];}return r;}function ve(e){if("number"==typeof e&&!Number.isInteger(e))throw Error("Value not an integer: "+e);}function Ee(e){return e.replace(/\\/g,"/").replace(/([^/])\/+$/,"$1");}function ye(e){return Le.join(e,"..namedfork","rsrc");}async function Ne(e,t){if(!er)return;const r=await Ce.open(e,Jt|Qt);try{await r.chmod(t);}finally{await r.close();}}async function Te(e,t,r){await Ce.utimes(e,t,r);}async function xe(e,t,r){if(!tr)return;const n=await Ce.open(e,Jt|Qt);try{await n.utimes(t,r);}finally{await n.close();}}async function Se(e,t){await Ce.chmod(e,t);}async function De(e){return(await Ce.readdir(e)).sort();}async function Ae(e){return Ce.lstat(e);}async function _e(e){try{return await Ae(e);}catch(t){const{code:e}=t;if("ENOENT"===e||"ENOTDIR"===e)return null;throw t;}}async function qe(e,t,r={}){const{ignoreUnreadableDirectories:n}=r,a=(await De(e)).reverse();for(;a.length;){const r=a.pop(),o=Le.join(e,r),s=await Ae(o),l=await t(r,s);if(null===l)break;if(!1===l||!s.isDirectory())continue;let c=[];try{c=await De(o);}catch(i){if(!i||!n||"EACCES"!==i.code)throw i;}for(let e=c.length;e--;)a.push(Le.join(r,c[e]));}}Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Re=require("fs"),Le=require("path"),Ce=require("fs/promises"),ke=require("stream"),Ie=require("util"),Oe=require("stream/promises"),Me=require("child_process");var Ue={},Pe={},Ve=e({HTML:"text/html",isHTML:function(e){return e===Ve.HTML;},XML_APPLICATION:"application/xml",XML_TEXT:"text/xml",XML_XHTML_APPLICATION:"application/xhtml+xml",XML_SVG_IMAGE:"image/svg+xml"}),Fe=e({HTML:"http://www.w3.org/1999/xhtml",isHTML:function(e){return e===Fe.HTML;},SVG:"http://www.w3.org/2000/svg",XML:"http://www.w3.org/XML/1998/namespace",XMLNS:"http://www.w3.org/2000/xmlns/"});Pe.assign=function(e,t){if(null===e||"object"!=typeof e)throw new TypeError("target is not an object");for(var r in t)({}).hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e;},Pe.find=function(e,t,r){if(void 0===r&&(r=Array.prototype),e&&"function"==typeof r.find)return r.find.call(e,t);for(var n=0;e.length>n;n++)if({}.hasOwnProperty.call(e,n)){var a=e[n];if(t.call(void 0,a,n,e))return a;}},Pe.freeze=e,Pe.MIME_TYPE=Ve,Pe.NAMESPACE=Fe;var Be=Pe.find,He=Pe.NAMESPACE,Xe={},je=Xe.ELEMENT_NODE=1,Ge=Xe.ATTRIBUTE_NODE=2,$e=Xe.TEXT_NODE=3,ze=Xe.CDATA_SECTION_NODE=4,Ye=Xe.ENTITY_REFERENCE_NODE=5,Ke=Xe.ENTITY_NODE=6,We=Xe.PROCESSING_INSTRUCTION_NODE=7,Ze=Xe.COMMENT_NODE=8,Je=Xe.DOCUMENT_NODE=9,Qe=Xe.DOCUMENT_TYPE_NODE=10,et=Xe.DOCUMENT_FRAGMENT_NODE=11,tt=Xe.NOTATION_NODE=12,rt={},nt={};rt.INDEX_SIZE_ERR=(nt[1]="Index size error",1),rt.DOMSTRING_SIZE_ERR=(nt[2]="DOMString size error",2);var at=rt.HIERARCHY_REQUEST_ERR=(nt[3]="Hierarchy request error",3);rt.WRONG_DOCUMENT_ERR=(nt[4]="Wrong document",4),rt.INVALID_CHARACTER_ERR=(nt[5]="Invalid character",5),rt.NO_DATA_ALLOWED_ERR=(nt[6]="No data allowed",6),rt.NO_MODIFICATION_ALLOWED_ERR=(nt[7]="No modification allowed",7);var it=rt.NOT_FOUND_ERR=(nt[8]="Not found",8);rt.NOT_SUPPORTED_ERR=(nt[9]="Not supported",9);var ot=rt.INUSE_ATTRIBUTE_ERR=(nt[10]="Attribute in use",10);rt.INVALID_STATE_ERR=(nt[11]="Invalid state",11),rt.SYNTAX_ERR=(nt[12]="Syntax error",12),rt.INVALID_MODIFICATION_ERR=(nt[13]="Invalid modification",13),rt.NAMESPACE_ERR=(nt[14]="Invalid namespace",14),rt.INVALID_ACCESS_ERR=(nt[15]="Invalid access",15),o.prototype=Error.prototype,a(rt,o),s.prototype={length:0,item:function(e){return e>=0&&this.length>e?this[e]:null;},toString:function(e,t){for(var r=[],n=0;this.length>n;n++)$(this[n],r,e,t);return r.join("");},filter:function(e){return[].filter.call(this,e);},indexOf:function(e){return[].indexOf.call(this,e);}},l.prototype.item=function(e){return c(this),this[e]||null;},i(l,s),u.prototype={length:0,item:s.prototype.item,getNamedItem:function(e){for(var t=this.length;t--;){var r=this[t];if(r.nodeName==e)return r;}},setNamedItem:function(e){var t=e.ownerElement;if(t&&t!=this._ownerElement)throw new o(ot);var r=this.getNamedItem(e.nodeName);return p(this._ownerElement,this,e,r),r;},setNamedItemNS:function(e){var t,r=e.ownerElement;if(r&&r!=this._ownerElement)throw new o(ot);return t=this.getNamedItemNS(e.namespaceURI,e.localName),p(this._ownerElement,this,e,t),t;},removeNamedItem:function(e){var t=this.getNamedItem(e);return d(this._ownerElement,this,t),t;},removeNamedItemNS:function(e,t){var r=this.getNamedItemNS(e,t);return d(this._ownerElement,this,r),r;},getNamedItemNS:function(e,t){for(var r=this.length;r--;){var n=this[r];if(n.localName==t&&n.namespaceURI==e)return n;}return null;}},f.prototype={hasFeature:function(e,t){return!0;},createDocument:function(e,t,r){var n=new b();if(n.implementation=this,n.childNodes=new s(),n.doctype=r||null,r&&n.appendChild(r),t){var a=n.createElementNS(e,t);n.appendChild(a);}return n;},createDocumentType:function(e,t,r){var n=new M();return n.name=e,n.nodeName=e,n.publicId=t||"",n.systemId=r||"",n;}},m.prototype={firstChild:null,lastChild:null,previousSibling:null,nextSibling:null,attributes:null,parentNode:null,childNodes:null,ownerDocument:null,nodeValue:null,namespaceURI:null,prefix:null,localName:null,insertBefore:function(e,t){return q(this,e,t);},replaceChild:function(e,t){q(this,e,t,_),t&&this.removeChild(t);},removeChild:function(e){return y(this,e);},appendChild:function(e){return this.insertBefore(e,null);},hasChildNodes:function(){return null!=this.firstChild;},cloneNode:function(e){return Y(this.ownerDocument||this,this,e);},normalize:function(){for(var e=this.firstChild;e;){var t=e.nextSibling;t&&t.nodeType==$e&&e.nodeType==$e?(this.removeChild(t),e.appendData(t.data)):(e.normalize(),e=t);}},isSupported:function(e,t){return this.ownerDocument.implementation.hasFeature(e,t);},hasAttributes:function(){return this.attributes.length>0;},lookupPrefix:function(e){for(var t=this;t;){var r=t._nsMap;if(r)for(var n in r)if({}.hasOwnProperty.call(r,n)&&r[n]===e)return n;t=t.nodeType==Ge?t.ownerDocument:t.parentNode;}return null;},lookupNamespaceURI:function(e){for(var t=this;t;){var r=t._nsMap;if(r&&{}.hasOwnProperty.call(r,e))return r[e];t=t.nodeType==Ge?t.ownerDocument:t.parentNode;}return null;},isDefaultNamespace:function(e){return null==this.lookupPrefix(e);}},a(Xe,m),a(Xe,m.prototype),b.prototype={nodeName:"#document",nodeType:Je,doctype:null,documentElement:null,_inc:1,insertBefore:function(e,t){if(e.nodeType==et){for(var r=e.firstChild;r;){var n=r.nextSibling;this.insertBefore(r,t),r=n;}return e;}return q(this,e,t),e.ownerDocument=this,null===this.documentElement&&e.nodeType===je&&(this.documentElement=e),e;},removeChild:function(e){return this.documentElement==e&&(this.documentElement=null),y(this,e);},replaceChild:function(e,t){q(this,e,t,_),e.ownerDocument=this,t&&this.removeChild(t),T(e)&&(this.documentElement=e);},importNode:function(e,t){return z(this,e,t);},getElementById:function(e){var t=null;return w(this.documentElement,function(r){if(r.nodeType==je&&r.getAttribute("id")==e)return t=r,!0;}),t;},getElementsByClassName:function(e){var t=n(e);return new l(this,function(r){var a=[];return t.length>0&&w(r.documentElement,function(i){if(i!==r&&i.nodeType===je){var o=i.getAttribute("class");if(o){var s=e===o;if(!s){var l=n(o);s=t.every((c=l,function(e){return c&&-1!==c.indexOf(e);}));}s&&a.push(i);}}var c;}),a;});},createElement:function(e){var t=new R();return t.ownerDocument=this,t.nodeName=e,t.tagName=e,t.localName=e,t.childNodes=new s(),(t.attributes=new u())._ownerElement=t,t;},createDocumentFragment:function(){var e=new F();return e.ownerDocument=this,e.childNodes=new s(),e;},createTextNode:function(e){var t=new k();return t.ownerDocument=this,t.appendData(e),t;},createComment:function(e){var t=new I();return t.ownerDocument=this,t.appendData(e),t;},createCDATASection:function(e){var t=new O();return t.ownerDocument=this,t.appendData(e),t;},createProcessingInstruction:function(e,t){var r=new B();return r.ownerDocument=this,r.tagName=r.nodeName=r.target=e,r.nodeValue=r.data=t,r;},createAttribute:function(e){var t=new L();return t.ownerDocument=this,t.name=e,t.nodeName=e,t.localName=e,t.specified=!0,t;},createEntityReference:function(e){var t=new V();return t.ownerDocument=this,t.nodeName=e,t;},createElementNS:function(e,t){var r=new R(),n=t.split(":"),a=r.attributes=new u();return r.childNodes=new s(),r.ownerDocument=this,r.nodeName=t,r.tagName=t,r.namespaceURI=e,2==n.length?(r.prefix=n[0],r.localName=n[1]):r.localName=t,a._ownerElement=r,r;},createAttributeNS:function(e,t){var r=new L(),n=t.split(":");return r.ownerDocument=this,r.nodeName=t,r.name=t,r.namespaceURI=e,r.specified=!0,2==n.length?(r.prefix=n[0],r.localName=n[1]):r.localName=t,r;}},i(b,m),b.prototype.getElementsByTagName=(R.prototype={nodeType:je,hasAttribute:function(e){return null!=this.getAttributeNode(e);},getAttribute:function(e){var t=this.getAttributeNode(e);return t&&t.value||"";},getAttributeNode:function(e){return this.attributes.getNamedItem(e);},setAttribute:function(e,t){var r=this.ownerDocument.createAttribute(e);r.value=r.nodeValue=""+t,this.setAttributeNode(r);},removeAttribute:function(e){var t=this.getAttributeNode(e);t&&this.removeAttributeNode(t);},appendChild:function(e){return e.nodeType===et?this.insertBefore(e,null):function(e,t){return t.parentNode&&t.parentNode.removeChild(t),t.parentNode=e,t.previousSibling=e.lastChild,t.nextSibling=null,t.previousSibling?t.previousSibling.nextSibling=t:e.firstChild=t,e.lastChild=t,E(e.ownerDocument,e,t),t;}(this,e);},setAttributeNode:function(e){return this.attributes.setNamedItem(e);},setAttributeNodeNS:function(e){return this.attributes.setNamedItemNS(e);},removeAttributeNode:function(e){return this.attributes.removeNamedItem(e.nodeName);},removeAttributeNS:function(e,t){var r=this.getAttributeNodeNS(e,t);r&&this.removeAttributeNode(r);},hasAttributeNS:function(e,t){return null!=this.getAttributeNodeNS(e,t);},getAttributeNS:function(e,t){var r=this.getAttributeNodeNS(e,t);return r&&r.value||"";},setAttributeNS:function(e,t,r){var n=this.ownerDocument.createAttributeNS(e,t);n.value=n.nodeValue=""+r,this.setAttributeNode(n);},getAttributeNodeNS:function(e,t){return this.attributes.getNamedItemNS(e,t);},getElementsByTagName:function(e){return new l(this,function(t){var r=[];return w(t,function(n){n===t||n.nodeType!=je||"*"!==e&&n.tagName!=e||r.push(n);}),r;});},getElementsByTagNameNS:function(e,t){return new l(this,function(r){var n=[];return w(r,function(a){a===r||a.nodeType!==je||"*"!==e&&a.namespaceURI!==e||"*"!==t&&a.localName!=t||n.push(a);}),n;});}}).getElementsByTagName,b.prototype.getElementsByTagNameNS=R.prototype.getElementsByTagNameNS,i(R,m),L.prototype.nodeType=Ge,i(L,m),C.prototype={data:"",substringData:function(e,t){return this.data.substring(e,e+t);},appendData:function(e){this.nodeValue=this.data=e=this.data+e,this.length=e.length;},insertData:function(e,t){this.replaceData(e,0,t);},appendChild:function(e){throw Error(nt[at]);},deleteData:function(e,t){this.replaceData(e,t,"");},replaceData:function(e,t,r){var n=this.data.substring(0,e),a=this.data.substring(e+t);this.nodeValue=this.data=r=n+r+a,this.length=r.length;}},i(C,m),k.prototype={nodeName:"#text",nodeType:$e,splitText:function(e){var t=this.data,r=t.substring(e);t=t.substring(0,e),this.data=this.nodeValue=t,this.length=t.length;var n=this.ownerDocument.createTextNode(r);return this.parentNode&&this.parentNode.insertBefore(n,this.nextSibling),n;}},i(k,C),I.prototype={nodeName:"#comment",nodeType:Ze},i(I,C),O.prototype={nodeName:"#cdata-section",nodeType:ze},i(O,C),M.prototype.nodeType=Qe,i(M,m),U.prototype.nodeType=tt,i(U,m),P.prototype.nodeType=Ke,i(P,m),V.prototype.nodeType=Ye,i(V,m),F.prototype.nodeName="#document-fragment",F.prototype.nodeType=et,i(F,m),B.prototype.nodeType=We,i(B,m),H.prototype.serializeToString=function(e,t,r){return X.call(e,t,r);},m.prototype.toString=X;try{if(Object.defineProperty){let e=function(t){switch(t.nodeType){case je:case et:var r=[];for(t=t.firstChild;t;)7!==t.nodeType&&8!==t.nodeType&&r.push(e(t)),t=t.nextSibling;return r.join("");default:return t.nodeValue;}};Object.defineProperty(l.prototype,"length",{get:function(){return c(this),this.$$length;}}),Object.defineProperty(m.prototype,"textContent",{get:function(){return e(this);},set:function(e){switch(this.nodeType){case je:case et:for(;this.firstChild;)this.removeChild(this.firstChild);(e||e+"")&&this.appendChild(this.ownerDocument.createTextNode(e));break;default:this.data=e,this.value=e,this.nodeValue=e;}}}),K=function(e,t,r){e["$$"+t]=r;};}}catch(lr){}Ue.DocumentType=M,Ue.DOMException=o,Ue.DOMImplementation=f,Ue.Element=R,Ue.Node=m,Ue.NodeList=s,Ue.XMLSerializer=H;var st,lt,ct={},ut={};(st=ut).XML_ENTITIES=(lt=Pe.freeze)({amp:"&",apos:"'",gt:">",lt:"<",quot:'"'}),st.HTML_ENTITIES=lt({Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",AMP:"&",amp:"&",And:"⩓",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",ap:"≈",apacir:"⩯",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",Barwed:"⌆",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",Because:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxDL:"╗",boxDl:"╖",boxdL:"╕",boxdl:"┐",boxDR:"╔",boxDr:"╓",boxdR:"╒",boxdr:"┌",boxH:"═",boxh:"─",boxHD:"╦",boxHd:"╤",boxhD:"╥",boxhd:"┬",boxHU:"╩",boxHu:"╧",boxhU:"╨",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxUL:"╝",boxUl:"╜",boxuL:"╛",boxul:"┘",boxUR:"╚",boxUr:"╙",boxuR:"╘",boxur:"└",boxV:"║",boxv:"│",boxVH:"╬",boxVh:"╫",boxvH:"╪",boxvh:"┼",boxVL:"╣",boxVl:"╢",boxvL:"╡",boxvl:"┤",boxVR:"╠",boxVr:"╟",boxvR:"╞",boxvr:"├",bprime:"‵",Breve:"˘",breve:"˘",brvbar:"¦",Bscr:"ℬ",bscr:"𝒷",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",Cap:"⋒",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",CenterDot:"·",centerdot:"·",Cfr:"ℭ",cfr:"𝔠",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",cir:"○",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",Colon:"∷",colon:":",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",Conint:"∯",conint:"∮",ContourIntegral:"∮",Copf:"ℂ",copf:"𝕔",coprod:"∐",Coproduct:"∐",COPY:"©",copy:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",Cross:"⨯",cross:"✗",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",Cup:"⋓",cup:"∪",cupbrcap:"⩈",CupCap:"≍",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",Dagger:"‡",dagger:"†",daleth:"ℸ",Darr:"↡",dArr:"⇓",darr:"↓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",DD:"ⅅ",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",Diamond:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",Downarrow:"⇓",downarrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",ecir:"≖",Ecirc:"Ê",ecirc:"ê",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",eDot:"≑",edot:"ė",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp:" ",emsp13:" ",emsp14:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",Escr:"ℰ",escr:"ℯ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",ExponentialE:"ⅇ",exponentiale:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",ForAll:"∀",forall:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",Fscr:"ℱ",fscr:"𝒻",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",gE:"≧",ge:"≥",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",Gg:"⋙",gg:"≫",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gl:"≷",gla:"⪥",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gnE:"≩",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",Gt:"≫",GT:">",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",hArr:"⇔",harr:"↔",harrcir:"⥈",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",Hfr:"ℌ",hfr:"𝔥",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",Hopf:"ℍ",hopf:"𝕙",horbar:"―",HorizontalLine:"─",Hscr:"ℋ",hscr:"𝒽",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",Ifr:"ℑ",ifr:"𝔦",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Im:"ℑ",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",Implies:"⇒",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",Int:"∬",int:"∫",intcal:"⊺",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",Iscr:"ℐ",iscr:"𝒾",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",Lang:"⟪",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",Larr:"↞",lArr:"⇐",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",lAtail:"⤛",latail:"⤙",late:"⪭",lates:"⪭︀",lBarr:"⤎",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",lE:"≦",le:"≤",LeftAngleBracket:"⟨",LeftArrow:"←",Leftarrow:"⇐",leftarrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",Ll:"⋘",ll:"≪",llarr:"⇇",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnap:"⪉",lnapprox:"⪉",lnE:"≨",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftarrow:"⟵",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longleftrightarrow:"⟷",longmapsto:"⟼",LongRightArrow:"⟶",Longrightarrow:"⟹",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",Lscr:"ℒ",lscr:"𝓁",Lsh:"↰",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",Lt:"≪",LT:"<",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",Mscr:"ℳ",mscr:"𝓂",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",ne:"≠",nearhk:"⤤",neArr:"⇗",nearr:"↗",nearrow:"↗",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlArr:"⇍",nlarr:"↚",nldr:"‥",nlE:"≦̸",nle:"≰",nLeftarrow:"⇍",nleftarrow:"↚",nLeftrightarrow:"⇎",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",Nopf:"ℕ",nopf:"𝕟",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nRightarrow:"⇏",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nVDash:"⊯",nVdash:"⊮",nvDash:"⊭",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwArr:"⇖",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",ocir:"⊚",Ocirc:"Ô",ocirc:"ô",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",Or:"⩔",or:"∨",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",Otimes:"⨷",otimes:"⊗",otimesas:"⨶",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",Popf:"ℙ",popf:"𝕡",pound:"£",Pr:"⪻",pr:"≺",prap:"⪷",prcue:"≼",prE:"⪳",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",Prime:"″",prime:"′",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportion:"∷",Proportional:"∝",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",Qopf:"ℚ",qopf:"𝕢",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",QUOT:'"',quot:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",Rang:"⟫",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",Rarr:"↠",rArr:"⇒",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",rAtail:"⤜",ratail:"⤚",ratio:"∶",rationals:"ℚ",RBarr:"⤐",rBarr:"⤏",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",Re:"ℜ",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",REG:"®",reg:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",Rfr:"ℜ",rfr:"𝔯",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrow:"→",Rightarrow:"⇒",rightarrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",Ropf:"ℝ",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",Rscr:"ℛ",rscr:"𝓇",Rsh:"↱",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",Sc:"⪼",sc:"≻",scap:"⪸",Scaron:"Š",scaron:"š",sccue:"≽",scE:"⪴",sce:"⪰",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",searhk:"⤥",seArr:"⇘",searr:"↘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",Square:"□",square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",Sub:"⋐",sub:"⊂",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",Subset:"⋐",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",Sum:"∑",sum:"∑",sung:"♪",Sup:"⋑",sup:"⊃",sup1:"¹",sup2:"²",sup3:"³",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",Supset:"⋑",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swArr:"⇙",swarr:"↙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:"\t",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",Therefore:"∴",therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",thinsp:" ",ThinSpace:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",Tilde:"∼",tilde:"˜",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",TRADE:"™",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",Uarr:"↟",uArr:"⇑",uarr:"↑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrow:"↑",Uparrow:"⇑",uparrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",Updownarrow:"⇕",updownarrow:"↕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",upsi:"υ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTee:"⊥",UpTeeArrow:"↥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",vArr:"⇕",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",Vbar:"⫫",vBar:"⫨",vBarv:"⫩",Vcy:"В",vcy:"в",VDash:"⊫",Vdash:"⊩",vDash:"⊨",vdash:"⊢",Vdashl:"⫦",Vee:"⋁",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",Verbar:"‖",verbar:"|",Vert:"‖",vert:"|",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",Wedge:"⋀",wedge:"∧",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",Xi:"Ξ",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",Yuml:"Ÿ",yuml:"ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",Zfr:"ℨ",zfr:"𝔷",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",Zopf:"ℤ",zopf:"𝕫",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"}),st.entityMap=st.HTML_ENTITIES;var ht={},pt=Pe.NAMESPACE,dt=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,ft=RegExp("[\\-\\.0-9"+dt.source.slice(1,-1)+"\\u00B7\\u0300-\\u036F\\u203F-\\u2040]"),mt=RegExp("^"+dt.source+ft.source+"*(?::"+dt.source+ft.source+"*)?$"),gt=0,wt=1,bt=2,vt=3,Et=4,yt=5,Nt=6,Tt=7;(W.prototype=Error()).name=W.name,Z.prototype={parse:function(e,t,r){var n=this.domBuilder;n.startDocument(),ne(t,t={}),function(e,t,r,n,a){function i(e){var t,n=e.slice(1,-1);return Object.hasOwnProperty.call(r,n)?r[n]:"#"===n.charAt(0)?(t=parseInt(n.substr(1).replace("x","0x")))>65535?String.fromCharCode(55296+((t-=65536)>>10),56320+(1023&t)):String.fromCharCode(t):(a.error("entity not found:"+e),e);}function o(t){if(t>f){var r=e.substring(f,t).replace(/&#?\w+;/g,i);h&&s(f),n.characters(r,0,t-f),f=t;}}function s(t,r){for(;t>=c&&(r=u.exec(e));)c=(l=r.index)+r[0].length,h.lineNumber++;h.columnNumber=t-l+1;}for(var l=0,c=0,u=/.*(?:\r\n?|\n)|.*$/g,h=n.locator,p=[{currentNSMap:t}],d={},f=0;;){try{var m=e.indexOf("<",f);if(0>m){if(!e.substr(f).match(/^\s*$/)){var g=n.doc,w=g.createTextNode(e.substr(f));g.appendChild(w),n.currentElement=w;}return;}switch(m>f&&o(m),e.charAt(m+1)){case"/":var b=e.indexOf(">",m+3),v=e.substring(m+2,b).replace(/[ \t\n\r]+$/g,""),E=p.pop();0>b?(v=e.substring(m+2).replace(/[\s<].*/,""),a.error("end tag name: "+v+" is not complete:"+E.tagName),b=m+1+v.length):v.match(/\s_;_++){var q=x[_];s(q.offset),q.locator=J(h,{});}n.locator=A,ee(x,n,S)&&p.push(x),n.locator=h;}else ee(x,n,S)&&p.push(x);pt.isHTML(x.uri)&&!x.closed?b=te(e,b,x.tagName,i,n):b++;}}catch(lr){if(lr instanceof W)throw lr;a.error("element parse error: "+lr),b=-1;}b>f?f=b:o(Math.max(m,f)+1);}}(e,t,r,n,this.errorHandler),n.endDocument();}},oe.prototype={setTagName:function(e){if(!mt.test(e))throw Error("invalid tagName:"+e);this.tagName=e;},addValue:function(e,t,r){if(!mt.test(e))throw Error("invalid attribute:"+e);this.attributeNames[e]=this.length,this[this.length++]={qName:e,value:t,offset:r};},length:0,getLocalName:function(e){return this[e].localName;},getLocator:function(e){return this[e].locator;},getQName:function(e){return this[e].qName;},getURI:function(e){return this[e].uri;},getValue:function(e){return this[e].value;}},ht.XMLReader=Z,ht.ParseError=W;var xt=ut,St=Ue.DOMImplementation,Dt=Pe.NAMESPACE,At=ht.ParseError,_t=ht.XMLReader;le.prototype.parseFromString=function(e,t){var r=this.options,n=new _t(),a=r.domBuilder||new ce(),i=r.errorHandler,o=r.locator,s=r.xmlns||{},l=/\/x?html?$/.test(t),c=l?xt.HTML_ENTITIES:xt.XML_ENTITIES;return o&&a.setDocumentLocator(o),n.errorHandler=function(e,t,r){function n(t){var n=e[t];!n&&i&&(n=2==e.length?function(r){e(t,r);}:e),a[t]=n&&function(e){n("[xmldom "+t+"]\t"+e+he(r));}||function(){};}if(!e){if(t instanceof ce)return t;e=t;}var a={},i=e instanceof Function;return r=r||{},n("warning"),n("error"),n("fatalError"),a;}(i,a,o),n.domBuilder=r.domBuilder||a,l&&(s[""]=Dt.HTML),s.xml=s.xml||Dt.XML,e&&"string"==typeof e?n.parse((r.normalizeLineEndings||se)(e),s,c):n.errorHandler.error("invalid doc source"),a.doc;},ce.prototype={startDocument:function(){this.doc=new St().createDocument(null,null,null),this.locator&&(this.doc.documentURI=this.locator.systemId);},startElement:function(e,t,r,n){var a=this.doc,i=a.createElementNS(e,r||t),o=n.length;de(this,i),this.currentElement=i,this.locator&&ue(this.locator,i);for(var s=0;o>s;s++){e=n.getURI(s);var l=n.getValue(s),c=(r=n.getQName(s),a.createAttributeNS(e,r));this.locator&&ue(n.getLocator(s),c),c.value=c.nodeValue=l,i.setAttributeNode(c);}},endElement:function(e,t,r){this.currentElement=this.currentElement.parentNode;},startPrefixMapping:function(e,t){},endPrefixMapping:function(e){},processingInstruction:function(e,t){var r=this.doc.createProcessingInstruction(e,t);this.locator&&ue(this.locator,r),de(this,r);},ignorableWhitespace:function(e,t,r){},characters:function(e,t,r){if(e=pe.apply(this,arguments)){if(this.cdata)var n=this.doc.createCDATASection(e);else n=this.doc.createTextNode(e);this.currentElement?this.currentElement.appendChild(n):/^\s*$/.test(e)&&this.doc.appendChild(n),this.locator&&ue(this.locator,n);}},skippedEntity:function(e){},endDocument:function(){this.doc.normalize();},setDocumentLocator:function(e){(this.locator=e)&&(e.lineNumber=0);},comment:function(e,t,r){e=pe.apply(this,arguments);var n=this.doc.createComment(e);this.locator&&ue(this.locator,n),de(this,n);},startCDATA:function(){this.cdata=!0;},endCDATA:function(){this.cdata=!1;},startDTD:function(e,t,r){var n=this.doc.implementation;if(n&&n.createDocumentType){var a=n.createDocumentType(e,t,r);this.locator&&ue(this.locator,a),de(this,a),this.doc.doctype=a;}},warning:function(e){console.warn("[xmldom warning]\t"+e,he(this.locator));},error:function(e){console.error("[xmldom error]\t"+e,he(this.locator));},fatalError:function(e){throw new At(e,this.locator);}},ct.__DOMHandler=ce,ct.normalizeLineEndings=se,ct.DOMParser=le;var qt=ct.DOMParser;const Rt=63,Lt=255,Ct="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",kt=[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,64,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],It="\t",Ot="\n";class Mt{constructor(){}get type(){return this.constructor.TYPE;}castTo(e){return this.type===e.TYPE?this:null;}castAs(e){const t=this.castTo(e);if(!t)throw Error(`Cannot cast type '${this.type}' to '${e.TYPE}'`);return t;}fromXml(e){const{documentElement:t}=fe(e);this.fromXmlElement(t);}}class Ut extends Mt{static TYPE="boolean";static TAG_NAMES=["true","false"];value=!1;constructor(e=!1){super(),this.value=e;}fromXmlElement(e){switch(function(e){const{childNodes:t}=e;if(t.length)throw Error("Unexpected child nodes: "+e.tagName);}(e),e.tagName){case"true":return void(this.value=!0);case"false":return void(this.value=!1);default:throw we(e,"");}}toXml(e=null,t=0){var r;const n=(null!=(r=null==e?void 0:e.indentString)?r:It).repeat(t);return this.value?n+"":n+"";}}class Pt extends Mt{static TYPE="data";static TAG_NAMES=["data"];constructor(e=new Uint8Array(0)){super(),this.value=e;}fromXmlElement(e){var t;we(e,"data");const r=(null==(t=ge(e))?void 0:t.nodeValue)||"";this.value=function(e){const t=e.length,r=[];e:for(let n,a,i,o,s,l,c=0;t>c;){for(;;){if((s=kt[e.charCodeAt(c++)])>=0){n=s;break;}if(c>=t)break e;}for(;;){if((s=kt[e.charCodeAt(c++)])>=0){a=s;break;}if(c>=t)break e;}for(;;){if((s=kt[e.charCodeAt(c++)])>=0){i=s;break;}if(c>=t)break e;}for(;;){if((s=kt[e.charCodeAt(c++)])>=0){o=s;break;}if(c>=t)break e;}switch(l=(n&Rt)<<18|(a&Rt)<<12|(i&Rt)<<6|o&Rt,i>Rt?o>Rt?2:0:o>Rt?1:0){case 0:r.push(l>>16&Lt,l>>8&Lt,l&Lt);break;case 1:r.push(l>>16&Lt,l>>8&Lt);break;case 2:r.push(l>>16&Lt);}}return new Uint8Array(r);}(r);}toXml(e=null,t=0){var r,n,a;const i=null!=(r=null==e?void 0:e.newlineString)?r:Ot,o=null!=(n=null==e?void 0:e.dataColumns)?n:68,s=(null!=(a=null==e?void 0:e.indentString)?a:It).repeat(t);let l=s+"";if(o>0)for(let c=be(this.value);c;c=c.slice(o))l+=`${i}${s}${c.slice(0,o)}`;else l+=`${i}${s}${be(this.value)}`;return l+=`${i}${s}`,l;}}const Vt=9007199254740991;class Ft extends Mt{static TYPE="integer";static TAG_NAMES=["integer"];value=0;constructor(e=0){super(),ve(e),this.value=e;}asBigInt(){return BigInt(this.value);}asNumber(){return+this.value;}fromXmlElement(e){var t;we(e,"integer");const r=(null==(t=ge(e))?void 0:t.nodeValue)||"";if(!/^[+-]?\d+$/.test(r))throw Error("Invalid integer data: "+r);const n=+r;this.value=n>Vt||-Vt>n?BigInt(r):n;}toXml(e=null,t=0){var r;const n=(null!=(r=null==e?void 0:e.indentString)?r:It).repeat(t),a=this.value;return ve(a),`${n}${a}`;}}class Bt extends Mt{static TYPE="real";static TAG_NAMES=["real"];value=0;constructor(e=0){super(),this.value=e;}fromXmlElement(e){var t;we(e,"real");const r=(null==(t=ge(e))?void 0:t.nodeValue)||"";if(!/^[+-]?(\d+|\d*\.\d+)$/.test(r))throw Error("Invalid real data: "+r);this.value=+r;}toXml(e=null,t=0){var r;return`${(null!=(r=null==e?void 0:e.indentString)?r:It).repeat(t)}${this.value}`;}}class Ht extends Mt{static TYPE="string";static TAG_NAMES=["string"];value="";constructor(e=""){super(),this.value=e;}fromXmlElement(e){var t;we(e,"string"),this.value=(null==(t=ge(e))?void 0:t.nodeValue)||"";}toXml(e=null,t=0){var r;return`${(null!=(r=null==e?void 0:e.indentString)?r:It).repeat(t)}${this.value.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">")}`;}}let Xt,jt;class Gt extends Mt{static TYPE="dict";static TAG_NAMES=["dict"];static get CHILD_TAG_NAMES(){if(!Xt){Xt=new Map();for(const e of[$t,Ut,Pt,Gt,Ft,Bt,Ht])for(const t of e.TAG_NAMES)Xt.set(t,e);}return Xt;}value=new Map();constructor(e=new Map()){super(),this.value=e;}get size(){return this.value.size;}has(e){return this.value.has(e);}get(e){return this.value.get(e)||null;}getValue(e){const t=this.get(e);if(!t)throw Error("Key is null: "+e);return t;}set(e,t){this.value.set(e,t);}delete(e){this.value.delete(e);}clear(){this.value.clear();}fromXmlElement(e){var t;we(e,"dict");const r=me(e),n=r.length;if(n%2)throw Error("Uneven number of child elements: "+n);const a=new Map();for(let i=0;n>i;i+=2){const e=r[i],n=r[i+1];we(e,"key");const o=(null==(t=ge(e))?void 0:t.nodeValue)||"",s=this.childFromXmlElement(n);a.set(o,s);}this.value=a;}childFromXmlElement(e){const{tagName:t}=e,{CHILD_TAG_NAMES:r}=this.constructor,n=r.get(t)||null;if(!n)throw Error("Unknown element type: "+t);const a=new n();return a.fromXmlElement(e),a;}toXml(e=null,t=0){var r,n;const a=null!=(r=null==e?void 0:e.indentString)?r:It,i=null!=(n=null==e?void 0:e.newlineString)?n:Ot,o=a.repeat(t),s=this.value;if(!s.size)return o+"";const l=a.repeat(t+1);let c=o+"";for(const[u,h]of s)c+=`${i}${l}${u.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">")}${i}${h.toXml(e,t+1)}`;return c+=`${i}${o}`,c;}}class $t extends Mt{static TYPE="array";static TAG_NAMES=["array"];static get CHILD_TAG_NAMES(){if(!jt){jt=new Map();for(const e of[$t,Ut,Pt,Gt,Ft,Bt,Ht])for(const t of e.TAG_NAMES)jt.set(t,e);}return jt;}value=[];constructor(e=[]){super(),this.value=e;}get length(){return this.value.length;}get(e){const{value:t}=this;return this.length>e?t[e]:null;}getValue(e){const t=this.get(e);if(!t)throw Error("Index out of bounds: "+e);return t;}set(e,t){this.value[e]=t;}push(...e){this.value.push(...e);}pop(){return this.value.pop()||null;}popValue(){const e=this.pop();if(!e)throw Error("Cannot pop empty array");return e;}shift(){return this.value.shift()||null;}shiftValue(){const e=this.shift();if(!e)throw Error("Cannot shift empty array");return e;}fromXmlElement(e){we(e,"array");const t=me(e);this.value=t.map(e=>this.childFromXmlElement(e));}childFromXmlElement(e){const{tagName:t}=e,{CHILD_TAG_NAMES:r}=this.constructor,n=r.get(t)||null;if(!n)throw Error("Unknown element type: "+t);const a=new n();return a.fromXmlElement(e),a;}toXml(e=null,t=0){var r,n;const a=null!=(r=null==e?void 0:e.newlineString)?r:Ot,i=(null!=(n=null==e?void 0:e.indentString)?n:It).repeat(t),o=this.value;if(!o.length)return i+"";let s=i+"";for(const l of o)s+=`${a}${l.toXml(e,t+1)}`;return s+=`${a}${i}`,s;}}const zt='',Yt='';class Kt{static XML_DECLARATION=zt;static XML_DOCTYPE=Yt;xmlDeclaration=zt;xmlDoctype=Yt;value=null;constructor(e=null){this.value=e;}getValue(){const{value:e}=this;if(!e)throw Error("Value is null");return e;}valueCastTo(e){const{value:t}=this;return t?t.castTo(e):null;}valueCastAs(e){const t=this.valueCastTo(e);if(!t)throw Error(`Cannot cast value to type '${e.TYPE}'`);return t;}fromXml(e){const{declaration:t,doctype:r,documentElement:n}=fe(e);this.fromXmlElement(n,t,r);}fromXmlElement(e,t=null,r=null){const{tagName:n}=e;if("plist"!==n)throw Error("Unexpected root plist tag name: "+n);const a=me(e),i=a.length;if(i>1)throw Error("Multiple root plist child tag: "+i);this.value=i?this.childFromXmlElement(a[0]):null,this.xmlDeclaration=t||"",this.xmlDoctype=r||"";}childFromXmlElement(e){return new Gt().childFromXmlElement(e);}toXml(e=null){var t,r;const n=null!=(t=null==e?void 0:e.indentRoot)&&t,a=null!=(r=null==e?void 0:e.newlineString)?r:Ot,i=this.value;return[...[this.xmlDeclaration,this.xmlDoctype].filter(Boolean),'',...(i?[i.toXml(e,n?1:0)]:[]),"",""].join(a);}}class Wt{constructor(e=null){this.hdiutil=(e?e.hdiutil:null)||"hdiutil";}async attach(e,t=null,r=null){const n=await this._runAttach(this._argsAttach(e,t)),{eject:a,ejectSync:i}=this._createEjects(n);return{devices:n,eject:a,ejectSync:i};}attachSync(e,t=null,r=null){const n=this._runAttachSync(this._argsAttach(e,t)),{eject:a,ejectSync:i}=this._createEjects(n);return{devices:n,eject:a,ejectSync:i};}async eject(e,t=null){await this._runEject(this._argsEject(e,t));}ejectSync(e,t=null){this._runEjectSync(this._argsEject(e,t));}_argsAttach(e,t=null){const r=["attach","-plist"];return t&&(t.readonly&&r.push("-readonly"),t.nobrowse&&r.push("-nobrowse")),r.push(this._fileArg(e)),r;}_argsEject(e,t=null){const r=["eject"];return t&&t.force&&r.push("-force"),r.push(this._fileArg(e)),r;}async _runAttach(e){const t=[],r=Me.spawn(this.hdiutil,e);r.stdout.on("data",e=>{t.push(e);});const n=await new Promise((e,t)=>{r.once("exit",e),r.once("error",t);});if(n)throw Error("Attach failed: hdiutil exit code: "+n);return this._parseDevices(""+Buffer.concat(t));}_runAttachSync(e){const{status:t,error:r,stdout:n}=Me.spawnSync(this.hdiutil,e);if(r)throw r;if(t)throw Error("Attach failed: hdiutil exit code: "+t);return this._parseDevices(""+n);}async _runEject(e){const t=Me.spawn(this.hdiutil,e),r=await new Promise((e,r)=>{t.once("exit",e),t.once("error",r);});if(r)throw Error("Eject failed: hdiutil exit code: "+r);}_runEjectSync(e){const{status:t,error:r}=Me.spawnSync(this.hdiutil,e);if(r)throw r;if(t)throw Error("Eject failed: hdiutil exit code: "+t);}_fileArg(e){return e.startsWith("-")?"./"+e:e;}_parseDevices(e){const t=new Kt();t.fromXml(e);const r=t.valueCastAs(Gt).getValue("system-entities").castAs($t),n=[];for(const a of r.value){const e=a.castAs(Gt),t=e.getValue("dev-entry").castAs(Ht).value,r=e.getValue("potentially-mountable").castAs(Ut).value,i=e.get("content-hint"),o=e.get("unmapped-content-hint"),s=e.get("volume-kind"),l=e.get("mount-point"),c={devEntry:t,potentiallyMountable:r};i&&(c.contentHint=i.castAs(Ht).value),o&&(c.unmappedContentHint=o.castAs(Ht).value),s&&(c.volumeKind=s.castAs(Ht).value),l&&(c.mountPoint=l.castAs(Ht).value),n.push(c);}return n;}_findRootDevice(e){let t=null;for(const r of e)(null===t||t.devEntry.length>r.devEntry.length)&&(t=r);return t;}_createEjects(e,t=null){var r;let n=null==(r=this._findRootDevice(e))?void 0:r.devEntry,a=null;const i={eject:async(e=null)=>{n&&(await this.eject(n,e),n="",a&&process.off("exit",a));},ejectSync:(e=null)=>{n&&(this.ejectSync(n,e),n="",a&&process.off("exit",a));}};return t&&(a=()=>{i.ejectSync(t);},process.once("exit",a)),i;}}let Zt=function(e){return e.DIRECTORY="directory",e.FILE="file",e.SYMLINK="symlink",e.RESOURCE_FORK="resource-fork",e;}({});const{O_WRONLY:Jt,O_SYMLINK:Qt}=Re.constants,er=!!Qt,tr=!!Qt,rr=Ie.promisify(ke.pipeline);class nr{_triggering=!1;_triggered=!1;_extracted=!1;constructor(e){var t,r,n,a,i,o,s,l,c,u,h,p;this.archive=e.archive,this.type=e.type,this.pathRaw=e.pathRaw,this.path=Ee(e.pathRaw),this.size=null!=(t=e.size)?t:null,this.sizeComp=null!=(r=e.sizeComp)?r:null,this.mode=null!=(n=e.mode)?n:null,this.uid=null!=(a=e.uid)?a:null,this.gid=null!=(i=e.gid)?i:null,this.uname=null!=(o=e.uname)?o:null,this.gname=null!=(s=e.gname)?s:null,this.atime=null!=(l=e.atime)?l:null,this.mtime=null!=(c=e.mtime)?c:null,this._readData=null!=(u=e.readData)?u:null,this._readRsrc=null!=(h=e.readRsrc)?h:null,this._readSymlink=null!=(p=e.readSymlink)?p:null;}get hasNamedVolume(){return this.archive.hasNamedVolumes;}get volumeName(){if(this.hasNamedVolume){const{path:e}=this;return e.substring(0,e.indexOf("/"));}return null;}get volumePath(){const{path:e}=this;return this.hasNamedVolume?e.substring(e.indexOf("/")+1):e;}async stream(){return this._beginExtract(),this._stream();}async read(){this._beginExtract();const e=await this._stream();return e?async function(e){const t=[];let r=0;return await Oe.pipeline(e,new ke.Writable({write:(e,n,a)=>{t.push(e),r+=e.length,a();}})),Buffer.concat(t,r);}(e):null;}async extract(e,t={}){this._beginExtract(),await this._extract(e,t);}async trigger(e){let t;if(this._triggered)throw Error("Archive entry already triggered");this._triggered=this._triggering=!0;try{t=await e(this);}finally{this._triggering=!1;}return t;}async setAttributes(e,t=null,r={}){const n=null===t?e:t,{ignorePermissions:a,ignoreTimes:i}=r,{type:o,mode:s,atime:l,mtime:c}=this;let u=!1;switch(o){case Zt.FILE:case Zt.RESOURCE_FORK:case Zt.DIRECTORY:break;case Zt.SYMLINK:u=!0;break;default:throw Error("Unsupported path type: "+o);}const h=l||c||null,p=c||l||null;if(!a&&null!==s){const e=u?Ne:Se,t=function(e){return 511&e;}(s);await e(n,t);}if(!i&&h&&p){const e=u?xe:Te;await e(n,h,p);}}_beginExtract(){if(!this._triggering)throw Error("Archive entry is not active");if(this._extracted)throw Error("Archive entry can only be extracted once");this._extracted=!0;}_errorExtractPathExists(e){return Error("Extract path already exists: "+e);}_errorNoResourceFork(e){return Error("Extract path for resource fork not a file: "+e);}async _extract(e,t){this.archive.afterReadSetAttributesRemove(e);const{type:r}=this;switch(r){case Zt.FILE:await this._extractFile(e,t);break;case Zt.RESOURCE_FORK:await this._extractResourceFork(e,t);break;case Zt.DIRECTORY:await this._extractDirectory(e,t);break;case Zt.SYMLINK:await this._extractSymlink(e,t);break;default:throw Error("Unsupported path type: "+r);}}async _extractStreamToFile(e,t,r){const{replace:n}=r;if(await _e(e)){if(!n)throw this._errorExtractPathExists(e);await Ce.rm(e,{recursive:!0,force:!0});}else await Ce.mkdir(Le.dirname(e),{recursive:!0});await Ce.writeFile(e,Buffer.alloc(0));const a=await t();a&&(await rr(a,Re.createWriteStream(e))),await this.setAttributes(e,null,r);}async _extractFile(e,t){const r=this._readData;if(!r)throw Error("Internal error");await this._extractStreamToFile(e,r,t);}async _extractResourceFork(e,t){const r=this._readRsrc;if(!r)throw Error("Internal error");if(t.resourceForkAsFile)return void(await this._extractStreamToFile(e,r,t));const n=await _e(e);if(!n||!n.isFile())throw this._errorNoResourceFork(e);const a=ye(e),i=await r();i?await rr(i,Re.createWriteStream(a)):await Ce.writeFile(a,Buffer.alloc(0)),await this.setAttributes(e,null,t);}async _extractDirectory(e,t){const{replace:r}=t,n=await _e(e);if(n){if(!n.isDirectory()){if(!r)throw this._errorExtractPathExists(e);await Ce.rm(e,{recursive:!0,force:!0}),await Ce.mkdir(e,{recursive:!0});}}else await Ce.mkdir(e,{recursive:!0});this.archive.afterReadSetAttributes(e,this,{...t});}async _extractSymlink(e,t){const r=this._readSymlink;if(!r)throw Error("Internal error");const{replace:n,symlinkAsFile:a}=t;if(await _e(e)){if(!n)throw this._errorExtractPathExists(e);await Ce.rm(e,{recursive:!0,force:!0});}else await Ce.mkdir(Le.dirname(e),{recursive:!0});const i=await r();a?await Ce.writeFile(e,i):await async function(e,t){await Ce.symlink(t,e);}(e,i),await this.setAttributes(e,null,t);}async _stream(){const{type:e}=this;switch(e){case Zt.FILE:return this._streamFile();case Zt.RESOURCE_FORK:return this._streamResourceFork();case Zt.DIRECTORY:return this._streamDirectory();case Zt.SYMLINK:return this._streamSymlink();default:throw Error("Unsupported path type: "+e);}}async _streamFile(){const e=this._readData;if(!e)throw Error("Internal error");return e();}async _streamResourceFork(){const e=this._readRsrc;if(!e)throw Error("Internal error");return e();}async _streamDirectory(){return null;}async _streamSymlink(){const e=this._readSymlink;if(!e)throw Error("Internal error");const t=new ke.Readable({read:()=>{e().then(e=>{t.push(e),t.push(null);},e=>{t.emit("error",e);});}});return t;}}class ar{static FILE_EXTENSIONS=null;static HAS_NAMED_VOLUMES=!1;Entry=nr;_reading=!1;_afterReadSetAttributes=null;constructor(e){this.path=e;}get fileExtensions(){return this.constructor.FILE_EXTENSIONS||null;}get hasNamedVolumes(){return this.constructor.HAS_NAMED_VOLUMES;}afterReadSetAttributes(e,t,r={}){const n=this._afterReadSetAttributes;if(!n)throw Error("Archive after read callbacks can only be added while reading");n.set(Le.resolve(e),{path:e,entry:t,options:r});}afterReadSetAttributesRemove(e){const t=this._afterReadSetAttributes;if(!t)throw Error("Archive after read callbacks can only be removed while reading");t.delete(Le.resolve(e));}async read(e){if(this._reading)throw Error("Archive already being read");this._reading=!0,this._afterReadSetAttributes=new Map();try{await this._read(e),await this._afterReadSetAttributesTrigger();}finally{this._afterReadSetAttributes=null,this._reading=!1;}}async _afterReadSetAttributesTrigger(){const e=this._afterReadSetAttributes;if(!e)return;const t=[];for(const[r]of e)t.push(r);t.sort((e,t)=>t.length-e.length);for(const r of t){const t=e.get(r);if(!t)throw Error("Internal error");const{entry:n,path:a,options:i}=t;await n.setAttributes(a,r,i);}}}const ir={ignoreUnreadableDirectories:!0},or={force:!0};class sr extends nr{sizeComp=null;uname=null;gname=null;constructor(e){super(e),this.archive=e.archive,this.size=e.size,this.mode=e.mode,this.uid=e.uid,this.gid=e.gid,this.atime=e.atime,this.mtime=e.mtime;}get rsrcPathRaw(){return ye(this.pathRaw);}get rsrcPath(){return Ee(ye(this.path));}}exports.ArchiveHdi=class extends ar{static FILE_EXTENSIONS=[".dmg",".iso",".cdr"];static HAS_NAMED_VOLUMES=!0;Entry=sr;mounterMac=new Wt();nobrowse=!1;constructor(e){super(e);}async read(e){await super.read(e);}async _read(e){const{mounterMac:t,nobrowse:r}=this,n=async(t,r,n)=>{const a=function(e){return e.isSymbolicLink()?Zt.SYMLINK:e.isDirectory()?Zt.DIRECTORY:e.isFile()?Zt.FILE:null;}(n);if(null===a)return!0;const{size:i,mode:o,uid:s,gid:l,atime:c,mtime:u}=n,h=new this.Entry({archive:this,type:a,pathRaw:r,size:i,mode:o,uid:s,gid:l,atime:c,mtime:u,readData:a===Zt.FILE?async()=>Re.createReadStream(t):null,readSymlink:a===Zt.SYMLINK?async()=>async function(e){return Ce.readlink(e,"buffer");}(t):null}),p=await h.trigger(e);if(!1===p)return null;if(null===p)return!1;if(a===Zt.FILE){const n=ye(t),a=await _e(n);if(a){const t=new this.Entry({archive:this,type:Zt.RESOURCE_FORK,pathRaw:r,size:a.size,mode:o,uid:s,gid:l,atime:c,mtime:u,readRsrc:async()=>Re.createReadStream(n)}),i=await t.trigger(e);if(!1===i)return null;if(null===i)return!1;}}return!0;},a=await t.attach(this.path,{nobrowse:r,readonly:!0},or);try{for(const e of a.devices){const{mountPoint:t}=e;if(!t)continue;const r=Le.basename(t);await qe(t,async(e,a)=>{const i=Le.join(t,e),o=Le.join(r,e);return n(i,o,a);},ir);}}finally{await a.eject(or);}}},exports.EntryHdi=sr; //# sourceMappingURL=hdi-Ca-ZsNp_.js.map