w-md2docx 1.0.6 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/w-md2docx.umd.js +2 -2
- package/dist/w-md2docx.umd.js.map +1 -1
- package/docs/WMd2docx.mjs.html +1 -1
- package/docs/cvMdTo.mjs.html +1 -1
- package/docs/cvMdToDocx.mjs.html +14 -12
- package/docs/global.html +20 -17
- package/docs/index.html +1 -1
- package/docs/rmApiClient.mjs.html +1 -1
- package/docs/rmApiServer.mjs.html +3 -3
- package/docs/utils.mjs.html +15 -10
- package/package.json +3 -3
- package/src/cvMdToDocx.mjs +13 -11
- package/src/rmApiServer.mjs +2 -2
- package/src/utils.mjs +14 -9
- package/test/api-rmApiClient.test.mjs +40 -15
- package/test/api-rmApiServer.test.mjs +10 -7
- package/test/unit-cvMdTo.test.mjs +2 -2
- package/test/unit-cvMdToDocx.test.mjs +175 -12
- package/test/unit-utils.test.mjs +20 -3
package/dist/w-md2docx.umd.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* w-md2docx v1.0.
|
|
2
|
+
* w-md2docx v1.0.7
|
|
3
3
|
* (c) 2018-2021 yuda-lyu(semisphere)
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
6
|
-
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("fs"),require("os"),require("path"),require("sharp"),require("marked"),require("marked-katex-extension"),require("marked-footnote"),require("highlight.js"),require("marked-highlight"),require("dompurify"),require("process"),require("child_process"),require("stream"),require("url"),require("@hapi/hapi")):"function"==typeof define&&define.amd?define(["fs","os","path","sharp","marked","marked-katex-extension","marked-footnote","highlight.js","marked-highlight","dompurify","process","child_process","stream","url","@hapi/hapi"],e):(t="undefined"!=typeof globalThis?globalThis:t||self)["w-md2docx"]=e(t.fs,t.os,t.path,t.sharp,t.marked,t["marked-katex-extension"],t["marked-footnote"],t.highlight.js,t["marked-highlight"],t.dompurify,t.process,t.child_process,t.stream,t.url,t["@hapi/hapi"])}(this,function(t,e,n,r,i,A,o,s,a,c,l,u,h,d,f){"use strict";var g="undefined"!=typeof document?document.currentScript:null,p=Array.isArray,m="object"==typeof global&&global&&global.Object===Object&&global,b="object"==typeof self&&self&&self.Object===Object&&self,I=m||b||Function("return this")(),y=I.Symbol,w=Object.prototype,B=w.hasOwnProperty,C=w.toString,x=y?y.toStringTag:void 0;var k=Object.prototype.toString;var S=y?y.toStringTag:void 0;function v(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":S&&S in Object(t)?function(t){var e=B.call(t,x),n=t[x];try{t[x]=void 0;var r=!0}catch(t){}var i=C.call(t);return r&&(e?t[x]=n:delete t[x]),i}(t):function(t){return k.call(t)}(t)}function D(t){return null!=t&&"object"==typeof t}function E(t){return"symbol"==typeof t||D(t)&&"[object Symbol]"==v(t)}var F=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Q=/^\w*$/;function W(t,e){if(p(t))return!1;var n=typeof t;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!E(t))||(Q.test(t)||!F.test(t)||null!=e&&t in Object(e))}function N(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function K(t){if(!N(t))return!1;var e=v(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}var G,Y=I["__core-js_shared__"],j=(G=/[^.]+$/.exec(Y&&Y.keys&&Y.keys.IE_PROTO||""))?"Symbol(src)_1."+G:"";var L=Function.prototype.toString;function J(t){if(null!=t){try{return L.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var R=/^\[object .+?Constructor\]$/,H=Function.prototype,Z=Object.prototype,O=H.toString,M=Z.hasOwnProperty,U=RegExp("^"+O.call(M).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function T(t){return!(!N(t)||(e=t,j&&j in e))&&(K(t)?U:R).test(J(t));var e}function V(t,e){var n=function(t,e){return null==t?void 0:t[e]}(t,e);return T(n)?n:void 0}var P=V(Object,"create");var X=Object.prototype.hasOwnProperty;var z=Object.prototype.hasOwnProperty;function _(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function q(t,e){return t===e||t!=t&&e!=e}function $(t,e){for(var n=t.length;n--;)if(q(t[n][0],e))return n;return-1}_.prototype.clear=function(){this.__data__=P?P(null):{},this.size=0},_.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},_.prototype.get=function(t){var e=this.__data__;if(P){var n=e[t];return"__lodash_hash_undefined__"===n?void 0:n}return X.call(e,t)?e[t]:void 0},_.prototype.has=function(t){var e=this.__data__;return P?void 0!==e[t]:z.call(e,t)},_.prototype.set=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=P&&void 0===e?"__lodash_hash_undefined__":e,this};var tt=Array.prototype.splice;function et(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}et.prototype.clear=function(){this.__data__=[],this.size=0},et.prototype.delete=function(t){var e=this.__data__,n=$(e,t);return!(n<0)&&(n==e.length-1?e.pop():tt.call(e,n,1),--this.size,!0)},et.prototype.get=function(t){var e=this.__data__,n=$(e,t);return n<0?void 0:e[n][1]},et.prototype.has=function(t){return $(this.__data__,t)>-1},et.prototype.set=function(t,e){var n=this.__data__,r=$(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this};var nt=V(I,"Map");function rt(t,e){var n,r,i=t.__data__;return("string"==(r=typeof(n=e))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?i["string"==typeof e?"string":"hash"]:i.map}function it(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}it.prototype.clear=function(){this.size=0,this.__data__={hash:new _,map:new(nt||et),string:new _}},it.prototype.delete=function(t){var e=rt(this,t).delete(t);return this.size-=e?1:0,e},it.prototype.get=function(t){return rt(this,t).get(t)},it.prototype.has=function(t){return rt(this,t).has(t)},it.prototype.set=function(t,e){var n=rt(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this};function At(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],A=n.cache;if(A.has(i))return A.get(i);var o=t.apply(this,r);return n.cache=A.set(i,o)||A,o};return n.cache=new(At.Cache||it),n}At.Cache=it;var ot,st,at,ct=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,lt=/\\(\\)?/g,ut=(ot=function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(ct,function(t,n,r,i){e.push(r?i.replace(lt,"$1"):n||t)}),e},st=At(ot,function(t){return 500===at.size&&at.clear(),t}),at=st.cache,st),ht=ut;function dt(t,e){for(var n=-1,r=null==t?0:t.length,i=Array(r);++n<r;)i[n]=e(t[n],n,t);return i}var ft=y?y.prototype:void 0,gt=ft?ft.toString:void 0;function pt(t){if("string"==typeof t)return t;if(p(t))return dt(t,pt)+"";if(E(t))return gt?gt.call(t):"";var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}function mt(t){return null==t?"":pt(t)}function bt(t,e){return p(t)?t:W(t,e)?[t]:ht(mt(t))}function It(t){if("string"==typeof t||E(t))return t;var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}function yt(t,e){for(var n=0,r=(e=bt(e,t)).length;null!=t&&n<r;)t=t[It(e[n++])];return n&&n==r?t:void 0}function wt(t,e,n){var r=null==t?void 0:yt(t,e);return void 0===r?n:r}function Bt(t){return"[object String]"===Object.prototype.toString.call(t)}function Ct(t){return!(!Bt(t)||""===t)}function xt(t){return"[object Object]"===Object.prototype.toString.call(t)}function kt(t,e={}){let n=wt(e,"fs"),r=!1;try{n.statSync(t),r=!0}catch{r=!1}return r}function St(e){return function(t,e={}){let n=wt(e,"fs");return!!kt(t,{fs:n})&&!n.lstatSync(t).isDirectory()&&!n.lstatSync(t).isSymbolicLink()}(e,{fs:t})}function vt(t,e){for(var n=-1,r=null==t?0:t.length;++n<r&&!1!==e(t[n],n,t););return t}var Dt,Et=function(t,e,n){for(var r=-1,i=Object(t),A=n(t),o=A.length;o--;){var s=A[Dt?o:++r];if(!1===e(i[s],s,i))break}return t};function Ft(t){return D(t)&&"[object Arguments]"==v(t)}var Qt=Object.prototype,Wt=Qt.hasOwnProperty,Nt=Qt.propertyIsEnumerable,Kt=Ft(function(){return arguments}())?Ft:function(t){return D(t)&&Wt.call(t,"callee")&&!Nt.call(t,"callee")},Gt=Kt;var Yt="object"==typeof exports&&exports&&!exports.nodeType&&exports,jt=Yt&&"object"==typeof module&&module&&!module.nodeType&&module,Lt=jt&&jt.exports===Yt?I.Buffer:void 0,Jt=(Lt?Lt.isBuffer:void 0)||function(){return!1},Rt=/^(?:0|[1-9]\d*)$/;function Ht(t,e){var n=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==n||"symbol"!=n&&Rt.test(t))&&t>-1&&t%1==0&&t<e}function Zt(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}var Ot={};function Mt(t){return function(e){return t(e)}}Ot["[object Float32Array]"]=Ot["[object Float64Array]"]=Ot["[object Int8Array]"]=Ot["[object Int16Array]"]=Ot["[object Int32Array]"]=Ot["[object Uint8Array]"]=Ot["[object Uint8ClampedArray]"]=Ot["[object Uint16Array]"]=Ot["[object Uint32Array]"]=!0,Ot["[object Arguments]"]=Ot["[object Array]"]=Ot["[object ArrayBuffer]"]=Ot["[object Boolean]"]=Ot["[object DataView]"]=Ot["[object Date]"]=Ot["[object Error]"]=Ot["[object Function]"]=Ot["[object Map]"]=Ot["[object Number]"]=Ot["[object Object]"]=Ot["[object RegExp]"]=Ot["[object Set]"]=Ot["[object String]"]=Ot["[object WeakMap]"]=!1;var Ut="object"==typeof exports&&exports&&!exports.nodeType&&exports,Tt=Ut&&"object"==typeof module&&module&&!module.nodeType&&module,Vt=Tt&&Tt.exports===Ut&&m.process,Pt=function(){try{var t=Tt&&Tt.require&&Tt.require("util").types;return t||Vt&&Vt.binding&&Vt.binding("util")}catch(t){}}(),Xt=Pt&&Pt.isTypedArray,zt=Xt?Mt(Xt):function(t){return D(t)&&Zt(t.length)&&!!Ot[v(t)]},_t=Object.prototype.hasOwnProperty;function qt(t,e){var n=p(t),r=!n&&Gt(t),i=!n&&!r&&Jt(t),A=!n&&!r&&!i&&zt(t),o=n||r||i||A,s=o?function(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}(t.length,String):[],a=s.length;for(var c in t)!e&&!_t.call(t,c)||o&&("length"==c||i&&("offset"==c||"parent"==c)||A&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||Ht(c,a))||s.push(c);return s}var $t=Object.prototype;function te(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||$t)}function ee(t,e){return function(n){return t(e(n))}}var ne=ee(Object.keys,Object),re=Object.prototype.hasOwnProperty;function ie(t){if(!te(t))return ne(t);var e=[];for(var n in Object(t))re.call(t,n)&&"constructor"!=n&&e.push(n);return e}function Ae(t){return null!=t&&Zt(t.length)&&!K(t)}function oe(t){return Ae(t)?qt(t):ie(t)}var se=function(t,e){return function(n,r){if(null==n)return n;if(!Ae(n))return t(n,r);for(var i=n.length,A=e?i:-1,o=Object(n);(e?A--:++A<i)&&!1!==r(o[A],A,o););return n}}(function(t,e){return t&&Et(t,e,oe)}),ae=se;function ce(t){return t}function le(t,e){var n;return(p(t)?vt:ae)(t,"function"==typeof(n=e)?n:ce)}function ue(t,e,n){var r=-1,i=t.length;e<0&&(e=-e>i?0:i+e),(n=n>i?i:n)<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var A=Array(i);++r<i;)A[r]=t[r+e];return A}function he(t,e,n){var r=t.length;return n=void 0===n?r:n,!e&&n>=r?t:ue(t,e,n)}var de=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");function fe(t){return de.test(t)}var ge=Pt&&Pt.isRegExp,pe=ge?Mt(ge):function(t){return D(t)&&"[object RegExp]"==v(t)};var me="\\ud800-\\udfff",be="["+me+"]",Ie="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",ye="\\ud83c[\\udffb-\\udfff]",we="[^"+me+"]",Be="(?:\\ud83c[\\udde6-\\uddff]){2}",Ce="[\\ud800-\\udbff][\\udc00-\\udfff]",xe="(?:"+Ie+"|"+ye+")"+"?",ke="[\\ufe0e\\ufe0f]?",Se=ke+xe+("(?:\\u200d(?:"+[we,Be,Ce].join("|")+")"+ke+xe+")*"),ve="(?:"+[we+Ie+"?",Ie,Be,Ce,be].join("|")+")",De=RegExp(ye+"(?="+ye+")|"+ve+Se,"g");function Ee(t){return fe(t)?function(t){return t.match(De)||[]}(t):function(t){return t.split("")}(t)}function Fe(t,e,n){return n&&"number"!=typeof n&&function(t,e,n){if(!N(n))return!1;var r=typeof e;return!!("number"==r?Ae(n)&&Ht(e,n.length):"string"==r&&e in n)&&q(n[e],t)}(t,e,n)&&(e=n=void 0),(n=void 0===n?4294967295:n>>>0)?(t=mt(t))&&("string"==typeof e||null!=e&&!pe(e))&&!(e=pt(e))&&fe(t)?he(Ee(t),0,n):t.split(e,n):[]}var Qe=/\s/;var We=/^\s+/;function Ne(t){return t?t.slice(0,function(t){for(var e=t.length;e--&&Qe.test(t.charAt(e)););return e}(t)+1).replace(We,""):t}function Ke(t){return t!=t}function Ge(t,e,n){return e==e?function(t,e,n){for(var r=n-1,i=t.length;++r<i;)if(t[r]===e)return r;return-1}(t,e,n):function(t,e,n,r){for(var i=t.length,A=n+(r?1:-1);r?A--:++A<i;)if(e(t[A],A,t))return A;return-1}(t,Ke,n)}function Ye(t,e,n){if((t=mt(t))&&(n||void 0===e))return Ne(t);if(!t||!(e=pt(e)))return t;var r=Ee(t),i=Ee(e),A=function(t,e){for(var n=-1,r=t.length;++n<r&&Ge(e,t[n],0)>-1;);return n}(r,i),o=function(t,e){for(var n=t.length;n--&&Ge(e,t[n],0)>-1;);return n}(r,i)+1;return he(r,A,o).join("")}var je=Array.prototype.join;function Le(t,e){return null==t?"":je.call(t,e)}var Je=/^[-+]0x[0-9a-f]+$/i,Re=/^0b[01]+$/i,He=/^0o[0-7]+$/i,Ze=parseInt;function Oe(t){if("number"==typeof t)return t;if(E(t))return NaN;if(N(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=N(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=Ne(t);var n=Re.test(t);return n||He.test(t)?Ze(t.slice(2),n?2:8):Je.test(t)?NaN:+t}var Me=1/0;function Ue(t){return t?(t=Oe(t))===Me||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}function Te(t){var e=Ue(t),n=e%1;return e==e?n?e-n:e:0}function Ve(t,e,n){var r=null==t?0:t.length;return r?ue(t,(e=n||void 0===e?1:Te(e))<0?0:e,r):[]}var Pe=V(I,"DataView"),Xe=V(I,"Promise"),ze=V(I,"Set"),_e=V(I,"WeakMap"),qe="[object Map]",$e="[object Promise]",tn="[object Set]",en="[object WeakMap]",nn="[object DataView]",rn=J(Pe),An=J(nt),on=J(Xe),sn=J(ze),an=J(_e),cn=v;(Pe&&cn(new Pe(new ArrayBuffer(1)))!=nn||nt&&cn(new nt)!=qe||Xe&&cn(Xe.resolve())!=$e||ze&&cn(new ze)!=tn||_e&&cn(new _e)!=en)&&(cn=function(t){var e=v(t),n="[object Object]"==e?t.constructor:void 0,r=n?J(n):"";if(r)switch(r){case rn:return nn;case An:return qe;case on:return $e;case sn:return tn;case an:return en}return e});var ln=cn;function un(t){return function(e){return null==e?void 0:e[t]}}var hn=un("length"),dn="\\ud800-\\udfff",fn="["+dn+"]",gn="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",pn="\\ud83c[\\udffb-\\udfff]",mn="[^"+dn+"]",bn="(?:\\ud83c[\\udde6-\\uddff]){2}",In="[\\ud800-\\udbff][\\udc00-\\udfff]",yn="(?:"+gn+"|"+pn+")"+"?",wn="[\\ufe0e\\ufe0f]?",Bn=wn+yn+("(?:\\u200d(?:"+[mn,bn,In].join("|")+")"+wn+yn+")*"),Cn="(?:"+[mn+gn+"?",gn,bn,In,fn].join("|")+")",xn=RegExp(pn+"(?="+pn+")|"+Cn+Bn,"g");function kn(t){return fe(t)?function(t){for(var e=xn.lastIndex=0;xn.test(t);)++e;return e}(t):hn(t)}function Sn(t){if(null==t)return 0;if(Ae(t))return"string"==typeof(e=t)||!p(e)&&D(e)&&"[object String]"==v(e)?kn(t):t.length;var e,n=ln(t);return"[object Map]"==n||"[object Set]"==n?t.size:ie(t).length}var vn;function Dn(t){return!0===(e=t)||!1===e||D(e)&&"[object Boolean]"==v(e);var e}function En(t){let e=Object.prototype.toString.call(t);return"[object Function]"===e||"[object AsyncFunction]"===e}function Fn(t){let e,n=Object.prototype.toString.call(t);if(e="[object Promise]"===n,e)return!0;if("[object Function]"!==n)return!1;try{e="function"!=typeof t.subscribe&&"function"==typeof t.then}catch(t){}return e}function Qn(t,e,n){if(!Ct(t))return"";if(!Ct(e))return"";if(!Bt(n))return"";return String(t).replaceAll(e,n)}!function(t){t.Root="root",t.Text="text",t.Directive="directive",t.Comment="comment",t.Script="script",t.Style="style",t.Tag="tag",t.CDATA="cdata",t.Doctype="doctype"}(vn||(vn={}));const Wn=vn.Root,Nn=vn.Text,Kn=vn.Directive,Gn=vn.Comment,Yn=vn.Script,jn=vn.Style,Ln=vn.Tag,Jn=vn.CDATA,Rn=vn.Doctype;class Hn{constructor(){this.parent=null,this.prev=null,this.next=null,this.startIndex=null,this.endIndex=null}get parentNode(){return this.parent}set parentNode(t){this.parent=t}get previousSibling(){return this.prev}set previousSibling(t){this.prev=t}get nextSibling(){return this.next}set nextSibling(t){this.next=t}cloneNode(t=!1){return _n(this,t)}}class Zn extends Hn{constructor(t){super(),this.data=t}get nodeValue(){return this.data}set nodeValue(t){this.data=t}}class On extends Zn{constructor(){super(...arguments),this.type=vn.Text}get nodeType(){return 3}}class Mn extends Zn{constructor(){super(...arguments),this.type=vn.Comment}get nodeType(){return 8}}class Un extends Zn{constructor(t,e){super(e),this.name=t,this.type=vn.Directive}get nodeType(){return 1}}class Tn extends Hn{constructor(t){super(),this.children=t}get firstChild(){var t;return null!==(t=this.children[0])&&void 0!==t?t:null}get lastChild(){return this.children.length>0?this.children[this.children.length-1]:null}get childNodes(){return this.children}set childNodes(t){this.children=t}}class Vn extends Tn{constructor(){super(...arguments),this.type=vn.CDATA}get nodeType(){return 4}}class Pn extends Tn{constructor(){super(...arguments),this.type=vn.Root}get nodeType(){return 9}}class Xn extends Tn{constructor(t,e,n=[],r=("script"===t?vn.Script:"style"===t?vn.Style:vn.Tag)){super(n),this.name=t,this.attribs=e,this.type=r}get nodeType(){return 1}get tagName(){return this.name}set tagName(t){this.name=t}get attributes(){return Object.keys(this.attribs).map(t=>{var e,n;return{name:t,value:this.attribs[t],namespace:null===(e=this["x-attribsNamespace"])||void 0===e?void 0:e[t],prefix:null===(n=this["x-attribsPrefix"])||void 0===n?void 0:n[t]}})}}function zn(t){return(e=t).type===vn.Tag||e.type===vn.Script||e.type===vn.Style;var e}function _n(t,e=!1){let n;if(function(t){return t.type===vn.Text}(t))n=new On(t.data);else if(function(t){return t.type===vn.Comment}(t))n=new Mn(t.data);else if(zn(t)){const r=e?qn(t.children):[],i=new Xn(t.name,{...t.attribs},r);r.forEach(t=>t.parent=i),null!=t.namespace&&(i.namespace=t.namespace),t["x-attribsNamespace"]&&(i["x-attribsNamespace"]={...t["x-attribsNamespace"]}),t["x-attribsPrefix"]&&(i["x-attribsPrefix"]={...t["x-attribsPrefix"]}),n=i}else if(function(t){return t.type===vn.CDATA}(t)){const r=e?qn(t.children):[],i=new Vn(r);r.forEach(t=>t.parent=i),n=i}else if(function(t){return t.type===vn.Root}(t)){const r=e?qn(t.children):[],i=new Pn(r);r.forEach(t=>t.parent=i),t["x-mode"]&&(i["x-mode"]=t["x-mode"]),n=i}else{if(!function(t){return t.type===vn.Directive}(t))throw new Error(`Not implemented yet: ${t.type}`);{const e=new Un(t.name,t.data);null!=t["x-name"]&&(e["x-name"]=t["x-name"],e["x-publicId"]=t["x-publicId"],e["x-systemId"]=t["x-systemId"]),n=e}}return n.startIndex=t.startIndex,n.endIndex=t.endIndex,null!=t.sourceCodeLocation&&(n.sourceCodeLocation=t.sourceCodeLocation),n}function qn(t){const e=t.map(t=>_n(t,!0));for(let t=1;t<e.length;t++)e[t].prev=e[t-1],e[t-1].next=e[t];return e}const $n={withStartIndices:!1,withEndIndices:!1,xmlMode:!1};class tr{constructor(t,e,n){this.dom=[],this.root=new Pn(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null,"function"==typeof e&&(n=e,e=$n),"object"==typeof t&&(e=t,t=void 0),this.callback=null!=t?t:null,this.options=null!=e?e:$n,this.elementCB=null!=n?n:null}onparserinit(t){this.parser=t}onreset(){this.dom=[],this.root=new Pn(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null}onend(){this.done||(this.done=!0,this.parser=null,this.handleCallback(null))}onerror(t){this.handleCallback(t)}onclosetag(){this.lastNode=null;const t=this.tagStack.pop();this.options.withEndIndices&&(t.endIndex=this.parser.endIndex),this.elementCB&&this.elementCB(t)}onopentag(t,e){const n=this.options.xmlMode?vn.Tag:void 0,r=new Xn(t,e,void 0,n);this.addNode(r),this.tagStack.push(r)}ontext(t){const{lastNode:e}=this;if(e&&e.type===vn.Text)e.data+=t,this.options.withEndIndices&&(e.endIndex=this.parser.endIndex);else{const e=new On(t);this.addNode(e),this.lastNode=e}}oncomment(t){if(this.lastNode&&this.lastNode.type===vn.Comment)return void(this.lastNode.data+=t);const e=new Mn(t);this.addNode(e),this.lastNode=e}oncommentend(){this.lastNode=null}oncdatastart(){const t=new On(""),e=new Vn([t]);this.addNode(e),t.parent=e,this.lastNode=t}oncdataend(){this.lastNode=null}onprocessinginstruction(t,e){const n=new Un(t,e);this.addNode(n)}handleCallback(t){if("function"==typeof this.callback)this.callback(t,this.dom);else if(t)throw t}addNode(t){const e=this.tagStack[this.tagStack.length-1],n=e.children[e.children.length-1];this.options.withStartIndices&&(t.startIndex=this.parser.startIndex),this.options.withEndIndices&&(t.endIndex=this.parser.endIndex),e.children.push(t),n&&(t.prev=n,n.next=t),t.parent=e,this.lastNode=null}}const er=/\n/g;function nr(t,e){return{name:t.name,discard:t.discard,push:t.push,pop:t.pop,regex:Ar(t,e),replacer:rr(t)?ir(t.regex,t.replace):void 0}}function rr(t){return Object.prototype.hasOwnProperty.call(t,"replace")}function ir(t,e){const n=function(t){return t.sticky?new RegExp(t.source,t.flags.replace("y","")):t}(t);return t=>t.replace(n,e)}function Ar(t,e){if(0===t.name.length)throw new Error(`Rule #${e} has empty name, which is not allowed.`);if(function(t){return Object.prototype.hasOwnProperty.call(t,"regex")}(t))return function(t){if(t.global)throw new Error(`Regular expression /${t.source}/${t.flags} contains the global flag, which is not allowed.`);return t.sticky?t:new RegExp(t.source,t.flags+"y")}(t.regex);if(function(t){return Object.prototype.hasOwnProperty.call(t,"str")}(t)){if(0===t.str.length)throw new Error(`Rule #${e} ("${t.name}") has empty "str" property, which is not allowed.`);return new RegExp(or(t.str),"y")}return new RegExp(or(t.name),"y")}function or(t){return t.replace(/[-[\]{}()*+!<=:?./\\^$|#\s,]/g,"\\$&")}function sr(t,e="",n={}){const r="string"!=typeof e?e:n,i="string"==typeof e?e:"",A=t.map(nr),o=!!r.lineNumbers;return function(t,e=0){const n=o?function(t){const e=[...t.matchAll(er)].map(t=>t.index||0);e.unshift(-1);let n=1;return t=>{for(;n>1&&t<e[n-1];)n--;for(;n<e.length&&t>e[n];)n++;return{line:n,column:t-e[n-1]}}}(t):void 0;let r={line:0,column:0},s=e;const a=[];t:for(;s<t.length;){let e=!1;for(const o of A){o.regex.lastIndex=s;const A=o.regex.exec(t);if(A&&A[0].length>0){if(o.discard||(n&&(r=n(s)),a.push({state:i,name:o.name,text:o.replacer?o.replacer(A[0]):A[0],offset:s,len:A[0].length,line:r.line,column:r.column})),s=o.regex.lastIndex,e=!0,o.push){const e=o.push(t,s);a.push(...e.tokens),s=e.offset}if(o.pop)break t;break}}if(!e)break}return{tokens:a,offset:s,complete:t.length<=s}}}function ar(t,e){return t.matched?{matched:!0,position:t.position,value:e(t.value,t.position)}:t}function cr(t,e){return t.matched?e(t):t}function lr(t,e,n){return(r,i)=>cr(t(r,i),t=>ar(e(r,t.position),(e,A)=>n(t.value,e,r,i,A)))}function ur(t,e,n,r){return(i,A)=>cr(t(i,A),t=>cr(e(i,t.position),e=>ar(n(i,e.position),(n,o)=>r(t.value,e.value,n,i,A,o))))}function hr(t,e){return(n,r)=>{const i=t(n,r);return i.matched?i:e(n,r)}}function dr(t){return(e,n)=>{throw new Error(t instanceof Function?t(e,n):t)}}function fr(...t){return(e,n)=>{for(const r of t){const t=r(e,n);if(t.matched)return t}return{matched:!1}}}function gr(t,e){return(n,r)=>ar(t(n,r),(t,i)=>e(t,n,r,i))}function pr(t,e,n){return r=t,i=t=>{return r=t,i=lr(e,n,(t,e)=>[t,e]),A=(t,[e,n])=>e(t,n),function(t,e){return(n,r)=>{let i=!0,A=t,o=r;do{const t=e(A,n,o)(n,o);t.matched?(A=t.value,o=t.position):i=!1}while(i);return{matched:!0,position:o,value:A}}}(r,t=>gr(i,(e,n,r,i)=>A(t,e,n,r,i)));var r,i,A},(t,e)=>cr(r(t,e),n=>i(n.value,t,e,n.position)(t,n.position));var r,i}function mr(t){return function(t,e){return(n,r)=>{const i=[];let A=!0;do{const o=t(n,r);o.matched&&e(o.value,i.length+1,n,r,o.position)?(i.push(o.value),r=o.position):A=!1}while(A);return{matched:!0,position:r,value:i}}}(t,()=>!0)}function br(t,e,n){return ur(t,e,n,(t,e)=>e)}function Ir(t,e){return(n,r)=>{const i=t(n,r);return i.matched?i:{matched:!0,position:r,value:e}}}function yr(t){return function(e,n){return t()(e,n)}}function wr(t,e){return lr(t,e,(t,e)=>e)}function Br(t,e){return(n,r)=>{let i,A=r;return r<n.tokens.length?(i=t(n.tokens[r],n,r),void 0!==i&&A++):e?.(n,r),void 0===i?{matched:!1}:{matched:!0,position:A,value:i}}}const Cr="(?:\\n|\\r\\n|\\r|\\f)",xr="[^\\x00-\\x7F]",kr="(?:\\\\[0-9a-f]{1,6}(?:\\r\\n|[ \\n\\r\\t\\f])?)",Sr="(?:\\\\[^\\n\\r\\f0-9a-f])",vr=`(?:[_a-z0-9-]|${xr}|${kr}|${Sr})`,Dr=`(?:${vr}+)`,Er=`(?:[-]?${`(?:[_a-z]|${xr}|${kr}|${Sr})`}${vr}*)`,Fr=`'([^\\n\\r\\f\\\\']|\\\\${Cr}|${xr}|${kr}|${Sr})*'`,Qr=`"([^\\n\\r\\f\\\\"]|\\\\${Cr}|${xr}|${kr}|${Sr})*"`,Wr=sr([{name:"ws",regex:new RegExp("(?:[ \\t\\r\\n\\f]*)")},{name:"hash",regex:new RegExp(`#${Dr}`,"i")},{name:"ident",regex:new RegExp(Er,"i")},{name:"str1",regex:new RegExp(Fr,"i")},{name:"str2",regex:new RegExp(Qr,"i")},{name:"*"},{name:"."},{name:","},{name:"["},{name:"]"},{name:"="},{name:">"},{name:"|"},{name:"+"},{name:"~"},{name:"^"},{name:"$"},{name:":"},{name:"("},{name:")"}]),Nr=sr([{name:"unicode",regex:new RegExp(kr,"i")},{name:"escape",regex:new RegExp(Sr,"i")},{name:"any",regex:new RegExp("[\\s\\S]","i")}]);function Kr([t,e,n],[r,i,A]){return[t+r,e+i,n+A]}function Gr(t){return t.reduce(Kr,[0,0,0])}function Yr([t,e,n],[r,i,A]){return t>r||t===r&&(e>i||e===i&&n>=A)?[t,e,n]:[r,i,A]}function jr(t){return t.reduce(Yr,[0,0,0])}const Lr=gr(mr(fr(Br(t=>"unicode"===t.name?String.fromCodePoint(parseInt(t.text.slice(1),16)):void 0),Br(t=>"escape"===t.name?t.text.slice(1):void 0),Br(t=>"any"===t.name?t.text:void 0))),t=>t.join(""));function Jr(t){const e=Nr(t);return Lr({tokens:e.tokens,options:void 0},0).value}function Rr(t){return Br(e=>e.name===t||void 0)}const Hr=Br(t=>"ws"===t.name?null:void 0),Zr=Ir(Hr,null);function Or(t){return br(Zr,t,Zr)}const Mr=Br(t=>"ident"===t.name?Jr(t.text):void 0),Ur=Br(t=>"hash"===t.name?Jr(t.text.slice(1)):void 0),Tr=Br(t=>t.name.startsWith("str")?Jr(t.text.slice(1,-1)):void 0),Vr=(Pr=Ir(Mr,""),Xr=Rr("|"),lr(Pr,Xr,t=>t));var Pr,Xr;const zr=hr(lr(Vr,Mr,(t,e)=>({name:e,namespace:t})),gr(Mr,t=>({name:t,namespace:null}))),_r=hr(lr(Vr,Rr("*"),t=>({type:"universal",namespace:t,specificity:[0,0,0]})),gr(Rr("*"),()=>({type:"universal",namespace:null,specificity:[0,0,0]}))),qr=gr(zr,({name:t,namespace:e})=>({type:"tag",name:t,namespace:e,specificity:[0,0,1]})),$r=lr(Rr("."),Mr,(t,e)=>({type:"class",name:e,specificity:[0,1,0]})),ti=gr(Ur,t=>({type:"id",name:t,specificity:[1,0,0]})),ei=Br(t=>{if("ident"===t.name){if("i"===t.text||"I"===t.text)return"i";if("s"===t.text||"S"===t.text)return"s"}}),ni=hr(lr(Tr,Ir(wr(Zr,ei),null),(t,e)=>({value:t,modifier:e})),lr(Mr,Ir(wr(Hr,ei),null),(t,e)=>({value:t,modifier:e}))),ri=fr(gr(Rr("="),()=>"="),lr(Rr("~"),Rr("="),()=>"~="),lr(Rr("|"),Rr("="),()=>"|="),lr(Rr("^"),Rr("="),()=>"^="),lr(Rr("$"),Rr("="),()=>"$="),lr(Rr("*"),Rr("="),()=>"*=")),ii=ur(Rr("["),Or(zr),Rr("]"),(t,{name:e,namespace:n})=>({type:"attrPresence",name:e,namespace:n,specificity:[0,1,0]})),Ai=br(Rr("["),ur(Or(zr),ri,Or(ni),({name:t,namespace:e},n,{value:r,modifier:i})=>({type:"attrValue",name:t,namespace:e,matcher:n,value:r,modifier:i,specificity:[0,1,0]})),Rr("]")),oi=ur(Rr(":"),Mr,function(t){return(e,n)=>t(e,n).matched?{matched:!1}:{matched:!0,position:n,value:!0}}((si=Rr("("),(t,e)=>cr(si(t,e),t=>({matched:!0,position:e,value:t.value})))),(t,e)=>({type:"pc",name:e,specificity:[0,1,0]}));var si;function ai(t){return function(t,e){return(n,r)=>cr(t(n,r),t=>e(t.value,n,r,t.position)?t:{matched:!1})}(Mr,e=>e.toLowerCase()===t.toLowerCase())}function ci(t,e,n){return ur(br(Rr(":"),ai(t),hr(Rr("("),dr(`Expected opening parenthesis in :${t}()`))),hr(Or(e),dr(`Expected ${n} in :${t}()`)),hr(Rr(")"),dr(`Expected closing parenthesis in :${t}()`)),(t,e)=>({name:t,content:e}))}const li=fr(gr(ci("is",yr(()=>mi),"selector list"),t=>({type:"fpc:is",name:t.name,list:t.content.list,specificity:jr(t.content.list.map(t=>t.specificity))})),gr(ci("where",yr(()=>mi),"selector list"),t=>({type:"fpc:where",name:t.name,list:t.content.list,specificity:[0,0,0]})),gr(ci("not",yr(()=>mi),"selector list"),t=>({type:"fpc:not",name:t.name,list:t.content.list,specificity:jr(t.content.list.map(t=>t.specificity))}))),ui=hr(ii,Ai),hi=hr(_r,qr),di=fr(ti,$r,ui,li,oi),fi=gr(hr(function(...t){return e=function(...t){return(e,n)=>{const r=[];let i=n;for(const n of t){const t=n(e,i);if(!t.matched)return{matched:!1};r.push(t.value),i=t.position}return{matched:!0,position:i,value:r}}}(...t),gr(e,t=>t.flatMap(t=>t));var e}(hi,mr(di)),function(t){return lr(t,mr(t),(t,e)=>[t,...e])}(di)),t=>({type:"compound",list:t,specificity:Gr(t.map(t=>t.specificity))})),gi=hr(Or(fr(gr(Rr(">"),()=>">"),gr(Rr("+"),()=>"+"),gr(Rr("~"),()=>"~"),lr(Rr("|"),Rr("|"),()=>"||"))),gr(Hr,()=>" ")),pi=pr(fi,gr(gi,t=>(e,n)=>({type:"compound",list:[...n.list,{type:"combinator",combinator:t,left:e,specificity:e.specificity}],specificity:Kr(e.specificity,n.specificity)})),fi),mi=pr(gr(pi,t=>({type:"list",list:[t]})),gr(Or(Rr(",")),()=>(t,e)=>({type:"list",list:[...t.list,e]})),pi);function bi(t,e,n=1){return`${t.replace(/(\t)|(\r)|(\n)/g,(t,e,n)=>e?"␉":n?"␍":"␊")}\n${"".padEnd(e)}${"^".repeat(n)}`}function Ii(t){return function(t,e){if(!("string"==typeof e||e instanceof String))throw new Error("Expected a selector string. Actual input is not a string!");const n=Wr(e);if(!n.complete)throw new Error(`The input "${e}" was only partially tokenized, stopped at offset ${n.offset}!\n`+bi(e,n.offset));const r=Or(t)({tokens:n.tokens,options:void 0},0);if(!r.matched)throw new Error(`No match for "${e}" input!`);if(r.position<n.tokens.length){const t=n.tokens[r.position];throw new Error(`The input "${e}" was only partially parsed, stopped at offset ${t.offset}!\n`+bi(e,t.offset,t.len))}return r.value}(pi,t)}function yi(t){if(!t.type)throw new Error("This is not an AST node.");switch(t.type){case"universal":return wi(t.namespace)+"*";case"tag":return wi(t.namespace)+Ci(t.name);case"class":return"."+Ci(t.name);case"id":return"#"+Ci(t.name);case"attrPresence":return`[${wi(t.namespace)}${Ci(t.name)}]`;case"attrValue":return`[${wi(t.namespace)}${Ci(t.name)}${t.matcher}"${e=t.value,e.replace(/(")|(\\)|(\x00)|([\x01-\x1f]|\x7f)/g,(t,e,n,r,i)=>e?'\\"':n?"\\\\":r?"�":Bi(i))}"${t.modifier?t.modifier:""}]`;case"pc":return":"+Ci(t.name);case"fpc:is":case"fpc:where":case"fpc:not":return`:${Ci(t.name)}(${t.list.map(yi).join(",")})`;case"combinator":return yi(t.left)+t.combinator;case"compound":return t.list.reduce((t,e)=>"combinator"===e.type?yi(e)+t:t+yi(e),"");case"list":return t.list.map(yi).join(",")}var e}function wi(t){return t||""===t?Ci(t)+"|":""}function Bi(t){return`\\${t.codePointAt(0).toString(16)} `}function Ci(t){return t.replace(/(^[0-9])|(^-[0-9])|(^-$)|([-0-9a-zA-Z_]|[^\x00-\x7F])|(\x00)|([\x01-\x1f]|\x7f)|([\s\S])/g,(t,e,n,r,i,A,o,s)=>e?Bi(e):n?"-"+Bi(n.slice(1)):r?"\\-":i||(A?"�":o?Bi(o):"\\"+s))}function xi(t,e={mode:"html"}){const n="html"===(e.mode??"html"),r=e.allowUnspecifiedCaseSensitivityForAttributes??!1,i=e.attributesWithNormalizedValues,A=i?.length?new Set(i.map(t=>t.toLowerCase())):null;return function t(e){if(!e.type)throw new Error("This is not an AST node.");switch(e.type){case"universal":n&&null!==e.namespace&&(e.namespace=e.namespace.toLowerCase());break;case"tag":case"attrPresence":n&&(e.name=e.name.toLowerCase()),n&&null!==e.namespace&&(e.namespace=e.namespace.toLowerCase());break;case"attrValue":{n&&(e.name=e.name.toLowerCase()),n&&null!==e.namespace&&(e.namespace=e.namespace.toLowerCase());const t="i"===e.modifier||null===e.modifier&&!!A&&A.has(e.name.toLowerCase());t&&(e.value=e.value.toLowerCase()),r||null!==e.modifier||(e.modifier=t?"i":"s");break}case"pc":e.name=e.name.toLowerCase();break;case"fpc:is":case"fpc:where":case"fpc:not":e.name=e.name.toLowerCase(),e.list.forEach(t),e.list.sort((t,e)=>yi(t)<yi(e)?-1:1);break;case"compound":e.list.forEach(t),e.list.sort((t,e)=>function(t,e){if(t[0]!==e[0])return t[0]<e[0]?-1:1;const n=t[1],r=e[1];if(n===r)return 0;if(void 0===n)return-1;if(void 0===r)return 1;return n<r?-1:1}(ki(t),ki(e)));break;case"combinator":t(e.left);break;case"list":e.list.forEach(t),e.list.sort((t,e)=>yi(t)<yi(e)?-1:1)}}(t),t}function ki(t){switch(t.type){case"universal":case"tag":return[1];case"id":return[2];case"class":return[3,t.name];case"attrPresence":return[4,yi(t)];case"attrValue":return[5,yi(t)];case"pc":return[6,t.name];case"fpc:is":case"fpc:where":case"fpc:not":return[7,yi(t)];case"combinator":return[15,yi(t)]}}function Si(t,e){return t[0]!==e[0]?t[0]<e[0]?-1:1:t[1]!==e[1]?t[1]<e[1]?-1:1:t[2]<e[2]?-1:t[2]>e[2]?1:0}class vi{branches;constructor(t,e={}){this.branches=Ei(function(t,e){const n=t.length,r=new Array(n);for(let i=0;i<n;i++){const[n,A]=t[i],o=Ii(n);Di(o),xi(o,{mode:"html",attributesWithNormalizedValues:e.attributesWithNormalizedValues??[],allowUnspecifiedCaseSensitivityForAttributes:!1}),r[i]={ast:o,terminal:{type:"terminal",valueContainer:{index:i,value:A,specificity:o.specificity}}}}return r}(t,e))}build(t){return t(this.branches)}}function Di(t){const e=[];t.list.forEach(t=>{switch(t.type){case"class":e.push({matcher:"~=",modifier:null,name:"class",namespace:null,specificity:t.specificity,type:"attrValue",value:t.name});break;case"id":e.push({matcher:"=",modifier:null,name:"id",namespace:null,specificity:[0,1,0],type:"attrValue",value:t.name});break;case"combinator":Di(t.left),e.push(t);break;case"universal":break;default:e.push(t)}}),t.list=e}function Ei(t){const e=[];for(;t.length;){const n=Li(t,t=>!0,Wi),{matches:r,nonMatches:i,empty:A}=Qi(t,n);t=i,r.length&&e.push(Ni(n,r)),A.length&&e.push(...Fi(A))}return e}function Fi(t){const e=[];for(const n of t){const t=n.terminal;if("terminal"===t.type)e.push(t);else{const{matches:n,rest:r}=Ji(t.cont,t=>"terminal"===t.type);n.forEach(t=>e.push(t)),r.length&&(t.cont=r,e.push(t))}}return e}function Qi(t,e){const n=[],r=[],i=[];for(const A of t){const t=A.ast.list;if(t.length){(t.some(t=>Wi(t)===e)?n:r).push(A)}else i.push(A)}return{matches:n,nonMatches:r,empty:i}}function Wi(t){switch(t.type){case"attrPresence":return`attrPresence ${t.name}`;case"attrValue":return`attrValue ${t.name}`;case"pc":return`pc ${t.name}`;case"combinator":return`combinator ${t.combinator}`;default:return t.type}}function Ni(t,e){if("tag"===t)return function(t){const e=Yi(t,t=>"tag"===t.type,t=>t.name),n=Object.entries(e).map(([t,e])=>({type:"variant",value:t,cont:Ei(e.items)}));return{type:"tagName",variants:n}}(e);if(t.startsWith("attrValue "))return function(t,e){const n=Yi(e,e=>"attrValue"===e.type&&e.name===t,t=>`${t.matcher} ${t.modifier||""} ${t.value}`),r=[];for(const t of Object.values(n)){const e=t.oneSimpleSelector;r.push({type:"matcher",matcher:e.matcher,modifier:e.modifier,value:e.value,predicate:Ki(e),cont:Ei(t.items)})}return{type:"attrValue",name:t,matchers:r}}(t.substring(10),e);if(t.startsWith("attrPresence "))return function(t,e){for(const n of e)ji(n,e=>"attrPresence"===e.type&&e.name===t);return{type:"attrPresence",name:t,cont:Ei(e)}}(t.substring(13),e);if(t.startsWith("pc "))return function(t,e){if("empty"!==t&&"only-child"!==t&&"first-child"!==t&&"last-child"!==t&&"any-link"!==t)throw new Error(`Unsupported pseudo-class: :${t}`);for(const n of e)ji(n,e=>"pc"===e.type&&e.name===t);return{type:"pseudoClass",name:t,cont:Ei(e)}}(t.substring(3),e);if("combinator >"===t)return Gi(">",e);if("combinator +"===t)return Gi("+",e);throw new Error(`Unsupported selector kind: ${t}`)}function Ki(t){if("i"===t.modifier){const e=t.value.toLowerCase();switch(t.matcher){case"=":return t=>e===t.toLowerCase();case"~=":return t=>t.toLowerCase().split(/[ \t]+/).includes(e);case"^=":return t=>t.toLowerCase().startsWith(e);case"$=":return t=>t.toLowerCase().endsWith(e);case"*=":return t=>t.toLowerCase().includes(e);case"|=":return t=>{const n=t.toLowerCase();return e===n||n.startsWith(e)&&"-"===n[e.length]}}}else{const e=t.value;switch(t.matcher){case"=":return t=>e===t;case"~=":return t=>t.split(/[ \t]+/).includes(e);case"^=":return t=>t.startsWith(e);case"$=":return t=>t.endsWith(e);case"*=":return t=>t.includes(e);case"|=":return t=>e===t||t.startsWith(e)&&"-"===t[e.length]}}}function Gi(t,e){const n=Yi(e,e=>"combinator"===e.type&&e.combinator===t,t=>yi(t.left)),r=[];for(const t of Object.values(n)){const e=Ei(t.items),n=t.oneSimpleSelector.left;r.push({ast:n,terminal:{type:"popElement",cont:e}})}return{type:"pushElement",combinator:t,cont:Ei(r)}}function Yi(t,e,n){const r={};for(;t.length;){const i=Li(t,e,n),A=t=>e(t)&&n(t)===i,o=t=>t.ast.list.some(A),{matches:s,rest:a}=Ji(t,o);let c=null;for(const t of s){const e=ji(t,A);c||(c=e)}if(null==c)throw new Error("No simple selector is found.");r[i]={oneSimpleSelector:c,items:s},t=a}return r}function ji(t,e){const n=t.ast.list,r=new Array(n.length);let i=-1;for(let t=n.length;t-- >0;)e(n[t])&&(r[t]=!0,i=t);if(-1==i)throw new Error("Couldn't find the required simple selector.");const A=n[i];return t.ast.list=n.filter((t,e)=>!r[e]),A}function Li(t,e,n){const r={};for(const i of t){const t={};for(const r of i.ast.list.filter(e))t[n(r)]=!0;for(const e of Object.keys(t))r[e]?r[e]++:r[e]=1}let i="",A=0;for(const t of Object.entries(r))t[1]>A&&(i=t[0],A=t[1]);return i}function Ji(t,e){const n=[],r=[];for(const i of t)e(i)?n.push(i):r.push(i);return{matches:n,rest:r}}class Ri{f;constructor(t){this.f=t}pickAll(t){return this.f(t)}pick1(t,e=!1){const n=this.f(t),r=n.length;if(0===r)return null;if(1===r)return n[0].value;const i=e?Hi:Zi;let A=n[0];for(let t=1;t<r;t++){const e=n[t];i(A,e)&&(A=e)}return A.value}}function Hi(t,e){const n=Si(e.specificity,t.specificity);return n>0||0===n&&e.index<t.index}function Zi(t,e){const n=Si(e.specificity,t.specificity);return n>0||0===n&&e.index>t.index}function Oi(t){return new Ri(Mi(t))}function Mi(t){const e=t.map(Ui);return(t,...n)=>e.flatMap(e=>e(t,...n))}function Ui(t){switch(t.type){case"terminal":{const e=[t.valueContainer];return()=>e}case"tagName":return function(t){const e={};for(const n of t.variants)e[n.value]=Mi(n.cont);return(t,...n)=>{const r=e[t.name];return r?r(t,...n):[]}}(t);case"attrValue":return function(t){const e=[];for(const n of t.matchers){const t=n.predicate,r=Mi(n.cont);e.push((e,n,...i)=>t(e)?r(n,...i):[])}const n=t.name;return(t,...r)=>{const i=t.attribs[n];return i||""===i?e.flatMap(e=>e(i,t,...r)):[]}}(t);case"attrPresence":return function(t){const e=t.name,n=Mi(t.cont);return(t,...r)=>Object.prototype.hasOwnProperty.call(t.attribs,e)?n(t,...r):[]}(t);case"pseudoClass":return function(t){const e=Mi(t.cont),n=Ti[t.name];if(!n)throw new Error(`Unsupported pseudo-class: :${t.name}`);return(t,...r)=>n(t)?e(t,...r):[]}(t);case"pushElement":return function(t){const e=Mi(t.cont),n="+"===t.combinator?Vi:Xi;return(t,...r)=>{const i=n(t);return null===i?[]:e(i,t,...r)}}(t);case"popElement":return function(t){const e=Mi(t.cont);return(t,n,...r)=>e(n,...r)}(t)}}const Ti={empty:function(t){for(const e of t.children){if(zn(e))return!1;if(e.type===vn.Text||e.type===vn.CDATA)return!1}return!0},"only-child":function(t){return null===Vi(t)&&null===Pi(t)},"first-child":function(t){return null===Vi(t)},"last-child":function(t){return null===Pi(t)},"any-link":function(t){return("a"===t.name||"area"===t.name)&&Object.prototype.hasOwnProperty.call(t.attribs,"href")}};const Vi=t=>{const e=t.prev;return null===e?null:zn(e)?e:Vi(e)},Pi=t=>{const e=t.next;return null===e?null:zn(e)?e:Pi(e)},Xi=t=>{const e=t.parent;return e&&zn(e)?e:null};var zi;const _i=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),qi=null!==(zi=String.fromCodePoint)&&void 0!==zi?zi:t=>{let e="";return t>65535&&(t-=65536,e+=String.fromCharCode(t>>>10&1023|55296),t=56320|1023&t),e+=String.fromCharCode(t),e};function $i(t){const e="function"==typeof atob?atob(t):"function"==typeof Buffer.from?Buffer.from(t,"base64").toString("binary"):new Buffer(t,"base64").toString("binary"),n=-2&e.length,r=new Uint16Array(n/2);for(let t=0,i=0;t<n;t+=2){const n=e.charCodeAt(t),A=e.charCodeAt(t+1);r[i++]=n|A<<8}return r}const tA=$i("QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IA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YwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWls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ZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg"),eA=$i("AAJhZ2xxBwARABMAFQBtAg0AAAAAAA8AcAAmYG8AcwAnYHQAPmB0ADxg9SFvdCJg");var nA,rA;!function(t){t[t.VALUE_LENGTH=49152]="VALUE_LENGTH",t[t.FLAG13=8192]="FLAG13",t[t.BRANCH_LENGTH=8064]="BRANCH_LENGTH",t[t.JUMP_TABLE=127]="JUMP_TABLE"}(nA||(nA={})),function(t){t[t.NUM=35]="NUM",t[t.SEMI=59]="SEMI",t[t.EQUALS=61]="EQUALS",t[t.ZERO=48]="ZERO",t[t.NINE=57]="NINE",t[t.LOWER_A=97]="LOWER_A",t[t.LOWER_F=102]="LOWER_F",t[t.LOWER_X=120]="LOWER_X",t[t.LOWER_Z=122]="LOWER_Z",t[t.UPPER_A=65]="UPPER_A",t[t.UPPER_F=70]="UPPER_F",t[t.UPPER_Z=90]="UPPER_Z"}(rA||(rA={}));function iA(t){return t>=rA.ZERO&&t<=rA.NINE}function AA(t){return t>=rA.UPPER_A&&t<=rA.UPPER_F||t>=rA.LOWER_A&&t<=rA.LOWER_F}function oA(t){return t===rA.EQUALS||function(t){return t>=rA.UPPER_A&&t<=rA.UPPER_Z||t>=rA.LOWER_A&&t<=rA.LOWER_Z||iA(t)}(t)}var sA,aA,cA,lA,uA;!function(t){t[t.EntityStart=0]="EntityStart",t[t.NumericStart=1]="NumericStart",t[t.NumericDecimal=2]="NumericDecimal",t[t.NumericHex=3]="NumericHex",t[t.NamedEntity=4]="NamedEntity"}(sA||(sA={})),function(t){t[t.Legacy=0]="Legacy",t[t.Strict=1]="Strict",t[t.Attribute=2]="Attribute"}(aA||(aA={}));class hA{constructor(t,e,n){this.decodeTree=t,this.emitCodePoint=e,this.errors=n,this.state=sA.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=aA.Strict,this.runConsumed=0}startEntity(t){this.decodeMode=t,this.state=sA.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1,this.runConsumed=0}write(t,e){switch(this.state){case sA.EntityStart:return t.charCodeAt(e)===rA.NUM?(this.state=sA.NumericStart,this.consumed+=1,this.stateNumericStart(t,e+1)):(this.state=sA.NamedEntity,this.stateNamedEntity(t,e));case sA.NumericStart:return this.stateNumericStart(t,e);case sA.NumericDecimal:return this.stateNumericDecimal(t,e);case sA.NumericHex:return this.stateNumericHex(t,e);case sA.NamedEntity:return this.stateNamedEntity(t,e)}}stateNumericStart(t,e){return e>=t.length?-1:(32|t.charCodeAt(e))===rA.LOWER_X?(this.state=sA.NumericHex,this.consumed+=1,this.stateNumericHex(t,e+1)):(this.state=sA.NumericDecimal,this.stateNumericDecimal(t,e))}stateNumericHex(t,e){for(;e<t.length;){const n=t.charCodeAt(e);if(!iA(n)&&!AA(n))return this.emitNumericEntity(n,3);{const t=n<=rA.NINE?n-rA.ZERO:(32|n)-rA.LOWER_A+10;this.result=16*this.result+t,this.consumed++,e++}}return-1}stateNumericDecimal(t,e){for(;e<t.length;){const n=t.charCodeAt(e);if(!iA(n))return this.emitNumericEntity(n,2);this.result=10*this.result+(n-rA.ZERO),this.consumed++,e++}return-1}emitNumericEntity(t,e){var n;if(this.consumed<=e)return null===(n=this.errors)||void 0===n||n.absenceOfDigitsInNumericCharacterReference(this.consumed),0;if(t===rA.SEMI)this.consumed+=1;else if(this.decodeMode===aA.Strict)return 0;return this.emitCodePoint(function(t){var e;return t>=55296&&t<=57343||t>1114111?65533:null!==(e=_i.get(t))&&void 0!==e?e:t}(this.result),this.consumed),this.errors&&(t!==rA.SEMI&&this.errors.missingSemicolonAfterCharacterReference(),this.errors.validateNumericCharacterReference(this.result)),this.consumed}stateNamedEntity(t,e){const{decodeTree:n}=this;let r=n[this.treeIndex],i=(r&nA.VALUE_LENGTH)>>14;for(;e<t.length;){if(0===i&&0!==(r&nA.FLAG13)){const A=(r&nA.BRANCH_LENGTH)>>7;if(0===this.runConsumed){const n=r&nA.JUMP_TABLE;if(t.charCodeAt(e)!==n)return 0===this.result?0:this.emitNotTerminatedNamedEntity();e++,this.excess++,this.runConsumed++}for(;this.runConsumed<A;){if(e>=t.length)return-1;const r=this.runConsumed-1,i=n[this.treeIndex+1+(r>>1)],A=r%2==0?255&i:i>>8&255;if(t.charCodeAt(e)!==A)return this.runConsumed=0,0===this.result?0:this.emitNotTerminatedNamedEntity();e++,this.excess++,this.runConsumed++}this.runConsumed=0,this.treeIndex+=1+(A>>1),r=n[this.treeIndex],i=(r&nA.VALUE_LENGTH)>>14}if(e>=t.length)break;const A=t.charCodeAt(e);if(A===rA.SEMI&&0!==i&&0!==(r&nA.FLAG13))return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);if(this.treeIndex=dA(n,r,this.treeIndex+Math.max(1,i),A),this.treeIndex<0)return 0===this.result||this.decodeMode===aA.Attribute&&(0===i||oA(A))?0:this.emitNotTerminatedNamedEntity();if(r=n[this.treeIndex],i=(r&nA.VALUE_LENGTH)>>14,0!==i){if(A===rA.SEMI)return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);this.decodeMode!==aA.Strict&&0===(r&nA.FLAG13)&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}e++,this.excess++}return-1}emitNotTerminatedNamedEntity(){var t;const{result:e,decodeTree:n}=this,r=(n[e]&nA.VALUE_LENGTH)>>14;return this.emitNamedEntityData(e,r,this.consumed),null===(t=this.errors)||void 0===t||t.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(t,e,n){const{decodeTree:r}=this;return this.emitCodePoint(1===e?r[t]&~(nA.VALUE_LENGTH|nA.FLAG13):r[t+1],n),3===e&&this.emitCodePoint(r[t+2],n),n}end(){var t;switch(this.state){case sA.NamedEntity:return 0===this.result||this.decodeMode===aA.Attribute&&this.result!==this.treeIndex?0:this.emitNotTerminatedNamedEntity();case sA.NumericDecimal:return this.emitNumericEntity(0,2);case sA.NumericHex:return this.emitNumericEntity(0,3);case sA.NumericStart:return null===(t=this.errors)||void 0===t||t.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case sA.EntityStart:return 0}}}function dA(t,e,n,r){const i=(e&nA.BRANCH_LENGTH)>>7,A=e&nA.JUMP_TABLE;if(0===i)return 0!==A&&r===A?n:-1;if(A){const e=r-A;return e<0||e>=i?-1:t[n+e]-1}const o=i+1>>1;let s=0,a=i-1;for(;s<=a;){const e=s+a>>>1,i=t[n+(e>>1)]>>8*(1&e)&255;if(i<r)s=e+1;else{if(!(i>r))return t[n+o+e];a=e-1}}return-1}function fA(t){return t===cA.Space||t===cA.NewLine||t===cA.Tab||t===cA.FormFeed||t===cA.CarriageReturn}function gA(t){return t===cA.Slash||t===cA.Gt||fA(t)}!function(t){t[t.Tab=9]="Tab",t[t.NewLine=10]="NewLine",t[t.FormFeed=12]="FormFeed",t[t.CarriageReturn=13]="CarriageReturn",t[t.Space=32]="Space",t[t.ExclamationMark=33]="ExclamationMark",t[t.Number=35]="Number",t[t.Amp=38]="Amp",t[t.SingleQuote=39]="SingleQuote",t[t.DoubleQuote=34]="DoubleQuote",t[t.Dash=45]="Dash",t[t.Slash=47]="Slash",t[t.Zero=48]="Zero",t[t.Nine=57]="Nine",t[t.Semi=59]="Semi",t[t.Lt=60]="Lt",t[t.Eq=61]="Eq",t[t.Gt=62]="Gt",t[t.Questionmark=63]="Questionmark",t[t.UpperA=65]="UpperA",t[t.LowerA=97]="LowerA",t[t.UpperF=70]="UpperF",t[t.LowerF=102]="LowerF",t[t.UpperZ=90]="UpperZ",t[t.LowerZ=122]="LowerZ",t[t.LowerX=120]="LowerX",t[t.OpeningSquareBracket=91]="OpeningSquareBracket"}(cA||(cA={})),function(t){t[t.Text=1]="Text",t[t.BeforeTagName=2]="BeforeTagName",t[t.InTagName=3]="InTagName",t[t.InSelfClosingTag=4]="InSelfClosingTag",t[t.BeforeClosingTagName=5]="BeforeClosingTagName",t[t.InClosingTagName=6]="InClosingTagName",t[t.AfterClosingTagName=7]="AfterClosingTagName",t[t.BeforeAttributeName=8]="BeforeAttributeName",t[t.InAttributeName=9]="InAttributeName",t[t.AfterAttributeName=10]="AfterAttributeName",t[t.BeforeAttributeValue=11]="BeforeAttributeValue",t[t.InAttributeValueDq=12]="InAttributeValueDq",t[t.InAttributeValueSq=13]="InAttributeValueSq",t[t.InAttributeValueNq=14]="InAttributeValueNq",t[t.BeforeDeclaration=15]="BeforeDeclaration",t[t.InDeclaration=16]="InDeclaration",t[t.InProcessingInstruction=17]="InProcessingInstruction",t[t.BeforeComment=18]="BeforeComment",t[t.CDATASequence=19]="CDATASequence",t[t.InSpecialComment=20]="InSpecialComment",t[t.InCommentLike=21]="InCommentLike",t[t.BeforeSpecialS=22]="BeforeSpecialS",t[t.BeforeSpecialT=23]="BeforeSpecialT",t[t.SpecialStartSequence=24]="SpecialStartSequence",t[t.InSpecialTag=25]="InSpecialTag",t[t.InEntity=26]="InEntity"}(lA||(lA={})),function(t){t[t.NoValue=0]="NoValue",t[t.Unquoted=1]="Unquoted",t[t.Single=2]="Single",t[t.Double=3]="Double"}(uA||(uA={}));const pA={Cdata:new Uint8Array([67,68,65,84,65,91]),CdataEnd:new Uint8Array([93,93,62]),CommentEnd:new Uint8Array([45,45,62]),ScriptEnd:new Uint8Array([60,47,115,99,114,105,112,116]),StyleEnd:new Uint8Array([60,47,115,116,121,108,101]),TitleEnd:new Uint8Array([60,47,116,105,116,108,101]),TextareaEnd:new Uint8Array([60,47,116,101,120,116,97,114,101,97]),XmpEnd:new Uint8Array([60,47,120,109,112])};class mA{constructor({xmlMode:t=!1,decodeEntities:e=!0},n){this.cbs=n,this.state=lA.Text,this.buffer="",this.sectionStart=0,this.index=0,this.entityStart=0,this.baseState=lA.Text,this.isSpecial=!1,this.running=!0,this.offset=0,this.currentSequence=void 0,this.sequenceIndex=0,this.xmlMode=t,this.decodeEntities=e,this.entityDecoder=new hA(t?eA:tA,(t,e)=>this.emitCodePoint(t,e))}reset(){this.state=lA.Text,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=lA.Text,this.currentSequence=void 0,this.running=!0,this.offset=0}write(t){this.offset+=this.buffer.length,this.buffer=t,this.parse()}end(){this.running&&this.finish()}pause(){this.running=!1}resume(){this.running=!0,this.index<this.buffer.length+this.offset&&this.parse()}stateText(t){t===cA.Lt||!this.decodeEntities&&this.fastForwardTo(cA.Lt)?(this.index>this.sectionStart&&this.cbs.ontext(this.sectionStart,this.index),this.state=lA.BeforeTagName,this.sectionStart=this.index):this.decodeEntities&&t===cA.Amp&&this.startEntity()}stateSpecialStartSequence(t){const e=this.sequenceIndex===this.currentSequence.length;if(e?gA(t):(32|t)===this.currentSequence[this.sequenceIndex]){if(!e)return void this.sequenceIndex++}else this.isSpecial=!1;this.sequenceIndex=0,this.state=lA.InTagName,this.stateInTagName(t)}stateInSpecialTag(t){if(this.sequenceIndex===this.currentSequence.length){if(t===cA.Gt||fA(t)){const e=this.index-this.currentSequence.length;if(this.sectionStart<e){const t=this.index;this.index=e,this.cbs.ontext(this.sectionStart,e),this.index=t}return this.isSpecial=!1,this.sectionStart=e+2,void this.stateInClosingTagName(t)}this.sequenceIndex=0}(32|t)===this.currentSequence[this.sequenceIndex]?this.sequenceIndex+=1:0===this.sequenceIndex?this.currentSequence===pA.TitleEnd?this.decodeEntities&&t===cA.Amp&&this.startEntity():this.fastForwardTo(cA.Lt)&&(this.sequenceIndex=1):this.sequenceIndex=Number(t===cA.Lt)}stateCDATASequence(t){t===pA.Cdata[this.sequenceIndex]?++this.sequenceIndex===pA.Cdata.length&&(this.state=lA.InCommentLike,this.currentSequence=pA.CdataEnd,this.sequenceIndex=0,this.sectionStart=this.index+1):(this.sequenceIndex=0,this.state=lA.InDeclaration,this.stateInDeclaration(t))}fastForwardTo(t){for(;++this.index<this.buffer.length+this.offset;)if(this.buffer.charCodeAt(this.index-this.offset)===t)return!0;return this.index=this.buffer.length+this.offset-1,!1}stateInCommentLike(t){t===this.currentSequence[this.sequenceIndex]?++this.sequenceIndex===this.currentSequence.length&&(this.currentSequence===pA.CdataEnd?this.cbs.oncdata(this.sectionStart,this.index,2):this.cbs.oncomment(this.sectionStart,this.index,2),this.sequenceIndex=0,this.sectionStart=this.index+1,this.state=lA.Text):0===this.sequenceIndex?this.fastForwardTo(this.currentSequence[0])&&(this.sequenceIndex=1):t!==this.currentSequence[this.sequenceIndex-1]&&(this.sequenceIndex=0)}isTagStartChar(t){return this.xmlMode?!gA(t):function(t){return t>=cA.LowerA&&t<=cA.LowerZ||t>=cA.UpperA&&t<=cA.UpperZ}(t)}startSpecial(t,e){this.isSpecial=!0,this.currentSequence=t,this.sequenceIndex=e,this.state=lA.SpecialStartSequence}stateBeforeTagName(t){if(t===cA.ExclamationMark)this.state=lA.BeforeDeclaration,this.sectionStart=this.index+1;else if(t===cA.Questionmark)this.state=lA.InProcessingInstruction,this.sectionStart=this.index+1;else if(this.isTagStartChar(t)){const e=32|t;this.sectionStart=this.index,this.xmlMode?this.state=lA.InTagName:e===pA.ScriptEnd[2]?this.state=lA.BeforeSpecialS:e===pA.TitleEnd[2]||e===pA.XmpEnd[2]?this.state=lA.BeforeSpecialT:this.state=lA.InTagName}else t===cA.Slash?this.state=lA.BeforeClosingTagName:(this.state=lA.Text,this.stateText(t))}stateInTagName(t){gA(t)&&(this.cbs.onopentagname(this.sectionStart,this.index),this.sectionStart=-1,this.state=lA.BeforeAttributeName,this.stateBeforeAttributeName(t))}stateBeforeClosingTagName(t){fA(t)||(t===cA.Gt?this.state=lA.Text:(this.state=this.isTagStartChar(t)?lA.InClosingTagName:lA.InSpecialComment,this.sectionStart=this.index))}stateInClosingTagName(t){(t===cA.Gt||fA(t))&&(this.cbs.onclosetag(this.sectionStart,this.index),this.sectionStart=-1,this.state=lA.AfterClosingTagName,this.stateAfterClosingTagName(t))}stateAfterClosingTagName(t){(t===cA.Gt||this.fastForwardTo(cA.Gt))&&(this.state=lA.Text,this.sectionStart=this.index+1)}stateBeforeAttributeName(t){t===cA.Gt?(this.cbs.onopentagend(this.index),this.isSpecial?(this.state=lA.InSpecialTag,this.sequenceIndex=0):this.state=lA.Text,this.sectionStart=this.index+1):t===cA.Slash?this.state=lA.InSelfClosingTag:fA(t)||(this.state=lA.InAttributeName,this.sectionStart=this.index)}stateInSelfClosingTag(t){t===cA.Gt?(this.cbs.onselfclosingtag(this.index),this.state=lA.Text,this.sectionStart=this.index+1,this.isSpecial=!1):fA(t)||(this.state=lA.BeforeAttributeName,this.stateBeforeAttributeName(t))}stateInAttributeName(t){(t===cA.Eq||gA(t))&&(this.cbs.onattribname(this.sectionStart,this.index),this.sectionStart=this.index,this.state=lA.AfterAttributeName,this.stateAfterAttributeName(t))}stateAfterAttributeName(t){t===cA.Eq?this.state=lA.BeforeAttributeValue:t===cA.Slash||t===cA.Gt?(this.cbs.onattribend(uA.NoValue,this.sectionStart),this.sectionStart=-1,this.state=lA.BeforeAttributeName,this.stateBeforeAttributeName(t)):fA(t)||(this.cbs.onattribend(uA.NoValue,this.sectionStart),this.state=lA.InAttributeName,this.sectionStart=this.index)}stateBeforeAttributeValue(t){t===cA.DoubleQuote?(this.state=lA.InAttributeValueDq,this.sectionStart=this.index+1):t===cA.SingleQuote?(this.state=lA.InAttributeValueSq,this.sectionStart=this.index+1):fA(t)||(this.sectionStart=this.index,this.state=lA.InAttributeValueNq,this.stateInAttributeValueNoQuotes(t))}handleInAttributeValue(t,e){t===e||!this.decodeEntities&&this.fastForwardTo(e)?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(e===cA.DoubleQuote?uA.Double:uA.Single,this.index+1),this.state=lA.BeforeAttributeName):this.decodeEntities&&t===cA.Amp&&this.startEntity()}stateInAttributeValueDoubleQuotes(t){this.handleInAttributeValue(t,cA.DoubleQuote)}stateInAttributeValueSingleQuotes(t){this.handleInAttributeValue(t,cA.SingleQuote)}stateInAttributeValueNoQuotes(t){fA(t)||t===cA.Gt?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(uA.Unquoted,this.index),this.state=lA.BeforeAttributeName,this.stateBeforeAttributeName(t)):this.decodeEntities&&t===cA.Amp&&this.startEntity()}stateBeforeDeclaration(t){t===cA.OpeningSquareBracket?(this.state=lA.CDATASequence,this.sequenceIndex=0):this.state=t===cA.Dash?lA.BeforeComment:lA.InDeclaration}stateInDeclaration(t){(t===cA.Gt||this.fastForwardTo(cA.Gt))&&(this.cbs.ondeclaration(this.sectionStart,this.index),this.state=lA.Text,this.sectionStart=this.index+1)}stateInProcessingInstruction(t){(t===cA.Gt||this.fastForwardTo(cA.Gt))&&(this.cbs.onprocessinginstruction(this.sectionStart,this.index),this.state=lA.Text,this.sectionStart=this.index+1)}stateBeforeComment(t){t===cA.Dash?(this.state=lA.InCommentLike,this.currentSequence=pA.CommentEnd,this.sequenceIndex=2,this.sectionStart=this.index+1):this.state=lA.InDeclaration}stateInSpecialComment(t){(t===cA.Gt||this.fastForwardTo(cA.Gt))&&(this.cbs.oncomment(this.sectionStart,this.index,0),this.state=lA.Text,this.sectionStart=this.index+1)}stateBeforeSpecialS(t){const e=32|t;e===pA.ScriptEnd[3]?this.startSpecial(pA.ScriptEnd,4):e===pA.StyleEnd[3]?this.startSpecial(pA.StyleEnd,4):(this.state=lA.InTagName,this.stateInTagName(t))}stateBeforeSpecialT(t){switch(32|t){case pA.TitleEnd[3]:this.startSpecial(pA.TitleEnd,4);break;case pA.TextareaEnd[3]:this.startSpecial(pA.TextareaEnd,4);break;case pA.XmpEnd[3]:this.startSpecial(pA.XmpEnd,4);break;default:this.state=lA.InTagName,this.stateInTagName(t)}}startEntity(){this.baseState=this.state,this.state=lA.InEntity,this.entityStart=this.index,this.entityDecoder.startEntity(this.xmlMode?aA.Strict:this.baseState===lA.Text||this.baseState===lA.InSpecialTag?aA.Legacy:aA.Attribute)}stateInEntity(){const t=this.index-this.offset,e=this.entityDecoder.write(this.buffer,t);if(e>=0)this.state=this.baseState,0===e&&(this.index-=1);else{if(t<this.buffer.length&&this.buffer.charCodeAt(t)===cA.Amp)return this.state=this.baseState,void(this.index-=1);this.index=this.offset+this.buffer.length-1}}cleanup(){this.running&&this.sectionStart!==this.index&&(this.state===lA.Text||this.state===lA.InSpecialTag&&0===this.sequenceIndex?(this.cbs.ontext(this.sectionStart,this.index),this.sectionStart=this.index):this.state!==lA.InAttributeValueDq&&this.state!==lA.InAttributeValueSq&&this.state!==lA.InAttributeValueNq||(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=this.index))}shouldContinue(){return this.index<this.buffer.length+this.offset&&this.running}parse(){for(;this.shouldContinue();){const t=this.buffer.charCodeAt(this.index-this.offset);switch(this.state){case lA.Text:this.stateText(t);break;case lA.SpecialStartSequence:this.stateSpecialStartSequence(t);break;case lA.InSpecialTag:this.stateInSpecialTag(t);break;case lA.CDATASequence:this.stateCDATASequence(t);break;case lA.InAttributeValueDq:this.stateInAttributeValueDoubleQuotes(t);break;case lA.InAttributeName:this.stateInAttributeName(t);break;case lA.InCommentLike:this.stateInCommentLike(t);break;case lA.InSpecialComment:this.stateInSpecialComment(t);break;case lA.BeforeAttributeName:this.stateBeforeAttributeName(t);break;case lA.InTagName:this.stateInTagName(t);break;case lA.InClosingTagName:this.stateInClosingTagName(t);break;case lA.BeforeTagName:this.stateBeforeTagName(t);break;case lA.AfterAttributeName:this.stateAfterAttributeName(t);break;case lA.InAttributeValueSq:this.stateInAttributeValueSingleQuotes(t);break;case lA.BeforeAttributeValue:this.stateBeforeAttributeValue(t);break;case lA.BeforeClosingTagName:this.stateBeforeClosingTagName(t);break;case lA.AfterClosingTagName:this.stateAfterClosingTagName(t);break;case lA.BeforeSpecialS:this.stateBeforeSpecialS(t);break;case lA.BeforeSpecialT:this.stateBeforeSpecialT(t);break;case lA.InAttributeValueNq:this.stateInAttributeValueNoQuotes(t);break;case lA.InSelfClosingTag:this.stateInSelfClosingTag(t);break;case lA.InDeclaration:this.stateInDeclaration(t);break;case lA.BeforeDeclaration:this.stateBeforeDeclaration(t);break;case lA.BeforeComment:this.stateBeforeComment(t);break;case lA.InProcessingInstruction:this.stateInProcessingInstruction(t);break;case lA.InEntity:this.stateInEntity()}this.index++}this.cleanup()}finish(){this.state===lA.InEntity&&(this.entityDecoder.end(),this.state=this.baseState),this.handleTrailingData(),this.cbs.onend()}handleTrailingData(){const t=this.buffer.length+this.offset;this.sectionStart>=t||(this.state===lA.InCommentLike?this.currentSequence===pA.CdataEnd?this.cbs.oncdata(this.sectionStart,t,0):this.cbs.oncomment(this.sectionStart,t,0):this.state===lA.InTagName||this.state===lA.BeforeAttributeName||this.state===lA.BeforeAttributeValue||this.state===lA.AfterAttributeName||this.state===lA.InAttributeName||this.state===lA.InAttributeValueSq||this.state===lA.InAttributeValueDq||this.state===lA.InAttributeValueNq||this.state===lA.InClosingTagName||this.cbs.ontext(this.sectionStart,t))}emitCodePoint(t,e){this.baseState!==lA.Text&&this.baseState!==lA.InSpecialTag?(this.sectionStart<this.entityStart&&this.cbs.onattribdata(this.sectionStart,this.entityStart),this.sectionStart=this.entityStart+e,this.index=this.sectionStart-1,this.cbs.onattribentity(t)):(this.sectionStart<this.entityStart&&this.cbs.ontext(this.sectionStart,this.entityStart),this.sectionStart=this.entityStart+e,this.index=this.sectionStart-1,this.cbs.ontextentity(t,this.sectionStart))}}const bA=new Set(["input","option","optgroup","select","button","datalist","textarea"]),IA=new Set(["p"]),yA=new Set(["thead","tbody"]),wA=new Set(["dd","dt"]),BA=new Set(["rt","rp"]),CA=new Map([["tr",new Set(["tr","th","td"])],["th",new Set(["th"])],["td",new Set(["thead","th","td"])],["body",new Set(["head","link","script"])],["li",new Set(["li"])],["p",IA],["h1",IA],["h2",IA],["h3",IA],["h4",IA],["h5",IA],["h6",IA],["select",bA],["input",bA],["output",bA],["button",bA],["datalist",bA],["textarea",bA],["option",new Set(["option"])],["optgroup",new Set(["optgroup","option"])],["dd",wA],["dt",wA],["address",IA],["article",IA],["aside",IA],["blockquote",IA],["details",IA],["div",IA],["dl",IA],["fieldset",IA],["figcaption",IA],["figure",IA],["footer",IA],["form",IA],["header",IA],["hr",IA],["main",IA],["nav",IA],["ol",IA],["pre",IA],["section",IA],["table",IA],["ul",IA],["rt",BA],["rp",BA],["tbody",yA],["tfoot",yA]]),xA=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]),kA=new Set(["math","svg"]),SA=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignobject","desc","title"]),vA=/\s|\//;class DA{constructor(t,e={}){var n,r,i,A,o,s;this.options=e,this.startIndex=0,this.endIndex=0,this.openTagStart=0,this.tagname="",this.attribname="",this.attribvalue="",this.attribs=null,this.stack=[],this.buffers=[],this.bufferOffset=0,this.writeIndex=0,this.ended=!1,this.cbs=null!=t?t:{},this.htmlMode=!this.options.xmlMode,this.lowerCaseTagNames=null!==(n=e.lowerCaseTags)&&void 0!==n?n:this.htmlMode,this.lowerCaseAttributeNames=null!==(r=e.lowerCaseAttributeNames)&&void 0!==r?r:this.htmlMode,this.recognizeSelfClosing=null!==(i=e.recognizeSelfClosing)&&void 0!==i?i:!this.htmlMode,this.tokenizer=new(null!==(A=e.Tokenizer)&&void 0!==A?A:mA)(this.options,this),this.foreignContext=[!this.htmlMode],null===(s=(o=this.cbs).onparserinit)||void 0===s||s.call(o,this)}ontext(t,e){var n,r;const i=this.getSlice(t,e);this.endIndex=e-1,null===(r=(n=this.cbs).ontext)||void 0===r||r.call(n,i),this.startIndex=e}ontextentity(t,e){var n,r;this.endIndex=e-1,null===(r=(n=this.cbs).ontext)||void 0===r||r.call(n,qi(t)),this.startIndex=e}isVoidElement(t){return this.htmlMode&&xA.has(t)}onopentagname(t,e){this.endIndex=e;let n=this.getSlice(t,e);this.lowerCaseTagNames&&(n=n.toLowerCase()),this.emitOpenTag(n)}emitOpenTag(t){var e,n,r,i;this.openTagStart=this.startIndex,this.tagname=t;const A=this.htmlMode&&CA.get(t);if(A)for(;this.stack.length>0&&A.has(this.stack[0]);){const t=this.stack.shift();null===(n=(e=this.cbs).onclosetag)||void 0===n||n.call(e,t,!0)}this.isVoidElement(t)||(this.stack.unshift(t),this.htmlMode&&(kA.has(t)?this.foreignContext.unshift(!0):SA.has(t)&&this.foreignContext.unshift(!1))),null===(i=(r=this.cbs).onopentagname)||void 0===i||i.call(r,t),this.cbs.onopentag&&(this.attribs={})}endOpenTag(t){var e,n;this.startIndex=this.openTagStart,this.attribs&&(null===(n=(e=this.cbs).onopentag)||void 0===n||n.call(e,this.tagname,this.attribs,t),this.attribs=null),this.cbs.onclosetag&&this.isVoidElement(this.tagname)&&this.cbs.onclosetag(this.tagname,!0),this.tagname=""}onopentagend(t){this.endIndex=t,this.endOpenTag(!1),this.startIndex=t+1}onclosetag(t,e){var n,r,i,A,o,s,a,c;this.endIndex=e;let l=this.getSlice(t,e);if(this.lowerCaseTagNames&&(l=l.toLowerCase()),this.htmlMode&&(kA.has(l)||SA.has(l))&&this.foreignContext.shift(),this.isVoidElement(l))this.htmlMode&&"br"===l&&(null===(A=(i=this.cbs).onopentagname)||void 0===A||A.call(i,"br"),null===(s=(o=this.cbs).onopentag)||void 0===s||s.call(o,"br",{},!0),null===(c=(a=this.cbs).onclosetag)||void 0===c||c.call(a,"br",!1));else{const t=this.stack.indexOf(l);if(-1!==t)for(let e=0;e<=t;e++){const i=this.stack.shift();null===(r=(n=this.cbs).onclosetag)||void 0===r||r.call(n,i,e!==t)}else this.htmlMode&&"p"===l&&(this.emitOpenTag("p"),this.closeCurrentTag(!0))}this.startIndex=e+1}onselfclosingtag(t){this.endIndex=t,this.recognizeSelfClosing||this.foreignContext[0]?(this.closeCurrentTag(!1),this.startIndex=t+1):this.onopentagend(t)}closeCurrentTag(t){var e,n;const r=this.tagname;this.endOpenTag(t),this.stack[0]===r&&(null===(n=(e=this.cbs).onclosetag)||void 0===n||n.call(e,r,!t),this.stack.shift())}onattribname(t,e){this.startIndex=t;const n=this.getSlice(t,e);this.attribname=this.lowerCaseAttributeNames?n.toLowerCase():n}onattribdata(t,e){this.attribvalue+=this.getSlice(t,e)}onattribentity(t){this.attribvalue+=qi(t)}onattribend(t,e){var n,r;this.endIndex=e,null===(r=(n=this.cbs).onattribute)||void 0===r||r.call(n,this.attribname,this.attribvalue,t===uA.Double?'"':t===uA.Single?"'":t===uA.NoValue?void 0:null),this.attribs&&!Object.prototype.hasOwnProperty.call(this.attribs,this.attribname)&&(this.attribs[this.attribname]=this.attribvalue),this.attribvalue=""}getInstructionName(t){const e=t.search(vA);let n=e<0?t:t.substr(0,e);return this.lowerCaseTagNames&&(n=n.toLowerCase()),n}ondeclaration(t,e){this.endIndex=e;const n=this.getSlice(t,e);if(this.cbs.onprocessinginstruction){const t=this.getInstructionName(n);this.cbs.onprocessinginstruction(`!${t}`,`!${n}`)}this.startIndex=e+1}onprocessinginstruction(t,e){this.endIndex=e;const n=this.getSlice(t,e);if(this.cbs.onprocessinginstruction){const t=this.getInstructionName(n);this.cbs.onprocessinginstruction(`?${t}`,`?${n}`)}this.startIndex=e+1}oncomment(t,e,n){var r,i,A,o;this.endIndex=e,null===(i=(r=this.cbs).oncomment)||void 0===i||i.call(r,this.getSlice(t,e-n)),null===(o=(A=this.cbs).oncommentend)||void 0===o||o.call(A),this.startIndex=e+1}oncdata(t,e,n){var r,i,A,o,s,a,c,l,u,h;this.endIndex=e;const d=this.getSlice(t,e-n);!this.htmlMode||this.options.recognizeCDATA?(null===(i=(r=this.cbs).oncdatastart)||void 0===i||i.call(r),null===(o=(A=this.cbs).ontext)||void 0===o||o.call(A,d),null===(a=(s=this.cbs).oncdataend)||void 0===a||a.call(s)):(null===(l=(c=this.cbs).oncomment)||void 0===l||l.call(c,`[CDATA[${d}]]`),null===(h=(u=this.cbs).oncommentend)||void 0===h||h.call(u)),this.startIndex=e+1}onend(){var t,e;if(this.cbs.onclosetag){this.endIndex=this.startIndex;for(let t=0;t<this.stack.length;t++)this.cbs.onclosetag(this.stack[t],!0)}null===(e=(t=this.cbs).onend)||void 0===e||e.call(t)}reset(){var t,e,n,r;null===(e=(t=this.cbs).onreset)||void 0===e||e.call(t),this.tokenizer.reset(),this.tagname="",this.attribname="",this.attribs=null,this.stack.length=0,this.startIndex=0,this.endIndex=0,null===(r=(n=this.cbs).onparserinit)||void 0===r||r.call(n,this),this.buffers.length=0,this.foreignContext.length=0,this.foreignContext.unshift(!this.htmlMode),this.bufferOffset=0,this.writeIndex=0,this.ended=!1}parseComplete(t){this.reset(),this.end(t)}getSlice(t,e){for(;t-this.bufferOffset>=this.buffers[0].length;)this.shiftBuffer();let n=this.buffers[0].slice(t-this.bufferOffset,e-this.bufferOffset);for(;e-this.bufferOffset>this.buffers[0].length;)this.shiftBuffer(),n+=this.buffers[0].slice(0,e-this.bufferOffset);return n}shiftBuffer(){this.bufferOffset+=this.buffers[0].length,this.writeIndex--,this.buffers.shift()}write(t){var e,n;this.ended?null===(n=(e=this.cbs).onerror)||void 0===n||n.call(e,new Error(".write() after done!")):(this.buffers.push(t),this.tokenizer.running&&(this.tokenizer.write(t),this.writeIndex++))}end(t){var e,n;this.ended?null===(n=(e=this.cbs).onerror)||void 0===n||n.call(e,new Error(".end() after done!")):(t&&this.write(t),this.ended=!0,this.tokenizer.end())}pause(){this.tokenizer.pause()}resume(){for(this.tokenizer.resume();this.tokenizer.running&&this.writeIndex<this.buffers.length;)this.tokenizer.write(this.buffers[this.writeIndex++]);this.ended&&this.tokenizer.end()}parseChunk(t){this.write(t)}done(t){this.end(t)}}const EA=/["&'<>$\x80-\uFFFF]/g,FA=new Map([[34,"""],[38,"&"],[39,"'"],[60,"<"],[62,">"]]),QA=null!=String.prototype.codePointAt?(t,e)=>t.codePointAt(e):(t,e)=>55296==(64512&t.charCodeAt(e))?1024*(t.charCodeAt(e)-55296)+t.charCodeAt(e+1)-56320+65536:t.charCodeAt(e);function WA(t){let e,n="",r=0;for(;null!==(e=EA.exec(t));){const i=e.index,A=t.charCodeAt(i),o=FA.get(A);void 0!==o?(n+=t.substring(r,i)+o,r=i+1):(n+=`${t.substring(r,i)}&#x${QA(t,i).toString(16)};`,r=EA.lastIndex+=Number(55296==(64512&A)))}return n+t.substr(r)}function NA(t,e){return function(n){let r,i=0,A="";for(;r=t.exec(n);)i!==r.index&&(A+=n.substring(i,r.index)),A+=e.get(r[0].charCodeAt(0)),i=r.index+1;return A+n.substring(i)}}const KA=NA(/["&\u00A0]/g,new Map([[34,"""],[38,"&"],[160," "]])),GA=NA(/[&<>\u00A0]/g,new Map([[38,"&"],[60,"<"],[62,">"],[160," "]])),YA=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map(t=>[t.toLowerCase(),t])),jA=new Map(["definitionURL","attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map(t=>[t.toLowerCase(),t])),LA=new Set(["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"]);function JA(t){return t.replace(/"/g,""")}const RA=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]);function HA(t,e={}){const n="length"in t?t:[t];let r="";for(let t=0;t<n.length;t++)r+=ZA(n[t],e);return r}function ZA(t,e){switch(t.type){case Wn:return HA(t.children,e);case Rn:case Kn:return`<${t.data}>`;case Gn:return function(t){return`\x3c!--${t.data}--\x3e`}(t);case Jn:return function(t){return`<![CDATA[${t.children[0].data}]]>`}(t);case Yn:case jn:case Ln:return function(t,e){var n;"foreign"===e.xmlMode&&(t.name=null!==(n=YA.get(t.name))&&void 0!==n?n:t.name,t.parent&&OA.has(t.parent.name)&&(e={...e,xmlMode:!1}));!e.xmlMode&&MA.has(t.name)&&(e={...e,xmlMode:"foreign"});let r=`<${t.name}`;const i=function(t,e){var n;if(!t)return;const r=!1===(null!==(n=e.encodeEntities)&&void 0!==n?n:e.decodeEntities)?JA:e.xmlMode||"utf8"!==e.encodeEntities?WA:KA;return Object.keys(t).map(n=>{var i,A;const o=null!==(i=t[n])&&void 0!==i?i:"";return"foreign"===e.xmlMode&&(n=null!==(A=jA.get(n))&&void 0!==A?A:n),e.emptyAttrs||e.xmlMode||""!==o?`${n}="${r(o)}"`:n}).join(" ")}(t.attribs,e);i&&(r+=` ${i}`);0===t.children.length&&(e.xmlMode?!1!==e.selfClosingTags:e.selfClosingTags&&RA.has(t.name))?(e.xmlMode||(r+=" "),r+="/>"):(r+=">",t.children.length>0&&(r+=HA(t.children,e)),!e.xmlMode&&RA.has(t.name)||(r+=`</${t.name}>`));return r}(t,e);case Nn:return function(t,e){var n;let r=t.data||"";!1===(null!==(n=e.encodeEntities)&&void 0!==n?n:e.decodeEntities)||!e.xmlMode&&t.parent&&LA.has(t.parent.name)||(r=e.xmlMode||"utf8"!==e.encodeEntities?WA(r):GA(r));return r}(t,e)}}const OA=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignObject","desc","title"]),MA=new Set(["svg","math"]);const UA={defaultMerge:Symbol("deepmerge-ts: default merge"),skip:Symbol("deepmerge-ts: skip")};function TA(t,e){const n={key:e.key,parents:e.parents,values:e.values,result:e.result},r=t?.hierarchy;return{...n,hierarchy:void 0===r?[n]:[...r,n]}}function VA(t,e){return t.includes(void 0)?t.filter(t=>void 0!==t):t}function PA(t,e,n){return n===UA.defaultMerge||t.useImplicitDefaultMerging&&void 0===n&&t.mergeFunctions[e]!==t.defaultMergeFunctions[e]}function XA(t,e){return{...e,...Object.fromEntries(Object.entries(t).filter(([t])=>Object.hasOwn(e,t)).map(([t,n])=>!1===n?[t,e.mergeOthers]:"function"==typeof n?[t,n]:[t,e[t]]))}}var zA;function _A(t){return"object"!=typeof t||null===t?zA.NOT:Array.isArray(t)?zA.ARRAY:function(t){const e=Object.getPrototypeOf(t);if(null===e||e===Object.prototype)return!0;const n=Object.prototype.toString.call(t);if("[object Object]"!==n&&"[object Module]"!==n)return!1;const{constructor:r}=t;if(void 0===r)return!0;const i=r.prototype;if(null===i||"object"!=typeof i)return!1;const A=Object.prototype.toString.call(i);if("[object Object]"!==A&&"[object Module]"!==A)return!1;if(!Object.hasOwn(i,"isPrototypeOf"))return!1;return!0}(t)?zA.RECORD:t instanceof Set?zA.SET:t instanceof Map?zA.MAP:zA.OTHER}function qA(t){const e=Object.getOwnPropertySymbols(t).filter(e=>Object.prototype.propertyIsEnumerable.call(t,e));return[...Object.keys(t),...e]}function $A(t,e){return"object"==typeof t&&Object.prototype.propertyIsEnumerable.call(t,e)}function to(t,e,n){if(void 0===e||0===e.length)return 0;let r=1;for(let i=e.length-1;i>=0;i--){const{parents:A}=e[i];if(A[n]===t||A.includes(t))return r;r+=1}return 0}function eo(t){return t?.hierarchy}function no(t,e,n){if("object"!=typeof t||null===t)return t;const r=eo(n),i=to(t,r,0);if(void 0!==r&&i>0)return r[r.length-i]?.result;if(_A(t)===zA.RECORD){const r=t;let i=!1;const A={};for(const t of qA(r)){const o=r[t],s=e.metaDataUpdater(n,{key:t,parents:[r],values:[o],result:A}),a=no(o,e,s);a!==o&&(i=!0),"__proto__"===t?Object.defineProperty(A,t,{value:a,configurable:!0,enumerable:!0,writable:!0}):A[t]=a}return i?A:t}return t}!function(t){t[t.NOT=0]="NOT",t[t.RECORD=1]="RECORD",t[t.ARRAY=2]="ARRAY",t[t.SET=3]="SET",t[t.MAP=4]="MAP",t[t.OTHER=5]="OTHER"}(zA||(zA={}));const ro={mergeRecords:function(t,e,n){if(2===t.length){const r={},i=(i,A)=>{const o=e.metaDataUpdater(n,{key:i,parents:t,values:A,result:r}),s=Ao(A,e,o);s!==UA.skip&&("__proto__"===i?Object.defineProperty(r,i,{value:s,configurable:!0,enumerable:!0,writable:!0}):r[i]=s)},A=t[0],o=t[1];for(const t of qA(A))i(t,$A(o,t)?[A[t],o[t]]:[A[t]]);for(const t of qA(o))$A(A,t)||i(t,[o[t]]);return r}return function(t,e,n){const r={};for(const i of function(t){const e=new Set;for(const n of t){const t=Object.keys(n);for(const n of t)e.add(n);const r=Object.getOwnPropertySymbols(n);if(r.length>0)for(const t of r)Object.prototype.propertyIsEnumerable.call(n,t)&&e.add(t)}return e}(t)){const A=[];for(const e of t)$A(e,i)&&A.push(e[i]);const o=e.metaDataUpdater(n,{key:i,parents:t,values:A,result:r}),s=Ao(A,e,o);s!==UA.skip&&("__proto__"===i?Object.defineProperty(r,i,{value:s,configurable:!0,enumerable:!0,writable:!0}):r[i]=s)}return r}(t,e,n)},mergeArrays:function(t,e,n){return t.flat()},mergeSets:function(t,e,n){const r=new Set;for(const e of t)for(const t of e)r.add(t);return r},mergeMaps:function(t,e,n){const r=new Map,i=new Map;for(const e of t)for(const[t,n]of e){const e=i.get(t);void 0===e?i.set(t,[n]):e.push(n)}for(const[A,o]of i){const i=e.metaDataUpdater(n,{key:A,parents:t,values:o,result:r}),s=Ao(o,e,i);s!==UA.skip&&r.set(A,s)}return r},mergeCircularReferences:function(t,e,n,r){const i=e[0],A=eo(r);for(let o=1;o<t.length;o++)if(e[o]!==i){const i=e.at(-1);return 0===i?no(t.at(-1),n,r):A?.[A.length-i]?.result}return A?.[A.length-i]?.result},mergeOthers:function(t,e,n){return t.at(-1)}};function io(t={},e){const n=function(t,e){const n=TA;return{defaultMergeFunctions:ro,mergeFunctions:XA(t,ro),metaDataUpdater:"function"==typeof t.metaDataUpdater?t.metaDataUpdater:n,deepmerge:e,useImplicitDefaultMerging:t.enableImplicitDefaultMerging??!1,filterValues:!1===t.filterValues?void 0:"function"==typeof t.filterValues?t.filterValues:VA,maxDepth:"number"==typeof t.maxDepth&&!Number.isNaN(t.maxDepth)&&t.maxDepth>=0?t.maxDepth:1e3,actions:UA}}(t,r);function r(...t){return Ao(t,n,e??void 0)}return r}function Ao(t,e,n){const r=e.filterValues?.(t,n)??t;if(0===r.length)return;const i=eo(n),A=i?.length??("number"==typeof n?n:n?.depth??0);if(void 0!==e.maxDepth&&A>=e.maxDepth)return so(r,e,n);if(1===r.length){if(void 0!==i){const t=to(r[0],i,0);if(t>0)return i[i.length-t]?.result??i[i.length-t]?.parents[0]}return so(r,e,n)}const o=_A(r[0]);if(o!==zA.NOT&&o!==zA.OTHER)if(2===r.length){if(_A(r[1])!==o)return so(r,e,n);const t=to(r[0],i,0),A=to(r[1],i,1);if(0!==t||0!==A)return oo(r,[t,A],e,n)}else{const t=new Array(r.length);t[0]=to(r[0],i,0);for(let A=1;A<r.length;A++){if(_A(r[A])!==o)return so(r,e,n);t[A]=to(r[A],i,A)}if(t.some(t=>0!==t))return oo(r,t,e,n)}switch(o){case zA.RECORD:return function(t,e,n){const r=e.mergeFunctions.mergeRecords(t,e,n);if(PA(e,"mergeRecords",r))return e.defaultMergeFunctions.mergeRecords(t,e,n);return r}(r,e,n);case zA.ARRAY:return function(t,e,n){const r=e.mergeFunctions.mergeArrays(t,e,n);if(PA(e,"mergeArrays",r))return e.defaultMergeFunctions.mergeArrays(t);return r}(r,e,n);case zA.SET:return function(t,e,n){const r=e.mergeFunctions.mergeSets(t,e,n);if(PA(e,"mergeSets",r))return e.defaultMergeFunctions.mergeSets(t);return r}(r,e,n);case zA.MAP:return function(t,e,n){const r=e.mergeFunctions.mergeMaps(t,e,n);if(PA(e,"mergeMaps",r))return e.defaultMergeFunctions.mergeMaps(t,e,n);return r}(r,e,n);default:return so(r,e,n)}}function oo(t,e,n,r){const i=n.mergeFunctions.mergeCircularReferences(t,e,n,r);return PA(n,"mergeCircularReferences",i)?n.defaultMergeFunctions.mergeCircularReferences(t,e,n,r):i}function so(t,e,n){const r=e.mergeFunctions.mergeOthers(t,e,n);return PA(e,"mergeOthers",r)?e.defaultMergeFunctions.mergeOthers(t):r}function ao(t,e,n=()=>{}){if(void 0===t){const t=function(...n){return e(t,...n)};return t}return t>=0?function(...r){return e(ao(t-1,e,n),...r)}:n}function co(t,e){let n=0,r=t.length;for(;n<r&&t[n]===e;)++n;for(;r>n&&t[r-1]===e;)--r;return n>0||r<t.length?t.substring(n,r):t}function lo(t,e){for(const n of e){if(!t)return;t=t[n]}return t}function uo(t,e="a",n=26){const r=[];do{t-=1,r.push(t%n),t=t/n|0}while(t>0);const i=e.charCodeAt(0);return r.reverse().map(t=>String.fromCharCode(i+t)).join("")}const ho=["I","X","C","M"],fo=["V","L","D"];function go(t){return[...t+""].map(t=>+t).reverse().map((t,e)=>t%5<4?(t<5?"":fo[e])+ho[e].repeat(t%5):ho[e]+(t<5?fo[e]:ho[e+1])).reverse().join("")}class po{constructor(t,e=void 0){this.lines=[],this.nextLineWords=[],this.maxLineLength=e||t.wordwrap||Number.MAX_VALUE,this.nextLineAvailableChars=this.maxLineLength,this.wrapCharacters=lo(t,["longWordSplit","wrapCharacters"])||[],this.forceWrapOnLimit=lo(t,["longWordSplit","forceWrapOnLimit"])||!1,this.stashedSpace=!1,this.wordBreakOpportunity=!1}pushWord(t,e=!1){this.nextLineAvailableChars<=0&&!e&&this.startNewLine();const n=0===this.nextLineWords.length,r=t.length+(n?0:1);if(r<=this.nextLineAvailableChars||e)this.nextLineWords.push(t),this.nextLineAvailableChars-=r;else{const[e,...r]=this.splitLongWord(t);n||this.startNewLine(),this.nextLineWords.push(e),this.nextLineAvailableChars-=e.length;for(const t of r)this.startNewLine(),this.nextLineWords.push(t),this.nextLineAvailableChars-=t.length}}popWord(){const t=this.nextLineWords.pop();if(void 0!==t){const e=0===this.nextLineWords.length,n=t.length+(e?0:1);this.nextLineAvailableChars+=n}return t}concatWord(t,e=!1){if(this.wordBreakOpportunity&&t.length>this.nextLineAvailableChars)this.pushWord(t,e),this.wordBreakOpportunity=!1;else{const n=this.popWord();this.pushWord(n?n.concat(t):t,e)}}startNewLine(t=1){this.lines.push(this.nextLineWords),t>1&&this.lines.push(...Array.from({length:t-1},()=>[])),this.nextLineWords=[],this.nextLineAvailableChars=this.maxLineLength}isEmpty(){return 0===this.lines.length&&0===this.nextLineWords.length}clear(){this.lines.length=0,this.nextLineWords.length=0,this.nextLineAvailableChars=this.maxLineLength}toString(){return[...this.lines,this.nextLineWords].map(t=>t.join(" ")).join("\n")}splitLongWord(t){const e=[];let n=0;for(;t.length>this.maxLineLength;){const r=t.substring(0,this.maxLineLength),i=t.substring(this.maxLineLength),A=r.lastIndexOf(this.wrapCharacters[n]);if(A>-1)t=r.substring(A+1)+i,e.push(r.substring(0,A+1));else{if(n++,!(n<this.wrapCharacters.length)){if(this.forceWrapOnLimit){if(e.push(r),(t=i).length>this.maxLineLength)continue}else t=r+i;break}t=r+i}}return e.push(t),e}}class mo{constructor(t=null){this.next=t}getRoot(){return this.next?this.next:this}}class bo extends mo{constructor(t,e=null,n=1,r=void 0){super(e),this.leadingLineBreaks=n,this.inlineTextBuilder=new po(t,r),this.rawText="",this.stashedLineBreaks=0,this.isPre=e&&e.isPre,this.isNoWrap=e&&e.isNoWrap}}class Io extends bo{constructor(t,e=null,{interRowLineBreaks:n=1,leadingLineBreaks:r=2,maxLineLength:i,maxPrefixLength:A=0,prefixAlign:o="left"}={}){super(t,e,r,i),this.maxPrefixLength=A,this.prefixAlign=o,this.interRowLineBreaks=n}}class yo extends bo{constructor(t,e=null,{leadingLineBreaks:n=1,maxLineLength:r,prefix:i=""}={}){super(t,e,n,r),this.prefix=i}}class wo extends mo{constructor(t=null){super(t),this.rows=[],this.isPre=t&&t.isPre,this.isNoWrap=t&&t.isNoWrap}}class Bo extends mo{constructor(t=null){super(t),this.cells=[],this.isPre=t&&t.isPre,this.isNoWrap=t&&t.isNoWrap}}class Co extends mo{constructor(t,e=null,n=void 0){super(e),this.inlineTextBuilder=new po(t,n),this.rawText="",this.stashedLineBreaks=0,this.isPre=e&&e.isPre,this.isNoWrap=e&&e.isNoWrap}}class xo extends mo{constructor(t=null,e){super(t),this.transform=e}}class ko{constructor(t){this.whitespaceChars=t.preserveNewlines?t.whitespaceCharacters.replace(/\n/g,""):t.whitespaceCharacters;const e=(n=this.whitespaceChars,[...n].map(t=>"\\u"+t.charCodeAt(0).toString(16).padStart(4,"0")).join(""));var n;if(this.leadingWhitespaceRe=new RegExp(`^[${e}]`),this.trailingWhitespaceRe=new RegExp(`[${e}]$`),this.allWhitespaceOrEmptyRe=new RegExp(`^[${e}]*$`),this.newlineOrNonWhitespaceRe=new RegExp(`(\\n|[^\\n${e}])`,"g"),this.newlineOrNonNewlineStringRe=new RegExp("(\\n|[^\\n]+)","g"),t.preserveNewlines){const t=new RegExp(`\\n|[^\\n${e}]+`,"gm");this.shrinkWrapAdd=function(e,n,r=t=>t,i=!1){if(!e)return;const A=n.stashedSpace;let o=!1,s=t.exec(e);if(s)for(o=!0,"\n"===s[0]?n.startNewLine():A||this.testLeadingWhitespace(e)?n.pushWord(r(s[0]),i):n.concatWord(r(s[0]),i);null!==(s=t.exec(e));)"\n"===s[0]?n.startNewLine():n.pushWord(r(s[0]),i);n.stashedSpace=A&&!o||this.testTrailingWhitespace(e)}}else{const t=new RegExp(`[^${e}]+`,"g");this.shrinkWrapAdd=function(e,n,r=t=>t,i=!1){if(!e)return;const A=n.stashedSpace;let o=!1,s=t.exec(e);if(s)for(o=!0,A||this.testLeadingWhitespace(e)?n.pushWord(r(s[0]),i):n.concatWord(r(s[0]),i);null!==(s=t.exec(e));)n.pushWord(r(s[0]),i);n.stashedSpace=A&&!o||this.testTrailingWhitespace(e)}}}addLiteral(t,e,n=!0){if(!t)return;const r=e.stashedSpace;let i=!1,A=this.newlineOrNonNewlineStringRe.exec(t);if(A)for(i=!0,"\n"===A[0]?e.startNewLine():r?e.pushWord(A[0],n):e.concatWord(A[0],n);null!==(A=this.newlineOrNonNewlineStringRe.exec(t));)"\n"===A[0]?e.startNewLine():e.pushWord(A[0],n);e.stashedSpace=r&&!i}testLeadingWhitespace(t){return this.leadingWhitespaceRe.test(t)}testTrailingWhitespace(t){return this.trailingWhitespaceRe.test(t)}testContainsWords(t){return!this.allWhitespaceOrEmptyRe.test(t)}countNewlinesNoWords(t){this.newlineOrNonWhitespaceRe.lastIndex=0;let e,n=0;for(;null!==(e=this.newlineOrNonWhitespaceRe.exec(t));){if("\n"!==e[0])return 0;n++}return n}}class So{constructor(t,e,n=void 0){this.options=t,this.picker=e,this.metadata=n,this.whitespaceProcessor=new ko(t),this._stackItem=new bo(t),this._wordTransformer=void 0}pushWordTransform(t){this._wordTransformer=new xo(this._wordTransformer,t)}popWordTransform(){if(!this._wordTransformer)return;const t=this._wordTransformer.transform;return this._wordTransformer=this._wordTransformer.next,t}startNoWrap(){this._stackItem.isNoWrap=!0}stopNoWrap(){this._stackItem.isNoWrap=!1}_getCombinedWordTransformer(){const t=this._wordTransformer?t=>Eo(t,this._wordTransformer):void 0,e=this.options.encodeCharacters;return t?e?n=>e(t(n)):t:e}_popStackItem(){const t=this._stackItem;return this._stackItem=t.next,t}addLineBreak(){(this._stackItem instanceof bo||this._stackItem instanceof yo||this._stackItem instanceof Co)&&(this._stackItem.isPre?this._stackItem.rawText+="\n":this._stackItem.inlineTextBuilder.startNewLine())}addWordBreakOpportunity(){(this._stackItem instanceof bo||this._stackItem instanceof yo||this._stackItem instanceof Co)&&(this._stackItem.inlineTextBuilder.wordBreakOpportunity=!0)}addInline(t,{noWordTransform:e=!1}={}){if(this._stackItem instanceof bo||this._stackItem instanceof yo||this._stackItem instanceof Co)if(this._stackItem.isPre)this._stackItem.rawText+=t;else if(0!==t.length&&(!this._stackItem.stashedLineBreaks||this.whitespaceProcessor.testContainsWords(t))){if(this.options.preserveNewlines){const e=this.whitespaceProcessor.countNewlinesNoWords(t);if(e>0)return void this._stackItem.inlineTextBuilder.startNewLine(e)}this._stackItem.stashedLineBreaks&&this._stackItem.inlineTextBuilder.startNewLine(this._stackItem.stashedLineBreaks),this.whitespaceProcessor.shrinkWrapAdd(t,this._stackItem.inlineTextBuilder,e?void 0:this._getCombinedWordTransformer(),this._stackItem.isNoWrap),this._stackItem.stashedLineBreaks=0}}addLiteral(t){(this._stackItem instanceof bo||this._stackItem instanceof yo||this._stackItem instanceof Co)&&0!==t.length&&(this._stackItem.isPre?this._stackItem.rawText+=t:(this._stackItem.stashedLineBreaks&&this._stackItem.inlineTextBuilder.startNewLine(this._stackItem.stashedLineBreaks),this.whitespaceProcessor.addLiteral(t,this._stackItem.inlineTextBuilder,this._stackItem.isNoWrap),this._stackItem.stashedLineBreaks=0))}openBlock({leadingLineBreaks:t=1,reservedLineLength:e=0,isPre:n=!1}={}){const r=Math.max(20,this._stackItem.inlineTextBuilder.maxLineLength-e);this._stackItem=new bo(this.options,this._stackItem,t,r),n&&(this._stackItem.isPre=!0)}closeBlock({trailingLineBreaks:t=1,blockTransform:e}={}){const n=this._popStackItem(),r=e?e(vo(n)):vo(n);Do(this._stackItem,r,n.leadingLineBreaks,Math.max(n.stashedLineBreaks,t))}openList({maxPrefixLength:t=0,prefixAlign:e="left",interRowLineBreaks:n=1,leadingLineBreaks:r=2}={}){this._stackItem=new Io(this.options,this._stackItem,{interRowLineBreaks:n,leadingLineBreaks:r,maxLineLength:this._stackItem.inlineTextBuilder.maxLineLength,maxPrefixLength:t,prefixAlign:e})}openListItem({prefix:t=""}={}){if(!(this._stackItem instanceof Io))throw new Error("Can't add a list item to something that is not a list! Check the formatter.");const e=this._stackItem,n=Math.max(t.length,e.maxPrefixLength),r=Math.max(20,e.inlineTextBuilder.maxLineLength-n);this._stackItem=new yo(this.options,e,{prefix:t,maxLineLength:r,leadingLineBreaks:e.interRowLineBreaks})}closeListItem(){const t=this._popStackItem(),e=t.next,n=Math.max(t.prefix.length,e.maxPrefixLength),r="\n"+" ".repeat(n);Do(e,("right"===e.prefixAlign?t.prefix.padStart(n):t.prefix.padEnd(n))+vo(t).replace(/\n/g,r),t.leadingLineBreaks,Math.max(t.stashedLineBreaks,e.interRowLineBreaks))}closeList({trailingLineBreaks:t=2}={}){const e=this._popStackItem(),n=vo(e);n&&Do(this._stackItem,n,e.leadingLineBreaks,t)}openTable(){this._stackItem=new wo(this._stackItem)}openTableRow(){if(!(this._stackItem instanceof wo))throw new Error("Can't add a table row to something that is not a table! Check the formatter.");this._stackItem=new Bo(this._stackItem)}openTableCell({maxColumnWidth:t}={}){if(!(this._stackItem instanceof Bo))throw new Error("Can't add a table cell to something that is not a table row! Check the formatter.");this._stackItem=new Co(this.options,this._stackItem,t)}closeTableCell({colspan:t=1,rowspan:e=1}={}){const n=this._popStackItem(),r=co(vo(n),"\n");n.next.cells.push({colspan:t,rowspan:e,text:r})}closeTableRow(){const t=this._popStackItem();t.next.rows.push(t.cells)}closeTable({tableToString:t,leadingLineBreaks:e=2,trailingLineBreaks:n=2}){const r=t(this._popStackItem().rows);r&&Do(this._stackItem,r,e,n)}toString(){return vo(this._stackItem.getRoot())}}function vo(t){if(!(t instanceof bo||t instanceof yo||t instanceof Co))throw new Error("Only blocks, list items and table cells can be requested for text contents.");return t.inlineTextBuilder.isEmpty()?t.rawText:t.rawText+t.inlineTextBuilder.toString()}function Do(t,e,n,r){if(!(t instanceof bo||t instanceof yo||t instanceof Co))throw new Error("Only blocks, list items and table cells can contain text.");const i=vo(t),A=Math.max(t.stashedLineBreaks,n);t.inlineTextBuilder.clear(),i?t.rawText=i+"\n".repeat(A)+e:(t.rawText=e,t.leadingLineBreaks=A),t.stashedLineBreaks=r}function Eo(t,e){return e?Eo(e.transform(t),e.next):t}function Fo(t={}){const e=t.selectors.filter(t=>!t.format);if(e.length)throw new Error("Following selectors have no specified format: "+e.map(t=>`\`${t.selector}\``).join(", "));const n=new vi(t.selectors.map(t=>[t.selector,t])).build(Oi);"function"!=typeof t.encodeCharacters&&(t.encodeCharacters=function(t){if(!t||0===Object.keys(t).length)return;const e=Object.entries(t).filter(([,t])=>!1!==t),n=new RegExp(e.map(([t])=>{return`(${e=[...t][0],e.replace(/[\s\S]/g,t=>"\\u"+t.charCodeAt().toString(16).padStart(4,"0"))})`;var e}).join("|"),"g"),r=e.map(([,t])=>t),i=(t,...e)=>r[e.findIndex(t=>t)];return t=>t.replace(n,i)}(t.encodeCharacters));const r=new vi(t.baseElements.selectors.map((t,e)=>[t,e+1])).build(Oi);function i(e){return function(t,e,n){const r=[];function i(t,i){i=i.slice(0,e.limits.maxChildNodes);for(const A of i){if("tag"!==A.type)continue;const i=n.pick1(A);if(i>0?r.push({selectorIndex:i,element:A}):A.children&&t(A.children),r.length>=e.limits.maxBaseElements)return}}const A=ao(e.limits.maxDepth,i);A(t),"occurrence"!==e.baseElements.orderBy&&r.sort((t,e)=>t.selectorIndex-e.selectorIndex);return e.baseElements.returnDomByDefault&&0===r.length?t:r.map(t=>t.element)}(e,t,r)}const A=ao(t.limits.maxDepth,Qo,function(e,n){n.addInline(t.limits.ellipsis||"")});return function(e,r=void 0){return function(t,e,n,r,i,A){const o=n.limits.maxInputLength;o&&t&&t.length>o&&(console.warn(`Input length ${t.length} is above allowed limit of ${o}. Truncating without ellipsis.`),t=t.substring(0,o));const s=function(t,e){const n=new tr(void 0,e);return new DA(n,e).end(t),n.root}(t,{decodeEntities:n.decodeEntities}),a=i(s.children),c=new So(n,r,e);return A(a,c),c.toString()}(e,r,t,n,i,A)}}function Qo(t,e,n){if(!e)return;const r=n.options;e.length>r.limits.maxChildNodes&&(e=e.slice(0,r.limits.maxChildNodes)).push({data:r.limits.ellipsis,type:"text"});for(const i of e)switch(i.type){case"text":n.addInline(i.data);break;case"tag":{const e=n.picker.pick1(i);(0,r.formatters[e.format])(i,t,n,e.options||{});break}}}function Wo(t){const e=t.attribs&&t.attribs.length?" "+Object.entries(t.attribs).map(([t,e])=>""===e?t:`${t}=${e.replace(/"/g,""")}`).join(" "):"";return`<${t.name}${e}>`}function No(t){return`</${t.name}>`}var Ko=Object.freeze({__proto__:null,block:function(t,e,n,r){n.openBlock({leadingLineBreaks:r.leadingLineBreaks||2}),e(t.children,n),n.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2})},blockHtml:function(t,e,n,r){n.openBlock({leadingLineBreaks:r.leadingLineBreaks||2}),n.startNoWrap(),n.addLiteral(HA(t,{decodeEntities:n.options.decodeEntities})),n.stopNoWrap(),n.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2})},blockString:function(t,e,n,r){n.openBlock({leadingLineBreaks:r.leadingLineBreaks||2}),n.addLiteral(r.string||""),n.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2})},blockTag:function(t,e,n,r){n.openBlock({leadingLineBreaks:r.leadingLineBreaks||2}),n.startNoWrap(),n.addLiteral(Wo(t)),n.stopNoWrap(),e(t.children,n),n.startNoWrap(),n.addLiteral(No(t)),n.stopNoWrap(),n.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2})},inline:function(t,e,n,r){e(t.children,n)},inlineHtml:function(t,e,n,r){n.startNoWrap(),n.addLiteral(HA(t,{decodeEntities:n.options.decodeEntities})),n.stopNoWrap()},inlineString:function(t,e,n,r){n.addLiteral(r.string||"")},inlineSurround:function(t,e,n,r){n.addLiteral(r.prefix||""),e(t.children,n),n.addLiteral(r.suffix||"")},inlineTag:function(t,e,n,r){n.startNoWrap(),n.addLiteral(Wo(t)),n.stopNoWrap(),e(t.children,n),n.startNoWrap(),n.addLiteral(No(t)),n.stopNoWrap()},skip:function(t,e,n,r){}});const Go=t=>{const e=t[t.length-1];return Array.isArray(e)?[...e]:[]},Yo=io({filterValues:!1,mergeArrays:Go}),jo=io({filterValues:!1,mergeArrays:(t,e,n)=>{const r=n?.keyPath?n.keyPath:[];return 1===r.length&&"selectors"===r[0]?t.flatMap(t=>t):Go(t)},metaDataUpdater:(t,e)=>void 0===t?void 0===e.key?{keyPath:[]}:{keyPath:[e.key]}:void 0===e.key?t:{keyPath:[...t.keyPath,e.key]}});function Lo(t,e){const n=new Map;for(let r=t.length;r-- >0;){const i=t[r],A=e(i);n.set(A,n.has(A)?Yo(i,n.get(A)):i)}return[...n.values()].reverse()}function Jo(t,e){return t[e]||(t[e]=[]),t[e]}function Ro(t,e=0){for(;t[e];)e++;return e}function Ho(t,e,n,r){for(let i=0;i<t.rowspan;i++){const A=Jo(e,n+i);for(let e=0;e<t.colspan;e++)A[r+e]=t}}function Zo(t,e){return void 0===t[e]&&(t[e]=0===e?0:1+Zo(t,e-1)),t[e]}function Oo(t,e,n,r){t[e+n]=Math.max(Zo(t,e+n),Zo(t,e)+r)}function Mo(t,e,n){const r=[];let i=0;const A=t.length,o=[0];for(let n=0;n<A;n++){const A=Jo(r,n),s=t[n];let a=0;for(let t=0;t<s.length;t++){const i=s[t];a=Ro(A,a),Ho(i,r,n,a),a+=i.colspan,i.lines=i.text.split("\n");const c=i.lines.length;Oo(o,n,i.rowspan,c+e)}i=A.length>i?A.length:i}!function(t,e){for(let n=0;n<e;n++){const e=Jo(t,n);for(let r=0;r<n;r++){const i=Jo(t,r);if(e[r]||i[n]){const t=e[r];e[r]=i[n],i[n]=t}}}}(r,A>i?A:i);const s=[],a=[0];for(let t=0;t<i;t++){let e,i=0;const c=Math.min(A,r[t].length);for(;i<c;)if(e=r[t][i],e){if(!e.rendered){let r=0;for(let n=0;n<e.lines.length;n++){const A=e.lines[n],c=o[i]+n;s[c]=(s[c]||"").padEnd(a[t])+A,r=A.length>r?A.length:r}Oo(a,t,e.colspan,r+n),e.rendered=!0}i+=e.rowspan}else{const t=o[i];s[t]=s[t]||"",i++}}return s.join("\n")}function Uo(t,e){if(!e)return t;return("string"==typeof e[0]?e[0]:"[")+t+("string"==typeof e[1]?e[1]:"]")}function To(t,e,n,r,i){const A="function"==typeof e?e(t,r,i):t;return"/"===A[0]&&n?function(t,e){let n=t.length;for(;n>0&&t[n-1]===e;)--n;return n<t.length?t.substring(0,n):t}(n,"/")+A:A}function Vo(t,e,n,r,i){const A="li"===lo(t,["parent","name"]);let o=0;const s=(t.children||[]).filter(t=>"text"!==t.type||!/^\s*$/.test(t.data)).map(function(t){if("li"!==t.name)return{node:t,prefix:""};const e=A?i().trimStart():i();return e.length>o&&(o=e.length),{node:t,prefix:e}});if(s.length){n.openList({interRowLineBreaks:1,leadingLineBreaks:A?1:r.leadingLineBreaks||2,maxPrefixLength:o,prefixAlign:"left"});for(const{node:t,prefix:r}of s)n.openListItem({prefix:r}),e([t],n),n.closeListItem();n.closeList({trailingLineBreaks:A?1:r.trailingLineBreaks||2})}}function Po(t,e,n,r){function i(t){const i=+lo(t,["attribs","colspan"])||1,A=+lo(t,["attribs","rowspan"])||1;n.openTableCell({maxColumnWidth:r.maxColumnWidth}),e(t.children,n),n.closeTableCell({colspan:i,rowspan:A})}n.openTable(),t.children.forEach(function t(e){if("tag"!==e.type)return;const A=!1!==r.uppercaseHeaderCells?t=>{n.pushWordTransform(t=>t.toUpperCase()),i(t),n.popWordTransform()}:i;switch(e.name){case"thead":case"tbody":case"tfoot":case"center":return void e.children.forEach(t);case"tr":n.openTableRow();for(const t of e.children)if("tag"===t.type)switch(t.name){case"th":A(t);break;case"td":i(t)}n.closeTableRow()}}),n.closeTable({tableToString:t=>Mo(t,r.rowSpacing??0,r.colSpacing??3),leadingLineBreaks:r.leadingLineBreaks,trailingLineBreaks:r.trailingLineBreaks})}var Xo=Object.freeze({__proto__:null,anchor:function(t,e,n,r){const i=function(){if(r.ignoreHref)return"";if(!t.attribs||!t.attribs.href)return"";let e=t.attribs.href.replace(/^mailto:/,"");return r.noAnchorUrl&&"#"===e[0]?"":(e=To(e,r.pathRewrite,r.baseUrl,n.metadata,t),e)}();if(i){let A="";n.pushWordTransform(t=>(t&&(A+=t),t)),e(t.children,n),n.popWordTransform();r.hideLinkHrefIfSameAsText&&i===A||n.addInline(A?" "+Uo(i,r.linkBrackets):i,{noWordTransform:!0})}else e(t.children,n)},blockquote:function(t,e,n,r){n.openBlock({leadingLineBreaks:r.leadingLineBreaks||2,reservedLineLength:2}),e(t.children,n),n.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2,blockTransform:t=>(!1!==r.trimEmptyLines?co(t,"\n"):t).split("\n").map(t=>"> "+t).join("\n")})},dataTable:Po,heading:function(t,e,n,r){n.openBlock({leadingLineBreaks:r.leadingLineBreaks||2}),!1!==r.uppercase?(n.pushWordTransform(t=>t.toUpperCase()),e(t.children,n),n.popWordTransform()):e(t.children,n),n.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2})},horizontalLine:function(t,e,n,r){n.openBlock({leadingLineBreaks:r.leadingLineBreaks||2}),n.addInline("-".repeat(r.length||n.options.wordwrap||40)),n.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2})},image:function(t,e,n,r){const i=t.attribs||{},A=i.alt?i.alt:"",o=i.src?To(i.src,r.pathRewrite,r.baseUrl,n.metadata,t):"",s=o?A?A+" "+Uo(o,r.linkBrackets):Uo(o,r.linkBrackets):A;n.addInline(s,{noWordTransform:!0})},lineBreak:function(t,e,n,r){n.addLineBreak()},orderedList:function(t,e,n,r){let i=Number(t.attribs.start||"1");const A=function(t="1"){switch(t){case"a":return t=>uo(t,"a");case"A":return t=>uo(t,"A");case"i":return t=>go(t).toLowerCase();case"I":return t=>go(t);default:return t=>t.toString()}}(t.attribs.type);return Vo(t,e,n,r,()=>" "+A(i++)+". ")},paragraph:function(t,e,n,r){n.openBlock({leadingLineBreaks:r.leadingLineBreaks||2}),e(t.children,n),n.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2})},pre:function(t,e,n,r){n.openBlock({isPre:!0,leadingLineBreaks:r.leadingLineBreaks||2}),e(t.children,n),n.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2})},table:function(t,e,n,r){return function(t,e){if(!0===e)return!0;if(!t)return!1;const{classes:n,ids:r}=function(t){const e=[],n=[];for(const r of t)r.startsWith(".")?e.push(r.substring(1)):r.startsWith("#")&&n.push(r.substring(1));return{classes:e,ids:n}}(e),i=(t.class||"").split(" "),A=(t.id||"").split(" ");return i.some(t=>n.includes(t))||A.some(t=>r.includes(t))}(t.attribs,n.options.tables)?Po(t,e,n,r):function(t,e,n,r){n.openBlock({leadingLineBreaks:r.leadingLineBreaks}),e(t.children,n),n.closeBlock({trailingLineBreaks:r.trailingLineBreaks})}(t,e,n,r)},unorderedList:function(t,e,n,r){const i=r.itemPrefix||" * ";return Vo(t,e,n,r,()=>i)},wbr:function(t,e,n,r){n.addWordBreakOpportunity()}});const zo={baseElements:{selectors:["body"],orderBy:"selectors",returnDomByDefault:!0},decodeEntities:!0,encodeCharacters:{},formatters:{},limits:{ellipsis:"...",maxBaseElements:void 0,maxChildNodes:void 0,maxDepth:void 0,maxInputLength:1<<24},longWordSplit:{forceWrapOnLimit:!1,wrapCharacters:[]},preserveNewlines:!1,selectors:[{selector:"*",format:"inline"},{selector:"a",format:"anchor",options:{baseUrl:null,hideLinkHrefIfSameAsText:!1,ignoreHref:!1,linkBrackets:["[","]"],noAnchorUrl:!0}},{selector:"article",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"aside",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"blockquote",format:"blockquote",options:{leadingLineBreaks:2,trailingLineBreaks:2,trimEmptyLines:!0}},{selector:"br",format:"lineBreak"},{selector:"div",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"footer",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"form",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"h1",format:"heading",options:{leadingLineBreaks:3,trailingLineBreaks:2,uppercase:!0}},{selector:"h2",format:"heading",options:{leadingLineBreaks:3,trailingLineBreaks:2,uppercase:!0}},{selector:"h3",format:"heading",options:{leadingLineBreaks:3,trailingLineBreaks:2,uppercase:!0}},{selector:"h4",format:"heading",options:{leadingLineBreaks:2,trailingLineBreaks:2,uppercase:!0}},{selector:"h5",format:"heading",options:{leadingLineBreaks:2,trailingLineBreaks:2,uppercase:!0}},{selector:"h6",format:"heading",options:{leadingLineBreaks:2,trailingLineBreaks:2,uppercase:!0}},{selector:"header",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"hr",format:"horizontalLine",options:{leadingLineBreaks:2,length:void 0,trailingLineBreaks:2}},{selector:"img",format:"image",options:{baseUrl:null,linkBrackets:["[","]"]}},{selector:"main",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"nav",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"ol",format:"orderedList",options:{leadingLineBreaks:2,trailingLineBreaks:2}},{selector:"p",format:"paragraph",options:{leadingLineBreaks:2,trailingLineBreaks:2}},{selector:"pre",format:"pre",options:{leadingLineBreaks:2,trailingLineBreaks:2}},{selector:"section",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"table",format:"table",options:{colSpacing:3,leadingLineBreaks:2,maxColumnWidth:60,rowSpacing:0,trailingLineBreaks:2,uppercaseHeaderCells:!0}},{selector:"ul",format:"unorderedList",options:{itemPrefix:" * ",leadingLineBreaks:2,trailingLineBreaks:2}},{selector:"wbr",format:"wbr"}],tables:[],whitespaceCharacters:" \t\r\n\f",wordwrap:80};function _o(t={}){return t=function({defaultOptions:t,userOptions:e={},genericFormatters:n,packageFormatters:r,handleMergedOptions:i}){const A=jo(t,e);return A.formatters=Object.assign({},n,r,A.formatters),A.selectors=Lo(A.selectors,t=>t.selector),i&&i(A),A}({defaultOptions:zo,genericFormatters:Ko,handleMergedOptions:$o,packageFormatters:Xo,userOptions:t}),Fo(t)}function qo(t,e={},n=void 0){return _o(e)(t,n)}function $o(t){if(t.tags){const e=Object.entries(t.tags).map(([t,e])=>({...e,selector:t||"*"}));t.selectors.push(...e),t.selectors=Lo(t.selectors,t=>t.selector)}function e(t,e,n){const r=e.pop();for(const n of e){let e=t[n];e||(e={},t[n]=e),t=e}t[r]=n}if(t.baseElement){const n=t.baseElement;e(t,["baseElements","selectors"],Array.isArray(n)?n:[n])}void 0!==t.returnDomByDefault&&e(t,["baseElements","returnDomByDefault"],t.returnDomByDefault);for(const n of t.selectors)"anchor"===n.format&&lo(n,["options","noLinkBrackets"])&&e(n,["options","linkBrackets"],!1)}var ts=Object.freeze({__proto__:null,compile:_o,convert:qo,htmlToText:qo});let es=2147483647;function ns(){let t,e,n=new Promise(function(){t=arguments[0],e=arguments[1]});return n.resolve=t,n.reject=e,n}function rs(t){return t!=t}function is(t){let e=!1;if(Ct(t))e=!isNaN(Number(t));else if(function(t){return"[object Number]"===Object.prototype.toString.call(t)}(t)){if(rs(t))return!1;e=!0}return e}function As(t){if(!is(t))return 0;return Ue(t)}function os(t,e={}){let n=wt(e,"useLimitSafe",null);return Dn(n)||(n=!1),!!is(t)&&(t=As(t),n?Number.isSafeInteger(t):"number"==typeof(r=t)&&r==Te(r));var r}var ss=I.isFinite,as=Math.min;var cs=function(t){var e=Math[t];return function(t,n){if(t=Oe(t),(n=null==n?0:as(Te(n),292))&&ss(t)){var r=(mt(t)+"e").split("e");return+((r=(mt(e(r[0]+"e"+(+r[1]+n)))+"e").split("e"))[0]+"e"+(+r[1]-n))}return e(t)}}("round"),ls=cs;function us(t,e={}){let n=wt(e,"useClampSafe",null);Dn(n)||(n=!1);let r=wt(e,"useLimitSafe",null);Dn(r)||(r=!1);let i=wt(e,"returnWithStateAndMsg",null);Dn(i)||(i=!1);let A=t=>i?{state:"success",msg:t}:t,o=t=>{if(i)return{state:"error",msg:t};throw new Error(t)};if(!is(t))return A(0);let s=null;try{t=As(t),s=ls(t),n&&(s>Number.MAX_SAFE_INTEGER?s=Number.MAX_SAFE_INTEGER:s<Number.MIN_SAFE_INTEGER&&(s=Number.MIN_SAFE_INTEGER))}catch(t){return o(t.toString())}return r&&!Number.isSafeInteger(Number(s))?o(`v[${t}] is not a safe integer`):("0"===String(s)&&(s=0),A(s))}function hs(t,e={}){if(!os(t,e))return!1;return us(t)>0}async function ds(){let t="htmlToText";if(En(wt(ts,t)))return ts;if(En(wt(ts,["default",t])))return;let e=globalThis,n=null;if(await async function(t,e={}){let n=null,r=ns();if(!En(t))return r.reject("waitfunction需輸入函數f"),r;let i=async()=>{let e=t();return Fn(e)&&(e=await e),e};if(n=await i(),!0===n)return r.resolve(),r;let A=wt(e,"attemptNum",null);hs(A)||(A=200);let o=wt(e,"timeInterval",null);hs(o)||(o=1e3),o=Math.min(o,es);let s=0,a=setInterval(async()=>{s+=1,n=await i(),!0===n&&(clearInterval(a),r.resolve()),s>A&&(clearInterval(a),r.reject(`exceeded attemptNum[${A}]`))},o);return r}(()=>(n=wt(e,"ht",null),function(t){if(xt(t)){for(let e in t)return!0;return!1}return!1}(n)),{attemptNum:4e3,timeInterval:50}),En(wt(n,t)))return n;if(En(wt(n,["default",t])))return n.default;throw console.log("ht",ts,"g.ht",e.ht),new Error("invalid ht, g.ht, g.ht.default, use script for import")}function fs(t){return"[object Array]"===Object.prototype.toString.call(t)}function gs(t,e){let n=ns();if(!fs(t)&&!xt(t))return n.reject("rs is not an array or object"),n;let r=!1;if(xt(t)){r=!0;let e=[];le(t,(t,n)=>{e.push({k:n,v:t})}),t=e}En(e)||(e=function(t){return t});let i=-1,A=[];return t.reduce(function(t,n){return t.then(function(t){A.push(t),i+=1;let o=i,s=n;return r&&(o=n.k,s=n.v),En(e)?e(s,o):s})},Promise.resolve()).then(function(t){A.push(t),A=Ve(A),n.resolve(A)}).catch(function(t){n.reject(t)}),n}function ps(t,e={}){if(!os(t,e))return!1;return us(t)>=0}function ms(t,e){if(!Ct(t))return"";if(!ps(e))return"";if(0===(e=us(e)))return"";let n=t.length-e;return n<0&&(n=0),t.substring(n,n+e)}function bs(t,e){return Ct(t)&&ps(e)?0===(e=us(e))?"":t.substring(0,e):""}function Is(t,e){return Ct(t)&&ps(e)?0===(e=us(e))?t:bs(t,t.length-e):""}function ys(t){if(!Ct(t))return{path:"",isRoot:!1};for(;t.indexOf("\\\\")>=0;)t=t.replace("\\\\","\\");for(;t.indexOf("//")>=0;)t=t.replace("//","/");if(":"===ms(t,1))return{path:`${t}\\`,isRoot:!0};if("\\"===ms(t,1)){let e=Is(t,1);return":"===ms(e,1)?{path:t,isRoot:!0}:{path:e,isRoot:!1}}if("/"===ms(t,1)){let e=Is(t,1);return 0===e.length?{path:t,isRoot:!0}:{path:e,isRoot:!1}}return{path:t,isRoot:!1}}function ws(t){if(!Ct(t))return"";let e=ys(t);if(e.isRoot)return e.path;let n=e.path;try{n=n.split("\\").pop().split("/").pop()}catch(t){}return n}function Bs(t){if(!Ct(t))return"";let e=ws(t),n=Fe(e,".");if(Sn(n)<=1)return e;let r="";try{n=(s=null==(i=n)?0:i.length)?ue(i,0,(A=s-(A=o||void 0===A?1:Te(A)))<0?0:A):[],r=Le(n,".")}catch(t){}var i,A,o,s;return r}function Cs(t){if(!Ct(t))return"";let e=ys(t);if(e.isRoot)return e.path;let n=ws(t=e.path);if(!Ct(n))return t;let r=ys(t=Is(t,n.length));return r.isRoot,r.path}function xs(t){return mt(t).toLowerCase()}function ks(t){var e=this.__data__=new et(t);this.size=e.size}ks.prototype.clear=function(){this.__data__=new et,this.size=0},ks.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},ks.prototype.get=function(t){return this.__data__.get(t)},ks.prototype.has=function(t){return this.__data__.has(t)},ks.prototype.set=function(t,e){var n=this.__data__;if(n instanceof et){var r=n.__data__;if(!nt||r.length<199)return r.push([t,e]),this.size=++n.size,this;n=this.__data__=new it(r)}return n.set(t,e),this.size=n.size,this};var Ss=function(){try{var t=V(Object,"defineProperty");return t({},"",{}),t}catch(t){}}(),vs=Ss;function Ds(t,e,n){"__proto__"==e&&vs?vs(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}var Es=Object.prototype.hasOwnProperty;function Fs(t,e,n){var r=t[e];Es.call(t,e)&&q(r,n)&&(void 0!==n||e in t)||Ds(t,e,n)}function Qs(t,e,n,r){var i=!n;n||(n={});for(var A=-1,o=e.length;++A<o;){var s=e[A],a=r?r(n[s],t[s],s,n,t):void 0;void 0===a&&(a=t[s]),i?Ds(n,s,a):Fs(n,s,a)}return n}var Ws=Object.prototype.hasOwnProperty;function Ns(t){if(!N(t))return function(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e}(t);var e=te(t),n=[];for(var r in t)("constructor"!=r||!e&&Ws.call(t,r))&&n.push(r);return n}function Ks(t){return Ae(t)?qt(t,!0):Ns(t)}var Gs="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ys=Gs&&"object"==typeof module&&module&&!module.nodeType&&module,js=Ys&&Ys.exports===Gs?I.Buffer:void 0,Ls=js?js.allocUnsafe:void 0;function Js(){return[]}var Rs=Object.prototype.propertyIsEnumerable,Hs=Object.getOwnPropertySymbols,Zs=Hs?function(t){return null==t?[]:(t=Object(t),function(t,e){for(var n=-1,r=null==t?0:t.length,i=0,A=[];++n<r;){var o=t[n];e(o,n,t)&&(A[i++]=o)}return A}(Hs(t),function(e){return Rs.call(t,e)}))}:Js,Os=Zs;function Ms(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}var Us=ee(Object.getPrototypeOf,Object),Ts=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)Ms(e,Os(t)),t=Us(t);return e}:Js,Vs=Ts;function Ps(t,e,n){var r=e(t);return p(t)?r:Ms(r,n(t))}function Xs(t){return Ps(t,oe,Os)}function zs(t){return Ps(t,Ks,Vs)}var _s=Object.prototype.hasOwnProperty;var qs=I.Uint8Array;function $s(t){var e=new t.constructor(t.byteLength);return new qs(e).set(new qs(t)),e}var ta=/\w*$/;var ea=y?y.prototype:void 0,na=ea?ea.valueOf:void 0;function ra(t,e,n){var r,i=t.constructor;switch(e){case"[object ArrayBuffer]":return $s(t);case"[object Boolean]":case"[object Date]":return new i(+t);case"[object DataView]":return function(t,e){var n=e?$s(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}(t,n);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return function(t,e){var n=e?$s(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}(t,n);case"[object Map]":case"[object Set]":return new i;case"[object Number]":case"[object String]":return new i(t);case"[object RegExp]":return function(t){var e=new t.constructor(t.source,ta.exec(t));return e.lastIndex=t.lastIndex,e}(t);case"[object Symbol]":return r=t,na?Object(na.call(r)):{}}}var ia=Object.create,Aa=function(){function t(){}return function(e){if(!N(e))return{};if(ia)return ia(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}(),oa=Aa;var sa=Pt&&Pt.isMap,aa=sa?Mt(sa):function(t){return D(t)&&"[object Map]"==ln(t)};var ca=Pt&&Pt.isSet,la=ca?Mt(ca):function(t){return D(t)&&"[object Set]"==ln(t)},ua="[object Arguments]",ha="[object Function]",da="[object Object]",fa={};function ga(t,e,n,r,i,A){var o,s=1&e,a=2&e,c=4&e;if(n&&(o=i?n(t,r,i,A):n(t)),void 0!==o)return o;if(!N(t))return t;var l=p(t);if(l){if(o=function(t){var e=t.length,n=new t.constructor(e);return e&&"string"==typeof t[0]&&_s.call(t,"index")&&(n.index=t.index,n.input=t.input),n}(t),!s)return function(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n<r;)e[n]=t[n];return e}(t,o)}else{var u=ln(t),h=u==ha||"[object GeneratorFunction]"==u;if(Jt(t))return function(t,e){if(e)return t.slice();var n=t.length,r=Ls?Ls(n):new t.constructor(n);return t.copy(r),r}(t,s);if(u==da||u==ua||h&&!i){if(o=a||h?{}:function(t){return"function"!=typeof t.constructor||te(t)?{}:oa(Us(t))}(t),!s)return a?function(t,e){return Qs(t,Vs(t),e)}(t,function(t,e){return t&&Qs(e,Ks(e),t)}(o,t)):function(t,e){return Qs(t,Os(t),e)}(t,function(t,e){return t&&Qs(e,oe(e),t)}(o,t))}else{if(!fa[u])return i?t:{};o=ra(t,u,s)}}A||(A=new ks);var d=A.get(t);if(d)return d;A.set(t,o),la(t)?t.forEach(function(r){o.add(ga(r,e,n,r,t,A))}):aa(t)&&t.forEach(function(r,i){o.set(i,ga(r,e,n,i,t,A))});var f=l?void 0:(c?a?zs:Xs:a?Ks:oe)(t);return vt(f||t,function(r,i){f&&(r=t[i=r]),Fs(o,i,ga(r,e,n,i,t,A))}),o}fa[ua]=fa["[object Array]"]=fa["[object ArrayBuffer]"]=fa["[object DataView]"]=fa["[object Boolean]"]=fa["[object Date]"]=fa["[object Float32Array]"]=fa["[object Float64Array]"]=fa["[object Int8Array]"]=fa["[object Int16Array]"]=fa["[object Int32Array]"]=fa["[object Map]"]=fa["[object Number]"]=fa[da]=fa["[object RegExp]"]=fa["[object Set]"]=fa["[object String]"]=fa["[object Symbol]"]=fa["[object Uint8Array]"]=fa["[object Uint8ClampedArray]"]=fa["[object Uint16Array]"]=fa["[object Uint32Array]"]=!0,fa["[object Error]"]=fa[ha]=fa["[object WeakMap]"]=!1;function pa(t){return ga(t,5)}let ma=(t,e)=>{let n=t.toString("base64"),r=(t=>"png"===(t=xs(t))?"image/png":"jpg"===t||"jpeg"===t?"image/jpeg":"gif"===t?"image/gif":"svg"===t?"image/svg+xml":"webp"===t?"image/webp":"application/octet-stream")(e);return`data:${r};base64,${n}`},ba=async(e,n,i={})=>{if(!St(e))throw new Error(`fpInp[${e}] does not exist`);let A=wt(i,"funGetWidth"),o=wt(i,"funGetHeight"),s=wt(i,"funGetSize"),a=wt(i,"cropLeft"),c=wt(i,"cropTop"),l=wt(i,"cropWidth"),u=wt(i,"cropHeight"),h=wt(i,"density");is(h)||(h=96),h=us(h);let d=wt(i,"returnBase64");Dn(d)||(d=!1);let f=function(t){if(!Ct(t))return"";let e=Fe(ws(t),".");if(Sn(e)<=1)return"";let n="";try{n=(i=null==(r=e)?0:r.length)?r[i-1]:void 0}catch(t){}var r,i;return n}(n);f=xs(f);let g=t.readFileSync(e),p=null,m=null;if(En(s)||En(A)||En(o)){let t=await r(g).metadata();if(En(s)){let e=s(pa(t));if(Fn(e)&&(e=await e),!is(wt(e,"width")))throw new Error("invalid ret.width for funGetSize");if(!is(wt(e,"height")))throw new Error("invalid ret.height for funGetSize");p=us(e.width),m=us(e.height)}else En(A)?(p=A(pa(t)),Fn(p)&&(p=await p),p=us(p)):En(o)&&(m=o(pa(t)),Fn(m)&&(m=await m),m=us(m))}let b=await r(g,{density:h}),I=is(p),y=is(m),w=is(a)&&is(c)&&is(l)&&is(u);I&&y?b=b.resize({width:p,height:m,withoutEnlargement:!0}):I&&!y?b=b.resize({width:p,withoutEnlargement:!0}):!I&&y&&(b=b.resize({height:m,withoutEnlargement:!0})),w&&(a=us(a),c=us(c),l=us(l),u=us(u),b=b.extract({left:a,top:c,width:l,height:u}));let B={png:()=>b.png({compressionLevel:9,adaptiveFiltering:!1,palette:!1,quality:100,colors:256,...i}),jpg:()=>b.flatten({background:wt(i,"background","#fff")}).jpeg({quality:100,progressive:!1,chromaSubsampling:"4:2:0",optimiseCoding:!0,mozjpeg:!1,overshootDeringing:!1,...i}),jpeg:()=>b.flatten({background:wt(i,"background","#fff")}).jpeg({quality:100,progressive:!1,chromaSubsampling:"4:2:0",optimiseCoding:!0,mozjpeg:!1,overshootDeringing:!1,...i}),webp:()=>b.webp({quality:100,alphaQuality:100,lossless:!0,...i}),avif:()=>b.avif({quality:50,lossless:!1,speed:5,chromaSubsampling:"4:2:0",...i}),gif:()=>b.gif({effort:7,interlace:!1,...i}),tiff:()=>b.tiff({quality:100,compression:"jpeg",predictor:"horizontal",pyramid:!1,tile:!1,...i}),bmp:()=>b.bmp({...i})};var C,x;x=f,b=xt(C=B)&&(Ct(x)||is(x))&&x in C?B[f]():b.toFormat(f);let k=await b.toBuffer();if(d){return ma(k,f)}return t.writeFileSync(n,k),"ok"},Ia=async(t,e,n={})=>{let r={...n,cropLeft:null,cropTop:null,cropWidth:null,cropHeight:null,returnBase64:!0};return await ba(t,`${t}.${e}`,r)};function ya(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new it;++e<n;)this.add(t[e])}function wa(t,e){for(var n=-1,r=null==t?0:t.length;++n<r;)if(e(t[n],n,t))return!0;return!1}function Ba(t,e){return t.has(e)}ya.prototype.add=ya.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},ya.prototype.has=function(t){return this.__data__.has(t)};function Ca(t,e,n,r,i,A){var o=1&n,s=t.length,a=e.length;if(s!=a&&!(o&&a>s))return!1;var c=A.get(t),l=A.get(e);if(c&&l)return c==e&&l==t;var u=-1,h=!0,d=2&n?new ya:void 0;for(A.set(t,e),A.set(e,t);++u<s;){var f=t[u],g=e[u];if(r)var p=o?r(g,f,u,e,t,A):r(f,g,u,t,e,A);if(void 0!==p){if(p)continue;h=!1;break}if(d){if(!wa(e,function(t,e){if(!Ba(d,e)&&(f===t||i(f,t,n,r,A)))return d.push(e)})){h=!1;break}}else if(f!==g&&!i(f,g,n,r,A)){h=!1;break}}return A.delete(t),A.delete(e),h}function xa(t){var e=-1,n=Array(t.size);return t.forEach(function(t,r){n[++e]=[r,t]}),n}function ka(t){var e=-1,n=Array(t.size);return t.forEach(function(t){n[++e]=t}),n}var Sa=y?y.prototype:void 0,va=Sa?Sa.valueOf:void 0;var Da=Object.prototype.hasOwnProperty;var Ea="[object Arguments]",Fa="[object Array]",Qa="[object Object]",Wa=Object.prototype.hasOwnProperty;function Na(t,e,n,r,i,A){var o=p(t),s=p(e),a=o?Fa:ln(t),c=s?Fa:ln(e),l=(a=a==Ea?Qa:a)==Qa,u=(c=c==Ea?Qa:c)==Qa,h=a==c;if(h&&Jt(t)){if(!Jt(e))return!1;o=!0,l=!1}if(h&&!l)return A||(A=new ks),o||zt(t)?Ca(t,e,n,r,i,A):function(t,e,n,r,i,A,o){switch(n){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!A(new qs(t),new qs(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return q(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var s=xa;case"[object Set]":var a=1&r;if(s||(s=ka),t.size!=e.size&&!a)return!1;var c=o.get(t);if(c)return c==e;r|=2,o.set(t,e);var l=Ca(s(t),s(e),r,i,A,o);return o.delete(t),l;case"[object Symbol]":if(va)return va.call(t)==va.call(e)}return!1}(t,e,a,n,r,i,A);if(!(1&n)){var d=l&&Wa.call(t,"__wrapped__"),f=u&&Wa.call(e,"__wrapped__");if(d||f){var g=d?t.value():t,m=f?e.value():e;return A||(A=new ks),i(g,m,n,r,A)}}return!!h&&(A||(A=new ks),function(t,e,n,r,i,A){var o=1&n,s=Xs(t),a=s.length;if(a!=Xs(e).length&&!o)return!1;for(var c=a;c--;){var l=s[c];if(!(o?l in e:Da.call(e,l)))return!1}var u=A.get(t),h=A.get(e);if(u&&h)return u==e&&h==t;var d=!0;A.set(t,e),A.set(e,t);for(var f=o;++c<a;){var g=t[l=s[c]],p=e[l];if(r)var m=o?r(p,g,l,e,t,A):r(g,p,l,t,e,A);if(!(void 0===m?g===p||i(g,p,n,r,A):m)){d=!1;break}f||(f="constructor"==l)}if(d&&!f){var b=t.constructor,I=e.constructor;b==I||!("constructor"in t)||!("constructor"in e)||"function"==typeof b&&b instanceof b&&"function"==typeof I&&I instanceof I||(d=!1)}return A.delete(t),A.delete(e),d}(t,e,n,r,i,A))}function Ka(t,e,n,r,i){return t===e||(null==t||null==e||!D(t)&&!D(e)?t!=t&&e!=e:Na(t,e,n,r,Ka,i))}function Ga(t){return t==t&&!N(t)}function Ya(t,e){return function(n){return null!=n&&(n[t]===e&&(void 0!==e||t in Object(n)))}}function ja(t){var e=function(t){for(var e=oe(t),n=e.length;n--;){var r=e[n],i=t[r];e[n]=[r,i,Ga(i)]}return e}(t);return 1==e.length&&e[0][2]?Ya(e[0][0],e[0][1]):function(n){return n===t||function(t,e,n,r){var i=n.length,A=i,o=!r;if(null==t)return!A;for(t=Object(t);i--;){var s=n[i];if(o&&s[2]?s[1]!==t[s[0]]:!(s[0]in t))return!1}for(;++i<A;){var a=(s=n[i])[0],c=t[a],l=s[1];if(o&&s[2]){if(void 0===c&&!(a in t))return!1}else{var u=new ks;if(r)var h=r(c,l,a,t,e,u);if(!(void 0===h?Ka(l,c,3,r,u):h))return!1}}return!0}(n,t,e)}}function La(t,e){return null!=t&&e in Object(t)}function Ja(t,e){return null!=t&&function(t,e,n){for(var r=-1,i=(e=bt(e,t)).length,A=!1;++r<i;){var o=It(e[r]);if(!(A=null!=t&&n(t,o)))break;t=t[o]}return A||++r!=i?A:!!(i=null==t?0:t.length)&&Zt(i)&&Ht(o,i)&&(p(t)||Gt(t))}(t,e,La)}function Ra(t){return W(t)?un(It(t)):function(t){return function(e){return yt(e,t)}}(t)}function Ha(t){return"function"==typeof t?t:null==t?ce:"object"==typeof t?p(t)?function(t,e){return W(t)&&Ga(e)?Ya(It(t),e):function(n){var r=wt(n,t);return void 0===r&&r===e?Ja(n,t):Ka(e,r,3)}}(t[0],t[1]):ja(t):Ra(t)}function Za(t,e){var n=-1,r=Ae(t)?Array(t.length):[];return ae(t,function(t,i,A){r[++n]=e(t,i,A)}),r}function Oa(t){return!!function(t){return"[object Undefined]"===Object.prototype.toString.call(t)}(t)||(!!function(t){return"[object Null]"===Object.prototype.toString.call(t)}(t)||(!!function(t){if(xt(t)){for(let e in t)return!1;return!0}return!1}(t)||(!!function(t){return!(!Bt(t)||""!==t)}(t)||(!!function(t){return!!fs(t)&&0===t.length}(t)||!!rs(t)))))}function Ma(t){return!!fs(t)&&(0!==t.length&&(1!==t.length||!Oa(t[0])))}async function Ua(t,e={}){let n=wt(e,"linkBlank",null);Dn(n)||(n=!1);let r=wt(e,"tableHorizontalAlignmentCenter",null);Dn(r)||(r=!1);let l=wt(e,"tableBorderColor","");Ct(l)||(l="#666");let u=wt(e,"fontFamilies",[]);var h,d;Ma(u)||(u=["Microsoft JhengHei","Avenir","Helvetica","Arial","sans-serif"]),u=Le((d=t=>`'${t}'`,(p(h=u)?dt:Za)(h,Ha(d))),", ");let f=wt(e,"fontSizeUnit","");Ct(f)||(f="pt");let g=wt(e,"fontSizeScale","");is(g)||(g=1),g=As(g);let m=wt(e,"fontSizeDef","");Ct(m)||(m=12*g+f);let b=wt(e,"fontSizeH1","");Ct(b)||(b=20*g+f);let I=wt(e,"fontSizeH2","");Ct(I)||(I=16*g+f);let y=wt(e,"fontSizeH3","");Ct(y)||(y=14*g+f);let w=wt(e,"fontSizeH4","");Ct(w)||(w=12*g+f);let B=wt(e,"fontSizeH5","");Ct(B)||(B=12*g+f);let C=wt(e,"fontSizeH6","");Ct(C)||(C=12*g+f);let x=wt(e,"fontSizeP","");Ct(x)||(x=12*g+f);let k=wt(e,"fontSizeTab","");Ct(k)||(k=11*g+f);let S=wt(e,"fontSizeCode","");Ct(S)||(S=10*g+f);let v=wt(e,"textAlignH1","");Ct(v)||(v="left");let D=wt(e,"textAlignH2","");Ct(D)||(D="left");let E=wt(e,"textAlignH3","");Ct(E)||(E="left");let F=wt(e,"textAlignH4","");Ct(F)||(F="left");let Q=wt(e,"textAlignH5","");Ct(Q)||(Q="left");let W=wt(e,"textAlignH6","");Ct(W)||(W="left");let N=wt(e,"imgWidthMax",null);is(N)&&(N=`${N}px`),Ct(N)||(N="");let K=wt(e,"funWalkTokens",null),G=wt(e,"mergeStyle",null);Dn(G)||(G=!1);let Y=new i.Marked;Y.use(A({throwOnError:!1,nonStandard:!0})),Y.use(o()),Y.use(a.markedHighlight({langPrefix:"hljs language-",emptyLangClass:"hljs",highlight(t,e){let n=e&&s.getLanguage(e)?e:"plaintext";return s.highlight(t,{language:n}).value}}));let j={async:!0,renderer:{image:({href:t,title:e,text:n})=>{let r=Ct(e)?`title="${e}"`:"",i="";return Ct(N)&&(i=`max-width:${N}; height:auto;`),`<img src="${t}" alt="${n}" ${r} style="${i}">`}}};En(K)&&(j.walkTokens=K),Y.use(j);let L=await Y.parse(t);L=`\n <div class="md" style="contain:layout;">\n ${L}\n </div>\n `;let J=["https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/github.min.css","https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/katex.min.css"],R='\n\n.md {\n font-family: {fontFamilies};\n font-size: {fontSizeDef};\n}\n\n.md table {\n border-collapse: collapse;\n margin: 0;\n padding: 0;\n word-break: initial;\n font-family: {fontFamilies};\n font-size: {fontSizeTab};\n}\n\n.md tr {\n margin: 0;\n padding: 0;\n}\n\n.md table tr th {\n font-weight: bold;\n background: #eee;\n border: 1px solid {tableBorderColor};\n border-bottom: 0;\n margin: 0;\n padding: 6px 13px;\n}\n\n.md table tr td {\n border: 1px solid {tableBorderColor};\n margin: 0;\n padding: 6px 13px;\n}\n\n.md h1 {\n display: block;\n font-size: {fontSizeH1};\n margin: 1rem 0;\n padding: 0;\n font-weight: bold;\n text-align: {textAlignH1};\n}\n\n.md h2 {\n display: block;\n font-size: {fontSizeH2};\n margin: 1rem 0;\n padding: 0;\n font-weight: bold;\n text-align: {textAlignH2};\n}\n\n.md h3 {\n display: block;\n font-size: {fontSizeH3};\n margin: 1rem 0;\n padding: 0;\n font-weight: bold;\n text-align: {textAlignH3};\n}\n\n.md h4 {\n display: block;\n font-size: {fontSizeH4};\n margin: 1rem 0;\n padding: 0;\n font-weight: bold;\n text-align: {textAlignH4};\n}\n\n.md h5 {\n display: block;\n font-size: {fontSizeH5};\n margin: 1rem 0;\n padding: 0;\n font-weight: bold;\n text-align: {textAlignH5};\n}\n\n.md h6 {\n display: block;\n font-size: {fontSizeH6};\n margin: 1rem 0;\n padding: 0;\n font-weight: bold;\n text-align: {textAlignH6};\n}\n\n.md p {\n display: block;\n font-size: {fontSizeP};\n margin: 1rem 0;\n padding: 0;\n} \n\n.md ol {\n display: block;\n list-style-type: decimal;\n margin: 1rem 0;\n padding: 0;\n padding-inline-start: 40px;\n} \n\n.md li {\n display: list-item;\n /* margin: 0.4rem 0; */ /* 須個別元素用style給予才能用於docx */\n padding: 0;\n}\n\n.md blockquote {\n font-style: italic;\n border-left: 5px solid #debc76;\n background: #f9f2e3;\n margin: 1rem 0;\n padding: 0.1rem 1.0rem 0.1rem 1.0rem;\n}\n\n.md pre {\n display: block;\n font-size: {fontSizeCode};\n overflow: auto;\n background: #eee;\n margin: 1rem 0;\n padding: 0;\n}\n.md pre code.hljs {\n background: transparent !important;\n line-height: 1.6 !important;\n}\n\n.md code {\n font-family: Consolas, "Courier New", monospace;\n}\n\n.md a {\n color: #0066cc;\n cursor: pointer;\n}\n\n.md a[data-footnote-ref]::before {\n content: "[";\n}\n.md a[data-footnote-ref]::after {\n content: "]";\n}\n.md sup:has(a[data-footnote-ref]) {\n position: relative;\n vertical-align: baseline; /* 不要推高行距 */\n top: -0.5em; /* 往上移動看起來像上標 */\n line-height: 0; /* 避免影響行距 */\n}\n\n.md hr {\n margin: 2rem 0;\n padding: 0;\n}\n\n.md section {\n margin: 0;\n padding: 0;\n}\n\n ';R=Qn(R,"{fontFamilies}",u),R=Qn(R,"{fontSizeDef}",m),R=Qn(R,"{fontSizeH1}",b),R=Qn(R,"{fontSizeH2}",I),R=Qn(R,"{fontSizeH3}",y),R=Qn(R,"{fontSizeH4}",w),R=Qn(R,"{fontSizeH5}",B),R=Qn(R,"{fontSizeH6}",C),R=Qn(R,"{fontSizeP}",x),R=Qn(R,"{fontSizeTab}",k),R=Qn(R,"{fontSizeCode}",S),R=Qn(R,"{textAlignH1}",v),R=Qn(R,"{textAlignH2}",D),R=Qn(R,"{textAlignH3}",E),R=Qn(R,"{textAlignH4}",F),R=Qn(R,"{textAlignH5}",Q),R=Qn(R,"{textAlignH6}",W),R=Qn(R,"{tableBorderColor}",l);let H=null,Z=null;if("undefined"!=typeof window&&void 0!==window.document)H=c,Z=document;else{let t="jsdom",{JSDOM:e}=await(import(t)),{window:n}=new e("");H=c(n),Z=n.document}L=H.sanitize(L);let O=String.fromCharCode(8203),M=Z.createElement("div");M.innerHTML=L,le(M.querySelectorAll('[style*="display:none"]'),t=>{t.remove()}),le(M.querySelectorAll('div[data-for="br"]'),t=>{""===t.textContent&&(t.textContent=O)}),le(M.querySelectorAll('div[data-for="tab"]'),t=>{let e=t.getAttribute("data-style-th")||"",n=t.getAttribute("data-style-td")||"",r=t.nextElementSibling;for(;r&&"TABLE"!==r.tagName;)r=r.nextElementSibling;if(r){let i=(t,e)=>{if(""===e)return;let n=t.getAttribute("style")||"";""===n||/;\s*$/.test(n)||(n+=";"),t.setAttribute("style",n+e)};""!==e&&le(r.querySelectorAll("th"),t=>{i(t,e)}),""!==n&&le(r.querySelectorAll("td"),t=>{i(t,n)}),le(t.attributes,t=>{let e=t.name.match(/^data-style-(th|td)-(\d+)$/);if(!e)return;let n=t.value||"";if(""===n)return;let A=e[1].toUpperCase(),o=As(e[2]);le(r.querySelectorAll("tr"),t=>{let e=[];le(t.children,t=>{t.tagName===A&&e.push(t)});let r=e[o];r&&i(r,n)})})}t.remove()}),n&&le(M.querySelectorAll("a[href]"),t=>{"#"!==(t.getAttribute("href")||"").slice(0,1)&&(t.setAttribute("target","_blank"),t.setAttribute("rel","noopener noreferrer"))}),r&&le(M.querySelectorAll("table"),t=>{t.style.display="inline-table";let e=Z.createElement("div");e.style.textAlign="center",t.parentNode.insertBefore(e,t),e.appendChild(t)}),L=M.innerHTML;let U={};if(G){let t="\n";le(J,e=>{t+=`<link rel="stylesheet" href="${e}">\n`}),t+=`<style>${R}</style>\n`,t+=L,U={html:t,styleSrcs:[],styleDef:""}}else U={html:L,styleSrcs:J,styleDef:R};return U}async function Ta(e,r,i={}){let A=wt(i,"linkBlank",null);Dn(A)||(A=!0);let o=wt(i,"tableHorizontalAlignmentCenter",null);if(Dn(o)||(o=!0),!St(e))return Promise.reject(`fpIn[${e}] does not exist`);let s=Cs(e=n.resolve(e)),a=wt(i,"htmlTemp",null);Ct(a)||(a='\n<!DOCTYPE html>\n<html>\n<head>\n <meta charset="utf-8" />\n <meta http-equiv="X-UA-Compatible" content="IE=edge" />\n <meta http-equiv="Cache-Control" content="no-siteapp"/>\n <meta name="renderer" content="webkit" />\n <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />\n <title>{title}</title>\n</head>\n<body style="padding:20px; margin:0; overflow-y:auto;">\n {html}\n</body>\n</html>\n');let c=wt(i,"imgConvertToBase64",null);Dn(c)||(c=!0);let l=wt(i,"funProcFpOut"),u=async(t,e)=>{let n=Fe(t,"\n"),r=0,i=[],A={};await gs(n,async t=>{let n=t;if(t.indexOf(`${e}n`)>=0){r++;let i=`${e}${r}`;n=Qn(t,`${e}n`,i);let o=t;o=await async function(t){return Ct(t)?(await ds()).htmlToText(t,{wordwrap:!1,selectors:[{selector:"script",format:"skip"},{selector:"style",format:"skip"}]}):""}(o),o=Qn(o,`${e}n`,""),o=Ye(o),o=`{${o}}`,A[o]=i}i.push(n)});let o=Le(i,"\n");return le(A,(t,e)=>{o=o.replaceAll(e,t)}),o},h=Bs(e),d=Cs(e),f=t.readFileSync(e,"utf8"),g=(t=>{let e=Fe(t,"\n"),n="";return le(e,(t,r)=>{if(t.indexOf(" pretitle ")>=0)return n=wt(e,r+1,""),n=Ye(n),!1}),n})(f);f=await u(f,"圖"),f=await u(f,"表"),f=await(async(t,e)=>{let n=[],r=Fe(e,"\n");return await gs(r,async e=>{e.indexOf('src="')>=0&&(e=await(async e=>{let n=Fe(e,'src="');if(2!==Sn(n))throw new Error("size(s)!==2");let r=n[0],i=Fe(n[1],'"'),A=i[0],o="";if(St(A))o=A;else if(o=`${t}/${A}`,!St(o))throw console.log("c",e),console.log("fnp",A),new Error(`fp[${o}] does not exist`);let s=await Ia(o,"png");return i=Ve(i),r+'src="'+s+'"'+Le(i,'"')})(e)),n.push(e)}),n=Le(n,"\n"),n})(d,f);let p=await Ua(f,{...i,linkBlank:A,tableHorizontalAlignmentCenter:o,funWalkTokens:async t=>{if("image"===t.type&&c)try{let e=n.resolve(s,t.href);St(e)?t.href=await Ia(e,"png"):console.log(`href[${t.href}] does not exist`)}catch(t){console.log(t)}},mergeStyle:!0}),m=a;return m=Qn(m,"{html}",wt(p,"html","")),m=Qn(m,"{title}",h),m=Qn(m,'<h2 id="footnote-label" class="sr-only">Footnotes</h2>','<h2 id="footnote-label" class="sr-only" style="height:0px; line-height:0px; min-height:0px; overflow:hidden;">Footnotes</h2>'),m=m.replaceAll("<li>",'<li style="margin:7px 0;">'),En(l)&&Fn(r=l({fpOut:r,pretitle:g}))&&(r=await r),t.writeFileSync(r,m,"utf8"),"ok"}function Va(t){if(!is(t))return!1;return As(t)>0}var Pa="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function Xa(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function za(t){if(t.__esModule)return t;var e=t.default;if("function"==typeof e){var n=function t(){if(this instanceof t){var n=[null];return n.push.apply(n,arguments),new(Function.bind.apply(e,n))}return e.apply(this,arguments)};n.prototype=e.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(t).forEach(function(e){var r=Object.getOwnPropertyDescriptor(t,e);Object.defineProperty(n,e,r.get?r:{enumerable:!0,get:function(){return t[e]}})}),n}var _a={exports:{}};var qa,$a={exports:{}},tc=za(Object.freeze({__proto__:null,default:{}}));function ec(){return qa||(qa=1,function(t){var e;t.exports=(e=e||function(t,e){var n;if("undefined"!=typeof window&&window.crypto&&(n=window.crypto),"undefined"!=typeof self&&self.crypto&&(n=self.crypto),"undefined"!=typeof globalThis&&globalThis.crypto&&(n=globalThis.crypto),!n&&"undefined"!=typeof window&&window.msCrypto&&(n=window.msCrypto),!n&&void 0!==Pa&&Pa.crypto&&(n=Pa.crypto),!n)try{n=tc}catch(t){}var r=function(){if(n){if("function"==typeof n.getRandomValues)try{return n.getRandomValues(new Uint32Array(1))[0]}catch(t){}if("function"==typeof n.randomBytes)try{return n.randomBytes(4).readInt32LE()}catch(t){}}throw new Error("Native crypto module could not be used to get secure random number.")},i=Object.create||function(){function t(){}return function(e){var n;return t.prototype=e,n=new t,t.prototype=null,n}}(),A={},o=A.lib={},s=o.Base={extend:function(t){var e=i(this);return t&&e.mixIn(t),e.hasOwnProperty("init")&&this.init!==e.init||(e.init=function(){e.$super.init.apply(this,arguments)}),e.init.prototype=e,e.$super=this,e},create:function(){var t=this.extend();return t.init.apply(t,arguments),t},init:function(){},mixIn:function(t){for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e]);t.hasOwnProperty("toString")&&(this.toString=t.toString)},clone:function(){return this.init.prototype.extend(this)}},a=o.WordArray=s.extend({init:function(t,n){t=this.words=t||[],this.sigBytes=n!=e?n:4*t.length},toString:function(t){return(t||l).stringify(this)},concat:function(t){var e=this.words,n=t.words,r=this.sigBytes,i=t.sigBytes;if(this.clamp(),r%4)for(var A=0;A<i;A++){var o=n[A>>>2]>>>24-A%4*8&255;e[r+A>>>2]|=o<<24-(r+A)%4*8}else for(var s=0;s<i;s+=4)e[r+s>>>2]=n[s>>>2];return this.sigBytes+=i,this},clamp:function(){var e=this.words,n=this.sigBytes;e[n>>>2]&=4294967295<<32-n%4*8,e.length=t.ceil(n/4)},clone:function(){var t=s.clone.call(this);return t.words=this.words.slice(0),t},random:function(t){for(var e=[],n=0;n<t;n+=4)e.push(r());return new a.init(e,t)}}),c=A.enc={},l=c.Hex={stringify:function(t){for(var e=t.words,n=t.sigBytes,r=[],i=0;i<n;i++){var A=e[i>>>2]>>>24-i%4*8&255;r.push((A>>>4).toString(16)),r.push((15&A).toString(16))}return r.join("")},parse:function(t){for(var e=t.length,n=[],r=0;r<e;r+=2)n[r>>>3]|=parseInt(t.substr(r,2),16)<<24-r%8*4;return new a.init(n,e/2)}},u=c.Latin1={stringify:function(t){for(var e=t.words,n=t.sigBytes,r=[],i=0;i<n;i++){var A=e[i>>>2]>>>24-i%4*8&255;r.push(String.fromCharCode(A))}return r.join("")},parse:function(t){for(var e=t.length,n=[],r=0;r<e;r++)n[r>>>2]|=(255&t.charCodeAt(r))<<24-r%4*8;return new a.init(n,e)}},h=c.Utf8={stringify:function(t){try{return decodeURIComponent(escape(u.stringify(t)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(t){return u.parse(unescape(encodeURIComponent(t)))}},d=o.BufferedBlockAlgorithm=s.extend({reset:function(){this._data=new a.init,this._nDataBytes=0},_append:function(t){"string"==typeof t&&(t=h.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes},_process:function(e){var n,r=this._data,i=r.words,A=r.sigBytes,o=this.blockSize,s=A/(4*o),c=(s=e?t.ceil(s):t.max((0|s)-this._minBufferSize,0))*o,l=t.min(4*c,A);if(c){for(var u=0;u<c;u+=o)this._doProcessBlock(i,u);n=i.splice(0,c),r.sigBytes-=l}return new a.init(n,l)},clone:function(){var t=s.clone.call(this);return t._data=this._data.clone(),t},_minBufferSize:0});o.Hasher=d.extend({cfg:s.extend(),init:function(t){this.cfg=this.cfg.extend(t),this.reset()},reset:function(){d.reset.call(this),this._doReset()},update:function(t){return this._append(t),this._process(),this},finalize:function(t){return t&&this._append(t),this._doFinalize()},blockSize:16,_createHelper:function(t){return function(e,n){return new t.init(n).finalize(e)}},_createHmacHelper:function(t){return function(e,n){return new f.HMAC.init(t,n).finalize(e)}}});var f=A.algo={};return A}(Math),e)}($a)),$a.exports}!function(t){t.exports=ec().enc.Utf8}(_a);var nc=Xa(_a.exports),rc={exports:{}};!function(t){var e;t.exports=(e=ec(),function(){var t=e,n=t.lib.WordArray;function r(t,e,r){for(var i=[],A=0,o=0;o<e;o++)if(o%4){var s=r[t.charCodeAt(o-1)]<<o%4*2|r[t.charCodeAt(o)]>>>6-o%4*2;i[A>>>2]|=s<<24-A%4*8,A++}return n.create(i,A)}t.enc.Base64={stringify:function(t){var e=t.words,n=t.sigBytes,r=this._map;t.clamp();for(var i=[],A=0;A<n;A+=3)for(var o=(e[A>>>2]>>>24-A%4*8&255)<<16|(e[A+1>>>2]>>>24-(A+1)%4*8&255)<<8|e[A+2>>>2]>>>24-(A+2)%4*8&255,s=0;s<4&&A+.75*s<n;s++)i.push(r.charAt(o>>>6*(3-s)&63));var a=r.charAt(64);if(a)for(;i.length%4;)i.push(a);return i.join("")},parse:function(t){var e=t.length,n=this._map,i=this._reverseMap;if(!i){i=this._reverseMap=[];for(var A=0;A<n.length;A++)i[n.charCodeAt(A)]=A}var o=n.charAt(64);if(o){var s=t.indexOf(o);-1!==s&&(e=s)}return r(t,e,i)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),e.enc.Base64)}(rc);var ic=Xa(rc.exports);function Ac(t,e){return Ka(t,e)}var oc=u,sc=oc.spawn,ac=oc.exec;function cc(t,e,n){var r={};try{Object.keys(t).forEach(function(n){t[n].forEach(function(t){r[t]||(lc(t,e),r[t]=1)}),r[n]||(lc(n,e),r[n]=1)})}catch(t){if(n)return n(t);throw t}if(n)return n()}function lc(t,e){try{process.kill(parseInt(t,10),e)}catch(t){if("ESRCH"!==t.code)throw t}}function uc(t,e,n,r,i){var A=r(t),o="";A.stdout.on("data",function(t){t=t.toString("ascii");o+=t});A.on("close",function(A){delete n[t],0==A?o.match(/\d+/g).forEach(function(A){A=parseInt(A,10),e[t].push(A),e[A]=[],n[A]=1,uc(A,e,n,r,i)}):0==Object.keys(n).length&&i()})}var hc=Xa(function(t,e,n){if("function"==typeof e&&void 0===n&&(n=e,e=void 0),t=parseInt(t),Number.isNaN(t)){if(n)return n(new Error("pid must be a number"));throw new Error("pid must be a number")}var r={},i={};switch(r[t]=[],i[t]=1,process.platform){case"win32":ac("taskkill /pid "+t+" /T /F",n);break;case"darwin":uc(t,r,i,function(t){return sc("pgrep",["-P",t])},function(){cc(r,e,n)});break;default:uc(t,r,i,function(t){return sc("ps",["-o","pid","--no-headers","--ppid",t])},function(){cc(r,e,n)})}});function dc(t,e,n={}){if(!Ma(e)&&!Ct(e))throw new Error("args is not an effective array or string");Ct(e)&&(e=[e]);let r=wt(n,"mode");"spawn"!==r&&"exec"!==r&&"execFile"!==r&&(r="spawn");let i=wt(n,"cbStdout"),A=wt(n,"cbStderr"),o=wt(n,"codeCmd");Ct(o)||(o="utf8");let s=wt(n,"useChcp");Dn(s)||(s=!1);let a=wt(n,"timeout");a=!is(a)||a<=0?null:Math.min(a,es);let c=ns();if(!function(t,e){function n(t){return fs(t)?t:[t]}if(Oa(t))return!1;if(0===(t=n(t)).length)return!1;if(Oa(t))return!1;if(0===(e=n(e)).length)return!1;for(let n=0;n<t.length;n++)for(let r=0;r<e.length;r++)if(Ac(t[n],e[r]))return!0;return!1}(r,["spawn","exec","execFile"]))return c.reject(`invalid mode[${r}]`),c;let l=null,h="";try{if("spawn"===r){let n=bs(t,1),r=ms(t,1);if('"'===n||'"'===r||"'"===n||"'"===r)throw new Error("prog of spawn doens not need to add quotes");l=u.spawn(t,e,{windowsHide:!0,shell:!1})}else if("exec"===r){let n="";s&&(n="cmd /c chcp 65001>nul &&"),l=u.exec(`${n} ${t} ${e.join(" ")} & exit`,{windowsHide:!0,encoding:o})}else"execFile"===r&&(l=u.execFile(t,e,{windowsHide:!0,encoding:o}))}catch(t){return c.reject(t),c}l.stdout.on("data",t=>{let e="";e="spawn"===r?t.toString(o):t.toString(),h+=e+"\n",En(i)&&i(e)}),l.stderr.on("data",t=>{let e="";e="spawn"===r?t.toString(o):t.toString(),h+=e+"\n",En(A)&&A(e)});let d=null,f=!1;return null!==a&&(d=setTimeout(()=>{f=!0,l&&l.pid&&function(t){let e=ns();return hc(Number(t),"SIGKILL",n=>{n?e.reject(n):e.resolve(`pid[${t}] killed`)}),e}(l.pid).catch(()=>{})},a)),l.on("close",t=>{null!==d&&clearTimeout(d),f?c.reject(`timeout[${a}ms]:\n${h}`):0!==t?c.reject(`code[${t}]:\n${h}`):c.resolve(h)}),l.on("error",t=>{null!==d&&clearTimeout(d),c.reject(t)}),c}function fc(t,e={}){let n=wt(e,"fs");if(!kt(t,{fs:n}))return!1;let r=n.lstatSync(t);return!r.isFile()&&!r.isSymbolicLink()}function gc(e){return fc(e,{fs:t})}async function pc(t,e,n={}){let r="",i=wt(n,"fs"),A=wt(n,"Readable");if(!Ct(t))throw new Error("urlIn in not an effective string");let o=Cs(e),s=wt(n,"fnOut","");Ct(s)||(s=ws(e)),fc(o,{fs:i})||function(t,e={}){let n=wt(e,"fs");if(fc(t,{fs:n}))return{success:"input folder is already exists: "+t};if(kt(t,{fs:n}))return{error:"input path already exists: "+t};try{n.mkdirSync(t,{recursive:!0})}catch(t){return{error:t}}}(o,{fs:i});let a=ns();try{let n=await fetch(t);if(!n.ok)return a.reject(n.statusText),a;let o=i.createWriteStream(e);A.fromWeb(n.body).pipe(o),o.on("finish",()=>{a.resolve(e)}),o.on("error",t=>{r=t.message,a.reject(r)})}catch(t){r=t.message,a.reject(r)}return a}async function mc(e){let n="https://github.com/yuda-lyu/w-html2docx/raw/refs/heads/master/src/htmlToDocx.exe",r=`${e}htmlToDocx.exe`;console.log(`downloading url[${n}]...`,`to fp[${r}]`),await async function(e,n){return pc(e,n,{fs:t,Readable:h.Readable})}(n,r)}let bc="htmlToDocx.exe",Ic=null;let yc=n.resolve();async function wc(t,e,r={}){let i=null;if("win32"!==l.platform)return Promise.reject("operating system is not windows");if(!St(t))return Promise.reject(`fpInHtml[${t}] does not exist`);let A=wt(r,"fontFamilies");Ct(A)&&(A=[A]),Ma(A)||(A=["標楷體","Times New Roman"]);let o=wt(r,"imgRatioWidthMax");Va(o)||(o=1),o=As(o);let s=wt(r,"imgRatioHeightMax");Va(s)||(s=1),s=As(s);let a=wt(r,"fpInTemp");if(!Ct(a)){let t="tmp.docx";{let e=`${yc}/src/${t}`,n=`${yc}/node_modules/w-html2docx/src/${t}`;if(St(e))a=e;else{if(!St(n))return Promise.reject(`can not find folder for ${t}`);a=n}}}t=n.resolve(t),a=n.resolve(a),e=n.resolve(e);let{fpExe:c}=await async function(){let t=n.resolve(),e=`${t}/src/`,r=`${t}/node_modules/w-html2docx/src/`,i="";if(St(`${e}${bc}`))i=e;else if(St(`${r}${bc}`))i=r;else{let n=gc(`${t}/node_modules/w-html2docx/`)?r:e;null===Ic&&(Ic=mc(n).catch(t=>(Ic=null,Promise.reject(t)))),await Ic,St(`${n}${bc}`)&&(i=n)}return""===i?Promise.reject("can not find htmlToDocx.exe"):{fpExe:n.resolve(i,bc)}}(),u=c,h={fpInSrc:t,fpInTemp:a,fpOut:e,fontFamilies:["標楷體","Times New Roman"],imgRatioWidthMax:o,imgRatioHeightMax:s},d=function(t,e={}){let n=wt(e,"returnWithStateAndMsg",null);Dn(n)||(n=!1);let r=t=>n?{state:"error",msg:t}:"";if(!Ct(t))return r("invalid str");let i="";try{let e=nc.parse(t);i=ic.stringify(e)}catch(t){return r(t.toString())}return n?{state:"success",msg:i}:i}(JSON.stringify(h));return await dc(u,d).catch(t=>{console.log("execProcess catch",t),i=t.toString()}),i?Promise.reject(i):"ok"}function Bc(t){if(Bt(t))return t;if(Ct(wt(t,"message")))return t.message;let e="";try{e=JSON.stringify(t)}catch(t){e=""}return Bt(e)||(e=String(t)),e}async function Cc(t,e={}){if(!En(t))return Promise.reject("fun must be a function");let n=wt(e,"tries",null);hs(n)||(n=6),n=us(n);let r=wt(e,"delayMs",null);Va(r)||(r=400),r=As(r);let i=null;for(let e=0;e<n;e++)try{return await t()}catch(t){i=t;let A=wt(t,"code","");if(("EBUSY"===A||"EPERM"===A)&&e<n-1){await new Promise(t=>setTimeout(t,r));continue}throw t}throw i}let xc=Promise.resolve(),kc=0;function Sc(){let t=n.resolve(),e=[n.resolve(t,"src/htmlToDocx.exe"),n.resolve(t,"node_modules/w-html2docx/src/htmlToDocx.exe")];for(let t of e)if(St(t))return t;return""}function vc(t,e){let r="";if(Bt(e)&&(r=e.trim().replace(/\\/g,"/")),""===r)throw new Error("asset.path is empty");let i=r;try{i=decodeURIComponent(r)}catch(t){i=r}return(r===i?[r]:[r,i]).map(r=>function(t,e,r){if(/^[a-zA-Z]:/.test(e)||e.startsWith("/")||e.startsWith("//"))throw new Error(`asset.path must be a relative path: ${r}`);let i=n.resolve(t,e),A=n.resolve(t)+n.sep;if(!i.startsWith(A))throw new Error(`asset.path is outside the working folder: ${r}`);return i}(t,r,e))}function Dc(e,r={}){if(!Ct(e))return 0;let i=wt(r,"msAge",null);if(Va(i)||(i=216e5),i=As(i),!gc(e))return t.mkdirSync(e,{recursive:!0}),0;let A=0,o=Date.now();for(let r of t.readdirSync(e)){if(!r.startsWith("job_"))continue;let s=n.resolve(e,r);try{o-t.statSync(s).mtimeMs>i&&(t.rmSync(s,{recursive:!0,force:!0}),A++)}catch(t){}}return A}function Ec(t){if(!Bt(t))return Bc(t);let e=t.match(/job_[^\\/]+[\\/](.+?)\]/);return/does not exist/i.test(t)&&e?`Failed to convert md to html: the referenced file (${e[1].replace(/\\/g,"/")}) does not exist, please make sure it is included in assets`:t}async function Fc(r,i,A={}){let o=Date.now();if(!Ct(r))return Promise.reject("fpInMd must be a non-empty string");if(!St(r=n.resolve(r)))return Promise.reject(`fpInMd[${r}] does not exist`);if(!Ct(i))return Promise.reject("fpOutDocx must be a non-empty string");i=n.resolve(i);let s=wt(A,"fpOutHtml",""),a=Ct(s);s=a?n.resolve(s):n.join(e.tmpdir(),`wmd2docx_${process.pid}_${Date.now()}_${Math.random().toString(36).slice(2,8)}.html`);let c=wt(A,"optMd2html",{});xt(c)||(c={});let l=wt(A,"optHtml2docx",{});xt(l)||(l={}),l={...l};let u=wt(A,"fpInTemp","");if(Ct(u)){if(u=n.resolve(u),!St(u))return Promise.reject(`fpInTemp[${u}] does not exist`);l.fpInTemp=u}try{t.mkdirSync(n.dirname(s),{recursive:!0});let e=null;if(await Cc(()=>Ta(r,s,c)).catch(t=>{e=Bc(t)}),null!==e)return Promise.reject(`Failed to convert md to html: ${e}`);if(!St(s)||0===t.statSync(s).size)return Promise.reject("Failed to convert md to html: html was not generated or is empty");let A=t.statSync(s).size;if(""===Sc())return Promise.reject(`htmlToDocx.exe not found (cwd=${n.resolve()}), please run from the folder that contains node_modules/w-html2docx`);t.mkdirSync(n.dirname(i),{recursive:!0});let u=null;if(await function(t){if(!En(t))return Promise.reject("fun must be a function");kc++;let e=xc.then(t,t);return xc=e.then(()=>{kc--},()=>{kc--}),e}(()=>Cc(()=>wc(s,i,l))).catch(t=>{u=Bc(t)}),null!==u)return Promise.reject(`Failed to convert html to docx: ${u}`);if(!St(i)||0===t.statSync(i).size)return Promise.reject("docx was not generated: please make sure Microsoft Word is installed and no stale WINWORD process is locking the files");let h=t.statSync(i).size,d={fpOutDocx:i,sizeDocx:h,sizeHtml:A,ms:Date.now()-o};return a&&(d.fpOutHtml=s),d}finally{if(!a&&St(s))try{t.unlinkSync(s)}catch(t){}}}async function Qc(r={}){let i=Date.now(),A=wt(r,"out","");"html"!==A&&"docx"!==A&&"both"!==A&&(A="docx");let o="html"===A||"both"===A,s="docx"===A||"both"===A,a="",c=wt(r,"md",""),l=wt(r,"mdBase64","");if(Ct(c)?a=c:Ct(l)&&(a=Buffer.from(l,"base64").toString("utf8")),""===a.trim())return Promise.reject("md is empty: md (string) or mdBase64 is required");let u=function(t){let e="";return Bt(t)&&(e=t.trim()),""===e?"output":(e=n.basename(e),e=e.replace(/\.(md|markdown|html|htm|docx)$/i,""),e=e.replace(/[\\/:*?"<>|\r\n\t]/g,"_"),e=e.replace(/^\.+/,""),e=e.trim(),""===e?"output":e.slice(0,120))}(wt(r,"name","")),h=wt(r,"assets",[]);fs(h)||(h=[]);let d=wt(r,"dirWork","");Ct(d)||(d=n.join(e.tmpdir(),"w-md2docx")),d=n.resolve(d);let f=wt(r,"fpInTemp","");Ct(f)||(f="");let g=wt(r,"optMd2html",{});xt(g)||(g={});let p=wt(r,"optHtml2docx",{});xt(p)||(p={});let m=wt(r,"keepWork",!1);Dn(m)||(m=!1);let b=`${Date.now()}_${Math.random().toString(36).slice(2,8)}`,I=n.resolve(d,`job_${b}`);t.mkdirSync(I,{recursive:!0});let y={name:u,out:A,ms:0,nAssets:0};try{let e=n.resolve(I,`${u}.md`);t.writeFileSync(e,a,"utf8");try{y.nAssets=function(e,r){let i=0;if(!fs(r))return i;for(let A of r){let r=wt(A,"path",""),o=vc(e,r),s=wt(A,"base64","");if(Ct(s)||(s=wt(A,"contentBase64","")),!Ct(s))throw new Error(`asset.base64 is empty: ${r}`);s=s.replace(/^data:[^;]+;base64,/,"");let a=Buffer.from(s,"base64");for(let e of o)t.mkdirSync(n.dirname(e),{recursive:!0}),t.writeFileSync(e,a);i++}return i}(I,h)}catch(t){return Promise.reject(Bc(t))}let r=n.resolve(I,`${u}.html`);if(s){let i=n.resolve(I,`${u}.docx`),A=null,o=await Fc(e,i,{fpInTemp:f,fpOutHtml:r,optMd2html:g,optHtml2docx:p}).catch(t=>{A=Ec(Bc(t))});if(null!==A)return Promise.reject(A);let s=t.readFileSync(i);y.docx={fileName:`${u}.docx`,mime:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",size:s.length,base64:s.toString("base64")},y.msDocx=wt(o,"ms",0)}else{let n=null;if(await Cc(()=>Ta(e,r,g)).catch(t=>{n=Bc(t)}),null!==n)return Promise.reject(Ec(`Failed to convert md to html: ${n}`));if(!St(r)||0===t.statSync(r).size)return Promise.reject("Failed to convert md to html: html was not generated or is empty")}if(o){let e=t.readFileSync(r);y.html={fileName:`${u}.html`,mime:"text/html; charset=utf-8",size:e.length,base64:e.toString("base64")}}return y.ms=Date.now()-i,y}finally{if(!m)try{t.rmSync(I,{recursive:!0,force:!0})}catch(t){}}}let Wc=n.dirname(d.fileURLToPath("undefined"==typeof document&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:"undefined"==typeof document?location.href:g&&"SCRIPT"===g.tagName.toUpperCase()&&g.src||new URL("w-md2docx.umd.js",document.baseURI).href));function Nc(t){let e=wt(t,"url","");if(Ct(e))return e.trim().replace(/\/+$/,"");let n=wt(t,"host","");Ct(n)||(n=wt(process,"env.WMD2DOCX_HOST","")),Ct(n)||(n="127.0.0.1"),n=n.trim();let r=wt(t,"port",null);return hs(r)||(r=wt(process,"env.WMD2DOCX_PORT",null)),hs(r)||(r=22e3),r=us(r),`http://${n}:${r}`}function Kc(t){return Ct(t)||(t=wt(process,"env.WMD2DOCX_TOKEN","")),Ct(t)||(t=""),t}function Gc(t){let e=new Set;if(!Bt(t))return[];let n=t=>{if(!Bt(t))return;let n=t.trim().replace(/^<|>$/g,"");""!==n&&(/^(https?:)?\/\//i.test(n)||/^data:/i.test(n)||/^mailto:/i.test(n)||/^#/.test(n)||/^[a-zA-Z]:/.test(n)||n.startsWith("/")||(n=n.split("#")[0].split("?")[0],""!==n&&e.add(n)))};for(let e of t.matchAll(/<img[^>]*?\ssrc\s*=\s*["']([^"']+)["']/gi))n(e[1]);for(let e of t.matchAll(/!\[[^\]]*\]\(\s*([^)\s]+)/g))n(e[1]);return[...e]}function Yc(e,r){let i=[],A=[];Ct(r)||(r=".");for(let o of Gc(e)){let e=[o];try{let t=decodeURIComponent(o);t!==o&&e.push(t)}catch(t){}let s="";for(let t of e){let e=n.resolve(r,t);if(St(e)){s=e;break}}""!==s?i.push({path:o,base64:t.readFileSync(s).toString("base64")}):A.push(o)}return{assets:i,missing:A}}let jc={cvMdTo:async function(e={}){let r=Nc(e),i=wt(e,"fpInMd","");if(!Ct(i))return Promise.reject("fpInMd must be a non-empty string");if(i=n.resolve(i),!St(i))return Promise.reject(`fpInMd[${i}] does not exist`);let A=wt(e,"fpOutDocx","");A=Ct(A)?n.resolve(A):"";let o=wt(e,"fpOutHtml","");o=Ct(o)?n.resolve(o):"",""===A&&""===o&&(A=n.resolve(n.dirname(i),`${n.basename(i).replace(/\.md$/i,"")}.docx`));let s="docx";""!==A&&""!==o?s="both":""!==o&&(s="html");let a=wt(e,"allowMissingAssets",!1);Dn(a)||(a=!1);let c=t.readFileSync(i,"utf8"),l=n.dirname(i),{assets:u,missing:h}=Yc(c,l);if(h.length>0&&!a)return Promise.reject(`${h.length} asset file(s) referenced in md do not exist: ${h.join(", ")}. Set allowMissingAssets:true to skip this check`);let d=wt(e,"name","");Ct(d)||(d=n.basename(i).replace(/\.md$/i,""));let f={md:c,name:d,out:s,assets:u},g=wt(e,"optMd2html",null);xt(g)&&(f.optMd2html=g);let p=wt(e,"optHtml2docx",null);xt(p)&&(f.optHtml2docx=p);let m=wt(e,"templateName","");Ct(m)&&(f.templateName=m.trim());let b=wt(e,"fpInTemp","");if(Ct(b)){if(b=n.resolve(b),!St(b))return Promise.reject(`fpInTemp[${b}] does not exist`);f.templateBase64=t.readFileSync(b).toString("base64")}let I={"content-type":"application/json"},y=Kc(wt(e,"token",""));""!==y&&(I["x-api-token"]=y);let w=wt(e,"timeoutMs",null);Va(w)||(w=6e5),w=As(w);let B=wt(e,"retries",null);ps(B)||(B=3),B=us(B);let C=JSON.stringify(f),x=null,k="";for(let t=0;t<=B;t++){if(t>0){let e=[0,3e3,8e3,15e3][t]||15e3;console.log(`connection failed, retrying in ${e/1e3}s (${t}/${B}): ${k}`),await new Promise(t=>setTimeout(t,e))}try{x=await fetch(`${r}/api/convert`,{method:"POST",headers:I,body:C,signal:AbortSignal.timeout(w)}),k="";break}catch(t){let e=wt(t,"name","");if(k=Bc(t)||"unknown error","TimeoutError"===e||"AbortError"===e)return Promise.reject(`Conversion timed out (no response within ${w} ms): ${r}`)}}if(""!==k)return Promise.reject(`Unable to connect to the conversion service ${r} (retried ${B} times): ${k}`);let S=await x.json().catch(()=>null);if(!x.ok||!xt(S)||!0!==S.success){let t=wt(S,"error","");return Ct(t)||(t=`HTTP ${x.status}`),Promise.reject(`Conversion failed: ${t}`)}let v={ms:S.ms,nAssets:S.nAssets,template:S.template},D=(e,r,i)=>{if(""===e)return"";let A=wt(r,"base64","");if(!Ct(A))return`the service did not return ${i}`;t.mkdirSync(n.dirname(e),{recursive:!0}),t.writeFileSync(e,Buffer.from(A,"base64"));let o=t.statSync(e).size;return 0===o?`${i} is empty after being written: ${e}`:(v[i]={fp:e,size:o},"")},E=D(o,S.html,"html");return""!==E?Promise.reject(E):(E=D(A,S.docx,"docx"),""!==E?Promise.reject(E):v)},health:async function(t={}){let e=Nc(t),n={},r=Kc(wt(t,"token",""));""!==r&&(n["x-api-token"]=r);let i=wt(t,"timeoutMs",null);Va(i)||(i=2e4),i=As(i);let A=null;try{A=await fetch(`${e}/api/health`,{headers:n,signal:AbortSignal.timeout(i)})}catch(t){return Promise.reject(`Unable to connect to the conversion service ${e}: ${Bc(t)}`)}let o=await A.json().catch(()=>null);return xt(o)?o:Promise.reject(`Invalid response from the conversion service ${e}: HTTP ${A.status}`)},scanAssetPaths:Gc,readAssets:Yc},Lc={cvMdToDocx:Fc,cvMdTo:Qc,rmApiServer:async function(r={}){let i=wt(r,"port",null);ps(i)||(i=22e3),i=us(i);let A=wt(r,"host","");Ct(A)||(A="0.0.0.0"),A=A.trim();let o=wt(r,"token","");Bt(o)||(o=""),o=o.trim();let s=wt(r,"maxMb",null);Va(s)||(s=256),s=As(s);let a=Math.round(1024*s*1024),c=wt(r,"dirTemplates","");Ct(c)||(c=n.resolve(Wc,"templates")),c=n.resolve(c);let l=wt(r,"dirWork","");Ct(l)||(l=n.join(e.tmpdir(),"w-md2docx")),l=n.resolve(l);let h=wt(r,"templateDef","");Ct(h)||(h="temp_tpc.docx"),h=h.trim();let d=wt(r,"autoStart",!0);Dn(d)||(d=!0);let g=()=>gc(c)?t.readdirSync(c).filter(t=>/\.docx$/i.test(t)):[],p=()=>{let t=n.resolve(c,n.basename(h));return St(t)?t:""},m=async()=>{let t=function(){let t=Sc();return{platform:process.platform,isWindows:"win32"===process.platform,cwd:n.resolve(),exePath:t,exeFound:""!==t,ready:"win32"===process.platform&&""!==t}}(),e=await new Promise(t=>{"win32"===process.platform?u.execFile("tasklist",["/FI","IMAGENAME eq WINWORD.EXE","/NH"],{windowsHide:!0,timeout:8e3},(e,n)=>{if(e)return void t(-1);let r=(String(n).match(/WINWORD\.EXE/gi)||[]).length;t(r)}):t(-1)});return{platform:t.platform,node:process.version,cwd:t.cwd,exeFound:t.exeFound,exePath:t.exePath,docxReady:t.ready,templateDefault:p(),templates:g(),dirTemplates:c,dirWork:l,queue:kc,winwordProcesses:e,maxBytes:a,tokenRequired:""!==o}},b=async e=>{let r=(e=>{let r=wt(e,"templateBase64","");if(Ct(r)||(r=wt(e,"template.base64","")),Ct(r)){r=r.replace(/^data:[^;]+;base64,/,""),t.mkdirSync(l,{recursive:!0});let e=n.resolve(l,`tmpl_${Date.now()}_${Math.random().toString(36).slice(2,8)}.docx`);return t.writeFileSync(e,Buffer.from(r,"base64")),{fpInTemp:e,from:"request",fpTmpDel:e}}let i=wt(e,"templateName","");if(i=Ct(i)?i.trim():"",""!==i){let t=n.resolve(c,n.basename(i));if(!St(t))throw new Error(`templateName[${i}] does not exist (available templates: ${g().join(", ")||"none"})`);return{fpInTemp:t,from:"server",fpTmpDel:""}}let A=p();return""!==A?{fpInTemp:A,from:"default",fpTmpDel:""}:{fpInTemp:"",from:"none",fpTmpDel:""}})(e);try{let t=wt(e,"keepTmp",!1),n=wt(e,"keepWork",!1);return{success:!0,...await Qc({md:wt(e,"md",""),mdBase64:wt(e,"mdBase64",""),name:wt(e,"name",""),out:wt(e,"out",""),assets:wt(e,"assets",[]),dirWork:l,fpInTemp:r.fpInTemp,optMd2html:wt(e,"optMd2html",{}),optHtml2docx:wt(e,"optHtml2docx",{}),keepWork:!0===t||"true"===t||!0===n||"true"===n}),template:r.from}}finally{if(""!==r.fpTmpDel&&St(r.fpTmpDel))try{t.unlinkSync(r.fpTmpDel)}catch(t){}}},I=Dc(l),y=f.server({port:i,host:A,routes:{cors:!0,payload:{maxBytes:a}}});y.ext("onRequest",(t,e)=>{if(""===o)return e.continue;if(!t.path.startsWith("/api/"))return e.continue;return wt(t,"headers.x-api-token","")!==o?e.response({success:!1,error:"unauthorized: a valid x-api-token header is required"}).code(401).takeover():e.continue}),y.route([{method:"GET",path:"/",handler:()=>({service:"w-md2docx",description:"API service for converting Markdown to HTML/DOCX",endpoints:{"GET /api/health":"health check and environment state","GET /api/selftest":"run a minimal conversion to verify that Microsoft Word is available","POST /api/convert":"main conversion endpoint (JSON)"}})},{method:"GET",path:"/api/health",handler:async()=>({success:!0,...await m()})},{method:"GET",path:"/api/selftest",handler:async(t,e)=>{let n=Date.now();try{let t=await b({md:"# selftest\n\nThis file is generated by the self test of the conversion service.\n",name:"selftest",out:"both"});return{success:!0,ms:Date.now()-n,htmlSize:wt(t,"html.size",0),docxSize:wt(t,"docx.size",0),template:t.template}}catch(t){let r=await m();return e.response({success:!1,error:Bc(t),ms:Date.now()-n,env:r}).code(500)}}},{method:"POST",path:"/api/convert",options:{payload:{maxBytes:a,parse:!0,allow:"application/json",timeout:!1},timeout:{socket:!1}},handler:async(t,e)=>{let n=t.payload;if(!xt(n))return e.response({success:!1,error:"parameters must be provided as a JSON object"}).code(400);let r=wt(t,"query.download",""),i="1"===r||"true"===r;if(i&&"both"===wt(n,"out",""))return e.response({success:!1,error:"download only supports out of html or docx (single format)"}).code(400);try{let t=await b(n);if(i){let n=null;return"docx"===t.out&&xt(t.docx)?n=t.docx:"html"===t.out&&xt(t.html)&&(n=t.html),null===n?e.response({success:!1,error:"download only supports out of html or docx (single format)"}).code(400):e.response(Buffer.from(n.base64,"base64")).type(n.mime).header("content-disposition",`attachment; filename="${(A=n.fileName).replace(/[^\x20-\x7E]/g,"_").replace(/"/g,"")}"; filename*=UTF-8''${encodeURIComponent(A)}`)}return t}catch(t){let n=Bc(t),r=function(t){return/^(md is empty|asset|templateName)/.test(t)}(n)?400:500;return e.response({success:!1,error:n}).code(r)}var A}}]),d&&await y.start();let w=setInterval(()=>{Dc(l)},36e5);return w.unref(),{server:y,getState:m,stop:async()=>{clearInterval(w),await y.stop()},settings:{port:i,host:A,token:o,maxMb:s,maxBytes:a,dirTemplates:c,dirWork:l,templateDef:h,nClean:I}}},rmApiClient:jc};return Lc});
|
|
6
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("fs"),require("os"),require("path"),require("sharp"),require("marked"),require("marked-katex-extension"),require("marked-footnote"),require("highlight.js"),require("marked-highlight"),require("dompurify"),require("process"),require("child_process"),require("stream"),require("stream/promises"),require("url"),require("@hapi/hapi")):"function"==typeof define&&define.amd?define(["fs","os","path","sharp","marked","marked-katex-extension","marked-footnote","highlight.js","marked-highlight","dompurify","process","child_process","stream","stream/promises","url","@hapi/hapi"],t):(e="undefined"!=typeof globalThis?globalThis:e||self)["w-md2docx"]=t(e.fs,e.os,e.path,e.sharp,e.marked,e["marked-katex-extension"],e["marked-footnote"],e.highlight.js,e["marked-highlight"],e.dompurify,e.process,e.child_process,e.stream,e.promises,e.url,e["@hapi/hapi"])}(this,function(e,t,n,r,i,o,A,s,a,c,l,u,h,d,f,g){"use strict";var p="undefined"!=typeof document?document.currentScript:null,m=Array.isArray,b="object"==typeof global&&global&&global.Object===Object&&global,y="object"==typeof self&&self&&self.Object===Object&&self,I=b||y||Function("return this")(),w=I.Symbol,B=Object.prototype,C=B.hasOwnProperty,x=B.toString,k=w?w.toStringTag:void 0;var S=Object.prototype.toString;var v=w?w.toStringTag:void 0;function D(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":v&&v in Object(e)?function(e){var t=C.call(e,k),n=e[k];try{e[k]=void 0;var r=!0}catch(e){}var i=x.call(e);return r&&(t?e[k]=n:delete e[k]),i}(e):function(e){return S.call(e)}(e)}function E(e){return null!=e&&"object"==typeof e}function F(e){return"symbol"==typeof e||E(e)&&"[object Symbol]"==D(e)}var Q=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,W=/^\w*$/;function N(e,t){if(m(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!F(e))||(W.test(e)||!Q.test(e)||null!=t&&e in Object(t))}function K(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function G(e){if(!K(e))return!1;var t=D(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}var j,Y=I["__core-js_shared__"],L=(j=/[^.]+$/.exec(Y&&Y.keys&&Y.keys.IE_PROTO||""))?"Symbol(src)_1."+j:"";var J=Function.prototype.toString;function R(e){if(null!=e){try{return J.call(e)}catch(e){}try{return e+""}catch(e){}}return""}var H=/^\[object .+?Constructor\]$/,M=Function.prototype,Z=Object.prototype,O=M.toString,U=Z.hasOwnProperty,T=RegExp("^"+O.call(U).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function V(e){return!(!K(e)||(t=e,L&&L in t))&&(G(e)?T:H).test(R(e));var t}function P(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return V(n)?n:void 0}var X=P(Object,"create");var z=Object.prototype.hasOwnProperty;var _=Object.prototype.hasOwnProperty;function q(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function $(e,t){return e===t||e!=e&&t!=t}function ee(e,t){for(var n=e.length;n--;)if($(e[n][0],t))return n;return-1}q.prototype.clear=function(){this.__data__=X?X(null):{},this.size=0},q.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},q.prototype.get=function(e){var t=this.__data__;if(X){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return z.call(t,e)?t[e]:void 0},q.prototype.has=function(e){var t=this.__data__;return X?void 0!==t[e]:_.call(t,e)},q.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=X&&void 0===t?"__lodash_hash_undefined__":t,this};var te=Array.prototype.splice;function ne(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}ne.prototype.clear=function(){this.__data__=[],this.size=0},ne.prototype.delete=function(e){var t=this.__data__,n=ee(t,e);return!(n<0)&&(n==t.length-1?t.pop():te.call(t,n,1),--this.size,!0)},ne.prototype.get=function(e){var t=this.__data__,n=ee(t,e);return n<0?void 0:t[n][1]},ne.prototype.has=function(e){return ee(this.__data__,e)>-1},ne.prototype.set=function(e,t){var n=this.__data__,r=ee(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this};var re=P(I,"Map");function ie(e,t){var n,r,i=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?i["string"==typeof t?"string":"hash"]:i.map}function oe(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}oe.prototype.clear=function(){this.size=0,this.__data__={hash:new q,map:new(re||ne),string:new q}},oe.prototype.delete=function(e){var t=ie(this,e).delete(e);return this.size-=t?1:0,t},oe.prototype.get=function(e){return ie(this,e).get(e)},oe.prototype.has=function(e){return ie(this,e).has(e)},oe.prototype.set=function(e,t){var n=ie(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this};function Ae(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var A=e.apply(this,r);return n.cache=o.set(i,A)||o,A};return n.cache=new(Ae.Cache||oe),n}Ae.Cache=oe;var se,ae,ce,le=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ue=/\\(\\)?/g,he=(se=function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(le,function(e,n,r,i){t.push(r?i.replace(ue,"$1"):n||e)}),t},ae=Ae(se,function(e){return 500===ce.size&&ce.clear(),e}),ce=ae.cache,ae),de=he;function fe(e,t){for(var n=-1,r=null==e?0:e.length,i=Array(r);++n<r;)i[n]=t(e[n],n,e);return i}var ge=w?w.prototype:void 0,pe=ge?ge.toString:void 0;function me(e){if("string"==typeof e)return e;if(m(e))return fe(e,me)+"";if(F(e))return pe?pe.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function be(e){return null==e?"":me(e)}function ye(e,t){return m(e)?e:N(e,t)?[e]:de(be(e))}function Ie(e){if("string"==typeof e||F(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function we(e,t){for(var n=0,r=(t=ye(t,e)).length;null!=e&&n<r;)e=e[Ie(t[n++])];return n&&n==r?e:void 0}function Be(e,t,n){var r=null==e?void 0:we(e,t);return void 0===r?n:r}function Ce(e){return"[object String]"===Object.prototype.toString.call(e)}function xe(e){return!(!Ce(e)||""===e)}function ke(e){return"[object Object]"===Object.prototype.toString.call(e)}function Se(e,t={}){let n=Be(t,"fs"),r=!1;try{n.statSync(e),r=!0}catch{r=!1}return r}function ve(t){return function(e,t={}){let n=Be(t,"fs");return!!Se(e,{fs:n})&&!n.lstatSync(e).isDirectory()&&!n.lstatSync(e).isSymbolicLink()}(t,{fs:e})}function De(e,t){for(var n=-1,r=null==e?0:e.length;++n<r&&!1!==t(e[n],n,e););return e}var Ee,Fe=function(e,t,n){for(var r=-1,i=Object(e),o=n(e),A=o.length;A--;){var s=o[Ee?A:++r];if(!1===t(i[s],s,i))break}return e};function Qe(e){return E(e)&&"[object Arguments]"==D(e)}var We=Object.prototype,Ne=We.hasOwnProperty,Ke=We.propertyIsEnumerable,Ge=Qe(function(){return arguments}())?Qe:function(e){return E(e)&&Ne.call(e,"callee")&&!Ke.call(e,"callee")},je=Ge;var Ye="object"==typeof exports&&exports&&!exports.nodeType&&exports,Le=Ye&&"object"==typeof module&&module&&!module.nodeType&&module,Je=Le&&Le.exports===Ye?I.Buffer:void 0,Re=(Je?Je.isBuffer:void 0)||function(){return!1},He=/^(?:0|[1-9]\d*)$/;function Me(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==n||"symbol"!=n&&He.test(e))&&e>-1&&e%1==0&&e<t}function Ze(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}var Oe={};function Ue(e){return function(t){return e(t)}}Oe["[object Float32Array]"]=Oe["[object Float64Array]"]=Oe["[object Int8Array]"]=Oe["[object Int16Array]"]=Oe["[object Int32Array]"]=Oe["[object Uint8Array]"]=Oe["[object Uint8ClampedArray]"]=Oe["[object Uint16Array]"]=Oe["[object Uint32Array]"]=!0,Oe["[object Arguments]"]=Oe["[object Array]"]=Oe["[object ArrayBuffer]"]=Oe["[object Boolean]"]=Oe["[object DataView]"]=Oe["[object Date]"]=Oe["[object Error]"]=Oe["[object Function]"]=Oe["[object Map]"]=Oe["[object Number]"]=Oe["[object Object]"]=Oe["[object RegExp]"]=Oe["[object Set]"]=Oe["[object String]"]=Oe["[object WeakMap]"]=!1;var Te="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ve=Te&&"object"==typeof module&&module&&!module.nodeType&&module,Pe=Ve&&Ve.exports===Te&&b.process,Xe=function(){try{var e=Ve&&Ve.require&&Ve.require("util").types;return e||Pe&&Pe.binding&&Pe.binding("util")}catch(e){}}(),ze=Xe&&Xe.isTypedArray,_e=ze?Ue(ze):function(e){return E(e)&&Ze(e.length)&&!!Oe[D(e)]},qe=Object.prototype.hasOwnProperty;function $e(e,t){var n=m(e),r=!n&&je(e),i=!n&&!r&&Re(e),o=!n&&!r&&!i&&_e(e),A=n||r||i||o,s=A?function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}(e.length,String):[],a=s.length;for(var c in e)!t&&!qe.call(e,c)||A&&("length"==c||i&&("offset"==c||"parent"==c)||o&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||Me(c,a))||s.push(c);return s}var et=Object.prototype;function tt(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||et)}function nt(e,t){return function(n){return e(t(n))}}var rt=nt(Object.keys,Object),it=Object.prototype.hasOwnProperty;function ot(e){if(!tt(e))return rt(e);var t=[];for(var n in Object(e))it.call(e,n)&&"constructor"!=n&&t.push(n);return t}function At(e){return null!=e&&Ze(e.length)&&!G(e)}function st(e){return At(e)?$e(e):ot(e)}var at=function(e,t){return function(n,r){if(null==n)return n;if(!At(n))return e(n,r);for(var i=n.length,o=t?i:-1,A=Object(n);(t?o--:++o<i)&&!1!==r(A[o],o,A););return n}}(function(e,t){return e&&Fe(e,t,st)}),ct=at;function lt(e){return e}function ut(e,t){var n;return(m(e)?De:ct)(e,"function"==typeof(n=t)?n:lt)}function ht(e,t,n){var r=-1,i=e.length;t<0&&(t=-t>i?0:i+t),(n=n>i?i:n)<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var o=Array(i);++r<i;)o[r]=e[r+t];return o}function dt(e,t,n){var r=e.length;return n=void 0===n?r:n,!t&&n>=r?e:ht(e,t,n)}var ft=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");function gt(e){return ft.test(e)}var pt=Xe&&Xe.isRegExp,mt=pt?Ue(pt):function(e){return E(e)&&"[object RegExp]"==D(e)};var bt="\\ud800-\\udfff",yt="["+bt+"]",It="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",wt="\\ud83c[\\udffb-\\udfff]",Bt="[^"+bt+"]",Ct="(?:\\ud83c[\\udde6-\\uddff]){2}",xt="[\\ud800-\\udbff][\\udc00-\\udfff]",kt="(?:"+It+"|"+wt+")"+"?",St="[\\ufe0e\\ufe0f]?",vt=St+kt+("(?:\\u200d(?:"+[Bt,Ct,xt].join("|")+")"+St+kt+")*"),Dt="(?:"+[Bt+It+"?",It,Ct,xt,yt].join("|")+")",Et=RegExp(wt+"(?="+wt+")|"+Dt+vt,"g");function Ft(e){return gt(e)?function(e){return e.match(Et)||[]}(e):function(e){return e.split("")}(e)}function Qt(e,t,n){return n&&"number"!=typeof n&&function(e,t,n){if(!K(n))return!1;var r=typeof t;return!!("number"==r?At(n)&&Me(t,n.length):"string"==r&&t in n)&&$(n[t],e)}(e,t,n)&&(t=n=void 0),(n=void 0===n?4294967295:n>>>0)?(e=be(e))&&("string"==typeof t||null!=t&&!mt(t))&&!(t=me(t))&>(e)?dt(Ft(e),0,n):e.split(t,n):[]}var Wt=/\s/;var Nt=/^\s+/;function Kt(e){return e?e.slice(0,function(e){for(var t=e.length;t--&&Wt.test(e.charAt(t)););return t}(e)+1).replace(Nt,""):e}function Gt(e){return e!=e}function jt(e,t,n){return t==t?function(e,t,n){for(var r=n-1,i=e.length;++r<i;)if(e[r]===t)return r;return-1}(e,t,n):function(e,t,n,r){for(var i=e.length,o=n+(r?1:-1);r?o--:++o<i;)if(t(e[o],o,e))return o;return-1}(e,Gt,n)}function Yt(e,t,n){if((e=be(e))&&(n||void 0===t))return Kt(e);if(!e||!(t=me(t)))return e;var r=Ft(e),i=Ft(t),o=function(e,t){for(var n=-1,r=e.length;++n<r&&jt(t,e[n],0)>-1;);return n}(r,i),A=function(e,t){for(var n=e.length;n--&&jt(t,e[n],0)>-1;);return n}(r,i)+1;return dt(r,o,A).join("")}var Lt=Array.prototype.join;function Jt(e,t){return null==e?"":Lt.call(e,t)}var Rt=/^[-+]0x[0-9a-f]+$/i,Ht=/^0b[01]+$/i,Mt=/^0o[0-7]+$/i,Zt=parseInt;function Ot(e){if("number"==typeof e)return e;if(F(e))return NaN;if(K(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=K(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=Kt(e);var n=Ht.test(e);return n||Mt.test(e)?Zt(e.slice(2),n?2:8):Rt.test(e)?NaN:+e}var Ut=1/0;function Tt(e){return e?(e=Ot(e))===Ut||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function Vt(e){var t=Tt(e),n=t%1;return t==t?n?t-n:t:0}function Pt(e,t,n){var r=null==e?0:e.length;return r?ht(e,(t=n||void 0===t?1:Vt(t))<0?0:t,r):[]}var Xt=P(I,"DataView"),zt=P(I,"Promise"),_t=P(I,"Set"),qt=P(I,"WeakMap"),$t="[object Map]",en="[object Promise]",tn="[object Set]",nn="[object WeakMap]",rn="[object DataView]",on=R(Xt),An=R(re),sn=R(zt),an=R(_t),cn=R(qt),ln=D;(Xt&&ln(new Xt(new ArrayBuffer(1)))!=rn||re&&ln(new re)!=$t||zt&&ln(zt.resolve())!=en||_t&&ln(new _t)!=tn||qt&&ln(new qt)!=nn)&&(ln=function(e){var t=D(e),n="[object Object]"==t?e.constructor:void 0,r=n?R(n):"";if(r)switch(r){case on:return rn;case An:return $t;case sn:return en;case an:return tn;case cn:return nn}return t});var un=ln;function hn(e){return function(t){return null==t?void 0:t[e]}}var dn=hn("length"),fn="\\ud800-\\udfff",gn="["+fn+"]",pn="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",mn="\\ud83c[\\udffb-\\udfff]",bn="[^"+fn+"]",yn="(?:\\ud83c[\\udde6-\\uddff]){2}",In="[\\ud800-\\udbff][\\udc00-\\udfff]",wn="(?:"+pn+"|"+mn+")"+"?",Bn="[\\ufe0e\\ufe0f]?",Cn=Bn+wn+("(?:\\u200d(?:"+[bn,yn,In].join("|")+")"+Bn+wn+")*"),xn="(?:"+[bn+pn+"?",pn,yn,In,gn].join("|")+")",kn=RegExp(mn+"(?="+mn+")|"+xn+Cn,"g");function Sn(e){return gt(e)?function(e){for(var t=kn.lastIndex=0;kn.test(e);)++t;return t}(e):dn(e)}function vn(e){if(null==e)return 0;if(At(e))return"string"==typeof(t=e)||!m(t)&&E(t)&&"[object String]"==D(t)?Sn(e):e.length;var t,n=un(e);return"[object Map]"==n||"[object Set]"==n?e.size:ot(e).length}var Dn;function En(e){return!0===(t=e)||!1===t||E(t)&&"[object Boolean]"==D(t);var t}function Fn(e){let t=Object.prototype.toString.call(e);return"[object Function]"===t||"[object AsyncFunction]"===t}function Qn(e){let t,n=Object.prototype.toString.call(e);if(t="[object Promise]"===n,t)return!0;if("[object Function]"!==n)return!1;try{t="function"!=typeof e.subscribe&&"function"==typeof e.then}catch(e){}return t}function Wn(e,t,n){if(!xe(e))return"";if(!xe(t))return"";if(!Ce(n))return"";return String(e).replaceAll(t,n)}!function(e){e.Root="root",e.Text="text",e.Directive="directive",e.Comment="comment",e.Script="script",e.Style="style",e.Tag="tag",e.CDATA="cdata",e.Doctype="doctype"}(Dn||(Dn={}));const Nn=Dn.Root,Kn=Dn.Text,Gn=Dn.Directive,jn=Dn.Comment,Yn=Dn.Script,Ln=Dn.Style,Jn=Dn.Tag,Rn=Dn.CDATA,Hn=Dn.Doctype;class Mn{constructor(){this.parent=null,this.prev=null,this.next=null,this.startIndex=null,this.endIndex=null}get parentNode(){return this.parent}set parentNode(e){this.parent=e}get previousSibling(){return this.prev}set previousSibling(e){this.prev=e}get nextSibling(){return this.next}set nextSibling(e){this.next=e}cloneNode(e=!1){return qn(this,e)}}class Zn extends Mn{constructor(e){super(),this.data=e}get nodeValue(){return this.data}set nodeValue(e){this.data=e}}class On extends Zn{constructor(){super(...arguments),this.type=Dn.Text}get nodeType(){return 3}}class Un extends Zn{constructor(){super(...arguments),this.type=Dn.Comment}get nodeType(){return 8}}class Tn extends Zn{constructor(e,t){super(t),this.name=e,this.type=Dn.Directive}get nodeType(){return 1}}class Vn extends Mn{constructor(e){super(),this.children=e}get firstChild(){var e;return null!==(e=this.children[0])&&void 0!==e?e:null}get lastChild(){return this.children.length>0?this.children[this.children.length-1]:null}get childNodes(){return this.children}set childNodes(e){this.children=e}}class Pn extends Vn{constructor(){super(...arguments),this.type=Dn.CDATA}get nodeType(){return 4}}class Xn extends Vn{constructor(){super(...arguments),this.type=Dn.Root}get nodeType(){return 9}}class zn extends Vn{constructor(e,t,n=[],r=("script"===e?Dn.Script:"style"===e?Dn.Style:Dn.Tag)){super(n),this.name=e,this.attribs=t,this.type=r}get nodeType(){return 1}get tagName(){return this.name}set tagName(e){this.name=e}get attributes(){return Object.keys(this.attribs).map(e=>{var t,n;return{name:e,value:this.attribs[e],namespace:null===(t=this["x-attribsNamespace"])||void 0===t?void 0:t[e],prefix:null===(n=this["x-attribsPrefix"])||void 0===n?void 0:n[e]}})}}function _n(e){return(t=e).type===Dn.Tag||t.type===Dn.Script||t.type===Dn.Style;var t}function qn(e,t=!1){let n;if(function(e){return e.type===Dn.Text}(e))n=new On(e.data);else if(function(e){return e.type===Dn.Comment}(e))n=new Un(e.data);else if(_n(e)){const r=t?$n(e.children):[],i=new zn(e.name,{...e.attribs},r);r.forEach(e=>e.parent=i),null!=e.namespace&&(i.namespace=e.namespace),e["x-attribsNamespace"]&&(i["x-attribsNamespace"]={...e["x-attribsNamespace"]}),e["x-attribsPrefix"]&&(i["x-attribsPrefix"]={...e["x-attribsPrefix"]}),n=i}else if(function(e){return e.type===Dn.CDATA}(e)){const r=t?$n(e.children):[],i=new Pn(r);r.forEach(e=>e.parent=i),n=i}else if(function(e){return e.type===Dn.Root}(e)){const r=t?$n(e.children):[],i=new Xn(r);r.forEach(e=>e.parent=i),e["x-mode"]&&(i["x-mode"]=e["x-mode"]),n=i}else{if(!function(e){return e.type===Dn.Directive}(e))throw new Error(`Not implemented yet: ${e.type}`);{const t=new Tn(e.name,e.data);null!=e["x-name"]&&(t["x-name"]=e["x-name"],t["x-publicId"]=e["x-publicId"],t["x-systemId"]=e["x-systemId"]),n=t}}return n.startIndex=e.startIndex,n.endIndex=e.endIndex,null!=e.sourceCodeLocation&&(n.sourceCodeLocation=e.sourceCodeLocation),n}function $n(e){const t=e.map(e=>qn(e,!0));for(let e=1;e<t.length;e++)t[e].prev=t[e-1],t[e-1].next=t[e];return t}const er={withStartIndices:!1,withEndIndices:!1,xmlMode:!1};class tr{constructor(e,t,n){this.dom=[],this.root=new Xn(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null,"function"==typeof t&&(n=t,t=er),"object"==typeof e&&(t=e,e=void 0),this.callback=null!=e?e:null,this.options=null!=t?t:er,this.elementCB=null!=n?n:null}onparserinit(e){this.parser=e}onreset(){this.dom=[],this.root=new Xn(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null}onend(){this.done||(this.done=!0,this.parser=null,this.handleCallback(null))}onerror(e){this.handleCallback(e)}onclosetag(){this.lastNode=null;const e=this.tagStack.pop();this.options.withEndIndices&&(e.endIndex=this.parser.endIndex),this.elementCB&&this.elementCB(e)}onopentag(e,t){const n=this.options.xmlMode?Dn.Tag:void 0,r=new zn(e,t,void 0,n);this.addNode(r),this.tagStack.push(r)}ontext(e){const{lastNode:t}=this;if(t&&t.type===Dn.Text)t.data+=e,this.options.withEndIndices&&(t.endIndex=this.parser.endIndex);else{const t=new On(e);this.addNode(t),this.lastNode=t}}oncomment(e){if(this.lastNode&&this.lastNode.type===Dn.Comment)return void(this.lastNode.data+=e);const t=new Un(e);this.addNode(t),this.lastNode=t}oncommentend(){this.lastNode=null}oncdatastart(){const e=new On(""),t=new Pn([e]);this.addNode(t),e.parent=t,this.lastNode=e}oncdataend(){this.lastNode=null}onprocessinginstruction(e,t){const n=new Tn(e,t);this.addNode(n)}handleCallback(e){if("function"==typeof this.callback)this.callback(e,this.dom);else if(e)throw e}addNode(e){const t=this.tagStack[this.tagStack.length-1],n=t.children[t.children.length-1];this.options.withStartIndices&&(e.startIndex=this.parser.startIndex),this.options.withEndIndices&&(e.endIndex=this.parser.endIndex),t.children.push(e),n&&(e.prev=n,n.next=e),e.parent=t,this.lastNode=null}}const nr=/\n/g;function rr(e,t){return{name:e.name,discard:e.discard,push:e.push,pop:e.pop,regex:Ar(e,t),replacer:ir(e)?or(e.regex,e.replace):void 0}}function ir(e){return Object.prototype.hasOwnProperty.call(e,"replace")}function or(e,t){const n=function(e){return e.sticky?new RegExp(e.source,e.flags.replace("y","")):e}(e);return e=>e.replace(n,t)}function Ar(e,t){if(0===e.name.length)throw new Error(`Rule #${t} has empty name, which is not allowed.`);if(function(e){return Object.prototype.hasOwnProperty.call(e,"regex")}(e))return function(e){if(e.global)throw new Error(`Regular expression /${e.source}/${e.flags} contains the global flag, which is not allowed.`);return e.sticky?e:new RegExp(e.source,e.flags+"y")}(e.regex);if(function(e){return Object.prototype.hasOwnProperty.call(e,"str")}(e)){if(0===e.str.length)throw new Error(`Rule #${t} ("${e.name}") has empty "str" property, which is not allowed.`);return new RegExp(sr(e.str),"y")}return new RegExp(sr(e.name),"y")}function sr(e){return e.replace(/[-[\]{}()*+!<=:?./\\^$|#\s,]/g,"\\$&")}function ar(e,t="",n={}){const r="string"!=typeof t?t:n,i="string"==typeof t?t:"",o=e.map(rr),A=!!r.lineNumbers;return function(e,t=0){const n=A?function(e){const t=[...e.matchAll(nr)].map(e=>e.index||0);t.unshift(-1);let n=1;return e=>{for(;n>1&&e<t[n-1];)n--;for(;n<t.length&&e>t[n];)n++;return{line:n,column:e-t[n-1]}}}(e):void 0;let r={line:0,column:0},s=t;const a=[];e:for(;s<e.length;){let t=!1;for(const A of o){A.regex.lastIndex=s;const o=A.regex.exec(e);if(o&&o[0].length>0){if(A.discard||(n&&(r=n(s)),a.push({state:i,name:A.name,text:A.replacer?A.replacer(o[0]):o[0],offset:s,len:o[0].length,line:r.line,column:r.column})),s=A.regex.lastIndex,t=!0,A.push){const t=A.push(e,s);a.push(...t.tokens),s=t.offset}if(A.pop)break e;break}}if(!t)break}return{tokens:a,offset:s,complete:e.length<=s}}}function cr(e,t){return e.matched?{matched:!0,position:e.position,value:t(e.value,e.position)}:e}function lr(e,t){return e.matched?t(e):e}function ur(e,t,n){return(r,i)=>lr(e(r,i),e=>cr(t(r,e.position),(t,o)=>n(e.value,t,r,i,o)))}function hr(e,t,n,r){return(i,o)=>lr(e(i,o),e=>lr(t(i,e.position),t=>cr(n(i,t.position),(n,A)=>r(e.value,t.value,n,i,o,A))))}function dr(e,t){return(n,r)=>{const i=e(n,r);return i.matched?i:t(n,r)}}function fr(e){return(t,n)=>{throw new Error(e instanceof Function?e(t,n):e)}}function gr(...e){return(t,n)=>{for(const r of e){const e=r(t,n);if(e.matched)return e}return{matched:!1}}}function pr(e,t){return(n,r)=>cr(e(n,r),(e,i)=>t(e,n,r,i))}function mr(e,t,n){return r=e,i=e=>{return r=e,i=ur(t,n,(e,t)=>[e,t]),o=(e,[t,n])=>t(e,n),function(e,t){return(n,r)=>{let i=!0,o=e,A=r;do{const e=t(o,n,A)(n,A);e.matched?(o=e.value,A=e.position):i=!1}while(i);return{matched:!0,position:A,value:o}}}(r,e=>pr(i,(t,n,r,i)=>o(e,t,n,r,i)));var r,i,o},(e,t)=>lr(r(e,t),n=>i(n.value,e,t,n.position)(e,n.position));var r,i}function br(e){return function(e,t){return(n,r)=>{const i=[];let o=!0;do{const A=e(n,r);A.matched&&t(A.value,i.length+1,n,r,A.position)?(i.push(A.value),r=A.position):o=!1}while(o);return{matched:!0,position:r,value:i}}}(e,()=>!0)}function yr(e,t,n){return hr(e,t,n,(e,t)=>t)}function Ir(e,t){return(n,r)=>{const i=e(n,r);return i.matched?i:{matched:!0,position:r,value:t}}}function wr(e){return function(t,n){return e()(t,n)}}function Br(e,t){return ur(e,t,(e,t)=>t)}function Cr(e,t){return(n,r)=>{let i,o=r;return r<n.tokens.length?(i=e(n.tokens[r],n,r),void 0!==i&&o++):t?.(n,r),void 0===i?{matched:!1}:{matched:!0,position:o,value:i}}}const xr="(?:\\n|\\r\\n|\\r|\\f)",kr="[^\\x00-\\x7F]",Sr="(?:\\\\[0-9a-f]{1,6}(?:\\r\\n|[ \\n\\r\\t\\f])?)",vr="(?:\\\\[^\\n\\r\\f0-9a-f])",Dr=`(?:[_a-z0-9-]|${kr}|${Sr}|${vr})`,Er=`(?:${Dr}+)`,Fr=`(?:[-]?${`(?:[_a-z]|${kr}|${Sr}|${vr})`}${Dr}*)`,Qr=`'([^\\n\\r\\f\\\\']|\\\\${xr}|${kr}|${Sr}|${vr})*'`,Wr=`"([^\\n\\r\\f\\\\"]|\\\\${xr}|${kr}|${Sr}|${vr})*"`,Nr=ar([{name:"ws",regex:new RegExp("(?:[ \\t\\r\\n\\f]*)")},{name:"hash",regex:new RegExp(`#${Er}`,"i")},{name:"ident",regex:new RegExp(Fr,"i")},{name:"str1",regex:new RegExp(Qr,"i")},{name:"str2",regex:new RegExp(Wr,"i")},{name:"*"},{name:"."},{name:","},{name:"["},{name:"]"},{name:"="},{name:">"},{name:"|"},{name:"+"},{name:"~"},{name:"^"},{name:"$"},{name:":"},{name:"("},{name:")"}]),Kr=ar([{name:"unicode",regex:new RegExp(Sr,"i")},{name:"escape",regex:new RegExp(vr,"i")},{name:"any",regex:new RegExp("[\\s\\S]","i")}]);function Gr([e,t,n],[r,i,o]){return[e+r,t+i,n+o]}function jr(e){return e.reduce(Gr,[0,0,0])}function Yr([e,t,n],[r,i,o]){return e>r||e===r&&(t>i||t===i&&n>=o)?[e,t,n]:[r,i,o]}function Lr(e){return e.reduce(Yr,[0,0,0])}const Jr=pr(br(gr(Cr(e=>"unicode"===e.name?String.fromCodePoint(parseInt(e.text.slice(1),16)):void 0),Cr(e=>"escape"===e.name?e.text.slice(1):void 0),Cr(e=>"any"===e.name?e.text:void 0))),e=>e.join(""));function Rr(e){const t=Kr(e);return Jr({tokens:t.tokens,options:void 0},0).value}function Hr(e){return Cr(t=>t.name===e||void 0)}const Mr=Cr(e=>"ws"===e.name?null:void 0),Zr=Ir(Mr,null);function Or(e){return yr(Zr,e,Zr)}const Ur=Cr(e=>"ident"===e.name?Rr(e.text):void 0),Tr=Cr(e=>"hash"===e.name?Rr(e.text.slice(1)):void 0),Vr=Cr(e=>e.name.startsWith("str")?Rr(e.text.slice(1,-1)):void 0),Pr=(Xr=Ir(Ur,""),zr=Hr("|"),ur(Xr,zr,e=>e));var Xr,zr;const _r=dr(ur(Pr,Ur,(e,t)=>({name:t,namespace:e})),pr(Ur,e=>({name:e,namespace:null}))),qr=dr(ur(Pr,Hr("*"),e=>({type:"universal",namespace:e,specificity:[0,0,0]})),pr(Hr("*"),()=>({type:"universal",namespace:null,specificity:[0,0,0]}))),$r=pr(_r,({name:e,namespace:t})=>({type:"tag",name:e,namespace:t,specificity:[0,0,1]})),ei=ur(Hr("."),Ur,(e,t)=>({type:"class",name:t,specificity:[0,1,0]})),ti=pr(Tr,e=>({type:"id",name:e,specificity:[1,0,0]})),ni=Cr(e=>{if("ident"===e.name){if("i"===e.text||"I"===e.text)return"i";if("s"===e.text||"S"===e.text)return"s"}}),ri=dr(ur(Vr,Ir(Br(Zr,ni),null),(e,t)=>({value:e,modifier:t})),ur(Ur,Ir(Br(Mr,ni),null),(e,t)=>({value:e,modifier:t}))),ii=gr(pr(Hr("="),()=>"="),ur(Hr("~"),Hr("="),()=>"~="),ur(Hr("|"),Hr("="),()=>"|="),ur(Hr("^"),Hr("="),()=>"^="),ur(Hr("$"),Hr("="),()=>"$="),ur(Hr("*"),Hr("="),()=>"*=")),oi=hr(Hr("["),Or(_r),Hr("]"),(e,{name:t,namespace:n})=>({type:"attrPresence",name:t,namespace:n,specificity:[0,1,0]})),Ai=yr(Hr("["),hr(Or(_r),ii,Or(ri),({name:e,namespace:t},n,{value:r,modifier:i})=>({type:"attrValue",name:e,namespace:t,matcher:n,value:r,modifier:i,specificity:[0,1,0]})),Hr("]")),si=hr(Hr(":"),Ur,function(e){return(t,n)=>e(t,n).matched?{matched:!1}:{matched:!0,position:n,value:!0}}((ai=Hr("("),(e,t)=>lr(ai(e,t),e=>({matched:!0,position:t,value:e.value})))),(e,t)=>({type:"pc",name:t,specificity:[0,1,0]}));var ai;function ci(e){return function(e,t){return(n,r)=>lr(e(n,r),e=>t(e.value,n,r,e.position)?e:{matched:!1})}(Ur,t=>t.toLowerCase()===e.toLowerCase())}function li(e,t,n){return hr(yr(Hr(":"),ci(e),dr(Hr("("),fr(`Expected opening parenthesis in :${e}()`))),dr(Or(t),fr(`Expected ${n} in :${e}()`)),dr(Hr(")"),fr(`Expected closing parenthesis in :${e}()`)),(e,t)=>({name:e,content:t}))}const ui=gr(pr(li("is",wr(()=>bi),"selector list"),e=>({type:"fpc:is",name:e.name,list:e.content.list,specificity:Lr(e.content.list.map(e=>e.specificity))})),pr(li("where",wr(()=>bi),"selector list"),e=>({type:"fpc:where",name:e.name,list:e.content.list,specificity:[0,0,0]})),pr(li("not",wr(()=>bi),"selector list"),e=>({type:"fpc:not",name:e.name,list:e.content.list,specificity:Lr(e.content.list.map(e=>e.specificity))}))),hi=dr(oi,Ai),di=dr(qr,$r),fi=gr(ti,ei,hi,ui,si),gi=pr(dr(function(...e){return t=function(...e){return(t,n)=>{const r=[];let i=n;for(const n of e){const e=n(t,i);if(!e.matched)return{matched:!1};r.push(e.value),i=e.position}return{matched:!0,position:i,value:r}}}(...e),pr(t,e=>e.flatMap(e=>e));var t}(di,br(fi)),function(e){return ur(e,br(e),(e,t)=>[e,...t])}(fi)),e=>({type:"compound",list:e,specificity:jr(e.map(e=>e.specificity))})),pi=dr(Or(gr(pr(Hr(">"),()=>">"),pr(Hr("+"),()=>"+"),pr(Hr("~"),()=>"~"),ur(Hr("|"),Hr("|"),()=>"||"))),pr(Mr,()=>" ")),mi=mr(gi,pr(pi,e=>(t,n)=>({type:"compound",list:[...n.list,{type:"combinator",combinator:e,left:t,specificity:t.specificity}],specificity:Gr(t.specificity,n.specificity)})),gi),bi=mr(pr(mi,e=>({type:"list",list:[e]})),pr(Or(Hr(",")),()=>(e,t)=>({type:"list",list:[...e.list,t]})),mi);function yi(e,t,n=1){return`${e.replace(/(\t)|(\r)|(\n)/g,(e,t,n)=>t?"␉":n?"␍":"␊")}\n${"".padEnd(t)}${"^".repeat(n)}`}function Ii(e){return function(e,t){if(!("string"==typeof t||t instanceof String))throw new Error("Expected a selector string. Actual input is not a string!");const n=Nr(t);if(!n.complete)throw new Error(`The input "${t}" was only partially tokenized, stopped at offset ${n.offset}!\n`+yi(t,n.offset));const r=Or(e)({tokens:n.tokens,options:void 0},0);if(!r.matched)throw new Error(`No match for "${t}" input!`);if(r.position<n.tokens.length){const e=n.tokens[r.position];throw new Error(`The input "${t}" was only partially parsed, stopped at offset ${e.offset}!\n`+yi(t,e.offset,e.len))}return r.value}(mi,e)}function wi(e){if(!e.type)throw new Error("This is not an AST node.");switch(e.type){case"universal":return Bi(e.namespace)+"*";case"tag":return Bi(e.namespace)+xi(e.name);case"class":return"."+xi(e.name);case"id":return"#"+xi(e.name);case"attrPresence":return`[${Bi(e.namespace)}${xi(e.name)}]`;case"attrValue":return`[${Bi(e.namespace)}${xi(e.name)}${e.matcher}"${t=e.value,t.replace(/(")|(\\)|(\x00)|([\x01-\x1f]|\x7f)/g,(e,t,n,r,i)=>t?'\\"':n?"\\\\":r?"�":Ci(i))}"${e.modifier?e.modifier:""}]`;case"pc":return":"+xi(e.name);case"fpc:is":case"fpc:where":case"fpc:not":return`:${xi(e.name)}(${e.list.map(wi).join(",")})`;case"combinator":return wi(e.left)+e.combinator;case"compound":return e.list.reduce((e,t)=>"combinator"===t.type?wi(t)+e:e+wi(t),"");case"list":return e.list.map(wi).join(",")}var t}function Bi(e){return e||""===e?xi(e)+"|":""}function Ci(e){return`\\${e.codePointAt(0).toString(16)} `}function xi(e){return e.replace(/(^[0-9])|(^-[0-9])|(^-$)|([-0-9a-zA-Z_]|[^\x00-\x7F])|(\x00)|([\x01-\x1f]|\x7f)|([\s\S])/g,(e,t,n,r,i,o,A,s)=>t?Ci(t):n?"-"+Ci(n.slice(1)):r?"\\-":i||(o?"�":A?Ci(A):"\\"+s))}function ki(e,t={mode:"html"}){const n="html"===(t.mode??"html"),r=t.allowUnspecifiedCaseSensitivityForAttributes??!1,i=t.attributesWithNormalizedValues,o=i?.length?new Set(i.map(e=>e.toLowerCase())):null;return function e(t){if(!t.type)throw new Error("This is not an AST node.");switch(t.type){case"universal":n&&null!==t.namespace&&(t.namespace=t.namespace.toLowerCase());break;case"tag":case"attrPresence":n&&(t.name=t.name.toLowerCase()),n&&null!==t.namespace&&(t.namespace=t.namespace.toLowerCase());break;case"attrValue":{n&&(t.name=t.name.toLowerCase()),n&&null!==t.namespace&&(t.namespace=t.namespace.toLowerCase());const e="i"===t.modifier||null===t.modifier&&!!o&&o.has(t.name.toLowerCase());e&&(t.value=t.value.toLowerCase()),r||null!==t.modifier||(t.modifier=e?"i":"s");break}case"pc":t.name=t.name.toLowerCase();break;case"fpc:is":case"fpc:where":case"fpc:not":t.name=t.name.toLowerCase(),t.list.forEach(e),t.list.sort((e,t)=>wi(e)<wi(t)?-1:1);break;case"compound":t.list.forEach(e),t.list.sort((e,t)=>function(e,t){if(e[0]!==t[0])return e[0]<t[0]?-1:1;const n=e[1],r=t[1];if(n===r)return 0;if(void 0===n)return-1;if(void 0===r)return 1;return n<r?-1:1}(Si(e),Si(t)));break;case"combinator":e(t.left);break;case"list":t.list.forEach(e),t.list.sort((e,t)=>wi(e)<wi(t)?-1:1)}}(e),e}function Si(e){switch(e.type){case"universal":case"tag":return[1];case"id":return[2];case"class":return[3,e.name];case"attrPresence":return[4,wi(e)];case"attrValue":return[5,wi(e)];case"pc":return[6,e.name];case"fpc:is":case"fpc:where":case"fpc:not":return[7,wi(e)];case"combinator":return[15,wi(e)]}}function vi(e,t){return e[0]!==t[0]?e[0]<t[0]?-1:1:e[1]!==t[1]?e[1]<t[1]?-1:1:e[2]<t[2]?-1:e[2]>t[2]?1:0}class Di{branches;constructor(e,t={}){this.branches=Fi(function(e,t){const n=e.length,r=new Array(n);for(let i=0;i<n;i++){const[n,o]=e[i],A=Ii(n);Ei(A),ki(A,{mode:"html",attributesWithNormalizedValues:t.attributesWithNormalizedValues??[],allowUnspecifiedCaseSensitivityForAttributes:!1}),r[i]={ast:A,terminal:{type:"terminal",valueContainer:{index:i,value:o,specificity:A.specificity}}}}return r}(e,t))}build(e){return e(this.branches)}}function Ei(e){const t=[];e.list.forEach(e=>{switch(e.type){case"class":t.push({matcher:"~=",modifier:null,name:"class",namespace:null,specificity:e.specificity,type:"attrValue",value:e.name});break;case"id":t.push({matcher:"=",modifier:null,name:"id",namespace:null,specificity:[0,1,0],type:"attrValue",value:e.name});break;case"combinator":Ei(e.left),t.push(e);break;case"universal":break;default:t.push(e)}}),e.list=t}function Fi(e){const t=[];for(;e.length;){const n=Ji(e,e=>!0,Ni),{matches:r,nonMatches:i,empty:o}=Wi(e,n);e=i,r.length&&t.push(Ki(n,r)),o.length&&t.push(...Qi(o))}return t}function Qi(e){const t=[];for(const n of e){const e=n.terminal;if("terminal"===e.type)t.push(e);else{const{matches:n,rest:r}=Ri(e.cont,e=>"terminal"===e.type);n.forEach(e=>t.push(e)),r.length&&(e.cont=r,t.push(e))}}return t}function Wi(e,t){const n=[],r=[],i=[];for(const o of e){const e=o.ast.list;if(e.length){(e.some(e=>Ni(e)===t)?n:r).push(o)}else i.push(o)}return{matches:n,nonMatches:r,empty:i}}function Ni(e){switch(e.type){case"attrPresence":return`attrPresence ${e.name}`;case"attrValue":return`attrValue ${e.name}`;case"pc":return`pc ${e.name}`;case"combinator":return`combinator ${e.combinator}`;default:return e.type}}function Ki(e,t){if("tag"===e)return function(e){const t=Yi(e,e=>"tag"===e.type,e=>e.name),n=Object.entries(t).map(([e,t])=>({type:"variant",value:e,cont:Fi(t.items)}));return{type:"tagName",variants:n}}(t);if(e.startsWith("attrValue "))return function(e,t){const n=Yi(t,t=>"attrValue"===t.type&&t.name===e,e=>`${e.matcher} ${e.modifier||""} ${e.value}`),r=[];for(const e of Object.values(n)){const t=e.oneSimpleSelector;r.push({type:"matcher",matcher:t.matcher,modifier:t.modifier,value:t.value,predicate:Gi(t),cont:Fi(e.items)})}return{type:"attrValue",name:e,matchers:r}}(e.substring(10),t);if(e.startsWith("attrPresence "))return function(e,t){for(const n of t)Li(n,t=>"attrPresence"===t.type&&t.name===e);return{type:"attrPresence",name:e,cont:Fi(t)}}(e.substring(13),t);if(e.startsWith("pc "))return function(e,t){if("empty"!==e&&"only-child"!==e&&"first-child"!==e&&"last-child"!==e&&"any-link"!==e)throw new Error(`Unsupported pseudo-class: :${e}`);for(const n of t)Li(n,t=>"pc"===t.type&&t.name===e);return{type:"pseudoClass",name:e,cont:Fi(t)}}(e.substring(3),t);if("combinator >"===e)return ji(">",t);if("combinator +"===e)return ji("+",t);throw new Error(`Unsupported selector kind: ${e}`)}function Gi(e){if("i"===e.modifier){const t=e.value.toLowerCase();switch(e.matcher){case"=":return e=>t===e.toLowerCase();case"~=":return e=>e.toLowerCase().split(/[ \t]+/).includes(t);case"^=":return e=>e.toLowerCase().startsWith(t);case"$=":return e=>e.toLowerCase().endsWith(t);case"*=":return e=>e.toLowerCase().includes(t);case"|=":return e=>{const n=e.toLowerCase();return t===n||n.startsWith(t)&&"-"===n[t.length]}}}else{const t=e.value;switch(e.matcher){case"=":return e=>t===e;case"~=":return e=>e.split(/[ \t]+/).includes(t);case"^=":return e=>e.startsWith(t);case"$=":return e=>e.endsWith(t);case"*=":return e=>e.includes(t);case"|=":return e=>t===e||e.startsWith(t)&&"-"===e[t.length]}}}function ji(e,t){const n=Yi(t,t=>"combinator"===t.type&&t.combinator===e,e=>wi(e.left)),r=[];for(const e of Object.values(n)){const t=Fi(e.items),n=e.oneSimpleSelector.left;r.push({ast:n,terminal:{type:"popElement",cont:t}})}return{type:"pushElement",combinator:e,cont:Fi(r)}}function Yi(e,t,n){const r={};for(;e.length;){const i=Ji(e,t,n),o=e=>t(e)&&n(e)===i,A=e=>e.ast.list.some(o),{matches:s,rest:a}=Ri(e,A);let c=null;for(const e of s){const t=Li(e,o);c||(c=t)}if(null==c)throw new Error("No simple selector is found.");r[i]={oneSimpleSelector:c,items:s},e=a}return r}function Li(e,t){const n=e.ast.list,r=new Array(n.length);let i=-1;for(let e=n.length;e-- >0;)t(n[e])&&(r[e]=!0,i=e);if(-1==i)throw new Error("Couldn't find the required simple selector.");const o=n[i];return e.ast.list=n.filter((e,t)=>!r[t]),o}function Ji(e,t,n){const r={};for(const i of e){const e={};for(const r of i.ast.list.filter(t))e[n(r)]=!0;for(const t of Object.keys(e))r[t]?r[t]++:r[t]=1}let i="",o=0;for(const e of Object.entries(r))e[1]>o&&(i=e[0],o=e[1]);return i}function Ri(e,t){const n=[],r=[];for(const i of e)t(i)?n.push(i):r.push(i);return{matches:n,rest:r}}class Hi{f;constructor(e){this.f=e}pickAll(e){return this.f(e)}pick1(e,t=!1){const n=this.f(e),r=n.length;if(0===r)return null;if(1===r)return n[0].value;const i=t?Mi:Zi;let o=n[0];for(let e=1;e<r;e++){const t=n[e];i(o,t)&&(o=t)}return o.value}}function Mi(e,t){const n=vi(t.specificity,e.specificity);return n>0||0===n&&t.index<e.index}function Zi(e,t){const n=vi(t.specificity,e.specificity);return n>0||0===n&&t.index>e.index}function Oi(e){return new Hi(Ui(e))}function Ui(e){const t=e.map(Ti);return(e,...n)=>t.flatMap(t=>t(e,...n))}function Ti(e){switch(e.type){case"terminal":{const t=[e.valueContainer];return()=>t}case"tagName":return function(e){const t={};for(const n of e.variants)t[n.value]=Ui(n.cont);return(e,...n)=>{const r=t[e.name];return r?r(e,...n):[]}}(e);case"attrValue":return function(e){const t=[];for(const n of e.matchers){const e=n.predicate,r=Ui(n.cont);t.push((t,n,...i)=>e(t)?r(n,...i):[])}const n=e.name;return(e,...r)=>{const i=e.attribs[n];return i||""===i?t.flatMap(t=>t(i,e,...r)):[]}}(e);case"attrPresence":return function(e){const t=e.name,n=Ui(e.cont);return(e,...r)=>Object.prototype.hasOwnProperty.call(e.attribs,t)?n(e,...r):[]}(e);case"pseudoClass":return function(e){const t=Ui(e.cont),n=Vi[e.name];if(!n)throw new Error(`Unsupported pseudo-class: :${e.name}`);return(e,...r)=>n(e)?t(e,...r):[]}(e);case"pushElement":return function(e){const t=Ui(e.cont),n="+"===e.combinator?Pi:zi;return(e,...r)=>{const i=n(e);return null===i?[]:t(i,e,...r)}}(e);case"popElement":return function(e){const t=Ui(e.cont);return(e,n,...r)=>t(n,...r)}(e)}}const Vi={empty:function(e){for(const t of e.children){if(_n(t))return!1;if(t.type===Dn.Text||t.type===Dn.CDATA)return!1}return!0},"only-child":function(e){return null===Pi(e)&&null===Xi(e)},"first-child":function(e){return null===Pi(e)},"last-child":function(e){return null===Xi(e)},"any-link":function(e){return("a"===e.name||"area"===e.name)&&Object.prototype.hasOwnProperty.call(e.attribs,"href")}};const Pi=e=>{const t=e.prev;return null===t?null:_n(t)?t:Pi(t)},Xi=e=>{const t=e.next;return null===t?null:_n(t)?t:Xi(t)},zi=e=>{const t=e.parent;return t&&_n(t)?t:null};var _i;const qi=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),$i=null!==(_i=String.fromCodePoint)&&void 0!==_i?_i:e=>{let t="";return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|1023&e),t+=String.fromCharCode(e),t};function eo(e){const t="function"==typeof atob?atob(e):"function"==typeof Buffer.from?Buffer.from(e,"base64").toString("binary"):new Buffer(e,"base64").toString("binary"),n=-2&t.length,r=new Uint16Array(n/2);for(let e=0,i=0;e<n;e+=2){const n=t.charCodeAt(e),o=t.charCodeAt(e+1);r[i++]=n|o<<8}return r}const to=eo("QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IA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YwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWls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ZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg"),no=eo("AAJhZ2xxBwARABMAFQBtAg0AAAAAAA8AcAAmYG8AcwAnYHQAPmB0ADxg9SFvdCJg");var ro,io;!function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.FLAG13=8192]="FLAG13",e[e.BRANCH_LENGTH=8064]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"}(ro||(ro={})),function(e){e[e.NUM=35]="NUM",e[e.SEMI=59]="SEMI",e[e.EQUALS=61]="EQUALS",e[e.ZERO=48]="ZERO",e[e.NINE=57]="NINE",e[e.LOWER_A=97]="LOWER_A",e[e.LOWER_F=102]="LOWER_F",e[e.LOWER_X=120]="LOWER_X",e[e.LOWER_Z=122]="LOWER_Z",e[e.UPPER_A=65]="UPPER_A",e[e.UPPER_F=70]="UPPER_F",e[e.UPPER_Z=90]="UPPER_Z"}(io||(io={}));function oo(e){return e>=io.ZERO&&e<=io.NINE}function Ao(e){return e>=io.UPPER_A&&e<=io.UPPER_F||e>=io.LOWER_A&&e<=io.LOWER_F}function so(e){return e===io.EQUALS||function(e){return e>=io.UPPER_A&&e<=io.UPPER_Z||e>=io.LOWER_A&&e<=io.LOWER_Z||oo(e)}(e)}var ao,co,lo,uo,ho;!function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"}(ao||(ao={})),function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"}(co||(co={}));class fo{constructor(e,t,n){this.decodeTree=e,this.emitCodePoint=t,this.errors=n,this.state=ao.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=co.Strict,this.runConsumed=0}startEntity(e){this.decodeMode=e,this.state=ao.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1,this.runConsumed=0}write(e,t){switch(this.state){case ao.EntityStart:return e.charCodeAt(t)===io.NUM?(this.state=ao.NumericStart,this.consumed+=1,this.stateNumericStart(e,t+1)):(this.state=ao.NamedEntity,this.stateNamedEntity(e,t));case ao.NumericStart:return this.stateNumericStart(e,t);case ao.NumericDecimal:return this.stateNumericDecimal(e,t);case ao.NumericHex:return this.stateNumericHex(e,t);case ao.NamedEntity:return this.stateNamedEntity(e,t)}}stateNumericStart(e,t){return t>=e.length?-1:(32|e.charCodeAt(t))===io.LOWER_X?(this.state=ao.NumericHex,this.consumed+=1,this.stateNumericHex(e,t+1)):(this.state=ao.NumericDecimal,this.stateNumericDecimal(e,t))}stateNumericHex(e,t){for(;t<e.length;){const n=e.charCodeAt(t);if(!oo(n)&&!Ao(n))return this.emitNumericEntity(n,3);{const e=n<=io.NINE?n-io.ZERO:(32|n)-io.LOWER_A+10;this.result=16*this.result+e,this.consumed++,t++}}return-1}stateNumericDecimal(e,t){for(;t<e.length;){const n=e.charCodeAt(t);if(!oo(n))return this.emitNumericEntity(n,2);this.result=10*this.result+(n-io.ZERO),this.consumed++,t++}return-1}emitNumericEntity(e,t){var n;if(this.consumed<=t)return null===(n=this.errors)||void 0===n||n.absenceOfDigitsInNumericCharacterReference(this.consumed),0;if(e===io.SEMI)this.consumed+=1;else if(this.decodeMode===co.Strict)return 0;return this.emitCodePoint(function(e){var t;return e>=55296&&e<=57343||e>1114111?65533:null!==(t=qi.get(e))&&void 0!==t?t:e}(this.result),this.consumed),this.errors&&(e!==io.SEMI&&this.errors.missingSemicolonAfterCharacterReference(),this.errors.validateNumericCharacterReference(this.result)),this.consumed}stateNamedEntity(e,t){const{decodeTree:n}=this;let r=n[this.treeIndex],i=(r&ro.VALUE_LENGTH)>>14;for(;t<e.length;){if(0===i&&0!==(r&ro.FLAG13)){const o=(r&ro.BRANCH_LENGTH)>>7;if(0===this.runConsumed){const n=r&ro.JUMP_TABLE;if(e.charCodeAt(t)!==n)return 0===this.result?0:this.emitNotTerminatedNamedEntity();t++,this.excess++,this.runConsumed++}for(;this.runConsumed<o;){if(t>=e.length)return-1;const r=this.runConsumed-1,i=n[this.treeIndex+1+(r>>1)],o=r%2==0?255&i:i>>8&255;if(e.charCodeAt(t)!==o)return this.runConsumed=0,0===this.result?0:this.emitNotTerminatedNamedEntity();t++,this.excess++,this.runConsumed++}this.runConsumed=0,this.treeIndex+=1+(o>>1),r=n[this.treeIndex],i=(r&ro.VALUE_LENGTH)>>14}if(t>=e.length)break;const o=e.charCodeAt(t);if(o===io.SEMI&&0!==i&&0!==(r&ro.FLAG13))return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);if(this.treeIndex=go(n,r,this.treeIndex+Math.max(1,i),o),this.treeIndex<0)return 0===this.result||this.decodeMode===co.Attribute&&(0===i||so(o))?0:this.emitNotTerminatedNamedEntity();if(r=n[this.treeIndex],i=(r&ro.VALUE_LENGTH)>>14,0!==i){if(o===io.SEMI)return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);this.decodeMode!==co.Strict&&0===(r&ro.FLAG13)&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}t++,this.excess++}return-1}emitNotTerminatedNamedEntity(){var e;const{result:t,decodeTree:n}=this,r=(n[t]&ro.VALUE_LENGTH)>>14;return this.emitNamedEntityData(t,r,this.consumed),null===(e=this.errors)||void 0===e||e.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(e,t,n){const{decodeTree:r}=this;return this.emitCodePoint(1===t?r[e]&~(ro.VALUE_LENGTH|ro.FLAG13):r[e+1],n),3===t&&this.emitCodePoint(r[e+2],n),n}end(){var e;switch(this.state){case ao.NamedEntity:return 0===this.result||this.decodeMode===co.Attribute&&this.result!==this.treeIndex?0:this.emitNotTerminatedNamedEntity();case ao.NumericDecimal:return this.emitNumericEntity(0,2);case ao.NumericHex:return this.emitNumericEntity(0,3);case ao.NumericStart:return null===(e=this.errors)||void 0===e||e.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case ao.EntityStart:return 0}}}function go(e,t,n,r){const i=(t&ro.BRANCH_LENGTH)>>7,o=t&ro.JUMP_TABLE;if(0===i)return 0!==o&&r===o?n:-1;if(o){const t=r-o;return t<0||t>=i?-1:e[n+t]-1}const A=i+1>>1;let s=0,a=i-1;for(;s<=a;){const t=s+a>>>1,i=e[n+(t>>1)]>>8*(1&t)&255;if(i<r)s=t+1;else{if(!(i>r))return e[n+A+t];a=t-1}}return-1}function po(e){return e===lo.Space||e===lo.NewLine||e===lo.Tab||e===lo.FormFeed||e===lo.CarriageReturn}function mo(e){return e===lo.Slash||e===lo.Gt||po(e)}!function(e){e[e.Tab=9]="Tab",e[e.NewLine=10]="NewLine",e[e.FormFeed=12]="FormFeed",e[e.CarriageReturn=13]="CarriageReturn",e[e.Space=32]="Space",e[e.ExclamationMark=33]="ExclamationMark",e[e.Number=35]="Number",e[e.Amp=38]="Amp",e[e.SingleQuote=39]="SingleQuote",e[e.DoubleQuote=34]="DoubleQuote",e[e.Dash=45]="Dash",e[e.Slash=47]="Slash",e[e.Zero=48]="Zero",e[e.Nine=57]="Nine",e[e.Semi=59]="Semi",e[e.Lt=60]="Lt",e[e.Eq=61]="Eq",e[e.Gt=62]="Gt",e[e.Questionmark=63]="Questionmark",e[e.UpperA=65]="UpperA",e[e.LowerA=97]="LowerA",e[e.UpperF=70]="UpperF",e[e.LowerF=102]="LowerF",e[e.UpperZ=90]="UpperZ",e[e.LowerZ=122]="LowerZ",e[e.LowerX=120]="LowerX",e[e.OpeningSquareBracket=91]="OpeningSquareBracket"}(lo||(lo={})),function(e){e[e.Text=1]="Text",e[e.BeforeTagName=2]="BeforeTagName",e[e.InTagName=3]="InTagName",e[e.InSelfClosingTag=4]="InSelfClosingTag",e[e.BeforeClosingTagName=5]="BeforeClosingTagName",e[e.InClosingTagName=6]="InClosingTagName",e[e.AfterClosingTagName=7]="AfterClosingTagName",e[e.BeforeAttributeName=8]="BeforeAttributeName",e[e.InAttributeName=9]="InAttributeName",e[e.AfterAttributeName=10]="AfterAttributeName",e[e.BeforeAttributeValue=11]="BeforeAttributeValue",e[e.InAttributeValueDq=12]="InAttributeValueDq",e[e.InAttributeValueSq=13]="InAttributeValueSq",e[e.InAttributeValueNq=14]="InAttributeValueNq",e[e.BeforeDeclaration=15]="BeforeDeclaration",e[e.InDeclaration=16]="InDeclaration",e[e.InProcessingInstruction=17]="InProcessingInstruction",e[e.BeforeComment=18]="BeforeComment",e[e.CDATASequence=19]="CDATASequence",e[e.InSpecialComment=20]="InSpecialComment",e[e.InCommentLike=21]="InCommentLike",e[e.BeforeSpecialS=22]="BeforeSpecialS",e[e.BeforeSpecialT=23]="BeforeSpecialT",e[e.SpecialStartSequence=24]="SpecialStartSequence",e[e.InSpecialTag=25]="InSpecialTag",e[e.InEntity=26]="InEntity"}(uo||(uo={})),function(e){e[e.NoValue=0]="NoValue",e[e.Unquoted=1]="Unquoted",e[e.Single=2]="Single",e[e.Double=3]="Double"}(ho||(ho={}));const bo={Cdata:new Uint8Array([67,68,65,84,65,91]),CdataEnd:new Uint8Array([93,93,62]),CommentEnd:new Uint8Array([45,45,62]),ScriptEnd:new Uint8Array([60,47,115,99,114,105,112,116]),StyleEnd:new Uint8Array([60,47,115,116,121,108,101]),TitleEnd:new Uint8Array([60,47,116,105,116,108,101]),TextareaEnd:new Uint8Array([60,47,116,101,120,116,97,114,101,97]),XmpEnd:new Uint8Array([60,47,120,109,112])};class yo{constructor({xmlMode:e=!1,decodeEntities:t=!0},n){this.cbs=n,this.state=uo.Text,this.buffer="",this.sectionStart=0,this.index=0,this.entityStart=0,this.baseState=uo.Text,this.isSpecial=!1,this.running=!0,this.offset=0,this.currentSequence=void 0,this.sequenceIndex=0,this.xmlMode=e,this.decodeEntities=t,this.entityDecoder=new fo(e?no:to,(e,t)=>this.emitCodePoint(e,t))}reset(){this.state=uo.Text,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=uo.Text,this.currentSequence=void 0,this.running=!0,this.offset=0}write(e){this.offset+=this.buffer.length,this.buffer=e,this.parse()}end(){this.running&&this.finish()}pause(){this.running=!1}resume(){this.running=!0,this.index<this.buffer.length+this.offset&&this.parse()}stateText(e){e===lo.Lt||!this.decodeEntities&&this.fastForwardTo(lo.Lt)?(this.index>this.sectionStart&&this.cbs.ontext(this.sectionStart,this.index),this.state=uo.BeforeTagName,this.sectionStart=this.index):this.decodeEntities&&e===lo.Amp&&this.startEntity()}stateSpecialStartSequence(e){const t=this.sequenceIndex===this.currentSequence.length;if(t?mo(e):(32|e)===this.currentSequence[this.sequenceIndex]){if(!t)return void this.sequenceIndex++}else this.isSpecial=!1;this.sequenceIndex=0,this.state=uo.InTagName,this.stateInTagName(e)}stateInSpecialTag(e){if(this.sequenceIndex===this.currentSequence.length){if(e===lo.Gt||po(e)){const t=this.index-this.currentSequence.length;if(this.sectionStart<t){const e=this.index;this.index=t,this.cbs.ontext(this.sectionStart,t),this.index=e}return this.isSpecial=!1,this.sectionStart=t+2,void this.stateInClosingTagName(e)}this.sequenceIndex=0}(32|e)===this.currentSequence[this.sequenceIndex]?this.sequenceIndex+=1:0===this.sequenceIndex?this.currentSequence===bo.TitleEnd?this.decodeEntities&&e===lo.Amp&&this.startEntity():this.fastForwardTo(lo.Lt)&&(this.sequenceIndex=1):this.sequenceIndex=Number(e===lo.Lt)}stateCDATASequence(e){e===bo.Cdata[this.sequenceIndex]?++this.sequenceIndex===bo.Cdata.length&&(this.state=uo.InCommentLike,this.currentSequence=bo.CdataEnd,this.sequenceIndex=0,this.sectionStart=this.index+1):(this.sequenceIndex=0,this.state=uo.InDeclaration,this.stateInDeclaration(e))}fastForwardTo(e){for(;++this.index<this.buffer.length+this.offset;)if(this.buffer.charCodeAt(this.index-this.offset)===e)return!0;return this.index=this.buffer.length+this.offset-1,!1}stateInCommentLike(e){e===this.currentSequence[this.sequenceIndex]?++this.sequenceIndex===this.currentSequence.length&&(this.currentSequence===bo.CdataEnd?this.cbs.oncdata(this.sectionStart,this.index,2):this.cbs.oncomment(this.sectionStart,this.index,2),this.sequenceIndex=0,this.sectionStart=this.index+1,this.state=uo.Text):0===this.sequenceIndex?this.fastForwardTo(this.currentSequence[0])&&(this.sequenceIndex=1):e!==this.currentSequence[this.sequenceIndex-1]&&(this.sequenceIndex=0)}isTagStartChar(e){return this.xmlMode?!mo(e):function(e){return e>=lo.LowerA&&e<=lo.LowerZ||e>=lo.UpperA&&e<=lo.UpperZ}(e)}startSpecial(e,t){this.isSpecial=!0,this.currentSequence=e,this.sequenceIndex=t,this.state=uo.SpecialStartSequence}stateBeforeTagName(e){if(e===lo.ExclamationMark)this.state=uo.BeforeDeclaration,this.sectionStart=this.index+1;else if(e===lo.Questionmark)this.state=uo.InProcessingInstruction,this.sectionStart=this.index+1;else if(this.isTagStartChar(e)){const t=32|e;this.sectionStart=this.index,this.xmlMode?this.state=uo.InTagName:t===bo.ScriptEnd[2]?this.state=uo.BeforeSpecialS:t===bo.TitleEnd[2]||t===bo.XmpEnd[2]?this.state=uo.BeforeSpecialT:this.state=uo.InTagName}else e===lo.Slash?this.state=uo.BeforeClosingTagName:(this.state=uo.Text,this.stateText(e))}stateInTagName(e){mo(e)&&(this.cbs.onopentagname(this.sectionStart,this.index),this.sectionStart=-1,this.state=uo.BeforeAttributeName,this.stateBeforeAttributeName(e))}stateBeforeClosingTagName(e){po(e)||(e===lo.Gt?this.state=uo.Text:(this.state=this.isTagStartChar(e)?uo.InClosingTagName:uo.InSpecialComment,this.sectionStart=this.index))}stateInClosingTagName(e){(e===lo.Gt||po(e))&&(this.cbs.onclosetag(this.sectionStart,this.index),this.sectionStart=-1,this.state=uo.AfterClosingTagName,this.stateAfterClosingTagName(e))}stateAfterClosingTagName(e){(e===lo.Gt||this.fastForwardTo(lo.Gt))&&(this.state=uo.Text,this.sectionStart=this.index+1)}stateBeforeAttributeName(e){e===lo.Gt?(this.cbs.onopentagend(this.index),this.isSpecial?(this.state=uo.InSpecialTag,this.sequenceIndex=0):this.state=uo.Text,this.sectionStart=this.index+1):e===lo.Slash?this.state=uo.InSelfClosingTag:po(e)||(this.state=uo.InAttributeName,this.sectionStart=this.index)}stateInSelfClosingTag(e){e===lo.Gt?(this.cbs.onselfclosingtag(this.index),this.state=uo.Text,this.sectionStart=this.index+1,this.isSpecial=!1):po(e)||(this.state=uo.BeforeAttributeName,this.stateBeforeAttributeName(e))}stateInAttributeName(e){(e===lo.Eq||mo(e))&&(this.cbs.onattribname(this.sectionStart,this.index),this.sectionStart=this.index,this.state=uo.AfterAttributeName,this.stateAfterAttributeName(e))}stateAfterAttributeName(e){e===lo.Eq?this.state=uo.BeforeAttributeValue:e===lo.Slash||e===lo.Gt?(this.cbs.onattribend(ho.NoValue,this.sectionStart),this.sectionStart=-1,this.state=uo.BeforeAttributeName,this.stateBeforeAttributeName(e)):po(e)||(this.cbs.onattribend(ho.NoValue,this.sectionStart),this.state=uo.InAttributeName,this.sectionStart=this.index)}stateBeforeAttributeValue(e){e===lo.DoubleQuote?(this.state=uo.InAttributeValueDq,this.sectionStart=this.index+1):e===lo.SingleQuote?(this.state=uo.InAttributeValueSq,this.sectionStart=this.index+1):po(e)||(this.sectionStart=this.index,this.state=uo.InAttributeValueNq,this.stateInAttributeValueNoQuotes(e))}handleInAttributeValue(e,t){e===t||!this.decodeEntities&&this.fastForwardTo(t)?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(t===lo.DoubleQuote?ho.Double:ho.Single,this.index+1),this.state=uo.BeforeAttributeName):this.decodeEntities&&e===lo.Amp&&this.startEntity()}stateInAttributeValueDoubleQuotes(e){this.handleInAttributeValue(e,lo.DoubleQuote)}stateInAttributeValueSingleQuotes(e){this.handleInAttributeValue(e,lo.SingleQuote)}stateInAttributeValueNoQuotes(e){po(e)||e===lo.Gt?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(ho.Unquoted,this.index),this.state=uo.BeforeAttributeName,this.stateBeforeAttributeName(e)):this.decodeEntities&&e===lo.Amp&&this.startEntity()}stateBeforeDeclaration(e){e===lo.OpeningSquareBracket?(this.state=uo.CDATASequence,this.sequenceIndex=0):this.state=e===lo.Dash?uo.BeforeComment:uo.InDeclaration}stateInDeclaration(e){(e===lo.Gt||this.fastForwardTo(lo.Gt))&&(this.cbs.ondeclaration(this.sectionStart,this.index),this.state=uo.Text,this.sectionStart=this.index+1)}stateInProcessingInstruction(e){(e===lo.Gt||this.fastForwardTo(lo.Gt))&&(this.cbs.onprocessinginstruction(this.sectionStart,this.index),this.state=uo.Text,this.sectionStart=this.index+1)}stateBeforeComment(e){e===lo.Dash?(this.state=uo.InCommentLike,this.currentSequence=bo.CommentEnd,this.sequenceIndex=2,this.sectionStart=this.index+1):this.state=uo.InDeclaration}stateInSpecialComment(e){(e===lo.Gt||this.fastForwardTo(lo.Gt))&&(this.cbs.oncomment(this.sectionStart,this.index,0),this.state=uo.Text,this.sectionStart=this.index+1)}stateBeforeSpecialS(e){const t=32|e;t===bo.ScriptEnd[3]?this.startSpecial(bo.ScriptEnd,4):t===bo.StyleEnd[3]?this.startSpecial(bo.StyleEnd,4):(this.state=uo.InTagName,this.stateInTagName(e))}stateBeforeSpecialT(e){switch(32|e){case bo.TitleEnd[3]:this.startSpecial(bo.TitleEnd,4);break;case bo.TextareaEnd[3]:this.startSpecial(bo.TextareaEnd,4);break;case bo.XmpEnd[3]:this.startSpecial(bo.XmpEnd,4);break;default:this.state=uo.InTagName,this.stateInTagName(e)}}startEntity(){this.baseState=this.state,this.state=uo.InEntity,this.entityStart=this.index,this.entityDecoder.startEntity(this.xmlMode?co.Strict:this.baseState===uo.Text||this.baseState===uo.InSpecialTag?co.Legacy:co.Attribute)}stateInEntity(){const e=this.index-this.offset,t=this.entityDecoder.write(this.buffer,e);if(t>=0)this.state=this.baseState,0===t&&(this.index-=1);else{if(e<this.buffer.length&&this.buffer.charCodeAt(e)===lo.Amp)return this.state=this.baseState,void(this.index-=1);this.index=this.offset+this.buffer.length-1}}cleanup(){this.running&&this.sectionStart!==this.index&&(this.state===uo.Text||this.state===uo.InSpecialTag&&0===this.sequenceIndex?(this.cbs.ontext(this.sectionStart,this.index),this.sectionStart=this.index):this.state!==uo.InAttributeValueDq&&this.state!==uo.InAttributeValueSq&&this.state!==uo.InAttributeValueNq||(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=this.index))}shouldContinue(){return this.index<this.buffer.length+this.offset&&this.running}parse(){for(;this.shouldContinue();){const e=this.buffer.charCodeAt(this.index-this.offset);switch(this.state){case uo.Text:this.stateText(e);break;case uo.SpecialStartSequence:this.stateSpecialStartSequence(e);break;case uo.InSpecialTag:this.stateInSpecialTag(e);break;case uo.CDATASequence:this.stateCDATASequence(e);break;case uo.InAttributeValueDq:this.stateInAttributeValueDoubleQuotes(e);break;case uo.InAttributeName:this.stateInAttributeName(e);break;case uo.InCommentLike:this.stateInCommentLike(e);break;case uo.InSpecialComment:this.stateInSpecialComment(e);break;case uo.BeforeAttributeName:this.stateBeforeAttributeName(e);break;case uo.InTagName:this.stateInTagName(e);break;case uo.InClosingTagName:this.stateInClosingTagName(e);break;case uo.BeforeTagName:this.stateBeforeTagName(e);break;case uo.AfterAttributeName:this.stateAfterAttributeName(e);break;case uo.InAttributeValueSq:this.stateInAttributeValueSingleQuotes(e);break;case uo.BeforeAttributeValue:this.stateBeforeAttributeValue(e);break;case uo.BeforeClosingTagName:this.stateBeforeClosingTagName(e);break;case uo.AfterClosingTagName:this.stateAfterClosingTagName(e);break;case uo.BeforeSpecialS:this.stateBeforeSpecialS(e);break;case uo.BeforeSpecialT:this.stateBeforeSpecialT(e);break;case uo.InAttributeValueNq:this.stateInAttributeValueNoQuotes(e);break;case uo.InSelfClosingTag:this.stateInSelfClosingTag(e);break;case uo.InDeclaration:this.stateInDeclaration(e);break;case uo.BeforeDeclaration:this.stateBeforeDeclaration(e);break;case uo.BeforeComment:this.stateBeforeComment(e);break;case uo.InProcessingInstruction:this.stateInProcessingInstruction(e);break;case uo.InEntity:this.stateInEntity()}this.index++}this.cleanup()}finish(){this.state===uo.InEntity&&(this.entityDecoder.end(),this.state=this.baseState),this.handleTrailingData(),this.cbs.onend()}handleTrailingData(){const e=this.buffer.length+this.offset;this.sectionStart>=e||(this.state===uo.InCommentLike?this.currentSequence===bo.CdataEnd?this.cbs.oncdata(this.sectionStart,e,0):this.cbs.oncomment(this.sectionStart,e,0):this.state===uo.InTagName||this.state===uo.BeforeAttributeName||this.state===uo.BeforeAttributeValue||this.state===uo.AfterAttributeName||this.state===uo.InAttributeName||this.state===uo.InAttributeValueSq||this.state===uo.InAttributeValueDq||this.state===uo.InAttributeValueNq||this.state===uo.InClosingTagName||this.cbs.ontext(this.sectionStart,e))}emitCodePoint(e,t){this.baseState!==uo.Text&&this.baseState!==uo.InSpecialTag?(this.sectionStart<this.entityStart&&this.cbs.onattribdata(this.sectionStart,this.entityStart),this.sectionStart=this.entityStart+t,this.index=this.sectionStart-1,this.cbs.onattribentity(e)):(this.sectionStart<this.entityStart&&this.cbs.ontext(this.sectionStart,this.entityStart),this.sectionStart=this.entityStart+t,this.index=this.sectionStart-1,this.cbs.ontextentity(e,this.sectionStart))}}const Io=new Set(["input","option","optgroup","select","button","datalist","textarea"]),wo=new Set(["p"]),Bo=new Set(["thead","tbody"]),Co=new Set(["dd","dt"]),xo=new Set(["rt","rp"]),ko=new Map([["tr",new Set(["tr","th","td"])],["th",new Set(["th"])],["td",new Set(["thead","th","td"])],["body",new Set(["head","link","script"])],["li",new Set(["li"])],["p",wo],["h1",wo],["h2",wo],["h3",wo],["h4",wo],["h5",wo],["h6",wo],["select",Io],["input",Io],["output",Io],["button",Io],["datalist",Io],["textarea",Io],["option",new Set(["option"])],["optgroup",new Set(["optgroup","option"])],["dd",Co],["dt",Co],["address",wo],["article",wo],["aside",wo],["blockquote",wo],["details",wo],["div",wo],["dl",wo],["fieldset",wo],["figcaption",wo],["figure",wo],["footer",wo],["form",wo],["header",wo],["hr",wo],["main",wo],["nav",wo],["ol",wo],["pre",wo],["section",wo],["table",wo],["ul",wo],["rt",xo],["rp",xo],["tbody",Bo],["tfoot",Bo]]),So=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]),vo=new Set(["math","svg"]),Do=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignobject","desc","title"]),Eo=/\s|\//;class Fo{constructor(e,t={}){var n,r,i,o,A,s;this.options=t,this.startIndex=0,this.endIndex=0,this.openTagStart=0,this.tagname="",this.attribname="",this.attribvalue="",this.attribs=null,this.stack=[],this.buffers=[],this.bufferOffset=0,this.writeIndex=0,this.ended=!1,this.cbs=null!=e?e:{},this.htmlMode=!this.options.xmlMode,this.lowerCaseTagNames=null!==(n=t.lowerCaseTags)&&void 0!==n?n:this.htmlMode,this.lowerCaseAttributeNames=null!==(r=t.lowerCaseAttributeNames)&&void 0!==r?r:this.htmlMode,this.recognizeSelfClosing=null!==(i=t.recognizeSelfClosing)&&void 0!==i?i:!this.htmlMode,this.tokenizer=new(null!==(o=t.Tokenizer)&&void 0!==o?o:yo)(this.options,this),this.foreignContext=[!this.htmlMode],null===(s=(A=this.cbs).onparserinit)||void 0===s||s.call(A,this)}ontext(e,t){var n,r;const i=this.getSlice(e,t);this.endIndex=t-1,null===(r=(n=this.cbs).ontext)||void 0===r||r.call(n,i),this.startIndex=t}ontextentity(e,t){var n,r;this.endIndex=t-1,null===(r=(n=this.cbs).ontext)||void 0===r||r.call(n,$i(e)),this.startIndex=t}isVoidElement(e){return this.htmlMode&&So.has(e)}onopentagname(e,t){this.endIndex=t;let n=this.getSlice(e,t);this.lowerCaseTagNames&&(n=n.toLowerCase()),this.emitOpenTag(n)}emitOpenTag(e){var t,n,r,i;this.openTagStart=this.startIndex,this.tagname=e;const o=this.htmlMode&&ko.get(e);if(o)for(;this.stack.length>0&&o.has(this.stack[0]);){const e=this.stack.shift();null===(n=(t=this.cbs).onclosetag)||void 0===n||n.call(t,e,!0)}this.isVoidElement(e)||(this.stack.unshift(e),this.htmlMode&&(vo.has(e)?this.foreignContext.unshift(!0):Do.has(e)&&this.foreignContext.unshift(!1))),null===(i=(r=this.cbs).onopentagname)||void 0===i||i.call(r,e),this.cbs.onopentag&&(this.attribs={})}endOpenTag(e){var t,n;this.startIndex=this.openTagStart,this.attribs&&(null===(n=(t=this.cbs).onopentag)||void 0===n||n.call(t,this.tagname,this.attribs,e),this.attribs=null),this.cbs.onclosetag&&this.isVoidElement(this.tagname)&&this.cbs.onclosetag(this.tagname,!0),this.tagname=""}onopentagend(e){this.endIndex=e,this.endOpenTag(!1),this.startIndex=e+1}onclosetag(e,t){var n,r,i,o,A,s,a,c;this.endIndex=t;let l=this.getSlice(e,t);if(this.lowerCaseTagNames&&(l=l.toLowerCase()),this.htmlMode&&(vo.has(l)||Do.has(l))&&this.foreignContext.shift(),this.isVoidElement(l))this.htmlMode&&"br"===l&&(null===(o=(i=this.cbs).onopentagname)||void 0===o||o.call(i,"br"),null===(s=(A=this.cbs).onopentag)||void 0===s||s.call(A,"br",{},!0),null===(c=(a=this.cbs).onclosetag)||void 0===c||c.call(a,"br",!1));else{const e=this.stack.indexOf(l);if(-1!==e)for(let t=0;t<=e;t++){const i=this.stack.shift();null===(r=(n=this.cbs).onclosetag)||void 0===r||r.call(n,i,t!==e)}else this.htmlMode&&"p"===l&&(this.emitOpenTag("p"),this.closeCurrentTag(!0))}this.startIndex=t+1}onselfclosingtag(e){this.endIndex=e,this.recognizeSelfClosing||this.foreignContext[0]?(this.closeCurrentTag(!1),this.startIndex=e+1):this.onopentagend(e)}closeCurrentTag(e){var t,n;const r=this.tagname;this.endOpenTag(e),this.stack[0]===r&&(null===(n=(t=this.cbs).onclosetag)||void 0===n||n.call(t,r,!e),this.stack.shift())}onattribname(e,t){this.startIndex=e;const n=this.getSlice(e,t);this.attribname=this.lowerCaseAttributeNames?n.toLowerCase():n}onattribdata(e,t){this.attribvalue+=this.getSlice(e,t)}onattribentity(e){this.attribvalue+=$i(e)}onattribend(e,t){var n,r;this.endIndex=t,null===(r=(n=this.cbs).onattribute)||void 0===r||r.call(n,this.attribname,this.attribvalue,e===ho.Double?'"':e===ho.Single?"'":e===ho.NoValue?void 0:null),this.attribs&&!Object.prototype.hasOwnProperty.call(this.attribs,this.attribname)&&(this.attribs[this.attribname]=this.attribvalue),this.attribvalue=""}getInstructionName(e){const t=e.search(Eo);let n=t<0?e:e.substr(0,t);return this.lowerCaseTagNames&&(n=n.toLowerCase()),n}ondeclaration(e,t){this.endIndex=t;const n=this.getSlice(e,t);if(this.cbs.onprocessinginstruction){const e=this.getInstructionName(n);this.cbs.onprocessinginstruction(`!${e}`,`!${n}`)}this.startIndex=t+1}onprocessinginstruction(e,t){this.endIndex=t;const n=this.getSlice(e,t);if(this.cbs.onprocessinginstruction){const e=this.getInstructionName(n);this.cbs.onprocessinginstruction(`?${e}`,`?${n}`)}this.startIndex=t+1}oncomment(e,t,n){var r,i,o,A;this.endIndex=t,null===(i=(r=this.cbs).oncomment)||void 0===i||i.call(r,this.getSlice(e,t-n)),null===(A=(o=this.cbs).oncommentend)||void 0===A||A.call(o),this.startIndex=t+1}oncdata(e,t,n){var r,i,o,A,s,a,c,l,u,h;this.endIndex=t;const d=this.getSlice(e,t-n);!this.htmlMode||this.options.recognizeCDATA?(null===(i=(r=this.cbs).oncdatastart)||void 0===i||i.call(r),null===(A=(o=this.cbs).ontext)||void 0===A||A.call(o,d),null===(a=(s=this.cbs).oncdataend)||void 0===a||a.call(s)):(null===(l=(c=this.cbs).oncomment)||void 0===l||l.call(c,`[CDATA[${d}]]`),null===(h=(u=this.cbs).oncommentend)||void 0===h||h.call(u)),this.startIndex=t+1}onend(){var e,t;if(this.cbs.onclosetag){this.endIndex=this.startIndex;for(let e=0;e<this.stack.length;e++)this.cbs.onclosetag(this.stack[e],!0)}null===(t=(e=this.cbs).onend)||void 0===t||t.call(e)}reset(){var e,t,n,r;null===(t=(e=this.cbs).onreset)||void 0===t||t.call(e),this.tokenizer.reset(),this.tagname="",this.attribname="",this.attribs=null,this.stack.length=0,this.startIndex=0,this.endIndex=0,null===(r=(n=this.cbs).onparserinit)||void 0===r||r.call(n,this),this.buffers.length=0,this.foreignContext.length=0,this.foreignContext.unshift(!this.htmlMode),this.bufferOffset=0,this.writeIndex=0,this.ended=!1}parseComplete(e){this.reset(),this.end(e)}getSlice(e,t){for(;e-this.bufferOffset>=this.buffers[0].length;)this.shiftBuffer();let n=this.buffers[0].slice(e-this.bufferOffset,t-this.bufferOffset);for(;t-this.bufferOffset>this.buffers[0].length;)this.shiftBuffer(),n+=this.buffers[0].slice(0,t-this.bufferOffset);return n}shiftBuffer(){this.bufferOffset+=this.buffers[0].length,this.writeIndex--,this.buffers.shift()}write(e){var t,n;this.ended?null===(n=(t=this.cbs).onerror)||void 0===n||n.call(t,new Error(".write() after done!")):(this.buffers.push(e),this.tokenizer.running&&(this.tokenizer.write(e),this.writeIndex++))}end(e){var t,n;this.ended?null===(n=(t=this.cbs).onerror)||void 0===n||n.call(t,new Error(".end() after done!")):(e&&this.write(e),this.ended=!0,this.tokenizer.end())}pause(){this.tokenizer.pause()}resume(){for(this.tokenizer.resume();this.tokenizer.running&&this.writeIndex<this.buffers.length;)this.tokenizer.write(this.buffers[this.writeIndex++]);this.ended&&this.tokenizer.end()}parseChunk(e){this.write(e)}done(e){this.end(e)}}const Qo=/["&'<>$\x80-\uFFFF]/g,Wo=new Map([[34,"""],[38,"&"],[39,"'"],[60,"<"],[62,">"]]),No=null!=String.prototype.codePointAt?(e,t)=>e.codePointAt(t):(e,t)=>55296==(64512&e.charCodeAt(t))?1024*(e.charCodeAt(t)-55296)+e.charCodeAt(t+1)-56320+65536:e.charCodeAt(t);function Ko(e){let t,n="",r=0;for(;null!==(t=Qo.exec(e));){const i=t.index,o=e.charCodeAt(i),A=Wo.get(o);void 0!==A?(n+=e.substring(r,i)+A,r=i+1):(n+=`${e.substring(r,i)}&#x${No(e,i).toString(16)};`,r=Qo.lastIndex+=Number(55296==(64512&o)))}return n+e.substr(r)}function Go(e,t){return function(n){let r,i=0,o="";for(;r=e.exec(n);)i!==r.index&&(o+=n.substring(i,r.index)),o+=t.get(r[0].charCodeAt(0)),i=r.index+1;return o+n.substring(i)}}const jo=Go(/["&\u00A0]/g,new Map([[34,"""],[38,"&"],[160," "]])),Yo=Go(/[&<>\u00A0]/g,new Map([[38,"&"],[60,"<"],[62,">"],[160," "]])),Lo=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map(e=>[e.toLowerCase(),e])),Jo=new Map(["definitionURL","attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map(e=>[e.toLowerCase(),e])),Ro=new Set(["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"]);function Ho(e){return e.replace(/"/g,""")}const Mo=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]);function Zo(e,t={}){const n="length"in e?e:[e];let r="";for(let e=0;e<n.length;e++)r+=Oo(n[e],t);return r}function Oo(e,t){switch(e.type){case Nn:return Zo(e.children,t);case Hn:case Gn:return`<${e.data}>`;case jn:return function(e){return`\x3c!--${e.data}--\x3e`}(e);case Rn:return function(e){return`<![CDATA[${e.children[0].data}]]>`}(e);case Yn:case Ln:case Jn:return function(e,t){var n;"foreign"===t.xmlMode&&(e.name=null!==(n=Lo.get(e.name))&&void 0!==n?n:e.name,e.parent&&Uo.has(e.parent.name)&&(t={...t,xmlMode:!1}));!t.xmlMode&&To.has(e.name)&&(t={...t,xmlMode:"foreign"});let r=`<${e.name}`;const i=function(e,t){var n;if(!e)return;const r=!1===(null!==(n=t.encodeEntities)&&void 0!==n?n:t.decodeEntities)?Ho:t.xmlMode||"utf8"!==t.encodeEntities?Ko:jo;return Object.keys(e).map(n=>{var i,o;const A=null!==(i=e[n])&&void 0!==i?i:"";return"foreign"===t.xmlMode&&(n=null!==(o=Jo.get(n))&&void 0!==o?o:n),t.emptyAttrs||t.xmlMode||""!==A?`${n}="${r(A)}"`:n}).join(" ")}(e.attribs,t);i&&(r+=` ${i}`);0===e.children.length&&(t.xmlMode?!1!==t.selfClosingTags:t.selfClosingTags&&Mo.has(e.name))?(t.xmlMode||(r+=" "),r+="/>"):(r+=">",e.children.length>0&&(r+=Zo(e.children,t)),!t.xmlMode&&Mo.has(e.name)||(r+=`</${e.name}>`));return r}(e,t);case Kn:return function(e,t){var n;let r=e.data||"";!1===(null!==(n=t.encodeEntities)&&void 0!==n?n:t.decodeEntities)||!t.xmlMode&&e.parent&&Ro.has(e.parent.name)||(r=t.xmlMode||"utf8"!==t.encodeEntities?Ko(r):Yo(r));return r}(e,t)}}const Uo=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignObject","desc","title"]),To=new Set(["svg","math"]);const Vo={defaultMerge:Symbol("deepmerge-ts: default merge"),skip:Symbol("deepmerge-ts: skip")};function Po(e,t){const n={key:t.key,parents:t.parents,values:t.values,result:t.result},r=e?.hierarchy;return{...n,hierarchy:void 0===r?[n]:[...r,n]}}function Xo(e,t){return e.includes(void 0)?e.filter(e=>void 0!==e):e}function zo(e,t,n){return n===Vo.defaultMerge||e.useImplicitDefaultMerging&&void 0===n&&e.mergeFunctions[t]!==e.defaultMergeFunctions[t]}function _o(e,t){return{...t,...Object.fromEntries(Object.entries(e).filter(([e])=>Object.hasOwn(t,e)).map(([e,n])=>!1===n?[e,t.mergeOthers]:"function"==typeof n?[e,n]:[e,t[e]]))}}var qo;function $o(e){return"object"!=typeof e||null===e?qo.NOT:Array.isArray(e)?qo.ARRAY:function(e){const t=Object.getPrototypeOf(e);if(null===t||t===Object.prototype)return!0;const n=Object.prototype.toString.call(e);if("[object Object]"!==n&&"[object Module]"!==n)return!1;const{constructor:r}=e;if(void 0===r)return!0;const i=r.prototype;if(null===i||"object"!=typeof i)return!1;const o=Object.prototype.toString.call(i);if("[object Object]"!==o&&"[object Module]"!==o)return!1;if(!Object.hasOwn(i,"isPrototypeOf"))return!1;return!0}(e)?qo.RECORD:e instanceof Set?qo.SET:e instanceof Map?qo.MAP:qo.OTHER}function eA(e){const t=Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t));return[...Object.keys(e),...t]}function tA(e,t){return"object"==typeof e&&Object.prototype.propertyIsEnumerable.call(e,t)}function nA(e,t,n){if(void 0===t||0===t.length)return 0;let r=1;for(let i=t.length-1;i>=0;i--){const{parents:o}=t[i];if(o[n]===e||o.includes(e))return r;r+=1}return 0}function rA(e){return e?.hierarchy}function iA(e,t,n){if("object"!=typeof e||null===e)return e;const r=rA(n),i=nA(e,r,0);if(void 0!==r&&i>0)return r[r.length-i]?.result;if($o(e)===qo.RECORD){const r=e;let i=!1;const o={};for(const e of eA(r)){const A=r[e],s=t.metaDataUpdater(n,{key:e,parents:[r],values:[A],result:o}),a=iA(A,t,s);a!==A&&(i=!0),"__proto__"===e?Object.defineProperty(o,e,{value:a,configurable:!0,enumerable:!0,writable:!0}):o[e]=a}return i?o:e}return e}!function(e){e[e.NOT=0]="NOT",e[e.RECORD=1]="RECORD",e[e.ARRAY=2]="ARRAY",e[e.SET=3]="SET",e[e.MAP=4]="MAP",e[e.OTHER=5]="OTHER"}(qo||(qo={}));const oA={mergeRecords:function(e,t,n){if(2===e.length){const r={},i=(i,o)=>{const A=t.metaDataUpdater(n,{key:i,parents:e,values:o,result:r}),s=sA(o,t,A);s!==Vo.skip&&("__proto__"===i?Object.defineProperty(r,i,{value:s,configurable:!0,enumerable:!0,writable:!0}):r[i]=s)},o=e[0],A=e[1];for(const e of eA(o))i(e,tA(A,e)?[o[e],A[e]]:[o[e]]);for(const e of eA(A))tA(o,e)||i(e,[A[e]]);return r}return function(e,t,n){const r={};for(const i of function(e){const t=new Set;for(const n of e){const e=Object.keys(n);for(const n of e)t.add(n);const r=Object.getOwnPropertySymbols(n);if(r.length>0)for(const e of r)Object.prototype.propertyIsEnumerable.call(n,e)&&t.add(e)}return t}(e)){const o=[];for(const t of e)tA(t,i)&&o.push(t[i]);const A=t.metaDataUpdater(n,{key:i,parents:e,values:o,result:r}),s=sA(o,t,A);s!==Vo.skip&&("__proto__"===i?Object.defineProperty(r,i,{value:s,configurable:!0,enumerable:!0,writable:!0}):r[i]=s)}return r}(e,t,n)},mergeArrays:function(e,t,n){return e.flat()},mergeSets:function(e,t,n){const r=new Set;for(const t of e)for(const e of t)r.add(e);return r},mergeMaps:function(e,t,n){const r=new Map,i=new Map;for(const t of e)for(const[e,n]of t){const t=i.get(e);void 0===t?i.set(e,[n]):t.push(n)}for(const[o,A]of i){const i=t.metaDataUpdater(n,{key:o,parents:e,values:A,result:r}),s=sA(A,t,i);s!==Vo.skip&&r.set(o,s)}return r},mergeCircularReferences:function(e,t,n,r){const i=t[0],o=rA(r);for(let A=1;A<e.length;A++)if(t[A]!==i){const i=t.at(-1);return 0===i?iA(e.at(-1),n,r):o?.[o.length-i]?.result}return o?.[o.length-i]?.result},mergeOthers:function(e,t,n){return e.at(-1)}};function AA(e={},t){const n=function(e,t){const n=Po;return{defaultMergeFunctions:oA,mergeFunctions:_o(e,oA),metaDataUpdater:"function"==typeof e.metaDataUpdater?e.metaDataUpdater:n,deepmerge:t,useImplicitDefaultMerging:e.enableImplicitDefaultMerging??!1,filterValues:!1===e.filterValues?void 0:"function"==typeof e.filterValues?e.filterValues:Xo,maxDepth:"number"==typeof e.maxDepth&&!Number.isNaN(e.maxDepth)&&e.maxDepth>=0?e.maxDepth:1e3,actions:Vo}}(e,r);function r(...e){return sA(e,n,t??void 0)}return r}function sA(e,t,n){const r=t.filterValues?.(e,n)??e;if(0===r.length)return;const i=rA(n),o=i?.length??("number"==typeof n?n:n?.depth??0);if(void 0!==t.maxDepth&&o>=t.maxDepth)return cA(r,t,n);if(1===r.length){if(void 0!==i){const e=nA(r[0],i,0);if(e>0)return i[i.length-e]?.result??i[i.length-e]?.parents[0]}return cA(r,t,n)}const A=$o(r[0]);if(A!==qo.NOT&&A!==qo.OTHER)if(2===r.length){if($o(r[1])!==A)return cA(r,t,n);const e=nA(r[0],i,0),o=nA(r[1],i,1);if(0!==e||0!==o)return aA(r,[e,o],t,n)}else{const e=new Array(r.length);e[0]=nA(r[0],i,0);for(let o=1;o<r.length;o++){if($o(r[o])!==A)return cA(r,t,n);e[o]=nA(r[o],i,o)}if(e.some(e=>0!==e))return aA(r,e,t,n)}switch(A){case qo.RECORD:return function(e,t,n){const r=t.mergeFunctions.mergeRecords(e,t,n);if(zo(t,"mergeRecords",r))return t.defaultMergeFunctions.mergeRecords(e,t,n);return r}(r,t,n);case qo.ARRAY:return function(e,t,n){const r=t.mergeFunctions.mergeArrays(e,t,n);if(zo(t,"mergeArrays",r))return t.defaultMergeFunctions.mergeArrays(e);return r}(r,t,n);case qo.SET:return function(e,t,n){const r=t.mergeFunctions.mergeSets(e,t,n);if(zo(t,"mergeSets",r))return t.defaultMergeFunctions.mergeSets(e);return r}(r,t,n);case qo.MAP:return function(e,t,n){const r=t.mergeFunctions.mergeMaps(e,t,n);if(zo(t,"mergeMaps",r))return t.defaultMergeFunctions.mergeMaps(e,t,n);return r}(r,t,n);default:return cA(r,t,n)}}function aA(e,t,n,r){const i=n.mergeFunctions.mergeCircularReferences(e,t,n,r);return zo(n,"mergeCircularReferences",i)?n.defaultMergeFunctions.mergeCircularReferences(e,t,n,r):i}function cA(e,t,n){const r=t.mergeFunctions.mergeOthers(e,t,n);return zo(t,"mergeOthers",r)?t.defaultMergeFunctions.mergeOthers(e):r}function lA(e,t,n=()=>{}){if(void 0===e){const e=function(...n){return t(e,...n)};return e}return e>=0?function(...r){return t(lA(e-1,t,n),...r)}:n}function uA(e,t){let n=0,r=e.length;for(;n<r&&e[n]===t;)++n;for(;r>n&&e[r-1]===t;)--r;return n>0||r<e.length?e.substring(n,r):e}function hA(e,t){for(const n of t){if(!e)return;e=e[n]}return e}function dA(e,t="a",n=26){const r=[];do{e-=1,r.push(e%n),e=e/n|0}while(e>0);const i=t.charCodeAt(0);return r.reverse().map(e=>String.fromCharCode(i+e)).join("")}const fA=["I","X","C","M"],gA=["V","L","D"];function pA(e){return[...e+""].map(e=>+e).reverse().map((e,t)=>e%5<4?(e<5?"":gA[t])+fA[t].repeat(e%5):fA[t]+(e<5?gA[t]:fA[t+1])).reverse().join("")}class mA{constructor(e,t=void 0){this.lines=[],this.nextLineWords=[],this.maxLineLength=t||e.wordwrap||Number.MAX_VALUE,this.nextLineAvailableChars=this.maxLineLength,this.wrapCharacters=hA(e,["longWordSplit","wrapCharacters"])||[],this.forceWrapOnLimit=hA(e,["longWordSplit","forceWrapOnLimit"])||!1,this.stashedSpace=!1,this.wordBreakOpportunity=!1}pushWord(e,t=!1){this.nextLineAvailableChars<=0&&!t&&this.startNewLine();const n=0===this.nextLineWords.length,r=e.length+(n?0:1);if(r<=this.nextLineAvailableChars||t)this.nextLineWords.push(e),this.nextLineAvailableChars-=r;else{const[t,...r]=this.splitLongWord(e);n||this.startNewLine(),this.nextLineWords.push(t),this.nextLineAvailableChars-=t.length;for(const e of r)this.startNewLine(),this.nextLineWords.push(e),this.nextLineAvailableChars-=e.length}}popWord(){const e=this.nextLineWords.pop();if(void 0!==e){const t=0===this.nextLineWords.length,n=e.length+(t?0:1);this.nextLineAvailableChars+=n}return e}concatWord(e,t=!1){if(this.wordBreakOpportunity&&e.length>this.nextLineAvailableChars)this.pushWord(e,t),this.wordBreakOpportunity=!1;else{const n=this.popWord();this.pushWord(n?n.concat(e):e,t)}}startNewLine(e=1){this.lines.push(this.nextLineWords),e>1&&this.lines.push(...Array.from({length:e-1},()=>[])),this.nextLineWords=[],this.nextLineAvailableChars=this.maxLineLength}isEmpty(){return 0===this.lines.length&&0===this.nextLineWords.length}clear(){this.lines.length=0,this.nextLineWords.length=0,this.nextLineAvailableChars=this.maxLineLength}toString(){return[...this.lines,this.nextLineWords].map(e=>e.join(" ")).join("\n")}splitLongWord(e){const t=[];let n=0;for(;e.length>this.maxLineLength;){const r=e.substring(0,this.maxLineLength),i=e.substring(this.maxLineLength),o=r.lastIndexOf(this.wrapCharacters[n]);if(o>-1)e=r.substring(o+1)+i,t.push(r.substring(0,o+1));else{if(n++,!(n<this.wrapCharacters.length)){if(this.forceWrapOnLimit){if(t.push(r),(e=i).length>this.maxLineLength)continue}else e=r+i;break}e=r+i}}return t.push(e),t}}class bA{constructor(e=null){this.next=e}getRoot(){return this.next?this.next:this}}class yA extends bA{constructor(e,t=null,n=1,r=void 0){super(t),this.leadingLineBreaks=n,this.inlineTextBuilder=new mA(e,r),this.rawText="",this.stashedLineBreaks=0,this.isPre=t&&t.isPre,this.isNoWrap=t&&t.isNoWrap}}class IA extends yA{constructor(e,t=null,{interRowLineBreaks:n=1,leadingLineBreaks:r=2,maxLineLength:i,maxPrefixLength:o=0,prefixAlign:A="left"}={}){super(e,t,r,i),this.maxPrefixLength=o,this.prefixAlign=A,this.interRowLineBreaks=n}}class wA extends yA{constructor(e,t=null,{leadingLineBreaks:n=1,maxLineLength:r,prefix:i=""}={}){super(e,t,n,r),this.prefix=i}}class BA extends bA{constructor(e=null){super(e),this.rows=[],this.isPre=e&&e.isPre,this.isNoWrap=e&&e.isNoWrap}}class CA extends bA{constructor(e=null){super(e),this.cells=[],this.isPre=e&&e.isPre,this.isNoWrap=e&&e.isNoWrap}}class xA extends bA{constructor(e,t=null,n=void 0){super(t),this.inlineTextBuilder=new mA(e,n),this.rawText="",this.stashedLineBreaks=0,this.isPre=t&&t.isPre,this.isNoWrap=t&&t.isNoWrap}}class kA extends bA{constructor(e=null,t){super(e),this.transform=t}}class SA{constructor(e){this.whitespaceChars=e.preserveNewlines?e.whitespaceCharacters.replace(/\n/g,""):e.whitespaceCharacters;const t=(n=this.whitespaceChars,[...n].map(e=>"\\u"+e.charCodeAt(0).toString(16).padStart(4,"0")).join(""));var n;if(this.leadingWhitespaceRe=new RegExp(`^[${t}]`),this.trailingWhitespaceRe=new RegExp(`[${t}]$`),this.allWhitespaceOrEmptyRe=new RegExp(`^[${t}]*$`),this.newlineOrNonWhitespaceRe=new RegExp(`(\\n|[^\\n${t}])`,"g"),this.newlineOrNonNewlineStringRe=new RegExp("(\\n|[^\\n]+)","g"),e.preserveNewlines){const e=new RegExp(`\\n|[^\\n${t}]+`,"gm");this.shrinkWrapAdd=function(t,n,r=e=>e,i=!1){if(!t)return;const o=n.stashedSpace;let A=!1,s=e.exec(t);if(s)for(A=!0,"\n"===s[0]?n.startNewLine():o||this.testLeadingWhitespace(t)?n.pushWord(r(s[0]),i):n.concatWord(r(s[0]),i);null!==(s=e.exec(t));)"\n"===s[0]?n.startNewLine():n.pushWord(r(s[0]),i);n.stashedSpace=o&&!A||this.testTrailingWhitespace(t)}}else{const e=new RegExp(`[^${t}]+`,"g");this.shrinkWrapAdd=function(t,n,r=e=>e,i=!1){if(!t)return;const o=n.stashedSpace;let A=!1,s=e.exec(t);if(s)for(A=!0,o||this.testLeadingWhitespace(t)?n.pushWord(r(s[0]),i):n.concatWord(r(s[0]),i);null!==(s=e.exec(t));)n.pushWord(r(s[0]),i);n.stashedSpace=o&&!A||this.testTrailingWhitespace(t)}}}addLiteral(e,t,n=!0){if(!e)return;const r=t.stashedSpace;let i=!1,o=this.newlineOrNonNewlineStringRe.exec(e);if(o)for(i=!0,"\n"===o[0]?t.startNewLine():r?t.pushWord(o[0],n):t.concatWord(o[0],n);null!==(o=this.newlineOrNonNewlineStringRe.exec(e));)"\n"===o[0]?t.startNewLine():t.pushWord(o[0],n);t.stashedSpace=r&&!i}testLeadingWhitespace(e){return this.leadingWhitespaceRe.test(e)}testTrailingWhitespace(e){return this.trailingWhitespaceRe.test(e)}testContainsWords(e){return!this.allWhitespaceOrEmptyRe.test(e)}countNewlinesNoWords(e){this.newlineOrNonWhitespaceRe.lastIndex=0;let t,n=0;for(;null!==(t=this.newlineOrNonWhitespaceRe.exec(e));){if("\n"!==t[0])return 0;n++}return n}}class vA{constructor(e,t,n=void 0){this.options=e,this.picker=t,this.metadata=n,this.whitespaceProcessor=new SA(e),this._stackItem=new yA(e),this._wordTransformer=void 0}pushWordTransform(e){this._wordTransformer=new kA(this._wordTransformer,e)}popWordTransform(){if(!this._wordTransformer)return;const e=this._wordTransformer.transform;return this._wordTransformer=this._wordTransformer.next,e}startNoWrap(){this._stackItem.isNoWrap=!0}stopNoWrap(){this._stackItem.isNoWrap=!1}_getCombinedWordTransformer(){const e=this._wordTransformer?e=>FA(e,this._wordTransformer):void 0,t=this.options.encodeCharacters;return e?t?n=>t(e(n)):e:t}_popStackItem(){const e=this._stackItem;return this._stackItem=e.next,e}addLineBreak(){(this._stackItem instanceof yA||this._stackItem instanceof wA||this._stackItem instanceof xA)&&(this._stackItem.isPre?this._stackItem.rawText+="\n":this._stackItem.inlineTextBuilder.startNewLine())}addWordBreakOpportunity(){(this._stackItem instanceof yA||this._stackItem instanceof wA||this._stackItem instanceof xA)&&(this._stackItem.inlineTextBuilder.wordBreakOpportunity=!0)}addInline(e,{noWordTransform:t=!1}={}){if(this._stackItem instanceof yA||this._stackItem instanceof wA||this._stackItem instanceof xA)if(this._stackItem.isPre)this._stackItem.rawText+=e;else if(0!==e.length&&(!this._stackItem.stashedLineBreaks||this.whitespaceProcessor.testContainsWords(e))){if(this.options.preserveNewlines){const t=this.whitespaceProcessor.countNewlinesNoWords(e);if(t>0)return void this._stackItem.inlineTextBuilder.startNewLine(t)}this._stackItem.stashedLineBreaks&&this._stackItem.inlineTextBuilder.startNewLine(this._stackItem.stashedLineBreaks),this.whitespaceProcessor.shrinkWrapAdd(e,this._stackItem.inlineTextBuilder,t?void 0:this._getCombinedWordTransformer(),this._stackItem.isNoWrap),this._stackItem.stashedLineBreaks=0}}addLiteral(e){(this._stackItem instanceof yA||this._stackItem instanceof wA||this._stackItem instanceof xA)&&0!==e.length&&(this._stackItem.isPre?this._stackItem.rawText+=e:(this._stackItem.stashedLineBreaks&&this._stackItem.inlineTextBuilder.startNewLine(this._stackItem.stashedLineBreaks),this.whitespaceProcessor.addLiteral(e,this._stackItem.inlineTextBuilder,this._stackItem.isNoWrap),this._stackItem.stashedLineBreaks=0))}openBlock({leadingLineBreaks:e=1,reservedLineLength:t=0,isPre:n=!1}={}){const r=Math.max(20,this._stackItem.inlineTextBuilder.maxLineLength-t);this._stackItem=new yA(this.options,this._stackItem,e,r),n&&(this._stackItem.isPre=!0)}closeBlock({trailingLineBreaks:e=1,blockTransform:t}={}){const n=this._popStackItem(),r=t?t(DA(n)):DA(n);EA(this._stackItem,r,n.leadingLineBreaks,Math.max(n.stashedLineBreaks,e))}openList({maxPrefixLength:e=0,prefixAlign:t="left",interRowLineBreaks:n=1,leadingLineBreaks:r=2}={}){this._stackItem=new IA(this.options,this._stackItem,{interRowLineBreaks:n,leadingLineBreaks:r,maxLineLength:this._stackItem.inlineTextBuilder.maxLineLength,maxPrefixLength:e,prefixAlign:t})}openListItem({prefix:e=""}={}){if(!(this._stackItem instanceof IA))throw new Error("Can't add a list item to something that is not a list! Check the formatter.");const t=this._stackItem,n=Math.max(e.length,t.maxPrefixLength),r=Math.max(20,t.inlineTextBuilder.maxLineLength-n);this._stackItem=new wA(this.options,t,{prefix:e,maxLineLength:r,leadingLineBreaks:t.interRowLineBreaks})}closeListItem(){const e=this._popStackItem(),t=e.next,n=Math.max(e.prefix.length,t.maxPrefixLength),r="\n"+" ".repeat(n);EA(t,("right"===t.prefixAlign?e.prefix.padStart(n):e.prefix.padEnd(n))+DA(e).replace(/\n/g,r),e.leadingLineBreaks,Math.max(e.stashedLineBreaks,t.interRowLineBreaks))}closeList({trailingLineBreaks:e=2}={}){const t=this._popStackItem(),n=DA(t);n&&EA(this._stackItem,n,t.leadingLineBreaks,e)}openTable(){this._stackItem=new BA(this._stackItem)}openTableRow(){if(!(this._stackItem instanceof BA))throw new Error("Can't add a table row to something that is not a table! Check the formatter.");this._stackItem=new CA(this._stackItem)}openTableCell({maxColumnWidth:e}={}){if(!(this._stackItem instanceof CA))throw new Error("Can't add a table cell to something that is not a table row! Check the formatter.");this._stackItem=new xA(this.options,this._stackItem,e)}closeTableCell({colspan:e=1,rowspan:t=1}={}){const n=this._popStackItem(),r=uA(DA(n),"\n");n.next.cells.push({colspan:e,rowspan:t,text:r})}closeTableRow(){const e=this._popStackItem();e.next.rows.push(e.cells)}closeTable({tableToString:e,leadingLineBreaks:t=2,trailingLineBreaks:n=2}){const r=e(this._popStackItem().rows);r&&EA(this._stackItem,r,t,n)}toString(){return DA(this._stackItem.getRoot())}}function DA(e){if(!(e instanceof yA||e instanceof wA||e instanceof xA))throw new Error("Only blocks, list items and table cells can be requested for text contents.");return e.inlineTextBuilder.isEmpty()?e.rawText:e.rawText+e.inlineTextBuilder.toString()}function EA(e,t,n,r){if(!(e instanceof yA||e instanceof wA||e instanceof xA))throw new Error("Only blocks, list items and table cells can contain text.");const i=DA(e),o=Math.max(e.stashedLineBreaks,n);e.inlineTextBuilder.clear(),i?e.rawText=i+"\n".repeat(o)+t:(e.rawText=t,e.leadingLineBreaks=o),e.stashedLineBreaks=r}function FA(e,t){return t?FA(t.transform(e),t.next):e}function QA(e={}){const t=e.selectors.filter(e=>!e.format);if(t.length)throw new Error("Following selectors have no specified format: "+t.map(e=>`\`${e.selector}\``).join(", "));const n=new Di(e.selectors.map(e=>[e.selector,e])).build(Oi);"function"!=typeof e.encodeCharacters&&(e.encodeCharacters=function(e){if(!e||0===Object.keys(e).length)return;const t=Object.entries(e).filter(([,e])=>!1!==e),n=new RegExp(t.map(([e])=>{return`(${t=[...e][0],t.replace(/[\s\S]/g,e=>"\\u"+e.charCodeAt().toString(16).padStart(4,"0"))})`;var t}).join("|"),"g"),r=t.map(([,e])=>e),i=(e,...t)=>r[t.findIndex(e=>e)];return e=>e.replace(n,i)}(e.encodeCharacters));const r=new Di(e.baseElements.selectors.map((e,t)=>[e,t+1])).build(Oi);function i(t){return function(e,t,n){const r=[];function i(e,i){i=i.slice(0,t.limits.maxChildNodes);for(const o of i){if("tag"!==o.type)continue;const i=n.pick1(o);if(i>0?r.push({selectorIndex:i,element:o}):o.children&&e(o.children),r.length>=t.limits.maxBaseElements)return}}const o=lA(t.limits.maxDepth,i);o(e),"occurrence"!==t.baseElements.orderBy&&r.sort((e,t)=>e.selectorIndex-t.selectorIndex);return t.baseElements.returnDomByDefault&&0===r.length?e:r.map(e=>e.element)}(t,e,r)}const o=lA(e.limits.maxDepth,WA,function(t,n){n.addInline(e.limits.ellipsis||"")});return function(t,r=void 0){return function(e,t,n,r,i,o){const A=n.limits.maxInputLength;A&&e&&e.length>A&&(console.warn(`Input length ${e.length} is above allowed limit of ${A}. Truncating without ellipsis.`),e=e.substring(0,A));const s=function(e,t){const n=new tr(void 0,t);return new Fo(n,t).end(e),n.root}(e,{decodeEntities:n.decodeEntities}),a=i(s.children),c=new vA(n,r,t);return o(a,c),c.toString()}(t,r,e,n,i,o)}}function WA(e,t,n){if(!t)return;const r=n.options;t.length>r.limits.maxChildNodes&&(t=t.slice(0,r.limits.maxChildNodes)).push({data:r.limits.ellipsis,type:"text"});for(const i of t)switch(i.type){case"text":n.addInline(i.data);break;case"tag":{const t=n.picker.pick1(i);(0,r.formatters[t.format])(i,e,n,t.options||{});break}}}function NA(e){const t=e.attribs&&e.attribs.length?" "+Object.entries(e.attribs).map(([e,t])=>""===t?e:`${e}=${t.replace(/"/g,""")}`).join(" "):"";return`<${e.name}${t}>`}function KA(e){return`</${e.name}>`}var GA=Object.freeze({__proto__:null,block:function(e,t,n,r){n.openBlock({leadingLineBreaks:r.leadingLineBreaks||2}),t(e.children,n),n.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2})},blockHtml:function(e,t,n,r){n.openBlock({leadingLineBreaks:r.leadingLineBreaks||2}),n.startNoWrap(),n.addLiteral(Zo(e,{decodeEntities:n.options.decodeEntities})),n.stopNoWrap(),n.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2})},blockString:function(e,t,n,r){n.openBlock({leadingLineBreaks:r.leadingLineBreaks||2}),n.addLiteral(r.string||""),n.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2})},blockTag:function(e,t,n,r){n.openBlock({leadingLineBreaks:r.leadingLineBreaks||2}),n.startNoWrap(),n.addLiteral(NA(e)),n.stopNoWrap(),t(e.children,n),n.startNoWrap(),n.addLiteral(KA(e)),n.stopNoWrap(),n.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2})},inline:function(e,t,n,r){t(e.children,n)},inlineHtml:function(e,t,n,r){n.startNoWrap(),n.addLiteral(Zo(e,{decodeEntities:n.options.decodeEntities})),n.stopNoWrap()},inlineString:function(e,t,n,r){n.addLiteral(r.string||"")},inlineSurround:function(e,t,n,r){n.addLiteral(r.prefix||""),t(e.children,n),n.addLiteral(r.suffix||"")},inlineTag:function(e,t,n,r){n.startNoWrap(),n.addLiteral(NA(e)),n.stopNoWrap(),t(e.children,n),n.startNoWrap(),n.addLiteral(KA(e)),n.stopNoWrap()},skip:function(e,t,n,r){}});const jA=e=>{const t=e[e.length-1];return Array.isArray(t)?[...t]:[]},YA=AA({filterValues:!1,mergeArrays:jA}),LA=AA({filterValues:!1,mergeArrays:(e,t,n)=>{const r=n?.keyPath?n.keyPath:[];return 1===r.length&&"selectors"===r[0]?e.flatMap(e=>e):jA(e)},metaDataUpdater:(e,t)=>void 0===e?void 0===t.key?{keyPath:[]}:{keyPath:[t.key]}:void 0===t.key?e:{keyPath:[...e.keyPath,t.key]}});function JA(e,t){const n=new Map;for(let r=e.length;r-- >0;){const i=e[r],o=t(i);n.set(o,n.has(o)?YA(i,n.get(o)):i)}return[...n.values()].reverse()}function RA(e,t){return e[t]||(e[t]=[]),e[t]}function HA(e,t=0){for(;e[t];)t++;return t}function MA(e,t,n,r){for(let i=0;i<e.rowspan;i++){const o=RA(t,n+i);for(let t=0;t<e.colspan;t++)o[r+t]=e}}function ZA(e,t){return void 0===e[t]&&(e[t]=0===t?0:1+ZA(e,t-1)),e[t]}function OA(e,t,n,r){e[t+n]=Math.max(ZA(e,t+n),ZA(e,t)+r)}function UA(e,t,n){const r=[];let i=0;const o=e.length,A=[0];for(let n=0;n<o;n++){const o=RA(r,n),s=e[n];let a=0;for(let e=0;e<s.length;e++){const i=s[e];a=HA(o,a),MA(i,r,n,a),a+=i.colspan,i.lines=i.text.split("\n");const c=i.lines.length;OA(A,n,i.rowspan,c+t)}i=o.length>i?o.length:i}!function(e,t){for(let n=0;n<t;n++){const t=RA(e,n);for(let r=0;r<n;r++){const i=RA(e,r);if(t[r]||i[n]){const e=t[r];t[r]=i[n],i[n]=e}}}}(r,o>i?o:i);const s=[],a=[0];for(let e=0;e<i;e++){let t,i=0;const c=Math.min(o,r[e].length);for(;i<c;)if(t=r[e][i],t){if(!t.rendered){let r=0;for(let n=0;n<t.lines.length;n++){const o=t.lines[n],c=A[i]+n;s[c]=(s[c]||"").padEnd(a[e])+o,r=o.length>r?o.length:r}OA(a,e,t.colspan,r+n),t.rendered=!0}i+=t.rowspan}else{const e=A[i];s[e]=s[e]||"",i++}}return s.join("\n")}function TA(e,t){if(!t)return e;return("string"==typeof t[0]?t[0]:"[")+e+("string"==typeof t[1]?t[1]:"]")}function VA(e,t,n,r,i){const o="function"==typeof t?t(e,r,i):e;return"/"===o[0]&&n?function(e,t){let n=e.length;for(;n>0&&e[n-1]===t;)--n;return n<e.length?e.substring(0,n):e}(n,"/")+o:o}function PA(e,t,n,r,i){const o="li"===hA(e,["parent","name"]);let A=0;const s=(e.children||[]).filter(e=>"text"!==e.type||!/^\s*$/.test(e.data)).map(function(e){if("li"!==e.name)return{node:e,prefix:""};const t=o?i().trimStart():i();return t.length>A&&(A=t.length),{node:e,prefix:t}});if(s.length){n.openList({interRowLineBreaks:1,leadingLineBreaks:o?1:r.leadingLineBreaks||2,maxPrefixLength:A,prefixAlign:"left"});for(const{node:e,prefix:r}of s)n.openListItem({prefix:r}),t([e],n),n.closeListItem();n.closeList({trailingLineBreaks:o?1:r.trailingLineBreaks||2})}}function XA(e,t,n,r){function i(e){const i=+hA(e,["attribs","colspan"])||1,o=+hA(e,["attribs","rowspan"])||1;n.openTableCell({maxColumnWidth:r.maxColumnWidth}),t(e.children,n),n.closeTableCell({colspan:i,rowspan:o})}n.openTable(),e.children.forEach(function e(t){if("tag"!==t.type)return;const o=!1!==r.uppercaseHeaderCells?e=>{n.pushWordTransform(e=>e.toUpperCase()),i(e),n.popWordTransform()}:i;switch(t.name){case"thead":case"tbody":case"tfoot":case"center":return void t.children.forEach(e);case"tr":n.openTableRow();for(const e of t.children)if("tag"===e.type)switch(e.name){case"th":o(e);break;case"td":i(e)}n.closeTableRow()}}),n.closeTable({tableToString:e=>UA(e,r.rowSpacing??0,r.colSpacing??3),leadingLineBreaks:r.leadingLineBreaks,trailingLineBreaks:r.trailingLineBreaks})}var zA=Object.freeze({__proto__:null,anchor:function(e,t,n,r){const i=function(){if(r.ignoreHref)return"";if(!e.attribs||!e.attribs.href)return"";let t=e.attribs.href.replace(/^mailto:/,"");return r.noAnchorUrl&&"#"===t[0]?"":(t=VA(t,r.pathRewrite,r.baseUrl,n.metadata,e),t)}();if(i){let o="";n.pushWordTransform(e=>(e&&(o+=e),e)),t(e.children,n),n.popWordTransform();r.hideLinkHrefIfSameAsText&&i===o||n.addInline(o?" "+TA(i,r.linkBrackets):i,{noWordTransform:!0})}else t(e.children,n)},blockquote:function(e,t,n,r){n.openBlock({leadingLineBreaks:r.leadingLineBreaks||2,reservedLineLength:2}),t(e.children,n),n.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2,blockTransform:e=>(!1!==r.trimEmptyLines?uA(e,"\n"):e).split("\n").map(e=>"> "+e).join("\n")})},dataTable:XA,heading:function(e,t,n,r){n.openBlock({leadingLineBreaks:r.leadingLineBreaks||2}),!1!==r.uppercase?(n.pushWordTransform(e=>e.toUpperCase()),t(e.children,n),n.popWordTransform()):t(e.children,n),n.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2})},horizontalLine:function(e,t,n,r){n.openBlock({leadingLineBreaks:r.leadingLineBreaks||2}),n.addInline("-".repeat(r.length||n.options.wordwrap||40)),n.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2})},image:function(e,t,n,r){const i=e.attribs||{},o=i.alt?i.alt:"",A=i.src?VA(i.src,r.pathRewrite,r.baseUrl,n.metadata,e):"",s=A?o?o+" "+TA(A,r.linkBrackets):TA(A,r.linkBrackets):o;n.addInline(s,{noWordTransform:!0})},lineBreak:function(e,t,n,r){n.addLineBreak()},orderedList:function(e,t,n,r){let i=Number(e.attribs.start||"1");const o=function(e="1"){switch(e){case"a":return e=>dA(e,"a");case"A":return e=>dA(e,"A");case"i":return e=>pA(e).toLowerCase();case"I":return e=>pA(e);default:return e=>e.toString()}}(e.attribs.type);return PA(e,t,n,r,()=>" "+o(i++)+". ")},paragraph:function(e,t,n,r){n.openBlock({leadingLineBreaks:r.leadingLineBreaks||2}),t(e.children,n),n.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2})},pre:function(e,t,n,r){n.openBlock({isPre:!0,leadingLineBreaks:r.leadingLineBreaks||2}),t(e.children,n),n.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2})},table:function(e,t,n,r){return function(e,t){if(!0===t)return!0;if(!e)return!1;const{classes:n,ids:r}=function(e){const t=[],n=[];for(const r of e)r.startsWith(".")?t.push(r.substring(1)):r.startsWith("#")&&n.push(r.substring(1));return{classes:t,ids:n}}(t),i=(e.class||"").split(" "),o=(e.id||"").split(" ");return i.some(e=>n.includes(e))||o.some(e=>r.includes(e))}(e.attribs,n.options.tables)?XA(e,t,n,r):function(e,t,n,r){n.openBlock({leadingLineBreaks:r.leadingLineBreaks}),t(e.children,n),n.closeBlock({trailingLineBreaks:r.trailingLineBreaks})}(e,t,n,r)},unorderedList:function(e,t,n,r){const i=r.itemPrefix||" * ";return PA(e,t,n,r,()=>i)},wbr:function(e,t,n,r){n.addWordBreakOpportunity()}});const _A={baseElements:{selectors:["body"],orderBy:"selectors",returnDomByDefault:!0},decodeEntities:!0,encodeCharacters:{},formatters:{},limits:{ellipsis:"...",maxBaseElements:void 0,maxChildNodes:void 0,maxDepth:void 0,maxInputLength:1<<24},longWordSplit:{forceWrapOnLimit:!1,wrapCharacters:[]},preserveNewlines:!1,selectors:[{selector:"*",format:"inline"},{selector:"a",format:"anchor",options:{baseUrl:null,hideLinkHrefIfSameAsText:!1,ignoreHref:!1,linkBrackets:["[","]"],noAnchorUrl:!0}},{selector:"article",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"aside",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"blockquote",format:"blockquote",options:{leadingLineBreaks:2,trailingLineBreaks:2,trimEmptyLines:!0}},{selector:"br",format:"lineBreak"},{selector:"div",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"footer",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"form",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"h1",format:"heading",options:{leadingLineBreaks:3,trailingLineBreaks:2,uppercase:!0}},{selector:"h2",format:"heading",options:{leadingLineBreaks:3,trailingLineBreaks:2,uppercase:!0}},{selector:"h3",format:"heading",options:{leadingLineBreaks:3,trailingLineBreaks:2,uppercase:!0}},{selector:"h4",format:"heading",options:{leadingLineBreaks:2,trailingLineBreaks:2,uppercase:!0}},{selector:"h5",format:"heading",options:{leadingLineBreaks:2,trailingLineBreaks:2,uppercase:!0}},{selector:"h6",format:"heading",options:{leadingLineBreaks:2,trailingLineBreaks:2,uppercase:!0}},{selector:"header",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"hr",format:"horizontalLine",options:{leadingLineBreaks:2,length:void 0,trailingLineBreaks:2}},{selector:"img",format:"image",options:{baseUrl:null,linkBrackets:["[","]"]}},{selector:"main",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"nav",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"ol",format:"orderedList",options:{leadingLineBreaks:2,trailingLineBreaks:2}},{selector:"p",format:"paragraph",options:{leadingLineBreaks:2,trailingLineBreaks:2}},{selector:"pre",format:"pre",options:{leadingLineBreaks:2,trailingLineBreaks:2}},{selector:"section",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"table",format:"table",options:{colSpacing:3,leadingLineBreaks:2,maxColumnWidth:60,rowSpacing:0,trailingLineBreaks:2,uppercaseHeaderCells:!0}},{selector:"ul",format:"unorderedList",options:{itemPrefix:" * ",leadingLineBreaks:2,trailingLineBreaks:2}},{selector:"wbr",format:"wbr"}],tables:[],whitespaceCharacters:" \t\r\n\f",wordwrap:80};function qA(e={}){return e=function({defaultOptions:e,userOptions:t={},genericFormatters:n,packageFormatters:r,handleMergedOptions:i}){const o=LA(e,t);return o.formatters=Object.assign({},n,r,o.formatters),o.selectors=JA(o.selectors,e=>e.selector),i&&i(o),o}({defaultOptions:_A,genericFormatters:GA,handleMergedOptions:es,packageFormatters:zA,userOptions:e}),QA(e)}function $A(e,t={},n=void 0){return qA(t)(e,n)}function es(e){if(e.tags){const t=Object.entries(e.tags).map(([e,t])=>({...t,selector:e||"*"}));e.selectors.push(...t),e.selectors=JA(e.selectors,e=>e.selector)}function t(e,t,n){const r=t.pop();for(const n of t){let t=e[n];t||(t={},e[n]=t),e=t}e[r]=n}if(e.baseElement){const n=e.baseElement;t(e,["baseElements","selectors"],Array.isArray(n)?n:[n])}void 0!==e.returnDomByDefault&&t(e,["baseElements","returnDomByDefault"],e.returnDomByDefault);for(const n of e.selectors)"anchor"===n.format&&hA(n,["options","noLinkBrackets"])&&t(n,["options","linkBrackets"],!1)}var ts=Object.freeze({__proto__:null,compile:qA,convert:$A,htmlToText:$A});let ns=2147483647;function rs(){let e,t,n=new Promise(function(){e=arguments[0],t=arguments[1]});return n.resolve=e,n.reject=t,n}function is(e){return e!=e}function os(e){let t=!1;if(xe(e))t=!isNaN(Number(e));else if(function(e){return"[object Number]"===Object.prototype.toString.call(e)}(e)){if(is(e))return!1;t=!0}return t}function As(e){if(!os(e))return 0;return Tt(e)}function ss(e,t={}){let n=Be(t,"useLimitSafe",null);return En(n)||(n=!1),!!os(e)&&(e=As(e),n?Number.isSafeInteger(e):"number"==typeof(r=e)&&r==Vt(r));var r}var as=I.isFinite,cs=Math.min;var ls=function(e){var t=Math[e];return function(e,n){if(e=Ot(e),(n=null==n?0:cs(Vt(n),292))&&as(e)){var r=(be(e)+"e").split("e");return+((r=(be(t(r[0]+"e"+(+r[1]+n)))+"e").split("e"))[0]+"e"+(+r[1]-n))}return t(e)}}("round"),us=ls;function hs(e,t={}){let n=Be(t,"useClampSafe",null);En(n)||(n=!1);let r=Be(t,"useLimitSafe",null);En(r)||(r=!1);let i=Be(t,"returnWithStateAndMsg",null);En(i)||(i=!1);let o=e=>i?{state:"success",msg:e}:e,A=e=>{if(i)return{state:"error",msg:e};throw new Error(e)};if(!os(e))return o(0);let s=null;try{e=As(e),s=us(e),n&&(s>Number.MAX_SAFE_INTEGER?s=Number.MAX_SAFE_INTEGER:s<Number.MIN_SAFE_INTEGER&&(s=Number.MIN_SAFE_INTEGER))}catch(e){return A(e.toString())}return r&&!Number.isSafeInteger(Number(s))?A(`v[${e}] is not a safe integer`):("0"===String(s)&&(s=0),o(s))}function ds(e,t={}){if(!ss(e,t))return!1;return hs(e)>0}async function fs(){let e="htmlToText";if(Fn(Be(ts,e)))return ts;if(Fn(Be(ts,["default",e])))return;let t=globalThis,n=null;if(await async function(e,t={}){let n=null,r=rs();if(!Fn(e))return r.reject("waitfunction需輸入函數f"),r;let i=async()=>{let t=e();return Qn(t)&&(t=await t),t};if(n=await i(),!0===n)return r.resolve(),r;let o=Be(t,"attemptNum",null);ds(o)||(o=200);let A=Be(t,"timeInterval",null);ds(A)||(A=1e3),A=Math.min(A,ns);let s=0,a=setInterval(async()=>{s+=1,n=await i(),!0===n&&(clearInterval(a),r.resolve()),s>o&&(clearInterval(a),r.reject(`exceeded attemptNum[${o}]`))},A);return r}(()=>(n=Be(t,"ht",null),function(e){if(ke(e)){for(let t in e)return!0;return!1}return!1}(n)),{attemptNum:4e3,timeInterval:50}),Fn(Be(n,e)))return n;if(Fn(Be(n,["default",e])))return n.default;throw console.log("ht",ts,"g.ht",t.ht),new Error("invalid ht, g.ht, g.ht.default, use script for import")}function gs(e){return"[object Array]"===Object.prototype.toString.call(e)}function ps(e,t){let n=rs();if(!gs(e)&&!ke(e))return n.reject("rs is not an array or object"),n;let r=!1;if(ke(e)){r=!0;let t=[];ut(e,(e,n)=>{t.push({k:n,v:e})}),e=t}Fn(t)||(t=function(e){return e});let i=-1,o=[];return e.reduce(function(e,n){return e.then(function(e){o.push(e),i+=1;let A=i,s=n;return r&&(A=n.k,s=n.v),Fn(t)?t(s,A):s})},Promise.resolve()).then(function(e){o.push(e),o=Pt(o),n.resolve(o)}).catch(function(e){n.reject(e)}),n}function ms(e,t={}){if(!ss(e,t))return!1;return hs(e)>=0}function bs(e,t){if(!xe(e))return"";if(!ms(t))return"";if(0===(t=hs(t)))return"";let n=e.length-t;return n<0&&(n=0),e.substring(n,n+t)}function ys(e,t){return xe(e)&&ms(t)?0===(t=hs(t))?"":e.substring(0,t):""}function Is(e,t){return xe(e)&&ms(t)?0===(t=hs(t))?e:ys(e,e.length-t):""}function ws(e){if(!xe(e))return{path:"",isRoot:!1};for(;e.indexOf("\\\\")>=0;)e=e.replace("\\\\","\\");for(;e.indexOf("//")>=0;)e=e.replace("//","/");if(":"===bs(e,1))return{path:`${e}\\`,isRoot:!0};if("\\"===bs(e,1)){let t=Is(e,1);return":"===bs(t,1)?{path:e,isRoot:!0}:{path:t,isRoot:!1}}if("/"===bs(e,1)){let t=Is(e,1);return 0===t.length?{path:e,isRoot:!0}:{path:t,isRoot:!1}}return{path:e,isRoot:!1}}function Bs(e){if(!xe(e))return"";let t=ws(e);if(t.isRoot)return t.path;let n=t.path;try{n=n.split("\\").pop().split("/").pop()}catch(e){}return n}function Cs(e){if(!xe(e))return"";let t=Bs(e),n=Qt(t,".");if(vn(n)<=1)return t;let r="";try{n=(s=null==(i=n)?0:i.length)?ht(i,0,(o=s-(o=A||void 0===o?1:Vt(o)))<0?0:o):[],r=Jt(n,".")}catch(e){}var i,o,A,s;return r}function xs(e){if(!xe(e))return"";let t=ws(e);if(t.isRoot)return t.path;let n=Bs(e=t.path);if(!xe(n))return e;let r=ws(e=Is(e,n.length));return r.isRoot,r.path}function ks(e){return be(e).toLowerCase()}function Ss(e){var t=this.__data__=new ne(e);this.size=t.size}Ss.prototype.clear=function(){this.__data__=new ne,this.size=0},Ss.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Ss.prototype.get=function(e){return this.__data__.get(e)},Ss.prototype.has=function(e){return this.__data__.has(e)},Ss.prototype.set=function(e,t){var n=this.__data__;if(n instanceof ne){var r=n.__data__;if(!re||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new oe(r)}return n.set(e,t),this.size=n.size,this};var vs=function(){try{var e=P(Object,"defineProperty");return e({},"",{}),e}catch(e){}}(),Ds=vs;function Es(e,t,n){"__proto__"==t&&Ds?Ds(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}var Fs=Object.prototype.hasOwnProperty;function Qs(e,t,n){var r=e[t];Fs.call(e,t)&&$(r,n)&&(void 0!==n||t in e)||Es(e,t,n)}function Ws(e,t,n,r){var i=!n;n||(n={});for(var o=-1,A=t.length;++o<A;){var s=t[o],a=r?r(n[s],e[s],s,n,e):void 0;void 0===a&&(a=e[s]),i?Es(n,s,a):Qs(n,s,a)}return n}var Ns=Object.prototype.hasOwnProperty;function Ks(e){if(!K(e))return function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}(e);var t=tt(e),n=[];for(var r in e)("constructor"!=r||!t&&Ns.call(e,r))&&n.push(r);return n}function Gs(e){return At(e)?$e(e,!0):Ks(e)}var js="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ys=js&&"object"==typeof module&&module&&!module.nodeType&&module,Ls=Ys&&Ys.exports===js?I.Buffer:void 0,Js=Ls?Ls.allocUnsafe:void 0;function Rs(){return[]}var Hs=Object.prototype.propertyIsEnumerable,Ms=Object.getOwnPropertySymbols,Zs=Ms?function(e){return null==e?[]:(e=Object(e),function(e,t){for(var n=-1,r=null==e?0:e.length,i=0,o=[];++n<r;){var A=e[n];t(A,n,e)&&(o[i++]=A)}return o}(Ms(e),function(t){return Hs.call(e,t)}))}:Rs,Os=Zs;function Us(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}var Ts=nt(Object.getPrototypeOf,Object),Vs=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)Us(t,Os(e)),e=Ts(e);return t}:Rs,Ps=Vs;function Xs(e,t,n){var r=t(e);return m(e)?r:Us(r,n(e))}function zs(e){return Xs(e,st,Os)}function _s(e){return Xs(e,Gs,Ps)}var qs=Object.prototype.hasOwnProperty;var $s=I.Uint8Array;function ea(e){var t=new e.constructor(e.byteLength);return new $s(t).set(new $s(e)),t}var ta=/\w*$/;var na=w?w.prototype:void 0,ra=na?na.valueOf:void 0;function ia(e,t,n){var r,i=e.constructor;switch(t){case"[object ArrayBuffer]":return ea(e);case"[object Boolean]":case"[object Date]":return new i(+e);case"[object DataView]":return function(e,t){var n=t?ea(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return function(e,t){var n=t?ea(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}(e,n);case"[object Map]":case"[object Set]":return new i;case"[object Number]":case"[object String]":return new i(e);case"[object RegExp]":return function(e){var t=new e.constructor(e.source,ta.exec(e));return t.lastIndex=e.lastIndex,t}(e);case"[object Symbol]":return r=e,ra?Object(ra.call(r)):{}}}var oa=Object.create,Aa=function(){function e(){}return function(t){if(!K(t))return{};if(oa)return oa(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}(),sa=Aa;var aa=Xe&&Xe.isMap,ca=aa?Ue(aa):function(e){return E(e)&&"[object Map]"==un(e)};var la=Xe&&Xe.isSet,ua=la?Ue(la):function(e){return E(e)&&"[object Set]"==un(e)},ha="[object Arguments]",da="[object Function]",fa="[object Object]",ga={};function pa(e,t,n,r,i,o){var A,s=1&t,a=2&t,c=4&t;if(n&&(A=i?n(e,r,i,o):n(e)),void 0!==A)return A;if(!K(e))return e;var l=m(e);if(l){if(A=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&qs.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e),!s)return function(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t}(e,A)}else{var u=un(e),h=u==da||"[object GeneratorFunction]"==u;if(Re(e))return function(e,t){if(t)return e.slice();var n=e.length,r=Js?Js(n):new e.constructor(n);return e.copy(r),r}(e,s);if(u==fa||u==ha||h&&!i){if(A=a||h?{}:function(e){return"function"!=typeof e.constructor||tt(e)?{}:sa(Ts(e))}(e),!s)return a?function(e,t){return Ws(e,Ps(e),t)}(e,function(e,t){return e&&Ws(t,Gs(t),e)}(A,e)):function(e,t){return Ws(e,Os(e),t)}(e,function(e,t){return e&&Ws(t,st(t),e)}(A,e))}else{if(!ga[u])return i?e:{};A=ia(e,u,s)}}o||(o=new Ss);var d=o.get(e);if(d)return d;o.set(e,A),ua(e)?e.forEach(function(r){A.add(pa(r,t,n,r,e,o))}):ca(e)&&e.forEach(function(r,i){A.set(i,pa(r,t,n,i,e,o))});var f=l?void 0:(c?a?_s:zs:a?Gs:st)(e);return De(f||e,function(r,i){f&&(r=e[i=r]),Qs(A,i,pa(r,t,n,i,e,o))}),A}ga[ha]=ga["[object Array]"]=ga["[object ArrayBuffer]"]=ga["[object DataView]"]=ga["[object Boolean]"]=ga["[object Date]"]=ga["[object Float32Array]"]=ga["[object Float64Array]"]=ga["[object Int8Array]"]=ga["[object Int16Array]"]=ga["[object Int32Array]"]=ga["[object Map]"]=ga["[object Number]"]=ga[fa]=ga["[object RegExp]"]=ga["[object Set]"]=ga["[object String]"]=ga["[object Symbol]"]=ga["[object Uint8Array]"]=ga["[object Uint8ClampedArray]"]=ga["[object Uint16Array]"]=ga["[object Uint32Array]"]=!0,ga["[object Error]"]=ga[da]=ga["[object WeakMap]"]=!1;function ma(e){return pa(e,5)}let ba=(e,t)=>{let n=e.toString("base64"),r=(e=>"png"===(e=ks(e))?"image/png":"jpg"===e||"jpeg"===e?"image/jpeg":"gif"===e?"image/gif":"svg"===e?"image/svg+xml":"webp"===e?"image/webp":"application/octet-stream")(t);return`data:${r};base64,${n}`},ya=async(t,n,i={})=>{if(!ve(t))throw new Error(`fpInp[${t}] does not exist`);let o=Be(i,"funGetWidth"),A=Be(i,"funGetHeight"),s=Be(i,"funGetSize"),a=Be(i,"cropLeft"),c=Be(i,"cropTop"),l=Be(i,"cropWidth"),u=Be(i,"cropHeight"),h=Be(i,"density");os(h)||(h=96),h=hs(h);let d=Be(i,"returnBase64");En(d)||(d=!1);let f=function(e){if(!xe(e))return"";let t=Qt(Bs(e),".");if(vn(t)<=1)return"";let n="";try{n=(i=null==(r=t)?0:r.length)?r[i-1]:void 0}catch(e){}var r,i;return n}(n);f=ks(f);let g=e.readFileSync(t),p=null,m=null;if(Fn(s)||Fn(o)||Fn(A)){let e=await r(g).metadata();if(Fn(s)){let t=s(ma(e));if(Qn(t)&&(t=await t),!os(Be(t,"width")))throw new Error("invalid ret.width for funGetSize");if(!os(Be(t,"height")))throw new Error("invalid ret.height for funGetSize");p=hs(t.width),m=hs(t.height)}else Fn(o)?(p=o(ma(e)),Qn(p)&&(p=await p),p=hs(p)):Fn(A)&&(m=A(ma(e)),Qn(m)&&(m=await m),m=hs(m))}let b=await r(g,{density:h}),y=os(p),I=os(m),w=os(a)&&os(c)&&os(l)&&os(u);y&&I?b=b.resize({width:p,height:m,withoutEnlargement:!0}):y&&!I?b=b.resize({width:p,withoutEnlargement:!0}):!y&&I&&(b=b.resize({height:m,withoutEnlargement:!0})),w&&(a=hs(a),c=hs(c),l=hs(l),u=hs(u),b=b.extract({left:a,top:c,width:l,height:u}));let B={png:()=>b.png({compressionLevel:9,adaptiveFiltering:!1,palette:!1,quality:100,colors:256,...i}),jpg:()=>b.flatten({background:Be(i,"background","#fff")}).jpeg({quality:100,progressive:!1,chromaSubsampling:"4:2:0",optimiseCoding:!0,mozjpeg:!1,overshootDeringing:!1,...i}),jpeg:()=>b.flatten({background:Be(i,"background","#fff")}).jpeg({quality:100,progressive:!1,chromaSubsampling:"4:2:0",optimiseCoding:!0,mozjpeg:!1,overshootDeringing:!1,...i}),webp:()=>b.webp({quality:100,alphaQuality:100,lossless:!0,...i}),avif:()=>b.avif({quality:50,lossless:!1,speed:5,chromaSubsampling:"4:2:0",...i}),gif:()=>b.gif({effort:7,interlace:!1,...i}),tiff:()=>b.tiff({quality:100,compression:"jpeg",predictor:"horizontal",pyramid:!1,tile:!1,...i}),bmp:()=>b.bmp({...i})};var C,x;x=f,b=ke(C=B)&&(xe(x)||os(x))&&x in C?B[f]():b.toFormat(f);let k=await b.toBuffer();if(d){return ba(k,f)}return e.writeFileSync(n,k),"ok"},Ia=async(e,t,n={})=>{let r={...n,cropLeft:null,cropTop:null,cropWidth:null,cropHeight:null,returnBase64:!0};return await ya(e,`${e}.${t}`,r)};function wa(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new oe;++t<n;)this.add(e[t])}function Ba(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}function Ca(e,t){return e.has(t)}wa.prototype.add=wa.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},wa.prototype.has=function(e){return this.__data__.has(e)};function xa(e,t,n,r,i,o){var A=1&n,s=e.length,a=t.length;if(s!=a&&!(A&&a>s))return!1;var c=o.get(e),l=o.get(t);if(c&&l)return c==t&&l==e;var u=-1,h=!0,d=2&n?new wa:void 0;for(o.set(e,t),o.set(t,e);++u<s;){var f=e[u],g=t[u];if(r)var p=A?r(g,f,u,t,e,o):r(f,g,u,e,t,o);if(void 0!==p){if(p)continue;h=!1;break}if(d){if(!Ba(t,function(e,t){if(!Ca(d,t)&&(f===e||i(f,e,n,r,o)))return d.push(t)})){h=!1;break}}else if(f!==g&&!i(f,g,n,r,o)){h=!1;break}}return o.delete(e),o.delete(t),h}function ka(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}function Sa(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}var va=w?w.prototype:void 0,Da=va?va.valueOf:void 0;var Ea=Object.prototype.hasOwnProperty;var Fa="[object Arguments]",Qa="[object Array]",Wa="[object Object]",Na=Object.prototype.hasOwnProperty;function Ka(e,t,n,r,i,o){var A=m(e),s=m(t),a=A?Qa:un(e),c=s?Qa:un(t),l=(a=a==Fa?Wa:a)==Wa,u=(c=c==Fa?Wa:c)==Wa,h=a==c;if(h&&Re(e)){if(!Re(t))return!1;A=!0,l=!1}if(h&&!l)return o||(o=new Ss),A||_e(e)?xa(e,t,n,r,i,o):function(e,t,n,r,i,o,A){switch(n){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!o(new $s(e),new $s(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return $(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var s=ka;case"[object Set]":var a=1&r;if(s||(s=Sa),e.size!=t.size&&!a)return!1;var c=A.get(e);if(c)return c==t;r|=2,A.set(e,t);var l=xa(s(e),s(t),r,i,o,A);return A.delete(e),l;case"[object Symbol]":if(Da)return Da.call(e)==Da.call(t)}return!1}(e,t,a,n,r,i,o);if(!(1&n)){var d=l&&Na.call(e,"__wrapped__"),f=u&&Na.call(t,"__wrapped__");if(d||f){var g=d?e.value():e,p=f?t.value():t;return o||(o=new Ss),i(g,p,n,r,o)}}return!!h&&(o||(o=new Ss),function(e,t,n,r,i,o){var A=1&n,s=zs(e),a=s.length;if(a!=zs(t).length&&!A)return!1;for(var c=a;c--;){var l=s[c];if(!(A?l in t:Ea.call(t,l)))return!1}var u=o.get(e),h=o.get(t);if(u&&h)return u==t&&h==e;var d=!0;o.set(e,t),o.set(t,e);for(var f=A;++c<a;){var g=e[l=s[c]],p=t[l];if(r)var m=A?r(p,g,l,t,e,o):r(g,p,l,e,t,o);if(!(void 0===m?g===p||i(g,p,n,r,o):m)){d=!1;break}f||(f="constructor"==l)}if(d&&!f){var b=e.constructor,y=t.constructor;b==y||!("constructor"in e)||!("constructor"in t)||"function"==typeof b&&b instanceof b&&"function"==typeof y&&y instanceof y||(d=!1)}return o.delete(e),o.delete(t),d}(e,t,n,r,i,o))}function Ga(e,t,n,r,i){return e===t||(null==e||null==t||!E(e)&&!E(t)?e!=e&&t!=t:Ka(e,t,n,r,Ga,i))}function ja(e){return e==e&&!K(e)}function Ya(e,t){return function(n){return null!=n&&(n[e]===t&&(void 0!==t||e in Object(n)))}}function La(e){var t=function(e){for(var t=st(e),n=t.length;n--;){var r=t[n],i=e[r];t[n]=[r,i,ja(i)]}return t}(e);return 1==t.length&&t[0][2]?Ya(t[0][0],t[0][1]):function(n){return n===e||function(e,t,n,r){var i=n.length,o=i,A=!r;if(null==e)return!o;for(e=Object(e);i--;){var s=n[i];if(A&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++i<o;){var a=(s=n[i])[0],c=e[a],l=s[1];if(A&&s[2]){if(void 0===c&&!(a in e))return!1}else{var u=new Ss;if(r)var h=r(c,l,a,e,t,u);if(!(void 0===h?Ga(l,c,3,r,u):h))return!1}}return!0}(n,e,t)}}function Ja(e,t){return null!=e&&t in Object(e)}function Ra(e,t){return null!=e&&function(e,t,n){for(var r=-1,i=(t=ye(t,e)).length,o=!1;++r<i;){var A=Ie(t[r]);if(!(o=null!=e&&n(e,A)))break;e=e[A]}return o||++r!=i?o:!!(i=null==e?0:e.length)&&Ze(i)&&Me(A,i)&&(m(e)||je(e))}(e,t,Ja)}function Ha(e){return N(e)?hn(Ie(e)):function(e){return function(t){return we(t,e)}}(e)}function Ma(e){return"function"==typeof e?e:null==e?lt:"object"==typeof e?m(e)?function(e,t){return N(e)&&ja(t)?Ya(Ie(e),t):function(n){var r=Be(n,e);return void 0===r&&r===t?Ra(n,e):Ga(t,r,3)}}(e[0],e[1]):La(e):Ha(e)}function Za(e,t){var n=-1,r=At(e)?Array(e.length):[];return ct(e,function(e,i,o){r[++n]=t(e,i,o)}),r}function Oa(e){return!!function(e){return"[object Undefined]"===Object.prototype.toString.call(e)}(e)||(!!function(e){return"[object Null]"===Object.prototype.toString.call(e)}(e)||(!!function(e){if(ke(e)){for(let t in e)return!1;return!0}return!1}(e)||(!!function(e){return!(!Ce(e)||""!==e)}(e)||(!!function(e){return!!gs(e)&&0===e.length}(e)||!!is(e)))))}function Ua(e){return!!gs(e)&&(0!==e.length&&(1!==e.length||!Oa(e[0])))}async function Ta(e,t={}){let n=Be(t,"linkBlank",null);En(n)||(n=!1);let r=Be(t,"tableHorizontalAlignmentCenter",null);En(r)||(r=!1);let l=Be(t,"tableBorderColor","");xe(l)||(l="#666");let u=Be(t,"fontFamilies",[]);var h,d;Ua(u)||(u=["Microsoft JhengHei","Avenir","Helvetica","Arial","sans-serif"]),u=Jt((d=e=>`'${e}'`,(m(h=u)?fe:Za)(h,Ma(d))),", ");let f=Be(t,"fontSizeUnit","");xe(f)||(f="pt");let g=Be(t,"fontSizeScale","");os(g)||(g=1),g=As(g);let p=Be(t,"fontSizeDef","");xe(p)||(p=12*g+f);let b=Be(t,"fontSizeH1","");xe(b)||(b=20*g+f);let y=Be(t,"fontSizeH2","");xe(y)||(y=16*g+f);let I=Be(t,"fontSizeH3","");xe(I)||(I=14*g+f);let w=Be(t,"fontSizeH4","");xe(w)||(w=12*g+f);let B=Be(t,"fontSizeH5","");xe(B)||(B=12*g+f);let C=Be(t,"fontSizeH6","");xe(C)||(C=12*g+f);let x=Be(t,"fontSizeP","");xe(x)||(x=12*g+f);let k=Be(t,"fontSizeTab","");xe(k)||(k=11*g+f);let S=Be(t,"fontSizeCode","");xe(S)||(S=10*g+f);let v=Be(t,"textAlignH1","");xe(v)||(v="left");let D=Be(t,"textAlignH2","");xe(D)||(D="left");let E=Be(t,"textAlignH3","");xe(E)||(E="left");let F=Be(t,"textAlignH4","");xe(F)||(F="left");let Q=Be(t,"textAlignH5","");xe(Q)||(Q="left");let W=Be(t,"textAlignH6","");xe(W)||(W="left");let N=Be(t,"imgWidthMax",null);os(N)&&(N=`${N}px`),xe(N)||(N="");let K=Be(t,"funWalkTokens",null),G=Be(t,"mergeStyle",null);En(G)||(G=!1);let j=new i.Marked;j.use(o({throwOnError:!1,nonStandard:!0})),j.use(A()),j.use(a.markedHighlight({langPrefix:"hljs language-",emptyLangClass:"hljs",highlight(e,t){let n=t&&s.getLanguage(t)?t:"plaintext";return s.highlight(e,{language:n}).value}}));let Y={async:!0,renderer:{image:({href:e,title:t,text:n})=>{let r=xe(t)?`title="${t}"`:"",i="";return xe(N)&&(i=`max-width:${N}; height:auto;`),`<img src="${e}" alt="${n}" ${r} style="${i}">`}}};Fn(K)&&(Y.walkTokens=K),j.use(Y);let L=await j.parse(e);L=`\n <div class="md" style="contain:layout;">\n ${L}\n </div>\n `;let J=["https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/github.min.css","https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/katex.min.css"],R='\n\n.md {\n font-family: {fontFamilies};\n font-size: {fontSizeDef};\n}\n\n.md table {\n border-collapse: collapse;\n margin: 0;\n padding: 0;\n word-break: initial;\n font-family: {fontFamilies};\n font-size: {fontSizeTab};\n}\n\n.md tr {\n margin: 0;\n padding: 0;\n}\n\n.md table tr th {\n font-weight: bold;\n background: #eee;\n border: 1px solid {tableBorderColor};\n border-bottom: 0;\n margin: 0;\n padding: 6px 13px;\n}\n\n.md table tr td {\n border: 1px solid {tableBorderColor};\n margin: 0;\n padding: 6px 13px;\n}\n\n.md h1 {\n display: block;\n font-size: {fontSizeH1};\n margin: 1rem 0;\n padding: 0;\n font-weight: bold;\n text-align: {textAlignH1};\n}\n\n.md h2 {\n display: block;\n font-size: {fontSizeH2};\n margin: 1rem 0;\n padding: 0;\n font-weight: bold;\n text-align: {textAlignH2};\n}\n\n.md h3 {\n display: block;\n font-size: {fontSizeH3};\n margin: 1rem 0;\n padding: 0;\n font-weight: bold;\n text-align: {textAlignH3};\n}\n\n.md h4 {\n display: block;\n font-size: {fontSizeH4};\n margin: 1rem 0;\n padding: 0;\n font-weight: bold;\n text-align: {textAlignH4};\n}\n\n.md h5 {\n display: block;\n font-size: {fontSizeH5};\n margin: 1rem 0;\n padding: 0;\n font-weight: bold;\n text-align: {textAlignH5};\n}\n\n.md h6 {\n display: block;\n font-size: {fontSizeH6};\n margin: 1rem 0;\n padding: 0;\n font-weight: bold;\n text-align: {textAlignH6};\n}\n\n.md p {\n display: block;\n font-size: {fontSizeP};\n margin: 1rem 0;\n padding: 0;\n} \n\n.md ol {\n display: block;\n list-style-type: decimal;\n margin: 1rem 0;\n padding: 0;\n padding-inline-start: 40px;\n} \n\n.md li {\n display: list-item;\n /* margin: 0.4rem 0; */ /* 須個別元素用style給予才能用於docx */\n padding: 0;\n}\n\n.md blockquote {\n font-style: italic;\n border-left: 5px solid #debc76;\n background: #f9f2e3;\n margin: 1rem 0;\n padding: 0.1rem 1.0rem 0.1rem 1.0rem;\n}\n\n.md pre {\n display: block;\n font-size: {fontSizeCode};\n overflow: auto;\n background: #eee;\n margin: 1rem 0;\n padding: 0;\n}\n.md pre code.hljs {\n background: transparent !important;\n line-height: 1.6 !important;\n}\n\n.md code {\n font-family: Consolas, "Courier New", monospace;\n}\n\n.md a {\n color: #0066cc;\n cursor: pointer;\n}\n\n.md a[data-footnote-ref]::before {\n content: "[";\n}\n.md a[data-footnote-ref]::after {\n content: "]";\n}\n.md sup:has(a[data-footnote-ref]) {\n position: relative;\n vertical-align: baseline; /* 不要推高行距 */\n top: -0.5em; /* 往上移動看起來像上標 */\n line-height: 0; /* 避免影響行距 */\n}\n\n.md hr {\n margin: 2rem 0;\n padding: 0;\n}\n\n.md section {\n margin: 0;\n padding: 0;\n}\n\n ';R=Wn(R,"{fontFamilies}",u),R=Wn(R,"{fontSizeDef}",p),R=Wn(R,"{fontSizeH1}",b),R=Wn(R,"{fontSizeH2}",y),R=Wn(R,"{fontSizeH3}",I),R=Wn(R,"{fontSizeH4}",w),R=Wn(R,"{fontSizeH5}",B),R=Wn(R,"{fontSizeH6}",C),R=Wn(R,"{fontSizeP}",x),R=Wn(R,"{fontSizeTab}",k),R=Wn(R,"{fontSizeCode}",S),R=Wn(R,"{textAlignH1}",v),R=Wn(R,"{textAlignH2}",D),R=Wn(R,"{textAlignH3}",E),R=Wn(R,"{textAlignH4}",F),R=Wn(R,"{textAlignH5}",Q),R=Wn(R,"{textAlignH6}",W),R=Wn(R,"{tableBorderColor}",l);let H=null,M=null;if("undefined"!=typeof window&&void 0!==window.document)H=c,M=document;else{let e="jsdom",{JSDOM:t}=await(import(e)),{window:n}=new t("");H=c(n),M=n.document}L=H.sanitize(L);let Z=String.fromCharCode(8203),O=M.createElement("div");O.innerHTML=L,ut(O.querySelectorAll('[style*="display:none"]'),e=>{e.remove()}),ut(O.querySelectorAll('div[data-for="br"]'),e=>{""===e.textContent&&(e.textContent=Z)}),ut(O.querySelectorAll('div[data-for="tab"]'),e=>{let t=e.getAttribute("data-style-th")||"",n=e.getAttribute("data-style-td")||"",r=e.nextElementSibling;for(;r&&"TABLE"!==r.tagName;)r=r.nextElementSibling;if(r){let i=(e,t)=>{if(""===t)return;let n=e.getAttribute("style")||"";""===n||/;\s*$/.test(n)||(n+=";"),e.setAttribute("style",n+t)};""!==t&&ut(r.querySelectorAll("th"),e=>{i(e,t)}),""!==n&&ut(r.querySelectorAll("td"),e=>{i(e,n)}),ut(e.attributes,e=>{let t=e.name.match(/^data-style-(th|td)-(\d+)$/);if(!t)return;let n=e.value||"";if(""===n)return;let o=t[1].toUpperCase(),A=As(t[2]);ut(r.querySelectorAll("tr"),e=>{let t=[];ut(e.children,e=>{e.tagName===o&&t.push(e)});let r=t[A];r&&i(r,n)})})}e.remove()}),n&&ut(O.querySelectorAll("a[href]"),e=>{"#"!==(e.getAttribute("href")||"").slice(0,1)&&(e.setAttribute("target","_blank"),e.setAttribute("rel","noopener noreferrer"))}),r&&ut(O.querySelectorAll("table"),e=>{e.style.display="inline-table";let t=M.createElement("div");t.style.textAlign="center",e.parentNode.insertBefore(t,e),t.appendChild(e)}),L=O.innerHTML;let U={};if(G){let e="\n";ut(J,t=>{e+=`<link rel="stylesheet" href="${t}">\n`}),e+=`<style>${R}</style>\n`,e+=L,U={html:e,styleSrcs:[],styleDef:""}}else U={html:L,styleSrcs:J,styleDef:R};return U}async function Va(t,r,i={}){let o=Be(i,"linkBlank",null);En(o)||(o=!0);let A=Be(i,"tableHorizontalAlignmentCenter",null);if(En(A)||(A=!0),!ve(t))return Promise.reject(`fpIn[${t}] does not exist`);let s=xs(t=n.resolve(t)),a=Be(i,"htmlTemp",null);xe(a)||(a='\n<!DOCTYPE html>\n<html>\n<head>\n <meta charset="utf-8" />\n <meta http-equiv="X-UA-Compatible" content="IE=edge" />\n <meta http-equiv="Cache-Control" content="no-siteapp"/>\n <meta name="renderer" content="webkit" />\n <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />\n <title>{title}</title>\n</head>\n<body style="padding:20px; margin:0; overflow-y:auto;">\n {html}\n</body>\n</html>\n');let c=Be(i,"imgConvertToBase64",null);En(c)||(c=!0);let l=Be(i,"funProcFpOut"),u=async(e,t)=>{let n=Qt(e,"\n"),r=0,i=[],o={};await ps(n,async e=>{let n=e;if(e.indexOf(`${t}n`)>=0){r++;let i=`${t}${r}`;n=Wn(e,`${t}n`,i);let A=e;A=await async function(e){return xe(e)?(await fs()).htmlToText(e,{wordwrap:!1,selectors:[{selector:"script",format:"skip"},{selector:"style",format:"skip"}]}):""}(A),A=Wn(A,`${t}n`,""),A=Yt(A),A=`{${A}}`,o[A]=i}i.push(n)});let A=Jt(i,"\n");return ut(o,(e,t)=>{A=A.replaceAll(t,e)}),A},h=Cs(t),d=xs(t),f=e.readFileSync(t,"utf8"),g=(e=>{let t=Qt(e,"\n"),n="";return ut(t,(e,r)=>{if(e.indexOf(" pretitle ")>=0)return n=Be(t,r+1,""),n=Yt(n),!1}),n})(f);f=await u(f,"圖"),f=await u(f,"表"),f=await(async(e,t)=>{let n=[],r=Qt(t,"\n");return await ps(r,async t=>{t.indexOf('src="')>=0&&(t=await(async t=>{let n=Qt(t,'src="');if(2!==vn(n))throw new Error("size(s)!==2");let r=n[0],i=Qt(n[1],'"'),o=i[0],A="";if(ve(o))A=o;else if(A=`${e}/${o}`,!ve(A))throw console.log("c",t),console.log("fnp",o),new Error(`fp[${A}] does not exist`);let s=await Ia(A,"png");return i=Pt(i),r+'src="'+s+'"'+Jt(i,'"')})(t)),n.push(t)}),n=Jt(n,"\n"),n})(d,f);let p=await Ta(f,{...i,linkBlank:o,tableHorizontalAlignmentCenter:A,funWalkTokens:async e=>{if("image"===e.type&&c)try{let t=n.resolve(s,e.href);ve(t)?e.href=await Ia(t,"png"):console.log(`href[${e.href}] does not exist`)}catch(e){console.log(e)}},mergeStyle:!0}),m=a;return m=Wn(m,"{html}",Be(p,"html","")),m=Wn(m,"{title}",h),m=Wn(m,'<h2 id="footnote-label" class="sr-only">Footnotes</h2>','<h2 id="footnote-label" class="sr-only" style="height:0px; line-height:0px; min-height:0px; overflow:hidden;">Footnotes</h2>'),m=m.replaceAll("<li>",'<li style="margin:7px 0;">'),Fn(l)&&Qn(r=l({fpOut:r,pretitle:g}))&&(r=await r),e.writeFileSync(r,m,"utf8"),"ok"}function Pa(e){if(!os(e))return!1;return As(e)>0}var Xa="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function za(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function _a(e){if(e.__esModule)return e;var t=e.default;if("function"==typeof t){var n=function e(){if(this instanceof e){var n=[null];return n.push.apply(n,arguments),new(Function.bind.apply(t,n))}return t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(t){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:function(){return e[t]}})}),n}var qa={exports:{}};var $a,ec={exports:{}},tc=_a(Object.freeze({__proto__:null,default:{}}));function nc(){return $a||($a=1,function(e){var t;e.exports=(t=t||function(e,t){var n;if("undefined"!=typeof window&&window.crypto&&(n=window.crypto),"undefined"!=typeof self&&self.crypto&&(n=self.crypto),"undefined"!=typeof globalThis&&globalThis.crypto&&(n=globalThis.crypto),!n&&"undefined"!=typeof window&&window.msCrypto&&(n=window.msCrypto),!n&&void 0!==Xa&&Xa.crypto&&(n=Xa.crypto),!n)try{n=tc}catch(e){}var r=function(){if(n){if("function"==typeof n.getRandomValues)try{return n.getRandomValues(new Uint32Array(1))[0]}catch(e){}if("function"==typeof n.randomBytes)try{return n.randomBytes(4).readInt32LE()}catch(e){}}throw new Error("Native crypto module could not be used to get secure random number.")},i=Object.create||function(){function e(){}return function(t){var n;return e.prototype=t,n=new e,e.prototype=null,n}}(),o={},A=o.lib={},s=A.Base={extend:function(e){var t=i(this);return e&&t.mixIn(e),t.hasOwnProperty("init")&&this.init!==t.init||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},a=A.WordArray=s.extend({init:function(e,n){e=this.words=e||[],this.sigBytes=n!=t?n:4*e.length},toString:function(e){return(e||l).stringify(this)},concat:function(e){var t=this.words,n=e.words,r=this.sigBytes,i=e.sigBytes;if(this.clamp(),r%4)for(var o=0;o<i;o++){var A=n[o>>>2]>>>24-o%4*8&255;t[r+o>>>2]|=A<<24-(r+o)%4*8}else for(var s=0;s<i;s+=4)t[r+s>>>2]=n[s>>>2];return this.sigBytes+=i,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=s.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],n=0;n<e;n+=4)t.push(r());return new a.init(t,e)}}),c=o.enc={},l=c.Hex={stringify:function(e){for(var t=e.words,n=e.sigBytes,r=[],i=0;i<n;i++){var o=t[i>>>2]>>>24-i%4*8&255;r.push((o>>>4).toString(16)),r.push((15&o).toString(16))}return r.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r<t;r+=2)n[r>>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new a.init(n,t/2)}},u=c.Latin1={stringify:function(e){for(var t=e.words,n=e.sigBytes,r=[],i=0;i<n;i++){var o=t[i>>>2]>>>24-i%4*8&255;r.push(String.fromCharCode(o))}return r.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r<t;r++)n[r>>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new a.init(n,t)}},h=c.Utf8={stringify:function(e){try{return decodeURIComponent(escape(u.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return u.parse(unescape(encodeURIComponent(e)))}},d=A.BufferedBlockAlgorithm=s.extend({reset:function(){this._data=new a.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=h.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n,r=this._data,i=r.words,o=r.sigBytes,A=this.blockSize,s=o/(4*A),c=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*A,l=e.min(4*c,o);if(c){for(var u=0;u<c;u+=A)this._doProcessBlock(i,u);n=i.splice(0,c),r.sigBytes-=l}return new a.init(n,l)},clone:function(){var e=s.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0});A.Hasher=d.extend({cfg:s.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){d.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){return e&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(e){return function(t,n){return new e.init(n).finalize(t)}},_createHmacHelper:function(e){return function(t,n){return new f.HMAC.init(e,n).finalize(t)}}});var f=o.algo={};return o}(Math),t)}(ec)),ec.exports}!function(e){e.exports=nc().enc.Utf8}(qa);var rc=za(qa.exports),ic={exports:{}};!function(e){var t;e.exports=(t=nc(),function(){var e=t,n=e.lib.WordArray;function r(e,t,r){for(var i=[],o=0,A=0;A<t;A++)if(A%4){var s=r[e.charCodeAt(A-1)]<<A%4*2|r[e.charCodeAt(A)]>>>6-A%4*2;i[o>>>2]|=s<<24-o%4*8,o++}return n.create(i,o)}e.enc.Base64={stringify:function(e){var t=e.words,n=e.sigBytes,r=this._map;e.clamp();for(var i=[],o=0;o<n;o+=3)for(var A=(t[o>>>2]>>>24-o%4*8&255)<<16|(t[o+1>>>2]>>>24-(o+1)%4*8&255)<<8|t[o+2>>>2]>>>24-(o+2)%4*8&255,s=0;s<4&&o+.75*s<n;s++)i.push(r.charAt(A>>>6*(3-s)&63));var a=r.charAt(64);if(a)for(;i.length%4;)i.push(a);return i.join("")},parse:function(e){var t=e.length,n=this._map,i=this._reverseMap;if(!i){i=this._reverseMap=[];for(var o=0;o<n.length;o++)i[n.charCodeAt(o)]=o}var A=n.charAt(64);if(A){var s=e.indexOf(A);-1!==s&&(t=s)}return r(e,t,i)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),t.enc.Base64)}(ic);var oc=za(ic.exports);let Ac={65001:"utf-8",1200:"utf-16le",950:"big5",936:"gbk",54936:"gb18030",932:"shift_jis",949:"euc-kr",437:"windows-1252"},sc={euckr:"euc-kr",utf16le:"utf-16le",ucs2:"utf-16le"};function ac(e){try{return new TextDecoder(e),!0}catch(e){return!1}}function cc(e){if(e=String(e).trim(),Ac[e])return Ac[e];let t=[`windows-${e}`,`ibm${e}`];for(let e of t)if(ac(e))return e;return null}let lc=null;function uc(e){let t=e.length;for(let n=1;n<=3&&n<=t;n++){let r=e[t-n];if(r>=128&&r<=191)continue;let i=0;if(r>=194&&r<=223)i=2;else if(r>=224&&r<=239)i=3;else{if(!(r>=240&&r<=244))return 0;i=4}if(n>=i)return 0;if(n>=2){let i=e[t-n+1],o=128,A=191;if(224===r?o=160:237===r?A=159:240===r?o=144:244===r&&(A=143),i<o||i>A)return 0}return n}return 0}let hc={normalizeCodeCmd:function(e){if(!xe(e))return{mode:"fixed",label:"utf-8"};let t=e.trim().toLowerCase();if("auto"===t)return{mode:"auto",label:null};if("system"===t)return{mode:"system",label:null};let n=/^(?:cp|windows-)?(\d{3,5})$/.exec(t);if(null!==n){let e=cc(n[1]);return null===e?null:{mode:"fixed",label:e}}return sc[t]&&(t=sc[t]),ac(t)?{mode:"fixed",label:new TextDecoder(t).encoding}:null},codePageToLabel:cc,getSystemCodePage:function(){if(null!==lc)return lc;let e=new Promise(e=>{if("win32"===process.platform)try{u.exec("chcp",{windowsHide:!0,encoding:"latin1",timeout:1e4},(t,n)=>{let r=null;if(!t){let e=/(\d+)\s*$/.exec(String(n));null!==e&&(r=cc(e[1]))}null===r&&(lc=null,r="utf-8"),e(r)})}catch(t){lc=null,e("utf-8")}else e("utf-8")});return lc=e,e},utf8TailLen:uc,createDecoder:function(e,t={}){if("auto"!==e){let t=new TextDecoder(e);return{switched:!1,label:t.encoding,write:e=>t.decode(e,{stream:!0}),end:()=>t.decode()}}let n=t.labelSystem;xe(n)||(n="utf-8");let r=new TextDecoder("utf-8",{fatal:!0}),i=null,o=null,A={switched:!1,label:"utf-8",write:null,end:null};return A.write=e=>{if(null!==i)return i.decode(e,{stream:!0});let t=e;null!==o&&(t=Buffer.concat([o,e]),o=null);let s=uc(t),a=t;s>0&&(a=t.subarray(0,t.length-s));let c="";try{c=r.decode(a,{stream:!0})}catch(e){return A.switched=!0,A.label=n,i=new TextDecoder(n),i.decode(t,{stream:!0})}return s>0&&(o=Buffer.from(t.subarray(t.length-s))),c},A.end=()=>{if(null!==i)return i.decode();let e="";try{e=r.decode()}catch(t){e=""}return null!==o&&(e+=new TextDecoder("utf-8").decode(o),o=null),e},A}};function dc(e,t){return Ga(e,t)}var fc=u,gc=fc.spawn,pc=fc.exec;function mc(e,t,n){var r={};try{Object.keys(e).forEach(function(n){e[n].forEach(function(e){r[e]||(bc(e,t),r[e]=1)}),r[n]||(bc(n,t),r[n]=1)})}catch(e){if(n)return n(e);throw e}if(n)return n()}function bc(e,t){try{process.kill(parseInt(e,10),t)}catch(e){if("ESRCH"!==e.code)throw e}}function yc(e,t,n,r,i){var o=r(e),A="";o.stdout.on("data",function(e){e=e.toString("ascii");A+=e});o.on("close",function(o){delete n[e],0==o?A.match(/\d+/g).forEach(function(o){o=parseInt(o,10),t[e].push(o),t[o]=[],n[o]=1,yc(o,t,n,r,i)}):0==Object.keys(n).length&&i()})}var Ic=za(function(e,t,n){if("function"==typeof t&&void 0===n&&(n=t,t=void 0),e=parseInt(e),Number.isNaN(e)){if(n)return n(new Error("pid must be a number"));throw new Error("pid must be a number")}var r={},i={};switch(r[e]=[],i[e]=1,process.platform){case"win32":pc("taskkill /pid "+e+" /T /F",n);break;case"darwin":yc(e,r,i,function(e){return gc("pgrep",["-P",e])},function(){mc(r,t,n)});break;default:yc(e,r,i,function(e){return gc("ps",["-o","pid","--no-headers","--ppid",e])},function(){mc(r,t,n)})}});function wc(e,t,n={}){if(!Ua(t)&&!xe(t))throw new Error("args is not an effective array or string");let r=xe(t);xe(t)&&(t=[t]);let i=Be(n,"mode");"spawn"!==i&&"exec"!==i&&"execFile"!==i&&(i="spawn");let o=Be(n,"cbStdout"),A=Be(n,"cbStderr"),s=Be(n,"codeCmd"),a=hc.normalizeCodeCmd(s),c=Be(n,"useChcp");En(c)||(c=!1);let l=Be(n,"timeout");l=!os(l)||l<=0?null:Math.min(l,ns);let h=rs();if(!function(e,t){function n(e){return gs(e)?e:[e]}if(Oa(e))return!1;if(0===(e=n(e)).length)return!1;if(Oa(e))return!1;if(0===(t=n(t)).length)return!1;for(let n=0;n<e.length;n++)for(let r=0;r<t.length;r++)if(dc(e[n],t[r]))return!0;return!1}(i,["spawn","exec","execFile"]))return h.reject(`invalid mode[${i}]`),h;if(null===a)return h.reject(`codeCmd[${s}] is not a supported encoding`),h;let d=n=>{let s=null;try{if("spawn"===i){let n=ys(e,1),r=bs(e,1);if('"'===n||'"'===r||"'"===n||"'"===r)throw new Error("prog of spawn doens not need to add quotes");s=u.spawn(e,t,{windowsHide:!0,shell:!1})}else if("exec"===i){let n="";c&&(n="cmd /c chcp 65001>nul &&");let i=e=>(e=String(e),/\s/.test(e)&&!e.includes('"')?`"${e}"`:e),o=i(e),A=r?t[0]:t.map(i).join(" ");s=u.exec(`${n} ${o} ${A} & exit`,{windowsHide:!0,encoding:"buffer"})}else"execFile"===i&&(s=u.execFile(e,t,{windowsHide:!0,encoding:"buffer"}))}catch(e){return void h.reject(e)}let d=a.label;"system"===a.mode?d=n:"auto"===a.mode&&(d="auto");let f=hc.createDecoder(d,{labelSystem:n}),g=hc.createDecoder(d,{labelSystem:n}),p=[],m="auto"===a.mode,b=(e,t,n)=>r=>{let i=r;Buffer.isBuffer(i)||(i=Buffer.from(String(i)));let o=t.write(i);p.push({which:e,text:o,buf:m?i:null}),""!==o&&Fn(n)&&n(o)};s.stdout.on("data",b("out",f,o)),s.stderr.on("data",b("err",g,A));let y=null,I=!1;null!==l&&(y=setTimeout(()=>{I=!0,s&&s.pid&&function(e){let t=rs();return Ic(Number(e),"SIGKILL",n=>{n?t.reject(n):t.resolve(`pid[${e}] killed`)}),t}(s.pid).catch(()=>{})},l)),s.on("close",e=>{null!==y&&clearTimeout(y);let t=(()=>{let e=(e,t,n)=>{let r=t.end();""!==r&&(p.push({which:e,text:r,buf:null}),Fn(n)&&n(r))};if(e("out",f,o),e("err",g,A),m){let e=(e,t)=>{if(!t.switched)return;let n=hc.createDecoder(t.label),r=null;for(let t of p)t.which===e&&(t.text=null!==t.buf?n.write(t.buf):"",r=t);let i=n.end();""!==i&&null!==r&&(r.text+=i)};e("out",f),e("err",g)}let t="";for(let e of p)t+=e.text;return t})();I?h.reject(`timeout[${l}ms]:\n${t}`):0!==e?h.reject(`code[${e}]:\n${t}`):h.resolve(t)}),s.on("error",e=>{null!==y&&clearTimeout(y),h.reject(e)})};return"fixed"===a.mode?d(null):hc.getSystemCodePage().then(d).catch(e=>{h.reject(e)}),h}function Bc(e,t={}){let n=Be(t,"fs");if(!Se(e,{fs:n}))return!1;let r=n.lstatSync(e);return!r.isFile()&&!r.isSymbolicLink()}function Cc(t){return Bc(t,{fs:e})}function xc(e,t={}){let n=Be(t,"fs");if(Bc(e,{fs:n}))return{success:"input folder is already exists: "+e};if(Se(e,{fs:n}))return{error:"input path already exists: "+e};try{n.mkdirSync(e,{recursive:!0})}catch(e){return{error:e}}return{success:"done: "+e}}function kc(e){try{let t=e();return"string"==typeof t?t:""}catch(e){return""}}function Sc(e,t){try{let n=new WeakSet,r=[],i=JSON.stringify(e,function(e,i){for(;r.length>0&&r[r.length-1]!==this;)r.pop();if(r.length>=t)return"[Deep]";if("bigint"==typeof i)return String(i);if(null!==i&&"object"==typeof i){if(n.has(i))return"[Circular]";n.add(i),r.push(i)}return i});return"string"==typeof i?i:""}catch(e){return""}}function vc(e){if(e.length>=2&&'"'===e[0]&&'"'===e[e.length-1]){let t=kc(()=>JSON.parse(e));if(""!==t)return t}return e}function Dc(e,t){if(void 0===e)return"";if(null===e)return"null";let n=function(e){let t=typeof e;return"string"===t?e:null==e?"":"number"===t||"boolean"===t||"bigint"===t||"symbol"===t?String(e):""}(e);if(""!==n)return n;let r=Sc(e,t);if(""!==r&&"{}"!==r)return vc(r);let i=kc(()=>String(e));return""!==i&&"[object Object]"!==i?i:r}function Ec(e,t){let n=new WeakSet;null===e||"object"!=typeof e&&"function"!=typeof e||n.add(e);let r=e,i=[];for(let e=0;e<t.levelCauseMax;e++){let e=null;try{e=r.cause}catch(e){break}if(null==e)break;if("object"==typeof e||"function"==typeof e){if(n.has(e))break;n.add(e)}let o=Qc(e,{...t,useCause:!1,useAggregate:!1});""!==o&&i.push(o),r=e}return i.join(" <- ")}function Fc(e,t){let n=null;try{n=e.errors}catch(e){return""}if(!Array.isArray(n)||0===n.length)return"";let r=[];for(let i=0;i<n.length&&i<t.levelCauseMax;i++){if(n[i]===e)continue;let o=Qc(n[i],{...t,useCause:!1,useAggregate:!1});""!==o&&r.push(o)}return r.join("; ")}function Qc(e,t){if("string"==typeof e)return e;if(null==e)return"";if("number"==typeof e)return Number.isNaN(e)?"":String(e);if("boolean"==typeof e||"bigint"==typeof e||"symbol"==typeof e)return String(e);let n=null,r=!1;try{n=e.message,r=!0}catch(e){r=!1}if(r&&"string"==typeof n){if(""!==n){let r=n;if(t.useCause){let n=Ec(e,t);""!==n&&(r=`${r} <- ${n}`)}if(t.useAggregate){let n=Fc(e,t);""!==n&&(r=`${r} [${n}]`)}return r}let r=Ec(e,t);return""!==r?r:""}if(r){let e=Dc(n,t.levelJsonMax);if(""!==e)return e}let i=Ec(e,t);if(""!==i)return i;if(t.useAggregate){let n=Fc(e,t);if(""!==n)return n}let o=Sc(e,t.levelJsonMax),A=vc(o);if(""!==A&&"{}"!==A)return A;let s=kc(()=>String(e));if(""!==s&&"[object Object]"!==s)return s;let a=kc(()=>Object.prototype.toString.call(e));return""!==a&&"[object Object]"!==a?a:""!==o?o:""}async function Wc(e,t,n={}){let r=Be(n,"fs"),i=Be(n,"Readable"),o=Be(n,"pipeline");if(!xe(e))throw new Error("urlIn in not an effective string");if(!xe(t))throw new Error("fpOut is not an effective string");if(!Fn(o))throw new Error("opt.pipeline is not a function");let A=xs(t);Bc(A,{fs:r})||xc(A,{fs:r});let s=`${t}.download`,a=rs(),c=n=>{try{r.unlinkSync(s)}catch(e){}a.reject(`failed to download url[${e}] to file[${t}]: ${n}`)};try{let n=await fetch(e);if(!n.ok){try{await n.body.cancel()}catch(e){}return c(`status[${n.status}] ${n.statusText}`),a}let A=null,l=n.headers.get("content-length"),u=n.headers.get("content-encoding"),h=n.headers.get("transfer-encoding");if(!xe(l)||!/^\d+$/.test(l.trim())||xe(u)&&"identity"!==u.trim().toLowerCase()||xe(h)||(A=Number(l.trim())),await o(i.fromWeb(n.body),r.createWriteStream(s)),null!==A){let e=r.statSync(s).size;if(e!==A)return c(`size mismatch, content-length[${A}] received[${e}]`),a}r.renameSync(s,t),a.resolve(t)}catch(e){c(function(e,t={}){let n=Be(t,"useCause",null);En(n)||(n=!1);let r=Be(t,"useAggregate",null);En(r)||(r=!1);let i=Be(t,"levelCauseMax",null);ds(i,{useLimitSafe:!0})||(i=8),i=hs(i);let o=Be(t,"levelJsonMax",null);ds(o,{useLimitSafe:!0})||(o=6),o=hs(o);let A=Be(t,"lengthMessageMax",null);ds(A,{useLimitSafe:!0})||(A=0),A=hs(A);let s={useCause:n,useAggregate:r,levelCauseMax:i,levelJsonMax:o,lengthMessageMax:A},a="";try{a=Qc(e,s)}catch(e){return a="",a}return xe(a)?(s.lengthMessageMax>0&&a.length>s.lengthMessageMax&&(a=s.lengthMessageMax>3?a.slice(0,s.lengthMessageMax-3)+"...":a.slice(0,s.lengthMessageMax)),a):(a="",a)}(e,{useCause:!0}))}return a}async function Nc(t){let n="https://github.com/yuda-lyu/w-html2docx/raw/refs/heads/master/src/htmlToDocx.exe",r=`${t}htmlToDocx.exe`;console.log(`downloading url[${n}]...`,`to fp[${r}]`),await async function(t,n){return Wc(t,n,{fs:e,Readable:h.Readable,pipeline:d.pipeline})}(n,r)}let Kc="htmlToDocx.exe",Gc=null;let jc=n.resolve();async function Yc(t,r,i={}){let o=null;if("win32"!==l.platform)return Promise.reject("operating system is not windows");if(!ve(t))return Promise.reject(`fpInHtml[${t}] does not exist`);let A=Be(i,"fontFamilies");xe(A)&&(A=[A]),Ua(A)||(A=["標楷體","Times New Roman"]);let s=Be(i,"imgRatioWidthMax");Pa(s)||(s=1),s=As(s);let a=Be(i,"imgRatioHeightMax");Pa(a)||(a=1),a=As(a);let c=Be(i,"timeout");Pa(c)||(c=null);let u=Be(i,"fpInTemp");if(xe(u)){if(!ve(u))return Promise.reject(`fpInTemp[${u}] does not exist`)}else{let e="tmp.docx";{let t=`${jc}/src/${e}`,n=`${jc}/node_modules/w-html2docx/src/${e}`;if(ve(t))u=t;else{if(!ve(n))return Promise.reject(`can not find folder for ${e}`);u=n}}}t=n.resolve(t),u=n.resolve(u),r=n.resolve(r);let h=n.dirname(r);if(!Cc(h)&&(xc(h,{fs:e}),!Cc(h)))return Promise.reject(`can not create folder[${h}] for fpOutDocx`);let{fpExe:d}=await async function(){let e=n.resolve(),t=`${e}/src/`,r=`${e}/node_modules/w-html2docx/src/`,i="";if(ve(`${t}${Kc}`))i=t;else if(ve(`${r}${Kc}`))i=r;else{let n=Cc(`${e}/node_modules/w-html2docx/`)?r:t;null===Gc&&(Gc=Nc(n).finally(()=>{Gc=null})),await Gc,ve(`${n}${Kc}`)&&(i=n)}return""===i?Promise.reject(`can not find ${Kc} in [${t}] or [${r}]`):{fpExe:n.resolve(i,Kc)}}(),f=d,g={fpInSrc:t,fpInTemp:u,fpOut:r,fontFamilies:A,imgRatioWidthMax:s,imgRatioHeightMax:a},p=function(e,t={}){let n=Be(t,"returnWithStateAndMsg",null);En(n)||(n=!1);let r=e=>n?{state:"error",msg:e}:"";if(!xe(e))return r("invalid str");let i="";try{let t=rc.parse(e);i=oc.stringify(t)}catch(e){return r(e.toString())}return n?{state:"success",msg:i}:i}(JSON.stringify(g)),m="";return await wc(f,p,{codeCmd:"auto",timeout:c}).then(e=>{m=e}).catch(e=>{o=String(e).trim()}),o?Promise.reject(o):ve(r)&&0!==e.statSync(r).size?"ok":Promise.reject(`fpOutDocx[${r}] was not generated: ${m.trim()}`)}function Lc(e){if(Ce(e))return e;if(xe(Be(e,"message")))return e.message;let t="";try{t=JSON.stringify(e)}catch(e){t=""}return Ce(t)||(t=String(e)),t}async function Jc(e,t={}){if(!Fn(e))return Promise.reject("fun must be a function");let n=Be(t,"tries",null);ds(n)||(n=6),n=hs(n);let r=Be(t,"delayMs",null);Pa(r)||(r=400),r=As(r);let i=null;for(let t=0;t<n;t++)try{return await e()}catch(e){i=e;let o=Be(e,"code","");if(("EBUSY"===o||"EPERM"===o)&&t<n-1){await new Promise(e=>setTimeout(e,r));continue}throw e}throw i}let Rc=Promise.resolve(),Hc=0;function Mc(){let e=function(){let e=n.resolve(),t=[n.resolve(e,"src/htmlToDocx.exe"),n.resolve(e,"node_modules/w-html2docx/src/htmlToDocx.exe")];for(let e of t)if(ve(e))return e;return""}(),t="win32"===process.platform;return{platform:process.platform,isWindows:t,cwd:n.resolve(),exePath:e,exeFound:""!==e,ready:t}}function Zc(e,t){let r="";if(Ce(t)&&(r=t.trim().replace(/\\/g,"/")),""===r)throw new Error("asset.path is empty");let i=r;try{i=decodeURIComponent(r)}catch(e){i=r}return(r===i?[r]:[r,i]).map(r=>function(e,t,r){if(/^[a-zA-Z]:/.test(t)||t.startsWith("/")||t.startsWith("//"))throw new Error(`asset.path must be a relative path: ${r}`);let i=n.resolve(e,t),o=n.resolve(e)+n.sep;if(!i.startsWith(o))throw new Error(`asset.path is outside the working folder: ${r}`);return i}(e,r,t))}function Oc(t,r={}){if(!xe(t))return 0;let i=Be(r,"msAge",null);if(Pa(i)||(i=216e5),i=As(i),!Cc(t))return e.mkdirSync(t,{recursive:!0}),0;let o=0,A=Date.now();for(let r of e.readdirSync(t)){if(!r.startsWith("job_"))continue;let s=n.resolve(t,r);try{A-e.statSync(s).mtimeMs>i&&(e.rmSync(s,{recursive:!0,force:!0}),o++)}catch(e){}}return o}function Uc(e){if(!Ce(e))return Lc(e);let t=e.match(/job_[^\\/]+[\\/](.+?)\]/);return/does not exist/i.test(e)&&t?`Failed to convert md to html: the referenced file (${t[1].replace(/\\/g,"/")}) does not exist, please make sure it is included in assets`:e}async function Tc(r,i,o={}){let A=Date.now();if(!xe(r))return Promise.reject("fpInMd must be a non-empty string");if(!ve(r=n.resolve(r)))return Promise.reject(`fpInMd[${r}] does not exist`);if(!xe(i))return Promise.reject("fpOutDocx must be a non-empty string");i=n.resolve(i);let s=Be(o,"fpOutHtml",""),a=xe(s);s=a?n.resolve(s):n.join(t.tmpdir(),`wmd2docx_${process.pid}_${Date.now()}_${Math.random().toString(36).slice(2,8)}.html`);let c=Be(o,"optMd2html",{});ke(c)||(c={});let l=Be(o,"optHtml2docx",{});ke(l)||(l={}),l={...l};let u=Be(o,"fpInTemp","");if(xe(u)){if(u=n.resolve(u),!ve(u))return Promise.reject(`fpInTemp[${u}] does not exist`);l.fpInTemp=u}try{e.mkdirSync(n.dirname(s),{recursive:!0});let t=null;if(await Jc(()=>Va(r,s,c)).catch(e=>{t=Lc(e)}),null!==t)return Promise.reject(`Failed to convert md to html: ${t}`);if(!ve(s)||0===e.statSync(s).size)return Promise.reject("Failed to convert md to html: html was not generated or is empty");let o=e.statSync(s).size;e.mkdirSync(n.dirname(i),{recursive:!0});let u=null;if(await function(e){if(!Fn(e))return Promise.reject("fun must be a function");Hc++;let t=Rc.then(e,e);return Rc=t.then(()=>{Hc--},()=>{Hc--}),t}(()=>Jc(()=>Yc(s,i,l))).catch(e=>{u=Lc(e)}),null!==u)return u.indexOf("can not find")>=0&&(u=`${u} (cwd=${n.resolve()}, w-html2docx resolves htmlToDocx.exe and its default template from cwd and downloads htmlToDocx.exe automatically when absent, please run from the project root that contains node_modules/w-html2docx)`),Promise.reject(`Failed to convert html to docx: ${u}`);if(!ve(i)||0===e.statSync(i).size)return Promise.reject("docx was not generated: please make sure Microsoft Word is installed and no stale WINWORD process is locking the files");let h=e.statSync(i).size,d={fpOutDocx:i,sizeDocx:h,sizeHtml:o,ms:Date.now()-A};return a&&(d.fpOutHtml=s),d}finally{if(!a&&ve(s))try{e.unlinkSync(s)}catch(e){}}}async function Vc(r={}){let i=Date.now(),o=Be(r,"out","");"html"!==o&&"docx"!==o&&"both"!==o&&(o="docx");let A="html"===o||"both"===o,s="docx"===o||"both"===o,a="",c=Be(r,"md",""),l=Be(r,"mdBase64","");if(xe(c)?a=c:xe(l)&&(a=Buffer.from(l,"base64").toString("utf8")),""===a.trim())return Promise.reject("md is empty: md (string) or mdBase64 is required");let u=function(e){let t="";return Ce(e)&&(t=e.trim()),""===t?"output":(t=n.basename(t),t=t.replace(/\.(md|markdown|html|htm|docx)$/i,""),t=t.replace(/[\\/:*?"<>|\r\n\t]/g,"_"),t=t.replace(/^\.+/,""),t=t.trim(),""===t?"output":t.slice(0,120))}(Be(r,"name","")),h=Be(r,"assets",[]);gs(h)||(h=[]);let d=Be(r,"dirWork","");xe(d)||(d=n.join(t.tmpdir(),"w-md2docx")),d=n.resolve(d);let f=Be(r,"fpInTemp","");xe(f)||(f="");let g=Be(r,"optMd2html",{});ke(g)||(g={});let p=Be(r,"optHtml2docx",{});ke(p)||(p={});let m=Be(r,"keepWork",!1);En(m)||(m=!1);let b=`${Date.now()}_${Math.random().toString(36).slice(2,8)}`,y=n.resolve(d,`job_${b}`);e.mkdirSync(y,{recursive:!0});let I={name:u,out:o,ms:0,nAssets:0};try{let t=n.resolve(y,`${u}.md`);e.writeFileSync(t,a,"utf8");try{I.nAssets=function(t,r){let i=0;if(!gs(r))return i;for(let o of r){let r=Be(o,"path",""),A=Zc(t,r),s=Be(o,"base64","");if(xe(s)||(s=Be(o,"contentBase64","")),!xe(s))throw new Error(`asset.base64 is empty: ${r}`);s=s.replace(/^data:[^;]+;base64,/,"");let a=Buffer.from(s,"base64");for(let t of A)e.mkdirSync(n.dirname(t),{recursive:!0}),e.writeFileSync(t,a);i++}return i}(y,h)}catch(e){return Promise.reject(Lc(e))}let r=n.resolve(y,`${u}.html`);if(s){let i=n.resolve(y,`${u}.docx`),o=null,A=await Tc(t,i,{fpInTemp:f,fpOutHtml:r,optMd2html:g,optHtml2docx:p}).catch(e=>{o=Uc(Lc(e))});if(null!==o)return Promise.reject(o);let s=e.readFileSync(i);I.docx={fileName:`${u}.docx`,mime:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",size:s.length,base64:s.toString("base64")},I.msDocx=Be(A,"ms",0)}else{let n=null;if(await Jc(()=>Va(t,r,g)).catch(e=>{n=Lc(e)}),null!==n)return Promise.reject(Uc(`Failed to convert md to html: ${n}`));if(!ve(r)||0===e.statSync(r).size)return Promise.reject("Failed to convert md to html: html was not generated or is empty")}if(A){let t=e.readFileSync(r);I.html={fileName:`${u}.html`,mime:"text/html; charset=utf-8",size:t.length,base64:t.toString("base64")}}return I.ms=Date.now()-i,I}finally{if(!m)try{e.rmSync(y,{recursive:!0,force:!0})}catch(e){}}}let Pc=n.dirname(f.fileURLToPath("undefined"==typeof document&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:"undefined"==typeof document?location.href:p&&"SCRIPT"===p.tagName.toUpperCase()&&p.src||new URL("w-md2docx.umd.js",document.baseURI).href));function Xc(e){let t=Be(e,"url","");if(xe(t))return t.trim().replace(/\/+$/,"");let n=Be(e,"host","");xe(n)||(n=Be(process,"env.WMD2DOCX_HOST","")),xe(n)||(n="127.0.0.1"),n=n.trim();let r=Be(e,"port",null);return ds(r)||(r=Be(process,"env.WMD2DOCX_PORT",null)),ds(r)||(r=22e3),r=hs(r),`http://${n}:${r}`}function zc(e){return xe(e)||(e=Be(process,"env.WMD2DOCX_TOKEN","")),xe(e)||(e=""),e}function _c(e){let t=new Set;if(!Ce(e))return[];let n=e=>{if(!Ce(e))return;let n=e.trim().replace(/^<|>$/g,"");""!==n&&(/^(https?:)?\/\//i.test(n)||/^data:/i.test(n)||/^mailto:/i.test(n)||/^#/.test(n)||/^[a-zA-Z]:/.test(n)||n.startsWith("/")||(n=n.split("#")[0].split("?")[0],""!==n&&t.add(n)))};for(let t of e.matchAll(/<img[^>]*?\ssrc\s*=\s*["']([^"']+)["']/gi))n(t[1]);for(let t of e.matchAll(/!\[[^\]]*\]\(\s*([^)\s]+)/g))n(t[1]);return[...t]}function qc(t,r){let i=[],o=[];xe(r)||(r=".");for(let A of _c(t)){let t=[A];try{let e=decodeURIComponent(A);e!==A&&t.push(e)}catch(e){}let s="";for(let e of t){let t=n.resolve(r,e);if(ve(t)){s=t;break}}""!==s?i.push({path:A,base64:e.readFileSync(s).toString("base64")}):o.push(A)}return{assets:i,missing:o}}let $c={cvMdTo:async function(t={}){let r=Xc(t),i=Be(t,"fpInMd","");if(!xe(i))return Promise.reject("fpInMd must be a non-empty string");if(i=n.resolve(i),!ve(i))return Promise.reject(`fpInMd[${i}] does not exist`);let o=Be(t,"fpOutDocx","");o=xe(o)?n.resolve(o):"";let A=Be(t,"fpOutHtml","");A=xe(A)?n.resolve(A):"",""===o&&""===A&&(o=n.resolve(n.dirname(i),`${n.basename(i).replace(/\.md$/i,"")}.docx`));let s="docx";""!==o&&""!==A?s="both":""!==A&&(s="html");let a=Be(t,"allowMissingAssets",!1);En(a)||(a=!1);let c=e.readFileSync(i,"utf8"),l=n.dirname(i),{assets:u,missing:h}=qc(c,l);if(h.length>0&&!a)return Promise.reject(`${h.length} asset file(s) referenced in md do not exist: ${h.join(", ")}. Set allowMissingAssets:true to skip this check`);let d=Be(t,"name","");xe(d)||(d=n.basename(i).replace(/\.md$/i,""));let f={md:c,name:d,out:s,assets:u},g=Be(t,"optMd2html",null);ke(g)&&(f.optMd2html=g);let p=Be(t,"optHtml2docx",null);ke(p)&&(f.optHtml2docx=p);let m=Be(t,"templateName","");xe(m)&&(f.templateName=m.trim());let b=Be(t,"fpInTemp","");if(xe(b)){if(b=n.resolve(b),!ve(b))return Promise.reject(`fpInTemp[${b}] does not exist`);f.templateBase64=e.readFileSync(b).toString("base64")}let y={"content-type":"application/json"},I=zc(Be(t,"token",""));""!==I&&(y["x-api-token"]=I);let w=Be(t,"timeoutMs",null);Pa(w)||(w=6e5),w=As(w);let B=Be(t,"retries",null);ms(B)||(B=3),B=hs(B);let C=JSON.stringify(f),x=null,k="";for(let e=0;e<=B;e++){if(e>0){let t=[0,3e3,8e3,15e3][e]||15e3;console.log(`connection failed, retrying in ${t/1e3}s (${e}/${B}): ${k}`),await new Promise(e=>setTimeout(e,t))}try{x=await fetch(`${r}/api/convert`,{method:"POST",headers:y,body:C,signal:AbortSignal.timeout(w)}),k="";break}catch(e){let t=Be(e,"name","");if(k=Lc(e)||"unknown error","TimeoutError"===t||"AbortError"===t)return Promise.reject(`Conversion timed out (no response within ${w} ms): ${r}`)}}if(""!==k)return Promise.reject(`Unable to connect to the conversion service ${r} (retried ${B} times): ${k}`);let S=await x.json().catch(()=>null);if(!x.ok||!ke(S)||!0!==S.success){let e=Be(S,"error","");return xe(e)||(e=`HTTP ${x.status}`),Promise.reject(`Conversion failed: ${e}`)}let v={ms:S.ms,nAssets:S.nAssets,template:S.template},D=(t,r,i)=>{if(""===t)return"";let o=Be(r,"base64","");if(!xe(o))return`the service did not return ${i}`;e.mkdirSync(n.dirname(t),{recursive:!0}),e.writeFileSync(t,Buffer.from(o,"base64"));let A=e.statSync(t).size;return 0===A?`${i} is empty after being written: ${t}`:(v[i]={fp:t,size:A},"")},E=D(A,S.html,"html");return""!==E?Promise.reject(E):(E=D(o,S.docx,"docx"),""!==E?Promise.reject(E):v)},health:async function(e={}){let t=Xc(e),n={},r=zc(Be(e,"token",""));""!==r&&(n["x-api-token"]=r);let i=Be(e,"timeoutMs",null);Pa(i)||(i=2e4),i=As(i);let o=null;try{o=await fetch(`${t}/api/health`,{headers:n,signal:AbortSignal.timeout(i)})}catch(e){return Promise.reject(`Unable to connect to the conversion service ${t}: ${Lc(e)}`)}let A=await o.json().catch(()=>null);return ke(A)?A:Promise.reject(`Invalid response from the conversion service ${t}: HTTP ${o.status}`)},scanAssetPaths:_c,readAssets:qc},el={cvMdToDocx:Tc,cvMdTo:Vc,rmApiServer:async function(r={}){let i=Be(r,"port",null);ms(i)||(i=22e3),i=hs(i);let o=Be(r,"host","");xe(o)||(o="0.0.0.0"),o=o.trim();let A=Be(r,"token","");Ce(A)||(A=""),A=A.trim();let s=Be(r,"maxMb",null);Pa(s)||(s=256),s=As(s);let a=Math.round(1024*s*1024),c=Be(r,"dirTemplates","");xe(c)||(c=n.resolve(Pc,"templates")),c=n.resolve(c);let l=Be(r,"dirWork","");xe(l)||(l=n.join(t.tmpdir(),"w-md2docx")),l=n.resolve(l);let h=Be(r,"templateDef","");xe(h)||(h="temp_tpc.docx"),h=h.trim();let d=Be(r,"autoStart",!0);En(d)||(d=!0);let f=()=>Cc(c)?e.readdirSync(c).filter(e=>/\.docx$/i.test(e)):[],p=()=>{let e=n.resolve(c,n.basename(h));return ve(e)?e:""},m=async()=>{let e=Mc(),t=await new Promise(e=>{"win32"===process.platform?u.execFile("tasklist",["/FI","IMAGENAME eq WINWORD.EXE","/NH"],{windowsHide:!0,timeout:8e3},(t,n)=>{if(t)return void e(-1);let r=(String(n).match(/WINWORD\.EXE/gi)||[]).length;e(r)}):e(-1)});return{platform:e.platform,node:process.version,cwd:e.cwd,exeFound:e.exeFound,exePath:e.exePath,docxReady:e.ready,templateDefault:p(),templates:f(),dirTemplates:c,dirWork:l,queue:Hc,winwordProcesses:t,maxBytes:a,tokenRequired:""!==A}},b=async t=>{let r=(t=>{let r=Be(t,"templateBase64","");if(xe(r)||(r=Be(t,"template.base64","")),xe(r)){r=r.replace(/^data:[^;]+;base64,/,""),e.mkdirSync(l,{recursive:!0});let t=n.resolve(l,`tmpl_${Date.now()}_${Math.random().toString(36).slice(2,8)}.docx`);return e.writeFileSync(t,Buffer.from(r,"base64")),{fpInTemp:t,from:"request",fpTmpDel:t}}let i=Be(t,"templateName","");if(i=xe(i)?i.trim():"",""!==i){let e=n.resolve(c,n.basename(i));if(!ve(e))throw new Error(`templateName[${i}] does not exist (available templates: ${f().join(", ")||"none"})`);return{fpInTemp:e,from:"server",fpTmpDel:""}}let o=p();return""!==o?{fpInTemp:o,from:"default",fpTmpDel:""}:{fpInTemp:"",from:"none",fpTmpDel:""}})(t);try{let e=Be(t,"keepTmp",!1),n=Be(t,"keepWork",!1);return{success:!0,...await Vc({md:Be(t,"md",""),mdBase64:Be(t,"mdBase64",""),name:Be(t,"name",""),out:Be(t,"out",""),assets:Be(t,"assets",[]),dirWork:l,fpInTemp:r.fpInTemp,optMd2html:Be(t,"optMd2html",{}),optHtml2docx:Be(t,"optHtml2docx",{}),keepWork:!0===e||"true"===e||!0===n||"true"===n}),template:r.from}}finally{if(""!==r.fpTmpDel&&ve(r.fpTmpDel))try{e.unlinkSync(r.fpTmpDel)}catch(e){}}},y=Oc(l),I=g.server({port:i,host:o,routes:{cors:!0,payload:{maxBytes:a}}});I.ext("onRequest",(e,t)=>{if(""===A)return t.continue;if(!e.path.startsWith("/api/"))return t.continue;return Be(e,"headers.x-api-token","")!==A?t.response({success:!1,error:"unauthorized: a valid x-api-token header is required"}).code(401).takeover():t.continue}),I.route([{method:"GET",path:"/",handler:()=>({service:"w-md2docx",description:"API service for converting Markdown to HTML/DOCX",endpoints:{"GET /api/health":"health check and environment state","GET /api/selftest":"run a minimal conversion to verify that Microsoft Word is available","POST /api/convert":"main conversion endpoint (JSON)"}})},{method:"GET",path:"/api/health",handler:async()=>({success:!0,...await m()})},{method:"GET",path:"/api/selftest",handler:async(e,t)=>{let n=Date.now();try{let e=await b({md:"# selftest\n\nThis file is generated by the self test of the conversion service.\n",name:"selftest",out:"both"});return{success:!0,ms:Date.now()-n,htmlSize:Be(e,"html.size",0),docxSize:Be(e,"docx.size",0),template:e.template}}catch(e){let r=await m();return t.response({success:!1,error:Lc(e),ms:Date.now()-n,env:r}).code(500)}}},{method:"POST",path:"/api/convert",options:{payload:{maxBytes:a,parse:!0,allow:"application/json",timeout:!1},timeout:{socket:!1}},handler:async(e,t)=>{let n=e.payload;if(!ke(n))return t.response({success:!1,error:"parameters must be provided as a JSON object"}).code(400);let r=Be(e,"query.download",""),i="1"===r||"true"===r;if(i&&"both"===Be(n,"out",""))return t.response({success:!1,error:"download only supports out of html or docx (single format)"}).code(400);try{let e=await b(n);if(i){let n=null;return"docx"===e.out&&ke(e.docx)?n=e.docx:"html"===e.out&&ke(e.html)&&(n=e.html),null===n?t.response({success:!1,error:"download only supports out of html or docx (single format)"}).code(400):t.response(Buffer.from(n.base64,"base64")).type(n.mime).header("content-disposition",`attachment; filename="${(o=n.fileName).replace(/[^\x20-\x7E]/g,"_").replace(/"/g,"")}"; filename*=UTF-8''${encodeURIComponent(o)}`)}return e}catch(e){let n=Lc(e),r=function(e){return/^(md is empty|asset|templateName)/.test(e)}(n)?400:500;return t.response({success:!1,error:n}).code(r)}var o}}]),d&&await I.start();let w=setInterval(()=>{Oc(l)},36e5);return w.unref(),{server:I,getState:m,stop:async()=>{clearInterval(w),await I.stop()},settings:{port:i,host:o,token:A,maxMb:s,maxBytes:a,dirTemplates:c,dirWork:l,templateDef:h,nClean:y}}},rmApiClient:$c};return el});
|
|
7
7
|
//# sourceMappingURL=w-md2docx.umd.js.map
|