setup-cpp
Version:
Install all the tools required for building and testing C++/C projects.
8 lines • 81 kB
JavaScript
import{constants as Qu,createWriteStream as wu,createReadStream as Cu}from"node:fs";import{readlink as Zu,readdir as Ju,lstat as et,open as Vu,chmod as ut,utimes as tt,symlink as rt,rm as ou,mkdir as Xe,writeFile as su}from"node:fs/promises";import{join as Le,resolve as bu,dirname as yu,basename as nt}from"node:path";import{Writable as at,Readable as it,pipeline as ot}from"node:stream";import{pipeline as st}from"node:stream/promises";import{promisify as lt}from"node:util";import{spawn as Nu,spawnSync as Bu}from"node:child_process";let X=function(c){return c.DIRECTORY="directory",c.FILE="file",c.SYMLINK="symlink",c.RESOURCE_FORK="resource-fork",c}({});const{O_WRONLY:$u,O_SYMLINK:We}=Qu,ct=!!We,ft=!!We;function Xu(c){return c.replace(/\\/g,"/").replace(/([^/])\/+$/,"$1")}function Ke(c){return Le(c,"..namedfork","rsrc")}function pt(c){return c.isSymbolicLink()?X.SYMLINK:c.isDirectory()?X.DIRECTORY:c.isFile()?X.FILE:null}function ht(c){return c&511}async function Dt(c){const u=[];let n=0;return await st(c,new at({write:(a,l,s)=>{u.push(a),n+=a.length,s()}})),Buffer.concat(u,n)}async function mt(c,u){if(!ct)return;const n=await Vu(c,$u|We);try{await n.chmod(u)}finally{await n.close()}}async function dt(c,u,n){await tt(c,u,n)}async function At(c,u,n){if(!ft)return;const a=await Vu(c,$u|We);try{await a.utimes(u,n)}finally{await a.close()}}async function Et(c){return Zu(c,"buffer")}async function gt(c,u){await rt(u,c)}async function vt(c,u){await ut(c,u)}async function Tu(c){return(await Ju(c)).sort()}async function Gu(c){return et(c)}async function Ie(c){try{return await Gu(c)}catch(u){const{code:n}=u;if(n==="ENOENT"||n==="ENOTDIR")return null;throw u}}async function wt(c,u,n={}){const{ignoreUnreadableDirectories:a}=n,l=(await Tu(c)).reverse();for(;l.length;){const s=l.pop(),f=Le(c,s),m=await Gu(f),E=await u(s,m);if(E===null)break;if(E===!1||!m.isDirectory())continue;let A=[];try{A=await Tu(f)}catch(b){if(!(b&&a&&b.code==="EACCES"))throw b}for(let b=A.length;b--;)l.push(Le(s,A[b]))}}const Su=lt(ot);class ju{_triggering=!1;_triggered=!1;_extracted=!1;constructor(u){this.archive=u.archive,this.type=u.type,this.pathRaw=u.pathRaw,this.path=Xu(u.pathRaw),this.size=u.size??null,this.sizeComp=u.sizeComp??null,this.mode=u.mode??null,this.uid=u.uid??null,this.gid=u.gid??null,this.uname=u.uname??null,this.gname=u.gname??null,this.atime=u.atime??null,this.mtime=u.mtime??null,this._readData=u.readData??null,this._readRsrc=u.readRsrc??null,this._readSymlink=u.readSymlink??null}get hasNamedVolume(){return this.archive.hasNamedVolumes}get volumeName(){if(this.hasNamedVolume){const{path:u}=this;return u.slice(0,u.indexOf("/"))}return null}get volumePath(){const{path:u}=this;return this.hasNamedVolume?u.slice(u.indexOf("/")+1):u}async stream(){return this._beginExtract(),this._stream()}async read(){this._beginExtract();const u=await this._stream();return u?Dt(u):null}async extract(u,n={}){this._beginExtract(),await this._extract(u,n)}async trigger(u){let n;if(this._triggered)throw new Error("Archive entry already triggered");this._triggered=this._triggering=!0;try{n=await u(this)}finally{this._triggering=!1}return n}async setAttributes(u,n=null,a={}){const l=n===null?u:n,{ignorePermissions:s,ignoreTimes:f}=a,{type:m,mode:E,atime:A,mtime:b}=this;let N=!1;switch(m){case X.FILE:break;case X.RESOURCE_FORK:break;case X.DIRECTORY:break;case X.SYMLINK:{N=!0;break}default:throw new Error(`Unsupported path type: ${m}`)}const O=A||b||null,P=b||A||null;if(!s&&E!==null){const ue=N?mt:vt,Q=ht(E);await ue(l,Q)}!f&&O&&P&&await(N?At:dt)(l,O,P)}_beginExtract(){if(!this._triggering)throw new Error("Archive entry is not active");if(this._extracted)throw new Error("Archive entry can only be extracted once");this._extracted=!0}_errorExtractPathExists(u){return new Error(`Extract path already exists: ${u}`)}_errorNoResourceFork(u){return new Error(`Extract path for resource fork not a file: ${u}`)}async _extract(u,n){this.archive.afterReadSetAttributesRemove(u);const{type:a}=this;switch(a){case X.FILE:{await this._extractFile(u,n);break}case X.RESOURCE_FORK:{await this._extractResourceFork(u,n);break}case X.DIRECTORY:{await this._extractDirectory(u,n);break}case X.SYMLINK:{await this._extractSymlink(u,n);break}default:throw new Error(`Unsupported path type: ${a}`)}}async _extractStreamToFile(u,n,a){const{replace:l}=a;if(await Ie(u))if(l)await ou(u,{recursive:!0,force:!0});else throw this._errorExtractPathExists(u);else await Xe(yu(u),{recursive:!0});await su(u,Buffer.alloc(0));const f=await n();f&&await Su(f,wu(u)),await this.setAttributes(u,null,a)}async _extractFile(u,n){const a=this._readData;if(!a)throw new Error("Internal error");await this._extractStreamToFile(u,a,n)}async _extractResourceFork(u,n){const a=this._readRsrc;if(!a)throw new Error("Internal error");if(n.resourceForkAsFile){await this._extractStreamToFile(u,a,n);return}const l=await Ie(u);if(!l||!l.isFile())throw this._errorNoResourceFork(u);const s=Ke(u),f=await a();f?await Su(f,wu(s)):await su(s,Buffer.alloc(0)),await this.setAttributes(u,null,n)}async _extractDirectory(u,n){const{replace:a}=n,l=await Ie(u);if(l){if(!l.isDirectory())if(a)await ou(u,{recursive:!0,force:!0}),await Xe(u,{recursive:!0});else throw this._errorExtractPathExists(u)}else await Xe(u,{recursive:!0});this.archive.afterReadSetAttributes(u,this,{...n})}async _extractSymlink(u,n){const a=this._readSymlink;if(!a)throw new Error("Internal error");const{replace:l,symlinkAsFile:s}=n;if(await Ie(u))if(l)await ou(u,{recursive:!0,force:!0});else throw this._errorExtractPathExists(u);else await Xe(yu(u),{recursive:!0});const m=await a();s?await su(u,m):await gt(u,m),await this.setAttributes(u,null,n)}async _stream(){const{type:u}=this;switch(u){case X.FILE:return this._streamFile();case X.RESOURCE_FORK:return this._streamResourceFork();case X.DIRECTORY:return this._streamDirectory();case X.SYMLINK:return this._streamSymlink();default:throw new Error(`Unsupported path type: ${u}`)}}async _streamFile(){const u=this._readData;if(!u)throw new Error("Internal error");return u()}async _streamResourceFork(){const u=this._readRsrc;if(!u)throw new Error("Internal error");return u()}async _streamDirectory(){return null}async _streamSymlink(){const u=this._readSymlink;if(!u)throw new Error("Internal error");const n=new it({read:()=>{u().then(a=>{n.push(a),n.push(null)},a=>{n.emit("error",a)})}});return n}}class Ct{static FILE_EXTENSIONS=null;static HAS_NAMED_VOLUMES=!1;Entry=ju;_reading=!1;_afterReadSetAttributes=null;constructor(u){this.path=u}get fileExtensions(){return this.constructor.FILE_EXTENSIONS||null}get hasNamedVolumes(){return this.constructor.HAS_NAMED_VOLUMES}afterReadSetAttributes(u,n,a={}){const l=this._afterReadSetAttributes;if(!l)throw new Error("Archive after read callbacks can only be added while reading");l.set(bu(u),{path:u,entry:n,options:a})}afterReadSetAttributesRemove(u){const n=this._afterReadSetAttributes;if(!n)throw new Error("Archive after read callbacks can only be removed while reading");n.delete(bu(u))}async read(u){if(this._reading)throw new Error("Archive already being read");this._reading=!0,this._afterReadSetAttributes=new Map;try{await this._read(u),await this._afterReadSetAttributesTrigger()}finally{this._afterReadSetAttributes=null,this._reading=!1}}async _afterReadSetAttributesTrigger(){const u=this._afterReadSetAttributes;if(!u)return;const n=[];for(const[a]of u)n.push(a);n.sort((a,l)=>l.length-a.length);for(const a of n){const l=u.get(a);if(!l)throw new Error("Internal error");const{entry:s,path:f,options:m}=l;await s.setAttributes(f,a,m)}}}var qe={},ce={},ge={},Fu;function Qe(){if(Fu)return ge;Fu=1;function c(s,f,m){if(m===void 0&&(m=Array.prototype),s&&typeof m.find=="function")return m.find.call(s,f);for(var E=0;E<s.length;E++)if(Object.prototype.hasOwnProperty.call(s,E)){var A=s[E];if(f.call(void 0,A,E,s))return A}}function u(s,f){return f===void 0&&(f=Object),f&&typeof f.freeze=="function"?f.freeze(s):s}function n(s,f){if(s===null||typeof s!="object")throw new TypeError("target is not an object");for(var m in f)Object.prototype.hasOwnProperty.call(f,m)&&(s[m]=f[m]);return s}var a=u({HTML:"text/html",isHTML:function(s){return s===a.HTML},XML_APPLICATION:"application/xml",XML_TEXT:"text/xml",XML_XHTML_APPLICATION:"application/xhtml+xml",XML_SVG_IMAGE:"image/svg+xml"}),l=u({HTML:"http://www.w3.org/1999/xhtml",isHTML:function(s){return s===l.HTML},SVG:"http://www.w3.org/2000/svg",XML:"http://www.w3.org/XML/1998/namespace",XMLNS:"http://www.w3.org/2000/xmlns/"});return ge.assign=n,ge.find=c,ge.freeze=u,ge.MIME_TYPE=a,ge.NAMESPACE=l,ge}var xu;function zu(){if(xu)return ce;xu=1;var c=Qe(),u=c.find,n=c.NAMESPACE;function a(e){return e!==""}function l(e){return e?e.split(/[\t\n\f\r ]+/).filter(a):[]}function s(e,t){return e.hasOwnProperty(t)||(e[t]=!0),e}function f(e){if(!e)return[];var t=l(e);return Object.keys(t.reduce(s,{}))}function m(e){return function(t){return e&&e.indexOf(t)!==-1}}function E(e,t){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])}function A(e,t){var r=e.prototype;if(!(r instanceof t)){let i=function(){};i.prototype=t.prototype,i=new i,E(r,i),e.prototype=r=i}r.constructor!=e&&(typeof e!="function"&&console.error("unknown Class:"+e),r.constructor=e)}var b={},N=b.ELEMENT_NODE=1,O=b.ATTRIBUTE_NODE=2,P=b.TEXT_NODE=3,ue=b.CDATA_SECTION_NODE=4,Q=b.ENTITY_REFERENCE_NODE=5,D=b.ENTITY_NODE=6,R=b.PROCESSING_INSTRUCTION_NODE=7,q=b.COMMENT_NODE=8,_=b.DOCUMENT_NODE=9,V=b.DOCUMENT_TYPE_NODE=10,M=b.DOCUMENT_FRAGMENT_NODE=11,Y=b.NOTATION_NODE=12,F={},L={};F.INDEX_SIZE_ERR=(L[1]="Index size error",1),F.DOMSTRING_SIZE_ERR=(L[2]="DOMString size error",2);var o=F.HIERARCHY_REQUEST_ERR=(L[3]="Hierarchy request error",3);F.WRONG_DOCUMENT_ERR=(L[4]="Wrong document",4),F.INVALID_CHARACTER_ERR=(L[5]="Invalid character",5),F.NO_DATA_ALLOWED_ERR=(L[6]="No data allowed",6),F.NO_MODIFICATION_ALLOWED_ERR=(L[7]="No modification allowed",7);var h=F.NOT_FOUND_ERR=(L[8]="Not found",8);F.NOT_SUPPORTED_ERR=(L[9]="Not supported",9);var g=F.INUSE_ATTRIBUTE_ERR=(L[10]="Attribute in use",10);F.INVALID_STATE_ERR=(L[11]="Invalid state",11),F.SYNTAX_ERR=(L[12]="Syntax error",12),F.INVALID_MODIFICATION_ERR=(L[13]="Invalid modification",13),F.NAMESPACE_ERR=(L[14]="Invalid namespace",14),F.INVALID_ACCESS_ERR=(L[15]="Invalid access",15);function d(e,t){if(t instanceof Error)var r=t;else r=this,Error.call(this,L[e]),this.message=L[e],Error.captureStackTrace&&Error.captureStackTrace(this,d);return r.code=e,t&&(this.message=this.message+": "+t),r}d.prototype=Error.prototype,E(F,d);function w(){}w.prototype={length:0,item:function(e){return e>=0&&e<this.length?this[e]:null},toString:function(e,t){for(var r=[],i=0;i<this.length;i++)Be(this[i],r,e,t);return r.join("")},filter:function(e){return Array.prototype.filter.call(this,e)},indexOf:function(e){return Array.prototype.indexOf.call(this,e)}};function S(e,t){this._node=e,this._refresh=t,x(this)}function x(e){var t=e._node._inc||e._node.ownerDocument._inc;if(e._inc!==t){var r=e._refresh(e._node);if(Eu(e,"length",r.length),!e.$$length||r.length<e.$$length)for(var i=r.length;i in e;i++)Object.prototype.hasOwnProperty.call(e,i)&&delete e[i];E(r,e),e._inc=t}}S.prototype.item=function(e){return x(this),this[e]||null},A(S,w);function I(){}function y(e,t){for(var r=e.length;r--;)if(e[r]===t)return r}function B(e,t,r,i){if(i?t[y(t,i)]=r:t[t.length++]=r,e){r.ownerElement=e;var p=e.ownerDocument;p&&(i&&xe(p,e,i),j(p,e,r))}}function T(e,t,r){var i=y(t,r);if(i>=0){for(var p=t.length-1;i<p;)t[i]=t[++i];if(t.length=p,e){var C=e.ownerDocument;C&&(xe(C,e,r),r.ownerElement=null)}}else throw new d(h,new Error(e.tagName+"@"+r))}I.prototype={length:0,item:w.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 d(g);var r=this.getNamedItem(e.nodeName);return B(this._ownerElement,this,e,r),r},setNamedItemNS:function(e){var t=e.ownerElement,r;if(t&&t!=this._ownerElement)throw new d(g);return r=this.getNamedItemNS(e.namespaceURI,e.localName),B(this._ownerElement,this,e,r),r},removeNamedItem:function(e){var t=this.getNamedItem(e);return T(this._ownerElement,this,t),t},removeNamedItemNS:function(e,t){var r=this.getNamedItemNS(e,t);return T(this._ownerElement,this,r),r},getNamedItemNS:function(e,t){for(var r=this.length;r--;){var i=this[r];if(i.localName==t&&i.namespaceURI==e)return i}return null}};function $(){}$.prototype={hasFeature:function(e,t){return!0},createDocument:function(e,t,r){var i=new G;if(i.implementation=this,i.childNodes=new w,i.doctype=r||null,r&&i.appendChild(r),t){var p=i.createElementNS(e,t);i.appendChild(p)}return i},createDocumentType:function(e,t,r){var i=new Ve;return i.name=e,i.nodeName=e,i.publicId=t||"",i.systemId=r||"",i}};function v(){}v.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 fe(this,e,t)},replaceChild:function(e,t){fe(this,e,t,Ue),t&&this.removeChild(t)},removeChild:function(e){return Z(this,e)},appendChild:function(e){return this.insertBefore(e,null)},hasChildNodes:function(){return this.firstChild!=null},cloneNode:function(e){return iu(this.ownerDocument||this,this,e)},normalize:function(){for(var e=this.firstChild;e;){var t=e.nextSibling;t&&t.nodeType==P&&e.nodeType==P?(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 i in r)if(Object.prototype.hasOwnProperty.call(r,i)&&r[i]===e)return i}t=t.nodeType==O?t.ownerDocument:t.parentNode}return null},lookupNamespaceURI:function(e){for(var t=this;t;){var r=t._nsMap;if(r&&Object.prototype.hasOwnProperty.call(r,e))return r[e];t=t.nodeType==O?t.ownerDocument:t.parentNode}return null},isDefaultNamespace:function(e){var t=this.lookupPrefix(e);return t==null}};function J(e){return e=="<"&&"<"||e==">"&&">"||e=="&"&&"&"||e=='"'&&"""||"&#"+e.charCodeAt()+";"}E(b,v),E(b,v.prototype);function oe(e,t){if(t(e))return!0;if(e=e.firstChild)do if(oe(e,t))return!0;while(e=e.nextSibling)}function G(){this.ownerDocument=this}function j(e,t,r){e&&e._inc++;var i=r.namespaceURI;i===n.XMLNS&&(t._nsMap[r.prefix?r.localName:""]=r.value)}function xe(e,t,r,i){e&&e._inc++;var p=r.namespaceURI;p===n.XMLNS&&delete t._nsMap[r.prefix?r.localName:""]}function be(e,t,r){if(e&&e._inc){e._inc++;var i=t.childNodes;if(r)i[i.length++]=r;else{for(var p=t.firstChild,C=0;p;)i[C++]=p,p=p.nextSibling;i.length=C,delete i[i.length]}}}function Z(e,t){var r=t.previousSibling,i=t.nextSibling;return r?r.nextSibling=i:e.firstChild=i,i?i.previousSibling=r:e.lastChild=r,t.parentNode=null,t.previousSibling=null,t.nextSibling=null,be(e.ownerDocument,e),t}function ne(e){return e&&(e.nodeType===v.DOCUMENT_NODE||e.nodeType===v.DOCUMENT_FRAGMENT_NODE||e.nodeType===v.ELEMENT_NODE)}function _e(e){return e&&(re(e)||ye(e)||te(e)||e.nodeType===v.DOCUMENT_FRAGMENT_NODE||e.nodeType===v.COMMENT_NODE||e.nodeType===v.PROCESSING_INSTRUCTION_NODE)}function te(e){return e&&e.nodeType===v.DOCUMENT_TYPE_NODE}function re(e){return e&&e.nodeType===v.ELEMENT_NODE}function ye(e){return e&&e.nodeType===v.TEXT_NODE}function K(e,t){var r=e.childNodes||[];if(u(r,re)||te(t))return!1;var i=u(r,te);return!(t&&i&&r.indexOf(i)>r.indexOf(t))}function Ne(e,t){var r=e.childNodes||[];function i(C){return re(C)&&C!==t}if(u(r,i))return!1;var p=u(r,te);return!(t&&p&&r.indexOf(p)>r.indexOf(t))}function z(e,t,r){if(!ne(e))throw new d(o,"Unexpected parent node type "+e.nodeType);if(r&&r.parentNode!==e)throw new d(h,"child not in parent");if(!_e(t)||te(t)&&e.nodeType!==v.DOCUMENT_NODE)throw new d(o,"Unexpected node type "+t.nodeType+" for parent node type "+e.nodeType)}function Me(e,t,r){var i=e.childNodes||[],p=t.childNodes||[];if(t.nodeType===v.DOCUMENT_FRAGMENT_NODE){var C=p.filter(re);if(C.length>1||u(p,ye))throw new d(o,"More than one element or text in fragment");if(C.length===1&&!K(e,r))throw new d(o,"Element in fragment can not be inserted before doctype")}if(re(t)&&!K(e,r))throw new d(o,"Only one element can be added and only after doctype");if(te(t)){if(u(i,te))throw new d(o,"Only one doctype is allowed");var U=u(i,re);if(r&&i.indexOf(U)<i.indexOf(r))throw new d(o,"Doctype can only be inserted before an element");if(!r&&U)throw new d(o,"Doctype can not be appended since element is present")}}function Ue(e,t,r){var i=e.childNodes||[],p=t.childNodes||[];if(t.nodeType===v.DOCUMENT_FRAGMENT_NODE){var C=p.filter(re);if(C.length>1||u(p,ye))throw new d(o,"More than one element or text in fragment");if(C.length===1&&!Ne(e,r))throw new d(o,"Element in fragment can not be inserted before doctype")}if(re(t)&&!Ne(e,r))throw new d(o,"Only one element can be added and only after doctype");if(te(t)){if(u(i,function(se){return te(se)&&se!==r}))throw new d(o,"Only one doctype is allowed");var U=u(i,re);if(r&&i.indexOf(U)<i.indexOf(r))throw new d(o,"Doctype can only be inserted before an element")}}function fe(e,t,r,i){z(e,t,r),e.nodeType===v.DOCUMENT_NODE&&(i||Me)(e,t,r);var p=t.parentNode;if(p&&p.removeChild(t),t.nodeType===M){var C=t.firstChild;if(C==null)return t;var U=t.lastChild}else C=U=t;var ee=r?r.previousSibling:e.lastChild;C.previousSibling=ee,U.nextSibling=r,ee?ee.nextSibling=C:e.firstChild=C,r==null?e.lastChild=U:r.previousSibling=U;do C.parentNode=e;while(C!==U&&(C=C.nextSibling));return be(e.ownerDocument||e,e),t.nodeType==M&&(t.firstChild=t.lastChild=null),t}function Pe(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,be(e.ownerDocument,e,t),t}G.prototype={nodeName:"#document",nodeType:_,doctype:null,documentElement:null,_inc:1,insertBefore:function(e,t){if(e.nodeType==M){for(var r=e.firstChild;r;){var i=r.nextSibling;this.insertBefore(r,t),r=i}return e}return fe(this,e,t),e.ownerDocument=this,this.documentElement===null&&e.nodeType===N&&(this.documentElement=e),e},removeChild:function(e){return this.documentElement==e&&(this.documentElement=null),Z(this,e)},replaceChild:function(e,t){fe(this,e,t,Ue),e.ownerDocument=this,t&&this.removeChild(t),re(e)&&(this.documentElement=e)},importNode:function(e,t){return Au(this,e,t)},getElementById:function(e){var t=null;return oe(this.documentElement,function(r){if(r.nodeType==N&&r.getAttribute("id")==e)return t=r,!0}),t},getElementsByClassName:function(e){var t=f(e);return new S(this,function(r){var i=[];return t.length>0&&oe(r.documentElement,function(p){if(p!==r&&p.nodeType===N){var C=p.getAttribute("class");if(C){var U=e===C;if(!U){var ee=f(C);U=t.every(m(ee))}U&&i.push(p)}}}),i})},createElement:function(e){var t=new k;t.ownerDocument=this,t.nodeName=e,t.tagName=e,t.localName=e,t.childNodes=new w;var r=t.attributes=new I;return r._ownerElement=t,t},createDocumentFragment:function(){var e=new $e;return e.ownerDocument=this,e.childNodes=new w,e},createTextNode:function(e){var t=new eu;return t.ownerDocument=this,t.appendData(e),t},createComment:function(e){var t=new uu;return t.ownerDocument=this,t.appendData(e),t},createCDATASection:function(e){var t=new tu;return t.ownerDocument=this,t.appendData(e),t},createProcessingInstruction:function(e,t){var r=new nu;return r.ownerDocument=this,r.tagName=r.nodeName=r.target=e,r.nodeValue=r.data=t,r},createAttribute:function(e){var t=new H;return t.ownerDocument=this,t.name=e,t.nodeName=e,t.localName=e,t.specified=!0,t},createEntityReference:function(e){var t=new ru;return t.ownerDocument=this,t.nodeName=e,t},createElementNS:function(e,t){var r=new k,i=t.split(":"),p=r.attributes=new I;return r.childNodes=new w,r.ownerDocument=this,r.nodeName=t,r.tagName=t,r.namespaceURI=e,i.length==2?(r.prefix=i[0],r.localName=i[1]):r.localName=t,p._ownerElement=r,r},createAttributeNS:function(e,t){var r=new H,i=t.split(":");return r.ownerDocument=this,r.nodeName=t,r.name=t,r.namespaceURI=e,r.specified=!0,i.length==2?(r.prefix=i[0],r.localName=i[1]):r.localName=t,r}},A(G,v);function k(){this._nsMap={}}k.prototype={nodeType:N,hasAttribute:function(e){return this.getAttributeNode(e)!=null},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===M?this.insertBefore(e,null):Pe(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 this.getAttributeNodeNS(e,t)!=null},getAttributeNS:function(e,t){var r=this.getAttributeNodeNS(e,t);return r&&r.value||""},setAttributeNS:function(e,t,r){var i=this.ownerDocument.createAttributeNS(e,t);i.value=i.nodeValue=""+r,this.setAttributeNode(i)},getAttributeNodeNS:function(e,t){return this.attributes.getNamedItemNS(e,t)},getElementsByTagName:function(e){return new S(this,function(t){var r=[];return oe(t,function(i){i!==t&&i.nodeType==N&&(e==="*"||i.tagName==e)&&r.push(i)}),r})},getElementsByTagNameNS:function(e,t){return new S(this,function(r){var i=[];return oe(r,function(p){p!==r&&p.nodeType===N&&(e==="*"||p.namespaceURI===e)&&(t==="*"||p.localName==t)&&i.push(p)}),i})}},G.prototype.getElementsByTagName=k.prototype.getElementsByTagName,G.prototype.getElementsByTagNameNS=k.prototype.getElementsByTagNameNS,A(k,v);function H(){}H.prototype.nodeType=O,A(H,v);function De(){}De.prototype={data:"",substringData:function(e,t){return this.data.substring(e,e+t)},appendData:function(e){e=this.data+e,this.nodeValue=this.data=e,this.length=e.length},insertData:function(e,t){this.replaceData(e,0,t)},appendChild:function(e){throw new Error(L[o])},deleteData:function(e,t){this.replaceData(e,t,"")},replaceData:function(e,t,r){var i=this.data.substring(0,e),p=this.data.substring(e+t);r=i+r+p,this.nodeValue=this.data=r,this.length=r.length}},A(De,v);function eu(){}eu.prototype={nodeName:"#text",nodeType:P,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 i=this.ownerDocument.createTextNode(r);return this.parentNode&&this.parentNode.insertBefore(i,this.nextSibling),i}},A(eu,De);function uu(){}uu.prototype={nodeName:"#comment",nodeType:q},A(uu,De);function tu(){}tu.prototype={nodeName:"#cdata-section",nodeType:ue},A(tu,De);function Ve(){}Ve.prototype.nodeType=V,A(Ve,v);function pu(){}pu.prototype.nodeType=Y,A(pu,v);function hu(){}hu.prototype.nodeType=D,A(hu,v);function ru(){}ru.prototype.nodeType=Q,A(ru,v);function $e(){}$e.prototype.nodeName="#document-fragment",$e.prototype.nodeType=M,A($e,v);function nu(){}nu.prototype.nodeType=R,A(nu,v);function Du(){}Du.prototype.serializeToString=function(e,t,r){return mu.call(e,t,r)},v.prototype.toString=mu;function mu(e,t){var r=[],i=this.nodeType==9&&this.documentElement||this,p=i.prefix,C=i.namespaceURI;if(C&&p==null){var p=i.lookupPrefix(C);if(p==null)var U=[{namespace:C,prefix:null}]}return Be(this,r,e,t,U),r.join("")}function du(e,t,r){var i=e.prefix||"",p=e.namespaceURI;if(!p||i==="xml"&&p===n.XML||p===n.XMLNS)return!1;for(var C=r.length;C--;){var U=r[C];if(U.prefix===i)return U.namespace!==p}return!0}function au(e,t,r){e.push(" ",t,'="',r.replace(/[<>&"\t\n\r]/g,J),'"')}function Be(e,t,r,i,p){if(p||(p=[]),i)if(e=i(e),e){if(typeof e=="string"){t.push(e);return}}else return;switch(e.nodeType){case N:var C=e.attributes,U=C.length,W=e.firstChild,ee=e.tagName;r=n.isHTML(e.namespaceURI)||r;var se=ee;if(!r&&!e.prefix&&e.namespaceURI){for(var pe,le=0;le<C.length;le++)if(C.item(le).name==="xmlns"){pe=C.item(le).value;break}if(!pe)for(var me=p.length-1;me>=0;me--){var de=p[me];if(de.prefix===""&&de.namespace===e.namespaceURI){pe=de.namespace;break}}if(pe!==e.namespaceURI)for(var me=p.length-1;me>=0;me--){var de=p[me];if(de.namespace===e.namespaceURI){de.prefix&&(se=de.prefix+":"+ee);break}}}t.push("<",se);for(var Ae=0;Ae<U;Ae++){var ae=C.item(Ae);ae.prefix=="xmlns"?p.push({prefix:ae.localName,namespace:ae.value}):ae.nodeName=="xmlns"&&p.push({prefix:"",namespace:ae.value})}for(var Ae=0;Ae<U;Ae++){var ae=C.item(Ae);if(du(ae,r,p)){var Ee=ae.prefix||"",Re=ae.namespaceURI;au(t,Ee?"xmlns:"+Ee:"xmlns",Re),p.push({prefix:Ee,namespace:Re})}Be(ae,t,r,i,p)}if(ee===se&&du(e,r,p)){var Ee=e.prefix||"",Re=e.namespaceURI;au(t,Ee?"xmlns:"+Ee:"xmlns",Re),p.push({prefix:Ee,namespace:Re})}if(W||r&&!/^(?:meta|link|img|br|hr|input)$/i.test(ee)){if(t.push(">"),r&&/^script$/i.test(ee))for(;W;)W.data?t.push(W.data):Be(W,t,r,i,p.slice()),W=W.nextSibling;else for(;W;)Be(W,t,r,i,p.slice()),W=W.nextSibling;t.push("</",se,">")}else t.push("/>");return;case _:case M:for(var W=e.firstChild;W;)Be(W,t,r,i,p.slice()),W=W.nextSibling;return;case O:return au(t,e.name,e.value);case P:return t.push(e.data.replace(/[<&>]/g,J));case ue:return t.push("<![CDATA[",e.data,"]]>");case q:return t.push("<!--",e.data,"-->");case V:var gu=e.publicId,Te=e.systemId;if(t.push("<!DOCTYPE ",e.name),gu)t.push(" PUBLIC ",gu),Te&&Te!="."&&t.push(" ",Te),t.push(">");else if(Te&&Te!=".")t.push(" SYSTEM ",Te,">");else{var vu=e.internalSubset;vu&&t.push(" [",vu,"]"),t.push(">")}return;case R:return t.push("<?",e.target," ",e.data,"?>");case Q:return t.push("&",e.nodeName,";");default:t.push("??",e.nodeName)}}function Au(e,t,r){var i;switch(t.nodeType){case N:i=t.cloneNode(!1),i.ownerDocument=e;case M:break;case O:r=!0;break}if(i||(i=t.cloneNode(!1)),i.ownerDocument=e,i.parentNode=null,r)for(var p=t.firstChild;p;)i.appendChild(Au(e,p,r)),p=p.nextSibling;return i}function iu(e,t,r){var i=new t.constructor;for(var p in t)if(Object.prototype.hasOwnProperty.call(t,p)){var C=t[p];typeof C!="object"&&C!=i[p]&&(i[p]=C)}switch(t.childNodes&&(i.childNodes=new w),i.ownerDocument=e,i.nodeType){case N:var U=t.attributes,ee=i.attributes=new I,se=U.length;ee._ownerElement=i;for(var pe=0;pe<se;pe++)i.setAttributeNode(iu(e,U.item(pe),!0));break;case O:r=!0}if(r)for(var le=t.firstChild;le;)i.appendChild(iu(e,le,r)),le=le.nextSibling;return i}function Eu(e,t,r){e[t]=r}try{if(Object.defineProperty){let e=function(t){switch(t.nodeType){case N:case M:var r=[];for(t=t.firstChild;t;)t.nodeType!==7&&t.nodeType!==8&&r.push(e(t)),t=t.nextSibling;return r.join("");default:return t.nodeValue}};Object.defineProperty(S.prototype,"length",{get:function(){return x(this),this.$$length}}),Object.defineProperty(v.prototype,"textContent",{get:function(){return e(this)},set:function(t){switch(this.nodeType){case N:case M:for(;this.firstChild;)this.removeChild(this.firstChild);(t||String(t))&&this.appendChild(this.ownerDocument.createTextNode(t));break;default:this.data=t,this.value=t,this.nodeValue=t}}}),Eu=function(t,r,i){t["$$"+r]=i}}}catch{}return ce.DocumentType=Ve,ce.DOMException=d,ce.DOMImplementation=$,ce.Element=k,ce.Node=v,ce.NodeList=w,ce.XMLSerializer=Du,ce}var Oe={},lu={},_u;function bt(){return _u||(_u=1,function(c){var u=Qe().freeze;c.XML_ENTITIES=u({amp:"&",apos:"'",gt:">",lt:"<",quot:'"'}),c.HTML_ENTITIES=u({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:`
`,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:" ",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:""}),c.entityMap=c.HTML_ENTITIES}(lu)),lu}var Ge={},Ru;function yt(){if(Ru)return Ge;Ru=1;var c=Qe().NAMESPACE,u=/[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]/,n=new RegExp("[\\-\\.0-9"+u.source.slice(1,-1)+"\\u00B7\\u0300-\\u036F\\u203F-\\u2040]"),a=new RegExp("^"+u.source+n.source+"*(?::"+u.source+n.source+"*)?$"),l=0,s=1,f=2,m=3,E=4,A=5,b=6,N=7;function O(o,h){this.message=o,this.locator=h,Error.captureStackTrace&&Error.captureStackTrace(this,O)}O.prototype=new Error,O.prototype.name=O.name;function P(){}P.prototype={parse:function(o,h,g){var d=this.domBuilder;d.startDocument(),V(h,h={}),ue(o,h,g,d,this.errorHandler),d.endDocument()}};function ue(o,h,g,d,w){function S(k){if(k>65535){k-=65536;var H=55296+(k>>10),De=56320+(k&1023);return String.fromCharCode(H,De)}else return String.fromCharCode(k)}function x(k){var H=k.slice(1,-1);return Object.hasOwnProperty.call(g,H)?g[H]:H.charAt(0)==="#"?S(parseInt(H.substr(1).replace("x","0x"))):(w.error("entity not found:"+k),k)}function I(k){if(k>G){var H=o.substring(G,k).replace(/&#?\w+;/g,x);v&&y(G),d.characters(H,0,k-G),G=k}}function y(k,H){for(;k>=T&&(H=$.exec(o));)B=H.index,T=B+H[0].length,v.lineNumber++;v.columnNumber=k-B+1}for(var B=0,T=0,$=/.*(?:\r\n?|\n)|.*$/g,v=d.locator,J=[{currentNSMap:h}],oe={},G=0;;){try{var j=o.indexOf("<",G);if(j<0){if(!o.substr(G).match(/^\s*$/)){var xe=d.doc,be=xe.createTextNode(o.substr(G));xe.appendChild(be),d.currentElement=be}return}switch(j>G&&I(j),o.charAt(j+1)){case"/":var z=o.indexOf(">",j+3),Z=o.substring(j+2,z).replace(/[ \t\n\r]+$/g,""),ne=J.pop();z<0?(Z=o.substring(j+2).replace(/[\s<].*/,""),w.error("end tag name: "+Z+" is not complete:"+ne.tagName),z=j+1+Z.length):Z.match(/\s</)&&(Z=Z.replace(/[\s<].*/,""),w.error("end tag name: "+Z+" maybe not complete"),z=j+1+Z.length);var _e=ne.localNSMap,te=ne.tagName==Z,re=te||ne.tagName&&ne.tagName.toLowerCase()==Z.toLowerCase();if(re){if(d.endElement(ne.uri,ne.localName,Z),_e)for(var ye in _e)Object.prototype.hasOwnProperty.call(_e,ye)&&d.endPrefixMapping(ye);te||w.fatalError("end tag name: "+Z+" is not match the current start tagName:"+ne.tagName)}else J.push(ne);z++;break;case"?":v&&y(j),z=Y(o,j,d);break;case"!":v&&y(j),z=M(o,j,d,w);break;default:v&&y(j);var K=new F,Ne=J[J.length-1].currentNSMap,z=D(o,j,K,Ne,x,w),Me=K.length;if(!K.closed&&_(o,z,K.tagName,oe)&&(K.closed=!0,g.nbsp||w.warning("unclosed xml attribute")),v&&Me){for(var Ue=Q(v,{}),fe=0;fe<Me;fe++){var Pe=K[fe];y(Pe.offset),Pe.locator=Q(v,{})}d.locator=Ue,R(K,d,Ne)&&J.push(K),d.locator=v}else R(K,d,Ne)&&J.push(K);c.isHTML(K.uri)&&!K.closed?z=q(o,z,K.tagName,x,d):z++}}catch(k){if(k instanceof O)throw k;w.error("element parse error: "+k),z=-1}z>G?G=z:I(Math.max(j,G)+1)}}function Q(o,h){return h.lineNumber=o.lineNumber,h.columnNumber=o.columnNumber,h}function D(o,h,g,d,w,S){function x(v,J,oe){g.attributeNames.hasOwnProperty(v)&&S.fatalError("Attribute "+v+" redefined"),g.addValue(v,J.replace(/[\t\n\r]/g," ").replace(/&#?\w+;/g,w),oe)}for(var I,y,B=++h,T=l;;){var $=o.charAt(B);switch($){case"=":if(T===s)I=o.slice(h,B),T=m;else if(T===f)T=m;else throw new Error("attribute equal must after attrName");break;case"'":case'"':if(T===m||T===s)if(T===s&&(S.warning('attribute value must after "="'),I=o.slice(h,B)),h=B+1,B=o.indexOf($,h),B>0)y=o.slice(h,B),x(I,y,h-1),T=A;else throw new Error("attribute value no end '"+$+"' match");else if(T==E)y=o.slice(h,B),x(I,y,h),S.warning('attribute "'+I+'" missed start quot('+$+")!!"),h=B+1,T=A;else throw new Error('attribute value must after "="');break;case"/":switch(T){case l:g.setTagName(o.slice(h,B));case A:case b:case N:T=N,g.closed=!0;case E:case s:break;case f:g.closed=!0;break;default:throw new Error("attribute invalid close char('/')")}break;case"":return S.error("unexpected end of input"),T==l&&g.setTagName(o.slice(h,B)),B;case">":switch(T){case l:g.setTagName(o.slice(h,B));case A:case b:case N:break;case E:case s:y=o.slice(h,B),y.slice(-1)==="/"&&(g.closed=!0,y=y.slice(0,-1));case f:T===f&&(y=I),T==E?(S.warning('attribute "'+y+'" missed quot(")!'),x(I,y,h)):((!c.isHTML(d[""])||!y.match(/^(?:disabled|checked|selected)$/i))&&S.warning('attribute "'+y+'" missed value!! "'+y+'" instead!!'),x(y,y,h));break;case m:throw new Error("attribute value missed!!")}return B;case"":$=" ";default:if($<=" ")switch(T){case l:g.setTagName(o.slice(h,B)),T=b;break;case s:I=o.slice(h,B),T=f;break;case E:var y=o.slice(h,B);S.warning('attribute "'+y+'" missed quot(")!!'),x(I,y,h);case A:T=b;break}else switch(T){case f:g.tagName,(!c.isHTML(d[""])||!I.match(/^(?:disabled|checked|selected)$/i))&&S.warning('attribute "'+I+'" missed value!! "'+I+'" instead2!!'),x(I,I,h),h=B,T=s;break;case A:S.warning('attribute space is required"'+I+'"!!');case b:T=s,h=B;break;case m:T=E,h=B;break;case N:throw new Error("elements closed character '/' and '>' must be connected to")}}B++}}function R(o,h,g){for(var d=o.tagName,w=null,$=o.length;$--;){var S=o[$],x=S.qName,I=S.value,v=x.indexOf(":");if(v>0)var y=S.prefix=x.slice(0,v),B=x.slice(v+1),T=y==="xmlns"&&B;else B=x,y=null,T=x==="xmlns"&&"";S.localName=B,T!==!1&&(w==null&&(w={},V(g,g={})),g[T]=w[T]=I,S.uri=c.XMLNS,h.startPrefixMapping(T,I))}for(var $=o.length;$--;){S=o[$];var y=S.prefix;y&&(y==="xml"&&(S.uri=c.XML),y!=="xmlns"&&(S.uri=g[y||""]))}var v=d.indexOf(":");v>0?(y=o.prefix=d.slice(0,v),B=o.localName=d.slice(v+1)):(y=null,B=o.localName=d);var J=o.uri=g[y||""];if(h.startElement(J,B,d,o),o.closed){if(h.endElement(J,B,d),w)for(y in w)Object.prototype.hasOwnProperty.call(w,y)&&h.endPrefixMapping(y)}else return o.currentNSMap=g,o.localNSMap=w,!0}function q(o,h,g,d,w){if(/^(?:script|textarea)$/i.test(g)){var S=o.indexOf("</"+g+">",h),x=o.substring(h+1,S);if(/[&<]/.test(x))return/^script$/i.test(g)?(w.characters(x,0,x.length),S):(x=x.replace(/&#?\w+;/g,d),w.characters(x,0,x.length),S)}return h+1}function _(o,h,g,d){var w=d[g];return w==null&&(w=o.lastIndexOf("</"+g+">"),w<h&&(w=o.lastIndexOf("</"+g)),d[g]=w),w<h}function V(o,h){for(var g in o)Object.prototype.hasOwnProperty.call(o,g)&&(h[g]=o[g])}function M(o,h,g,d){var w=o.charAt(h+2);switch(w){case"-":if(o.charAt(h+3)==="-"){var S=o.indexOf("-->",h+4);return S>h?(g.comment(o,h+4,S-h-4),S+3):(d.error("Unclosed comment"),-1)}else return-1;default:if(o.substr(h+3,6)=="CDATA["){var S=o.indexOf("]]>",h+9);return g.startCDATA(),g.characters(o,h+9,S-h-9),g.endCDATA(),S+3}var x=L(o,h),I=x.length;if(I>1&&/!doctype/i.test(x[0][0])){var y=x[1][0],B=!1,T=!1;I>3&&(/^public$/i.test(x[2][0])?(B=x[3][0],T=I>4&&x[4][0]):/^system$/i.test(x[2][0])&&(T=x[3][0]));var $=x[I-1];return g.startDTD(y,B,T),g.endDTD(),$.index+$[0].length}}return-1}function Y(o,h,g){var d=o.indexOf("?>",h);if(d){var w=o.substring(h,d).match(/^<\?(\S*)\s*([\s\S]*?)\s*$/);return w?(w[0].length,g.processingInstruction(w[1],w[2]),d+2):-1}return-1}function F(){this.attributeNames={}}F.prototype={setTagName:function(o){if(!a.test(o))throw new Error("invalid tagName:"+o);this.tagName=o},addValue:function(o,h,g){if(!a.test(o))throw new Error("invalid attribute:"+o);this.attributeNames[o]=this.length,this[this.length++]={qName:o,value:h,offset:g}},length:0,getLocalName:function(o){return this[o].localName},getLocator:function(o){return this[o].locator},getQName:function(o){return this[o].qName},getURI:function(o){return this[o].uri},getValue:function(o){return this[o].value}};function L(o,h){var g,d=[],w=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;for(w.lastIndex=h,w.exec(o);g=w.exec(o);)if(d.push(g),g[1])return d}return Ge.XMLReader=P,Ge.ParseError=O,Ge}var qu;function Nt(){if(qu)return Oe;qu=1;var c=Qe(),u=zu(),n=bt(),a=yt(),l=u.DOMImplementation,s=c.NAMESPACE,f=a.ParseError,m=a.XMLReader;function E(D){return D.replace(/\r[\n\u0085]/g,`
`).replace(/[\r\u0085\u2028]/g,`
`)}function A(D){this.options=D||{locator:{}}}A.prototype.parseFromString=function(D,R){var q=this.options,_=new m,V=q.domBuilder||new N,M=q.errorHandler,Y=q.locator,F=q.xmlns||{},L=/\/x?html?$/.test(R),o=L?n.HTML_ENTITIES:n.XML_ENTITIES;Y&&V.setDocumentLocator(Y),_.errorHandler=b(M,V,Y),_.domBuilder=q.domBuilder||V,L&&(F[""]=s.HTML),F.xml=F.xml||s.XML;var h=q.normalizeLineEndings||E;return D&&typeof D=="string"?_.parse(h(D),F,o):_.errorHandler.error("invalid doc source"),V.doc};function b(D,R,q){if(!D){if(R instanceof N)return R;D=R}var _={},V=D instanceof Function;q=q||{};function M(Y){var F=D[Y];!F&&V&&(F=D.length==2?function(L){D(Y,L)}:D),_[Y]=F&&function(L){F("[xmldom "+Y+"] "+L+P(q))}||function(){}}return M("warning"),M("error"),M("fatalError"),_}function N(){this.cdata=!1}function O(D,R){R.lineNumber=D.lineNumber,R.columnNumber=D.columnNumber}N.prototype={startDocument:function(){this.doc=new l().createDocument(null,null,null),this.locator&&(this.doc.documentURI=this.locator.systemId)},startElement:function(D,R,q,_){var V=this.doc,M=V.createElementNS(D,q||R),Y=_.length;Q(this,M),this.currentElement=M,this.locator&&O(this.locator,M);for(var F=0;F<Y;F++){var D=_.getURI(F),L=_.getValue(F),q=_.getQName(F),o=V.createAttributeNS(D,q);this.locator&&O(_.getLocator(F),o),o.value=o.nodeValue=L,M.setAttributeNode(o)}},endElement:function(D,R,q){var _=this.currentElement;_.tagName,this.currentElement=_.parentNode},startPrefixMapping:function(D,R){},endPrefixMapping:function(D){},processingInstruction:function(D,R){var q=this.doc.createProcessingInstruction(D,R);this.locator&&O(this.locator,q),Q(this,q)},ignorableWhitespace:function(D,R,q){},characters:function(D,R,q){if(D=ue.apply(this,arguments),D){if(this.cdata)var _=this.doc.createCDATASection(D);else var _=this.doc.createTextNode(D);this.currentElement?this.currentElement.appendChild(_):/^\s*$/.test(D)&&this.doc.appendChild(_),this.locator&&O(this.locator,_)}},skippedEntity:function(D){},endDocument:function(){this.doc.normalize()},setDocumentLocator:function(D){(this.locator=D)&&(D.lineNumber=0)},comment:function(D,R,q){D=ue.apply(this,arguments);var _=this.doc.createComment(D);this.locator&&O(this.locator,_),Q(this,_)},startCDATA:function(){this.cdata=!0},endCDATA:function(){this.cdata=!1},startDTD:function(D,R,q){var _=this.doc.implementation;if(_&&_.createDocumentType){var V=_.createDocumentType(D,R,q);this.locator&&O(this.locator,V),Q(this,V),this.doc.doctype=V}},warning:function(D){console.warn("[xmldom warning] "+D,P(this.locator))},error:function(D){console.error("[xmldom error] "+D,P(this.locator))},fatalError:function(D){throw new f(D,this.locator)}};function P(D){if(D)return`
@`+(D.systemId||"")+"#[line:"+D.lineNumber+",col:"+D.columnNumber+"]"}function ue(D,R,q){return typeof D=="string"?D.substr(R,q):D.length>=R+q||R?new java.lang.String(D,R,q)+"":D}"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g,function(D){N.prototype[D]=function(){return null}});function Q(D,R){D.currentElement?D.currentElement.appendChild(R):D.doc.appendChild(R)}return Oe.__DOMHandler=N,Oe.normalizeLineEndings=E,Oe.DOMParser=A,Oe}var Ou;function Bt(){if(Ou)return qe;Ou=1;var c=zu();return qe.DOMImplementation=c.DOMImplementation,qe.XMLSerializer=c.XMLSerializer,qe.DOMParser=Nt().DOMParser,qe}var Tt=Bt();const ie=63,Se=255,je="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",ze=[-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];function Hu(c){let u=null,n=null;const a=[],s=new Tt.DOMParser({locator:{},errorHandler:{warning:E=>{},error:E=>{a.push(E)},fatalError:E=>{a.push(E)}}}).parseFromString(c,"text/xml");if(a.length)throw new Error(`XML decode error: ${a[0]}`);const{childNodes:f}=s,m=s.documentElement||null;for(let E=0,A=f.length;E<A;E++){const b=f[E];if(b===m)break;const N=b.toString();/^<\?xml[^>]*\?>$/.test(N)&&(u=N),/^<!DOCTYPE[^>]*>$/.test(N)&&(n=N)}if(!m)throw new Error("XML decode error: No document element");return{declaration:u,doctype:n,documentElement:m}}function cu(c){const{childNodes:u}=c,n=[];for(let a=0,l=u.length;a<l;a++){const s=u[a];if("tagName"in s){n.push(s);continue}const{nodeValue:f}=s;if(f&&!/^\s*$/.test(f))throw new Error(`Found text children of: ${c.tagName}`)}return n}function ke(c){const{childNodes:u}=c;let n=null;for(let a=0,l=u.length;a<l;a++){if(a)throw new Error(`Multiple child elements in: ${c.tagName}`);const s=u[a];if(!("tagName"in s)&&"data"in s&&"nodeValue"in s)n=s;else throw new Error(`Unexpected child element in: ${c.tagName}`)}return n}function he(c,u){if(c.tagName!==u)throw new Error(`Unexpected tagName: ${u}`)}function St(c){const{childNodes:u}=c;if(u.length)throw new Error(`Unexpected child nodes: ${c.tagName}`)}function Iu(c){const u=c.length;let n="";for(let a=0;a<u;){const l=c[a++],s=a<u?c[a++]:null,f=a<u?c[a++]:null,m=l<<16|(s||0)<<8|(f||0);n+=je[m>>18]+je[m>>12&ie]+je[s===null?64:m>>6&ie]+je[f===null?64:m&ie]}return n}function Ft(c){const u=c.length,n=[];e:for(let a,l,s,f,m,E,A=0;A<u;){for(;;){if((m=ze[c.charCodeAt(A++)])>=0){a=m;break}if(A>=u)break e}for(;;){if((m=ze[c.charCodeAt(A++)])>=0){l=m;break}if(A>=u)break e}for(;;){if((m=ze[c.charCodeAt(A++)])>=0){s=m;break}if(A>=u)break e}for(;;){if((m=ze[c.charCodeAt(A++)])>=0){f=m;break}if(A>=u)break e}switch(E=(a&ie)<<18|(l&ie)<<12|(s&ie)<<6|f&ie,s>ie?f>ie?2:0:f>ie?1:0){case 0:{n.push(E>>16&Se,E>>8&Se,E&Se);break}case 1:{n.push(E>>16&Se,E>>8&Se);break}case 2:{n.push(E>>16&Se);break}}}return new Uint8Array(n)}const we=" ",Ze=`
`,xt=68,_t=!1;class Ce{constructor(){}get type(){return this.constructor.TYPE}castTo(u){return this.type===u.TYPE?this:null}castAs(u){const n=this.castTo(u);if(!n)throw new Error(`Cannot cast type '${this.type}' to '${u.TYPE}'`);return n}fromXml(u){const{documentElement:n}=Hu(u);this.fromXmlElement(n)}}class fu extends Ce{static TYPE="boolean";static TAG_NAMES=["true","false"];value=!1;constructor(u=!1){super(),this.value=u}fromXmlElement(u){switch(St(u),u.tagName){case"true":{this.value=!0;return}case"false":{this.value=!1;return}default:throw he(u,"")}}toXml(u=null,n=0){const a=(u?.indentString??we).repeat(n);return this.value?`${a}<true/>`:`${a}<false/>`}}class Yu extends Ce{static TYPE="data";static TAG_NAMES=["data"];constructor(u=new Uint8Array(0)){super(),this.value=u}fromXmlElement(u){he(u,"data");const n=ke(u)?.nodeValue||"";this.value=Ft(n)}toXml(u=null,n=0){const a=u?.newlineString??Ze,l=u?.dataColumns??xt,s=(u?.indentString??we).repeat(n);let f=`${s}<data>`;if(l>0)for(let m=Iu(this.value);m;m=m.slice(l))f+=`${a}${s}${m.slice(0,l)}`;else f+=`${a}${s}${Iu(this.value)}`;return f+=`${a}${s}</data>`,f}}const Lu=9007199254740991;function ku(c){if(typeof c=="number"&&!Number.isInteger(c))throw new Error(`Value not an integer: ${c}`)}class Ku extends Ce{static TYPE="integer";static TAG_NAMES=["integer"];value=0;constructor(u=0){super(),ku(u),this.value=u}asBigInt(){return BigInt(this.value)}asNumber(){return Number(this.value)}fromXmlElement(u){he(u,"integer");const n=ke(u)?.nodeValue||"";if(!/^[+-]?\d+$/.test(n))throw new Error(`Invalid integer data: ${n}`);const a=+n;this.value=a>Lu||a<-Lu?BigInt(n):a}toXml(u=null,n=0){const a=(u?.indentString??we).repeat(n),l=this.value;return ku(l),`${a}<integer>${l}</integer>`}}class Wu extends Ce{static TYPE="real";static TAG_NAMES=["real"];value=0;constructor(u=0){super(),this.value=u}fromXmlElement(u){he(u,"real");const n=ke(u)?.nodeValue||"";if(!/^[+-]?(\d+|\d*\.\d+)$/.test(n))throw new Error(`Invalid real data: ${n}`);this.value=+n}toXml(u=null,n=0){const a=(u?.indentString??we).repeat(n),l=this.value;return`${a}<real>${l}</real>`}}class ve extends Ce{static TYPE="string";static TAG_NAMES=["string"];value="";constructor(u=""){super(),this.value=u}fromXmlElement(u){he(u,"string"),this.value=ke(u)?.nodeValue||""}toXml(u=null,n=0){const a=(u?.indentString??we).repeat(n),l=this.value.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">");return`${a}<string>${l}</string>`}}let He;class Fe extends Ce{static TYPE="dict";static TAG_NAMES=["dict"];static get CHILD_TAG_NAMES(){if(!He){He=new Map;for(const u of[Je,fu,Yu,Fe,Ku,Wu,ve])for(const n of u.TAG_NAMES)He.set(n,u)}return He}value=new Map;constructor(u=new Map){super(),this.value=u}get size(){return this.value.size}has(u){return this.value.has(u)}get(u){return this.value.get(u)||null}getValue(u){const n=this.get(u);if(!n)throw new Error(`Key is null: ${u}`);return n}set(u,n){this.value.set(u,n)}delete(u){this.value.delete(u)}clear(){this.value.clear()}fromXmlElement(u){he(u,"dict");const n=cu(u),a=n.length;if(a%2)throw new Error(`Uneven number of child elements: ${a}`);const l=new Map;for(let s=0;s<a;s+=2){const f=n[s],m=n[s+1];he(f,"key");const E=ke(f)?.nodeValue||"",A=this.childFromXmlElement(m);l.set(E,A)}this.value=l}childFromXmlElement(u){const{tagName:n}=u,{CHILD_TAG_NAMES:a}=this.constructor,l=a.get(n)||null;if(!l)throw new Error(`Unknown element type: ${n}`);const s=new l;return s.fromXmlElement(u),s}toXml(u=null,n=0){const a=u?.indentString??we,l=u?.newlineString??Ze,s=a.repeat(n),f=this.value;if(!f.size)return`${s}<dict/>`;const m=a.repeat(n+1);let E=`${s}<dict>`;for(const[A,b]of f){const N=A.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">");E+=`${l}${m}<key>${N}</key>${l}${b.toXml(u,n+1)}`}return E+=`${l}${s}</dict>`,E}}let Ye;class Je extends Ce{static TYPE="array";static TAG_NAMES=["array"];static get CHILD_TAG_NAMES(){if(!Ye){Ye=new Map;for(const u of[Je,fu,Yu,Fe,Ku,Wu,ve])for(const n of u.TAG_NAMES)Ye.set(n,u)}return Ye}value=[];constructor(u=[]){super(),this.value=u}get length(){return this.value.length}get(u){const{value:n}=this;return u<this.length?n[u]:null}getValue(u){const n=this.get(u);if(!n)throw new Error(`Index out of bounds: ${u}`);return n}set(u,n){this.value[u]=n}push(...u){this.value.push(...u)}pop(){return this.value.pop()||null}popValue(){const u=this.pop();if(!u)throw new Error("Cannot pop empty array");return u}shift(){return this.value.shift()||null}shiftValue(){const u=this.shift();if(!u)throw new Error("Cannot shift empty array");return u}fromXmlElement(u){he(u,"array");const n=cu(u);this.value=n.map(a=>this.childFromXmlElement(a))}childFromXmlElement(u){const{tagName:n}=u,{CHILD_TAG_NAMES:a}=this.constructor,l=a.get(n)||null;if(!l)throw new Error(`Unknown element type: ${n}`);const s=new l;return s.fromXmlElement(u),s}toXml(u=null,n=0){const a=u?.newlineString??Ze,l=(u?.indentString??we).repeat(n),s=this.value;if(!s.length)return`${l}<array/>`;let f=`${l}<array>`;for(const m of s)f+=`${a}${m.toXml(u,n+1)}`;return f+=`${a}${l}</array>`,f}}const Mu='<?xml version="1.0" encoding="UTF-8"?>',Uu='<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">';class Rt{static XML_DECLARATION=Mu;static XML_DOCTYPE=Uu;xmlDeclaration=Mu;xmlDoctype=Uu;value=null;constructor(u=null){this.value=u}getValue(){const{value:u}=this;if(!u)throw new Error("Value is null");return u}valueCastTo(u){const{value:n}=this;return n?n.castTo(u):null}valueCastAs(u){const n=this.valueCastTo(u);if(!n)throw new Error(`Cannot cast value to type '${u.TYPE}'`);return n}fromXml(u){const{declaration:n,doctype:a,documentElement:l}=Hu(u);this.fromXmlElement(l,n,a)}fromXmlElement(u,n=null,a=null){const{tagName:l}=u;if(l!=="plist")throw new Error(`Unexpected root plist tag name: ${l}`);const s=cu(u),f=s.length;if(f>1)throw new Error(`Multiple root plist child tag: ${f}`);this.value=f?this.childFromXmlElement(s[0]):null,this.xmlDeclaration=n||"",this.xmlDoctype=a||""}childFromXmlElement(u){return new Fe().childFromXmlElement(u)}toXml(u=null){const n=u?.indentRoot??_t,a=u?.newlineString??Ze,l=this.value;return[...[this.xmlDeclaration,this.xmlDoctype].filter(Boolean),'<plist version="1.0">',...l?[l.toXml(u,n?1:0)]:[],"</plist>",""].join(a)}}class qt{constructor(u=null){this.hdiutil=(u?u.hdiutil:null)||"hdiutil"}async attach(u,n=null,a=null){const l=await this._runAttach(this._argsAttach(u,n)),{eject:s,ejectSync:f}=this._createEjects(l);return{devices:l,eject:s,ejectSync:f}}attachSync(u,n=null,a=null){const l=this._runAttachSync(this._argsAttach(u,n)),{eject:s,ejectSync:f}=this._createEjects(l);return{devices:l,eject:s,ejectSync:f}}async eject(u,n=null){await this._runEject(this._argsEject(u,n))}ejectSync(u,n=null){this._runEjectSync(this._argsEject(u,n))}_argsAttach(u,n=null){const a=["attach","-plist"];return n&&(n.readonly&&a.push("-readonly"),n.nobrowse&&a.push("-nobrowse")),a.push(this._fileArg(u)),a}_argsEject(u,n=null){const a=["eject"];return n&&n.force&&a.push("-force"),a.push(this._fileArg(u)),a}async _runAttach(u){const n=[],a=Nu(this.hdiutil,u);a.stdout.on("data",s=>{n.push(s)});const l=await new Promise((s,f)=>{a.once("exit",s),a.once("error",f)});if(l)throw new Error(`Attach failed: hdiutil exit code: ${l}`);return this._parseDevices(Buffer.concat(n).toString())}_runAttachSync(u){const{status:n,error:a,stdout:l}=Bu(this.hdiutil,u);if(a)throw a;if(n)throw new Error(`Attach failed: hdiutil exit code: ${n}`);return this._parseDevices(l.toString())}async _runEject(u){const n=Nu(this.hdiutil,u),a=await new Promise((l,s)=>{n.once("exit",l),n.once("error",s)});if(a)throw new Error(`Eject failed: hdiutil exit code: ${a}`)}_runEjectSync(u){const{status:n,error:a}=Bu(this.hdiutil,u);if(a)throw a;if(n)throw new Error(`Eject failed: hdiutil exit code: ${n}`)}_fileArg(u){return u.startsWith("-")?`./${u}`:u}_parseDevices(u){const n=new Rt;n.fromXml(u);const a=n.valueCastAs(Fe).getValue("system-entities").castAs(Je),l=[];for(const s of a.value){const f=s.castAs(Fe),m=f.getValue("dev-entry").castAs(ve).value,E=f.getValue("potentially-mountable").castAs(fu).value,A=f.get("content-hint"),b=f.get("unmapped-content-hint"),N=f.get("volume-kind"),O=f.get("mount-point"),P={devEntry:m,potentiallyMountable:E};A&&(P.contentHint=A.castAs(ve).value),b&&(P.unmappedContentHint=b.castAs(ve).value),N&&(P.volumeKind=N.castAs(ve).value),O&&(P.mountPoint=O.castAs(ve).value),l.push(P)}return l}_findRootDevice(u){let n=null;for(const a of u)(n===null||n.devEntry.length>a.devEntry.length)&&(n=a);return n}_createEjects(u,n=null){let a=this._findRootDevice(u)?.devEntry,l=null;const s={eject:async(f=null)=>{a&&(await this.eject(a,f),a="",l&&process.off("exit",l))},ejectSync:(f=null)=>{a&&(this.ejectSync(a,f),a="",l&&process.off("exit",l))}};return n&&(l=()=>{s.ejectSync(n)},process.once("exit",l)),s}}const Ot={ignoreUnreadableDirectories:!0},Pu={force:!0};class It extends ju{sizeComp=null;uname=null;gname=null;constructor(u){super(u),this.archive=u.archive,this.size=u.size,this.mode=u.mode,this.uid=u.uid,this.gid=u.gid,this.atime=u.atime,this.mtime=u.mtime}get rsrcPathRaw(){return Ke(this.pathRaw)}get rsrcPath(){return Xu(Ke(this.path))}}class Xt extends Ct{static FILE_EXTENSIONS=[".dmg",".iso",".cdr"];static HAS_NAMED_VOLUMES=!0;Entry=It;mounterMac=new qt;nobrowse=!1;constructor(u){super(u)}async read(u){await super.read(u)}async _read(u){const{mounterMac:n,nobrowse:a}=this,l=async(f,m,E)=>{const A=pt(E);if(A===null)return!0;const{size:b,mode:N,uid:O,gid:P,atime:ue,mtime:Q}=E,D=A===X.FILE?async()=>Cu(f):null,R=A===X.SYMLINK?async()=>Et(f):null,_=await new this.Entry({archive:this,type:A,pathRaw:m,size:b,mode:N,uid:O,gid:P,atime:ue,mtime:Q,readData:D,readSymlink:R}).trigger(u);if(_===!1)return null;if(_===null)return!1;if(A===X.FILE){const V=Ke(f),M=await Ie(V);if(M){const Y=M.size,F=async()=>Cu(V),o=await new this.Entry({archive:this,type:X.RESOURCE_FORK,pathRaw:m,size:Y,mode:N,uid:O,gid:P,atime:ue,mtime:Q,readRsrc:F}).trigger(u);if(o===!1)return null;if(o===null)return!1}}return!0},s=await n.attach(this.path,{nobrowse:a,readonly:!0},Pu);try{for(const f of s.devices){const{mountPoint:m}=f;if(!m)continue;const E=nt(m);await wt(m,async(A,b)=>{const N=Le(m,A),O=Le(E,A);return l(N,O,b)},Ot)}}finally{await s.eject(Pu)}}}export{Ct as Archive,Xt as ArchiveHdi,ju as Entry,It as EntryHdi,X as PathType,vt as fsChmod,mt as fsLchmod,ct as fsLchmodSupported,Gu as fsLstat,Ie as fsLstatExists,At as fsLutimes,ft as fsLutimesSupported,Tu as fsReaddir,Et as fsReadlinkRaw,gt as fsSymlink,dt as fsUtimes,wt as fsWalk,ht as modePermissionBits,Xu as pathNormalize,Ke as pathResourceFork,pt as statToPathType,Dt as streamToBuffer};
//# sourceMappingURL=index-CkjZCcSz.mjs.map