@fabricmc/cli 0.1.494 → 0.1.498
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/bundled.mjs +45 -45
- package/package.json +1 -1
package/bundled.mjs
CHANGED
|
@@ -30,29 +30,29 @@ Expecting one of '${a.join("', '")}'`);return this._lifeCycleHooks[e]?this._life
|
|
|
30
30
|
`),this.outputHelp({error:!0}));let a=i||{},A=a.exitCode||1,l=a.code||"commander.error";this._exit(A,l,e)}_parseOptionsEnv(){this.options.forEach(e=>{if(e.envVar&&e.envVar in qe.env){let i=e.attributeName();(this.getOptionValue(i)===void 0||["default","config","env"].includes(this.getOptionValueSource(i)))&&(e.required||e.optional?this.emit(`optionEnv:${e.name()}`,qe.env[e.envVar]):this.emit(`optionEnv:${e.name()}`))}})}_parseOptionsImplied(){let e=new fC(this.options),i=a=>this.getOptionValue(a)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(a));this.options.filter(a=>a.implied!==void 0&&i(a.attributeName())&&e.valueFromOption(this.getOptionValue(a.attributeName()),a)).forEach(a=>{Object.keys(a.implied).filter(A=>!i(A)).forEach(A=>{this.setOptionValueWithSource(A,a.implied[A],"implied")})})}missingArgument(e){let i=`error: missing required argument '${e}'`;this.error(i,{code:"commander.missingArgument"})}optionMissingArgument(e){let i=`error: option '${e.flags}' argument missing`;this.error(i,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(e){let i=`error: required option '${e.flags}' not specified`;this.error(i,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(e,i){let a=u=>{let p=u.attributeName(),f=this.getOptionValue(p),g=this.options.find(E=>E.negate&&p===E.attributeName()),m=this.options.find(E=>!E.negate&&p===E.attributeName());return g&&(g.presetArg===void 0&&f===!1||g.presetArg!==void 0&&f===g.presetArg)?g:m||u},A=u=>{let p=a(u),f=p.attributeName();return this.getOptionValueSource(f)==="env"?`environment variable '${p.envVar}'`:`option '${p.flags}'`},l=`error: ${A(e)} cannot be used with ${A(i)}`;this.error(l,{code:"commander.conflictingOption"})}unknownOption(e){if(this._allowUnknownOption)return;let i="";if(e.startsWith("--")&&this._showSuggestionAfterError){let A=[],l=this;do{let u=l.createHelp().visibleOptions(l).filter(p=>p.long).map(p=>p.long);A=A.concat(u),l=l.parent}while(l&&!l._enablePositionalOptions);i=Qu(e,A)}let a=`error: unknown option '${e}'${i}`;this.error(a,{code:"commander.unknownOption"})}_excessArguments(e){if(this._allowExcessArguments)return;let i=this.registeredArguments.length,a=i===1?"":"s",l=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${i} argument${a} but got ${e.length}.`;this.error(l,{code:"commander.excessArguments"})}unknownCommand(){let e=this.args[0],i="";if(this._showSuggestionAfterError){let A=[];this.createHelp().visibleCommands(this).forEach(l=>{A.push(l.name()),l.alias()&&A.push(l.alias())}),i=Qu(e,A)}let a=`error: unknown command '${e}'${i}`;this.error(a,{code:"commander.unknownCommand"})}version(e,i,a){if(e===void 0)return this._version;this._version=e,i=i||"-V, --version",a=a||"output the version number";let A=this.createOption(i,a);return this._versionOptionName=A.attributeName(),this._registerOption(A),this.on("option:"+A.name(),()=>{this._outputConfiguration.writeOut(`${e}
|
|
31
31
|
`),this._exit(0,"commander.version",e)}),this}description(e,i){return e===void 0&&i===void 0?this._description:(this._description=e,i&&(this._argsDescription=i),this)}summary(e){return e===void 0?this._summary:(this._summary=e,this)}alias(e){if(e===void 0)return this._aliases[0];let i=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler&&(i=this.commands[this.commands.length-1]),e===i._name)throw new Error("Command alias can't be the same as its name");let a=this.parent?._findCommand(e);if(a){let A=[a.name()].concat(a.aliases()).join("|");throw new Error(`cannot add alias '${e}' to command '${this.name()}' as already have command '${A}'`)}return i._aliases.push(e),this}aliases(e){return e===void 0?this._aliases:(e.forEach(i=>this.alias(i)),this)}usage(e){if(e===void 0){if(this._usage)return this._usage;let i=this.registeredArguments.map(a=>uC(a));return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?i:[]).join(" ")}return this._usage=e,this}name(e){return e===void 0?this._name:(this._name=e,this)}helpGroup(e){return e===void 0?this._helpGroupHeading??"":(this._helpGroupHeading=e,this)}commandsGroup(e){return e===void 0?this._defaultCommandGroup??"":(this._defaultCommandGroup=e,this)}optionsGroup(e){return e===void 0?this._defaultOptionGroup??"":(this._defaultOptionGroup=e,this)}_initOptionGroup(e){this._defaultOptionGroup&&!e.helpGroupHeading&&e.helpGroup(this._defaultOptionGroup)}_initCommandGroup(e){this._defaultCommandGroup&&!e.helpGroup()&&e.helpGroup(this._defaultCommandGroup)}nameFromFilename(e){return this._name=Ur.basename(e,Ur.extname(e)),this}executableDir(e){return e===void 0?this._executableDir:(this._executableDir=e,this)}helpInformation(e){let i=this.createHelp(),a=this._getOutputContext(e);i.prepareContext({error:a.error,helpWidth:a.helpWidth,outputHasColors:a.hasColors});let A=i.formatHelp(this,i);return a.hasColors?A:this._outputConfiguration.stripColor(A)}_getOutputContext(e){e=e||{};let i=!!e.error,a,A,l;return i?(a=p=>this._outputConfiguration.writeErr(p),A=this._outputConfiguration.getErrHasColors(),l=this._outputConfiguration.getErrHelpWidth()):(a=p=>this._outputConfiguration.writeOut(p),A=this._outputConfiguration.getOutHasColors(),l=this._outputConfiguration.getOutHelpWidth()),{error:i,write:p=>(A||(p=this._outputConfiguration.stripColor(p)),a(p)),hasColors:A,helpWidth:l}}outputHelp(e){let i;typeof e=="function"&&(i=e,e=void 0);let a=this._getOutputContext(e),A={error:a.error,write:a.write,command:this};this._getCommandAndAncestors().reverse().forEach(u=>u.emit("beforeAllHelp",A)),this.emit("beforeHelp",A);let l=this.helpInformation({error:a.error});if(i&&(l=i(l),typeof l!="string"&&!Buffer.isBuffer(l)))throw new Error("outputHelp callback must return a string or a Buffer");a.write(l),this._getHelpOption()?.long&&this.emit(this._getHelpOption().long),this.emit("afterHelp",A),this._getCommandAndAncestors().forEach(u=>u.emit("afterAllHelp",A))}helpOption(e,i){return typeof e=="boolean"?(e?(this._helpOption===null&&(this._helpOption=void 0),this._defaultOptionGroup&&this._initOptionGroup(this._getHelpOption())):this._helpOption=null,this):(this._helpOption=this.createOption(e??"-h, --help",i??"display help for command"),(e||i)&&this._initOptionGroup(this._helpOption),this)}_getHelpOption(){return this._helpOption===void 0&&this.helpOption(void 0,void 0),this._helpOption}addHelpOption(e){return this._helpOption=e,this._initOptionGroup(e),this}help(e){this.outputHelp(e);let i=Number(qe.exitCode??0);i===0&&e&&typeof e!="function"&&e.error&&(i=1),this._exit(i,"commander.help","(outputHelp)")}addHelpText(e,i){let a=["beforeAll","before","after","afterAll"];if(!a.includes(e))throw new Error(`Unexpected value for position to addHelpText.
|
|
32
32
|
Expecting one of '${a.join("', '")}'`);let A=`${e}Help`;return this.on(A,l=>{let u;typeof i=="function"?u=i({error:l.error,command:l.command}):u=i,u&&l.write(`${u}
|
|
33
|
-
`)}),this}_outputHelpIfRequested(e){let i=this._getHelpOption();i&&e.find(A=>i.is(A))&&(this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)"))}};function vu(r){return r.map(e=>{if(!e.startsWith("--inspect"))return e;let i,a="127.0.0.1",A="9229",l;return(l=e.match(/^(--inspect(-brk)?)$/))!==null?i=l[1]:(l=e.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null?(i=l[1],/^\d+$/.test(l[3])?A=l[3]:a=l[3]):(l=e.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null&&(i=l[1],a=l[3],A=l[4]),i&&A!=="0"?`${i}=${a}:${parseInt(A)+1}`:e})}function bo(){if(qe.env.NO_COLOR||qe.env.FORCE_COLOR==="0"||qe.env.FORCE_COLOR==="false")return!1;if(qe.env.FORCE_COLOR||qe.env.CLICOLOR_FORCE!==void 0)return!0}xo.Command=Co;xo.useColor=bo});var Du=ae(Kt=>{var{Argument:Fu}=Ss(),{Command:Qo}=Iu(),{CommanderError:dC,InvalidArgumentError:Tu}=Qn(),{Help:gC}=fo(),{Option:Su}=Eo();Kt.program=new Qo;Kt.createCommand=r=>new Qo(r);Kt.createOption=(r,e)=>new Su(r,e);Kt.createArgument=(r,e)=>new Fu(r,e);Kt.Command=Qo;Kt.Option=Su;Kt.Argument=Fu;Kt.Help=gC;Kt.CommanderError=dC;Kt.InvalidArgumentError=Tu;Kt.InvalidOptionArgumentError=Tu});var pt=ae((
|
|
34
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var l=!0,u=!1,p;return{s:function(){i=i.call(r)},n:function(){var g=i.next();return l=g.done,g},e:function(g){u=!0,p=g},f:function(){try{!l&&i.return!=null&&i.return()}finally{if(u)throw p}}}}function Ub(r,e){if(r){if(typeof r=="string")return
|
|
33
|
+
`)}),this}_outputHelpIfRequested(e){let i=this._getHelpOption();i&&e.find(A=>i.is(A))&&(this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)"))}};function vu(r){return r.map(e=>{if(!e.startsWith("--inspect"))return e;let i,a="127.0.0.1",A="9229",l;return(l=e.match(/^(--inspect(-brk)?)$/))!==null?i=l[1]:(l=e.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null?(i=l[1],/^\d+$/.test(l[3])?A=l[3]:a=l[3]):(l=e.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null&&(i=l[1],a=l[3],A=l[4]),i&&A!=="0"?`${i}=${a}:${parseInt(A)+1}`:e})}function bo(){if(qe.env.NO_COLOR||qe.env.FORCE_COLOR==="0"||qe.env.FORCE_COLOR==="false")return!1;if(qe.env.FORCE_COLOR||qe.env.CLICOLOR_FORCE!==void 0)return!0}xo.Command=Co;xo.useColor=bo});var Du=ae(Kt=>{var{Argument:Fu}=Ss(),{Command:Qo}=Iu(),{CommanderError:dC,InvalidArgumentError:Tu}=Qn(),{Help:gC}=fo(),{Option:Su}=Eo();Kt.program=new Qo;Kt.createCommand=r=>new Qo(r);Kt.createOption=(r,e)=>new Su(r,e);Kt.createArgument=(r,e)=>new Fu(r,e);Kt.Command=Qo;Kt.Option=Su;Kt.Argument=Fu;Kt.Help=gC;Kt.CommanderError=dC;Kt.InvalidArgumentError=Tu;Kt.InvalidOptionArgumentError=Tu});var pt=ae((VD,Mh)=>{"use strict";var{FORCE_COLOR:vb,NODE_DISABLE_COLORS:Ib,TERM:Fb}=process.env,tt={enabled:!Ib&&Fb!=="dumb"&&vb!=="0",reset:At(0,0),bold:At(1,22),dim:At(2,22),italic:At(3,23),underline:At(4,24),inverse:At(7,27),hidden:At(8,28),strikethrough:At(9,29),black:At(30,39),red:At(31,39),green:At(32,39),yellow:At(33,39),blue:At(34,39),magenta:At(35,39),cyan:At(36,39),white:At(37,39),gray:At(90,39),grey:At(90,39),bgBlack:At(40,49),bgRed:At(41,49),bgGreen:At(42,49),bgYellow:At(43,49),bgBlue:At(44,49),bgMagenta:At(45,49),bgCyan:At(46,49),bgWhite:At(47,49)};function Dh(r,e){let i=0,a,A="",l="";for(;i<r.length;i++)a=r[i],A+=a.open,l+=a.close,e.includes(a.close)&&(e=e.replace(a.rgx,a.close+a.open));return A+e+l}function Tb(r,e){let i={has:r,keys:e};return i.reset=tt.reset.bind(i),i.bold=tt.bold.bind(i),i.dim=tt.dim.bind(i),i.italic=tt.italic.bind(i),i.underline=tt.underline.bind(i),i.inverse=tt.inverse.bind(i),i.hidden=tt.hidden.bind(i),i.strikethrough=tt.strikethrough.bind(i),i.black=tt.black.bind(i),i.red=tt.red.bind(i),i.green=tt.green.bind(i),i.yellow=tt.yellow.bind(i),i.blue=tt.blue.bind(i),i.magenta=tt.magenta.bind(i),i.cyan=tt.cyan.bind(i),i.white=tt.white.bind(i),i.gray=tt.gray.bind(i),i.grey=tt.grey.bind(i),i.bgBlack=tt.bgBlack.bind(i),i.bgRed=tt.bgRed.bind(i),i.bgGreen=tt.bgGreen.bind(i),i.bgYellow=tt.bgYellow.bind(i),i.bgBlue=tt.bgBlue.bind(i),i.bgMagenta=tt.bgMagenta.bind(i),i.bgCyan=tt.bgCyan.bind(i),i.bgWhite=tt.bgWhite.bind(i),i}function At(r,e){let i={open:`\x1B[${r}m`,close:`\x1B[${e}m`,rgx:new RegExp(`\\x1b\\[${e}m`,"g")};return function(a){return this!==void 0&&this.has!==void 0?(this.has.includes(r)||(this.has.push(r),this.keys.push(i)),a===void 0?this:tt.enabled?Dh(this.keys,a+""):a+""):a===void 0?Tb([r],[i]):tt.enabled?Dh([i],a+""):a+""}}Mh.exports=tt});var Nh=ae((jD,Uh)=>{"use strict";Uh.exports=(r,e)=>{if(!(r.meta&&r.name!=="escape")){if(r.ctrl){if(r.name==="a")return"first";if(r.name==="c"||r.name==="d")return"abort";if(r.name==="e")return"last";if(r.name==="g")return"reset"}if(e){if(r.name==="j")return"down";if(r.name==="k")return"up"}return r.name==="return"||r.name==="enter"?"submit":r.name==="backspace"?"delete":r.name==="delete"?"deleteForward":r.name==="abort"?"abort":r.name==="escape"?"exit":r.name==="tab"?"next":r.name==="pagedown"?"nextPage":r.name==="pageup"?"prevPage":r.name==="home"?"home":r.name==="end"?"end":r.name==="up"?"up":r.name==="down"?"down":r.name==="right"?"right":r.name==="left"?"left":!1}}});var _s=ae((_D,kh)=>{"use strict";kh.exports=r=>{let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))"].join("|"),i=new RegExp(e,"g");return typeof r=="string"?r.replace(i,""):r}});var ft=ae((ZD,Oh)=>{"use strict";var Do={to(r,e){return e?`\x1B[${e+1};${r+1}H`:`\x1B[${r+1}G`},move(r,e){let i="";return r<0?i+=`\x1B[${-r}D`:r>0&&(i+=`\x1B[${r}C`),e<0?i+=`\x1B[${-e}A`:e>0&&(i+=`\x1B[${e}B`),i},up:(r=1)=>`\x1B[${r}A`,down:(r=1)=>`\x1B[${r}B`,forward:(r=1)=>`\x1B[${r}C`,backward:(r=1)=>`\x1B[${r}D`,nextLine:(r=1)=>"\x1B[E".repeat(r),prevLine:(r=1)=>"\x1B[F".repeat(r),left:"\x1B[G",hide:"\x1B[?25l",show:"\x1B[?25h",save:"\x1B7",restore:"\x1B8"},Sb={up:(r=1)=>"\x1B[S".repeat(r),down:(r=1)=>"\x1B[T".repeat(r)},Db={screen:"\x1B[2J",up:(r=1)=>"\x1B[1J".repeat(r),down:(r=1)=>"\x1B[J".repeat(r),line:"\x1B[2K",lineEnd:"\x1B[K",lineStart:"\x1B[1K",lines(r){let e="";for(let i=0;i<r;i++)e+=this.line+(i<r-1?Do.up():"");return r&&(e+=Do.left),e}};Oh.exports={cursor:Do,scroll:Sb,erase:Db,beep:"\x07"}});var Ph=ae((zD,Lh)=>{"use strict";function Mb(r,e){var i=typeof Symbol<"u"&&r[Symbol.iterator]||r["@@iterator"];if(!i){if(Array.isArray(r)||(i=Ub(r))||e&&r&&typeof r.length=="number"){i&&(r=i);var a=0,A=function(){};return{s:A,n:function(){return a>=r.length?{done:!0}:{done:!1,value:r[a++]}},e:function(g){throw g},f:A}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
34
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var l=!0,u=!1,p;return{s:function(){i=i.call(r)},n:function(){var g=i.next();return l=g.done,g},e:function(g){u=!0,p=g},f:function(){try{!l&&i.return!=null&&i.return()}finally{if(u)throw p}}}}function Ub(r,e){if(r){if(typeof r=="string")return Yh(r,e);var i=Object.prototype.toString.call(r).slice(8,-1);if(i==="Object"&&r.constructor&&(i=r.constructor.name),i==="Map"||i==="Set")return Array.from(r);if(i==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return Yh(r,e)}}function Yh(r,e){(e==null||e>r.length)&&(e=r.length);for(var i=0,a=new Array(e);i<e;i++)a[i]=r[i];return a}var Nb=_s(),Gh=ft(),Rh=Gh.erase,kb=Gh.cursor,Ob=r=>[...Nb(r)].length;Lh.exports=function(r,e){if(!e)return Rh.line+kb.to(0);let i=0,a=r.split(/\r?\n/);var A=Mb(a),l;try{for(A.s();!(l=A.n()).done;){let u=l.value;i+=1+Math.floor(Math.max(Ob(u)-1,0)/e)}}catch(u){A.e(u)}finally{A.f()}return Rh.lines(i)}});var Mo=ae((XD,Hh)=>{"use strict";var Tn={arrowUp:"\u2191",arrowDown:"\u2193",arrowLeft:"\u2190",arrowRight:"\u2192",radioOn:"\u25C9",radioOff:"\u25EF",tick:"\u2714",cross:"\u2716",ellipsis:"\u2026",pointerSmall:"\u203A",line:"\u2500",pointer:"\u276F"},Yb={arrowUp:Tn.arrowUp,arrowDown:Tn.arrowDown,arrowLeft:Tn.arrowLeft,arrowRight:Tn.arrowRight,radioOn:"(*)",radioOff:"( )",tick:"\u221A",cross:"\xD7",ellipsis:"...",pointerSmall:"\xBB",line:"\u2500",pointer:">"},Rb=process.platform==="win32"?Yb:Tn;Hh.exports=Rb});var Jh=ae((qD,Wh)=>{"use strict";var Ji=pt(),wi=Mo(),Uo=Object.freeze({password:{scale:1,render:r=>"*".repeat(r.length)},emoji:{scale:2,render:r=>"\u{1F603}".repeat(r.length)},invisible:{scale:0,render:r=>""},default:{scale:1,render:r=>`${r}`}}),Gb=r=>Uo[r]||Uo.default,Sn=Object.freeze({aborted:Ji.red(wi.cross),done:Ji.green(wi.tick),exited:Ji.yellow(wi.cross),default:Ji.cyan("?")}),Lb=(r,e,i)=>e?Sn.aborted:i?Sn.exited:r?Sn.done:Sn.default,Pb=r=>Ji.gray(r?wi.ellipsis:wi.pointerSmall),Hb=(r,e)=>Ji.gray(r?e?wi.pointerSmall:"+":wi.line);Wh.exports={styles:Uo,render:Gb,symbols:Sn,symbol:Lb,delimiter:Pb,item:Hb}});var jh=ae((KD,Vh)=>{"use strict";var Wb=_s();Vh.exports=function(r,e){let i=String(Wb(r)||"").split(/\r?\n/);return e?i.map(a=>Math.ceil(a.length/e)).reduce((a,A)=>a+A):i.length}});var Zh=ae(($D,_h)=>{"use strict";_h.exports=(r,e={})=>{let i=Number.isSafeInteger(parseInt(e.margin))?new Array(parseInt(e.margin)).fill(" ").join(""):e.margin||"",a=e.width;return(r||"").split(/\r?\n/g).map(A=>A.split(/\s+/g).reduce((l,u)=>(u.length+i.length>=a||l[l.length-1].length+u.length+1<a?l[l.length-1]+=` ${u}`:l.push(`${i}${u}`),l),[i]).join(`
|
|
35
35
|
`)).join(`
|
|
36
|
-
`)}});var Xh=ae((
|
|
36
|
+
`)}});var Xh=ae((eM,zh)=>{"use strict";zh.exports=(r,e,i)=>{i=i||e;let a=Math.min(e-i,r-Math.floor(i/2));a<0&&(a=0);let A=Math.min(a+i,e);return{startIndex:a,endIndex:A}}});var Ar=ae((tM,qh)=>{"use strict";qh.exports={action:Nh(),clear:Ph(),style:Jh(),strip:_s(),figures:Mo(),lines:jh(),wrap:Zh(),entriesToDisplay:Xh()}});var Or=ae((rM,ep)=>{"use strict";var Kh=We("readline"),Jb=Ar(),Vb=Jb.action,jb=We("events"),$h=ft(),_b=$h.beep,Zb=$h.cursor,zb=pt(),No=class extends jb{constructor(e={}){super(),this.firstRender=!0,this.in=e.stdin||process.stdin,this.out=e.stdout||process.stdout,this.onRender=(e.onRender||(()=>{})).bind(this);let i=Kh.createInterface({input:this.in,escapeCodeTimeout:50});Kh.emitKeypressEvents(this.in,i),this.in.isTTY&&this.in.setRawMode(!0);let a=["SelectPrompt","MultiselectPrompt"].indexOf(this.constructor.name)>-1,A=(l,u)=>{let p=Vb(u,a);p===!1?this._&&this._(l,u):typeof this[p]=="function"?this[p](u):this.bell()};this.close=()=>{this.out.write(Zb.show),this.in.removeListener("keypress",A),this.in.isTTY&&this.in.setRawMode(!1),i.close(),this.emit(this.aborted?"abort":this.exited?"exit":"submit",this.value),this.closed=!0},this.in.on("keypress",A)}fire(){this.emit("state",{value:this.value,aborted:!!this.aborted,exited:!!this.exited})}bell(){this.out.write(_b)}render(){this.onRender(zb),this.firstRender&&(this.firstRender=!1)}};ep.exports=No});var sp=ae((iM,np)=>{"use strict";function tp(r,e,i,a,A,l,u){try{var p=r[l](u),f=p.value}catch(g){i(g);return}p.done?e(f):Promise.resolve(f).then(a,A)}function rp(r){return function(){var e=this,i=arguments;return new Promise(function(a,A){var l=r.apply(e,i);function u(f){tp(l,a,A,u,p,"next",f)}function p(f){tp(l,a,A,u,p,"throw",f)}u(void 0)})}}var Zs=pt(),Xb=Or(),ip=ft(),qb=ip.erase,Dn=ip.cursor,zs=Ar(),ko=zs.style,Oo=zs.clear,Kb=zs.lines,$b=zs.figures,Yo=class extends Xb{constructor(e={}){super(e),this.transform=ko.render(e.style),this.scale=this.transform.scale,this.msg=e.message,this.initial=e.initial||"",this.validator=e.validate||(()=>!0),this.value="",this.errorMsg=e.error||"Please Enter A Valid Value",this.cursor=+!!this.initial,this.cursorOffset=0,this.clear=Oo("",this.out.columns),this.render()}set value(e){!e&&this.initial?(this.placeholder=!0,this.rendered=Zs.gray(this.transform.render(this.initial))):(this.placeholder=!1,this.rendered=this.transform.render(e)),this._value=e,this.fire()}get value(){return this._value}reset(){this.value="",this.cursor=+!!this.initial,this.cursorOffset=0,this.fire(),this.render()}exit(){this.abort()}abort(){this.value=this.value||this.initial,this.done=this.aborted=!0,this.error=!1,this.red=!1,this.fire(),this.render(),this.out.write(`
|
|
37
37
|
`),this.close()}validate(){var e=this;return rp(function*(){let i=yield e.validator(e.value);typeof i=="string"&&(e.errorMsg=i,i=!1),e.error=!i})()}submit(){var e=this;return rp(function*(){if(e.value=e.value||e.initial,e.cursorOffset=0,e.cursor=e.rendered.length,yield e.validate(),e.error){e.red=!0,e.fire(),e.render();return}e.done=!0,e.aborted=!1,e.fire(),e.render(),e.out.write(`
|
|
38
|
-
`),e.close()})()}next(){if(!this.placeholder)return this.bell();this.value=this.initial,this.cursor=this.rendered.length,this.fire(),this.render()}moveCursor(e){this.placeholder||(this.cursor=this.cursor+e,this.cursorOffset+=e)}_(e,i){let a=this.value.slice(0,this.cursor),A=this.value.slice(this.cursor);this.value=`${a}${e}${A}`,this.red=!1,this.cursor=this.placeholder?0:a.length+1,this.render()}delete(){if(this.isCursorAtStart())return this.bell();let e=this.value.slice(0,this.cursor-1),i=this.value.slice(this.cursor);this.value=`${e}${i}`,this.red=!1,this.isCursorAtStart()?this.cursorOffset=0:(this.cursorOffset++,this.moveCursor(-1)),this.render()}deleteForward(){if(this.cursor*this.scale>=this.rendered.length||this.placeholder)return this.bell();let e=this.value.slice(0,this.cursor),i=this.value.slice(this.cursor+1);this.value=`${e}${i}`,this.red=!1,this.isCursorAtEnd()?this.cursorOffset=0:this.cursorOffset++,this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.value.length,this.render()}left(){if(this.cursor<=0||this.placeholder)return this.bell();this.moveCursor(-1),this.render()}right(){if(this.cursor*this.scale>=this.rendered.length||this.placeholder)return this.bell();this.moveCursor(1),this.render()}isCursorAtStart(){return this.cursor===0||this.placeholder&&this.cursor===1}isCursorAtEnd(){return this.cursor===this.rendered.length||this.placeholder&&this.cursor===this.rendered.length+1}render(){this.closed||(this.firstRender||(this.outputError&&this.out.write(Dn.down(Kb(this.outputError,this.out.columns)-1)+
|
|
38
|
+
`),e.close()})()}next(){if(!this.placeholder)return this.bell();this.value=this.initial,this.cursor=this.rendered.length,this.fire(),this.render()}moveCursor(e){this.placeholder||(this.cursor=this.cursor+e,this.cursorOffset+=e)}_(e,i){let a=this.value.slice(0,this.cursor),A=this.value.slice(this.cursor);this.value=`${a}${e}${A}`,this.red=!1,this.cursor=this.placeholder?0:a.length+1,this.render()}delete(){if(this.isCursorAtStart())return this.bell();let e=this.value.slice(0,this.cursor-1),i=this.value.slice(this.cursor);this.value=`${e}${i}`,this.red=!1,this.isCursorAtStart()?this.cursorOffset=0:(this.cursorOffset++,this.moveCursor(-1)),this.render()}deleteForward(){if(this.cursor*this.scale>=this.rendered.length||this.placeholder)return this.bell();let e=this.value.slice(0,this.cursor),i=this.value.slice(this.cursor+1);this.value=`${e}${i}`,this.red=!1,this.isCursorAtEnd()?this.cursorOffset=0:this.cursorOffset++,this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.value.length,this.render()}left(){if(this.cursor<=0||this.placeholder)return this.bell();this.moveCursor(-1),this.render()}right(){if(this.cursor*this.scale>=this.rendered.length||this.placeholder)return this.bell();this.moveCursor(1),this.render()}isCursorAtStart(){return this.cursor===0||this.placeholder&&this.cursor===1}isCursorAtEnd(){return this.cursor===this.rendered.length||this.placeholder&&this.cursor===this.rendered.length+1}render(){this.closed||(this.firstRender||(this.outputError&&this.out.write(Dn.down(Kb(this.outputError,this.out.columns)-1)+Oo(this.outputError,this.out.columns)),this.out.write(Oo(this.outputText,this.out.columns))),super.render(),this.outputError="",this.outputText=[ko.symbol(this.done,this.aborted),Zs.bold(this.msg),ko.delimiter(this.done),this.red?Zs.red(this.rendered):this.rendered].join(" "),this.error&&(this.outputError+=this.errorMsg.split(`
|
|
39
39
|
`).reduce((e,i,a)=>e+`
|
|
40
|
-
${a?" ":$b.pointerSmall} ${Zs.red().italic(i)}`,"")),this.out.write(qb.line+Dn.to(0)+this.outputText+Dn.save+this.outputError+Dn.restore+Dn.move(this.cursorOffset,0)))}};np.exports=
|
|
40
|
+
${a?" ":$b.pointerSmall} ${Zs.red().italic(i)}`,"")),this.out.write(qb.line+Dn.to(0)+this.outputText+Dn.save+this.outputError+Dn.restore+Dn.move(this.cursorOffset,0)))}};np.exports=Yo});var lp=ae((nM,Ap)=>{"use strict";var Yr=pt(),ex=Or(),Mn=Ar(),ap=Mn.style,op=Mn.clear,Xs=Mn.figures,tx=Mn.wrap,rx=Mn.entriesToDisplay,ix=ft(),nx=ix.cursor,Ro=class extends ex{constructor(e={}){super(e),this.msg=e.message,this.hint=e.hint||"- Use arrow-keys. Return to submit.",this.warn=e.warn||"- This option is disabled",this.cursor=e.initial||0,this.choices=e.choices.map((i,a)=>(typeof i=="string"&&(i={title:i,value:a}),{title:i&&(i.title||i.value||i),value:i&&(i.value===void 0?a:i.value),description:i&&i.description,selected:i&&i.selected,disabled:i&&i.disabled})),this.optionsPerPage=e.optionsPerPage||10,this.value=(this.choices[this.cursor]||{}).value,this.clear=op("",this.out.columns),this.render()}moveCursor(e){this.cursor=e,this.value=this.choices[e].value,this.fire()}reset(){this.moveCursor(0),this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
|
|
41
41
|
`),this.close()}submit(){this.selection.disabled?this.bell():(this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
|
|
42
|
-
`),this.close())}first(){this.moveCursor(0),this.render()}last(){this.moveCursor(this.choices.length-1),this.render()}up(){this.cursor===0?this.moveCursor(this.choices.length-1):this.moveCursor(this.cursor-1),this.render()}down(){this.cursor===this.choices.length-1?this.moveCursor(0):this.moveCursor(this.cursor+1),this.render()}next(){this.moveCursor((this.cursor+1)%this.choices.length),this.render()}_(e,i){if(e===" ")return this.submit()}get selection(){return this.choices[this.cursor]}render(){if(this.closed)return;this.firstRender?this.out.write(nx.hide):this.out.write(op(this.outputText,this.out.columns)),super.render();let e=rx(this.cursor,this.choices.length,this.optionsPerPage),i=e.startIndex,a=e.endIndex;if(this.outputText=[ap.symbol(this.done,this.aborted),
|
|
43
|
-
`;for(let A=i;A<a;A++){let l,u,p="",f=this.choices[A];A===i&&i>0?u=Xs.arrowUp:A===a-1&&a<this.choices.length?u=Xs.arrowDown:u=" ",f.disabled?(l=this.cursor===A?
|
|
44
|
-
`+tx(f.description,{margin:3,width:this.out.columns})))),this.outputText+=`${u} ${l}${
|
|
45
|
-
`}}this.out.write(this.outputText)}};Ap.exports=Ro});var dp=ae((
|
|
42
|
+
`),this.close())}first(){this.moveCursor(0),this.render()}last(){this.moveCursor(this.choices.length-1),this.render()}up(){this.cursor===0?this.moveCursor(this.choices.length-1):this.moveCursor(this.cursor-1),this.render()}down(){this.cursor===this.choices.length-1?this.moveCursor(0):this.moveCursor(this.cursor+1),this.render()}next(){this.moveCursor((this.cursor+1)%this.choices.length),this.render()}_(e,i){if(e===" ")return this.submit()}get selection(){return this.choices[this.cursor]}render(){if(this.closed)return;this.firstRender?this.out.write(nx.hide):this.out.write(op(this.outputText,this.out.columns)),super.render();let e=rx(this.cursor,this.choices.length,this.optionsPerPage),i=e.startIndex,a=e.endIndex;if(this.outputText=[ap.symbol(this.done,this.aborted),Yr.bold(this.msg),ap.delimiter(!1),this.done?this.selection.title:this.selection.disabled?Yr.yellow(this.warn):Yr.gray(this.hint)].join(" "),!this.done){this.outputText+=`
|
|
43
|
+
`;for(let A=i;A<a;A++){let l,u,p="",f=this.choices[A];A===i&&i>0?u=Xs.arrowUp:A===a-1&&a<this.choices.length?u=Xs.arrowDown:u=" ",f.disabled?(l=this.cursor===A?Yr.gray().underline(f.title):Yr.strikethrough().gray(f.title),u=(this.cursor===A?Yr.bold().gray(Xs.pointer)+" ":" ")+u):(l=this.cursor===A?Yr.cyan().underline(f.title):f.title,u=(this.cursor===A?Yr.cyan(Xs.pointer)+" ":" ")+u,f.description&&this.cursor===A&&(p=` - ${f.description}`,(u.length+l.length+p.length>=this.out.columns||f.description.split(/\r?\n/).length>1)&&(p=`
|
|
44
|
+
`+tx(f.description,{margin:3,width:this.out.columns})))),this.outputText+=`${u} ${l}${Yr.gray(p)}
|
|
45
|
+
`}}this.out.write(this.outputText)}};Ap.exports=Ro});var dp=ae((sM,fp)=>{"use strict";var qs=pt(),sx=Or(),hp=Ar(),cp=hp.style,ax=hp.clear,pp=ft(),up=pp.cursor,ox=pp.erase,Go=class extends sx{constructor(e={}){super(e),this.msg=e.message,this.value=!!e.initial,this.active=e.active||"on",this.inactive=e.inactive||"off",this.initialValue=this.value,this.render()}reset(){this.value=this.initialValue,this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
|
|
46
46
|
`),this.close()}submit(){this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
|
|
47
|
-
`),this.close()}deactivate(){if(this.value===!1)return this.bell();this.value=!1,this.render()}activate(){if(this.value===!0)return this.bell();this.value=!0,this.render()}delete(){this.deactivate()}left(){this.deactivate()}right(){this.activate()}down(){this.deactivate()}up(){this.activate()}next(){this.value=!this.value,this.fire(),this.render()}_(e,i){if(e===" ")this.value=!this.value;else if(e==="1")this.value=!0;else if(e==="0")this.value=!1;else return this.bell();this.render()}render(){this.closed||(this.firstRender?this.out.write(up.hide):this.out.write(ax(this.outputText,this.out.columns)),super.render(),this.outputText=[cp.symbol(this.done,this.aborted),qs.bold(this.msg),cp.delimiter(this.done),this.value?this.inactive:qs.cyan().underline(this.inactive),qs.gray("/"),this.value?qs.cyan().underline(this.active):this.active].join(" "),this.out.write(ox.line+up.to(0)+this.outputText))}};fp.exports=Go});var Er=ae((
|
|
48
|
-
`),this.close()}validate(){var e=this;return
|
|
49
|
-
`),e.close()})()}up(){this.typed="",this.parts[this.cursor].up(),this.render()}down(){this.typed="",this.parts[this.cursor].down(),this.render()}left(){let e=this.parts[this.cursor].prev();if(e==null)return this.bell();this.moveCursor(this.parts.indexOf(e)),this.render()}right(){let e=this.parts[this.cursor].next();if(e==null)return this.bell();this.moveCursor(this.parts.indexOf(e)),this.render()}next(){let e=this.parts[this.cursor].next();this.moveCursor(e?this.parts.indexOf(e):this.parts.findIndex(i=>i instanceof Lp)),this.render()}_(e){/\d/.test(e)&&(this.typed+=e,this.parts[this.cursor].setTo(this.typed),this.render())}render(){this.closed||(this.firstRender?this.out.write(Gp.hide):this.out.write(Rp(this.outputText,this.out.columns)),super.render(),this.outputText=[
|
|
47
|
+
`),this.close()}deactivate(){if(this.value===!1)return this.bell();this.value=!1,this.render()}activate(){if(this.value===!0)return this.bell();this.value=!0,this.render()}delete(){this.deactivate()}left(){this.deactivate()}right(){this.activate()}down(){this.deactivate()}up(){this.activate()}next(){this.value=!this.value,this.fire(),this.render()}_(e,i){if(e===" ")this.value=!this.value;else if(e==="1")this.value=!0;else if(e==="0")this.value=!1;else return this.bell();this.render()}render(){this.closed||(this.firstRender?this.out.write(up.hide):this.out.write(ax(this.outputText,this.out.columns)),super.render(),this.outputText=[cp.symbol(this.done,this.aborted),qs.bold(this.msg),cp.delimiter(this.done),this.value?this.inactive:qs.cyan().underline(this.inactive),qs.gray("/"),this.value?qs.cyan().underline(this.active):this.active].join(" "),this.out.write(ox.line+up.to(0)+this.outputText))}};fp.exports=Go});var Er=ae((aM,gp)=>{"use strict";var Lo=class r{constructor({token:e,date:i,parts:a,locales:A}){this.token=e,this.date=i||new Date,this.parts=a||[this],this.locales=A||{}}up(){}down(){}next(){let e=this.parts.indexOf(this);return this.parts.find((i,a)=>a>e&&i instanceof r)}setTo(e){}prev(){let e=[].concat(this.parts).reverse(),i=e.indexOf(this);return e.find((a,A)=>A>i&&a instanceof r)}toString(){return String(this.date)}};gp.exports=Lo});var Bp=ae((oM,mp)=>{"use strict";var Ax=Er(),Po=class extends Ax{constructor(e={}){super(e)}up(){this.date.setHours((this.date.getHours()+12)%24)}down(){this.up()}toString(){let e=this.date.getHours()>12?"pm":"am";return/\A/.test(this.token)?e.toUpperCase():e}};mp.exports=Po});var wp=ae((AM,Ep)=>{"use strict";var lx=Er(),cx=r=>(r=r%10,r===1?"st":r===2?"nd":r===3?"rd":"th"),Ho=class extends lx{constructor(e={}){super(e)}up(){this.date.setDate(this.date.getDate()+1)}down(){this.date.setDate(this.date.getDate()-1)}setTo(e){this.date.setDate(parseInt(e.substr(-2)))}toString(){let e=this.date.getDate(),i=this.date.getDay();return this.token==="DD"?String(e).padStart(2,"0"):this.token==="Do"?e+cx(e):this.token==="d"?i+1:this.token==="ddd"?this.locales.weekdaysShort[i]:this.token==="dddd"?this.locales.weekdays[i]:e}};Ep.exports=Ho});var Cp=ae((lM,yp)=>{"use strict";var ux=Er(),Wo=class extends ux{constructor(e={}){super(e)}up(){this.date.setHours(this.date.getHours()+1)}down(){this.date.setHours(this.date.getHours()-1)}setTo(e){this.date.setHours(parseInt(e.substr(-2)))}toString(){let e=this.date.getHours();return/h/.test(this.token)&&(e=e%12||12),this.token.length>1?String(e).padStart(2,"0"):e}};yp.exports=Wo});var xp=ae((cM,bp)=>{"use strict";var hx=Er(),Jo=class extends hx{constructor(e={}){super(e)}up(){this.date.setMilliseconds(this.date.getMilliseconds()+1)}down(){this.date.setMilliseconds(this.date.getMilliseconds()-1)}setTo(e){this.date.setMilliseconds(parseInt(e.substr(-this.token.length)))}toString(){return String(this.date.getMilliseconds()).padStart(4,"0").substr(0,this.token.length)}};bp.exports=Jo});var vp=ae((uM,Qp)=>{"use strict";var px=Er(),Vo=class extends px{constructor(e={}){super(e)}up(){this.date.setMinutes(this.date.getMinutes()+1)}down(){this.date.setMinutes(this.date.getMinutes()-1)}setTo(e){this.date.setMinutes(parseInt(e.substr(-2)))}toString(){let e=this.date.getMinutes();return this.token.length>1?String(e).padStart(2,"0"):e}};Qp.exports=Vo});var Fp=ae((hM,Ip)=>{"use strict";var fx=Er(),jo=class extends fx{constructor(e={}){super(e)}up(){this.date.setMonth(this.date.getMonth()+1)}down(){this.date.setMonth(this.date.getMonth()-1)}setTo(e){e=parseInt(e.substr(-2))-1,this.date.setMonth(e<0?0:e)}toString(){let e=this.date.getMonth(),i=this.token.length;return i===2?String(e+1).padStart(2,"0"):i===3?this.locales.monthsShort[e]:i===4?this.locales.months[e]:String(e+1)}};Ip.exports=jo});var Sp=ae((pM,Tp)=>{"use strict";var dx=Er(),_o=class extends dx{constructor(e={}){super(e)}up(){this.date.setSeconds(this.date.getSeconds()+1)}down(){this.date.setSeconds(this.date.getSeconds()-1)}setTo(e){this.date.setSeconds(parseInt(e.substr(-2)))}toString(){let e=this.date.getSeconds();return this.token.length>1?String(e).padStart(2,"0"):e}};Tp.exports=_o});var Mp=ae((fM,Dp)=>{"use strict";var gx=Er(),Zo=class extends gx{constructor(e={}){super(e)}up(){this.date.setFullYear(this.date.getFullYear()+1)}down(){this.date.setFullYear(this.date.getFullYear()-1)}setTo(e){this.date.setFullYear(e.substr(-4))}toString(){let e=String(this.date.getFullYear()).padStart(4,"0");return this.token.length===2?e.substr(-2):e}};Dp.exports=Zo});var Np=ae((dM,Up)=>{"use strict";Up.exports={DatePart:Er(),Meridiem:Bp(),Day:wp(),Hours:Cp(),Milliseconds:xp(),Minutes:vp(),Month:Fp(),Seconds:Sp(),Year:Mp()}});var Jp=ae((gM,Wp)=>{"use strict";function kp(r,e,i,a,A,l,u){try{var p=r[l](u),f=p.value}catch(g){i(g);return}p.done?e(f):Promise.resolve(f).then(a,A)}function Op(r){return function(){var e=this,i=arguments;return new Promise(function(a,A){var l=r.apply(e,i);function u(f){kp(l,a,A,u,p,"next",f)}function p(f){kp(l,a,A,u,p,"throw",f)}u(void 0)})}}var zo=pt(),mx=Or(),qo=Ar(),Yp=qo.style,Rp=qo.clear,Bx=qo.figures,Hp=ft(),Ex=Hp.erase,Gp=Hp.cursor,Rr=Np(),Lp=Rr.DatePart,wx=Rr.Meridiem,yx=Rr.Day,Cx=Rr.Hours,bx=Rr.Milliseconds,xx=Rr.Minutes,Qx=Rr.Month,vx=Rr.Seconds,Ix=Rr.Year,Fx=/\\(.)|"((?:\\["\\]|[^"])+)"|(D[Do]?|d{3,4}|d)|(M{1,4})|(YY(?:YY)?)|([aA])|([Hh]{1,2})|(m{1,2})|(s{1,2})|(S{1,4})|./g,Pp={1:({token:r})=>r.replace(/\\(.)/g,"$1"),2:r=>new yx(r),3:r=>new Qx(r),4:r=>new Ix(r),5:r=>new wx(r),6:r=>new Cx(r),7:r=>new xx(r),8:r=>new vx(r),9:r=>new bx(r)},Tx={months:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),monthsShort:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),weekdays:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),weekdaysShort:"Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(",")},Xo=class extends mx{constructor(e={}){super(e),this.msg=e.message,this.cursor=0,this.typed="",this.locales=Object.assign(Tx,e.locales),this._date=e.initial||new Date,this.errorMsg=e.error||"Please Enter A Valid Value",this.validator=e.validate||(()=>!0),this.mask=e.mask||"YYYY-MM-DD HH:mm:ss",this.clear=Rp("",this.out.columns),this.render()}get value(){return this.date}get date(){return this._date}set date(e){e&&this._date.setTime(e.getTime())}set mask(e){let i;for(this.parts=[];i=Fx.exec(e);){let A=i.shift(),l=i.findIndex(u=>u!=null);this.parts.push(l in Pp?Pp[l]({token:i[l]||A,date:this.date,parts:this.parts,locales:this.locales}):i[l]||A)}let a=this.parts.reduce((A,l)=>(typeof l=="string"&&typeof A[A.length-1]=="string"?A[A.length-1]+=l:A.push(l),A),[]);this.parts.splice(0),this.parts.push(...a),this.reset()}moveCursor(e){this.typed="",this.cursor=e,this.fire()}reset(){this.moveCursor(this.parts.findIndex(e=>e instanceof Lp)),this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.error=!1,this.fire(),this.render(),this.out.write(`
|
|
48
|
+
`),this.close()}validate(){var e=this;return Op(function*(){let i=yield e.validator(e.value);typeof i=="string"&&(e.errorMsg=i,i=!1),e.error=!i})()}submit(){var e=this;return Op(function*(){if(yield e.validate(),e.error){e.color="red",e.fire(),e.render();return}e.done=!0,e.aborted=!1,e.fire(),e.render(),e.out.write(`
|
|
49
|
+
`),e.close()})()}up(){this.typed="",this.parts[this.cursor].up(),this.render()}down(){this.typed="",this.parts[this.cursor].down(),this.render()}left(){let e=this.parts[this.cursor].prev();if(e==null)return this.bell();this.moveCursor(this.parts.indexOf(e)),this.render()}right(){let e=this.parts[this.cursor].next();if(e==null)return this.bell();this.moveCursor(this.parts.indexOf(e)),this.render()}next(){let e=this.parts[this.cursor].next();this.moveCursor(e?this.parts.indexOf(e):this.parts.findIndex(i=>i instanceof Lp)),this.render()}_(e){/\d/.test(e)&&(this.typed+=e,this.parts[this.cursor].setTo(this.typed),this.render())}render(){this.closed||(this.firstRender?this.out.write(Gp.hide):this.out.write(Rp(this.outputText,this.out.columns)),super.render(),this.outputText=[Yp.symbol(this.done,this.aborted),zo.bold(this.msg),Yp.delimiter(!1),this.parts.reduce((e,i,a)=>e.concat(a===this.cursor&&!this.done?zo.cyan().underline(i.toString()):i),[]).join("")].join(" "),this.error&&(this.outputText+=this.errorMsg.split(`
|
|
50
50
|
`).reduce((e,i,a)=>e+`
|
|
51
|
-
${a?" ":Bx.pointerSmall} ${zo.red().italic(i)}`,"")),this.out.write(Ex.line+Gp.to(0)+this.outputText))}};Wp.exports=Xo});var qp=ae((
|
|
51
|
+
${a?" ":Bx.pointerSmall} ${zo.red().italic(i)}`,"")),this.out.write(Ex.line+Gp.to(0)+this.outputText))}};Wp.exports=Xo});var qp=ae((mM,Xp)=>{"use strict";function Vp(r,e,i,a,A,l,u){try{var p=r[l](u),f=p.value}catch(g){i(g);return}p.done?e(f):Promise.resolve(f).then(a,A)}function jp(r){return function(){var e=this,i=arguments;return new Promise(function(a,A){var l=r.apply(e,i);function u(f){Vp(l,a,A,u,p,"next",f)}function p(f){Vp(l,a,A,u,p,"throw",f)}u(void 0)})}}var Ks=pt(),Sx=Or(),zp=ft(),$s=zp.cursor,Dx=zp.erase,ea=Ar(),Ko=ea.style,Mx=ea.figures,_p=ea.clear,Ux=ea.lines,Nx=/[0-9]/,$o=r=>r!==void 0,Zp=(r,e)=>{let i=Math.pow(10,e);return Math.round(r*i)/i},eA=class extends Sx{constructor(e={}){super(e),this.transform=Ko.render(e.style),this.msg=e.message,this.initial=$o(e.initial)?e.initial:"",this.float=!!e.float,this.round=e.round||2,this.inc=e.increment||1,this.min=$o(e.min)?e.min:-1/0,this.max=$o(e.max)?e.max:1/0,this.errorMsg=e.error||"Please Enter A Valid Value",this.validator=e.validate||(()=>!0),this.color="cyan",this.value="",this.typed="",this.lastHit=0,this.render()}set value(e){!e&&e!==0?(this.placeholder=!0,this.rendered=Ks.gray(this.transform.render(`${this.initial}`)),this._value=""):(this.placeholder=!1,this.rendered=this.transform.render(`${Zp(e,this.round)}`),this._value=Zp(e,this.round)),this.fire()}get value(){return this._value}parse(e){return this.float?parseFloat(e):parseInt(e)}valid(e){return e==="-"||e==="."&&this.float||Nx.test(e)}reset(){this.typed="",this.value="",this.fire(),this.render()}exit(){this.abort()}abort(){let e=this.value;this.value=e!==""?e:this.initial,this.done=this.aborted=!0,this.error=!1,this.fire(),this.render(),this.out.write(`
|
|
52
52
|
`),this.close()}validate(){var e=this;return jp(function*(){let i=yield e.validator(e.value);typeof i=="string"&&(e.errorMsg=i,i=!1),e.error=!i})()}submit(){var e=this;return jp(function*(){if(yield e.validate(),e.error){e.color="red",e.fire(),e.render();return}let i=e.value;e.value=i!==""?i:e.initial,e.done=!0,e.aborted=!1,e.error=!1,e.fire(),e.render(),e.out.write(`
|
|
53
53
|
`),e.close()})()}up(){if(this.typed="",this.value===""&&(this.value=this.min-this.inc),this.value>=this.max)return this.bell();this.value+=this.inc,this.color="cyan",this.fire(),this.render()}down(){if(this.typed="",this.value===""&&(this.value=this.min+this.inc),this.value<=this.min)return this.bell();this.value-=this.inc,this.color="cyan",this.fire(),this.render()}delete(){let e=this.value.toString();if(e.length===0)return this.bell();this.value=this.parse(e=e.slice(0,-1))||"",this.value!==""&&this.value<this.min&&(this.value=this.min),this.color="cyan",this.fire(),this.render()}next(){this.value=this.initial,this.fire(),this.render()}_(e,i){if(!this.valid(e))return this.bell();let a=Date.now();if(a-this.lastHit>1e3&&(this.typed=""),this.typed+=e,this.lastHit=a,this.color="cyan",e===".")return this.fire();this.value=Math.min(this.parse(this.typed),this.max),this.value>this.max&&(this.value=this.max),this.value<this.min&&(this.value=this.min),this.fire(),this.render()}render(){this.closed||(this.firstRender||(this.outputError&&this.out.write($s.down(Ux(this.outputError,this.out.columns)-1)+_p(this.outputError,this.out.columns)),this.out.write(_p(this.outputText,this.out.columns))),super.render(),this.outputError="",this.outputText=[Ko.symbol(this.done,this.aborted),Ks.bold(this.msg),Ko.delimiter(this.done),!this.done||!this.done&&!this.placeholder?Ks[this.color]().underline(this.rendered):this.rendered].join(" "),this.error&&(this.outputError+=this.errorMsg.split(`
|
|
54
54
|
`).reduce((e,i,a)=>e+`
|
|
55
|
-
${a?" ":Mx.pointerSmall} ${Ks.red().italic(i)}`,"")),this.out.write(Dx.line+$s.to(0)+this.outputText+$s.save+this.outputError+$s.restore))}};Xp.exports=eA});var rA=ae((
|
|
55
|
+
${a?" ":Mx.pointerSmall} ${Ks.red().italic(i)}`,"")),this.out.write(Dx.line+$s.to(0)+this.outputText+$s.save+this.outputError+$s.restore))}};Xp.exports=eA});var rA=ae((BM,ef)=>{"use strict";var wr=pt(),kx=ft(),Ox=kx.cursor,Yx=Or(),Un=Ar(),Kp=Un.clear,ti=Un.figures,$p=Un.style,Rx=Un.wrap,Gx=Un.entriesToDisplay,tA=class extends Yx{constructor(e={}){super(e),this.msg=e.message,this.cursor=e.cursor||0,this.scrollIndex=e.cursor||0,this.hint=e.hint||"",this.warn=e.warn||"- This option is disabled -",this.minSelected=e.min,this.showMinError=!1,this.maxChoices=e.max,this.instructions=e.instructions,this.optionsPerPage=e.optionsPerPage||10,this.value=e.choices.map((i,a)=>(typeof i=="string"&&(i={title:i,value:a}),{title:i&&(i.title||i.value||i),description:i&&i.description,value:i&&(i.value===void 0?a:i.value),selected:i&&i.selected,disabled:i&&i.disabled})),this.clear=Kp("",this.out.columns),e.overrideRender||this.render()}reset(){this.value.map(e=>!e.selected),this.cursor=0,this.fire(),this.render()}selected(){return this.value.filter(e=>e.selected)}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
|
|
56
56
|
`),this.close()}submit(){let e=this.value.filter(i=>i.selected);this.minSelected&&e.length<this.minSelected?(this.showMinError=!0,this.render()):(this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
|
|
57
57
|
`),this.close())}first(){this.cursor=0,this.render()}last(){this.cursor=this.value.length-1,this.render()}next(){this.cursor=(this.cursor+1)%this.value.length,this.render()}up(){this.cursor===0?this.cursor=this.value.length-1:this.cursor--,this.render()}down(){this.cursor===this.value.length-1?this.cursor=0:this.cursor++,this.render()}left(){this.value[this.cursor].selected=!1,this.render()}right(){if(this.value.filter(e=>e.selected).length>=this.maxChoices)return this.bell();this.value[this.cursor].selected=!0,this.render()}handleSpaceToggle(){let e=this.value[this.cursor];if(e.selected)e.selected=!1,this.render();else{if(e.disabled||this.value.filter(i=>i.selected).length>=this.maxChoices)return this.bell();e.selected=!0,this.render()}}toggleAll(){if(this.maxChoices!==void 0||this.value[this.cursor].disabled)return this.bell();let e=!this.value[this.cursor].selected;this.value.filter(i=>!i.disabled).forEach(i=>i.selected=e),this.render()}_(e,i){if(e===" ")this.handleSpaceToggle();else if(e==="a")this.toggleAll();else return this.bell()}renderInstructions(){return this.instructions===void 0||this.instructions?typeof this.instructions=="string"?this.instructions:`
|
|
58
58
|
Instructions:
|
|
@@ -62,45 +62,45 @@ Instructions:
|
|
|
62
62
|
`:"")+" enter/return: Complete answer":""}renderOption(e,i,a,A){let l=(i.selected?wr.green(ti.radioOn):ti.radioOff)+" "+A+" ",u,p;return i.disabled?u=e===a?wr.gray().underline(i.title):wr.strikethrough().gray(i.title):(u=e===a?wr.cyan().underline(i.title):i.title,e===a&&i.description&&(p=` - ${i.description}`,(l.length+u.length+p.length>=this.out.columns||i.description.split(/\r?\n/).length>1)&&(p=`
|
|
63
63
|
`+Rx(i.description,{margin:l.length,width:this.out.columns})))),l+u+wr.gray(p||"")}paginateOptions(e){if(e.length===0)return wr.red("No matches for this query.");let i=Gx(this.cursor,e.length,this.optionsPerPage),a=i.startIndex,A=i.endIndex,l,u=[];for(let p=a;p<A;p++)p===a&&a>0?l=ti.arrowUp:p===A-1&&A<e.length?l=ti.arrowDown:l=" ",u.push(this.renderOption(this.cursor,e[p],p,l));return`
|
|
64
64
|
`+u.join(`
|
|
65
|
-
`)}renderOptions(e){return this.done?"":this.paginateOptions(e)}renderDoneOrInstructions(){if(this.done)return this.value.filter(i=>i.selected).map(i=>i.title).join(", ");let e=[wr.gray(this.hint),this.renderInstructions()];return this.value[this.cursor].disabled&&e.push(wr.yellow(this.warn)),e.join(" ")}render(){if(this.closed)return;this.firstRender&&this.out.write(
|
|
65
|
+
`)}renderOptions(e){return this.done?"":this.paginateOptions(e)}renderDoneOrInstructions(){if(this.done)return this.value.filter(i=>i.selected).map(i=>i.title).join(", ");let e=[wr.gray(this.hint),this.renderInstructions()];return this.value[this.cursor].disabled&&e.push(wr.yellow(this.warn)),e.join(" ")}render(){if(this.closed)return;this.firstRender&&this.out.write(Ox.hide),super.render();let e=[$p.symbol(this.done,this.aborted),wr.bold(this.msg),$p.delimiter(!1),this.renderDoneOrInstructions()].join(" ");this.showMinError&&(e+=wr.red(`You must select a minimum of ${this.minSelected} choices.`),this.showMinError=!1),e+=this.renderOptions(this.value),this.out.write(this.clear+e),this.clear=Kp(e,this.out.columns)}};ef.exports=tA});var Af=ae((EM,of)=>{"use strict";function tf(r,e,i,a,A,l,u){try{var p=r[l](u),f=p.value}catch(g){i(g);return}p.done?e(f):Promise.resolve(f).then(a,A)}function Lx(r){return function(){var e=this,i=arguments;return new Promise(function(a,A){var l=r.apply(e,i);function u(f){tf(l,a,A,u,p,"next",f)}function p(f){tf(l,a,A,u,p,"throw",f)}u(void 0)})}}var Nn=pt(),Px=Or(),af=ft(),Hx=af.erase,rf=af.cursor,kn=Ar(),iA=kn.style,nf=kn.clear,nA=kn.figures,Wx=kn.wrap,Jx=kn.entriesToDisplay,sf=(r,e)=>r[e]&&(r[e].value||r[e].title||r[e]),Vx=(r,e)=>r[e]&&(r[e].title||r[e].value||r[e]),jx=(r,e)=>{let i=r.findIndex(a=>a.value===e||a.title===e);return i>-1?i:void 0},sA=class extends Px{constructor(e={}){super(e),this.msg=e.message,this.suggest=e.suggest,this.choices=e.choices,this.initial=typeof e.initial=="number"?e.initial:jx(e.choices,e.initial),this.select=this.initial||e.cursor||0,this.i18n={noMatches:e.noMatches||"no matches found"},this.fallback=e.fallback||this.initial,this.clearFirst=e.clearFirst||!1,this.suggestions=[],this.input="",this.limit=e.limit||10,this.cursor=0,this.transform=iA.render(e.style),this.scale=this.transform.scale,this.render=this.render.bind(this),this.complete=this.complete.bind(this),this.clear=nf("",this.out.columns),this.complete(this.render),this.render()}set fallback(e){this._fb=Number.isSafeInteger(parseInt(e))?parseInt(e):e}get fallback(){let e;return typeof this._fb=="number"?e=this.choices[this._fb]:typeof this._fb=="string"&&(e={title:this._fb}),e||this._fb||{title:this.i18n.noMatches}}moveSelect(e){this.select=e,this.suggestions.length>0?this.value=sf(this.suggestions,e):this.value=this.fallback.value,this.fire()}complete(e){var i=this;return Lx(function*(){let a=i.completing=i.suggest(i.input,i.choices),A=yield a;if(i.completing!==a)return;i.suggestions=A.map((u,p,f)=>({title:Vx(f,p),value:sf(f,p),description:u.description})),i.completing=!1;let l=Math.max(A.length-1,0);i.moveSelect(Math.min(l,i.select)),e&&e()})()}reset(){this.input="",this.complete(()=>{this.moveSelect(this.initial!==void 0?this.initial:0),this.render()}),this.render()}exit(){this.clearFirst&&this.input.length>0?this.reset():(this.done=this.exited=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
|
|
66
66
|
`),this.close())}abort(){this.done=this.aborted=!0,this.exited=!1,this.fire(),this.render(),this.out.write(`
|
|
67
67
|
`),this.close()}submit(){this.done=!0,this.aborted=this.exited=!1,this.fire(),this.render(),this.out.write(`
|
|
68
68
|
`),this.close()}_(e,i){let a=this.input.slice(0,this.cursor),A=this.input.slice(this.cursor);this.input=`${a}${e}${A}`,this.cursor=a.length+1,this.complete(this.render),this.render()}delete(){if(this.cursor===0)return this.bell();let e=this.input.slice(0,this.cursor-1),i=this.input.slice(this.cursor);this.input=`${e}${i}`,this.complete(this.render),this.cursor=this.cursor-1,this.render()}deleteForward(){if(this.cursor*this.scale>=this.rendered.length)return this.bell();let e=this.input.slice(0,this.cursor),i=this.input.slice(this.cursor+1);this.input=`${e}${i}`,this.complete(this.render),this.render()}first(){this.moveSelect(0),this.render()}last(){this.moveSelect(this.suggestions.length-1),this.render()}up(){this.select===0?this.moveSelect(this.suggestions.length-1):this.moveSelect(this.select-1),this.render()}down(){this.select===this.suggestions.length-1?this.moveSelect(0):this.moveSelect(this.select+1),this.render()}next(){this.select===this.suggestions.length-1?this.moveSelect(0):this.moveSelect(this.select+1),this.render()}nextPage(){this.moveSelect(Math.min(this.select+this.limit,this.suggestions.length-1)),this.render()}prevPage(){this.moveSelect(Math.max(this.select-this.limit,0)),this.render()}left(){if(this.cursor<=0)return this.bell();this.cursor=this.cursor-1,this.render()}right(){if(this.cursor*this.scale>=this.rendered.length)return this.bell();this.cursor=this.cursor+1,this.render()}renderOption(e,i,a,A){let l,u=a?nA.arrowUp:A?nA.arrowDown:" ",p=i?Nn.cyan().underline(e.title):e.title;return u=(i?Nn.cyan(nA.pointer)+" ":" ")+u,e.description&&(l=` - ${e.description}`,(u.length+p.length+l.length>=this.out.columns||e.description.split(/\r?\n/).length>1)&&(l=`
|
|
69
69
|
`+Wx(e.description,{margin:3,width:this.out.columns}))),u+" "+p+Nn.gray(l||"")}render(){if(this.closed)return;this.firstRender?this.out.write(rf.hide):this.out.write(nf(this.outputText,this.out.columns)),super.render();let e=Jx(this.select,this.choices.length,this.limit),i=e.startIndex,a=e.endIndex;if(this.outputText=[iA.symbol(this.done,this.aborted,this.exited),Nn.bold(this.msg),iA.delimiter(this.completing),this.done&&this.suggestions[this.select]?this.suggestions[this.select].title:this.rendered=this.transform.render(this.input)].join(" "),!this.done){let A=this.suggestions.slice(i,a).map((l,u)=>this.renderOption(l,this.select===u+i,u===0&&i>0,u+i===a-1&&a<this.choices.length)).join(`
|
|
70
70
|
`);this.outputText+=`
|
|
71
|
-
`+(A||Nn.gray(this.fallback.title))}this.out.write(Hx.line+rf.to(0)+this.outputText)}};of.exports=sA});var hf=ae((
|
|
71
|
+
`+(A||Nn.gray(this.fallback.title))}this.out.write(Hx.line+rf.to(0)+this.outputText)}};of.exports=sA});var hf=ae((wM,uf)=>{"use strict";var Gr=pt(),_x=ft(),Zx=_x.cursor,zx=rA(),oA=Ar(),lf=oA.clear,cf=oA.style,Vi=oA.figures,aA=class extends zx{constructor(e={}){e.overrideRender=!0,super(e),this.inputValue="",this.clear=lf("",this.out.columns),this.filteredOptions=this.value,this.render()}last(){this.cursor=this.filteredOptions.length-1,this.render()}next(){this.cursor=(this.cursor+1)%this.filteredOptions.length,this.render()}up(){this.cursor===0?this.cursor=this.filteredOptions.length-1:this.cursor--,this.render()}down(){this.cursor===this.filteredOptions.length-1?this.cursor=0:this.cursor++,this.render()}left(){this.filteredOptions[this.cursor].selected=!1,this.render()}right(){if(this.value.filter(e=>e.selected).length>=this.maxChoices)return this.bell();this.filteredOptions[this.cursor].selected=!0,this.render()}delete(){this.inputValue.length&&(this.inputValue=this.inputValue.substr(0,this.inputValue.length-1),this.updateFilteredOptions())}updateFilteredOptions(){let e=this.filteredOptions[this.cursor];this.filteredOptions=this.value.filter(a=>this.inputValue?!!(typeof a.title=="string"&&a.title.toLowerCase().includes(this.inputValue.toLowerCase())||typeof a.value=="string"&&a.value.toLowerCase().includes(this.inputValue.toLowerCase())):!0);let i=this.filteredOptions.findIndex(a=>a===e);this.cursor=i<0?0:i,this.render()}handleSpaceToggle(){let e=this.filteredOptions[this.cursor];if(e.selected)e.selected=!1,this.render();else{if(e.disabled||this.value.filter(i=>i.selected).length>=this.maxChoices)return this.bell();e.selected=!0,this.render()}}handleInputChange(e){this.inputValue=this.inputValue+e,this.updateFilteredOptions()}_(e,i){e===" "?this.handleSpaceToggle():this.handleInputChange(e)}renderInstructions(){return this.instructions===void 0||this.instructions?typeof this.instructions=="string"?this.instructions:`
|
|
72
72
|
Instructions:
|
|
73
|
-
${
|
|
74
|
-
${
|
|
73
|
+
${Vi.arrowUp}/${Vi.arrowDown}: Highlight option
|
|
74
|
+
${Vi.arrowLeft}/${Vi.arrowRight}/[space]: Toggle selection
|
|
75
75
|
[a,b,c]/delete: Filter choices
|
|
76
76
|
enter/return: Complete answer
|
|
77
77
|
`:""}renderCurrentInput(){return`
|
|
78
78
|
Filtered results for: ${this.inputValue?this.inputValue:Gr.gray("Enter something to filter")}
|
|
79
|
-
`}renderOption(e,i,a){let A;return i.disabled?A=e===a?Gr.gray().underline(i.title):Gr.strikethrough().gray(i.title):A=e===a?Gr.cyan().underline(i.title):i.title,(i.selected?Gr.green(
|
|
79
|
+
`}renderOption(e,i,a){let A;return i.disabled?A=e===a?Gr.gray().underline(i.title):Gr.strikethrough().gray(i.title):A=e===a?Gr.cyan().underline(i.title):i.title,(i.selected?Gr.green(Vi.radioOn):Vi.radioOff)+" "+A}renderDoneOrInstructions(){if(this.done)return this.value.filter(i=>i.selected).map(i=>i.title).join(", ");let e=[Gr.gray(this.hint),this.renderInstructions(),this.renderCurrentInput()];return this.filteredOptions.length&&this.filteredOptions[this.cursor].disabled&&e.push(Gr.yellow(this.warn)),e.join(" ")}render(){if(this.closed)return;this.firstRender&&this.out.write(Zx.hide),super.render();let e=[cf.symbol(this.done,this.aborted),Gr.bold(this.msg),cf.delimiter(!1),this.renderDoneOrInstructions()].join(" ");this.showMinError&&(e+=Gr.red(`You must select a minimum of ${this.minSelected} choices.`),this.showMinError=!1),e+=this.renderOptions(this.filteredOptions),this.out.write(this.clear+e),this.clear=lf(e,this.out.columns)}};uf.exports=aA});var Ef=ae((yM,Bf)=>{"use strict";var pf=pt(),Xx=Or(),gf=Ar(),ff=gf.style,qx=gf.clear,mf=ft(),Kx=mf.erase,df=mf.cursor,AA=class extends Xx{constructor(e={}){super(e),this.msg=e.message,this.value=e.initial,this.initialValue=!!e.initial,this.yesMsg=e.yes||"yes",this.yesOption=e.yesOption||"(Y/n)",this.noMsg=e.no||"no",this.noOption=e.noOption||"(y/N)",this.render()}reset(){this.value=this.initialValue,this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
|
|
80
80
|
`),this.close()}submit(){this.value=this.value||!1,this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
|
|
81
|
-
`),this.close()}_(e,i){return e.toLowerCase()==="y"?(this.value=!0,this.submit()):e.toLowerCase()==="n"?(this.value=!1,this.submit()):this.bell()}render(){this.closed||(this.firstRender?this.out.write(df.hide):this.out.write(qx(this.outputText,this.out.columns)),super.render(),this.outputText=[ff.symbol(this.done,this.aborted),pf.bold(this.msg),ff.delimiter(this.done),this.done?this.value?this.yesMsg:this.noMsg:pf.gray(this.initialValue?this.yesOption:this.noOption)].join(" "),this.out.write(Kx.line+df.to(0)+this.outputText))}};Bf.exports=AA});var yf=ae((
|
|
82
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var l=!0,u=!1,p;return{s:function(){i=i.call(r)},n:function(){var g=i.next();return l=g.done,g},e:function(g){u=!0,p=g},f:function(){try{!l&&i.return!=null&&i.return()}finally{if(u)throw p}}}}function iQ(r,e){if(r){if(typeof r=="string")return vf(r,e);var i=Object.prototype.toString.call(r).slice(8,-1);if(i==="Object"&&r.constructor&&(i=r.constructor.name),i==="Map"||i==="Set")return Array.from(r);if(i==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return vf(r,e)}}function vf(r,e){(e==null||e>r.length)&&(e=r.length);for(var i=0,a=new Array(e);i<e;i++)a[i]=r[i];return a}function If(r,e,i,a,A,l,u){try{var p=r[l](u),f=p.value}catch(g){i(g);return}p.done?e(f):Promise.resolve(f).then(a,A)}function Ff(r){return function(){var e=this,i=arguments;return new Promise(function(a,A){var l=r.apply(e,i);function u(f){If(l,a,A,u,p,"next",f)}function p(f){If(l,a,A,u,p,"throw",f)}u(void 0)})}}var lA=bf(),nQ=["suggest","format","onState","validate","onRender","type"],Tf=()=>{};function ri(){return cA.apply(this,arguments)}function cA(){return cA=Ff(function*(r=[],{onSubmit:e=Tf,onCancel:i=Tf}={}){let a={},A=ri._override||{};r=[].concat(r);let l,u,p,f,g,m,E=(function(){var I=Ff(function*(F,N,_=!1){if(!(!_&&F.validate&&F.validate(N)!==!0))return F.format?yield F.format(N,a):N});return function(N,_){return I.apply(this,arguments)}})();var b=rQ(r),y;try{for(b.s();!(y=b.n()).done;){u=y.value;var Q=u;if(f=Q.name,g=Q.type,typeof g=="function"&&(g=yield g(l,Qf({},a),u),u.type=g),!!g){for(let I in u){if(nQ.includes(I))continue;let F=u[I];u[I]=typeof F=="function"?yield F(l,Qf({},a),m):F}if(m=u,typeof u.message!="string")throw new Error("prompt message is required");var v=u;if(f=v.name,g=v.type,lA[g]===void 0)throw new Error(`prompt type (${g}) is not defined`);if(A[u.name]!==void 0&&(l=yield E(u,A[u.name]),l!==void 0)){a[f]=l;continue}try{l=ri._injected?sQ(ri._injected,u.initial):yield lA[g](u),a[f]=l=yield E(u,l,!0),p=yield e(u,l,a)}catch{p=!(yield i(u,a))}if(p)return a}}}catch(I){b.e(I)}finally{b.f()}return a}),cA.apply(this,arguments)}function sQ(r,e){let i=r.shift();if(i instanceof Error)throw i;return i===void 0?e:i}function aQ(r){ri._injected=(ri._injected||[]).concat(r)}function oQ(r){ri._override=Object.assign({},r)}Sf.exports=Object.assign(ri,{prompt:ri,prompts:lA,inject:aQ,override:oQ})});var Uf=ae((
|
|
81
|
+
`),this.close()}_(e,i){return e.toLowerCase()==="y"?(this.value=!0,this.submit()):e.toLowerCase()==="n"?(this.value=!1,this.submit()):this.bell()}render(){this.closed||(this.firstRender?this.out.write(df.hide):this.out.write(qx(this.outputText,this.out.columns)),super.render(),this.outputText=[ff.symbol(this.done,this.aborted),pf.bold(this.msg),ff.delimiter(this.done),this.done?this.value?this.yesMsg:this.noMsg:pf.gray(this.initialValue?this.yesOption:this.noOption)].join(" "),this.out.write(Kx.line+df.to(0)+this.outputText))}};Bf.exports=AA});var yf=ae((CM,wf)=>{"use strict";wf.exports={TextPrompt:sp(),SelectPrompt:lp(),TogglePrompt:dp(),DatePrompt:Jp(),NumberPrompt:qp(),MultiselectPrompt:rA(),AutocompletePrompt:Af(),AutocompleteMultiselectPrompt:hf(),ConfirmPrompt:Ef()}});var bf=ae(Cf=>{"use strict";var Rt=Cf,$x=yf(),ta=r=>r;function yr(r,e,i={}){return new Promise((a,A)=>{let l=new $x[r](e),u=i.onAbort||ta,p=i.onSubmit||ta,f=i.onExit||ta;l.on("state",e.onState||ta),l.on("submit",g=>a(p(g))),l.on("exit",g=>a(f(g))),l.on("abort",g=>A(u(g)))})}Rt.text=r=>yr("TextPrompt",r);Rt.password=r=>(r.style="password",Rt.text(r));Rt.invisible=r=>(r.style="invisible",Rt.text(r));Rt.number=r=>yr("NumberPrompt",r);Rt.date=r=>yr("DatePrompt",r);Rt.confirm=r=>yr("ConfirmPrompt",r);Rt.list=r=>{let e=r.separator||",";return yr("TextPrompt",r,{onSubmit:i=>i.split(e).map(a=>a.trim())})};Rt.toggle=r=>yr("TogglePrompt",r);Rt.select=r=>yr("SelectPrompt",r);Rt.multiselect=r=>{r.choices=[].concat(r.choices||[]);let e=i=>i.filter(a=>a.selected).map(a=>a.value);return yr("MultiselectPrompt",r,{onAbort:e,onSubmit:e})};Rt.autocompleteMultiselect=r=>{r.choices=[].concat(r.choices||[]);let e=i=>i.filter(a=>a.selected).map(a=>a.value);return yr("AutocompleteMultiselectPrompt",r,{onAbort:e,onSubmit:e})};var eQ=(r,e)=>Promise.resolve(e.filter(i=>i.title.slice(0,r.length).toLowerCase()===r.toLowerCase()));Rt.autocomplete=r=>(r.suggest=r.suggest||eQ,r.choices=[].concat(r.choices||[]),yr("AutocompletePrompt",r))});var Df=ae((xM,Sf)=>{"use strict";function xf(r,e){var i=Object.keys(r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(r);e&&(a=a.filter(function(A){return Object.getOwnPropertyDescriptor(r,A).enumerable})),i.push.apply(i,a)}return i}function Qf(r){for(var e=1;e<arguments.length;e++){var i=arguments[e]!=null?arguments[e]:{};e%2?xf(Object(i),!0).forEach(function(a){tQ(r,a,i[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(i)):xf(Object(i)).forEach(function(a){Object.defineProperty(r,a,Object.getOwnPropertyDescriptor(i,a))})}return r}function tQ(r,e,i){return e in r?Object.defineProperty(r,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):r[e]=i,r}function rQ(r,e){var i=typeof Symbol<"u"&&r[Symbol.iterator]||r["@@iterator"];if(!i){if(Array.isArray(r)||(i=iQ(r))||e&&r&&typeof r.length=="number"){i&&(r=i);var a=0,A=function(){};return{s:A,n:function(){return a>=r.length?{done:!0}:{done:!1,value:r[a++]}},e:function(g){throw g},f:A}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
82
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var l=!0,u=!1,p;return{s:function(){i=i.call(r)},n:function(){var g=i.next();return l=g.done,g},e:function(g){u=!0,p=g},f:function(){try{!l&&i.return!=null&&i.return()}finally{if(u)throw p}}}}function iQ(r,e){if(r){if(typeof r=="string")return vf(r,e);var i=Object.prototype.toString.call(r).slice(8,-1);if(i==="Object"&&r.constructor&&(i=r.constructor.name),i==="Map"||i==="Set")return Array.from(r);if(i==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return vf(r,e)}}function vf(r,e){(e==null||e>r.length)&&(e=r.length);for(var i=0,a=new Array(e);i<e;i++)a[i]=r[i];return a}function If(r,e,i,a,A,l,u){try{var p=r[l](u),f=p.value}catch(g){i(g);return}p.done?e(f):Promise.resolve(f).then(a,A)}function Ff(r){return function(){var e=this,i=arguments;return new Promise(function(a,A){var l=r.apply(e,i);function u(f){If(l,a,A,u,p,"next",f)}function p(f){If(l,a,A,u,p,"throw",f)}u(void 0)})}}var lA=bf(),nQ=["suggest","format","onState","validate","onRender","type"],Tf=()=>{};function ri(){return cA.apply(this,arguments)}function cA(){return cA=Ff(function*(r=[],{onSubmit:e=Tf,onCancel:i=Tf}={}){let a={},A=ri._override||{};r=[].concat(r);let l,u,p,f,g,m,E=(function(){var I=Ff(function*(F,N,_=!1){if(!(!_&&F.validate&&F.validate(N)!==!0))return F.format?yield F.format(N,a):N});return function(N,_){return I.apply(this,arguments)}})();var b=rQ(r),y;try{for(b.s();!(y=b.n()).done;){u=y.value;var Q=u;if(f=Q.name,g=Q.type,typeof g=="function"&&(g=yield g(l,Qf({},a),u),u.type=g),!!g){for(let I in u){if(nQ.includes(I))continue;let F=u[I];u[I]=typeof F=="function"?yield F(l,Qf({},a),m):F}if(m=u,typeof u.message!="string")throw new Error("prompt message is required");var v=u;if(f=v.name,g=v.type,lA[g]===void 0)throw new Error(`prompt type (${g}) is not defined`);if(A[u.name]!==void 0&&(l=yield E(u,A[u.name]),l!==void 0)){a[f]=l;continue}try{l=ri._injected?sQ(ri._injected,u.initial):yield lA[g](u),a[f]=l=yield E(u,l,!0),p=yield e(u,l,a)}catch{p=!(yield i(u,a))}if(p)return a}}}catch(I){b.e(I)}finally{b.f()}return a}),cA.apply(this,arguments)}function sQ(r,e){let i=r.shift();if(i instanceof Error)throw i;return i===void 0?e:i}function aQ(r){ri._injected=(ri._injected||[]).concat(r)}function oQ(r){ri._override=Object.assign({},r)}Sf.exports=Object.assign(ri,{prompt:ri,prompts:lA,inject:aQ,override:oQ})});var Uf=ae((QM,Mf)=>{"use strict";Mf.exports=(r,e)=>{if(!(r.meta&&r.name!=="escape")){if(r.ctrl){if(r.name==="a")return"first";if(r.name==="c"||r.name==="d")return"abort";if(r.name==="e")return"last";if(r.name==="g")return"reset"}if(e){if(r.name==="j")return"down";if(r.name==="k")return"up"}return r.name==="return"||r.name==="enter"?"submit":r.name==="backspace"?"delete":r.name==="delete"?"deleteForward":r.name==="abort"?"abort":r.name==="escape"?"exit":r.name==="tab"?"next":r.name==="pagedown"?"nextPage":r.name==="pageup"?"prevPage":r.name==="home"?"home":r.name==="end"?"end":r.name==="up"?"up":r.name==="down"?"down":r.name==="right"?"right":r.name==="left"?"left":!1}}});var ra=ae((vM,Nf)=>{"use strict";Nf.exports=r=>{let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))"].join("|"),i=new RegExp(e,"g");return typeof r=="string"?r.replace(i,""):r}});var Yf=ae((IM,Of)=>{"use strict";var AQ=ra(),{erase:kf,cursor:lQ}=ft(),cQ=r=>[...AQ(r)].length;Of.exports=function(r,e){if(!e)return kf.line+lQ.to(0);let i=0,a=r.split(/\r?\n/);for(let A of a)i+=1+Math.floor(Math.max(cQ(A)-1,0)/e);return kf.lines(i)}});var uA=ae((FM,Rf)=>{"use strict";var On={arrowUp:"\u2191",arrowDown:"\u2193",arrowLeft:"\u2190",arrowRight:"\u2192",radioOn:"\u25C9",radioOff:"\u25EF",tick:"\u2714",cross:"\u2716",ellipsis:"\u2026",pointerSmall:"\u203A",line:"\u2500",pointer:"\u276F"},uQ={arrowUp:On.arrowUp,arrowDown:On.arrowDown,arrowLeft:On.arrowLeft,arrowRight:On.arrowRight,radioOn:"(*)",radioOff:"( )",tick:"\u221A",cross:"\xD7",ellipsis:"...",pointerSmall:"\xBB",line:"\u2500",pointer:">"},hQ=process.platform==="win32"?uQ:On;Rf.exports=hQ});var Lf=ae((TM,Gf)=>{"use strict";var ji=pt(),yi=uA(),hA=Object.freeze({password:{scale:1,render:r=>"*".repeat(r.length)},emoji:{scale:2,render:r=>"\u{1F603}".repeat(r.length)},invisible:{scale:0,render:r=>""},default:{scale:1,render:r=>`${r}`}}),pQ=r=>hA[r]||hA.default,Yn=Object.freeze({aborted:ji.red(yi.cross),done:ji.green(yi.tick),exited:ji.yellow(yi.cross),default:ji.cyan("?")}),fQ=(r,e,i)=>e?Yn.aborted:i?Yn.exited:r?Yn.done:Yn.default,dQ=r=>ji.gray(r?yi.ellipsis:yi.pointerSmall),gQ=(r,e)=>ji.gray(r?e?yi.pointerSmall:"+":yi.line);Gf.exports={styles:hA,render:pQ,symbols:Yn,symbol:fQ,delimiter:dQ,item:gQ}});var Hf=ae((SM,Pf)=>{"use strict";var mQ=ra();Pf.exports=function(r,e){let i=String(mQ(r)||"").split(/\r?\n/);return e?i.map(a=>Math.ceil(a.length/e)).reduce((a,A)=>a+A):i.length}});var Jf=ae((DM,Wf)=>{"use strict";Wf.exports=(r,e={})=>{let i=Number.isSafeInteger(parseInt(e.margin))?new Array(parseInt(e.margin)).fill(" ").join(""):e.margin||"",a=e.width;return(r||"").split(/\r?\n/g).map(A=>A.split(/\s+/g).reduce((l,u)=>(u.length+i.length>=a||l[l.length-1].length+u.length+1<a?l[l.length-1]+=` ${u}`:l.push(`${i}${u}`),l),[i]).join(`
|
|
83
83
|
`)).join(`
|
|
84
|
-
`)}});var jf=ae((
|
|
84
|
+
`)}});var jf=ae((MM,Vf)=>{"use strict";Vf.exports=(r,e,i)=>{i=i||e;let a=Math.min(e-i,r-Math.floor(i/2));a<0&&(a=0);let A=Math.min(a+i,e);return{startIndex:a,endIndex:A}}});var lr=ae((UM,_f)=>{"use strict";_f.exports={action:Uf(),clear:Yf(),style:Lf(),strip:ra(),figures:uA(),lines:Hf(),wrap:Jf(),entriesToDisplay:jf()}});var Lr=ae((NM,zf)=>{"use strict";var Zf=We("readline"),{action:BQ}=lr(),EQ=We("events"),{beep:wQ,cursor:yQ}=ft(),CQ=pt(),pA=class extends EQ{constructor(e={}){super(),this.firstRender=!0,this.in=e.stdin||process.stdin,this.out=e.stdout||process.stdout,this.onRender=(e.onRender||(()=>{})).bind(this);let i=Zf.createInterface({input:this.in,escapeCodeTimeout:50});Zf.emitKeypressEvents(this.in,i),this.in.isTTY&&this.in.setRawMode(!0);let a=["SelectPrompt","MultiselectPrompt"].indexOf(this.constructor.name)>-1,A=(l,u)=>{let p=BQ(u,a);p===!1?this._&&this._(l,u):typeof this[p]=="function"?this[p](u):this.bell()};this.close=()=>{this.out.write(yQ.show),this.in.removeListener("keypress",A),this.in.isTTY&&this.in.setRawMode(!1),i.close(),this.emit(this.aborted?"abort":this.exited?"exit":"submit",this.value),this.closed=!0},this.in.on("keypress",A)}fire(){this.emit("state",{value:this.value,aborted:!!this.aborted,exited:!!this.exited})}bell(){this.out.write(wQ)}render(){this.onRender(CQ),this.firstRender&&(this.firstRender=!1)}};zf.exports=pA});var qf=ae((kM,Xf)=>{var ia=pt(),bQ=Lr(),{erase:xQ,cursor:Rn}=ft(),{style:fA,clear:dA,lines:QQ,figures:vQ}=lr(),gA=class extends bQ{constructor(e={}){super(e),this.transform=fA.render(e.style),this.scale=this.transform.scale,this.msg=e.message,this.initial=e.initial||"",this.validator=e.validate||(()=>!0),this.value="",this.errorMsg=e.error||"Please Enter A Valid Value",this.cursor=+!!this.initial,this.cursorOffset=0,this.clear=dA("",this.out.columns),this.render()}set value(e){!e&&this.initial?(this.placeholder=!0,this.rendered=ia.gray(this.transform.render(this.initial))):(this.placeholder=!1,this.rendered=this.transform.render(e)),this._value=e,this.fire()}get value(){return this._value}reset(){this.value="",this.cursor=+!!this.initial,this.cursorOffset=0,this.fire(),this.render()}exit(){this.abort()}abort(){this.value=this.value||this.initial,this.done=this.aborted=!0,this.error=!1,this.red=!1,this.fire(),this.render(),this.out.write(`
|
|
85
85
|
`),this.close()}async validate(){let e=await this.validator(this.value);typeof e=="string"&&(this.errorMsg=e,e=!1),this.error=!e}async submit(){if(this.value=this.value||this.initial,this.cursorOffset=0,this.cursor=this.rendered.length,await this.validate(),this.error){this.red=!0,this.fire(),this.render();return}this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
|
|
86
86
|
`),this.close()}next(){if(!this.placeholder)return this.bell();this.value=this.initial,this.cursor=this.rendered.length,this.fire(),this.render()}moveCursor(e){this.placeholder||(this.cursor=this.cursor+e,this.cursorOffset+=e)}_(e,i){let a=this.value.slice(0,this.cursor),A=this.value.slice(this.cursor);this.value=`${a}${e}${A}`,this.red=!1,this.cursor=this.placeholder?0:a.length+1,this.render()}delete(){if(this.isCursorAtStart())return this.bell();let e=this.value.slice(0,this.cursor-1),i=this.value.slice(this.cursor);this.value=`${e}${i}`,this.red=!1,this.isCursorAtStart()?this.cursorOffset=0:(this.cursorOffset++,this.moveCursor(-1)),this.render()}deleteForward(){if(this.cursor*this.scale>=this.rendered.length||this.placeholder)return this.bell();let e=this.value.slice(0,this.cursor),i=this.value.slice(this.cursor+1);this.value=`${e}${i}`,this.red=!1,this.isCursorAtEnd()?this.cursorOffset=0:this.cursorOffset++,this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.value.length,this.render()}left(){if(this.cursor<=0||this.placeholder)return this.bell();this.moveCursor(-1),this.render()}right(){if(this.cursor*this.scale>=this.rendered.length||this.placeholder)return this.bell();this.moveCursor(1),this.render()}isCursorAtStart(){return this.cursor===0||this.placeholder&&this.cursor===1}isCursorAtEnd(){return this.cursor===this.rendered.length||this.placeholder&&this.cursor===this.rendered.length+1}render(){this.closed||(this.firstRender||(this.outputError&&this.out.write(Rn.down(QQ(this.outputError,this.out.columns)-1)+dA(this.outputError,this.out.columns)),this.out.write(dA(this.outputText,this.out.columns))),super.render(),this.outputError="",this.outputText=[fA.symbol(this.done,this.aborted),ia.bold(this.msg),fA.delimiter(this.done),this.red?ia.red(this.rendered):this.rendered].join(" "),this.error&&(this.outputError+=this.errorMsg.split(`
|
|
87
87
|
`).reduce((e,i,a)=>e+`
|
|
88
|
-
${a?" ":vQ.pointerSmall} ${ia.red().italic(i)}`,"")),this.out.write(xQ.line+Rn.to(0)+this.outputText+Rn.save+this.outputError+Rn.restore+Rn.move(this.cursorOffset,0)))}};Xf.exports=gA});var td=ae((
|
|
88
|
+
${a?" ":vQ.pointerSmall} ${ia.red().italic(i)}`,"")),this.out.write(xQ.line+Rn.to(0)+this.outputText+Rn.save+this.outputError+Rn.restore+Rn.move(this.cursorOffset,0)))}};Xf.exports=gA});var td=ae((OM,ed)=>{"use strict";var Pr=pt(),IQ=Lr(),{style:Kf,clear:$f,figures:na,wrap:FQ,entriesToDisplay:TQ}=lr(),{cursor:SQ}=ft(),mA=class extends IQ{constructor(e={}){super(e),this.msg=e.message,this.hint=e.hint||"- Use arrow-keys. Return to submit.",this.warn=e.warn||"- This option is disabled",this.cursor=e.initial||0,this.choices=e.choices.map((i,a)=>(typeof i=="string"&&(i={title:i,value:a}),{title:i&&(i.title||i.value||i),value:i&&(i.value===void 0?a:i.value),description:i&&i.description,selected:i&&i.selected,disabled:i&&i.disabled})),this.optionsPerPage=e.optionsPerPage||10,this.value=(this.choices[this.cursor]||{}).value,this.clear=$f("",this.out.columns),this.render()}moveCursor(e){this.cursor=e,this.value=this.choices[e].value,this.fire()}reset(){this.moveCursor(0),this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
|
|
89
89
|
`),this.close()}submit(){this.selection.disabled?this.bell():(this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
|
|
90
90
|
`),this.close())}first(){this.moveCursor(0),this.render()}last(){this.moveCursor(this.choices.length-1),this.render()}up(){this.cursor===0?this.moveCursor(this.choices.length-1):this.moveCursor(this.cursor-1),this.render()}down(){this.cursor===this.choices.length-1?this.moveCursor(0):this.moveCursor(this.cursor+1),this.render()}next(){this.moveCursor((this.cursor+1)%this.choices.length),this.render()}_(e,i){if(e===" ")return this.submit()}get selection(){return this.choices[this.cursor]}render(){if(this.closed)return;this.firstRender?this.out.write(SQ.hide):this.out.write($f(this.outputText,this.out.columns)),super.render();let{startIndex:e,endIndex:i}=TQ(this.cursor,this.choices.length,this.optionsPerPage);if(this.outputText=[Kf.symbol(this.done,this.aborted),Pr.bold(this.msg),Kf.delimiter(!1),this.done?this.selection.title:this.selection.disabled?Pr.yellow(this.warn):Pr.gray(this.hint)].join(" "),!this.done){this.outputText+=`
|
|
91
91
|
`;for(let a=e;a<i;a++){let A,l,u="",p=this.choices[a];a===e&&e>0?l=na.arrowUp:a===i-1&&i<this.choices.length?l=na.arrowDown:l=" ",p.disabled?(A=this.cursor===a?Pr.gray().underline(p.title):Pr.strikethrough().gray(p.title),l=(this.cursor===a?Pr.bold().gray(na.pointer)+" ":" ")+l):(A=this.cursor===a?Pr.cyan().underline(p.title):p.title,l=(this.cursor===a?Pr.cyan(na.pointer)+" ":" ")+l,p.description&&this.cursor===a&&(u=` - ${p.description}`,(l.length+A.length+u.length>=this.out.columns||p.description.split(/\r?\n/).length>1)&&(u=`
|
|
92
92
|
`+FQ(p.description,{margin:3,width:this.out.columns})))),this.outputText+=`${l} ${A}${Pr.gray(u)}
|
|
93
93
|
`}}this.out.write(this.outputText)}};ed.exports=mA});var sd=ae((YM,nd)=>{var sa=pt(),DQ=Lr(),{style:rd,clear:MQ}=lr(),{cursor:id,erase:UQ}=ft(),BA=class extends DQ{constructor(e={}){super(e),this.msg=e.message,this.value=!!e.initial,this.active=e.active||"on",this.inactive=e.inactive||"off",this.initialValue=this.value,this.render()}reset(){this.value=this.initialValue,this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
|
|
94
94
|
`),this.close()}submit(){this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
|
|
95
|
-
`),this.close()}deactivate(){if(this.value===!1)return this.bell();this.value=!1,this.render()}activate(){if(this.value===!0)return this.bell();this.value=!0,this.render()}delete(){this.deactivate()}left(){this.deactivate()}right(){this.activate()}down(){this.deactivate()}up(){this.activate()}next(){this.value=!this.value,this.fire(),this.render()}_(e,i){if(e===" ")this.value=!this.value;else if(e==="1")this.value=!0;else if(e==="0")this.value=!1;else return this.bell();this.render()}render(){this.closed||(this.firstRender?this.out.write(id.hide):this.out.write(MQ(this.outputText,this.out.columns)),super.render(),this.outputText=[rd.symbol(this.done,this.aborted),sa.bold(this.msg),rd.delimiter(this.done),this.value?this.inactive:sa.cyan().underline(this.inactive),sa.gray("/"),this.value?sa.cyan().underline(this.active):this.active].join(" "),this.out.write(UQ.line+id.to(0)+this.outputText))}};nd.exports=BA});var Cr=ae((
|
|
95
|
+
`),this.close()}deactivate(){if(this.value===!1)return this.bell();this.value=!1,this.render()}activate(){if(this.value===!0)return this.bell();this.value=!0,this.render()}delete(){this.deactivate()}left(){this.deactivate()}right(){this.activate()}down(){this.deactivate()}up(){this.activate()}next(){this.value=!this.value,this.fire(),this.render()}_(e,i){if(e===" ")this.value=!this.value;else if(e==="1")this.value=!0;else if(e==="0")this.value=!1;else return this.bell();this.render()}render(){this.closed||(this.firstRender?this.out.write(id.hide):this.out.write(MQ(this.outputText,this.out.columns)),super.render(),this.outputText=[rd.symbol(this.done,this.aborted),sa.bold(this.msg),rd.delimiter(this.done),this.value?this.inactive:sa.cyan().underline(this.inactive),sa.gray("/"),this.value?sa.cyan().underline(this.active):this.active].join(" "),this.out.write(UQ.line+id.to(0)+this.outputText))}};nd.exports=BA});var Cr=ae((RM,ad)=>{"use strict";var EA=class r{constructor({token:e,date:i,parts:a,locales:A}){this.token=e,this.date=i||new Date,this.parts=a||[this],this.locales=A||{}}up(){}down(){}next(){let e=this.parts.indexOf(this);return this.parts.find((i,a)=>a>e&&i instanceof r)}setTo(e){}prev(){let e=[].concat(this.parts).reverse(),i=e.indexOf(this);return e.find((a,A)=>A>i&&a instanceof r)}toString(){return String(this.date)}};ad.exports=EA});var Ad=ae((GM,od)=>{"use strict";var NQ=Cr(),wA=class extends NQ{constructor(e={}){super(e)}up(){this.date.setHours((this.date.getHours()+12)%24)}down(){this.up()}toString(){let e=this.date.getHours()>12?"pm":"am";return/\A/.test(this.token)?e.toUpperCase():e}};od.exports=wA});var cd=ae((LM,ld)=>{"use strict";var kQ=Cr(),OQ=r=>(r=r%10,r===1?"st":r===2?"nd":r===3?"rd":"th"),yA=class extends kQ{constructor(e={}){super(e)}up(){this.date.setDate(this.date.getDate()+1)}down(){this.date.setDate(this.date.getDate()-1)}setTo(e){this.date.setDate(parseInt(e.substr(-2)))}toString(){let e=this.date.getDate(),i=this.date.getDay();return this.token==="DD"?String(e).padStart(2,"0"):this.token==="Do"?e+OQ(e):this.token==="d"?i+1:this.token==="ddd"?this.locales.weekdaysShort[i]:this.token==="dddd"?this.locales.weekdays[i]:e}};ld.exports=yA});var hd=ae((PM,ud)=>{"use strict";var YQ=Cr(),CA=class extends YQ{constructor(e={}){super(e)}up(){this.date.setHours(this.date.getHours()+1)}down(){this.date.setHours(this.date.getHours()-1)}setTo(e){this.date.setHours(parseInt(e.substr(-2)))}toString(){let e=this.date.getHours();return/h/.test(this.token)&&(e=e%12||12),this.token.length>1?String(e).padStart(2,"0"):e}};ud.exports=CA});var fd=ae((HM,pd)=>{"use strict";var RQ=Cr(),bA=class extends RQ{constructor(e={}){super(e)}up(){this.date.setMilliseconds(this.date.getMilliseconds()+1)}down(){this.date.setMilliseconds(this.date.getMilliseconds()-1)}setTo(e){this.date.setMilliseconds(parseInt(e.substr(-this.token.length)))}toString(){return String(this.date.getMilliseconds()).padStart(4,"0").substr(0,this.token.length)}};pd.exports=bA});var gd=ae((WM,dd)=>{"use strict";var GQ=Cr(),xA=class extends GQ{constructor(e={}){super(e)}up(){this.date.setMinutes(this.date.getMinutes()+1)}down(){this.date.setMinutes(this.date.getMinutes()-1)}setTo(e){this.date.setMinutes(parseInt(e.substr(-2)))}toString(){let e=this.date.getMinutes();return this.token.length>1?String(e).padStart(2,"0"):e}};dd.exports=xA});var Bd=ae((JM,md)=>{"use strict";var LQ=Cr(),QA=class extends LQ{constructor(e={}){super(e)}up(){this.date.setMonth(this.date.getMonth()+1)}down(){this.date.setMonth(this.date.getMonth()-1)}setTo(e){e=parseInt(e.substr(-2))-1,this.date.setMonth(e<0?0:e)}toString(){let e=this.date.getMonth(),i=this.token.length;return i===2?String(e+1).padStart(2,"0"):i===3?this.locales.monthsShort[e]:i===4?this.locales.months[e]:String(e+1)}};md.exports=QA});var wd=ae((VM,Ed)=>{"use strict";var PQ=Cr(),vA=class extends PQ{constructor(e={}){super(e)}up(){this.date.setSeconds(this.date.getSeconds()+1)}down(){this.date.setSeconds(this.date.getSeconds()-1)}setTo(e){this.date.setSeconds(parseInt(e.substr(-2)))}toString(){let e=this.date.getSeconds();return this.token.length>1?String(e).padStart(2,"0"):e}};Ed.exports=vA});var Cd=ae((jM,yd)=>{"use strict";var HQ=Cr(),IA=class extends HQ{constructor(e={}){super(e)}up(){this.date.setFullYear(this.date.getFullYear()+1)}down(){this.date.setFullYear(this.date.getFullYear()-1)}setTo(e){this.date.setFullYear(e.substr(-4))}toString(){let e=String(this.date.getFullYear()).padStart(4,"0");return this.token.length===2?e.substr(-2):e}};yd.exports=IA});var xd=ae((_M,bd)=>{"use strict";bd.exports={DatePart:Cr(),Meridiem:Ad(),Day:cd(),Hours:hd(),Milliseconds:fd(),Minutes:gd(),Month:Bd(),Seconds:wd(),Year:Cd()}});var Dd=ae((ZM,Sd)=>{"use strict";var FA=pt(),WQ=Lr(),{style:Qd,clear:vd,figures:JQ}=lr(),{erase:VQ,cursor:Id}=ft(),{DatePart:Fd,Meridiem:jQ,Day:_Q,Hours:ZQ,Milliseconds:zQ,Minutes:XQ,Month:qQ,Seconds:KQ,Year:$Q}=xd(),ev=/\\(.)|"((?:\\["\\]|[^"])+)"|(D[Do]?|d{3,4}|d)|(M{1,4})|(YY(?:YY)?)|([aA])|([Hh]{1,2})|(m{1,2})|(s{1,2})|(S{1,4})|./g,Td={1:({token:r})=>r.replace(/\\(.)/g,"$1"),2:r=>new _Q(r),3:r=>new qQ(r),4:r=>new $Q(r),5:r=>new jQ(r),6:r=>new ZQ(r),7:r=>new XQ(r),8:r=>new KQ(r),9:r=>new zQ(r)},tv={months:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),monthsShort:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),weekdays:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),weekdaysShort:"Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(",")},TA=class extends WQ{constructor(e={}){super(e),this.msg=e.message,this.cursor=0,this.typed="",this.locales=Object.assign(tv,e.locales),this._date=e.initial||new Date,this.errorMsg=e.error||"Please Enter A Valid Value",this.validator=e.validate||(()=>!0),this.mask=e.mask||"YYYY-MM-DD HH:mm:ss",this.clear=vd("",this.out.columns),this.render()}get value(){return this.date}get date(){return this._date}set date(e){e&&this._date.setTime(e.getTime())}set mask(e){let i;for(this.parts=[];i=ev.exec(e);){let A=i.shift(),l=i.findIndex(u=>u!=null);this.parts.push(l in Td?Td[l]({token:i[l]||A,date:this.date,parts:this.parts,locales:this.locales}):i[l]||A)}let a=this.parts.reduce((A,l)=>(typeof l=="string"&&typeof A[A.length-1]=="string"?A[A.length-1]+=l:A.push(l),A),[]);this.parts.splice(0),this.parts.push(...a),this.reset()}moveCursor(e){this.typed="",this.cursor=e,this.fire()}reset(){this.moveCursor(this.parts.findIndex(e=>e instanceof Fd)),this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.error=!1,this.fire(),this.render(),this.out.write(`
|
|
96
96
|
`),this.close()}async validate(){let e=await this.validator(this.value);typeof e=="string"&&(this.errorMsg=e,e=!1),this.error=!e}async submit(){if(await this.validate(),this.error){this.color="red",this.fire(),this.render();return}this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
|
|
97
97
|
`),this.close()}up(){this.typed="",this.parts[this.cursor].up(),this.render()}down(){this.typed="",this.parts[this.cursor].down(),this.render()}left(){let e=this.parts[this.cursor].prev();if(e==null)return this.bell();this.moveCursor(this.parts.indexOf(e)),this.render()}right(){let e=this.parts[this.cursor].next();if(e==null)return this.bell();this.moveCursor(this.parts.indexOf(e)),this.render()}next(){let e=this.parts[this.cursor].next();this.moveCursor(e?this.parts.indexOf(e):this.parts.findIndex(i=>i instanceof Fd)),this.render()}_(e){/\d/.test(e)&&(this.typed+=e,this.parts[this.cursor].setTo(this.typed),this.render())}render(){this.closed||(this.firstRender?this.out.write(Id.hide):this.out.write(vd(this.outputText,this.out.columns)),super.render(),this.outputText=[Qd.symbol(this.done,this.aborted),FA.bold(this.msg),Qd.delimiter(!1),this.parts.reduce((e,i,a)=>e.concat(a===this.cursor&&!this.done?FA.cyan().underline(i.toString()):i),[]).join("")].join(" "),this.error&&(this.outputText+=this.errorMsg.split(`
|
|
98
98
|
`).reduce((e,i,a)=>e+`
|
|
99
|
-
${a?" ":JQ.pointerSmall} ${FA.red().italic(i)}`,"")),this.out.write(VQ.line+Id.to(0)+this.outputText))}};Sd.exports=TA});var kd=ae((
|
|
99
|
+
${a?" ":JQ.pointerSmall} ${FA.red().italic(i)}`,"")),this.out.write(VQ.line+Id.to(0)+this.outputText))}};Sd.exports=TA});var kd=ae((zM,Nd)=>{var aa=pt(),rv=Lr(),{cursor:oa,erase:iv}=ft(),{style:SA,figures:nv,clear:Md,lines:sv}=lr(),av=/[0-9]/,DA=r=>r!==void 0,Ud=(r,e)=>{let i=Math.pow(10,e);return Math.round(r*i)/i},MA=class extends rv{constructor(e={}){super(e),this.transform=SA.render(e.style),this.msg=e.message,this.initial=DA(e.initial)?e.initial:"",this.float=!!e.float,this.round=e.round||2,this.inc=e.increment||1,this.min=DA(e.min)?e.min:-1/0,this.max=DA(e.max)?e.max:1/0,this.errorMsg=e.error||"Please Enter A Valid Value",this.validator=e.validate||(()=>!0),this.color="cyan",this.value="",this.typed="",this.lastHit=0,this.render()}set value(e){!e&&e!==0?(this.placeholder=!0,this.rendered=aa.gray(this.transform.render(`${this.initial}`)),this._value=""):(this.placeholder=!1,this.rendered=this.transform.render(`${Ud(e,this.round)}`),this._value=Ud(e,this.round)),this.fire()}get value(){return this._value}parse(e){return this.float?parseFloat(e):parseInt(e)}valid(e){return e==="-"||e==="."&&this.float||av.test(e)}reset(){this.typed="",this.value="",this.fire(),this.render()}exit(){this.abort()}abort(){let e=this.value;this.value=e!==""?e:this.initial,this.done=this.aborted=!0,this.error=!1,this.fire(),this.render(),this.out.write(`
|
|
100
100
|
`),this.close()}async validate(){let e=await this.validator(this.value);typeof e=="string"&&(this.errorMsg=e,e=!1),this.error=!e}async submit(){if(await this.validate(),this.error){this.color="red",this.fire(),this.render();return}let e=this.value;this.value=e!==""?e:this.initial,this.done=!0,this.aborted=!1,this.error=!1,this.fire(),this.render(),this.out.write(`
|
|
101
101
|
`),this.close()}up(){if(this.typed="",this.value===""&&(this.value=this.min-this.inc),this.value>=this.max)return this.bell();this.value+=this.inc,this.color="cyan",this.fire(),this.render()}down(){if(this.typed="",this.value===""&&(this.value=this.min+this.inc),this.value<=this.min)return this.bell();this.value-=this.inc,this.color="cyan",this.fire(),this.render()}delete(){let e=this.value.toString();if(e.length===0)return this.bell();this.value=this.parse(e=e.slice(0,-1))||"",this.value!==""&&this.value<this.min&&(this.value=this.min),this.color="cyan",this.fire(),this.render()}next(){this.value=this.initial,this.fire(),this.render()}_(e,i){if(!this.valid(e))return this.bell();let a=Date.now();if(a-this.lastHit>1e3&&(this.typed=""),this.typed+=e,this.lastHit=a,this.color="cyan",e===".")return this.fire();this.value=Math.min(this.parse(this.typed),this.max),this.value>this.max&&(this.value=this.max),this.value<this.min&&(this.value=this.min),this.fire(),this.render()}render(){this.closed||(this.firstRender||(this.outputError&&this.out.write(oa.down(sv(this.outputError,this.out.columns)-1)+Md(this.outputError,this.out.columns)),this.out.write(Md(this.outputText,this.out.columns))),super.render(),this.outputError="",this.outputText=[SA.symbol(this.done,this.aborted),aa.bold(this.msg),SA.delimiter(this.done),!this.done||!this.done&&!this.placeholder?aa[this.color]().underline(this.rendered):this.rendered].join(" "),this.error&&(this.outputError+=this.errorMsg.split(`
|
|
102
102
|
`).reduce((e,i,a)=>e+`
|
|
103
|
-
${a?" ":nv.pointerSmall} ${aa.red().italic(i)}`,"")),this.out.write(iv.line+oa.to(0)+this.outputText+oa.save+this.outputError+oa.restore))}};Nd.exports=MA});var NA=ae((
|
|
103
|
+
${a?" ":nv.pointerSmall} ${aa.red().italic(i)}`,"")),this.out.write(iv.line+oa.to(0)+this.outputText+oa.save+this.outputError+oa.restore))}};Nd.exports=MA});var NA=ae((XM,Rd)=>{"use strict";var br=pt(),{cursor:ov}=ft(),Av=Lr(),{clear:Od,figures:ii,style:Yd,wrap:lv,entriesToDisplay:cv}=lr(),UA=class extends Av{constructor(e={}){super(e),this.msg=e.message,this.cursor=e.cursor||0,this.scrollIndex=e.cursor||0,this.hint=e.hint||"",this.warn=e.warn||"- This option is disabled -",this.minSelected=e.min,this.showMinError=!1,this.maxChoices=e.max,this.instructions=e.instructions,this.optionsPerPage=e.optionsPerPage||10,this.value=e.choices.map((i,a)=>(typeof i=="string"&&(i={title:i,value:a}),{title:i&&(i.title||i.value||i),description:i&&i.description,value:i&&(i.value===void 0?a:i.value),selected:i&&i.selected,disabled:i&&i.disabled})),this.clear=Od("",this.out.columns),e.overrideRender||this.render()}reset(){this.value.map(e=>!e.selected),this.cursor=0,this.fire(),this.render()}selected(){return this.value.filter(e=>e.selected)}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
|
|
104
104
|
`),this.close()}submit(){let e=this.value.filter(i=>i.selected);this.minSelected&&e.length<this.minSelected?(this.showMinError=!0,this.render()):(this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
|
|
105
105
|
`),this.close())}first(){this.cursor=0,this.render()}last(){this.cursor=this.value.length-1,this.render()}next(){this.cursor=(this.cursor+1)%this.value.length,this.render()}up(){this.cursor===0?this.cursor=this.value.length-1:this.cursor--,this.render()}down(){this.cursor===this.value.length-1?this.cursor=0:this.cursor++,this.render()}left(){this.value[this.cursor].selected=!1,this.render()}right(){if(this.value.filter(e=>e.selected).length>=this.maxChoices)return this.bell();this.value[this.cursor].selected=!0,this.render()}handleSpaceToggle(){let e=this.value[this.cursor];if(e.selected)e.selected=!1,this.render();else{if(e.disabled||this.value.filter(i=>i.selected).length>=this.maxChoices)return this.bell();e.selected=!0,this.render()}}toggleAll(){if(this.maxChoices!==void 0||this.value[this.cursor].disabled)return this.bell();let e=!this.value[this.cursor].selected;this.value.filter(i=>!i.disabled).forEach(i=>i.selected=e),this.render()}_(e,i){if(e===" ")this.handleSpaceToggle();else if(e==="a")this.toggleAll();else return this.bell()}renderInstructions(){return this.instructions===void 0||this.instructions?typeof this.instructions=="string"?this.instructions:`
|
|
106
106
|
Instructions:
|
|
@@ -110,24 +110,24 @@ Instructions:
|
|
|
110
110
|
`:"")+" enter/return: Complete answer":""}renderOption(e,i,a,A){let l=(i.selected?br.green(ii.radioOn):ii.radioOff)+" "+A+" ",u,p;return i.disabled?u=e===a?br.gray().underline(i.title):br.strikethrough().gray(i.title):(u=e===a?br.cyan().underline(i.title):i.title,e===a&&i.description&&(p=` - ${i.description}`,(l.length+u.length+p.length>=this.out.columns||i.description.split(/\r?\n/).length>1)&&(p=`
|
|
111
111
|
`+lv(i.description,{margin:l.length,width:this.out.columns})))),l+u+br.gray(p||"")}paginateOptions(e){if(e.length===0)return br.red("No matches for this query.");let{startIndex:i,endIndex:a}=cv(this.cursor,e.length,this.optionsPerPage),A,l=[];for(let u=i;u<a;u++)u===i&&i>0?A=ii.arrowUp:u===a-1&&a<e.length?A=ii.arrowDown:A=" ",l.push(this.renderOption(this.cursor,e[u],u,A));return`
|
|
112
112
|
`+l.join(`
|
|
113
|
-
`)}renderOptions(e){return this.done?"":this.paginateOptions(e)}renderDoneOrInstructions(){if(this.done)return this.value.filter(i=>i.selected).map(i=>i.title).join(", ");let e=[br.gray(this.hint),this.renderInstructions()];return this.value[this.cursor].disabled&&e.push(br.yellow(this.warn)),e.join(" ")}render(){if(this.closed)return;this.firstRender&&this.out.write(ov.hide),super.render();let e=[
|
|
113
|
+
`)}renderOptions(e){return this.done?"":this.paginateOptions(e)}renderDoneOrInstructions(){if(this.done)return this.value.filter(i=>i.selected).map(i=>i.title).join(", ");let e=[br.gray(this.hint),this.renderInstructions()];return this.value[this.cursor].disabled&&e.push(br.yellow(this.warn)),e.join(" ")}render(){if(this.closed)return;this.firstRender&&this.out.write(ov.hide),super.render();let e=[Yd.symbol(this.done,this.aborted),br.bold(this.msg),Yd.delimiter(!1),this.renderDoneOrInstructions()].join(" ");this.showMinError&&(e+=br.red(`You must select a minimum of ${this.minSelected} choices.`),this.showMinError=!1),e+=this.renderOptions(this.value),this.out.write(this.clear+e),this.clear=Od(e,this.out.columns)}};Rd.exports=UA});var Wd=ae((qM,Hd)=>{"use strict";var Gn=pt(),uv=Lr(),{erase:hv,cursor:Gd}=ft(),{style:kA,clear:Ld,figures:OA,wrap:pv,entriesToDisplay:fv}=lr(),Pd=(r,e)=>r[e]&&(r[e].value||r[e].title||r[e]),dv=(r,e)=>r[e]&&(r[e].title||r[e].value||r[e]),gv=(r,e)=>{let i=r.findIndex(a=>a.value===e||a.title===e);return i>-1?i:void 0},YA=class extends uv{constructor(e={}){super(e),this.msg=e.message,this.suggest=e.suggest,this.choices=e.choices,this.initial=typeof e.initial=="number"?e.initial:gv(e.choices,e.initial),this.select=this.initial||e.cursor||0,this.i18n={noMatches:e.noMatches||"no matches found"},this.fallback=e.fallback||this.initial,this.clearFirst=e.clearFirst||!1,this.suggestions=[],this.input="",this.limit=e.limit||10,this.cursor=0,this.transform=kA.render(e.style),this.scale=this.transform.scale,this.render=this.render.bind(this),this.complete=this.complete.bind(this),this.clear=Ld("",this.out.columns),this.complete(this.render),this.render()}set fallback(e){this._fb=Number.isSafeInteger(parseInt(e))?parseInt(e):e}get fallback(){let e;return typeof this._fb=="number"?e=this.choices[this._fb]:typeof this._fb=="string"&&(e={title:this._fb}),e||this._fb||{title:this.i18n.noMatches}}moveSelect(e){this.select=e,this.suggestions.length>0?this.value=Pd(this.suggestions,e):this.value=this.fallback.value,this.fire()}async complete(e){let i=this.completing=this.suggest(this.input,this.choices),a=await i;if(this.completing!==i)return;this.suggestions=a.map((l,u,p)=>({title:dv(p,u),value:Pd(p,u),description:l.description})),this.completing=!1;let A=Math.max(a.length-1,0);this.moveSelect(Math.min(A,this.select)),e&&e()}reset(){this.input="",this.complete(()=>{this.moveSelect(this.initial!==void 0?this.initial:0),this.render()}),this.render()}exit(){this.clearFirst&&this.input.length>0?this.reset():(this.done=this.exited=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
|
|
114
114
|
`),this.close())}abort(){this.done=this.aborted=!0,this.exited=!1,this.fire(),this.render(),this.out.write(`
|
|
115
115
|
`),this.close()}submit(){this.done=!0,this.aborted=this.exited=!1,this.fire(),this.render(),this.out.write(`
|
|
116
|
-
`),this.close()}_(e,i){let a=this.input.slice(0,this.cursor),A=this.input.slice(this.cursor);this.input=`${a}${e}${A}`,this.cursor=a.length+1,this.complete(this.render),this.render()}delete(){if(this.cursor===0)return this.bell();let e=this.input.slice(0,this.cursor-1),i=this.input.slice(this.cursor);this.input=`${e}${i}`,this.complete(this.render),this.cursor=this.cursor-1,this.render()}deleteForward(){if(this.cursor*this.scale>=this.rendered.length)return this.bell();let e=this.input.slice(0,this.cursor),i=this.input.slice(this.cursor+1);this.input=`${e}${i}`,this.complete(this.render),this.render()}first(){this.moveSelect(0),this.render()}last(){this.moveSelect(this.suggestions.length-1),this.render()}up(){this.select===0?this.moveSelect(this.suggestions.length-1):this.moveSelect(this.select-1),this.render()}down(){this.select===this.suggestions.length-1?this.moveSelect(0):this.moveSelect(this.select+1),this.render()}next(){this.select===this.suggestions.length-1?this.moveSelect(0):this.moveSelect(this.select+1),this.render()}nextPage(){this.moveSelect(Math.min(this.select+this.limit,this.suggestions.length-1)),this.render()}prevPage(){this.moveSelect(Math.max(this.select-this.limit,0)),this.render()}left(){if(this.cursor<=0)return this.bell();this.cursor=this.cursor-1,this.render()}right(){if(this.cursor*this.scale>=this.rendered.length)return this.bell();this.cursor=this.cursor+1,this.render()}renderOption(e,i,a,A){let l,u=a?
|
|
116
|
+
`),this.close()}_(e,i){let a=this.input.slice(0,this.cursor),A=this.input.slice(this.cursor);this.input=`${a}${e}${A}`,this.cursor=a.length+1,this.complete(this.render),this.render()}delete(){if(this.cursor===0)return this.bell();let e=this.input.slice(0,this.cursor-1),i=this.input.slice(this.cursor);this.input=`${e}${i}`,this.complete(this.render),this.cursor=this.cursor-1,this.render()}deleteForward(){if(this.cursor*this.scale>=this.rendered.length)return this.bell();let e=this.input.slice(0,this.cursor),i=this.input.slice(this.cursor+1);this.input=`${e}${i}`,this.complete(this.render),this.render()}first(){this.moveSelect(0),this.render()}last(){this.moveSelect(this.suggestions.length-1),this.render()}up(){this.select===0?this.moveSelect(this.suggestions.length-1):this.moveSelect(this.select-1),this.render()}down(){this.select===this.suggestions.length-1?this.moveSelect(0):this.moveSelect(this.select+1),this.render()}next(){this.select===this.suggestions.length-1?this.moveSelect(0):this.moveSelect(this.select+1),this.render()}nextPage(){this.moveSelect(Math.min(this.select+this.limit,this.suggestions.length-1)),this.render()}prevPage(){this.moveSelect(Math.max(this.select-this.limit,0)),this.render()}left(){if(this.cursor<=0)return this.bell();this.cursor=this.cursor-1,this.render()}right(){if(this.cursor*this.scale>=this.rendered.length)return this.bell();this.cursor=this.cursor+1,this.render()}renderOption(e,i,a,A){let l,u=a?OA.arrowUp:A?OA.arrowDown:" ",p=i?Gn.cyan().underline(e.title):e.title;return u=(i?Gn.cyan(OA.pointer)+" ":" ")+u,e.description&&(l=` - ${e.description}`,(u.length+p.length+l.length>=this.out.columns||e.description.split(/\r?\n/).length>1)&&(l=`
|
|
117
117
|
`+pv(e.description,{margin:3,width:this.out.columns}))),u+" "+p+Gn.gray(l||"")}render(){if(this.closed)return;this.firstRender?this.out.write(Gd.hide):this.out.write(Ld(this.outputText,this.out.columns)),super.render();let{startIndex:e,endIndex:i}=fv(this.select,this.choices.length,this.limit);if(this.outputText=[kA.symbol(this.done,this.aborted,this.exited),Gn.bold(this.msg),kA.delimiter(this.completing),this.done&&this.suggestions[this.select]?this.suggestions[this.select].title:this.rendered=this.transform.render(this.input)].join(" "),!this.done){let a=this.suggestions.slice(e,i).map((A,l)=>this.renderOption(A,this.select===l+e,l===0&&e>0,l+e===i-1&&i<this.choices.length)).join(`
|
|
118
118
|
`);this.outputText+=`
|
|
119
|
-
`+(a||Gn.gray(this.fallback.title))}this.out.write(hv.line+Gd.to(0)+this.outputText)}};Hd.exports=
|
|
119
|
+
`+(a||Gn.gray(this.fallback.title))}this.out.write(hv.line+Gd.to(0)+this.outputText)}};Hd.exports=YA});var _d=ae((KM,jd)=>{"use strict";var Hr=pt(),{cursor:mv}=ft(),Bv=NA(),{clear:Jd,style:Vd,figures:_i}=lr(),RA=class extends Bv{constructor(e={}){e.overrideRender=!0,super(e),this.inputValue="",this.clear=Jd("",this.out.columns),this.filteredOptions=this.value,this.render()}last(){this.cursor=this.filteredOptions.length-1,this.render()}next(){this.cursor=(this.cursor+1)%this.filteredOptions.length,this.render()}up(){this.cursor===0?this.cursor=this.filteredOptions.length-1:this.cursor--,this.render()}down(){this.cursor===this.filteredOptions.length-1?this.cursor=0:this.cursor++,this.render()}left(){this.filteredOptions[this.cursor].selected=!1,this.render()}right(){if(this.value.filter(e=>e.selected).length>=this.maxChoices)return this.bell();this.filteredOptions[this.cursor].selected=!0,this.render()}delete(){this.inputValue.length&&(this.inputValue=this.inputValue.substr(0,this.inputValue.length-1),this.updateFilteredOptions())}updateFilteredOptions(){let e=this.filteredOptions[this.cursor];this.filteredOptions=this.value.filter(a=>this.inputValue?!!(typeof a.title=="string"&&a.title.toLowerCase().includes(this.inputValue.toLowerCase())||typeof a.value=="string"&&a.value.toLowerCase().includes(this.inputValue.toLowerCase())):!0);let i=this.filteredOptions.findIndex(a=>a===e);this.cursor=i<0?0:i,this.render()}handleSpaceToggle(){let e=this.filteredOptions[this.cursor];if(e.selected)e.selected=!1,this.render();else{if(e.disabled||this.value.filter(i=>i.selected).length>=this.maxChoices)return this.bell();e.selected=!0,this.render()}}handleInputChange(e){this.inputValue=this.inputValue+e,this.updateFilteredOptions()}_(e,i){e===" "?this.handleSpaceToggle():this.handleInputChange(e)}renderInstructions(){return this.instructions===void 0||this.instructions?typeof this.instructions=="string"?this.instructions:`
|
|
120
120
|
Instructions:
|
|
121
|
-
${
|
|
122
|
-
${
|
|
121
|
+
${_i.arrowUp}/${_i.arrowDown}: Highlight option
|
|
122
|
+
${_i.arrowLeft}/${_i.arrowRight}/[space]: Toggle selection
|
|
123
123
|
[a,b,c]/delete: Filter choices
|
|
124
124
|
enter/return: Complete answer
|
|
125
125
|
`:""}renderCurrentInput(){return`
|
|
126
126
|
Filtered results for: ${this.inputValue?this.inputValue:Hr.gray("Enter something to filter")}
|
|
127
|
-
`}renderOption(e,i,a){let A;return i.disabled?A=e===a?Hr.gray().underline(i.title):Hr.strikethrough().gray(i.title):A=e===a?Hr.cyan().underline(i.title):i.title,(i.selected?Hr.green(
|
|
127
|
+
`}renderOption(e,i,a){let A;return i.disabled?A=e===a?Hr.gray().underline(i.title):Hr.strikethrough().gray(i.title):A=e===a?Hr.cyan().underline(i.title):i.title,(i.selected?Hr.green(_i.radioOn):_i.radioOff)+" "+A}renderDoneOrInstructions(){if(this.done)return this.value.filter(i=>i.selected).map(i=>i.title).join(", ");let e=[Hr.gray(this.hint),this.renderInstructions(),this.renderCurrentInput()];return this.filteredOptions.length&&this.filteredOptions[this.cursor].disabled&&e.push(Hr.yellow(this.warn)),e.join(" ")}render(){if(this.closed)return;this.firstRender&&this.out.write(mv.hide),super.render();let e=[Vd.symbol(this.done,this.aborted),Hr.bold(this.msg),Vd.delimiter(!1),this.renderDoneOrInstructions()].join(" ");this.showMinError&&(e+=Hr.red(`You must select a minimum of ${this.minSelected} choices.`),this.showMinError=!1),e+=this.renderOptions(this.filteredOptions),this.out.write(this.clear+e),this.clear=Jd(e,this.out.columns)}};jd.exports=RA});var Kd=ae(($M,qd)=>{var Zd=pt(),Ev=Lr(),{style:zd,clear:wv}=lr(),{erase:yv,cursor:Xd}=ft(),GA=class extends Ev{constructor(e={}){super(e),this.msg=e.message,this.value=e.initial,this.initialValue=!!e.initial,this.yesMsg=e.yes||"yes",this.yesOption=e.yesOption||"(Y/n)",this.noMsg=e.no||"no",this.noOption=e.noOption||"(y/N)",this.render()}reset(){this.value=this.initialValue,this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
|
|
128
128
|
`),this.close()}submit(){this.value=this.value||!1,this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
|
|
129
|
-
`),this.close()}_(e,i){return e.toLowerCase()==="y"?(this.value=!0,this.submit()):e.toLowerCase()==="n"?(this.value=!1,this.submit()):this.bell()}render(){this.closed||(this.firstRender?this.out.write(Xd.hide):this.out.write(wv(this.outputText,this.out.columns)),super.render(),this.outputText=[zd.symbol(this.done,this.aborted),Zd.bold(this.msg),zd.delimiter(this.done),this.done?this.value?this.yesMsg:this.noMsg:Zd.gray(this.initialValue?this.yesOption:this.noOption)].join(" "),this.out.write(yv.line+Xd.to(0)+this.outputText))}};qd.exports=GA});var eg=ae(($M,$d)=>{"use strict";$d.exports={TextPrompt:qf(),SelectPrompt:td(),TogglePrompt:sd(),DatePrompt:Dd(),NumberPrompt:kd(),MultiselectPrompt:NA(),AutocompletePrompt:Wd(),AutocompleteMultiselectPrompt:_d(),ConfirmPrompt:Kd()}});var rg=ae(tg=>{"use strict";var Gt=tg,Cv=eg(),Aa=r=>r;function xr(r,e,i={}){return new Promise((a,A)=>{let l=new Cv[r](e),u=i.onAbort||Aa,p=i.onSubmit||Aa,f=i.onExit||Aa;l.on("state",e.onState||Aa),l.on("submit",g=>a(p(g))),l.on("exit",g=>a(f(g))),l.on("abort",g=>A(u(g)))})}Gt.text=r=>xr("TextPrompt",r);Gt.password=r=>(r.style="password",Gt.text(r));Gt.invisible=r=>(r.style="invisible",Gt.text(r));Gt.number=r=>xr("NumberPrompt",r);Gt.date=r=>xr("DatePrompt",r);Gt.confirm=r=>xr("ConfirmPrompt",r);Gt.list=r=>{let e=r.separator||",";return xr("TextPrompt",r,{onSubmit:i=>i.split(e).map(a=>a.trim())})};Gt.toggle=r=>xr("TogglePrompt",r);Gt.select=r=>xr("SelectPrompt",r);Gt.multiselect=r=>{r.choices=[].concat(r.choices||[]);let e=i=>i.filter(a=>a.selected).map(a=>a.value);return xr("MultiselectPrompt",r,{onAbort:e,onSubmit:e})};Gt.autocompleteMultiselect=r=>{r.choices=[].concat(r.choices||[]);let e=i=>i.filter(a=>a.selected).map(a=>a.value);return xr("AutocompleteMultiselectPrompt",r,{onAbort:e,onSubmit:e})};var bv=(r,e)=>Promise.resolve(e.filter(i=>i.title.slice(0,r.length).toLowerCase()===r.toLowerCase()));Gt.autocomplete=r=>(r.suggest=r.suggest||bv,r.choices=[].concat(r.choices||[]),xr("AutocompletePrompt",r))});var sg=ae((tU,ng)=>{"use strict";var LA=rg(),xv=["suggest","format","onState","validate","onRender","type"],ig=()=>{};async function ni(r=[],{onSubmit:e=ig,onCancel:i=ig}={}){let a={},A=ni._override||{};r=[].concat(r);let l,u,p,f,g,m,E=async(b,y,Q=!1)=>{if(!(!Q&&b.validate&&b.validate(y)!==!0))return b.format?await b.format(y,a):y};for(u of r)if({name:f,type:g}=u,typeof g=="function"&&(g=await g(l,{...a},u),u.type=g),!!g){for(let b in u){if(xv.includes(b))continue;let y=u[b];u[b]=typeof y=="function"?await y(l,{...a},m):y}if(m=u,typeof u.message!="string")throw new Error("prompt message is required");if({name:f,type:g}=u,LA[g]===void 0)throw new Error(`prompt type (${g}) is not defined`);if(A[u.name]!==void 0&&(l=await E(u,A[u.name]),l!==void 0)){a[f]=l;continue}try{l=ni._injected?Qv(ni._injected,u.initial):await LA[g](u),a[f]=l=await E(u,l,!0),p=await e(u,l,a)}catch{p=!await i(u,a)}if(p)return a}return a}function Qv(r,e){let i=r.shift();if(i instanceof Error)throw i;return i===void 0?e:i}function vv(r){ni._injected=(ni._injected||[]).concat(r)}function Iv(r){ni._override=Object.assign({},r)}ng.exports=Object.assign(ni,{prompt:ni,prompts:LA,inject:vv,override:Iv})});var og=ae((rU,ag)=>{function Fv(r){r=(Array.isArray(r)?r:r.split(".")).map(Number);let e=0,i=process.versions.node.split(".").map(Number);for(;e<r.length;e++){if(i[e]>r[e])return!1;if(r[e]>i[e])return!0}return!1}ag.exports=Fv("8.6.0")?Df():sg()});var pl=ae((zN,Vg)=>{"use strict";var lI=We("util"),Jg=We("stream"),cr=Vg.exports=function(){Jg.call(this),this._buffers=[],this._buffered=0,this._reads=[],this._paused=!1,this._encoding="utf8",this.writable=!0};lI.inherits(cr,Jg);cr.prototype.read=function(r,e){this._reads.push({length:Math.abs(r),allowLess:r<0,func:e}),process.nextTick(function(){this._process(),this._paused&&this._reads&&this._reads.length>0&&(this._paused=!1,this.emit("drain"))}.bind(this))};cr.prototype.write=function(r,e){if(!this.writable)return this.emit("error",new Error("Stream not writable")),!1;let i;return Buffer.isBuffer(r)?i=r:i=Buffer.from(r,e||this._encoding),this._buffers.push(i),this._buffered+=i.length,this._process(),this._reads&&this._reads.length===0&&(this._paused=!0),this.writable&&!this._paused};cr.prototype.end=function(r,e){r&&this.write(r,e),this.writable=!1,this._buffers&&(this._buffers.length===0?this._end():(this._buffers.push(null),this._process()))};cr.prototype.destroySoon=cr.prototype.end;cr.prototype._end=function(){this._reads.length>0&&this.emit("error",new Error("Unexpected end of input")),this.destroy()};cr.prototype.destroy=function(){this._buffers&&(this.writable=!1,this._reads=null,this._buffers=null,this.emit("close"))};cr.prototype._processReadAllowingLess=function(r){this._reads.shift();let e=this._buffers[0];e.length>r.length?(this._buffered-=r.length,this._buffers[0]=e.slice(r.length),r.func.call(this,e.slice(0,r.length))):(this._buffered-=e.length,this._buffers.shift(),r.func.call(this,e))};cr.prototype._processRead=function(r){this._reads.shift();let e=0,i=0,a=Buffer.alloc(r.length);for(;e<r.length;){let A=this._buffers[i++],l=Math.min(A.length,r.length-e);A.copy(a,e,0,l),e+=l,l!==A.length&&(this._buffers[--i]=A.slice(l))}i>0&&this._buffers.splice(0,i),this._buffered-=r.length,r.func.call(this,a)};cr.prototype._process=function(){try{for(;this._buffered>0&&this._reads&&this._reads.length>0;){let r=this._reads[0];if(r.allowLess)this._processReadAllowingLess(r);else if(this._buffered>=r.length)this._processRead(r);else break}this._buffers&&!this.writable&&this._end()}catch(r){this.emit("error",r)}}});var dl=ae(fl=>{"use strict";var si=[{x:[0],y:[0]},{x:[4],y:[0]},{x:[0,4],y:[4]},{x:[2,6],y:[0,4]},{x:[0,2,4,6],y:[2,6]},{x:[1,3,5,7],y:[0,2,4,6]},{x:[0,1,2,3,4,5,6,7],y:[1,3,5,7]}];fl.getImagePasses=function(r,e){let i=[],a=r%8,A=e%8,l=(r-a)/8,u=(e-A)/8;for(let p=0;p<si.length;p++){let f=si[p],g=l*f.x.length,m=u*f.y.length;for(let E=0;E<f.x.length&&f.x[E]<a;E++)g++;for(let E=0;E<f.y.length&&f.y[E]<A;E++)m++;g>0&&m>0&&i.push({width:g,height:m,index:p})}return i};fl.getInterlaceIterator=function(r){return function(e,i,a){let A=e%si[a].x.length,l=(e-A)/si[a].x.length*8+si[a].x[A],u=i%si[a].y.length,p=(i-u)/si[a].y.length*8+si[a].y[u];return l*4+p*r*4}}});var gl=ae((qN,jg)=>{"use strict";jg.exports=function(e,i,a){let A=e+i-a,l=Math.abs(A-e),u=Math.abs(A-i),p=Math.abs(A-a);return l<=u&&l<=p?e:u<=p?i:a}});var ml=ae((KN,Zg)=>{"use strict";var cI=dl(),uI=gl();function _g(r,e,i){let a=r*e;return i!==8&&(a=Math.ceil(a/(8/i))),a}var nn=Zg.exports=function(r,e){let i=r.width,a=r.height,A=r.interlace,l=r.bpp,u=r.depth;if(this.read=e.read,this.write=e.write,this.complete=e.complete,this._imageIndex=0,this._images=[],A){let p=cI.getImagePasses(i,a);for(let f=0;f<p.length;f++)this._images.push({byteWidth:_g(p[f].width,l,u),height:p[f].height,lineIndex:0})}else this._images.push({byteWidth:_g(i,l,u),height:a,lineIndex:0});u===8?this._xComparison=l:u===16?this._xComparison=l*2:this._xComparison=1};nn.prototype.start=function(){this.read(this._images[this._imageIndex].byteWidth+1,this._reverseFilterLine.bind(this))};nn.prototype._unFilterType1=function(r,e,i){let a=this._xComparison,A=a-1;for(let l=0;l<i;l++){let u=r[1+l],p=l>A?e[l-a]:0;e[l]=u+p}};nn.prototype._unFilterType2=function(r,e,i){let a=this._lastLine;for(let A=0;A<i;A++){let l=r[1+A],u=a?a[A]:0;e[A]=l+u}};nn.prototype._unFilterType3=function(r,e,i){let a=this._xComparison,A=a-1,l=this._lastLine;for(let u=0;u<i;u++){let p=r[1+u],f=l?l[u]:0,g=u>A?e[u-a]:0,m=Math.floor((g+f)/2);e[u]=p+m}};nn.prototype._unFilterType4=function(r,e,i){let a=this._xComparison,A=a-1,l=this._lastLine;for(let u=0;u<i;u++){let p=r[1+u],f=l?l[u]:0,g=u>A?e[u-a]:0,m=u>A&&l?l[u-a]:0,E=uI(g,f,m);e[u]=p+E}};nn.prototype._reverseFilterLine=function(r){let e=r[0],i,a=this._images[this._imageIndex],A=a.byteWidth;if(e===0)i=r.slice(1,A+1);else switch(i=Buffer.alloc(A),e){case 1:this._unFilterType1(r,i,A);break;case 2:this._unFilterType2(r,i,A);break;case 3:this._unFilterType3(r,i,A);break;case 4:this._unFilterType4(r,i,A);break;default:throw new Error("Unrecognised filter type - "+e)}this.write(i),a.lineIndex++,a.lineIndex>=a.height?(this._lastLine=null,this._imageIndex++,a=this._images[this._imageIndex]):this._lastLine=i,a?this.read(a.byteWidth+1,this._reverseFilterLine.bind(this)):(this._lastLine=null,this.complete())}});var qg=ae(($N,Xg)=>{"use strict";var hI=We("util"),zg=pl(),pI=ml(),fI=Xg.exports=function(r){zg.call(this);let e=[],i=this;this._filter=new pI(r,{read:this.read.bind(this),write:function(a){e.push(a)},complete:function(){i.emit("complete",Buffer.concat(e))}}),this._filter.start()};hI.inherits(fI,zg)});var sn=ae((ek,Kg)=>{"use strict";Kg.exports={PNG_SIGNATURE:[137,80,78,71,13,10,26,10],TYPE_IHDR:1229472850,TYPE_IEND:1229278788,TYPE_IDAT:1229209940,TYPE_PLTE:1347179589,TYPE_tRNS:1951551059,TYPE_gAMA:1732332865,COLORTYPE_GRAYSCALE:0,COLORTYPE_PALETTE:1,COLORTYPE_COLOR:2,COLORTYPE_ALPHA:4,COLORTYPE_PALETTE_COLOR:3,COLORTYPE_COLOR_ALPHA:6,COLORTYPE_TO_BPP_MAP:{0:1,2:3,3:1,4:2,6:4},GAMMA_DIVISION:1e5}});var wl=ae((tk,$g)=>{"use strict";var Bl=[];(function(){for(let r=0;r<256;r++){let e=r;for(let i=0;i<8;i++)e&1?e=3988292384^e>>>1:e=e>>>1;Bl[r]=e}})();var El=$g.exports=function(){this._crc=-1};El.prototype.write=function(r){for(let e=0;e<r.length;e++)this._crc=Bl[(this._crc^r[e])&255]^this._crc>>>8;return!0};El.prototype.crc32=function(){return this._crc^-1};El.crc32=function(r){let e=-1;for(let i=0;i<r.length;i++)e=Bl[(e^r[i])&255]^e>>>8;return e^-1}});var yl=ae((rk,em)=>{"use strict";var yt=sn(),dI=wl(),Ct=em.exports=function(r,e){this._options=r,r.checkCRC=r.checkCRC!==!1,this._hasIHDR=!1,this._hasIEND=!1,this._emittedHeadersFinished=!1,this._palette=[],this._colorType=0,this._chunks={},this._chunks[yt.TYPE_IHDR]=this._handleIHDR.bind(this),this._chunks[yt.TYPE_IEND]=this._handleIEND.bind(this),this._chunks[yt.TYPE_IDAT]=this._handleIDAT.bind(this),this._chunks[yt.TYPE_PLTE]=this._handlePLTE.bind(this),this._chunks[yt.TYPE_tRNS]=this._handleTRNS.bind(this),this._chunks[yt.TYPE_gAMA]=this._handleGAMA.bind(this),this.read=e.read,this.error=e.error,this.metadata=e.metadata,this.gamma=e.gamma,this.transColor=e.transColor,this.palette=e.palette,this.parsed=e.parsed,this.inflateData=e.inflateData,this.finished=e.finished,this.simpleTransparency=e.simpleTransparency,this.headersFinished=e.headersFinished||function(){}};Ct.prototype.start=function(){this.read(yt.PNG_SIGNATURE.length,this._parseSignature.bind(this))};Ct.prototype._parseSignature=function(r){let e=yt.PNG_SIGNATURE;for(let i=0;i<e.length;i++)if(r[i]!==e[i]){this.error(new Error("Invalid file signature"));return}this.read(8,this._parseChunkBegin.bind(this))};Ct.prototype._parseChunkBegin=function(r){let e=r.readUInt32BE(0),i=r.readUInt32BE(4),a="";for(let l=4;l<8;l++)a+=String.fromCharCode(r[l]);let A=!!(r[4]&32);if(!this._hasIHDR&&i!==yt.TYPE_IHDR){this.error(new Error("Expected IHDR on beggining"));return}if(this._crc=new dI,this._crc.write(Buffer.from(a)),this._chunks[i])return this._chunks[i](e);if(!A){this.error(new Error("Unsupported critical chunk type "+a));return}this.read(e+4,this._skipChunk.bind(this))};Ct.prototype._skipChunk=function(){this.read(8,this._parseChunkBegin.bind(this))};Ct.prototype._handleChunkEnd=function(){this.read(4,this._parseChunkEnd.bind(this))};Ct.prototype._parseChunkEnd=function(r){let e=r.readInt32BE(0),i=this._crc.crc32();if(this._options.checkCRC&&i!==e){this.error(new Error("Crc error - "+e+" - "+i));return}this._hasIEND||this.read(8,this._parseChunkBegin.bind(this))};Ct.prototype._handleIHDR=function(r){this.read(r,this._parseIHDR.bind(this))};Ct.prototype._parseIHDR=function(r){this._crc.write(r);let e=r.readUInt32BE(0),i=r.readUInt32BE(4),a=r[8],A=r[9],l=r[10],u=r[11],p=r[12];if(a!==8&&a!==4&&a!==2&&a!==1&&a!==16){this.error(new Error("Unsupported bit depth "+a));return}if(!(A in yt.COLORTYPE_TO_BPP_MAP)){this.error(new Error("Unsupported color type"));return}if(l!==0){this.error(new Error("Unsupported compression method"));return}if(u!==0){this.error(new Error("Unsupported filter method"));return}if(p!==0&&p!==1){this.error(new Error("Unsupported interlace method"));return}this._colorType=A;let f=yt.COLORTYPE_TO_BPP_MAP[this._colorType];this._hasIHDR=!0,this.metadata({width:e,height:i,depth:a,interlace:!!p,palette:!!(A&yt.COLORTYPE_PALETTE),color:!!(A&yt.COLORTYPE_COLOR),alpha:!!(A&yt.COLORTYPE_ALPHA),bpp:f,colorType:A}),this._handleChunkEnd()};Ct.prototype._handlePLTE=function(r){this.read(r,this._parsePLTE.bind(this))};Ct.prototype._parsePLTE=function(r){this._crc.write(r);let e=Math.floor(r.length/3);for(let i=0;i<e;i++)this._palette.push([r[i*3],r[i*3+1],r[i*3+2],255]);this.palette(this._palette),this._handleChunkEnd()};Ct.prototype._handleTRNS=function(r){this.simpleTransparency(),this.read(r,this._parseTRNS.bind(this))};Ct.prototype._parseTRNS=function(r){if(this._crc.write(r),this._colorType===yt.COLORTYPE_PALETTE_COLOR){if(this._palette.length===0){this.error(new Error("Transparency chunk must be after palette"));return}if(r.length>this._palette.length){this.error(new Error("More transparent colors than palette size"));return}for(let e=0;e<r.length;e++)this._palette[e][3]=r[e];this.palette(this._palette)}this._colorType===yt.COLORTYPE_GRAYSCALE&&this.transColor([r.readUInt16BE(0)]),this._colorType===yt.COLORTYPE_COLOR&&this.transColor([r.readUInt16BE(0),r.readUInt16BE(2),r.readUInt16BE(4)]),this._handleChunkEnd()};Ct.prototype._handleGAMA=function(r){this.read(r,this._parseGAMA.bind(this))};Ct.prototype._parseGAMA=function(r){this._crc.write(r),this.gamma(r.readUInt32BE(0)/yt.GAMMA_DIVISION),this._handleChunkEnd()};Ct.prototype._handleIDAT=function(r){this._emittedHeadersFinished||(this._emittedHeadersFinished=!0,this.headersFinished()),this.read(-r,this._parseIDAT.bind(this,r))};Ct.prototype._parseIDAT=function(r,e){if(this._crc.write(e),this._colorType===yt.COLORTYPE_PALETTE_COLOR&&this._palette.length===0)throw new Error("Expected palette not found");this.inflateData(e);let i=r-e.length;i>0?this._handleIDAT(i):this._handleChunkEnd()};Ct.prototype._handleIEND=function(r){this.read(r,this._parseIEND.bind(this))};Ct.prototype._parseIEND=function(r){this._crc.write(r),this._hasIEND=!0,this._handleChunkEnd(),this.finished&&this.finished()}});var Cl=ae(rm=>{"use strict";var tm=dl(),gI=[function(){},function(r,e,i,a){if(a===e.length)throw new Error("Ran out of data");let A=e[a];r[i]=A,r[i+1]=A,r[i+2]=A,r[i+3]=255},function(r,e,i,a){if(a+1>=e.length)throw new Error("Ran out of data");let A=e[a];r[i]=A,r[i+1]=A,r[i+2]=A,r[i+3]=e[a+1]},function(r,e,i,a){if(a+2>=e.length)throw new Error("Ran out of data");r[i]=e[a],r[i+1]=e[a+1],r[i+2]=e[a+2],r[i+3]=255},function(r,e,i,a){if(a+3>=e.length)throw new Error("Ran out of data");r[i]=e[a],r[i+1]=e[a+1],r[i+2]=e[a+2],r[i+3]=e[a+3]}],mI=[function(){},function(r,e,i,a){let A=e[0];r[i]=A,r[i+1]=A,r[i+2]=A,r[i+3]=a},function(r,e,i){let a=e[0];r[i]=a,r[i+1]=a,r[i+2]=a,r[i+3]=e[1]},function(r,e,i,a){r[i]=e[0],r[i+1]=e[1],r[i+2]=e[2],r[i+3]=a},function(r,e,i){r[i]=e[0],r[i+1]=e[1],r[i+2]=e[2],r[i+3]=e[3]}];function BI(r,e){let i=[],a=0;function A(){if(a===r.length)throw new Error("Ran out of data");let l=r[a];a++;let u,p,f,g,m,E,b,y;switch(e){default:throw new Error("unrecognised depth");case 16:b=r[a],a++,i.push((l<<8)+b);break;case 4:b=l&15,y=l>>4,i.push(y,b);break;case 2:m=l&3,E=l>>2&3,b=l>>4&3,y=l>>6&3,i.push(y,b,E,m);break;case 1:u=l&1,p=l>>1&1,f=l>>2&1,g=l>>3&1,m=l>>4&1,E=l>>5&1,b=l>>6&1,y=l>>7&1,i.push(y,b,E,m,g,f,p,u);break}}return{get:function(l){for(;i.length<l;)A();let u=i.slice(0,l);return i=i.slice(l),u},resetAfterLine:function(){i.length=0},end:function(){if(a!==r.length)throw new Error("extra data found")}}}function EI(r,e,i,a,A,l){let u=r.width,p=r.height,f=r.index;for(let g=0;g<p;g++)for(let m=0;m<u;m++){let E=i(m,g,f);gI[a](e,A,E,l),l+=a}return l}function wI(r,e,i,a,A,l){let u=r.width,p=r.height,f=r.index;for(let g=0;g<p;g++){for(let m=0;m<u;m++){let E=A.get(a),b=i(m,g,f);mI[a](e,E,b,l)}A.resetAfterLine()}}rm.dataToBitMap=function(r,e){let i=e.width,a=e.height,A=e.depth,l=e.bpp,u=e.interlace,p;A!==8&&(p=BI(r,A));let f;A<=8?f=Buffer.alloc(i*a*4):f=new Uint16Array(i*a*4);let g=Math.pow(2,A)-1,m=0,E,b;if(u)E=tm.getImagePasses(i,a),b=tm.getInterlaceIterator(i,a);else{let y=0;b=function(){let Q=y;return y+=4,Q},E=[{width:i,height:a}]}for(let y=0;y<E.length;y++)A===8?m=EI(E[y],f,b,l,r,m):wI(E[y],f,b,l,p,g);if(A===8){if(m!==r.length)throw new Error("extra data found")}else p.end();return f}});var bl=ae((nk,im)=>{"use strict";function yI(r,e,i,a,A){let l=0;for(let u=0;u<a;u++)for(let p=0;p<i;p++){let f=A[r[l]];if(!f)throw new Error("index "+r[l]+" not in palette");for(let g=0;g<4;g++)e[l+g]=f[g];l+=4}}function CI(r,e,i,a,A){let l=0;for(let u=0;u<a;u++)for(let p=0;p<i;p++){let f=!1;if(A.length===1?A[0]===r[l]&&(f=!0):A[0]===r[l]&&A[1]===r[l+1]&&A[2]===r[l+2]&&(f=!0),f)for(let g=0;g<4;g++)e[l+g]=0;l+=4}}function bI(r,e,i,a,A){let l=255,u=Math.pow(2,A)-1,p=0;for(let f=0;f<a;f++)for(let g=0;g<i;g++){for(let m=0;m<4;m++)e[p+m]=Math.floor(r[p+m]*l/u+.5);p+=4}}im.exports=function(r,e,i=!1){let a=e.depth,A=e.width,l=e.height,u=e.colorType,p=e.transColor,f=e.palette,g=r;return u===3?yI(r,g,A,l,f):(p&&CI(r,g,A,l,p),a!==8&&!i&&(a===16&&(g=Buffer.alloc(A*l*4)),bI(r,g,A,l,a))),g}});var am=ae((sk,sm)=>{"use strict";var xI=We("util"),xl=We("zlib"),nm=pl(),QI=qg(),vI=yl(),II=Cl(),FI=bl(),vr=sm.exports=function(r){nm.call(this),this._parser=new vI(r,{read:this.read.bind(this),error:this._handleError.bind(this),metadata:this._handleMetaData.bind(this),gamma:this.emit.bind(this,"gamma"),palette:this._handlePalette.bind(this),transColor:this._handleTransColor.bind(this),finished:this._finished.bind(this),inflateData:this._inflateData.bind(this),simpleTransparency:this._simpleTransparency.bind(this),headersFinished:this._headersFinished.bind(this)}),this._options=r,this.writable=!0,this._parser.start()};xI.inherits(vr,nm);vr.prototype._handleError=function(r){this.emit("error",r),this.writable=!1,this.destroy(),this._inflate&&this._inflate.destroy&&this._inflate.destroy(),this._filter&&(this._filter.destroy(),this._filter.on("error",function(){})),this.errord=!0};vr.prototype._inflateData=function(r){if(!this._inflate)if(this._bitmapInfo.interlace)this._inflate=xl.createInflate(),this._inflate.on("error",this.emit.bind(this,"error")),this._filter.on("complete",this._complete.bind(this)),this._inflate.pipe(this._filter);else{let i=((this._bitmapInfo.width*this._bitmapInfo.bpp*this._bitmapInfo.depth+7>>3)+1)*this._bitmapInfo.height,a=Math.max(i,xl.Z_MIN_CHUNK);this._inflate=xl.createInflate({chunkSize:a});let A=i,l=this.emit.bind(this,"error");this._inflate.on("error",function(p){A&&l(p)}),this._filter.on("complete",this._complete.bind(this));let u=this._filter.write.bind(this._filter);this._inflate.on("data",function(p){A&&(p.length>A&&(p=p.slice(0,A)),A-=p.length,u(p))}),this._inflate.on("end",this._filter.end.bind(this._filter))}this._inflate.write(r)};vr.prototype._handleMetaData=function(r){this._metaData=r,this._bitmapInfo=Object.create(r),this._filter=new QI(this._bitmapInfo)};vr.prototype._handleTransColor=function(r){this._bitmapInfo.transColor=r};vr.prototype._handlePalette=function(r){this._bitmapInfo.palette=r};vr.prototype._simpleTransparency=function(){this._metaData.alpha=!0};vr.prototype._headersFinished=function(){this.emit("metadata",this._metaData)};vr.prototype._finished=function(){this.errord||(this._inflate?this._inflate.end():this.emit("error","No Inflate block"))};vr.prototype._complete=function(r){if(this.errord)return;let e;try{let i=II.dataToBitMap(r,this._bitmapInfo);e=FI(i,this._bitmapInfo,this._options.skipRescale),i=null}catch(i){this._handleError(i);return}this.emit("parsed",e)}});var Am=ae((ak,om)=>{"use strict";var er=sn();om.exports=function(r,e,i,a){let A=[er.COLORTYPE_COLOR_ALPHA,er.COLORTYPE_ALPHA].indexOf(a.colorType)!==-1;if(a.colorType===a.inputColorType){let Q=(function(){let v=new ArrayBuffer(2);return new DataView(v).setInt16(0,256,!0),new Int16Array(v)[0]!==256})();if(a.bitDepth===8||a.bitDepth===16&&Q)return r}let l=a.bitDepth!==16?r:new Uint16Array(r.buffer),u=255,p=er.COLORTYPE_TO_BPP_MAP[a.inputColorType];p===4&&!a.inputHasAlpha&&(p=3);let f=er.COLORTYPE_TO_BPP_MAP[a.colorType];a.bitDepth===16&&(u=65535,f*=2);let g=Buffer.alloc(e*i*f),m=0,E=0,b=a.bgColor||{};b.red===void 0&&(b.red=u),b.green===void 0&&(b.green=u),b.blue===void 0&&(b.blue=u);function y(){let Q,v,I,F=u;switch(a.inputColorType){case er.COLORTYPE_COLOR_ALPHA:F=l[m+3],Q=l[m],v=l[m+1],I=l[m+2];break;case er.COLORTYPE_COLOR:Q=l[m],v=l[m+1],I=l[m+2];break;case er.COLORTYPE_ALPHA:F=l[m+1],Q=l[m],v=Q,I=Q;break;case er.COLORTYPE_GRAYSCALE:Q=l[m],v=Q,I=Q;break;default:throw new Error("input color type:"+a.inputColorType+" is not supported at present")}return a.inputHasAlpha&&(A||(F/=u,Q=Math.min(Math.max(Math.round((1-F)*b.red+F*Q),0),u),v=Math.min(Math.max(Math.round((1-F)*b.green+F*v),0),u),I=Math.min(Math.max(Math.round((1-F)*b.blue+F*I),0),u))),{red:Q,green:v,blue:I,alpha:F}}for(let Q=0;Q<i;Q++)for(let v=0;v<e;v++){let I=y(l,m);switch(a.colorType){case er.COLORTYPE_COLOR_ALPHA:case er.COLORTYPE_COLOR:a.bitDepth===8?(g[E]=I.red,g[E+1]=I.green,g[E+2]=I.blue,A&&(g[E+3]=I.alpha)):(g.writeUInt16BE(I.red,E),g.writeUInt16BE(I.green,E+2),g.writeUInt16BE(I.blue,E+4),A&&g.writeUInt16BE(I.alpha,E+6));break;case er.COLORTYPE_ALPHA:case er.COLORTYPE_GRAYSCALE:{let F=(I.red+I.green+I.blue)/3;a.bitDepth===8?(g[E]=F,A&&(g[E+1]=I.alpha)):(g.writeUInt16BE(F,E),A&&g.writeUInt16BE(I.alpha,E+2));break}default:throw new Error("unrecognised color Type "+a.colorType)}m+=p,E+=f}return g}});var um=ae((ok,cm)=>{"use strict";var lm=gl();function TI(r,e,i,a,A){for(let l=0;l<i;l++)a[A+l]=r[e+l]}function SI(r,e,i){let a=0,A=e+i;for(let l=e;l<A;l++)a+=Math.abs(r[l]);return a}function DI(r,e,i,a,A,l){for(let u=0;u<i;u++){let p=u>=l?r[e+u-l]:0,f=r[e+u]-p;a[A+u]=f}}function MI(r,e,i,a){let A=0;for(let l=0;l<i;l++){let u=l>=a?r[e+l-a]:0,p=r[e+l]-u;A+=Math.abs(p)}return A}function UI(r,e,i,a,A){for(let l=0;l<i;l++){let u=e>0?r[e+l-i]:0,p=r[e+l]-u;a[A+l]=p}}function NI(r,e,i){let a=0,A=e+i;for(let l=e;l<A;l++){let u=e>0?r[l-i]:0,p=r[l]-u;a+=Math.abs(p)}return a}function kI(r,e,i,a,A,l){for(let u=0;u<i;u++){let p=u>=l?r[e+u-l]:0,f=e>0?r[e+u-i]:0,g=r[e+u]-(p+f>>1);a[A+u]=g}}function YI(r,e,i,a){let A=0;for(let l=0;l<i;l++){let u=l>=a?r[e+l-a]:0,p=e>0?r[e+l-i]:0,f=r[e+l]-(u+p>>1);A+=Math.abs(f)}return A}function OI(r,e,i,a,A,l){for(let u=0;u<i;u++){let p=u>=l?r[e+u-l]:0,f=e>0?r[e+u-i]:0,g=e>0&&u>=l?r[e+u-(i+l)]:0,m=r[e+u]-lm(p,f,g);a[A+u]=m}}function RI(r,e,i,a){let A=0;for(let l=0;l<i;l++){let u=l>=a?r[e+l-a]:0,p=e>0?r[e+l-i]:0,f=e>0&&l>=a?r[e+l-(i+a)]:0,g=r[e+l]-lm(u,p,f);A+=Math.abs(g)}return A}var GI={0:TI,1:DI,2:UI,3:kI,4:OI},LI={0:SI,1:MI,2:NI,3:YI,4:RI};cm.exports=function(r,e,i,a,A){let l;if(!("filterType"in a)||a.filterType===-1)l=[0,1,2,3,4];else if(typeof a.filterType=="number")l=[a.filterType];else throw new Error("unrecognised filter types");a.bitDepth===16&&(A*=2);let u=e*A,p=0,f=0,g=Buffer.alloc((u+1)*i),m=l[0];for(let E=0;E<i;E++){if(l.length>1){let b=1/0;for(let y=0;y<l.length;y++){let Q=LI[l[y]](r,f,u,A);Q<b&&(m=l[y],b=Q)}}g[p]=m,p++,GI[m](r,f,u,g,p,A),p+=u,f+=u}return g}});var Ql=ae((Ak,hm)=>{"use strict";var Ft=sn(),PI=wl(),HI=Am(),WI=um(),JI=We("zlib"),ai=hm.exports=function(r){if(this._options=r,r.deflateChunkSize=r.deflateChunkSize||32*1024,r.deflateLevel=r.deflateLevel!=null?r.deflateLevel:9,r.deflateStrategy=r.deflateStrategy!=null?r.deflateStrategy:3,r.inputHasAlpha=r.inputHasAlpha!=null?r.inputHasAlpha:!0,r.deflateFactory=r.deflateFactory||JI.createDeflate,r.bitDepth=r.bitDepth||8,r.colorType=typeof r.colorType=="number"?r.colorType:Ft.COLORTYPE_COLOR_ALPHA,r.inputColorType=typeof r.inputColorType=="number"?r.inputColorType:Ft.COLORTYPE_COLOR_ALPHA,[Ft.COLORTYPE_GRAYSCALE,Ft.COLORTYPE_COLOR,Ft.COLORTYPE_COLOR_ALPHA,Ft.COLORTYPE_ALPHA].indexOf(r.colorType)===-1)throw new Error("option color type:"+r.colorType+" is not supported at present");if([Ft.COLORTYPE_GRAYSCALE,Ft.COLORTYPE_COLOR,Ft.COLORTYPE_COLOR_ALPHA,Ft.COLORTYPE_ALPHA].indexOf(r.inputColorType)===-1)throw new Error("option input color type:"+r.inputColorType+" is not supported at present");if(r.bitDepth!==8&&r.bitDepth!==16)throw new Error("option bit depth:"+r.bitDepth+" is not supported at present")};ai.prototype.getDeflateOptions=function(){return{chunkSize:this._options.deflateChunkSize,level:this._options.deflateLevel,strategy:this._options.deflateStrategy}};ai.prototype.createDeflate=function(){return this._options.deflateFactory(this.getDeflateOptions())};ai.prototype.filterData=function(r,e,i){let a=HI(r,e,i,this._options),A=Ft.COLORTYPE_TO_BPP_MAP[this._options.colorType];return WI(a,e,i,this._options,A)};ai.prototype._packChunk=function(r,e){let i=e?e.length:0,a=Buffer.alloc(i+12);return a.writeUInt32BE(i,0),a.writeUInt32BE(r,4),e&&e.copy(a,8),a.writeInt32BE(PI.crc32(a.slice(4,a.length-4)),a.length-4),a};ai.prototype.packGAMA=function(r){let e=Buffer.alloc(4);return e.writeUInt32BE(Math.floor(r*Ft.GAMMA_DIVISION),0),this._packChunk(Ft.TYPE_gAMA,e)};ai.prototype.packIHDR=function(r,e){let i=Buffer.alloc(13);return i.writeUInt32BE(r,0),i.writeUInt32BE(e,4),i[8]=this._options.bitDepth,i[9]=this._options.colorType,i[10]=0,i[11]=0,i[12]=0,this._packChunk(Ft.TYPE_IHDR,i)};ai.prototype.packIDAT=function(r){return this._packChunk(Ft.TYPE_IDAT,r)};ai.prototype.packIEND=function(){return this._packChunk(Ft.TYPE_IEND,null)}});var gm=ae((lk,dm)=>{"use strict";var VI=We("util"),pm=We("stream"),jI=sn(),_I=Ql(),fm=dm.exports=function(r){pm.call(this);let e=r||{};this._packer=new _I(e),this._deflate=this._packer.createDeflate(),this.readable=!0};VI.inherits(fm,pm);fm.prototype.pack=function(r,e,i,a){this.emit("data",Buffer.from(jI.PNG_SIGNATURE)),this.emit("data",this._packer.packIHDR(e,i)),a&&this.emit("data",this._packer.packGAMA(a));let A=this._packer.filterData(r,e,i);this._deflate.on("error",this.emit.bind(this,"error")),this._deflate.on("data",function(l){this.emit("data",this._packer.packIDAT(l))}.bind(this)),this._deflate.on("end",function(){this.emit("data",this._packer.packIEND()),this.emit("end")}.bind(this)),this._deflate.end(A)}});var Cm=ae((Kn,ym)=>{"use strict";var mm=We("assert").ok,an=We("zlib"),ZI=We("util"),Bm=We("buffer").kMaxLength;function vi(r){if(!(this instanceof vi))return new vi(r);r&&r.chunkSize<an.Z_MIN_CHUNK&&(r.chunkSize=an.Z_MIN_CHUNK),an.Inflate.call(this,r),this._offset=this._offset===void 0?this._outOffset:this._offset,this._buffer=this._buffer||this._outBuffer,r&&r.maxLength!=null&&(this._maxLength=r.maxLength)}function zI(r){return new vi(r)}function Em(r,e){e&&process.nextTick(e),r._handle&&(r._handle.close(),r._handle=null)}vi.prototype._processChunk=function(r,e,i){if(typeof i=="function")return an.Inflate._processChunk.call(this,r,e,i);let a=this,A=r&&r.length,l=this._chunkSize-this._offset,u=this._maxLength,p=0,f=[],g=0,m;this.on("error",function(Q){m=Q});function E(Q,v){if(a._hadError)return;let I=l-v;if(mm(I>=0,"have should not go down"),I>0){let F=a._buffer.slice(a._offset,a._offset+I);if(a._offset+=I,F.length>u&&(F=F.slice(0,u)),f.push(F),g+=F.length,u-=F.length,u===0)return!1}return(v===0||a._offset>=a._chunkSize)&&(l=a._chunkSize,a._offset=0,a._buffer=Buffer.allocUnsafe(a._chunkSize)),v===0?(p+=A-Q,A=Q,!0):!1}mm(this._handle,"zlib binding closed");let b;do b=this._handle.writeSync(e,r,p,A,this._buffer,this._offset,l),b=b||this._writeState;while(!this._hadError&&E(b[0],b[1]));if(this._hadError)throw m;if(g>=Bm)throw Em(this),new RangeError("Cannot create final Buffer. It would be larger than 0x"+Bm.toString(16)+" bytes");let y=Buffer.concat(f,g);return Em(this),y};ZI.inherits(vi,an.Inflate);function XI(r,e){if(typeof e=="string"&&(e=Buffer.from(e)),!(e instanceof Buffer))throw new TypeError("Not a string or buffer");let i=r._finishFlushFlag;return i==null&&(i=an.Z_FINISH),r._processChunk(e,i)}function wm(r,e){return XI(new vi(e),r)}ym.exports=Kn=wm;Kn.Inflate=vi;Kn.createInflate=zI;Kn.inflateSync=wm});var vl=ae((ck,xm)=>{"use strict";var bm=xm.exports=function(r){this._buffer=r,this._reads=[]};bm.prototype.read=function(r,e){this._reads.push({length:Math.abs(r),allowLess:r<0,func:e})};bm.prototype.process=function(){for(;this._reads.length>0&&this._buffer.length;){let r=this._reads[0];if(this._buffer.length&&(this._buffer.length>=r.length||r.allowLess)){this._reads.shift();let e=this._buffer;this._buffer=e.slice(r.length),r.func.call(this,e.slice(0,r.length))}else break}if(this._reads.length>0)throw new Error("There are some read requests waitng on finished stream");if(this._buffer.length>0)throw new Error("unrecognised content at end of stream")}});var vm=ae(Qm=>{"use strict";var qI=vl(),KI=ml();Qm.process=function(r,e){let i=[],a=new qI(r);return new KI(e,{read:a.read.bind(a),write:function(l){i.push(l)},complete:function(){}}).start(),a.process(),Buffer.concat(i)}});var Sm=ae((hk,Tm)=>{"use strict";var Im=!0,Fm=We("zlib"),$I=Cm();Fm.deflateSync||(Im=!1);var eF=vl(),tF=vm(),rF=yl(),iF=Cl(),nF=bl();Tm.exports=function(r,e){if(!Im)throw new Error("To use the sync capability of this library in old node versions, please pin pngjs to v2.3.0");let i;function a(M){i=M}let A;function l(M){A=M}function u(M){A.transColor=M}function p(M){A.palette=M}function f(){A.alpha=!0}let g;function m(M){g=M}let E=[];function b(M){E.push(M)}let y=new eF(r);if(new rF(e,{read:y.read.bind(y),error:a,metadata:l,gamma:m,palette:p,transColor:u,inflateData:b,simpleTransparency:f}).start(),y.process(),i)throw i;let v=Buffer.concat(E);E.length=0;let I;if(A.interlace)I=Fm.inflateSync(v);else{let Y=((A.width*A.bpp*A.depth+7>>3)+1)*A.height;I=$I(v,{chunkSize:Y,maxLength:Y})}if(v=null,!I||!I.length)throw new Error("bad png - invalid inflate data response");let F=tF.process(I,A);v=null;let N=iF.dataToBitMap(F,A);F=null;let _=nF(N,A,e.skipRescale);return A.data=_,A.gamma=g||0,A}});var Nm=ae((pk,Um)=>{"use strict";var Dm=!0,Mm=We("zlib");Mm.deflateSync||(Dm=!1);var sF=sn(),aF=Ql();Um.exports=function(r,e){if(!Dm)throw new Error("To use the sync capability of this library in old node versions, please pin pngjs to v2.3.0");let i=e||{},a=new aF(i),A=[];A.push(Buffer.from(sF.PNG_SIGNATURE)),A.push(a.packIHDR(r.width,r.height)),r.gamma&&A.push(a.packGAMA(r.gamma));let l=a.filterData(r.data,r.width,r.height),u=Mm.deflateSync(l,a.getDeflateOptions());if(l=null,!u||!u.length)throw new Error("bad png - invalid compressed data response");return A.push(a.packIDAT(u)),A.push(a.packIEND()),Buffer.concat(A)}});var km=ae(Il=>{"use strict";var oF=Sm(),AF=Nm();Il.read=function(r,e){return oF(r,e||{})};Il.write=function(r,e){return AF(r,e)}});var Rm=ae(Om=>{"use strict";var lF=We("util"),Ym=We("stream"),cF=am(),uF=gm(),hF=km(),Yt=Om.PNG=function(r){Ym.call(this),r=r||{},this.width=r.width|0,this.height=r.height|0,this.data=this.width>0&&this.height>0?Buffer.alloc(4*this.width*this.height):null,r.fill&&this.data&&this.data.fill(0),this.gamma=0,this.readable=this.writable=!0,this._parser=new cF(r),this._parser.on("error",this.emit.bind(this,"error")),this._parser.on("close",this._handleClose.bind(this)),this._parser.on("metadata",this._metadata.bind(this)),this._parser.on("gamma",this._gamma.bind(this)),this._parser.on("parsed",function(e){this.data=e,this.emit("parsed",e)}.bind(this)),this._packer=new uF(r),this._packer.on("data",this.emit.bind(this,"data")),this._packer.on("end",this.emit.bind(this,"end")),this._parser.on("close",this._handleClose.bind(this)),this._packer.on("error",this.emit.bind(this,"error"))};lF.inherits(Yt,Ym);Yt.sync=hF;Yt.prototype.pack=function(){return!this.data||!this.data.length?(this.emit("error","No data provided"),this):(process.nextTick(function(){this._packer.pack(this.data,this.width,this.height,this.gamma)}.bind(this)),this)};Yt.prototype.parse=function(r,e){if(e){let i,a;i=function(A){this.removeListener("error",a),this.data=A,e(null,this)}.bind(this),a=function(A){this.removeListener("parsed",i),e(A,null)}.bind(this),this.once("parsed",i),this.once("error",a)}return this.end(r),this};Yt.prototype.write=function(r){return this._parser.write(r),!0};Yt.prototype.end=function(r){this._parser.end(r)};Yt.prototype._metadata=function(r){this.width=r.width,this.height=r.height,this.emit("metadata",r)};Yt.prototype._gamma=function(r){this.gamma=r};Yt.prototype._handleClose=function(){!this._parser.writable&&!this._packer.readable&&this.emit("close")};Yt.bitblt=function(r,e,i,a,A,l,u,p){if(i|=0,a|=0,A|=0,l|=0,u|=0,p|=0,i>r.width||a>r.height||i+A>r.width||a+l>r.height)throw new Error("bitblt reading outside image");if(u>e.width||p>e.height||u+A>e.width||p+l>e.height)throw new Error("bitblt writing outside image");for(let f=0;f<l;f++)r.data.copy(e.data,(p+f)*e.width+u<<2,(a+f)*r.width+i<<2,(a+f)*r.width+i+A<<2)};Yt.prototype.bitblt=function(r,e,i,a,A,l,u){return Yt.bitblt(this,r,e,i,a,A,l,u),this};Yt.adjustGamma=function(r){if(r.gamma){for(let e=0;e<r.height;e++)for(let i=0;i<r.width;i++){let a=r.width*e+i<<2;for(let A=0;A<3;A++){let l=r.data[a+A]/255;l=Math.pow(l,1/2.2/r.gamma),r.data[a+A]=Math.round(l*255)}}r.gamma=0}};Yt.prototype.adjustGamma=function(){Yt.adjustGamma(this)}});var b0=ae((gk,C0)=>{var pF=Object.create,Ca=Object.defineProperty,fF=Object.getOwnPropertyDescriptor,dF=Object.getOwnPropertyNames,gF=Object.getPrototypeOf,mF=Object.prototype.hasOwnProperty,Ge=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),BF=(r,e)=>{for(var i in e)Ca(r,i,{get:e[i],enumerable:!0})},Jm=(r,e,i,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let A of dF(e))!mF.call(r,A)&&A!==i&&Ca(r,A,{get:()=>e[A],enumerable:!(a=fF(e,A))||a.enumerable});return r},Yl=(r,e,i)=>(i=r!=null?pF(gF(r)):{},Jm(e||!r||!r.__esModule?Ca(i,"default",{value:r,enumerable:!0}):i,r)),EF=r=>Jm(Ca({},"__esModule",{value:!0}),r),ba=Ge(r=>{"use strict";var e=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","266 ff","onedotenleader","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall","001.000","001.001","001.002","001.003","Black","Bold","Book","Light","Medium","Regular","Roman","Semibold"],i=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","","endash","dagger","daggerdbl","periodcentered","","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","","questiondown","","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","","ring","cedilla","","hungarumlaut","ogonek","caron","emdash","","","","","","","","","","","","","","","","","AE","","ordfeminine","","","","","Lslash","Oslash","OE","ordmasculine","","","","","","ae","","","","dotlessi","","","lslash","oslash","oe","germandbls"],a=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","","asuperior","bsuperior","centsuperior","dsuperior","esuperior","","","isuperior","","","lsuperior","msuperior","nsuperior","osuperior","","","rsuperior","ssuperior","tsuperior","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdownsmall","centoldstyle","Lslashsmall","","","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","","Dotaccentsmall","","","Macronsmall","","","figuredash","hypheninferior","","","Ogoneksmall","Ringsmall","Cedillasmall","","","","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],A=[".notdef",".null","nonmarkingreturn","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","nonbreakingspace","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron","Lslash","lslash","Scaron","scaron","Zcaron","zcaron","brokenbar","Eth","eth","Yacute","yacute","Thorn","thorn","minus","multiply","onesuperior","twosuperior","threesuperior","onehalf","onequarter","threequarters","franc","Gbreve","gbreve","Idotaccent","Scedilla","scedilla","Cacute","cacute","Ccaron","ccaron","dcroat"];function l(m){this.font=m}l.prototype.charToGlyphIndex=function(m){var E=m.charCodeAt(0),b=this.font.glyphs;if(b){for(var y=0;y<b.length;y+=1)for(var Q=b.get(y),v=0;v<Q.unicodes.length;v+=1)if(Q.unicodes[v]===E)return y}else return null};function u(m){this.cmap=m}u.prototype.charToGlyphIndex=function(m){return this.cmap.glyphIndexMap[m.charCodeAt(0)]||0};function p(m,E){this.encoding=m,this.charset=E}p.prototype.charToGlyphIndex=function(m){var E=m.charCodeAt(0),b=this.encoding[E];return this.charset.indexOf(b)};function f(m){var E;switch(m.version){case 1:this.names=r.standardNames.slice();break;case 2:for(this.names=new Array(m.numberOfGlyphs),E=0;E<m.numberOfGlyphs;E++)m.glyphNameIndex[E]<r.standardNames.length?this.names[E]=r.standardNames[m.glyphNameIndex[E]]:this.names[E]=m.names[m.glyphNameIndex[E]-r.standardNames.length];break;case 2.5:for(this.names=new Array(m.numberOfGlyphs),E=0;E<m.numberOfGlyphs;E++)this.names[E]=r.standardNames[E+m.glyphNameIndex[E]];break;case 3:this.names=[];break}}f.prototype.nameToGlyphIndex=function(m){return this.names.indexOf(m)},f.prototype.glyphIndexToName=function(m){return this.names[m]};function g(m){for(var E,b=m.tables.cmap.glyphIndexMap,y=Object.keys(b),Q=0;Q<y.length;Q+=1){var v=y[Q],I=b[v];E=m.glyphs.get(I),E.addUnicode(parseInt(v))}for(Q=0;Q<m.glyphs.length;Q+=1)E=m.glyphs.get(Q),m.cffEncoding?E.name=m.cffEncoding.charset[Q]:E.name=m.glyphNames.glyphIndexToName(Q)}r.cffStandardStrings=e,r.cffStandardEncoding=i,r.cffExpertEncoding=a,r.standardNames=A,r.DefaultEncoding=l,r.CmapEncoding=u,r.CffEncoding=p,r.GlyphNames=f,r.addGlyphNames=g}),es=Ge(r=>{"use strict";function e(){this.commands=[],this.fill="black",this.stroke=null,this.strokeWidth=1}e.prototype.moveTo=function(i,a){this.commands.push({type:"M",x:i,y:a})},e.prototype.lineTo=function(i,a){this.commands.push({type:"L",x:i,y:a})},e.prototype.curveTo=e.prototype.bezierCurveTo=function(i,a,A,l,u,p){this.commands.push({type:"C",x1:i,y1:a,x2:A,y2:l,x:u,y:p})},e.prototype.quadTo=e.prototype.quadraticCurveTo=function(i,a,A,l){this.commands.push({type:"Q",x1:i,y1:a,x:A,y:l})},e.prototype.close=e.prototype.closePath=function(){this.commands.push({type:"Z"})},e.prototype.extend=function(i){i.commands&&(i=i.commands),Array.prototype.push.apply(this.commands,i)},e.prototype.draw=function(i){i.beginPath();for(var a=0;a<this.commands.length;a+=1){var A=this.commands[a];A.type==="M"?i.moveTo(A.x,A.y):A.type==="L"?i.lineTo(A.x,A.y):A.type==="C"?i.bezierCurveTo(A.x1,A.y1,A.x2,A.y2,A.x,A.y):A.type==="Q"?i.quadraticCurveTo(A.x1,A.y1,A.x,A.y):A.type==="Z"&&i.closePath()}this.fill&&(i.fillStyle=this.fill,i.fill()),this.stroke&&(i.strokeStyle=this.stroke,i.lineWidth=this.strokeWidth,i.stroke())},e.prototype.toPathData=function(i){i=i!==void 0?i:2;function a(f){return Math.round(f)===f?""+Math.round(f):f.toFixed(i)}function A(){for(var f="",g=0;g<arguments.length;g+=1){var m=arguments[g];m>=0&&g>0&&(f+=" "),f+=a(m)}return f}for(var l="",u=0;u<this.commands.length;u+=1){var p=this.commands[u];p.type==="M"?l+="M"+A(p.x,p.y):p.type==="L"?l+="L"+A(p.x,p.y):p.type==="C"?l+="C"+A(p.x1,p.y1,p.x2,p.y2,p.x,p.y):p.type==="Q"?l+="Q"+A(p.x1,p.y1,p.x,p.y):p.type==="Z"&&(l+="Z")}return l},e.prototype.toSVG=function(i){var a='<path d="';return a+=this.toPathData(i),a+='"',this.fill&this.fill!=="black"&&(this.fill===null?a+=' fill="none"':a+=' fill="'+this.fill+'"'),this.stroke&&(a+=' stroke="'+this.stroke+'" stroke-width="'+this.strokeWidth+'"'),a+="/>",a},r.Path=e}),ur=Ge(r=>{"use strict";r.argument=function(e,i){if(!e)throw new Error(i)},r.assert=r.argument}),Dl=Ge(r=>{"use strict";var e=ur(),i=32768,a=2147483648,A={},l={},u={};function p(y){return function(){return y}}l.BYTE=function(y){return e.argument(y>=0&&y<=255,"Byte value should be between 0 and 255."),[y]},u.BYTE=p(1),l.CHAR=function(y){return[y.charCodeAt(0)]},u.CHAR=p(1),l.CHARARRAY=function(y){for(var Q=[],v=0;v<y.length;v+=1)Q.push(y.charCodeAt(v));return Q},u.CHARARRAY=function(y){return y.length},l.USHORT=function(y){return[y>>8&255,y&255]},u.USHORT=p(2),l.SHORT=function(y){return y>=i&&(y=-(2*i-y)),[y>>8&255,y&255]},u.SHORT=p(2),l.UINT24=function(y){return[y>>16&255,y>>8&255,y&255]},u.UINT24=p(3),l.ULONG=function(y){return[y>>24&255,y>>16&255,y>>8&255,y&255]},u.ULONG=p(4),l.LONG=function(y){return y>=a&&(y=-(2*a-y)),[y>>24&255,y>>16&255,y>>8&255,y&255]},u.LONG=p(4),l.FIXED=l.ULONG,u.FIXED=u.ULONG,l.FWORD=l.SHORT,u.FWORD=u.SHORT,l.UFWORD=l.USHORT,u.UFWORD=u.USHORT,l.LONGDATETIME=function(){return[0,0,0,0,0,0,0,0]},u.LONGDATETIME=p(8),l.TAG=function(y){return e.argument(y.length===4,"Tag should be exactly 4 ASCII characters."),[y.charCodeAt(0),y.charCodeAt(1),y.charCodeAt(2),y.charCodeAt(3)]},u.TAG=p(4),l.Card8=l.BYTE,u.Card8=u.BYTE,l.Card16=l.USHORT,u.Card16=u.USHORT,l.OffSize=l.BYTE,u.OffSize=u.BYTE,l.SID=l.USHORT,u.SID=u.USHORT,l.NUMBER=function(y){return y>=-107&&y<=107?[y+139]:y>=108&&y<=1131?(y=y-108,[(y>>8)+247,y&255]):y>=-1131&&y<=-108?(y=-y-108,[(y>>8)+251,y&255]):y>=-32768&&y<=32767?l.NUMBER16(y):l.NUMBER32(y)},u.NUMBER=function(y){return l.NUMBER(y).length},l.NUMBER16=function(y){return[28,y>>8&255,y&255]},u.NUMBER16=p(3),l.NUMBER32=function(y){return[29,y>>24&255,y>>16&255,y>>8&255,y&255]},u.NUMBER32=p(5),l.REAL=function(y){var Q=y.toString(),v=/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/.exec(Q);if(v){var I=parseFloat("1e"+((v[2]?+v[2]:0)+v[1].length));Q=(Math.round(y*I)/I).toString()}var F="",N,_;for(N=0,_=Q.length;N<_;N+=1){var M=Q[N];M==="e"?F+=Q[++N]==="-"?"c":"b":M==="."?F+="a":M==="-"?F+="e":F+=M}F+=F.length&1?"f":"ff";var Y=[30];for(N=0,_=F.length;N<_;N+=2)Y.push(parseInt(F.substr(N,2),16));return Y},u.REAL=function(y){return l.REAL(y).length},l.NAME=l.CHARARRAY,u.NAME=u.CHARARRAY,l.STRING=l.CHARARRAY,u.STRING=u.CHARARRAY,A.UTF16=function(y,Q,v){for(var I=[],F=v/2,N=0;N<F;N++,Q+=2)I[N]=y.getUint16(Q);return String.fromCharCode.apply(null,I)},l.UTF16=function(y){for(var Q=[],v=0;v<y.length;v+=1){var I=y.charCodeAt(v);Q.push(I>>8&255),Q.push(I&255)}return Q},u.UTF16=function(y){return y.length*2};var f={"x-mac-croatian":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\u0160\u2122\xB4\xA8\u2260\u017D\xD8\u221E\xB1\u2264\u2265\u2206\xB5\u2202\u2211\u220F\u0161\u222B\xAA\xBA\u03A9\u017E\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u0106\xAB\u010C\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u0110\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\uF8FF\xA9\u2044\u20AC\u2039\u203A\xC6\xBB\u2013\xB7\u201A\u201E\u2030\xC2\u0107\xC1\u010D\xC8\xCD\xCE\xCF\xCC\xD3\xD4\u0111\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u03C0\xCB\u02DA\xB8\xCA\xE6\u02C7","x-mac-cyrillic":"\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u2020\xB0\u0490\xA3\xA7\u2022\xB6\u0406\xAE\xA9\u2122\u0402\u0452\u2260\u0403\u0453\u221E\xB1\u2264\u2265\u0456\xB5\u0491\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A\u0458\u0405\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\u040B\u045B\u040C\u045C\u0455\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u201E\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E","x-mac-gaelic":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u1E02\xB1\u2264\u2265\u1E03\u010A\u010B\u1E0A\u1E0B\u1E1E\u1E1F\u0120\u0121\u1E40\xE6\xF8\u1E41\u1E56\u1E57\u027C\u0192\u017F\u1E60\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\u1E61\u1E9B\xFF\u0178\u1E6A\u20AC\u2039\u203A\u0176\u0177\u1E6B\xB7\u1EF2\u1EF3\u204A\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\u2663\xD2\xDA\xDB\xD9\u0131\xDD\xFD\u0174\u0175\u1E84\u1E85\u1E80\u1E81\u1E82\u1E83","x-mac-greek":"\xC4\xB9\xB2\xC9\xB3\xD6\xDC\u0385\xE0\xE2\xE4\u0384\xA8\xE7\xE9\xE8\xEA\xEB\xA3\u2122\xEE\xEF\u2022\xBD\u2030\xF4\xF6\xA6\u20AC\xF9\xFB\xFC\u2020\u0393\u0394\u0398\u039B\u039E\u03A0\xDF\xAE\xA9\u03A3\u03AA\xA7\u2260\xB0\xB7\u0391\xB1\u2264\u2265\xA5\u0392\u0395\u0396\u0397\u0399\u039A\u039C\u03A6\u03AB\u03A8\u03A9\u03AC\u039D\xAC\u039F\u03A1\u2248\u03A4\xAB\xBB\u2026\xA0\u03A5\u03A7\u0386\u0388\u0153\u2013\u2015\u201C\u201D\u2018\u2019\xF7\u0389\u038A\u038C\u038E\u03AD\u03AE\u03AF\u03CC\u038F\u03CD\u03B1\u03B2\u03C8\u03B4\u03B5\u03C6\u03B3\u03B7\u03B9\u03BE\u03BA\u03BB\u03BC\u03BD\u03BF\u03C0\u03CE\u03C1\u03C3\u03C4\u03B8\u03C9\u03C2\u03C7\u03C5\u03B6\u03CA\u03CB\u0390\u03B0\xAD","x-mac-icelandic":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\xDD\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\u20AC\xD0\xF0\xDE\xFE\xFD\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7","x-mac-inuit":"\u1403\u1404\u1405\u1406\u140A\u140B\u1431\u1432\u1433\u1434\u1438\u1439\u1449\u144E\u144F\u1450\u1451\u1455\u1456\u1466\u146D\u146E\u146F\u1470\u1472\u1473\u1483\u148B\u148C\u148D\u148E\u1490\u1491\xB0\u14A1\u14A5\u14A6\u2022\xB6\u14A7\xAE\xA9\u2122\u14A8\u14AA\u14AB\u14BB\u14C2\u14C3\u14C4\u14C5\u14C7\u14C8\u14D0\u14EF\u14F0\u14F1\u14F2\u14F4\u14F5\u1505\u14D5\u14D6\u14D7\u14D8\u14DA\u14DB\u14EA\u1528\u1529\u152A\u152B\u152D\u2026\xA0\u152E\u153E\u1555\u1556\u1557\u2013\u2014\u201C\u201D\u2018\u2019\u1558\u1559\u155A\u155D\u1546\u1547\u1548\u1549\u154B\u154C\u1550\u157F\u1580\u1581\u1582\u1583\u1584\u1585\u158F\u1590\u1591\u1592\u1593\u1594\u1595\u1671\u1672\u1673\u1674\u1675\u1676\u1596\u15A0\u15A1\u15A2\u15A3\u15A4\u15A5\u15A6\u157C\u0141\u0142","x-mac-ce":"\xC4\u0100\u0101\xC9\u0104\xD6\xDC\xE1\u0105\u010C\xE4\u010D\u0106\u0107\xE9\u0179\u017A\u010E\xED\u010F\u0112\u0113\u0116\xF3\u0117\xF4\xF6\xF5\xFA\u011A\u011B\xFC\u2020\xB0\u0118\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\u0119\xA8\u2260\u0123\u012E\u012F\u012A\u2264\u2265\u012B\u0136\u2202\u2211\u0142\u013B\u013C\u013D\u013E\u0139\u013A\u0145\u0146\u0143\xAC\u221A\u0144\u0147\u2206\xAB\xBB\u2026\xA0\u0148\u0150\xD5\u0151\u014C\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\u014D\u0154\u0155\u0158\u2039\u203A\u0159\u0156\u0157\u0160\u201A\u201E\u0161\u015A\u015B\xC1\u0164\u0165\xCD\u017D\u017E\u016A\xD3\xD4\u016B\u016E\xDA\u016F\u0170\u0171\u0172\u0173\xDD\xFD\u0137\u017B\u0141\u017C\u0122\u02C7",macintosh:"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\u20AC\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7","x-mac-romanian":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\u0102\u0218\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\u0103\u0219\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\u20AC\u2039\u203A\u021A\u021B\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7","x-mac-turkish":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u011E\u011F\u0130\u0131\u015E\u015F\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\uF8A0\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"};A.MACSTRING=function(y,Q,v,I){var F=f[I];if(F!==void 0){for(var N="",_=0;_<v;_++){var M=y.getUint8(Q+_);M<=127?N+=String.fromCharCode(M):N+=F[M&127]}return N}};var g=typeof WeakMap=="function"&&new WeakMap,m,E=function(y){if(!m){m={};for(var Q in f)m[Q]=new String(Q)}var v=m[y];if(v!==void 0){if(g){var I=g.get(v);if(I!==void 0)return I}var F=f[y];if(F!==void 0){for(var N={},_=0;_<F.length;_++)N[F.charCodeAt(_)]=_+128;return g&&g.set(v,N),N}}};l.MACSTRING=function(y,Q){var v=E(Q);if(v!==void 0){for(var I=[],F=0;F<y.length;F++){var N=y.charCodeAt(F);if(N>=128&&(N=v[N],N===void 0))return;I.push(N)}return I}},u.MACSTRING=function(y,Q){var v=l.MACSTRING(y,Q);return v!==void 0?v.length:0},l.INDEX=function(y){var Q,v=1,I=[v],F=[],N=0;for(Q=0;Q<y.length;Q+=1){var _=l.OBJECT(y[Q]);Array.prototype.push.apply(F,_),N+=_.length,v+=_.length,I.push(v)}if(F.length===0)return[0,0];var M=[],Y=1+Math.floor(Math.log(N)/Math.log(2))/8|0,P=[void 0,l.BYTE,l.USHORT,l.UINT24,l.ULONG][Y];for(Q=0;Q<I.length;Q+=1){var R=P(I[Q]);Array.prototype.push.apply(M,R)}return Array.prototype.concat(l.Card16(y.length),l.OffSize(Y),M,F)},u.INDEX=function(y){return l.INDEX(y).length},l.DICT=function(y){for(var Q=[],v=Object.keys(y),I=v.length,F=0;F<I;F+=1){var N=parseInt(v[F],0),_=y[N];Q=Q.concat(l.OPERAND(_.value,_.type)),Q=Q.concat(l.OPERATOR(N))}return Q},u.DICT=function(y){return l.DICT(y).length},l.OPERATOR=function(y){return y<1200?[y]:[12,y-1200]},l.OPERAND=function(y,Q){var v=[];if(Array.isArray(Q))for(var I=0;I<Q.length;I+=1)e.argument(y.length===Q.length,"Not enough arguments given for type"+Q),v=v.concat(l.OPERAND(y[I],Q[I]));else if(Q==="SID")v=v.concat(l.NUMBER(y));else if(Q==="offset")v=v.concat(l.NUMBER32(y));else if(Q==="number")v=v.concat(l.NUMBER(y));else if(Q==="real")v=v.concat(l.REAL(y));else throw new Error("Unknown operand type "+Q);return v},l.OP=l.BYTE,u.OP=u.BYTE;var b=typeof WeakMap=="function"&&new WeakMap;l.CHARSTRING=function(y){if(b){var Q=b.get(y);if(Q!==void 0)return Q}for(var v=[],I=y.length,F=0;F<I;F+=1){var N=y[F];v=v.concat(l[N.type](N.value))}return b&&b.set(y,v),v},u.CHARSTRING=function(y){return l.CHARSTRING(y).length},l.OBJECT=function(y){var Q=l[y.type];return e.argument(Q!==void 0,"No encoding function for type "+y.type),Q(y.value)},u.OBJECT=function(y){var Q=u[y.type];return e.argument(Q!==void 0,"No sizeOf function for type "+y.type),Q(y.value)},l.TABLE=function(y){for(var Q=[],v=y.fields.length,I=0;I<v;I+=1){var F=y.fields[I],N=l[F.type];e.argument(N!==void 0,"No encoding function for field type "+F.type);var _=y[F.name];_===void 0&&(_=F.value);var M=N(_);Q=Q.concat(M)}return Q},u.TABLE=function(y){for(var Q=0,v=y.fields.length,I=0;I<v;I+=1){var F=y.fields[I],N=u[F.type];e.argument(N!==void 0,"No sizeOf function for field type "+F.type);var _=y[F.name];_===void 0&&(_=F.value),Q+=N(_)}return Q},l.LITERAL=function(y){return y},u.LITERAL=function(y){return y.length},r.decode=A,r.encode=l,r.sizeOf=u}),tr=Ge(r=>{"use strict";var e=ur(),i=Dl().encode,a=Dl().sizeOf;function A(l,u,p){var f;for(f=0;f<u.length;f+=1){var g=u[f];this[g.name]=g.value}if(this.tableName=l,this.fields=u,p){var m=Object.keys(p);for(f=0;f<m.length;f+=1){var E=m[f],b=p[E];this[E]!==void 0&&(this[E]=b)}}}A.prototype.sizeOf=function(){for(var l=0,u=0;u<this.fields.length;u+=1){var p=this.fields[u],f=this[p.name];if(f===void 0&&(f=p.value),typeof f.sizeOf=="function")l+=f.sizeOf();else{var g=a[p.type];e.assert(typeof g=="function","Could not find sizeOf function for field"+p.name),l+=g(f)}}return l},A.prototype.encode=function(){return i.TABLE(this)},r.Table=A}),Tt=Ge(r=>{"use strict";r.getByte=function(a,A){return a.getUint8(A)},r.getCard8=r.getByte,r.getUShort=function(a,A){return a.getUint16(A,!1)},r.getCard16=r.getUShort,r.getShort=function(a,A){return a.getInt16(A,!1)},r.getULong=function(a,A){return a.getUint32(A,!1)},r.getFixed=function(a,A){var l=a.getInt16(A,!1),u=a.getUint16(A+2,!1);return l+u/65535},r.getTag=function(a,A){for(var l="",u=A;u<A+4;u+=1)l+=String.fromCharCode(a.getInt8(u));return l},r.getOffset=function(a,A,l){for(var u=0,p=0;p<l;p+=1)u<<=8,u+=a.getUint8(A+p);return u},r.getBytes=function(a,A,l){for(var u=[],p=A;p<l;p+=1)u.push(a.getUint8(p));return u},r.bytesToString=function(a){for(var A="",l=0;l<a.length;l+=1)A+=String.fromCharCode(a[l]);return A};var e={byte:1,uShort:2,short:2,uLong:4,fixed:4,longDateTime:8,tag:4};function i(a,A){this.data=a,this.offset=A,this.relativeOffset=0}i.prototype.parseByte=function(){var a=this.data.getUint8(this.offset+this.relativeOffset);return this.relativeOffset+=1,a},i.prototype.parseChar=function(){var a=this.data.getInt8(this.offset+this.relativeOffset);return this.relativeOffset+=1,a},i.prototype.parseCard8=i.prototype.parseByte,i.prototype.parseUShort=function(){var a=this.data.getUint16(this.offset+this.relativeOffset);return this.relativeOffset+=2,a},i.prototype.parseCard16=i.prototype.parseUShort,i.prototype.parseSID=i.prototype.parseUShort,i.prototype.parseOffset16=i.prototype.parseUShort,i.prototype.parseShort=function(){var a=this.data.getInt16(this.offset+this.relativeOffset);return this.relativeOffset+=2,a},i.prototype.parseF2Dot14=function(){var a=this.data.getInt16(this.offset+this.relativeOffset)/16384;return this.relativeOffset+=2,a},i.prototype.parseULong=function(){var a=r.getULong(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,a},i.prototype.parseFixed=function(){var a=r.getFixed(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,a},i.prototype.parseOffset16List=i.prototype.parseUShortList=function(a){for(var A=new Array(a),l=this.data,u=this.offset+this.relativeOffset,p=0;p<a;p++)A[p]=r.getUShort(l,u),u+=2;return this.relativeOffset+=a*2,A},i.prototype.parseString=function(a){var A=this.data,l=this.offset+this.relativeOffset,u="";this.relativeOffset+=a;for(var p=0;p<a;p++)u+=String.fromCharCode(A.getUint8(l+p));return u},i.prototype.parseTag=function(){return this.parseString(4)},i.prototype.parseLongDateTime=function(){var a=r.getULong(this.data,this.offset+this.relativeOffset+4);return this.relativeOffset+=8,a},i.prototype.parseFixed=function(){var a=r.getULong(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,a/65536},i.prototype.parseVersion=function(){var a=r.getUShort(this.data,this.offset+this.relativeOffset),A=r.getUShort(this.data,this.offset+this.relativeOffset+2);return this.relativeOffset+=4,a+A/4096/10},i.prototype.skip=function(a,A){A===void 0&&(A=1),this.relativeOffset+=e[a]*A},r.Parser=i}),Vm=Ge(r=>{"use strict";var e=ur(),i=Tt(),a=tr();function A(f,g){var m,E={};E.version=i.getUShort(f,g),e.argument(E.version===0,"cmap table version should be 0."),E.numTables=i.getUShort(f,g+2);var b=-1;for(m=0;m<E.numTables;m+=1){var y=i.getUShort(f,g+4+m*8),Q=i.getUShort(f,g+4+m*8+2);if(y===3&&(Q===1||Q===0)){b=i.getULong(f,g+4+m*8+4);break}}if(b===-1)return null;var v=new i.Parser(f,g+b);E.format=v.parseUShort(),e.argument(E.format===4,"Only format 4 cmap tables are supported."),E.length=v.parseUShort(),E.language=v.parseUShort();var I;E.segCount=I=v.parseUShort()>>1,v.skip("uShort",3),E.glyphIndexMap={};var F=new i.Parser(f,g+b+14),N=new i.Parser(f,g+b+16+I*2),_=new i.Parser(f,g+b+16+I*4),M=new i.Parser(f,g+b+16+I*6),Y=g+b+16+I*8;for(m=0;m<I-1;m+=1)for(var P,R=F.parseUShort(),re=N.parseUShort(),q=_.parseShort(),le=M.parseUShort(),Ae=re;Ae<=R;Ae+=1)le!==0?(Y=M.offset+M.relativeOffset-2,Y+=le,Y+=(Ae-re)*2,P=i.getUShort(f,Y),P!==0&&(P=P+q&65535)):P=Ae+q&65535,E.glyphIndexMap[Ae]=P;return E}function l(f,g,m){f.segments.push({end:g,start:g,delta:-(g-m),offset:0})}function u(f){f.segments.push({end:65535,start:65535,delta:1,offset:0})}function p(f){var g,m=new a.Table("cmap",[{name:"version",type:"USHORT",value:0},{name:"numTables",type:"USHORT",value:1},{name:"platformID",type:"USHORT",value:3},{name:"encodingID",type:"USHORT",value:1},{name:"offset",type:"ULONG",value:12},{name:"format",type:"USHORT",value:4},{name:"length",type:"USHORT",value:0},{name:"language",type:"USHORT",value:0},{name:"segCountX2",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0}]);for(m.segments=[],g=0;g<f.length;g+=1){for(var E=f.get(g),b=0;b<E.unicodes.length;b+=1)l(m,E.unicodes[b],g);m.segments=m.segments.sort(function(M,Y){return M.start-Y.start})}u(m);var y;y=m.segments.length,m.segCountX2=y*2,m.searchRange=Math.pow(2,Math.floor(Math.log(y)/Math.log(2)))*2,m.entrySelector=Math.log(m.searchRange/2)/Math.log(2),m.rangeShift=m.segCountX2-m.searchRange;var Q=[],v=[],I=[],F=[],N=[];for(g=0;g<y;g+=1){var _=m.segments[g];Q=Q.concat({name:"end_"+g,type:"USHORT",value:_.end}),v=v.concat({name:"start_"+g,type:"USHORT",value:_.start}),I=I.concat({name:"idDelta_"+g,type:"SHORT",value:_.delta}),F=F.concat({name:"idRangeOffset_"+g,type:"USHORT",value:_.offset}),_.glyphId!==void 0&&(N=N.concat({name:"glyph_"+g,type:"USHORT",value:_.glyphId}))}return m.fields=m.fields.concat(Q),m.fields.push({name:"reservedPad",type:"USHORT",value:0}),m.fields=m.fields.concat(v),m.fields=m.fields.concat(I),m.fields=m.fields.concat(F),m.fields=m.fields.concat(N),m.length=14+Q.length*2+2+v.length*2+I.length*2+F.length*2+N.length*2,m}r.parse=A,r.make=p}),wF=Ge(r=>{"use strict";function e(i,a,A,l,u){i.beginPath(),i.moveTo(a,A),i.lineTo(l,u),i.stroke()}r.line=e}),jm=Ge(r=>{"use strict";var e=ur(),i=wF(),a=es();function A(u,p){var f=p||{commands:[]};return{configurable:!0,get:function(){return typeof f=="function"&&(f=f()),f},set:function(g){f=g}}}function l(u){this.bindConstructorValues(u)}l.prototype.bindConstructorValues=function(u){this.index=u.index||0,this.name=u.name||null,this.unicode=u.unicode||void 0,this.unicodes=u.unicodes||u.unicode!==void 0?[u.unicode]:[],u.xMin&&(this.xMin=u.xMin),u.yMin&&(this.yMin=u.yMin),u.xMax&&(this.xMax=u.xMax),u.yMax&&(this.yMax=u.yMax),u.advanceWidth&&(this.advanceWidth=u.advanceWidth),Object.defineProperty(this,"path",A(this,u.path))},l.prototype.addUnicode=function(u){this.unicodes.length===0&&(this.unicode=u),this.unicodes.push(u)},l.prototype.getPath=function(u,p,f){u=u!==void 0?u:0,p=p!==void 0?p:0,f=f!==void 0?f:72;for(var g=1/this.path.unitsPerEm*f,m=new a.Path,E=this.path.commands,b=0;b<E.length;b+=1){var y=E[b];y.type==="M"?m.moveTo(u+y.x*g,p+-y.y*g):y.type==="L"?m.lineTo(u+y.x*g,p+-y.y*g):y.type==="Q"?m.quadraticCurveTo(u+y.x1*g,p+-y.y1*g,u+y.x*g,p+-y.y*g):y.type==="C"?m.curveTo(u+y.x1*g,p+-y.y1*g,u+y.x2*g,p+-y.y2*g,u+y.x*g,p+-y.y*g):y.type==="Z"&&m.closePath()}return m},l.prototype.getContours=function(){if(this.points===void 0)return[];for(var u=[],p=[],f=0;f<this.points.length;f+=1){var g=this.points[f];p.push(g),g.lastPointOfContour&&(u.push(p),p=[])}return e.argument(p.length===0,"There are still points left in the current contour."),u},l.prototype.getMetrics=function(){for(var u=this.path.commands,p=[],f=[],g=0;g<u.length;g+=1){var m=u[g];m.type!=="Z"&&(p.push(m.x),f.push(m.y)),(m.type==="Q"||m.type==="C")&&(p.push(m.x1),f.push(m.y1)),m.type==="C"&&(p.push(m.x2),f.push(m.y2))}var E={xMin:Math.min.apply(null,p),yMin:Math.min.apply(null,f),xMax:Math.max.apply(null,p),yMax:Math.max.apply(null,f),leftSideBearing:0};return isFinite(E.xMin)||(E.xMin=0),isFinite(E.xMax)||(E.xMax=this.advanceWidth),isFinite(E.yMin)||(E.yMin=0),isFinite(E.yMax)||(E.yMax=0),E.rightSideBearing=this.advanceWidth-E.leftSideBearing-(E.xMax-E.xMin),E},l.prototype.draw=function(u,p,f,g){this.getPath(p,f,g).draw(u)},l.prototype.drawPoints=function(u,p,f,g){function m(F,N,_,M){var Y=Math.PI*2;u.beginPath();for(var P=0;P<F.length;P+=1)u.moveTo(N+F[P].x*M,_+F[P].y*M),u.arc(N+F[P].x*M,_+F[P].y*M,2,0,Y,!1);u.closePath(),u.fill()}p=p!==void 0?p:0,f=f!==void 0?f:0,g=g!==void 0?g:24;for(var E=1/this.path.unitsPerEm*g,b=[],y=[],Q=this.path,v=0;v<Q.commands.length;v+=1){var I=Q.commands[v];I.x!==void 0&&b.push({x:I.x,y:-I.y}),I.x1!==void 0&&y.push({x:I.x1,y:-I.y1}),I.x2!==void 0&&y.push({x:I.x2,y:-I.y2})}u.fillStyle="blue",m(b,p,f,E),u.fillStyle="red",m(y,p,f,E)},l.prototype.drawMetrics=function(u,p,f,g){var m;p=p!==void 0?p:0,f=f!==void 0?f:0,g=g!==void 0?g:24,m=1/this.path.unitsPerEm*g,u.lineWidth=1,u.strokeStyle="black",i.line(u,p,-1e4,p,1e4),i.line(u,-1e4,f,1e4,f);var E=this.xMin||0,b=this.yMin||0,y=this.xMax||0,Q=this.yMax||0,v=this.advanceWidth||0;u.strokeStyle="blue",i.line(u,p+E*m,-1e4,p+E*m,1e4),i.line(u,p+y*m,-1e4,p+y*m,1e4),i.line(u,-1e4,f+-b*m,1e4,f+-b*m),i.line(u,-1e4,f+-Q*m,1e4,f+-Q*m),u.strokeStyle="green",i.line(u,p+v*m,-1e4,p+v*m,1e4)},r.Glyph=l}),Ol=Ge(r=>{"use strict";var e=jm();function i(u,p){if(this.font=u,this.glyphs={},Array.isArray(p))for(var f=0;f<p.length;f++)this.glyphs[f]=p[f];this.length=p&&p.length||0}i.prototype.get=function(u){return typeof this.glyphs[u]=="function"&&(this.glyphs[u]=this.glyphs[u]()),this.glyphs[u]},i.prototype.push=function(u,p){this.glyphs[u]=p,this.length++};function a(u,p){return new e.Glyph({index:p,font:u})}function A(u,p,f,g,m,E){return function(){var b=new e.Glyph({index:p,font:u});return b.path=function(){f(b,g,m);var y=E(u.glyphs,b);return y.unitsPerEm=u.unitsPerEm,y},b}}function l(u,p,f,g){return function(){var m=new e.Glyph({index:p,font:u});return m.path=function(){var E=f(u,m,g);return E.unitsPerEm=u.unitsPerEm,E},m}}r.GlyphSet=i,r.glyphLoader=a,r.ttfGlyphLoader=A,r.cffGlyphLoader=l}),_m=Ge(r=>{"use strict";var e=ba(),i=Ol(),a=Tt(),A=es(),l=tr();function u(W,O){if(W===O)return!0;if(Array.isArray(W)&&Array.isArray(O)){if(W.length!==O.length)return!1;for(var J=0;J<W.length;J+=1)if(!u(W[J],O[J]))return!1;return!0}else return!1}function p(W,O,J){var X=[],j=[],K=a.getCard16(W,O),G,z,D;if(K!==0){var fe=a.getByte(W,O+2);z=O+(K+1)*fe+2;var ce=O+3;for(G=0;G<K+1;G+=1)X.push(a.getOffset(W,ce,fe)),ce+=fe;D=z+X[K]}else D=O+2;for(G=0;G<X.length-1;G+=1){var Qe=a.getBytes(W,z+X[G],z+X[G+1]);J&&(Qe=J(Qe)),j.push(Qe)}return{objects:j,startOffset:O,endOffset:D}}function f(W){for(var O="",J=15,X=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"];;){var j=W.parseByte(),K=j>>4,G=j&15;if(K===J||(O+=X[K],G===J))break;O+=X[G]}return parseFloat(O)}function g(W,O){var J,X,j,K;if(O===28)return J=W.parseByte(),X=W.parseByte(),J<<8|X;if(O===29)return J=W.parseByte(),X=W.parseByte(),j=W.parseByte(),K=W.parseByte(),J<<24|X<<16|j<<8|K;if(O===30)return f(W);if(O>=32&&O<=246)return O-139;if(O>=247&&O<=250)return J=W.parseByte(),(O-247)*256+J+108;if(O>=251&&O<=254)return J=W.parseByte(),-(O-251)*256-J-108;throw new Error("Invalid b0 "+O)}function m(W){for(var O={},J=0;J<W.length;J+=1){var X=W[J][0],j=W[J][1],K;if(j.length===1?K=j[0]:K=j,O.hasOwnProperty(X))throw new Error("Object "+O+" already has key "+X);O[X]=K}return O}function E(W,O,J){O=O!==void 0?O:0;var X=new a.Parser(W,O),j=[],K=[];for(J=J!==void 0?J:W.length;X.relativeOffset<J;){var G=X.parseByte();G<=21?(G===12&&(G=1200+X.parseByte()),j.push([G,K]),K=[]):K.push(g(X,G))}return m(j)}function b(W,O){return O<=390?O=e.cffStandardStrings[O]:O=W[O-391],O}function y(W,O,J){for(var X={},j=0;j<O.length;j+=1){var K=O[j],G=W[K.op];G===void 0&&(G=K.value!==void 0?K.value:null),K.type==="SID"&&(G=b(J,G)),X[K.name]=G}return X}function Q(W,O){var J={};return J.formatMajor=a.getCard8(W,O),J.formatMinor=a.getCard8(W,O+1),J.size=a.getCard8(W,O+2),J.offsetSize=a.getCard8(W,O+3),J.startOffset=O,J.endOffset=O+4,J}var v=[{name:"version",op:0,type:"SID"},{name:"notice",op:1,type:"SID"},{name:"copyright",op:1200,type:"SID"},{name:"fullName",op:2,type:"SID"},{name:"familyName",op:3,type:"SID"},{name:"weight",op:4,type:"SID"},{name:"isFixedPitch",op:1201,type:"number",value:0},{name:"italicAngle",op:1202,type:"number",value:0},{name:"underlinePosition",op:1203,type:"number",value:-100},{name:"underlineThickness",op:1204,type:"number",value:50},{name:"paintType",op:1205,type:"number",value:0},{name:"charstringType",op:1206,type:"number",value:2},{name:"fontMatrix",op:1207,type:["real","real","real","real","real","real"],value:[.001,0,0,.001,0,0]},{name:"uniqueId",op:13,type:"number"},{name:"fontBBox",op:5,type:["number","number","number","number"],value:[0,0,0,0]},{name:"strokeWidth",op:1208,type:"number",value:0},{name:"xuid",op:14,type:[],value:null},{name:"charset",op:15,type:"offset",value:0},{name:"encoding",op:16,type:"offset",value:0},{name:"charStrings",op:17,type:"offset",value:0},{name:"private",op:18,type:["number","offset"],value:[0,0]}],I=[{name:"subrs",op:19,type:"offset",value:0},{name:"defaultWidthX",op:20,type:"number",value:0},{name:"nominalWidthX",op:21,type:"number",value:0}];function F(W,O){var J=E(W,0,W.byteLength);return y(J,v,O)}function N(W,O,J,X){var j=E(W,O,J);return y(j,I,X)}function _(W,O,J,X){var j,K,G,z=new a.Parser(W,O);J-=1;var D=[".notdef"],fe=z.parseCard8();if(fe===0)for(j=0;j<J;j+=1)K=z.parseSID(),D.push(b(X,K));else if(fe===1)for(;D.length<=J;)for(K=z.parseSID(),G=z.parseCard8(),j=0;j<=G;j+=1)D.push(b(X,K)),K+=1;else if(fe===2)for(;D.length<=J;)for(K=z.parseSID(),G=z.parseCard16(),j=0;j<=G;j+=1)D.push(b(X,K)),K+=1;else throw new Error("Unknown charset format "+fe);return D}function M(W,O,J){var X,j,K={},G=new a.Parser(W,O),z=G.parseCard8();if(z===0){var D=G.parseCard8();for(X=0;X<D;X+=1)j=G.parseCard8(),K[j]=X}else if(z===1){var fe=G.parseCard8();for(j=1,X=0;X<fe;X+=1)for(var ce=G.parseCard8(),Qe=G.parseCard8(),Z=ce;Z<=ce+Qe;Z+=1)K[Z]=j,j+=1}else throw new Error("Unknown encoding format "+z);return new e.CffEncoding(K,J)}function Y(W,O,J){var X,j,K,G,z=new A.Path,D=[],fe=0,ce=!1,Qe=W.defaultWidthX,Z=!1,H=0,ne=0;function Ye(Ze,ze){Z&&z.closePath(),z.moveTo(Ze,ze),Z=!0}function De(){var Ze;Ze=D.length%2!==0,Ze&&!ce&&(Qe=D.shift()+W.nominalWidthX),fe+=D.length>>1,D.length=0,ce=!0}function it(Ze){for(var ze,wt,te,ve,be,ue,Me,He,Le,Oe,de,ge,oe=0;oe<Ze.length;){var ke=Ze[oe];switch(oe+=1,ke){case 1:De();break;case 3:De();break;case 4:D.length>1&&!ce&&(Qe=D.shift()+W.nominalWidthX,ce=!0),ne+=D.pop(),Ye(H,ne);break;case 5:for(;D.length>0;)H+=D.shift(),ne+=D.shift(),z.lineTo(H,ne);break;case 6:for(;D.length>0&&(H+=D.shift(),z.lineTo(H,ne),D.length!==0);)ne+=D.shift(),z.lineTo(H,ne);break;case 7:for(;D.length>0&&(ne+=D.shift(),z.lineTo(H,ne),D.length!==0);)H+=D.shift(),z.lineTo(H,ne);break;case 8:for(;D.length>0;)X=H+D.shift(),j=ne+D.shift(),K=X+D.shift(),G=j+D.shift(),H=K+D.shift(),ne=G+D.shift(),z.curveTo(X,j,K,G,H,ne);break;case 10:be=D.pop()+W.subrsBias,ue=W.subrs[be],ue&&it(ue);break;case 11:return;case 12:switch(ke=Ze[oe],oe+=1,ke){case 35:X=H+D.shift(),j=ne+D.shift(),K=X+D.shift(),G=j+D.shift(),Me=K+D.shift(),He=G+D.shift(),Le=Me+D.shift(),Oe=He+D.shift(),de=Le+D.shift(),ge=Oe+D.shift(),H=de+D.shift(),ne=ge+D.shift(),D.shift(),z.curveTo(X,j,K,G,Me,He),z.curveTo(Le,Oe,de,ge,H,ne);break;case 34:X=H+D.shift(),j=ne,K=X+D.shift(),G=j+D.shift(),Me=K+D.shift(),He=G,Le=Me+D.shift(),Oe=G,de=Le+D.shift(),ge=ne,H=de+D.shift(),z.curveTo(X,j,K,G,Me,He),z.curveTo(Le,Oe,de,ge,H,ne);break;case 36:X=H+D.shift(),j=ne+D.shift(),K=X+D.shift(),G=j+D.shift(),Me=K+D.shift(),He=G,Le=Me+D.shift(),Oe=G,de=Le+D.shift(),ge=Oe+D.shift(),H=de+D.shift(),z.curveTo(X,j,K,G,Me,He),z.curveTo(Le,Oe,de,ge,H,ne);break;case 37:X=H+D.shift(),j=ne+D.shift(),K=X+D.shift(),G=j+D.shift(),Me=K+D.shift(),He=G+D.shift(),Le=Me+D.shift(),Oe=He+D.shift(),de=Le+D.shift(),ge=Oe+D.shift(),Math.abs(de-H)>Math.abs(ge-ne)?H=de+D.shift():ne=ge+D.shift(),z.curveTo(X,j,K,G,Me,He),z.curveTo(Le,Oe,de,ge,H,ne);break;default:console.log("Glyph "+O.index+": unknown operator 1200"+ke),D.length=0}break;case 14:D.length>0&&!ce&&(Qe=D.shift()+W.nominalWidthX,ce=!0),Z&&(z.closePath(),Z=!1);break;case 18:De();break;case 19:case 20:De(),oe+=fe+7>>3;break;case 21:D.length>2&&!ce&&(Qe=D.shift()+W.nominalWidthX,ce=!0),ne+=D.pop(),H+=D.pop(),Ye(H,ne);break;case 22:D.length>1&&!ce&&(Qe=D.shift()+W.nominalWidthX,ce=!0),H+=D.pop(),Ye(H,ne);break;case 23:De();break;case 24:for(;D.length>2;)X=H+D.shift(),j=ne+D.shift(),K=X+D.shift(),G=j+D.shift(),H=K+D.shift(),ne=G+D.shift(),z.curveTo(X,j,K,G,H,ne);H+=D.shift(),ne+=D.shift(),z.lineTo(H,ne);break;case 25:for(;D.length>6;)H+=D.shift(),ne+=D.shift(),z.lineTo(H,ne);X=H+D.shift(),j=ne+D.shift(),K=X+D.shift(),G=j+D.shift(),H=K+D.shift(),ne=G+D.shift(),z.curveTo(X,j,K,G,H,ne);break;case 26:for(D.length%2&&(H+=D.shift());D.length>0;)X=H,j=ne+D.shift(),K=X+D.shift(),G=j+D.shift(),H=K,ne=G+D.shift(),z.curveTo(X,j,K,G,H,ne);break;case 27:for(D.length%2&&(ne+=D.shift());D.length>0;)X=H+D.shift(),j=ne,K=X+D.shift(),G=j+D.shift(),H=K+D.shift(),ne=G,z.curveTo(X,j,K,G,H,ne);break;case 28:ze=Ze[oe],wt=Ze[oe+1],D.push((ze<<24|wt<<16)>>16),oe+=2;break;case 29:be=D.pop()+W.gsubrsBias,ue=W.gsubrs[be],ue&&it(ue);break;case 30:for(;D.length>0&&(X=H,j=ne+D.shift(),K=X+D.shift(),G=j+D.shift(),H=K+D.shift(),ne=G+(D.length===1?D.shift():0),z.curveTo(X,j,K,G,H,ne),D.length!==0);)X=H+D.shift(),j=ne,K=X+D.shift(),G=j+D.shift(),ne=G+D.shift(),H=K+(D.length===1?D.shift():0),z.curveTo(X,j,K,G,H,ne);break;case 31:for(;D.length>0&&(X=H+D.shift(),j=ne,K=X+D.shift(),G=j+D.shift(),ne=G+D.shift(),H=K+(D.length===1?D.shift():0),z.curveTo(X,j,K,G,H,ne),D.length!==0);)X=H,j=ne+D.shift(),K=X+D.shift(),G=j+D.shift(),H=K+D.shift(),ne=G+(D.length===1?D.shift():0),z.curveTo(X,j,K,G,H,ne);break;default:ke<32?console.log("Glyph "+O.index+": unknown operator "+ke):ke<247?D.push(ke-139):ke<251?(ze=Ze[oe],oe+=1,D.push((ke-247)*256+ze+108)):ke<255?(ze=Ze[oe],oe+=1,D.push(-(ke-251)*256-ze-108)):(ze=Ze[oe],wt=Ze[oe+1],te=Ze[oe+2],ve=Ze[oe+3],oe+=4,D.push((ze<<24|wt<<16|te<<8|ve)/65536))}}}return it(J),O.advanceWidth=Qe,z}function P(W){var O;return W.length<1240?O=107:W.length<33900?O=1131:O=32768,O}function R(W,O,J){J.tables.cff={};var X=Q(W,O),j=p(W,X.endOffset,a.bytesToString),K=p(W,j.endOffset),G=p(W,K.endOffset,a.bytesToString),z=p(W,G.endOffset);J.gsubrs=z.objects,J.gsubrsBias=P(J.gsubrs);var D=new DataView(new Uint8Array(K.objects[0]).buffer),fe=F(D,G.objects);J.tables.cff.topDict=fe;var ce=O+fe.private[1],Qe=N(W,ce,fe.private[0],G.objects);if(J.defaultWidthX=Qe.defaultWidthX,J.nominalWidthX=Qe.nominalWidthX,Qe.subrs!==0){var Z=ce+Qe.subrs,H=p(W,Z);J.subrs=H.objects,J.subrsBias=P(J.subrs)}else J.subrs=[],J.subrsBias=0;var ne=p(W,O+fe.charStrings);J.nGlyphs=ne.objects.length;var Ye=_(W,O+fe.charset,J.nGlyphs,G.objects);fe.encoding===0?J.cffEncoding=new e.CffEncoding(e.cffStandardEncoding,Ye):fe.encoding===1?J.cffEncoding=new e.CffEncoding(e.cffExpertEncoding,Ye):J.cffEncoding=M(W,O+fe.encoding,Ye),J.encoding=J.encoding||J.cffEncoding,J.glyphs=new i.GlyphSet(J);for(var De=0;De<J.nGlyphs;De+=1){var it=ne.objects[De];J.glyphs.push(De,i.cffGlyphLoader(J,De,Y,it))}}function re(W,O){var J,X=e.cffStandardStrings.indexOf(W);return X>=0&&(J=X),X=O.indexOf(W),X>=0?J=X+e.cffStandardStrings.length:(J=e.cffStandardStrings.length+O.length,O.push(W)),J}function q(){return new l.Table("Header",[{name:"major",type:"Card8",value:1},{name:"minor",type:"Card8",value:0},{name:"hdrSize",type:"Card8",value:4},{name:"major",type:"Card8",value:1}])}function le(W){var O=new l.Table("Name INDEX",[{name:"names",type:"INDEX",value:[]}]);O.names=[];for(var J=0;J<W.length;J+=1)O.names.push({name:"name_"+J,type:"NAME",value:W[J]});return O}function Ae(W,O,J){for(var X={},j=0;j<W.length;j+=1){var K=W[j],G=O[K.name];G!==void 0&&!u(G,K.value)&&(K.type==="SID"&&(G=re(G,J)),X[K.op]={name:K.name,type:K.type,value:G})}return X}function ie(W,O){var J=new l.Table("Top DICT",[{name:"dict",type:"DICT",value:{}}]);return J.dict=Ae(v,W,O),J}function se(W){var O=new l.Table("Top DICT INDEX",[{name:"topDicts",type:"INDEX",value:[]}]);return O.topDicts=[{name:"topDict_0",type:"TABLE",value:W}],O}function ye(W){var O=new l.Table("String INDEX",[{name:"strings",type:"INDEX",value:[]}]);O.strings=[];for(var J=0;J<W.length;J+=1)O.strings.push({name:"string_"+J,type:"STRING",value:W[J]});return O}function pe(){return new l.Table("Global Subr INDEX",[{name:"subrs",type:"INDEX",value:[]}])}function Pe(W,O){for(var J=new l.Table("Charsets",[{name:"format",type:"Card8",value:0}]),X=0;X<W.length;X+=1){var j=W[X],K=re(j,O);J.fields.push({name:"glyph_"+X,type:"SID",value:K})}return J}function Be(W){var O=[],J=W.path;O.push({name:"width",type:"NUMBER",value:W.advanceWidth});for(var X=0,j=0,K=0;K<J.commands.length;K+=1){var G,z,D=J.commands[K];if(D.type==="Q"){var fe=.3333333333333333,ce=2/3;D={type:"C",x:D.x,y:D.y,x1:fe*X+ce*D.x1,y1:fe*j+ce*D.y1,x2:fe*D.x+ce*D.x1,y2:fe*D.y+ce*D.y1}}if(D.type==="M")G=Math.round(D.x-X),z=Math.round(D.y-j),O.push({name:"dx",type:"NUMBER",value:G}),O.push({name:"dy",type:"NUMBER",value:z}),O.push({name:"rmoveto",type:"OP",value:21}),X=Math.round(D.x),j=Math.round(D.y);else if(D.type==="L")G=Math.round(D.x-X),z=Math.round(D.y-j),O.push({name:"dx",type:"NUMBER",value:G}),O.push({name:"dy",type:"NUMBER",value:z}),O.push({name:"rlineto",type:"OP",value:5}),X=Math.round(D.x),j=Math.round(D.y);else if(D.type==="C"){var Qe=Math.round(D.x1-X),Z=Math.round(D.y1-j),H=Math.round(D.x2-D.x1),ne=Math.round(D.y2-D.y1);G=Math.round(D.x-D.x2),z=Math.round(D.y-D.y2),O.push({name:"dx1",type:"NUMBER",value:Qe}),O.push({name:"dy1",type:"NUMBER",value:Z}),O.push({name:"dx2",type:"NUMBER",value:H}),O.push({name:"dy2",type:"NUMBER",value:ne}),O.push({name:"dx",type:"NUMBER",value:G}),O.push({name:"dy",type:"NUMBER",value:z}),O.push({name:"rrcurveto",type:"OP",value:8}),X=Math.round(D.x),j=Math.round(D.y)}}return O.push({name:"endchar",type:"OP",value:14}),O}function Ee(W){for(var O=new l.Table("CharStrings INDEX",[{name:"charStrings",type:"INDEX",value:[]}]),J=0;J<W.length;J+=1){var X=W.get(J),j=Be(X);O.charStrings.push({name:X.name,type:"CHARSTRING",value:j})}return O}function me(W,O){var J=new l.Table("Private DICT",[{name:"dict",type:"DICT",value:{}}]);return J.dict=Ae(I,W,O),J}function Ne(W){var O=new l.Table("Private DICT INDEX",[{name:"privateDicts",type:"INDEX",value:[]}]);return O.privateDicts=[{name:"privateDict_0",type:"TABLE",value:W}],O}function Fe(W,O){for(var J=new l.Table("CFF ",[{name:"header",type:"TABLE"},{name:"nameIndex",type:"TABLE"},{name:"topDictIndex",type:"TABLE"},{name:"stringIndex",type:"TABLE"},{name:"globalSubrIndex",type:"TABLE"},{name:"charsets",type:"TABLE"},{name:"charStringsIndex",type:"TABLE"},{name:"privateDictIndex",type:"TABLE"}]),X=1/O.unitsPerEm,j={version:O.version,fullName:O.fullName,familyName:O.familyName,weight:O.weightName,fontMatrix:[X,0,0,X,0,0],charset:999,encoding:0,charStrings:999,private:[0,999]},K={},G=[],z,D=1;D<W.length;D+=1)z=W.get(D),G.push(z.name);var fe=[];J.header=q(),J.nameIndex=le([O.postScriptName]);var ce=ie(j,fe);J.topDictIndex=se(ce),J.globalSubrIndex=pe(),J.charsets=Pe(G,fe),J.charStringsIndex=Ee(W);var Qe=me(K,fe);J.privateDictIndex=Ne(Qe),J.stringIndex=ye(fe);var Z=J.header.sizeOf()+J.nameIndex.sizeOf()+J.topDictIndex.sizeOf()+J.stringIndex.sizeOf()+J.globalSubrIndex.sizeOf();return j.charset=Z,j.encoding=0,j.charStrings=j.charset+J.charsets.sizeOf(),j.private[1]=j.charStrings+J.charStringsIndex.sizeOf(),ce=ie(j,fe),J.topDictIndex=se(ce),J}r.parse=R,r.make=Fe}),Zm=Ge(r=>{"use strict";var e=ur(),i=Tt(),a=tr();function A(u,p){var f={},g=new i.Parser(u,p);return f.version=g.parseVersion(),f.fontRevision=Math.round(g.parseFixed()*1e3)/1e3,f.checkSumAdjustment=g.parseULong(),f.magicNumber=g.parseULong(),e.argument(f.magicNumber===1594834165,"Font header has wrong magic number."),f.flags=g.parseUShort(),f.unitsPerEm=g.parseUShort(),f.created=g.parseLongDateTime(),f.modified=g.parseLongDateTime(),f.xMin=g.parseShort(),f.yMin=g.parseShort(),f.xMax=g.parseShort(),f.yMax=g.parseShort(),f.macStyle=g.parseUShort(),f.lowestRecPPEM=g.parseUShort(),f.fontDirectionHint=g.parseShort(),f.indexToLocFormat=g.parseShort(),f.glyphDataFormat=g.parseShort(),f}function l(u){return new a.Table("head",[{name:"version",type:"FIXED",value:65536},{name:"fontRevision",type:"FIXED",value:65536},{name:"checkSumAdjustment",type:"ULONG",value:0},{name:"magicNumber",type:"ULONG",value:1594834165},{name:"flags",type:"USHORT",value:0},{name:"unitsPerEm",type:"USHORT",value:1e3},{name:"created",type:"LONGDATETIME",value:0},{name:"modified",type:"LONGDATETIME",value:0},{name:"xMin",type:"SHORT",value:0},{name:"yMin",type:"SHORT",value:0},{name:"xMax",type:"SHORT",value:0},{name:"yMax",type:"SHORT",value:0},{name:"macStyle",type:"USHORT",value:0},{name:"lowestRecPPEM",type:"USHORT",value:0},{name:"fontDirectionHint",type:"SHORT",value:2},{name:"indexToLocFormat",type:"SHORT",value:0},{name:"glyphDataFormat",type:"SHORT",value:0}],u)}r.parse=A,r.make=l}),zm=Ge(r=>{"use strict";var e=Tt(),i=tr();function a(l,u){var p={},f=new e.Parser(l,u);return p.version=f.parseVersion(),p.ascender=f.parseShort(),p.descender=f.parseShort(),p.lineGap=f.parseShort(),p.advanceWidthMax=f.parseUShort(),p.minLeftSideBearing=f.parseShort(),p.minRightSideBearing=f.parseShort(),p.xMaxExtent=f.parseShort(),p.caretSlopeRise=f.parseShort(),p.caretSlopeRun=f.parseShort(),p.caretOffset=f.parseShort(),f.relativeOffset+=8,p.metricDataFormat=f.parseShort(),p.numberOfHMetrics=f.parseUShort(),p}function A(l){return new i.Table("hhea",[{name:"version",type:"FIXED",value:65536},{name:"ascender",type:"FWORD",value:0},{name:"descender",type:"FWORD",value:0},{name:"lineGap",type:"FWORD",value:0},{name:"advanceWidthMax",type:"UFWORD",value:0},{name:"minLeftSideBearing",type:"FWORD",value:0},{name:"minRightSideBearing",type:"FWORD",value:0},{name:"xMaxExtent",type:"FWORD",value:0},{name:"caretSlopeRise",type:"SHORT",value:1},{name:"caretSlopeRun",type:"SHORT",value:0},{name:"caretOffset",type:"SHORT",value:0},{name:"reserved1",type:"SHORT",value:0},{name:"reserved2",type:"SHORT",value:0},{name:"reserved3",type:"SHORT",value:0},{name:"reserved4",type:"SHORT",value:0},{name:"metricDataFormat",type:"SHORT",value:0},{name:"numberOfHMetrics",type:"USHORT",value:0}],l)}r.parse=a,r.make=A}),Xm=Ge(r=>{"use strict";var e=Tt(),i=tr();function a(l,u,p,f,g){for(var m,E,b=new e.Parser(l,u),y=0;y<f;y+=1){y<p&&(m=b.parseUShort(),E=b.parseShort());var Q=g.get(y);Q.advanceWidth=m,Q.leftSideBearing=E}}function A(l){for(var u=new i.Table("hmtx",[]),p=0;p<l.length;p+=1){var f=l.get(p),g=f.advanceWidth||0,m=f.leftSideBearing||0;u.fields.push({name:"advanceWidth_"+p,type:"USHORT",value:g}),u.fields.push({name:"leftSideBearing_"+p,type:"SHORT",value:m})}return u}r.parse=a,r.make=A}),qm=Ge(r=>{"use strict";var e=ur(),i=Tt(),a=tr();function A(u){for(var p=new a.Table("ltag",[{name:"version",type:"ULONG",value:1},{name:"flags",type:"ULONG",value:0},{name:"numTags",type:"ULONG",value:u.length}]),f="",g=12+u.length*4,m=0;m<u.length;++m){var E=f.indexOf(u[m]);E<0&&(E=f.length,f+=u[m]),p.fields.push({name:"offset "+m,type:"USHORT",value:g+E}),p.fields.push({name:"length "+m,type:"USHORT",value:u[m].length})}return p.fields.push({name:"stringPool",type:"CHARARRAY",value:f}),p}function l(u,p){var f=new i.Parser(u,p),g=f.parseULong();e.argument(g===1,"Unsupported ltag table version."),f.skip("uLong",1);for(var m=f.parseULong(),E=[],b=0;b<m;b++){for(var y="",Q=p+f.parseUShort(),v=f.parseUShort(),I=Q;I<Q+v;++I)y+=String.fromCharCode(u.getInt8(I));E.push(y)}return E}r.make=A,r.parse=l}),Km=Ge(r=>{"use strict";var e=Tt(),i=tr();function a(l,u){var p={},f=new e.Parser(l,u);return p.version=f.parseVersion(),p.numGlyphs=f.parseUShort(),p.version===1&&(p.maxPoints=f.parseUShort(),p.maxContours=f.parseUShort(),p.maxCompositePoints=f.parseUShort(),p.maxCompositeContours=f.parseUShort(),p.maxZones=f.parseUShort(),p.maxTwilightPoints=f.parseUShort(),p.maxStorage=f.parseUShort(),p.maxFunctionDefs=f.parseUShort(),p.maxInstructionDefs=f.parseUShort(),p.maxStackElements=f.parseUShort(),p.maxSizeOfInstructions=f.parseUShort(),p.maxComponentElements=f.parseUShort(),p.maxComponentDepth=f.parseUShort()),p}function A(l){return new i.Table("maxp",[{name:"version",type:"FIXED",value:20480},{name:"numGlyphs",type:"USHORT",value:l}])}r.parse=a,r.make=A}),$m=Ge(r=>{"use strict";var e=Dl(),i=e.decode,a=e.encode,A=Tt(),l=tr(),u=["copyright","fontFamily","fontSubfamily","uniqueID","fullName","version","postScriptName","trademark","manufacturer","designer","description","manufacturerURL","designerURL","licence","licenceURL","reserved","preferredFamily","preferredSubfamily","compatibleFullName","sampleText","postScriptFindFontName","wwsFamily","wwsSubfamily"],p={0:"en",1:"fr",2:"de",3:"it",4:"nl",5:"sv",6:"es",7:"da",8:"pt",9:"no",10:"he",11:"ja",12:"ar",13:"fi",14:"el",15:"is",16:"mt",17:"tr",18:"hr",19:"zh-Hant",20:"ur",21:"hi",22:"th",23:"ko",24:"lt",25:"pl",26:"hu",27:"es",28:"lv",29:"se",30:"fo",31:"fa",32:"ru",33:"zh",34:"nl-BE",35:"ga",36:"sq",37:"ro",38:"cz",39:"sk",40:"si",41:"yi",42:"sr",43:"mk",44:"bg",45:"uk",46:"be",47:"uz",48:"kk",49:"az-Cyrl",50:"az-Arab",51:"hy",52:"ka",53:"mo",54:"ky",55:"tg",56:"tk",57:"mn-CN",58:"mn",59:"ps",60:"ks",61:"ku",62:"sd",63:"bo",64:"ne",65:"sa",66:"mr",67:"bn",68:"as",69:"gu",70:"pa",71:"or",72:"ml",73:"kn",74:"ta",75:"te",76:"si",77:"my",78:"km",79:"lo",80:"vi",81:"id",82:"tl",83:"ms",84:"ms-Arab",85:"am",86:"ti",87:"om",88:"so",89:"sw",90:"rw",91:"rn",92:"ny",93:"mg",94:"eo",128:"cy",129:"eu",130:"ca",131:"la",132:"qu",133:"gn",134:"ay",135:"tt",136:"ug",137:"dz",138:"jv",139:"su",140:"gl",141:"af",142:"br",143:"iu",144:"gd",145:"gv",146:"ga",147:"to",148:"el-polyton",149:"kl",150:"az",151:"nn"},f={0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:5,11:1,12:4,13:0,14:6,15:0,16:0,17:0,18:0,19:2,20:4,21:9,22:21,23:3,24:29,25:29,26:29,27:29,28:29,29:0,30:0,31:4,32:7,33:25,34:0,35:0,36:0,37:0,38:29,39:29,40:0,41:5,42:7,43:7,44:7,45:7,46:7,47:7,48:7,49:7,50:4,51:24,52:23,53:7,54:7,55:7,56:7,57:27,58:7,59:4,60:4,61:4,62:4,63:26,64:9,65:9,66:9,67:13,68:13,69:11,70:10,71:12,72:17,73:16,74:14,75:15,76:18,77:19,78:20,79:22,80:30,81:0,82:0,83:0,84:4,85:28,86:28,87:28,88:0,89:0,90:0,91:0,92:0,93:0,94:0,128:0,129:0,130:0,131:0,132:0,133:0,134:0,135:7,136:4,137:26,138:0,139:0,140:0,141:0,142:0,143:28,144:0,145:0,146:0,147:0,148:6,149:0,150:0,151:0},g={1078:"af",1052:"sq",1156:"gsw",1118:"am",5121:"ar-DZ",15361:"ar-BH",3073:"ar",2049:"ar-IQ",11265:"ar-JO",13313:"ar-KW",12289:"ar-LB",4097:"ar-LY",6145:"ary",8193:"ar-OM",16385:"ar-QA",1025:"ar-SA",10241:"ar-SY",7169:"aeb",14337:"ar-AE",9217:"ar-YE",1067:"hy",1101:"as",2092:"az-Cyrl",1068:"az",1133:"ba",1069:"eu",1059:"be",2117:"bn",1093:"bn-IN",8218:"bs-Cyrl",5146:"bs",1150:"br",1026:"bg",1027:"ca",3076:"zh-HK",5124:"zh-MO",2052:"zh",4100:"zh-SG",1028:"zh-TW",1155:"co",1050:"hr",4122:"hr-BA",1029:"cs",1030:"da",1164:"prs",1125:"dv",2067:"nl-BE",1043:"nl",3081:"en-AU",10249:"en-BZ",4105:"en-CA",9225:"en-029",16393:"en-IN",6153:"en-IE",8201:"en-JM",17417:"en-MY",5129:"en-NZ",13321:"en-PH",18441:"en-SG",7177:"en-ZA",11273:"en-TT",2057:"en-GB",1033:"en",12297:"en-ZW",1061:"et",1080:"fo",1124:"fil",1035:"fi",2060:"fr-BE",3084:"fr-CA",1036:"fr",5132:"fr-LU",6156:"fr-MC",4108:"fr-CH",1122:"fy",1110:"gl",1079:"ka",3079:"de-AT",1031:"de",5127:"de-LI",4103:"de-LU",2055:"de-CH",1032:"el",1135:"kl",1095:"gu",1128:"ha",1037:"he",1081:"hi",1038:"hu",1039:"is",1136:"ig",1057:"id",1117:"iu",2141:"iu-Latn",2108:"ga",1076:"xh",1077:"zu",1040:"it",2064:"it-CH",1041:"ja",1099:"kn",1087:"kk",1107:"km",1158:"quc",1159:"rw",1089:"sw",1111:"kok",1042:"ko",1088:"ky",1108:"lo",1062:"lv",1063:"lt",2094:"dsb",1134:"lb",1071:"mk",2110:"ms-BN",1086:"ms",1100:"ml",1082:"mt",1153:"mi",1146:"arn",1102:"mr",1148:"moh",1104:"mn",2128:"mn-CN",1121:"ne",1044:"nb",2068:"nn",1154:"oc",1096:"or",1123:"ps",1045:"pl",1046:"pt",2070:"pt-PT",1094:"pa",1131:"qu-BO",2155:"qu-EC",3179:"qu",1048:"ro",1047:"rm",1049:"ru",9275:"smn",4155:"smj-NO",5179:"smj",3131:"se-FI",1083:"se",2107:"se-SE",8251:"sms",6203:"sma-NO",7227:"sms",1103:"sa",7194:"sr-Cyrl-BA",3098:"sr",6170:"sr-Latn-BA",2074:"sr-Latn",1132:"nso",1074:"tn",1115:"si",1051:"sk",1060:"sl",11274:"es-AR",16394:"es-BO",13322:"es-CL",9226:"es-CO",5130:"es-CR",7178:"es-DO",12298:"es-EC",17418:"es-SV",4106:"es-GT",18442:"es-HN",2058:"es-MX",19466:"es-NI",6154:"es-PA",15370:"es-PY",10250:"es-PE",20490:"es-PR",3082:"es",1034:"es",21514:"es-US",14346:"es-UY",8202:"es-VE",2077:"sv-FI",1053:"sv",1114:"syr",1064:"tg",2143:"tzm",1097:"ta",1092:"tt",1098:"te",1054:"th",1105:"bo",1055:"tr",1090:"tk",1152:"ug",1058:"uk",1070:"hsb",1056:"ur",2115:"uz-Cyrl",1091:"uz",1066:"vi",1106:"cy",1160:"wo",1157:"sah",1144:"ii",1130:"yo"};function m(Y,P,R){switch(Y){case 0:if(P===65535)return"und";if(R)return R[P];break;case 1:return p[P];case 3:return g[P]}}var E="utf-16",b={0:"macintosh",1:"x-mac-japanese",2:"x-mac-chinesetrad",3:"x-mac-korean",6:"x-mac-greek",7:"x-mac-cyrillic",9:"x-mac-devanagai",10:"x-mac-gurmukhi",11:"x-mac-gujarati",12:"x-mac-oriya",13:"x-mac-bengali",14:"x-mac-tamil",15:"x-mac-telugu",16:"x-mac-kannada",17:"x-mac-malayalam",18:"x-mac-sinhalese",19:"x-mac-burmese",20:"x-mac-khmer",21:"x-mac-thai",22:"x-mac-lao",23:"x-mac-georgian",24:"x-mac-armenian",25:"x-mac-chinesesimp",26:"x-mac-tibetan",27:"x-mac-mongolian",28:"x-mac-ethiopic",29:"x-mac-ce",30:"x-mac-vietnamese",31:"x-mac-extarabic"},y={15:"x-mac-icelandic",17:"x-mac-turkish",18:"x-mac-croatian",24:"x-mac-ce",25:"x-mac-ce",26:"x-mac-ce",27:"x-mac-ce",28:"x-mac-ce",30:"x-mac-icelandic",37:"x-mac-romanian",38:"x-mac-ce",39:"x-mac-ce",40:"x-mac-ce",143:"x-mac-inuit",146:"x-mac-gaelic"};function Q(Y,P,R){switch(Y){case 0:return E;case 1:return y[R]||b[P];case 3:if(P===1||P===10)return E;break}}function v(Y,P,R){for(var re={},q=new A.Parser(Y,P),le=q.parseUShort(),Ae=q.parseUShort(),ie=q.offset+q.parseUShort(),se=0;se<Ae;se++){var ye=q.parseUShort(),pe=q.parseUShort(),Pe=q.parseUShort(),Be=q.parseUShort(),Ee=u[Be]||Be,me=q.parseUShort(),Ne=q.parseUShort(),Fe=m(ye,Pe,R),W=Q(ye,pe,Pe);if(W!==void 0&&Fe!==void 0){var O;if(W===E?O=i.UTF16(Y,ie+Ne,me):O=i.MACSTRING(Y,ie+Ne,me,W),O){var J=re[Ee];J===void 0&&(J=re[Ee]={}),J[Fe]=O}}}var X=0;return le===1&&(X=q.parseUShort()),re}function I(Y){var P={};for(var R in Y)P[Y[R]]=parseInt(R);return P}function F(Y,P,R,re,q,le){return new l.Table("NameRecord",[{name:"platformID",type:"USHORT",value:Y},{name:"encodingID",type:"USHORT",value:P},{name:"languageID",type:"USHORT",value:R},{name:"nameID",type:"USHORT",value:re},{name:"length",type:"USHORT",value:q},{name:"offset",type:"USHORT",value:le}])}function N(Y,P){var R=Y.length,re=P.length-R+1;e:for(var q=0;q<re;q++)for(;q<re;q++){for(var le=0;le<R;le++)if(P[q+le]!==Y[le])continue e;return q}return-1}function _(Y,P){var R=N(Y,P);if(R<0){R=P.length;for(var re=0,q=Y.length;re<q;++re)P.push(Y[re])}return R}function M(Y,P){var R,re=[],q={},le=I(u);for(var Ae in Y){var ie=le[Ae];ie===void 0&&(ie=Ae),R=parseInt(ie),q[R]=Y[Ae],re.push(R)}for(var se=I(p),ye=I(g),pe=[],Pe=[],Be=0;Be<re.length;Be++){R=re[Be];var Ee=q[R];for(var me in Ee){var Ne=Ee[me],Fe=1,W=se[me],O=f[W],J=Q(Fe,O,W),X=a.MACSTRING(Ne,J);X===void 0&&(Fe=0,W=P.indexOf(me),W<0&&(W=P.length,P.push(me)),O=4,X=a.UTF16(Ne));var j=_(X,Pe);pe.push(F(Fe,O,W,R,X.length,j));var K=ye[me];if(K!==void 0){var G=a.UTF16(Ne),z=_(G,Pe);pe.push(F(3,1,K,R,G.length,z))}}}pe.sort(function(ce,Qe){return ce.platformID-Qe.platformID||ce.encodingID-Qe.encodingID||ce.languageID-Qe.languageID||ce.nameID-Qe.nameID});for(var D=new l.Table("name",[{name:"format",type:"USHORT",value:0},{name:"count",type:"USHORT",value:pe.length},{name:"stringOffset",type:"USHORT",value:6+pe.length*12}]),fe=0;fe<pe.length;fe++)D.fields.push({name:"record_"+fe,type:"TABLE",value:pe[fe]});return D.fields.push({name:"strings",type:"LITERAL",value:Pe}),D}r.parse=v,r.make=M}),e0=Ge(r=>{"use strict";var e=Tt(),i=tr(),a=[{begin:0,end:127},{begin:128,end:255},{begin:256,end:383},{begin:384,end:591},{begin:592,end:687},{begin:688,end:767},{begin:768,end:879},{begin:880,end:1023},{begin:11392,end:11519},{begin:1024,end:1279},{begin:1328,end:1423},{begin:1424,end:1535},{begin:42240,end:42559},{begin:1536,end:1791},{begin:1984,end:2047},{begin:2304,end:2431},{begin:2432,end:2559},{begin:2560,end:2687},{begin:2688,end:2815},{begin:2816,end:2943},{begin:2944,end:3071},{begin:3072,end:3199},{begin:3200,end:3327},{begin:3328,end:3455},{begin:3584,end:3711},{begin:3712,end:3839},{begin:4256,end:4351},{begin:6912,end:7039},{begin:4352,end:4607},{begin:7680,end:7935},{begin:7936,end:8191},{begin:8192,end:8303},{begin:8304,end:8351},{begin:8352,end:8399},{begin:8400,end:8447},{begin:8448,end:8527},{begin:8528,end:8591},{begin:8592,end:8703},{begin:8704,end:8959},{begin:8960,end:9215},{begin:9216,end:9279},{begin:9280,end:9311},{begin:9312,end:9471},{begin:9472,end:9599},{begin:9600,end:9631},{begin:9632,end:9727},{begin:9728,end:9983},{begin:9984,end:10175},{begin:12288,end:12351},{begin:12352,end:12447},{begin:12448,end:12543},{begin:12544,end:12591},{begin:12592,end:12687},{begin:43072,end:43135},{begin:12800,end:13055},{begin:13056,end:13311},{begin:44032,end:55215},{begin:55296,end:57343},{begin:67840,end:67871},{begin:19968,end:40959},{begin:57344,end:63743},{begin:12736,end:12783},{begin:64256,end:64335},{begin:64336,end:65023},{begin:65056,end:65071},{begin:65040,end:65055},{begin:65104,end:65135},{begin:65136,end:65279},{begin:65280,end:65519},{begin:65520,end:65535},{begin:3840,end:4095},{begin:1792,end:1871},{begin:1920,end:1983},{begin:3456,end:3583},{begin:4096,end:4255},{begin:4608,end:4991},{begin:5024,end:5119},{begin:5120,end:5759},{begin:5760,end:5791},{begin:5792,end:5887},{begin:6016,end:6143},{begin:6144,end:6319},{begin:10240,end:10495},{begin:40960,end:42127},{begin:5888,end:5919},{begin:66304,end:66351},{begin:66352,end:66383},{begin:66560,end:66639},{begin:118784,end:119039},{begin:119808,end:120831},{begin:1044480,end:1048573},{begin:65024,end:65039},{begin:917504,end:917631},{begin:6400,end:6479},{begin:6480,end:6527},{begin:6528,end:6623},{begin:6656,end:6687},{begin:11264,end:11359},{begin:11568,end:11647},{begin:19904,end:19967},{begin:43008,end:43055},{begin:65536,end:65663},{begin:65856,end:65935},{begin:66432,end:66463},{begin:66464,end:66527},{begin:66640,end:66687},{begin:66688,end:66735},{begin:67584,end:67647},{begin:68096,end:68191},{begin:119552,end:119647},{begin:73728,end:74751},{begin:119648,end:119679},{begin:7040,end:7103},{begin:7168,end:7247},{begin:7248,end:7295},{begin:43136,end:43231},{begin:43264,end:43311},{begin:43312,end:43359},{begin:43520,end:43615},{begin:65936,end:65999},{begin:66e3,end:66047},{begin:66208,end:66271},{begin:127024,end:127135}];function A(p){for(var f=0;f<a.length;f+=1){var g=a[f];if(p>=g.begin&&p<g.end)return f}return-1}function l(p,f){var g={},m=new e.Parser(p,f);g.version=m.parseUShort(),g.xAvgCharWidth=m.parseShort(),g.usWeightClass=m.parseUShort(),g.usWidthClass=m.parseUShort(),g.fsType=m.parseUShort(),g.ySubscriptXSize=m.parseShort(),g.ySubscriptYSize=m.parseShort(),g.ySubscriptXOffset=m.parseShort(),g.ySubscriptYOffset=m.parseShort(),g.ySuperscriptXSize=m.parseShort(),g.ySuperscriptYSize=m.parseShort(),g.ySuperscriptXOffset=m.parseShort(),g.ySuperscriptYOffset=m.parseShort(),g.yStrikeoutSize=m.parseShort(),g.yStrikeoutPosition=m.parseShort(),g.sFamilyClass=m.parseShort(),g.panose=[];for(var E=0;E<10;E++)g.panose[E]=m.parseByte();return g.ulUnicodeRange1=m.parseULong(),g.ulUnicodeRange2=m.parseULong(),g.ulUnicodeRange3=m.parseULong(),g.ulUnicodeRange4=m.parseULong(),g.achVendID=String.fromCharCode(m.parseByte(),m.parseByte(),m.parseByte(),m.parseByte()),g.fsSelection=m.parseUShort(),g.usFirstCharIndex=m.parseUShort(),g.usLastCharIndex=m.parseUShort(),g.sTypoAscender=m.parseShort(),g.sTypoDescender=m.parseShort(),g.sTypoLineGap=m.parseShort(),g.usWinAscent=m.parseUShort(),g.usWinDescent=m.parseUShort(),g.version>=1&&(g.ulCodePageRange1=m.parseULong(),g.ulCodePageRange2=m.parseULong()),g.version>=2&&(g.sxHeight=m.parseShort(),g.sCapHeight=m.parseShort(),g.usDefaultChar=m.parseUShort(),g.usBreakChar=m.parseUShort(),g.usMaxContent=m.parseUShort()),g}function u(p){return new i.Table("OS/2",[{name:"version",type:"USHORT",value:3},{name:"xAvgCharWidth",type:"SHORT",value:0},{name:"usWeightClass",type:"USHORT",value:0},{name:"usWidthClass",type:"USHORT",value:0},{name:"fsType",type:"USHORT",value:0},{name:"ySubscriptXSize",type:"SHORT",value:650},{name:"ySubscriptYSize",type:"SHORT",value:699},{name:"ySubscriptXOffset",type:"SHORT",value:0},{name:"ySubscriptYOffset",type:"SHORT",value:140},{name:"ySuperscriptXSize",type:"SHORT",value:650},{name:"ySuperscriptYSize",type:"SHORT",value:699},{name:"ySuperscriptXOffset",type:"SHORT",value:0},{name:"ySuperscriptYOffset",type:"SHORT",value:479},{name:"yStrikeoutSize",type:"SHORT",value:49},{name:"yStrikeoutPosition",type:"SHORT",value:258},{name:"sFamilyClass",type:"SHORT",value:0},{name:"bFamilyType",type:"BYTE",value:0},{name:"bSerifStyle",type:"BYTE",value:0},{name:"bWeight",type:"BYTE",value:0},{name:"bProportion",type:"BYTE",value:0},{name:"bContrast",type:"BYTE",value:0},{name:"bStrokeVariation",type:"BYTE",value:0},{name:"bArmStyle",type:"BYTE",value:0},{name:"bLetterform",type:"BYTE",value:0},{name:"bMidline",type:"BYTE",value:0},{name:"bXHeight",type:"BYTE",value:0},{name:"ulUnicodeRange1",type:"ULONG",value:0},{name:"ulUnicodeRange2",type:"ULONG",value:0},{name:"ulUnicodeRange3",type:"ULONG",value:0},{name:"ulUnicodeRange4",type:"ULONG",value:0},{name:"achVendID",type:"CHARARRAY",value:"XXXX"},{name:"fsSelection",type:"USHORT",value:0},{name:"usFirstCharIndex",type:"USHORT",value:0},{name:"usLastCharIndex",type:"USHORT",value:0},{name:"sTypoAscender",type:"SHORT",value:0},{name:"sTypoDescender",type:"SHORT",value:0},{name:"sTypoLineGap",type:"SHORT",value:0},{name:"usWinAscent",type:"USHORT",value:0},{name:"usWinDescent",type:"USHORT",value:0},{name:"ulCodePageRange1",type:"ULONG",value:0},{name:"ulCodePageRange2",type:"ULONG",value:0},{name:"sxHeight",type:"SHORT",value:0},{name:"sCapHeight",type:"SHORT",value:0},{name:"usDefaultChar",type:"USHORT",value:0},{name:"usBreakChar",type:"USHORT",value:0},{name:"usMaxContext",type:"USHORT",value:0}],p)}r.unicodeRanges=a,r.getUnicodeRange=A,r.parse=l,r.make=u}),t0=Ge(r=>{"use strict";var e=ba(),i=Tt(),a=tr();function A(u,p){var f={},g=new i.Parser(u,p),m;switch(f.version=g.parseVersion(),f.italicAngle=g.parseFixed(),f.underlinePosition=g.parseShort(),f.underlineThickness=g.parseShort(),f.isFixedPitch=g.parseULong(),f.minMemType42=g.parseULong(),f.maxMemType42=g.parseULong(),f.minMemType1=g.parseULong(),f.maxMemType1=g.parseULong(),f.version){case 1:f.names=e.standardNames.slice();break;case 2:for(f.numberOfGlyphs=g.parseUShort(),f.glyphNameIndex=new Array(f.numberOfGlyphs),m=0;m<f.numberOfGlyphs;m++)f.glyphNameIndex[m]=g.parseUShort();for(f.names=[],m=0;m<f.numberOfGlyphs;m++)if(f.glyphNameIndex[m]>=e.standardNames.length){var E=g.parseChar();f.names.push(g.parseString(E))}break;case 2.5:for(f.numberOfGlyphs=g.parseUShort(),f.offset=new Array(f.numberOfGlyphs),m=0;m<f.numberOfGlyphs;m++)f.offset[m]=g.parseChar();break}return f}function l(){return new a.Table("post",[{name:"version",type:"FIXED",value:196608},{name:"italicAngle",type:"FIXED",value:0},{name:"underlinePosition",type:"FWORD",value:0},{name:"underlineThickness",type:"FWORD",value:0},{name:"isFixedPitch",type:"ULONG",value:0},{name:"minMemType42",type:"ULONG",value:0},{name:"maxMemType42",type:"ULONG",value:0},{name:"minMemType1",type:"ULONG",value:0},{name:"maxMemType1",type:"ULONG",value:0}])}r.parse=A,r.make=l}),yF=Ge(r=>{"use strict";var e=ur(),i=tr(),a=Vm(),A=_m(),l=Zm(),u=zm(),p=Xm(),f=qm(),g=Km(),m=$m(),E=e0(),b=t0();function y(M){return Math.log(M)/Math.log(2)|0}function Q(M){for(;M.length%4!==0;)M.push(0);for(var Y=0,P=0;P<M.length;P+=4)Y+=(M[P]<<24)+(M[P+1]<<16)+(M[P+2]<<8)+M[P+3];return Y%=Math.pow(2,32),Y}function v(M,Y,P,R){return new i.Table("Table Record",[{name:"tag",type:"TAG",value:M!==void 0?M:""},{name:"checkSum",type:"ULONG",value:Y!==void 0?Y:0},{name:"offset",type:"ULONG",value:P!==void 0?P:0},{name:"length",type:"ULONG",value:R!==void 0?R:0}])}function I(M){var Y=new i.Table("sfnt",[{name:"version",type:"TAG",value:"OTTO"},{name:"numTables",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0}]);Y.tables=M,Y.numTables=M.length;var P=Math.pow(2,y(Y.numTables));Y.searchRange=16*P,Y.entrySelector=y(P),Y.rangeShift=Y.numTables*16-Y.searchRange;for(var R=[],re=[],q=Y.sizeOf()+v().sizeOf()*Y.numTables;q%4!==0;)q+=1,re.push({name:"padding",type:"BYTE",value:0});for(var le=0;le<M.length;le+=1){var Ae=M[le];e.argument(Ae.tableName.length===4,"Table name"+Ae.tableName+" is invalid.");var ie=Ae.sizeOf(),se=v(Ae.tableName,Q(Ae.encode()),q,ie);for(R.push({name:se.tag+" Table Record",type:"TABLE",value:se}),re.push({name:Ae.tableName+" table",type:"TABLE",value:Ae}),q+=ie,e.argument(!isNaN(q),"Something went wrong calculating the offset.");q%4!==0;)q+=1,re.push({name:"padding",type:"BYTE",value:0})}return R.sort(function(ye,pe){return ye.value.tag>pe.value.tag?1:-1}),Y.fields=Y.fields.concat(R),Y.fields=Y.fields.concat(re),Y}function F(M,Y,P){for(var R=0;R<Y.length;R+=1){var re=M.charToGlyphIndex(Y[R]);if(re>0){var q=M.glyphs.get(re);return q.getMetrics()}}return P}function N(M){for(var Y=0,P=0;P<M.length;P+=1)Y+=M[P];return Y/M.length}function _(M){for(var Y=[],P=[],R=[],re=[],q=[],le=[],Ae=[],ie,se=0,ye=0,pe=0,Pe=0,Be=0,Ee=0;Ee<M.glyphs.length;Ee+=1){var me=M.glyphs.get(Ee),Ne=me.unicode|0;(ie>Ne||ie===null)&&(ie=Ne),se<Ne&&(se=Ne);var Fe=E.getUnicodeRange(Ne);if(Fe<32)ye|=1<<Fe;else if(Fe<64)pe|=1<<Fe-32;else if(Fe<96)Pe|=1<<Fe-64;else if(Fe<123)Be|=1<<Fe-96;else throw new Error("Unicode ranges bits > 123 are reserved for internal usage");if(me.name!==".notdef"){var W=me.getMetrics();Y.push(W.xMin),P.push(W.yMin),R.push(W.xMax),re.push(W.yMax),le.push(W.leftSideBearing),Ae.push(W.rightSideBearing),q.push(me.advanceWidth)}}var O={xMin:Math.min.apply(null,Y),yMin:Math.min.apply(null,P),xMax:Math.max.apply(null,R),yMax:Math.max.apply(null,re),advanceWidthMax:Math.max.apply(null,q),advanceWidthAvg:N(q),minLeftSideBearing:Math.min.apply(null,le),maxLeftSideBearing:Math.max.apply(null,le),minRightSideBearing:Math.min.apply(null,Ae)};O.ascender=M.ascender!==void 0?M.ascender:O.yMax,O.descender=M.descender!==void 0?M.descender:O.yMin;var J=l.make({unitsPerEm:M.unitsPerEm,xMin:O.xMin,yMin:O.yMin,xMax:O.xMax,yMax:O.yMax}),X=u.make({ascender:O.ascender,descender:O.descender,advanceWidthMax:O.advanceWidthMax,minLeftSideBearing:O.minLeftSideBearing,minRightSideBearing:O.minRightSideBearing,xMaxExtent:O.maxLeftSideBearing+(O.xMax-O.xMin),numberOfHMetrics:M.glyphs.length}),j=g.make(M.glyphs.length),K=E.make({xAvgCharWidth:Math.round(O.advanceWidthAvg),usWeightClass:500,usWidthClass:5,usFirstCharIndex:ie,usLastCharIndex:se,ulUnicodeRange1:ye,ulUnicodeRange2:pe,ulUnicodeRange3:Pe,ulUnicodeRange4:Be,sTypoAscender:O.ascender,sTypoDescender:O.descender,sTypoLineGap:0,usWinAscent:O.ascender,usWinDescent:-O.descender,sxHeight:F(M,"xyvw",{yMax:0}).yMax,sCapHeight:F(M,"HIKLEFJMNTZBDPRAGOQSUVWXY",O).yMax,usBreakChar:M.hasChar(" ")?32:0}),G=p.make(M.glyphs),z=a.make(M.glyphs),D=M.getEnglishName("fontFamily"),fe=M.getEnglishName("fontSubfamily"),ce=D+" "+fe,Qe=M.getEnglishName("postScriptName");Qe||(Qe=D.replace(/\s/g,"")+"-"+fe);var Z={};for(var H in M.names)Z[H]=M.names[H];Z.uniqueID||(Z.uniqueID={en:M.getEnglishName("manufacturer")+":"+ce}),Z.postScriptName||(Z.postScriptName={en:Qe}),Z.preferredFamily||(Z.preferredFamily=M.names.fontFamily),Z.preferredSubfamily||(Z.preferredSubfamily=M.names.fontSubfamily);var ne=[],Ye=m.make(Z,ne),De=ne.length>0?f.make(ne):void 0,it=b.make(),Ze=A.make(M.glyphs,{version:M.getEnglishName("version"),fullName:ce,familyName:D,weightName:fe,postScriptName:Qe,unitsPerEm:M.unitsPerEm}),ze=[J,X,j,K,Ye,z,it,Ze,G];De&&ze.push(De);var wt=I(ze),te=wt.encode(),ve=Q(te),be=wt.fields,ue=!1;for(Ee=0;Ee<be.length;Ee+=1)if(be[Ee].name==="head table"){be[Ee].value.checkSumAdjustment=2981146554-ve,ue=!0;break}if(!ue)throw new Error("Could not find head table with checkSum to adjust.");return wt}r.computeCheckSum=Q,r.make=I,r.fontToTable=_}),CF=Ge(r=>{"use strict";var e=es(),i=yF(),a=ba(),A=Ol();function l(u){u=u||{},this.names={fontFamily:{en:u.familyName||" "},fontSubfamily:{en:u.styleName||" "},designer:{en:u.designer||" "},designerURL:{en:u.designerURL||" "},manufacturer:{en:u.manufacturer||" "},manufacturerURL:{en:u.manufacturerURL||" "},license:{en:u.license||" "},licenseURL:{en:u.licenseURL||" "},version:{en:u.version||"Version 0.1"},description:{en:u.description||" "},copyright:{en:u.copyright||" "},trademark:{en:u.trademark||" "}},this.unitsPerEm=u.unitsPerEm||1e3,this.ascender=u.ascender,this.descender=u.descender,this.supported=!0,this.glyphs=new A.GlyphSet(this,u.glyphs||[]),this.encoding=new a.DefaultEncoding(this),this.tables={}}l.prototype.hasChar=function(u){return this.encoding.charToGlyphIndex(u)!==null},l.prototype.charToGlyphIndex=function(u){return this.encoding.charToGlyphIndex(u)},l.prototype.charToGlyph=function(u){var p=this.charToGlyphIndex(u),f=this.glyphs.get(p);return f||(f=this.glyphs.get(0)),f},l.prototype.stringToGlyphs=function(u){for(var p=[],f=0;f<u.length;f+=1){var g=u[f];p.push(this.charToGlyph(g))}return p},l.prototype.nameToGlyphIndex=function(u){return this.glyphNames.nameToGlyphIndex(u)},l.prototype.nameToGlyph=function(u){var p=this.nametoGlyphIndex(u),f=this.glyphs.get(p);return f||(f=this.glyphs.get(0)),f},l.prototype.glyphIndexToName=function(u){return this.glyphNames.glyphIndexToName?this.glyphNames.glyphIndexToName(u):""},l.prototype.getKerningValue=function(u,p){u=u.index||u,p=p.index||p;var f=this.getGposKerningValue;return f?f(u,p):this.kerningPairs[u+","+p]||0},l.prototype.forEachGlyph=function(u,p,f,g,m,E){p=p!==void 0?p:0,f=f!==void 0?f:0,g=g!==void 0?g:72,m=m||{};for(var b=m.kerning===void 0?!0:m.kerning,y=1/this.unitsPerEm*g,Q=this.stringToGlyphs(u),v=0;v<Q.length;v+=1){var I=Q[v];if(E(I,p,f,g,m),I.advanceWidth&&(p+=I.advanceWidth*y),b&&v<Q.length-1){var F=this.getKerningValue(I,Q[v+1]);p+=F*y}}},l.prototype.getPath=function(u,p,f,g,m){var E=new e.Path;return this.forEachGlyph(u,p,f,g,m,function(b,y,Q,v){var I=b.getPath(y,Q,v);E.extend(I)}),E},l.prototype.draw=function(u,p,f,g,m,E){this.getPath(p,f,g,m,E).draw(u)},l.prototype.drawPoints=function(u,p,f,g,m,E){this.forEachGlyph(p,f,g,m,E,function(b,y,Q,v){b.drawPoints(u,y,Q,v)})},l.prototype.drawMetrics=function(u,p,f,g,m,E){this.forEachGlyph(p,f,g,m,E,function(b,y,Q,v){b.drawMetrics(u,y,Q,v)})},l.prototype.getEnglishName=function(u){var p=this.names[u];if(p)return p.en},l.prototype.validate=function(){var u=[],p=this;function f(m,E){m||u.push(E)}function g(m){var E=p.getEnglishName(m);f(E&&E.trim().length>0,"No English "+m+" specified.")}g("fontFamily"),g("weightName"),g("manufacturer"),g("copyright"),g("version"),f(this.unitsPerEm>0,"No unitsPerEm specified.")},l.prototype.toTables=function(){return i.fontToTable(this)},l.prototype.toBuffer=function(){for(var u=this.toTables(),p=u.encode(),f=new ArrayBuffer(p.length),g=new Uint8Array(f),m=0;m<p.length;m++)g[m]=p[m];return f},l.prototype.download=function(){var u=this.getEnglishName("fontFamily"),p=this.getEnglishName("fontSubfamily"),f=u.replace(/\s/g,"")+"-"+p+".otf",g=this.toBuffer();window.requestFileSystem=window.requestFileSystem||window.webkitRequestFileSystem,window.requestFileSystem(window.TEMPORARY,g.byteLength,function(m){m.root.getFile(f,{create:!0},function(E){E.createWriter(function(b){var y=new DataView(g),Q=new Blob([y],{type:"font/opentype"});b.write(Q),b.addEventListener("writeend",function(){location.href=E.toURL()},!1)})})},function(m){throw m})},r.Font=l}),bF=Ge(r=>{"use strict";var e=ur(),i=Tt(),a=tr();function A(E,b){var y=JSON.stringify(E),Q=256;for(var v in b){var I=parseInt(v);if(!(!I||I<256)){if(JSON.stringify(b[v])===y)return I;Q<=I&&(Q=I+1)}}return b[Q]=E,Q}function l(E,b){var y=A(E.name,b);return new a.Table("fvarAxis",[{name:"tag",type:"TAG",value:E.tag},{name:"minValue",type:"FIXED",value:E.minValue<<16},{name:"defaultValue",type:"FIXED",value:E.defaultValue<<16},{name:"maxValue",type:"FIXED",value:E.maxValue<<16},{name:"flags",type:"USHORT",value:0},{name:"nameID",type:"USHORT",value:y}])}function u(E,b,y){var Q={},v=new i.Parser(E,b);return Q.tag=v.parseTag(),Q.minValue=v.parseFixed(),Q.defaultValue=v.parseFixed(),Q.maxValue=v.parseFixed(),v.skip("uShort",1),Q.name=y[v.parseUShort()]||{},Q}function p(E,b,y){for(var Q=A(E.name,y),v=[{name:"nameID",type:"USHORT",value:Q},{name:"flags",type:"USHORT",value:0}],I=0;I<b.length;++I){var F=b[I].tag;v.push({name:"axis "+F,type:"FIXED",value:E.coordinates[F]<<16})}return new a.Table("fvarInstance",v)}function f(E,b,y,Q){var v={},I=new i.Parser(E,b);v.name=Q[I.parseUShort()]||{},I.skip("uShort",1),v.coordinates={};for(var F=0;F<y.length;++F)v.coordinates[y[F].tag]=I.parseFixed();return v}function g(E,b){var y=new a.Table("fvar",[{name:"version",type:"ULONG",value:65536},{name:"offsetToData",type:"USHORT",value:0},{name:"countSizePairs",type:"USHORT",value:2},{name:"axisCount",type:"USHORT",value:E.axes.length},{name:"axisSize",type:"USHORT",value:20},{name:"instanceCount",type:"USHORT",value:E.instances.length},{name:"instanceSize",type:"USHORT",value:4+E.axes.length*4}]);y.offsetToData=y.sizeOf();for(var Q=0;Q<E.axes.length;Q++)y.fields.push({name:"axis "+Q,type:"TABLE",value:l(E.axes[Q],b)});for(var v=0;v<E.instances.length;v++)y.fields.push({name:"instance "+v,type:"TABLE",value:p(E.instances[v],E.axes,b)});return y}function m(E,b,y){var Q=new i.Parser(E,b),v=Q.parseULong();e.argument(v===65536,"Unsupported fvar table version.");var I=Q.parseOffset16();Q.skip("uShort",1);for(var F=Q.parseUShort(),N=Q.parseUShort(),_=Q.parseUShort(),M=Q.parseUShort(),Y=[],P=0;P<F;P++)Y.push(u(E,b+I+P*N,y));for(var R=[],re=b+I+F*N,q=0;q<_;q++)R.push(f(E,re+q*M,Y,y));return{axes:Y,instances:R}}r.make=g,r.parse=m}),xF=Ge(r=>{"use strict";var e=ur(),i=Ol(),a=Tt(),A=es();function l(b,y,Q,v,I){var F;return(y&v)>0?(F=b.parseByte(),y&I||(F=-F),F=Q+F):(y&I)>0?F=Q:F=Q+b.parseShort(),F}function u(b,y,Q){var v=new a.Parser(y,Q);b.numberOfContours=v.parseShort(),b.xMin=v.parseShort(),b.yMin=v.parseShort(),b.xMax=v.parseShort(),b.yMax=v.parseShort();var I,F;if(b.numberOfContours>0){var N,_=b.endPointIndices=[];for(N=0;N<b.numberOfContours;N+=1)_.push(v.parseUShort());for(b.instructionLength=v.parseUShort(),b.instructions=[],N=0;N<b.instructionLength;N+=1)b.instructions.push(v.parseByte());var M=_[_.length-1]+1;for(I=[],N=0;N<M;N+=1)if(F=v.parseByte(),I.push(F),(F&8)>0)for(var Y=v.parseByte(),P=0;P<Y;P+=1)I.push(F),N+=1;if(e.argument(I.length===M,"Bad flags."),_.length>0){var R=[],re;if(M>0){for(N=0;N<M;N+=1)F=I[N],re={},re.onCurve=!!(F&1),re.lastPointOfContour=_.indexOf(N)>=0,R.push(re);var q=0;for(N=0;N<M;N+=1)F=I[N],re=R[N],re.x=l(v,F,q,2,16),q=re.x;var le=0;for(N=0;N<M;N+=1)F=I[N],re=R[N],re.y=l(v,F,le,4,32),le=re.y}b.points=R}else b.points=[]}else if(b.numberOfContours===0)b.points=[];else{b.isComposite=!0,b.points=[],b.components=[];for(var Ae=!0;Ae;){I=v.parseUShort();var ie={glyphIndex:v.parseUShort(),xScale:1,scale01:0,scale10:0,yScale:1,dx:0,dy:0};(I&1)>0?(ie.dx=v.parseShort(),ie.dy=v.parseShort()):(ie.dx=v.parseChar(),ie.dy=v.parseChar()),(I&8)>0?ie.xScale=ie.yScale=v.parseF2Dot14():(I&64)>0?(ie.xScale=v.parseF2Dot14(),ie.yScale=v.parseF2Dot14()):(I&128)>0&&(ie.xScale=v.parseF2Dot14(),ie.scale01=v.parseF2Dot14(),ie.scale10=v.parseF2Dot14(),ie.yScale=v.parseF2Dot14()),b.components.push(ie),Ae=!!(I&32)}}}function p(b,y){for(var Q=[],v=0;v<b.length;v+=1){var I=b[v],F={x:y.xScale*I.x+y.scale01*I.y+y.dx,y:y.scale10*I.x+y.yScale*I.y+y.dy,onCurve:I.onCurve,lastPointOfContour:I.lastPointOfContour};Q.push(F)}return Q}function f(b){for(var y=[],Q=[],v=0;v<b.length;v+=1){var I=b[v];Q.push(I),I.lastPointOfContour&&(y.push(Q),Q=[])}return e.argument(Q.length===0,"There are still points left in the current contour."),y}function g(b){var y=new A.Path;if(!b)return y;for(var Q=f(b),v=0;v<Q.length;v+=1){var I=Q[v],F=I[0],N=I[I.length-1],_,M;F.onCurve?(_=null,M=!0):(N.onCurve?F=N:F={x:(F.x+N.x)/2,y:(F.y+N.y)/2},_=F,M=!1),y.moveTo(F.x,F.y);for(var Y=M?1:0;Y<I.length;Y+=1){var P=I[Y],R=Y===0?F:I[Y-1];if(R.onCurve&&P.onCurve)y.lineTo(P.x,P.y);else if(R.onCurve&&!P.onCurve)_=P;else if(!R.onCurve&&!P.onCurve){var re={x:(R.x+P.x)/2,y:(R.y+P.y)/2};y.quadraticCurveTo(R.x,R.y,re.x,re.y),_=P}else if(!R.onCurve&&P.onCurve)y.quadraticCurveTo(_.x,_.y,P.x,P.y),_=null;else throw new Error("Invalid state.")}F!==N&&(_?y.quadraticCurveTo(_.x,_.y,F.x,F.y):y.lineTo(F.x,F.y))}return y.closePath(),y}function m(b,y){if(y.isComposite)for(var Q=0;Q<y.components.length;Q+=1){var v=y.components[Q],I=b.get(v.glyphIndex);if(I.getPath(),I.points){var F=p(I.points,v);y.points=y.points.concat(F)}}return g(y.points)}function E(b,y,Q,v){var I=new i.GlyphSet(v),F;for(F=0;F<Q.length-1;F+=1){var N=Q[F],_=Q[F+1];N!==_?I.push(F,i.ttfGlyphLoader(v,F,u,b,y+N,m)):I.push(F,i.glyphLoader(v,F))}return I}r.parse=E}),QF=Ge(r=>{"use strict";var e=ur(),i=Tt();function a(g,m){for(var E=new i.Parser(g,m),b=E.parseUShort(),y=[],Q=0;Q<b;Q++)y[E.parseTag()]={offset:E.parseUShort()};return y}function A(g,m){var E=new i.Parser(g,m),b=E.parseUShort(),y=E.parseUShort();if(b===1)return E.parseUShortList(y);if(b===2){for(var Q=[];y--;)for(var v=E.parseUShort(),I=E.parseUShort(),F=E.parseUShort(),N=v;N<=I;N++)Q[F++]=N;return Q}}function l(g,m){var E=new i.Parser(g,m),b=E.parseUShort();if(b===1){var y=E.parseUShort(),Q=E.parseUShort(),v=E.parseUShortList(Q);return function(Y){return v[Y-y]||0}}else if(b===2){for(var I=E.parseUShort(),F=[],N=[],_=[],M=0;M<I;M++)F[M]=E.parseUShort(),N[M]=E.parseUShort(),_[M]=E.parseUShort();return function(Y){for(var P=0,R=F.length-1;P<R;){var re=P+R+1>>1;Y<F[re]?R=re-1:P=re}return F[P]<=Y&&Y<=N[P]&&_[P]||0}}}function u(g,m){var E=new i.Parser(g,m),b=E.parseUShort(),y=E.parseUShort(),Q=A(g,m+y),v=E.parseUShort(),I=E.parseUShort(),F,N;if(!(v!==4||I!==0)){var _={};if(b===1){for(var M=E.parseUShort(),Y=[],P=E.parseOffset16List(M),R=0;R<M;R++){var re=P[R],q=_[re];if(!q){q={},E.relativeOffset=re;for(var le=E.parseUShort();le--;){var Ae=E.parseUShort();v&&(F=E.parseShort()),I&&(N=E.parseShort()),q[Ae]=F}}Y[Q[R]]=q}return function(O,J){var X=Y[O];if(X)return X[J]}}else if(b===2){for(var ie=E.parseUShort(),se=E.parseUShort(),ye=E.parseUShort(),pe=E.parseUShort(),Pe=l(g,m+ie),Be=l(g,m+se),Ee=[],me=0;me<ye;me++)for(var Ne=Ee[me]=[],Fe=0;Fe<pe;Fe++)v&&(F=E.parseShort()),I&&(N=E.parseShort()),Ne[Fe]=F;var W={};for(me=0;me<Q.length;me++)W[Q[me]]=1;return function(O,J){if(W[O]){var X=Pe(O),j=Be(J),K=Ee[X];if(K)return K[j]}}}}}function p(g,m){var E=new i.Parser(g,m),b=E.parseUShort(),y=E.parseUShort(),Q=y&16,v=E.parseUShort(),I=E.parseOffset16List(v),F={lookupType:b,lookupFlag:y,markFilteringSet:Q?E.parseUShort():-1};if(b===2){for(var N=[],_=0;_<v;_++)N.push(u(g,m+I[_]));F.getKerningValue=function(M,Y){for(var P=N.length;P--;){var R=N[P](M,Y);if(R!==void 0)return R}return 0}}return F}function f(g,m,E){var b=new i.Parser(g,m),y=b.parseFixed();e.argument(y===1,"Unsupported GPOS table version."),a(g,m+b.parseUShort()),a(g,m+b.parseUShort());var Q=b.parseUShort();b.relativeOffset=Q;for(var v=b.parseUShort(),I=b.parseOffset16List(v),F=m+Q,N=0;N<v;N++){var _=p(g,F+I[N]);_.lookupType===2&&!E.getGposKerningValue&&(E.getGposKerningValue=_.getKerningValue)}}r.parse=f}),vF=Ge(r=>{"use strict";var e=ur(),i=Tt();function a(A,l){var u={},p=new i.Parser(A,l),f=p.parseUShort();e.argument(f===0,"Unsupported kern table version."),p.skip("uShort",1);var g=p.parseUShort();e.argument(g===0,"Unsupported kern sub-table version."),p.skip("uShort",2);var m=p.parseUShort();p.skip("uShort",3);for(var E=0;E<m;E+=1){var b=p.parseUShort(),y=p.parseUShort(),Q=p.parseShort();u[b+","+y]=Q}return u}r.parse=a}),IF=Ge(r=>{"use strict";var e=Tt();function i(a,A,l,u){for(var p=new e.Parser(a,A),f=u?p.parseUShort:p.parseULong,g=[],m=0;m<l+1;m+=1){var E=f.call(p);u&&(E*=2),g.push(E)}return g}r.parse=i}),FF=Ge(r=>{"use strict";var e=ba(),i=CF(),a=jm(),A=Tt(),l=es(),u=Vm(),p=_m(),f=bF(),g=xF(),m=QF(),E=Zm(),b=zm(),y=Xm(),Q=vF(),v=qm(),I=IF(),F=Km(),N=$m(),_=e0(),M=t0();function Y(Ae){for(var ie=new ArrayBuffer(Ae.length),se=new Uint8Array(ie),ye=0;ye<Ae.length;ye+=1)se[ye]=Ae[ye];return ie}function P(Ae,ie){var se=We("fs");se.readFile(Ae,function(ye,pe){if(ye)return ie(ye.message);ie(null,Y(pe))})}function R(Ae,ie){var se=new XMLHttpRequest;se.open("get",Ae,!0),se.responseType="arraybuffer",se.onload=function(){return se.status!==200?ie("Font could not be loaded: "+se.statusText):ie(null,se.response)},se.send()}function re(Ae){var ie,se,ye,pe,Pe,Be,Ee,me,Ne,Fe,W=new i.Font,O=new DataView(Ae,0),J=A.getFixed(O,0);if(J===1)W.outlinesFormat="truetype";else if(J=A.getTag(O,0),J==="OTTO")W.outlinesFormat="cff";else throw new Error("Unsupported OpenType version "+J);for(var X=A.getUShort(O,4),j=12,K=0;K<X;K+=1){var G=A.getTag(O,j),z=A.getULong(O,j+8);switch(G){case"cmap":W.tables.cmap=u.parse(O,z),W.encoding=new e.CmapEncoding(W.tables.cmap);break;case"fvar":pe=z;break;case"head":W.tables.head=E.parse(O,z),W.unitsPerEm=W.tables.head.unitsPerEm,ie=W.tables.head.indexToLocFormat;break;case"hhea":W.tables.hhea=b.parse(O,z),W.ascender=W.tables.hhea.ascender,W.descender=W.tables.hhea.descender,W.numberOfHMetrics=W.tables.hhea.numberOfHMetrics;break;case"hmtx":Ee=z;break;case"ltag":se=v.parse(O,z);break;case"maxp":W.tables.maxp=F.parse(O,z),W.numGlyphs=W.tables.maxp.numGlyphs;break;case"name":Fe=z;break;case"OS/2":W.tables.os2=_.parse(O,z);break;case"post":W.tables.post=M.parse(O,z),W.glyphNames=new e.GlyphNames(W.tables.post);break;case"glyf":Pe=z;break;case"loca":Ne=z;break;case"CFF ":ye=z;break;case"kern":me=z;break;case"GPOS":Be=z;break}j+=16}if(W.tables.name=N.parse(O,Fe,se),W.names=W.tables.name,Pe&&Ne){var D=ie===0,fe=I.parse(O,Ne,W.numGlyphs,D);W.glyphs=g.parse(O,Pe,fe,W)}else if(ye)p.parse(O,ye,W);else throw new Error("Font doesn't contain TrueType or CFF outlines.");return y.parse(O,Ee,W.numberOfHMetrics,W.numGlyphs,W.glyphs),e.addGlyphNames(W),me?W.kerningPairs=Q.parse(O,me):W.kerningPairs={},Be&&m.parse(O,Be,W),pe&&(W.tables.fvar=f.parse(O,pe,W.names)),W}function q(Ae,ie){var se=typeof window>"u",ye=se?P:R;ye(Ae,function(pe,Pe){if(pe)return ie(pe);var Be=re(Pe);return ie(null,Be)})}function le(Ae){var ie=We("fs"),se=ie.readFileSync(Ae);return re(Y(se))}r._parse=A,r.Font=i.Font,r.Glyph=a.Glyph,r.Path=l.Path,r.parse=re,r.load=q,r.loadSync=le}),r0=Ge((r,e)=>{"use strict";var i=We("util"),a=We("stream"),A=e.exports=function(){a.call(this),this._buffers=[],this._buffered=0,this._reads=[],this._paused=!1,this._encoding="utf8",this.writable=!0};i.inherits(A,a),A.prototype.read=function(l,u){this._reads.push({length:Math.abs(l),allowLess:l<0,func:u}),process.nextTick(function(){this._process(),this._paused&&this._reads&&this._reads.length>0&&(this._paused=!1,this.emit("drain"))}.bind(this))},A.prototype.write=function(l,u){if(!this.writable)return this.emit("error",new Error("Stream not writable")),!1;let p;return Buffer.isBuffer(l)?p=l:p=Buffer.from(l,u||this._encoding),this._buffers.push(p),this._buffered+=p.length,this._process(),this._reads&&this._reads.length===0&&(this._paused=!0),this.writable&&!this._paused},A.prototype.end=function(l,u){l&&this.write(l,u),this.writable=!1,this._buffers&&(this._buffers.length===0?this._end():(this._buffers.push(null),this._process()))},A.prototype.destroySoon=A.prototype.end,A.prototype._end=function(){this._reads.length>0&&this.emit("error",new Error("Unexpected end of input")),this.destroy()},A.prototype.destroy=function(){this._buffers&&(this.writable=!1,this._reads=null,this._buffers=null,this.emit("close"))},A.prototype._processReadAllowingLess=function(l){this._reads.shift();let u=this._buffers[0];u.length>l.length?(this._buffered-=l.length,this._buffers[0]=u.slice(l.length),l.func.call(this,u.slice(0,l.length))):(this._buffered-=u.length,this._buffers.shift(),l.func.call(this,u))},A.prototype._processRead=function(l){this._reads.shift();let u=0,p=0,f=Buffer.alloc(l.length);for(;u<l.length;){let g=this._buffers[p++],m=Math.min(g.length,l.length-u);g.copy(f,u,0,m),u+=m,m!==g.length&&(this._buffers[--p]=g.slice(m))}p>0&&this._buffers.splice(0,p),this._buffered-=l.length,l.func.call(this,f)},A.prototype._process=function(){try{for(;this._buffered>0&&this._reads&&this._reads.length>0;){let l=this._reads[0];if(l.allowLess)this._processReadAllowingLess(l);else if(this._buffered>=l.length)this._processRead(l);else break}this._buffers&&!this.writable&&this._end()}catch(l){this.emit("error",l)}}}),i0=Ge(r=>{"use strict";var e=[{x:[0],y:[0]},{x:[4],y:[0]},{x:[0,4],y:[4]},{x:[2,6],y:[0,4]},{x:[0,2,4,6],y:[2,6]},{x:[1,3,5,7],y:[0,2,4,6]},{x:[0,1,2,3,4,5,6,7],y:[1,3,5,7]}];r.getImagePasses=function(i,a){let A=[],l=i%8,u=a%8,p=(i-l)/8,f=(a-u)/8;for(let g=0;g<e.length;g++){let m=e[g],E=p*m.x.length,b=f*m.y.length;for(let y=0;y<m.x.length&&m.x[y]<l;y++)E++;for(let y=0;y<m.y.length&&m.y[y]<u;y++)b++;E>0&&b>0&&A.push({width:E,height:b,index:g})}return A},r.getInterlaceIterator=function(i){return function(a,A,l){let u=a%e[l].x.length,p=(a-u)/e[l].x.length*8+e[l].x[u],f=A%e[l].y.length,g=(A-f)/e[l].y.length*8+e[l].y[f];return p*4+g*i*4}}}),n0=Ge((r,e)=>{"use strict";e.exports=function(i,a,A){let l=i+a-A,u=Math.abs(l-i),p=Math.abs(l-a),f=Math.abs(l-A);return u<=p&&u<=f?i:p<=f?a:A}}),s0=Ge((r,e)=>{"use strict";var i=i0(),a=n0();function A(u,p,f){let g=u*p;return f!==8&&(g=Math.ceil(g/(8/f))),g}var l=e.exports=function(u,p){let f=u.width,g=u.height,m=u.interlace,E=u.bpp,b=u.depth;if(this.read=p.read,this.write=p.write,this.complete=p.complete,this._imageIndex=0,this._images=[],m){let y=i.getImagePasses(f,g);for(let Q=0;Q<y.length;Q++)this._images.push({byteWidth:A(y[Q].width,E,b),height:y[Q].height,lineIndex:0})}else this._images.push({byteWidth:A(f,E,b),height:g,lineIndex:0});b===8?this._xComparison=E:b===16?this._xComparison=E*2:this._xComparison=1};l.prototype.start=function(){this.read(this._images[this._imageIndex].byteWidth+1,this._reverseFilterLine.bind(this))},l.prototype._unFilterType1=function(u,p,f){let g=this._xComparison,m=g-1;for(let E=0;E<f;E++){let b=u[1+E],y=E>m?p[E-g]:0;p[E]=b+y}},l.prototype._unFilterType2=function(u,p,f){let g=this._lastLine;for(let m=0;m<f;m++){let E=u[1+m],b=g?g[m]:0;p[m]=E+b}},l.prototype._unFilterType3=function(u,p,f){let g=this._xComparison,m=g-1,E=this._lastLine;for(let b=0;b<f;b++){let y=u[1+b],Q=E?E[b]:0,v=b>m?p[b-g]:0,I=Math.floor((v+Q)/2);p[b]=y+I}},l.prototype._unFilterType4=function(u,p,f){let g=this._xComparison,m=g-1,E=this._lastLine;for(let b=0;b<f;b++){let y=u[1+b],Q=E?E[b]:0,v=b>m?p[b-g]:0,I=b>m&&E?E[b-g]:0,F=a(v,Q,I);p[b]=y+F}},l.prototype._reverseFilterLine=function(u){let p=u[0],f,g=this._images[this._imageIndex],m=g.byteWidth;if(p===0)f=u.slice(1,m+1);else switch(f=Buffer.alloc(m),p){case 1:this._unFilterType1(u,f,m);break;case 2:this._unFilterType2(u,f,m);break;case 3:this._unFilterType3(u,f,m);break;case 4:this._unFilterType4(u,f,m);break;default:throw new Error("Unrecognised filter type - "+p)}this.write(f),g.lineIndex++,g.lineIndex>=g.height?(this._lastLine=null,this._imageIndex++,g=this._images[this._imageIndex]):this._lastLine=f,g?this.read(g.byteWidth+1,this._reverseFilterLine.bind(this)):(this._lastLine=null,this.complete())}}),TF=Ge((r,e)=>{"use strict";var i=We("util"),a=r0(),A=s0(),l=e.exports=function(u){a.call(this);let p=[],f=this;this._filter=new A(u,{read:this.read.bind(this),write:function(g){p.push(g)},complete:function(){f.emit("complete",Buffer.concat(p))}}),this._filter.start()};i.inherits(l,a)}),ts=Ge((r,e)=>{"use strict";e.exports={PNG_SIGNATURE:[137,80,78,71,13,10,26,10],TYPE_IHDR:1229472850,TYPE_IEND:1229278788,TYPE_IDAT:1229209940,TYPE_PLTE:1347179589,TYPE_tRNS:1951551059,TYPE_gAMA:1732332865,COLORTYPE_GRAYSCALE:0,COLORTYPE_PALETTE:1,COLORTYPE_COLOR:2,COLORTYPE_ALPHA:4,COLORTYPE_PALETTE_COLOR:3,COLORTYPE_COLOR_ALPHA:6,COLORTYPE_TO_BPP_MAP:{0:1,2:3,3:1,4:2,6:4},GAMMA_DIVISION:1e5}}),a0=Ge((r,e)=>{"use strict";var i=[];(function(){for(let A=0;A<256;A++){let l=A;for(let u=0;u<8;u++)l&1?l=3988292384^l>>>1:l=l>>>1;i[A]=l}})();var a=e.exports=function(){this._crc=-1};a.prototype.write=function(A){for(let l=0;l<A.length;l++)this._crc=i[(this._crc^A[l])&255]^this._crc>>>8;return!0},a.prototype.crc32=function(){return this._crc^-1},a.crc32=function(A){let l=-1;for(let u=0;u<A.length;u++)l=i[(l^A[u])&255]^l>>>8;return l^-1}}),o0=Ge((r,e)=>{"use strict";var i=ts(),a=a0(),A=e.exports=function(l,u){this._options=l,l.checkCRC=l.checkCRC!==!1,this._hasIHDR=!1,this._hasIEND=!1,this._emittedHeadersFinished=!1,this._palette=[],this._colorType=0,this._chunks={},this._chunks[i.TYPE_IHDR]=this._handleIHDR.bind(this),this._chunks[i.TYPE_IEND]=this._handleIEND.bind(this),this._chunks[i.TYPE_IDAT]=this._handleIDAT.bind(this),this._chunks[i.TYPE_PLTE]=this._handlePLTE.bind(this),this._chunks[i.TYPE_tRNS]=this._handleTRNS.bind(this),this._chunks[i.TYPE_gAMA]=this._handleGAMA.bind(this),this.read=u.read,this.error=u.error,this.metadata=u.metadata,this.gamma=u.gamma,this.transColor=u.transColor,this.palette=u.palette,this.parsed=u.parsed,this.inflateData=u.inflateData,this.finished=u.finished,this.simpleTransparency=u.simpleTransparency,this.headersFinished=u.headersFinished||function(){}};A.prototype.start=function(){this.read(i.PNG_SIGNATURE.length,this._parseSignature.bind(this))},A.prototype._parseSignature=function(l){let u=i.PNG_SIGNATURE;for(let p=0;p<u.length;p++)if(l[p]!==u[p]){this.error(new Error("Invalid file signature"));return}this.read(8,this._parseChunkBegin.bind(this))},A.prototype._parseChunkBegin=function(l){let u=l.readUInt32BE(0),p=l.readUInt32BE(4),f="";for(let m=4;m<8;m++)f+=String.fromCharCode(l[m]);let g=!!(l[4]&32);if(!this._hasIHDR&&p!==i.TYPE_IHDR){this.error(new Error("Expected IHDR on beggining"));return}if(this._crc=new a,this._crc.write(Buffer.from(f)),this._chunks[p])return this._chunks[p](u);if(!g){this.error(new Error("Unsupported critical chunk type "+f));return}this.read(u+4,this._skipChunk.bind(this))},A.prototype._skipChunk=function(){this.read(8,this._parseChunkBegin.bind(this))},A.prototype._handleChunkEnd=function(){this.read(4,this._parseChunkEnd.bind(this))},A.prototype._parseChunkEnd=function(l){let u=l.readInt32BE(0),p=this._crc.crc32();if(this._options.checkCRC&&p!==u){this.error(new Error("Crc error - "+u+" - "+p));return}this._hasIEND||this.read(8,this._parseChunkBegin.bind(this))},A.prototype._handleIHDR=function(l){this.read(l,this._parseIHDR.bind(this))},A.prototype._parseIHDR=function(l){this._crc.write(l);let u=l.readUInt32BE(0),p=l.readUInt32BE(4),f=l[8],g=l[9],m=l[10],E=l[11],b=l[12];if(f!==8&&f!==4&&f!==2&&f!==1&&f!==16){this.error(new Error("Unsupported bit depth "+f));return}if(!(g in i.COLORTYPE_TO_BPP_MAP)){this.error(new Error("Unsupported color type"));return}if(m!==0){this.error(new Error("Unsupported compression method"));return}if(E!==0){this.error(new Error("Unsupported filter method"));return}if(b!==0&&b!==1){this.error(new Error("Unsupported interlace method"));return}this._colorType=g;let y=i.COLORTYPE_TO_BPP_MAP[this._colorType];this._hasIHDR=!0,this.metadata({width:u,height:p,depth:f,interlace:!!b,palette:!!(g&i.COLORTYPE_PALETTE),color:!!(g&i.COLORTYPE_COLOR),alpha:!!(g&i.COLORTYPE_ALPHA),bpp:y,colorType:g}),this._handleChunkEnd()},A.prototype._handlePLTE=function(l){this.read(l,this._parsePLTE.bind(this))},A.prototype._parsePLTE=function(l){this._crc.write(l);let u=Math.floor(l.length/3);for(let p=0;p<u;p++)this._palette.push([l[p*3],l[p*3+1],l[p*3+2],255]);this.palette(this._palette),this._handleChunkEnd()},A.prototype._handleTRNS=function(l){this.simpleTransparency(),this.read(l,this._parseTRNS.bind(this))},A.prototype._parseTRNS=function(l){if(this._crc.write(l),this._colorType===i.COLORTYPE_PALETTE_COLOR){if(this._palette.length===0){this.error(new Error("Transparency chunk must be after palette"));return}if(l.length>this._palette.length){this.error(new Error("More transparent colors than palette size"));return}for(let u=0;u<l.length;u++)this._palette[u][3]=l[u];this.palette(this._palette)}this._colorType===i.COLORTYPE_GRAYSCALE&&this.transColor([l.readUInt16BE(0)]),this._colorType===i.COLORTYPE_COLOR&&this.transColor([l.readUInt16BE(0),l.readUInt16BE(2),l.readUInt16BE(4)]),this._handleChunkEnd()},A.prototype._handleGAMA=function(l){this.read(l,this._parseGAMA.bind(this))},A.prototype._parseGAMA=function(l){this._crc.write(l),this.gamma(l.readUInt32BE(0)/i.GAMMA_DIVISION),this._handleChunkEnd()},A.prototype._handleIDAT=function(l){this._emittedHeadersFinished||(this._emittedHeadersFinished=!0,this.headersFinished()),this.read(-l,this._parseIDAT.bind(this,l))},A.prototype._parseIDAT=function(l,u){if(this._crc.write(u),this._colorType===i.COLORTYPE_PALETTE_COLOR&&this._palette.length===0)throw new Error("Expected palette not found");this.inflateData(u);let p=l-u.length;p>0?this._handleIDAT(p):this._handleChunkEnd()},A.prototype._handleIEND=function(l){this.read(l,this._parseIEND.bind(this))},A.prototype._parseIEND=function(l){this._crc.write(l),this._hasIEND=!0,this._handleChunkEnd(),this.finished&&this.finished()}}),A0=Ge(r=>{"use strict";var e=i0(),i=[function(){},function(p,f,g,m){if(m===f.length)throw new Error("Ran out of data");let E=f[m];p[g]=E,p[g+1]=E,p[g+2]=E,p[g+3]=255},function(p,f,g,m){if(m+1>=f.length)throw new Error("Ran out of data");let E=f[m];p[g]=E,p[g+1]=E,p[g+2]=E,p[g+3]=f[m+1]},function(p,f,g,m){if(m+2>=f.length)throw new Error("Ran out of data");p[g]=f[m],p[g+1]=f[m+1],p[g+2]=f[m+2],p[g+3]=255},function(p,f,g,m){if(m+3>=f.length)throw new Error("Ran out of data");p[g]=f[m],p[g+1]=f[m+1],p[g+2]=f[m+2],p[g+3]=f[m+3]}],a=[function(){},function(p,f,g,m){let E=f[0];p[g]=E,p[g+1]=E,p[g+2]=E,p[g+3]=m},function(p,f,g){let m=f[0];p[g]=m,p[g+1]=m,p[g+2]=m,p[g+3]=f[1]},function(p,f,g,m){p[g]=f[0],p[g+1]=f[1],p[g+2]=f[2],p[g+3]=m},function(p,f,g){p[g]=f[0],p[g+1]=f[1],p[g+2]=f[2],p[g+3]=f[3]}];function A(p,f){let g=[],m=0;function E(){if(m===p.length)throw new Error("Ran out of data");let b=p[m];m++;let y,Q,v,I,F,N,_,M;switch(f){default:throw new Error("unrecognised depth");case 16:_=p[m],m++,g.push((b<<8)+_);break;case 4:_=b&15,M=b>>4,g.push(M,_);break;case 2:F=b&3,N=b>>2&3,_=b>>4&3,M=b>>6&3,g.push(M,_,N,F);break;case 1:y=b&1,Q=b>>1&1,v=b>>2&1,I=b>>3&1,F=b>>4&1,N=b>>5&1,_=b>>6&1,M=b>>7&1,g.push(M,_,N,F,I,v,Q,y);break}}return{get:function(b){for(;g.length<b;)E();let y=g.slice(0,b);return g=g.slice(b),y},resetAfterLine:function(){g.length=0},end:function(){if(m!==p.length)throw new Error("extra data found")}}}function l(p,f,g,m,E,b){let y=p.width,Q=p.height,v=p.index;for(let I=0;I<Q;I++)for(let F=0;F<y;F++){let N=g(F,I,v);i[m](f,E,N,b),b+=m}return b}function u(p,f,g,m,E,b){let y=p.width,Q=p.height,v=p.index;for(let I=0;I<Q;I++){for(let F=0;F<y;F++){let N=E.get(m),_=g(F,I,v);a[m](f,N,_,b)}E.resetAfterLine()}}r.dataToBitMap=function(p,f){let g=f.width,m=f.height,E=f.depth,b=f.bpp,y=f.interlace,Q;E!==8&&(Q=A(p,E));let v;E<=8?v=Buffer.alloc(g*m*4):v=new Uint16Array(g*m*4);let I=Math.pow(2,E)-1,F=0,N,_;if(y)N=e.getImagePasses(g,m),_=e.getInterlaceIterator(g,m);else{let M=0;_=function(){let Y=M;return M+=4,Y},N=[{width:g,height:m}]}for(let M=0;M<N.length;M++)E===8?F=l(N[M],v,_,b,p,F):u(N[M],v,_,b,Q,I);if(E===8){if(F!==p.length)throw new Error("extra data found")}else Q.end();return v}}),l0=Ge((r,e)=>{"use strict";function i(l,u,p,f,g){let m=0;for(let E=0;E<f;E++)for(let b=0;b<p;b++){let y=g[l[m]];if(!y)throw new Error("index "+l[m]+" not in palette");for(let Q=0;Q<4;Q++)u[m+Q]=y[Q];m+=4}}function a(l,u,p,f,g){let m=0;for(let E=0;E<f;E++)for(let b=0;b<p;b++){let y=!1;if(g.length===1?g[0]===l[m]&&(y=!0):g[0]===l[m]&&g[1]===l[m+1]&&g[2]===l[m+2]&&(y=!0),y)for(let Q=0;Q<4;Q++)u[m+Q]=0;m+=4}}function A(l,u,p,f,g){let m=255,E=Math.pow(2,g)-1,b=0;for(let y=0;y<f;y++)for(let Q=0;Q<p;Q++){for(let v=0;v<4;v++)u[b+v]=Math.floor(l[b+v]*m/E+.5);b+=4}}e.exports=function(l,u,p=!1){let f=u.depth,g=u.width,m=u.height,E=u.colorType,b=u.transColor,y=u.palette,Q=l;return E===3?i(l,Q,g,m,y):(b&&a(l,Q,g,m,b),f!==8&&!p&&(f===16&&(Q=Buffer.alloc(g*m*4)),A(l,Q,g,m,f))),Q}}),SF=Ge((r,e)=>{"use strict";var i=We("util"),a=We("zlib"),A=r0(),l=TF(),u=o0(),p=A0(),f=l0(),g=e.exports=function(m){A.call(this),this._parser=new u(m,{read:this.read.bind(this),error:this._handleError.bind(this),metadata:this._handleMetaData.bind(this),gamma:this.emit.bind(this,"gamma"),palette:this._handlePalette.bind(this),transColor:this._handleTransColor.bind(this),finished:this._finished.bind(this),inflateData:this._inflateData.bind(this),simpleTransparency:this._simpleTransparency.bind(this),headersFinished:this._headersFinished.bind(this)}),this._options=m,this.writable=!0,this._parser.start()};i.inherits(g,A),g.prototype._handleError=function(m){this.emit("error",m),this.writable=!1,this.destroy(),this._inflate&&this._inflate.destroy&&this._inflate.destroy(),this._filter&&(this._filter.destroy(),this._filter.on("error",function(){})),this.errord=!0},g.prototype._inflateData=function(m){if(!this._inflate)if(this._bitmapInfo.interlace)this._inflate=a.createInflate(),this._inflate.on("error",this.emit.bind(this,"error")),this._filter.on("complete",this._complete.bind(this)),this._inflate.pipe(this._filter);else{let E=((this._bitmapInfo.width*this._bitmapInfo.bpp*this._bitmapInfo.depth+7>>3)+1)*this._bitmapInfo.height,b=Math.max(E,a.Z_MIN_CHUNK);this._inflate=a.createInflate({chunkSize:b});let y=E,Q=this.emit.bind(this,"error");this._inflate.on("error",function(I){y&&Q(I)}),this._filter.on("complete",this._complete.bind(this));let v=this._filter.write.bind(this._filter);this._inflate.on("data",function(I){y&&(I.length>y&&(I=I.slice(0,y)),y-=I.length,v(I))}),this._inflate.on("end",this._filter.end.bind(this._filter))}this._inflate.write(m)},g.prototype._handleMetaData=function(m){this._metaData=m,this._bitmapInfo=Object.create(m),this._filter=new l(this._bitmapInfo)},g.prototype._handleTransColor=function(m){this._bitmapInfo.transColor=m},g.prototype._handlePalette=function(m){this._bitmapInfo.palette=m},g.prototype._simpleTransparency=function(){this._metaData.alpha=!0},g.prototype._headersFinished=function(){this.emit("metadata",this._metaData)},g.prototype._finished=function(){this.errord||(this._inflate?this._inflate.end():this.emit("error","No Inflate block"))},g.prototype._complete=function(m){if(this.errord)return;let E;try{let b=p.dataToBitMap(m,this._bitmapInfo);E=f(b,this._bitmapInfo,this._options.skipRescale),b=null}catch(b){this._handleError(b);return}this.emit("parsed",E)}}),DF=Ge((r,e)=>{"use strict";var i=ts();e.exports=function(a,A,l,u){let p=[i.COLORTYPE_COLOR_ALPHA,i.COLORTYPE_ALPHA].indexOf(u.colorType)!==-1;if(u.colorType===u.inputColorType){let F=(function(){let N=new ArrayBuffer(2);return new DataView(N).setInt16(0,256,!0),new Int16Array(N)[0]!==256})();if(u.bitDepth===8||u.bitDepth===16&&F)return a}let f=u.bitDepth!==16?a:new Uint16Array(a.buffer),g=255,m=i.COLORTYPE_TO_BPP_MAP[u.inputColorType];m===4&&!u.inputHasAlpha&&(m=3);let E=i.COLORTYPE_TO_BPP_MAP[u.colorType];u.bitDepth===16&&(g=65535,E*=2);let b=Buffer.alloc(A*l*E),y=0,Q=0,v=u.bgColor||{};v.red===void 0&&(v.red=g),v.green===void 0&&(v.green=g),v.blue===void 0&&(v.blue=g);function I(){let F,N,_,M=g;switch(u.inputColorType){case i.COLORTYPE_COLOR_ALPHA:M=f[y+3],F=f[y],N=f[y+1],_=f[y+2];break;case i.COLORTYPE_COLOR:F=f[y],N=f[y+1],_=f[y+2];break;case i.COLORTYPE_ALPHA:M=f[y+1],F=f[y],N=F,_=F;break;case i.COLORTYPE_GRAYSCALE:F=f[y],N=F,_=F;break;default:throw new Error("input color type:"+u.inputColorType+" is not supported at present")}return u.inputHasAlpha&&(p||(M/=g,F=Math.min(Math.max(Math.round((1-M)*v.red+M*F),0),g),N=Math.min(Math.max(Math.round((1-M)*v.green+M*N),0),g),_=Math.min(Math.max(Math.round((1-M)*v.blue+M*_),0),g))),{red:F,green:N,blue:_,alpha:M}}for(let F=0;F<l;F++)for(let N=0;N<A;N++){let _=I(f,y);switch(u.colorType){case i.COLORTYPE_COLOR_ALPHA:case i.COLORTYPE_COLOR:u.bitDepth===8?(b[Q]=_.red,b[Q+1]=_.green,b[Q+2]=_.blue,p&&(b[Q+3]=_.alpha)):(b.writeUInt16BE(_.red,Q),b.writeUInt16BE(_.green,Q+2),b.writeUInt16BE(_.blue,Q+4),p&&b.writeUInt16BE(_.alpha,Q+6));break;case i.COLORTYPE_ALPHA:case i.COLORTYPE_GRAYSCALE:{let M=(_.red+_.green+_.blue)/3;u.bitDepth===8?(b[Q]=M,p&&(b[Q+1]=_.alpha)):(b.writeUInt16BE(M,Q),p&&b.writeUInt16BE(_.alpha,Q+2));break}default:throw new Error("unrecognised color Type "+u.colorType)}y+=m,Q+=E}return b}}),MF=Ge((r,e)=>{"use strict";var i=n0();function a(v,I,F,N,_){for(let M=0;M<F;M++)N[_+M]=v[I+M]}function A(v,I,F){let N=0,_=I+F;for(let M=I;M<_;M++)N+=Math.abs(v[M]);return N}function l(v,I,F,N,_,M){for(let Y=0;Y<F;Y++){let P=Y>=M?v[I+Y-M]:0,R=v[I+Y]-P;N[_+Y]=R}}function u(v,I,F,N){let _=0;for(let M=0;M<F;M++){let Y=M>=N?v[I+M-N]:0,P=v[I+M]-Y;_+=Math.abs(P)}return _}function p(v,I,F,N,_){for(let M=0;M<F;M++){let Y=I>0?v[I+M-F]:0,P=v[I+M]-Y;N[_+M]=P}}function f(v,I,F){let N=0,_=I+F;for(let M=I;M<_;M++){let Y=I>0?v[M-F]:0,P=v[M]-Y;N+=Math.abs(P)}return N}function g(v,I,F,N,_,M){for(let Y=0;Y<F;Y++){let P=Y>=M?v[I+Y-M]:0,R=I>0?v[I+Y-F]:0,re=v[I+Y]-(P+R>>1);N[_+Y]=re}}function m(v,I,F,N){let _=0;for(let M=0;M<F;M++){let Y=M>=N?v[I+M-N]:0,P=I>0?v[I+M-F]:0,R=v[I+M]-(Y+P>>1);_+=Math.abs(R)}return _}function E(v,I,F,N,_,M){for(let Y=0;Y<F;Y++){let P=Y>=M?v[I+Y-M]:0,R=I>0?v[I+Y-F]:0,re=I>0&&Y>=M?v[I+Y-(F+M)]:0,q=v[I+Y]-i(P,R,re);N[_+Y]=q}}function b(v,I,F,N){let _=0;for(let M=0;M<F;M++){let Y=M>=N?v[I+M-N]:0,P=I>0?v[I+M-F]:0,R=I>0&&M>=N?v[I+M-(F+N)]:0,re=v[I+M]-i(Y,P,R);_+=Math.abs(re)}return _}var y={0:a,1:l,2:p,3:g,4:E},Q={0:A,1:u,2:f,3:m,4:b};e.exports=function(v,I,F,N,_){let M;if(!("filterType"in N)||N.filterType===-1)M=[0,1,2,3,4];else if(typeof N.filterType=="number")M=[N.filterType];else throw new Error("unrecognised filter types");N.bitDepth===16&&(_*=2);let Y=I*_,P=0,R=0,re=Buffer.alloc((Y+1)*F),q=M[0];for(let le=0;le<F;le++){if(M.length>1){let Ae=1/0;for(let ie=0;ie<M.length;ie++){let se=Q[M[ie]](v,R,Y,_);se<Ae&&(q=M[ie],Ae=se)}}re[P]=q,P++,y[q](v,R,Y,re,P,_),P+=Y,R+=Y}return re}}),c0=Ge((r,e)=>{"use strict";var i=ts(),a=a0(),A=DF(),l=MF(),u=We("zlib"),p=e.exports=function(f){if(this._options=f,f.deflateChunkSize=f.deflateChunkSize||32*1024,f.deflateLevel=f.deflateLevel!=null?f.deflateLevel:9,f.deflateStrategy=f.deflateStrategy!=null?f.deflateStrategy:3,f.inputHasAlpha=f.inputHasAlpha!=null?f.inputHasAlpha:!0,f.deflateFactory=f.deflateFactory||u.createDeflate,f.bitDepth=f.bitDepth||8,f.colorType=typeof f.colorType=="number"?f.colorType:i.COLORTYPE_COLOR_ALPHA,f.inputColorType=typeof f.inputColorType=="number"?f.inputColorType:i.COLORTYPE_COLOR_ALPHA,[i.COLORTYPE_GRAYSCALE,i.COLORTYPE_COLOR,i.COLORTYPE_COLOR_ALPHA,i.COLORTYPE_ALPHA].indexOf(f.colorType)===-1)throw new Error("option color type:"+f.colorType+" is not supported at present");if([i.COLORTYPE_GRAYSCALE,i.COLORTYPE_COLOR,i.COLORTYPE_COLOR_ALPHA,i.COLORTYPE_ALPHA].indexOf(f.inputColorType)===-1)throw new Error("option input color type:"+f.inputColorType+" is not supported at present");if(f.bitDepth!==8&&f.bitDepth!==16)throw new Error("option bit depth:"+f.bitDepth+" is not supported at present")};p.prototype.getDeflateOptions=function(){return{chunkSize:this._options.deflateChunkSize,level:this._options.deflateLevel,strategy:this._options.deflateStrategy}},p.prototype.createDeflate=function(){return this._options.deflateFactory(this.getDeflateOptions())},p.prototype.filterData=function(f,g,m){let E=A(f,g,m,this._options),b=i.COLORTYPE_TO_BPP_MAP[this._options.colorType];return l(E,g,m,this._options,b)},p.prototype._packChunk=function(f,g){let m=g?g.length:0,E=Buffer.alloc(m+12);return E.writeUInt32BE(m,0),E.writeUInt32BE(f,4),g&&g.copy(E,8),E.writeInt32BE(a.crc32(E.slice(4,E.length-4)),E.length-4),E},p.prototype.packGAMA=function(f){let g=Buffer.alloc(4);return g.writeUInt32BE(Math.floor(f*i.GAMMA_DIVISION),0),this._packChunk(i.TYPE_gAMA,g)},p.prototype.packIHDR=function(f,g){let m=Buffer.alloc(13);return m.writeUInt32BE(f,0),m.writeUInt32BE(g,4),m[8]=this._options.bitDepth,m[9]=this._options.colorType,m[10]=0,m[11]=0,m[12]=0,this._packChunk(i.TYPE_IHDR,m)},p.prototype.packIDAT=function(f){return this._packChunk(i.TYPE_IDAT,f)},p.prototype.packIEND=function(){return this._packChunk(i.TYPE_IEND,null)}}),UF=Ge((r,e)=>{"use strict";var i=We("util"),a=We("stream"),A=ts(),l=c0(),u=e.exports=function(p){a.call(this);let f=p||{};this._packer=new l(f),this._deflate=this._packer.createDeflate(),this.readable=!0};i.inherits(u,a),u.prototype.pack=function(p,f,g,m){this.emit("data",Buffer.from(A.PNG_SIGNATURE)),this.emit("data",this._packer.packIHDR(f,g)),m&&this.emit("data",this._packer.packGAMA(m));let E=this._packer.filterData(p,f,g);this._deflate.on("error",this.emit.bind(this,"error")),this._deflate.on("data",function(b){this.emit("data",this._packer.packIDAT(b))}.bind(this)),this._deflate.on("end",function(){this.emit("data",this._packer.packIEND()),this.emit("end")}.bind(this)),this._deflate.end(E)}}),NF=Ge((r,e)=>{"use strict";var i=We("assert").ok,a=We("zlib"),A=We("util"),l=We("buffer").kMaxLength;function u(E){if(!(this instanceof u))return new u(E);E&&E.chunkSize<a.Z_MIN_CHUNK&&(E.chunkSize=a.Z_MIN_CHUNK),a.Inflate.call(this,E),this._offset=this._offset===void 0?this._outOffset:this._offset,this._buffer=this._buffer||this._outBuffer,E&&E.maxLength!=null&&(this._maxLength=E.maxLength)}function p(E){return new u(E)}function f(E,b){b&&process.nextTick(b),E._handle&&(E._handle.close(),E._handle=null)}u.prototype._processChunk=function(E,b,y){if(typeof y=="function")return a.Inflate._processChunk.call(this,E,b,y);let Q=this,v=E&&E.length,I=this._chunkSize-this._offset,F=this._maxLength,N=0,_=[],M=0,Y;this.on("error",function(q){Y=q});function P(q,le){if(Q._hadError)return;let Ae=I-le;if(i(Ae>=0,"have should not go down"),Ae>0){let ie=Q._buffer.slice(Q._offset,Q._offset+Ae);if(Q._offset+=Ae,ie.length>F&&(ie=ie.slice(0,F)),_.push(ie),M+=ie.length,F-=ie.length,F===0)return!1}return(le===0||Q._offset>=Q._chunkSize)&&(I=Q._chunkSize,Q._offset=0,Q._buffer=Buffer.allocUnsafe(Q._chunkSize)),le===0?(N+=v-q,v=q,!0):!1}i(this._handle,"zlib binding closed");let R;do R=this._handle.writeSync(b,E,N,v,this._buffer,this._offset,I),R=R||this._writeState;while(!this._hadError&&P(R[0],R[1]));if(this._hadError)throw Y;if(M>=l)throw f(this),new RangeError("Cannot create final Buffer. It would be larger than 0x"+l.toString(16)+" bytes");let re=Buffer.concat(_,M);return f(this),re},A.inherits(u,a.Inflate);function g(E,b){if(typeof b=="string"&&(b=Buffer.from(b)),!(b instanceof Buffer))throw new TypeError("Not a string or buffer");let y=E._finishFlushFlag;return y==null&&(y=a.Z_FINISH),E._processChunk(b,y)}function m(E,b){return g(new u(b),E)}e.exports=r=m,r.Inflate=u,r.createInflate=p,r.inflateSync=m}),u0=Ge((r,e)=>{"use strict";var i=e.exports=function(a){this._buffer=a,this._reads=[]};i.prototype.read=function(a,A){this._reads.push({length:Math.abs(a),allowLess:a<0,func:A})},i.prototype.process=function(){for(;this._reads.length>0&&this._buffer.length;){let a=this._reads[0];if(this._buffer.length&&(this._buffer.length>=a.length||a.allowLess)){this._reads.shift();let A=this._buffer;this._buffer=A.slice(a.length),a.func.call(this,A.slice(0,a.length))}else break}if(this._reads.length>0)throw new Error("There are some read requests waitng on finished stream");if(this._buffer.length>0)throw new Error("unrecognised content at end of stream")}}),kF=Ge(r=>{"use strict";var e=u0(),i=s0();r.process=function(a,A){let l=[],u=new e(a);return new i(A,{read:u.read.bind(u),write:function(p){l.push(p)},complete:function(){}}).start(),u.process(),Buffer.concat(l)}}),YF=Ge((r,e)=>{"use strict";var i=!0,a=We("zlib"),A=NF();a.deflateSync||(i=!1);var l=u0(),u=kF(),p=o0(),f=A0(),g=l0();e.exports=function(m,E){if(!i)throw new Error("To use the sync capability of this library in old node versions, please pin pngjs to v2.3.0");let b;function y(se){b=se}let Q;function v(se){Q=se}function I(se){Q.transColor=se}function F(se){Q.palette=se}function N(){Q.alpha=!0}let _;function M(se){_=se}let Y=[];function P(se){Y.push(se)}let R=new l(m);if(new p(E,{read:R.read.bind(R),error:y,metadata:v,gamma:M,palette:F,transColor:I,inflateData:P,simpleTransparency:N}).start(),R.process(),b)throw b;let re=Buffer.concat(Y);Y.length=0;let q;if(Q.interlace)q=a.inflateSync(re);else{let se=((Q.width*Q.bpp*Q.depth+7>>3)+1)*Q.height;q=A(re,{chunkSize:se,maxLength:se})}if(re=null,!q||!q.length)throw new Error("bad png - invalid inflate data response");let le=u.process(q,Q);re=null;let Ae=f.dataToBitMap(le,Q);le=null;let ie=g(Ae,Q,E.skipRescale);return Q.data=ie,Q.gamma=_||0,Q}}),OF=Ge((r,e)=>{"use strict";var i=!0,a=We("zlib");a.deflateSync||(i=!1);var A=ts(),l=c0();e.exports=function(u,p){if(!i)throw new Error("To use the sync capability of this library in old node versions, please pin pngjs to v2.3.0");let f=p||{},g=new l(f),m=[];m.push(Buffer.from(A.PNG_SIGNATURE)),m.push(g.packIHDR(u.width,u.height)),u.gamma&&m.push(g.packGAMA(u.gamma));let E=g.filterData(u.data,u.width,u.height),b=a.deflateSync(E,g.getDeflateOptions());if(E=null,!b||!b.length)throw new Error("bad png - invalid compressed data response");return m.push(g.packIDAT(b)),m.push(g.packIEND()),Buffer.concat(m)}}),RF=Ge(r=>{"use strict";var e=YF(),i=OF();r.read=function(a,A){return e(a,A||{})},r.write=function(a,A){return i(a,A)}}),GF=Ge(r=>{"use strict";var e=We("util"),i=We("stream"),a=SF(),A=UF(),l=RF(),u=r.PNG=function(p){i.call(this),p=p||{},this.width=p.width|0,this.height=p.height|0,this.data=this.width>0&&this.height>0?Buffer.alloc(4*this.width*this.height):null,p.fill&&this.data&&this.data.fill(0),this.gamma=0,this.readable=this.writable=!0,this._parser=new a(p),this._parser.on("error",this.emit.bind(this,"error")),this._parser.on("close",this._handleClose.bind(this)),this._parser.on("metadata",this._metadata.bind(this)),this._parser.on("gamma",this._gamma.bind(this)),this._parser.on("parsed",function(f){this.data=f,this.emit("parsed",f)}.bind(this)),this._packer=new A(p),this._packer.on("data",this.emit.bind(this,"data")),this._packer.on("end",this.emit.bind(this,"end")),this._parser.on("close",this._handleClose.bind(this)),this._packer.on("error",this.emit.bind(this,"error"))};e.inherits(u,i),u.sync=l,u.prototype.pack=function(){return!this.data||!this.data.length?(this.emit("error","No data provided"),this):(process.nextTick(function(){this._packer.pack(this.data,this.width,this.height,this.gamma)}.bind(this)),this)},u.prototype.parse=function(p,f){if(f){let g,m;g=function(E){this.removeListener("error",m),this.data=E,f(null,this)}.bind(this),m=function(E){this.removeListener("parsed",g),f(E,null)}.bind(this),this.once("parsed",g),this.once("error",m)}return this.end(p),this},u.prototype.write=function(p){return this._parser.write(p),!0},u.prototype.end=function(p){this._parser.end(p)},u.prototype._metadata=function(p){this.width=p.width,this.height=p.height,this.emit("metadata",p)},u.prototype._gamma=function(p){this.gamma=p},u.prototype._handleClose=function(){!this._parser.writable&&!this._packer.readable&&this.emit("close")},u.bitblt=function(p,f,g,m,E,b,y,Q){if(g|=0,m|=0,E|=0,b|=0,y|=0,Q|=0,g>p.width||m>p.height||g+E>p.width||m+b>p.height)throw new Error("bitblt reading outside image");if(y>f.width||Q>f.height||y+E>f.width||Q+b>f.height)throw new Error("bitblt writing outside image");for(let v=0;v<b;v++)p.data.copy(f.data,(Q+v)*f.width+y<<2,(m+v)*p.width+g<<2,(m+v)*p.width+g+E<<2)},u.prototype.bitblt=function(p,f,g,m,E,b,y){return u.bitblt(this,p,f,g,m,E,b,y),this},u.adjustGamma=function(p){if(p.gamma){for(let f=0;f<p.height;f++)for(let g=0;g<p.width;g++){let m=p.width*f+g<<2;for(let E=0;E<3;E++){let b=p.data[m+E]/255;b=Math.pow(b,1/2.2/p.gamma),p.data[m+E]=Math.round(b*255)}}p.gamma=0}},u.prototype.adjustGamma=function(){u.adjustGamma(this)}}),LF=Ge((r,e)=>{var i=i||function(l){return Buffer.from(l).toString("base64")};function a(l){var u=this,p=Math.round,f=Math.floor,g=new Array(64),m=new Array(64),E=new Array(64),b=new Array(64),y,Q,v,I,F=new Array(65535),N=new Array(65535),_=new Array(64),M=new Array(64),Y=[],P=0,R=7,re=new Array(64),q=new Array(64),le=new Array(64),Ae=new Array(256),ie=new Array(2048),se,ye=[0,1,5,6,14,15,27,28,2,4,7,13,16,26,29,42,3,8,12,17,25,30,41,43,9,11,18,24,31,40,44,53,10,19,23,32,39,45,52,54,20,22,33,38,46,51,55,60,21,34,37,47,50,56,59,61,35,36,48,49,57,58,62,63],pe=[0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0],Pe=[0,1,2,3,4,5,6,7,8,9,10,11],Be=[0,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125],Ee=[1,2,3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,129,145,161,8,35,66,177,193,21,82,209,240,36,51,98,114,130,9,10,22,23,24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,225,226,227,228,229,230,231,232,233,234,241,242,243,244,245,246,247,248,249,250],me=[0,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0],Ne=[0,1,2,3,4,5,6,7,8,9,10,11],Fe=[0,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119],W=[0,1,2,3,17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,129,8,20,66,145,161,177,193,9,35,51,82,240,21,98,114,209,10,22,36,52,225,37,241,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,130,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,226,227,228,229,230,231,232,233,234,242,243,244,245,246,247,248,249,250];function O(te){for(var ve=[16,11,10,16,24,40,51,61,12,12,14,19,26,58,60,55,14,13,16,24,40,57,69,56,14,17,22,29,51,87,80,62,18,22,37,56,68,109,103,77,24,35,55,64,81,104,113,92,49,64,78,87,103,121,120,101,72,92,95,98,112,100,103,99],be=0;be<64;be++){var ue=f((ve[be]*te+50)/100);ue<1?ue=1:ue>255&&(ue=255),g[ye[be]]=ue}for(var Me=[17,18,24,47,99,99,99,99,18,21,26,66,99,99,99,99,24,26,56,99,99,99,99,99,47,66,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99],He=0;He<64;He++){var Le=f((Me[He]*te+50)/100);Le<1?Le=1:Le>255&&(Le=255),m[ye[He]]=Le}for(var Oe=[1,1.387039845,1.306562965,1.175875602,1,.785694958,.5411961,.275899379],de=0,ge=0;ge<8;ge++)for(var oe=0;oe<8;oe++)E[de]=1/(g[ye[de]]*Oe[ge]*Oe[oe]*8),b[de]=1/(m[ye[de]]*Oe[ge]*Oe[oe]*8),de++}function J(te,ve){for(var be=0,ue=0,Me=new Array,He=1;He<=16;He++){for(var Le=1;Le<=te[He];Le++)Me[ve[ue]]=[],Me[ve[ue]][0]=be,Me[ve[ue]][1]=He,ue++,be++;be*=2}return Me}function X(){y=J(pe,Pe),Q=J(me,Ne),v=J(Be,Ee),I=J(Fe,W)}function j(){for(var te=1,ve=2,be=1;be<=15;be++){for(var ue=te;ue<ve;ue++)N[32767+ue]=be,F[32767+ue]=[],F[32767+ue][1]=be,F[32767+ue][0]=ue;for(var Me=-(ve-1);Me<=-te;Me++)N[32767+Me]=be,F[32767+Me]=[],F[32767+Me][1]=be,F[32767+Me][0]=ve-1+Me;te<<=1,ve<<=1}}function K(){for(var te=0;te<256;te++)ie[te]=19595*te,ie[te+256>>0]=38470*te,ie[te+512>>0]=7471*te+32768,ie[te+768>>0]=-11059*te,ie[te+1024>>0]=-21709*te,ie[te+1280>>0]=32768*te+8421375,ie[te+1536>>0]=-27439*te,ie[te+1792>>0]=-5329*te}function G(te){for(var ve=te[0],be=te[1]-1;be>=0;)ve&1<<be&&(P|=1<<R),be--,R--,R<0&&(P==255?(z(255),z(0)):z(P),R=7,P=0)}function z(te){Y.push(te)}function D(te){z(te>>8&255),z(te&255)}function fe(te,ve){var be,ue,Me,He,Le,Oe,de,ge,oe=0,ke,$=8,_e=64;for(ke=0;ke<$;++ke){be=te[oe],ue=te[oe+1],Me=te[oe+2],He=te[oe+3],Le=te[oe+4],Oe=te[oe+5],de=te[oe+6],ge=te[oe+7];var Ue=be+ge,je=be-ge,ot=ue+de,Ke=ue-de,ut=Me+Oe,bt=Me-Oe,xt=He+Le,Ir=He-Le,hr=Ue+xt,Fr=Ue-xt,Tr=ot+ut,ht=ot-ut;te[oe]=hr+Tr,te[oe+4]=hr-Tr;var V=(ht+Fr)*.707106781;te[oe+2]=Fr+V,te[oe+6]=Fr-V,hr=Ir+bt,Tr=bt+Ke,ht=Ke+je;var Vr=(hr-ht)*.382683433,he=.5411961*hr+Vr,pr=1.306562965*ht+Vr,hn=Tr*.707106781,is=je+hn,pn=je-hn;te[oe+5]=pn+he,te[oe+3]=pn-he,te[oe+1]=is+pr,te[oe+7]=is-pr,oe+=8}for(oe=0,ke=0;ke<$;++ke){be=te[oe],ue=te[oe+8],Me=te[oe+16],He=te[oe+24],Le=te[oe+32],Oe=te[oe+40],de=te[oe+48],ge=te[oe+56];var ns=be+ge,li=be-ge,ss=ue+de,as=ue-de,Fi=Me+Oe,fn=Me-Oe,os=He+Le,Na=He-Le,fr=ns+os,Ti=ns-os,Si=ss+Fi,ci=ss-Fi;te[oe]=fr+Si,te[oe+32]=fr-Si;var As=(ci+Ti)*.707106781;te[oe+16]=Ti+As,te[oe+48]=Ti-As,fr=Na+fn,Si=fn+as,ci=as+li;var ui=(fr-ci)*.382683433,dn=.5411961*fr+ui,ls=1.306562965*ci+ui,cs=Si*.707106781,us=li+cs,hs=li-cs;te[oe+40]=hs+dn,te[oe+24]=hs-dn,te[oe+8]=us+ls,te[oe+56]=us-ls,oe++}var Di;for(ke=0;ke<_e;++ke)Di=te[ke]*ve[ke],_[ke]=Di>0?Di+.5|0:Di-.5|0;return _}function ce(){D(65504),D(16),z(74),z(70),z(73),z(70),z(0),z(1),z(1),z(0),D(1),D(1),z(0),z(0)}function Qe(te){if(te){D(65505),te[0]===69&&te[1]===120&&te[2]===105&&te[3]===102?D(te.length+2):(D(te.length+5+2),z(69),z(120),z(105),z(102),z(0));for(var ve=0;ve<te.length;ve++)z(te[ve])}}function Z(te,ve){D(65472),D(17),z(8),D(ve),D(te),z(3),z(1),z(17),z(0),z(2),z(17),z(1),z(3),z(17),z(1)}function H(){D(65499),D(132),z(0);for(var te=0;te<64;te++)z(g[te]);z(1);for(var ve=0;ve<64;ve++)z(m[ve])}function ne(){D(65476),D(418),z(0);for(var te=0;te<16;te++)z(pe[te+1]);for(var ve=0;ve<=11;ve++)z(Pe[ve]);z(16);for(var be=0;be<16;be++)z(Be[be+1]);for(var ue=0;ue<=161;ue++)z(Ee[ue]);z(1);for(var Me=0;Me<16;Me++)z(me[Me+1]);for(var He=0;He<=11;He++)z(Ne[He]);z(17);for(var Le=0;Le<16;Le++)z(Fe[Le+1]);for(var Oe=0;Oe<=161;Oe++)z(W[Oe])}function Ye(te){typeof te>"u"||te.constructor!==Array||te.forEach(ve=>{if(typeof ve=="string"){D(65534);var be=ve.length;D(be+2);var ue;for(ue=0;ue<be;ue++)z(ve.charCodeAt(ue))}})}function De(){D(65498),D(12),z(3),z(1),z(0),z(2),z(17),z(3),z(17),z(0),z(63),z(0)}function it(te,ve,be,ue,Me){for(var He=Me[0],Le=Me[240],Oe,de=16,ge=63,oe=64,ke=fe(te,ve),$=0;$<oe;++$)M[ye[$]]=ke[$];var _e=M[0]-be;be=M[0],_e==0?G(ue[0]):(Oe=32767+_e,G(ue[N[Oe]]),G(F[Oe]));for(var Ue=63;Ue>0&&M[Ue]==0;Ue--);if(Ue==0)return G(He),be;for(var je=1,ot;je<=Ue;){for(var Ke=je;M[je]==0&&je<=Ue;++je);var ut=je-Ke;if(ut>=de){ot=ut>>4;for(var bt=1;bt<=ot;++bt)G(Le);ut=ut&15}Oe=32767+M[je],G(Me[(ut<<4)+N[Oe]]),G(F[Oe]),je++}return Ue!=ge&&G(He),be}function Ze(){for(var te=String.fromCharCode,ve=0;ve<256;ve++)Ae[ve]=te(ve)}this.encode=function(te,ve){var be=new Date().getTime();ve&&ze(ve),Y=new Array,P=0,R=7,D(65496),ce(),Ye(te.comments),Qe(te.exifBuffer),H(),Z(te.width,te.height),ne(),De();var ue=0,Me=0,He=0;P=0,R=7,this.encode.displayName="_encode_";for(var Le=te.data,Oe=te.width,de=te.height,ge=Oe*4,oe=Oe*3,ke,$=0,_e,Ue,je,ot,Ke,ut,bt,xt;$<de;){for(ke=0;ke<ge;){for(ot=ge*$+ke,Ke=ot,ut=-1,bt=0,xt=0;xt<64;xt++)bt=xt>>3,ut=(xt&7)*4,Ke=ot+bt*ge+ut,$+bt>=de&&(Ke-=ge*($+1+bt-de)),ke+ut>=ge&&(Ke-=ke+ut-ge+4),_e=Le[Ke++],Ue=Le[Ke++],je=Le[Ke++],re[xt]=(ie[_e]+ie[Ue+256>>0]+ie[je+512>>0]>>16)-128,q[xt]=(ie[_e+768>>0]+ie[Ue+1024>>0]+ie[je+1280>>0]>>16)-128,le[xt]=(ie[_e+1280>>0]+ie[Ue+1536>>0]+ie[je+1792>>0]>>16)-128;ue=it(re,E,ue,y,v),Me=it(q,b,Me,Q,I),He=it(le,b,He,Q,I),ke+=32}$+=8}if(R>=0){var Ir=[];Ir[1]=R+1,Ir[0]=(1<<R+1)-1,G(Ir)}if(D(65497),typeof e>"u")return new Uint8Array(Y);return Buffer.from(Y);var hr,Fr};function ze(te){if(te<=0&&(te=1),te>100&&(te=100),se!=te){var ve=0;te<50?ve=Math.floor(5e3/te):ve=Math.floor(200-te*2),O(ve),se=te}}function wt(){var te=new Date().getTime();l||(l=50),Ze(),X(),j(),K(),ze(l);var ve=new Date().getTime()-te}wt()}typeof e<"u"?e.exports=A:typeof window<"u"&&(window["jpeg-js"]=window["jpeg-js"]||{},window["jpeg-js"].encode=A);function A(l,u){typeof u>"u"&&(u=50);var p=new a(u),f=p.encode(l,u);return{data:f,width:l.width,height:l.height}}}),PF=Ge((r,e)=>{var i=(function(){"use strict";var A=new Int32Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),l=4017,u=799,p=3406,f=2276,g=1567,m=3784,E=5793,b=2896;function y(){}function Q(Y,P){for(var R=0,re=[],q,le,Ae=16;Ae>0&&!Y[Ae-1];)Ae--;re.push({children:[],index:0});var ie=re[0],se;for(q=0;q<Ae;q++){for(le=0;le<Y[q];le++){for(ie=re.pop(),ie.children[ie.index]=P[R];ie.index>0;){if(re.length===0)throw new Error("Could not recreate Huffman Table");ie=re.pop()}for(ie.index++,re.push(ie);re.length<=q;)re.push(se={children:[],index:0}),ie.children[ie.index]=se.children,ie=se;R++}q+1<Ae&&(re.push(se={children:[],index:0}),ie.children[ie.index]=se.children,ie=se)}return re[0].children}function v(Y,P,R,re,q,le,Ae,ie,se,ye){var pe=R.precision,Pe=R.samplesPerLine,Be=R.scanLines,Ee=R.mcusPerLine,me=R.progressive,Ne=R.maxH,Fe=R.maxV,W=P,O=0,J=0;function X(){if(J>0)return J--,O>>J&1;if(O=Y[P++],O==255){var de=Y[P++];if(de)throw new Error("unexpected marker: "+(O<<8|de).toString(16))}return J=7,O>>>7}function j(de){for(var ge=de,oe;(oe=X())!==null;){if(ge=ge[oe],typeof ge=="number")return ge;if(typeof ge!="object")throw new Error("invalid huffman sequence")}return null}function K(de){for(var ge=0;de>0;){var oe=X();if(oe===null)return;ge=ge<<1|oe,de--}return ge}function G(de){var ge=K(de);return ge>=1<<de-1?ge:ge+(-1<<de)+1}function z(de,ge){var oe=j(de.huffmanTableDC),ke=oe===0?0:G(oe);ge[0]=de.pred+=ke;for(var $=1;$<64;){var _e=j(de.huffmanTableAC),Ue=_e&15,je=_e>>4;if(Ue===0){if(je<15)break;$+=16;continue}$+=je;var ot=A[$];ge[ot]=G(Ue),$++}}function D(de,ge){var oe=j(de.huffmanTableDC),ke=oe===0?0:G(oe)<<se;ge[0]=de.pred+=ke}function fe(de,ge){ge[0]|=X()<<se}var ce=0;function Qe(de,ge){if(ce>0){ce--;return}for(var oe=le,ke=Ae;oe<=ke;){var $=j(de.huffmanTableAC),_e=$&15,Ue=$>>4;if(_e===0){if(Ue<15){ce=K(Ue)+(1<<Ue)-1;break}oe+=16;continue}oe+=Ue;var je=A[oe];ge[je]=G(_e)*(1<<se),oe++}}var Z=0,H;function ne(de,ge){for(var oe=le,ke=Ae,$=0;oe<=ke;){var _e=A[oe],Ue=ge[_e]<0?-1:1;switch(Z){case 0:var je=j(de.huffmanTableAC),ot=je&15,$=je>>4;if(ot===0)$<15?(ce=K($)+(1<<$),Z=4):($=16,Z=1);else{if(ot!==1)throw new Error("invalid ACn encoding");H=G(ot),Z=$?2:3}continue;case 1:case 2:ge[_e]?ge[_e]+=(X()<<se)*Ue:($--,$===0&&(Z=Z==2?3:0));break;case 3:ge[_e]?ge[_e]+=(X()<<se)*Ue:(ge[_e]=H<<se,Z=0);break;case 4:ge[_e]&&(ge[_e]+=(X()<<se)*Ue);break}oe++}Z===4&&(ce--,ce===0&&(Z=0))}function Ye(de,ge,oe,ke,$){var _e=oe/Ee|0,Ue=oe%Ee,je=_e*de.v+ke,ot=Ue*de.h+$;de.blocks[je]===void 0&&ye.tolerantDecoding||ge(de,de.blocks[je][ot])}function De(de,ge,oe){var ke=oe/de.blocksPerLine|0,$=oe%de.blocksPerLine;de.blocks[ke]===void 0&&ye.tolerantDecoding||ge(de,de.blocks[ke][$])}var it=re.length,Ze,ze,wt,te,ve,be;me?le===0?be=ie===0?D:fe:be=ie===0?Qe:ne:be=z;var ue=0,Me,He;it==1?He=re[0].blocksPerLine*re[0].blocksPerColumn:He=Ee*R.mcusPerColumn,q||(q=He);for(var Le,Oe;ue<He;){for(ze=0;ze<it;ze++)re[ze].pred=0;if(ce=0,it==1)for(Ze=re[0],ve=0;ve<q;ve++)De(Ze,be,ue),ue++;else for(ve=0;ve<q;ve++){for(ze=0;ze<it;ze++)for(Ze=re[ze],Le=Ze.h,Oe=Ze.v,wt=0;wt<Oe;wt++)for(te=0;te<Le;te++)Ye(Ze,be,ue,wt,te);if(ue++,ue===He)break}if(ue===He)do{if(Y[P]===255&&Y[P+1]!==0)break;P+=1}while(P<Y.length-2);if(J=0,Me=Y[P]<<8|Y[P+1],Me<65280)throw new Error("marker was not found");if(Me>=65488&&Me<=65495)P+=2;else break}return P-W}function I(Y,P){var R=[],re=P.blocksPerLine,q=P.blocksPerColumn,le=re<<3,Ae=new Int32Array(64),ie=new Uint8Array(64);function se(W,O,J){var X=P.quantizationTable,j,K,G,z,D,fe,ce,Qe,Z,H=J,ne;for(ne=0;ne<64;ne++)H[ne]=W[ne]*X[ne];for(ne=0;ne<8;++ne){var Ye=8*ne;if(H[1+Ye]==0&&H[2+Ye]==0&&H[3+Ye]==0&&H[4+Ye]==0&&H[5+Ye]==0&&H[6+Ye]==0&&H[7+Ye]==0){Z=E*H[0+Ye]+512>>10,H[0+Ye]=Z,H[1+Ye]=Z,H[2+Ye]=Z,H[3+Ye]=Z,H[4+Ye]=Z,H[5+Ye]=Z,H[6+Ye]=Z,H[7+Ye]=Z;continue}j=E*H[0+Ye]+128>>8,K=E*H[4+Ye]+128>>8,G=H[2+Ye],z=H[6+Ye],D=b*(H[1+Ye]-H[7+Ye])+128>>8,Qe=b*(H[1+Ye]+H[7+Ye])+128>>8,fe=H[3+Ye]<<4,ce=H[5+Ye]<<4,Z=j-K+1>>1,j=j+K+1>>1,K=Z,Z=G*m+z*g+128>>8,G=G*g-z*m+128>>8,z=Z,Z=D-ce+1>>1,D=D+ce+1>>1,ce=Z,Z=Qe+fe+1>>1,fe=Qe-fe+1>>1,Qe=Z,Z=j-z+1>>1,j=j+z+1>>1,z=Z,Z=K-G+1>>1,K=K+G+1>>1,G=Z,Z=D*f+Qe*p+2048>>12,D=D*p-Qe*f+2048>>12,Qe=Z,Z=fe*u+ce*l+2048>>12,fe=fe*l-ce*u+2048>>12,ce=Z,H[0+Ye]=j+Qe,H[7+Ye]=j-Qe,H[1+Ye]=K+ce,H[6+Ye]=K-ce,H[2+Ye]=G+fe,H[5+Ye]=G-fe,H[3+Ye]=z+D,H[4+Ye]=z-D}for(ne=0;ne<8;++ne){var De=ne;if(H[8+De]==0&&H[16+De]==0&&H[24+De]==0&&H[32+De]==0&&H[40+De]==0&&H[48+De]==0&&H[56+De]==0){Z=E*J[ne+0]+8192>>14,H[0+De]=Z,H[8+De]=Z,H[16+De]=Z,H[24+De]=Z,H[32+De]=Z,H[40+De]=Z,H[48+De]=Z,H[56+De]=Z;continue}j=E*H[0+De]+2048>>12,K=E*H[32+De]+2048>>12,G=H[16+De],z=H[48+De],D=b*(H[8+De]-H[56+De])+2048>>12,Qe=b*(H[8+De]+H[56+De])+2048>>12,fe=H[24+De],ce=H[40+De],Z=j-K+1>>1,j=j+K+1>>1,K=Z,Z=G*m+z*g+2048>>12,G=G*g-z*m+2048>>12,z=Z,Z=D-ce+1>>1,D=D+ce+1>>1,ce=Z,Z=Qe+fe+1>>1,fe=Qe-fe+1>>1,Qe=Z,Z=j-z+1>>1,j=j+z+1>>1,z=Z,Z=K-G+1>>1,K=K+G+1>>1,G=Z,Z=D*f+Qe*p+2048>>12,D=D*p-Qe*f+2048>>12,Qe=Z,Z=fe*u+ce*l+2048>>12,fe=fe*l-ce*u+2048>>12,ce=Z,H[0+De]=j+Qe,H[56+De]=j-Qe,H[8+De]=K+ce,H[48+De]=K-ce,H[16+De]=G+fe,H[40+De]=G-fe,H[24+De]=z+D,H[32+De]=z-D}for(ne=0;ne<64;++ne){var it=128+(H[ne]+8>>4);O[ne]=it<0?0:it>255?255:it}}M(le*q*8);for(var ye,pe,Pe=0;Pe<q;Pe++){var Be=Pe<<3;for(ye=0;ye<8;ye++)R.push(new Uint8Array(le));for(var Ee=0;Ee<re;Ee++){se(P.blocks[Pe][Ee],ie,Ae);var me=0,Ne=Ee<<3;for(pe=0;pe<8;pe++){var Fe=R[Be+pe];for(ye=0;ye<8;ye++)Fe[Ne+ye]=ie[me++]}}}return R}function F(Y){return Y<0?0:Y>255?255:Y}y.prototype={load:function(Y){var P=new XMLHttpRequest;P.open("GET",Y,!0),P.responseType="arraybuffer",P.onload=function(){var R=new Uint8Array(P.response||P.mozResponseArrayBuffer);this.parse(R),this.onload&&this.onload()}.bind(this),P.send(null)},parse:function(Y){var P=this.opts.maxResolutionInMP*1e3*1e3,R=0,re=Y.length;function q(){var Ue=Y[R]<<8|Y[R+1];return R+=2,Ue}function le(){var Ue=q(),je=Y.subarray(R,R+Ue-2);return R+=je.length,je}function Ae(Ue){var je=1,ot=1,Ke,ut;for(ut in Ue.components)Ue.components.hasOwnProperty(ut)&&(Ke=Ue.components[ut],je<Ke.h&&(je=Ke.h),ot<Ke.v&&(ot=Ke.v));var bt=Math.ceil(Ue.samplesPerLine/8/je),xt=Math.ceil(Ue.scanLines/8/ot);for(ut in Ue.components)if(Ue.components.hasOwnProperty(ut)){Ke=Ue.components[ut];var Ir=Math.ceil(Math.ceil(Ue.samplesPerLine/8)*Ke.h/je),hr=Math.ceil(Math.ceil(Ue.scanLines/8)*Ke.v/ot),Fr=bt*Ke.h,Tr=xt*Ke.v,ht=Tr*Fr,V=[];M(ht*256);for(var Vr=0;Vr<Tr;Vr++){for(var he=[],pr=0;pr<Fr;pr++)he.push(new Int32Array(64));V.push(he)}Ke.blocksPerLine=Ir,Ke.blocksPerColumn=hr,Ke.blocks=V}Ue.maxH=je,Ue.maxV=ot,Ue.mcusPerLine=bt,Ue.mcusPerColumn=xt}var ie=null,se=null,ye=null,pe,Pe,Be=[],Ee=[],me=[],Ne=[],Fe=q(),W=-1;if(this.comments=[],Fe!=65496)throw new Error("SOI not found");for(Fe=q();Fe!=65497;){var O,J,X;switch(Fe){case 65280:break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:var j=le();if(Fe===65534){var K=String.fromCharCode.apply(null,j);this.comments.push(K)}Fe===65504&&j[0]===74&&j[1]===70&&j[2]===73&&j[3]===70&&j[4]===0&&(ie={version:{major:j[5],minor:j[6]},densityUnits:j[7],xDensity:j[8]<<8|j[9],yDensity:j[10]<<8|j[11],thumbWidth:j[12],thumbHeight:j[13],thumbData:j.subarray(14,14+3*j[12]*j[13])}),Fe===65505&&j[0]===69&&j[1]===120&&j[2]===105&&j[3]===102&&j[4]===0&&(this.exifBuffer=j.subarray(5,j.length)),Fe===65518&&j[0]===65&&j[1]===100&&j[2]===111&&j[3]===98&&j[4]===101&&j[5]===0&&(se={version:j[6],flags0:j[7]<<8|j[8],flags1:j[9]<<8|j[10],transformCode:j[11]});break;case 65499:for(var G=q(),z=G+R-2;R<z;){var D=Y[R++];M(256);var fe=new Int32Array(64);if(D>>4)if(D>>4===1)for(J=0;J<64;J++){var ce=A[J];fe[ce]=q()}else throw new Error("DQT: invalid table spec");else for(J=0;J<64;J++){var ce=A[J];fe[ce]=Y[R++]}Be[D&15]=fe}break;case 65472:case 65473:case 65474:q(),pe={},pe.extended=Fe===65473,pe.progressive=Fe===65474,pe.precision=Y[R++],pe.scanLines=q(),pe.samplesPerLine=q(),pe.components={},pe.componentsOrder=[];var Qe=pe.scanLines*pe.samplesPerLine;if(Qe>P){var Z=Math.ceil((Qe-P)/1e6);throw new Error(`maxResolutionInMP limit exceeded by ${Z}MP`)}var H=Y[R++],ne,Ye=0,De=0;for(O=0;O<H;O++){ne=Y[R];var it=Y[R+1]>>4,Ze=Y[R+1]&15,ze=Y[R+2];if(it<=0||Ze<=0)throw new Error("Invalid sampling factor, expected values above 0");pe.componentsOrder.push(ne),pe.components[ne]={h:it,v:Ze,quantizationIdx:ze},R+=3}Ae(pe),Ee.push(pe);break;case 65476:var wt=q();for(O=2;O<wt;){var te=Y[R++],ve=new Uint8Array(16),be=0;for(J=0;J<16;J++,R++)be+=ve[J]=Y[R];M(16+be);var ue=new Uint8Array(be);for(J=0;J<be;J++,R++)ue[J]=Y[R];O+=17+be,(te>>4?me:Ne)[te&15]=Q(ve,ue)}break;case 65501:q(),Pe=q();break;case 65500:q(),q();break;case 65498:var Me=q(),He=Y[R++],Le=[],Oe;for(O=0;O<He;O++){Oe=pe.components[Y[R++]];var de=Y[R++];Oe.huffmanTableDC=Ne[de>>4],Oe.huffmanTableAC=me[de&15],Le.push(Oe)}var ge=Y[R++],oe=Y[R++],ke=Y[R++],$=v(Y,R,pe,Le,Pe,ge,oe,ke>>4,ke&15,this.opts);R+=$;break;case 65535:Y[R]!==255&&R--;break;default:if(Y[R-3]==255&&Y[R-2]>=192&&Y[R-2]<=254){R-=3;break}else if(Fe===224||Fe==225){if(W!==-1)throw new Error(`first unknown JPEG marker at offset ${W.toString(16)}, second unknown JPEG marker ${Fe.toString(16)} at offset ${(R-1).toString(16)}`);W=R-1;let Ue=q();if(Y[R+Ue-2]===255){R+=Ue-2;break}}throw new Error("unknown JPEG marker "+Fe.toString(16))}Fe=q()}if(Ee.length!=1)throw new Error("only single frame JPEGs supported");for(var O=0;O<Ee.length;O++){var _e=Ee[O].components;for(var J in _e)_e[J].quantizationTable=Be[_e[J].quantizationIdx],delete _e[J].quantizationIdx}this.width=pe.samplesPerLine,this.height=pe.scanLines,this.jfif=ie,this.adobe=se,this.components=[];for(var O=0;O<pe.componentsOrder.length;O++){var Oe=pe.components[pe.componentsOrder[O]];this.components.push({lines:I(pe,Oe),scaleX:Oe.h/pe.maxH,scaleY:Oe.v/pe.maxV})}},getData:function(Y,P){var R=this.width/Y,re=this.height/P,q,le,Ae,ie,se,ye,pe,Pe,Be,Ee,me=0,Ne,Fe,W,O,J,X,j,K,G,z,D,fe=Y*P*this.components.length;M(fe);var ce=new Uint8Array(fe);switch(this.components.length){case 1:for(q=this.components[0],Ee=0;Ee<P;Ee++)for(se=q.lines[0|Ee*q.scaleY*re],Be=0;Be<Y;Be++)Ne=se[0|Be*q.scaleX*R],ce[me++]=Ne;break;case 2:for(q=this.components[0],le=this.components[1],Ee=0;Ee<P;Ee++)for(se=q.lines[0|Ee*q.scaleY*re],ye=le.lines[0|Ee*le.scaleY*re],Be=0;Be<Y;Be++)Ne=se[0|Be*q.scaleX*R],ce[me++]=Ne,Ne=ye[0|Be*le.scaleX*R],ce[me++]=Ne;break;case 3:for(D=!0,this.adobe&&this.adobe.transformCode?D=!0:typeof this.opts.colorTransform<"u"&&(D=!!this.opts.colorTransform),q=this.components[0],le=this.components[1],Ae=this.components[2],Ee=0;Ee<P;Ee++)for(se=q.lines[0|Ee*q.scaleY*re],ye=le.lines[0|Ee*le.scaleY*re],pe=Ae.lines[0|Ee*Ae.scaleY*re],Be=0;Be<Y;Be++)D?(Ne=se[0|Be*q.scaleX*R],Fe=ye[0|Be*le.scaleX*R],W=pe[0|Be*Ae.scaleX*R],K=F(Ne+1.402*(W-128)),G=F(Ne-.3441363*(Fe-128)-.71413636*(W-128)),z=F(Ne+1.772*(Fe-128))):(K=se[0|Be*q.scaleX*R],G=ye[0|Be*le.scaleX*R],z=pe[0|Be*Ae.scaleX*R]),ce[me++]=K,ce[me++]=G,ce[me++]=z;break;case 4:if(!this.adobe)throw new Error("Unsupported color mode (4 components)");for(D=!1,this.adobe&&this.adobe.transformCode?D=!0:typeof this.opts.colorTransform<"u"&&(D=!!this.opts.colorTransform),q=this.components[0],le=this.components[1],Ae=this.components[2],ie=this.components[3],Ee=0;Ee<P;Ee++)for(se=q.lines[0|Ee*q.scaleY*re],ye=le.lines[0|Ee*le.scaleY*re],pe=Ae.lines[0|Ee*Ae.scaleY*re],Pe=ie.lines[0|Ee*ie.scaleY*re],Be=0;Be<Y;Be++)D?(Ne=se[0|Be*q.scaleX*R],Fe=ye[0|Be*le.scaleX*R],W=pe[0|Be*Ae.scaleX*R],O=Pe[0|Be*ie.scaleX*R],J=255-F(Ne+1.402*(W-128)),X=255-F(Ne-.3441363*(Fe-128)-.71413636*(W-128)),j=255-F(Ne+1.772*(Fe-128))):(J=se[0|Be*q.scaleX*R],X=ye[0|Be*le.scaleX*R],j=pe[0|Be*Ae.scaleX*R],O=Pe[0|Be*ie.scaleX*R]),ce[me++]=255-J,ce[me++]=255-X,ce[me++]=255-j,ce[me++]=255-O;break;default:throw new Error("Unsupported color mode")}return ce},copyToImageData:function(Y,P){var R=Y.width,re=Y.height,q=Y.data,le=this.getData(R,re),Ae=0,ie=0,se,ye,pe,Pe,Be,Ee,me,Ne,Fe;switch(this.components.length){case 1:for(ye=0;ye<re;ye++)for(se=0;se<R;se++)pe=le[Ae++],q[ie++]=pe,q[ie++]=pe,q[ie++]=pe,P&&(q[ie++]=255);break;case 3:for(ye=0;ye<re;ye++)for(se=0;se<R;se++)me=le[Ae++],Ne=le[Ae++],Fe=le[Ae++],q[ie++]=me,q[ie++]=Ne,q[ie++]=Fe,P&&(q[ie++]=255);break;case 4:for(ye=0;ye<re;ye++)for(se=0;se<R;se++)Be=le[Ae++],Ee=le[Ae++],pe=le[Ae++],Pe=le[Ae++],me=255-F(Be*(1-Pe/255)+Pe),Ne=255-F(Ee*(1-Pe/255)+Pe),Fe=255-F(pe*(1-Pe/255)+Pe),q[ie++]=me,q[ie++]=Ne,q[ie++]=Fe,P&&(q[ie++]=255);break;default:throw new Error("Unsupported color mode")}}};var N=0,_=0;function M(Y=0){var P=N+Y;if(P>_){var R=Math.ceil((P-_)/1024/1024);throw new Error(`maxMemoryUsageInMB limit exceeded by at least ${R}MB`)}N=P}return y.resetMaxMemoryUsage=function(Y){N=0,_=Y},y.getBytesAllocated=function(){return N},y.requestMemoryAllocation=M,y})();typeof e<"u"?e.exports=a:typeof window<"u"&&(window["jpeg-js"]=window["jpeg-js"]||{},window["jpeg-js"].decode=a);function a(A,l={}){var u={colorTransform:void 0,useTArray:!1,formatAsRGBA:!0,tolerantDecoding:!0,maxResolutionInMP:100,maxMemoryUsageInMB:512},p={...u,...l},f=new Uint8Array(A),g=new i;g.opts=p,i.resetMaxMemoryUsage(p.maxMemoryUsageInMB*1024*1024),g.parse(f);var m=p.formatAsRGBA?4:3,E=g.width*g.height*m;try{i.requestMemoryAllocation(E);var b={width:g.width,height:g.height,exifBuffer:g.exifBuffer,data:p.useTArray?new Uint8Array(E):Buffer.alloc(E)};g.comments.length>0&&(b.comments=g.comments)}catch(y){throw y instanceof RangeError?new Error("Could not allocate enough memory for the image. Required: "+E):y instanceof ReferenceError&&y.message==="Buffer is not defined"?new Error("Buffer is not globally defined in this environment. Consider setting useTArray to true"):y}return g.copyToImageData(b,p.formatAsRGBA),b}}),HF=Ge((r,e)=>{var i=LF(),a=PF();e.exports={encode:i,decode:a}}),h0={};BF(h0,{Bitmap:()=>xa,Context:()=>m0,debug_list_of_fonts:()=>ZF,decodeJPEGFromStream:()=>cT,decodePNGFromStream:()=>AT,encodeJPEGToStream:()=>lT,encodePNGToStream:()=>oT,make:()=>aT,measureText:()=>Gl,processTextPath:()=>kl,registerFont:()=>_F});C0.exports=EF(h0);var Ml=(r=>(r[r.transparent=0]="transparent",r[r.aliceblue=4042850303]="aliceblue",r[r.antiquewhite=4209760255]="antiquewhite",r[r.aqua=16777215]="aqua",r[r.aquamarine=2147472639]="aquamarine",r[r.azure=4043309055]="azure",r[r.beige=4126530815]="beige",r[r.bisque=4293182719]="bisque",r[r.black=255]="black",r[r.blanchedalmond=4293643775]="blanchedalmond",r[r.blue=65535]="blue",r[r.blueviolet=2318131967]="blueviolet",r[r.brown=2771004159]="brown",r[r.burlywood=3736635391]="burlywood",r[r.cadetblue=1604231423]="cadetblue",r[r.chartreuse=2147418367]="chartreuse",r[r.chocolate=3530104575]="chocolate",r[r.coral=4286533887]="coral",r[r.cornflowerblue=1687547391]="cornflowerblue",r[r.cornsilk=4294499583]="cornsilk",r[r.crimson=3692313855]="crimson",r[r.cyan=16777215]="cyan",r[r.darkblue=35839]="darkblue",r[r.darkcyan=9145343]="darkcyan",r[r.darkgoldenrod=3095792639]="darkgoldenrod",r[r.darkgray=2846468607]="darkgray",r[r.darkgreen=6553855]="darkgreen",r[r.darkgrey=2846468607]="darkgrey",r[r.darkkhaki=3182914559]="darkkhaki",r[r.darkmagenta=2332068863]="darkmagenta",r[r.darkolivegreen=1433087999]="darkolivegreen",r[r.darkorange=4287365375]="darkorange",r[r.darkorchid=2570243327]="darkorchid",r[r.darkred=2332033279]="darkred",r[r.darksalmon=3918953215]="darksalmon",r[r.darkseagreen=2411499519]="darkseagreen",r[r.darkslateblue=1211993087]="darkslateblue",r[r.darkslategray=793726975]="darkslategray",r[r.darkslategrey=793726975]="darkslategrey",r[r.darkturquoise=13554175]="darkturquoise",r[r.darkviolet=2483082239]="darkviolet",r[r.deeppink=4279538687]="deeppink",r[r.deepskyblue=12582911]="deepskyblue",r[r.dimgray=1768516095]="dimgray",r[r.dimgrey=1768516095]="dimgrey",r[r.dodgerblue=512819199]="dodgerblue",r[r.firebrick=2988581631]="firebrick",r[r.floralwhite=4294635775]="floralwhite",r[r.forestgreen=579543807]="forestgreen",r[r.fuchsia=4278255615]="fuchsia",r[r.gainsboro=3705462015]="gainsboro",r[r.ghostwhite=4177068031]="ghostwhite",r[r.gold=4292280575]="gold",r[r.goldenrod=3668254975]="goldenrod",r[r.gray=2155905279]="gray",r[r.green=8388863]="green",r[r.greenyellow=2919182335]="greenyellow",r[r.grey=2155905279]="grey",r[r.honeydew=4043305215]="honeydew",r[r.hotpink=4285117695]="hotpink",r[r.indianred=3445382399]="indianred",r[r.indigo=1258324735]="indigo",r[r.ivory=4294963455]="ivory",r[r.khaki=4041641215]="khaki",r[r.lavender=3873897215]="lavender",r[r.lavenderblush=4293981695]="lavenderblush",r[r.lawngreen=2096890111]="lawngreen",r[r.lemonchiffon=4294626815]="lemonchiffon",r[r.lightblue=2916673279]="lightblue",r[r.lightcoral=4034953471]="lightcoral",r[r.lightcyan=3774873599]="lightcyan",r[r.lightgoldenrodyellow=4210742015]="lightgoldenrodyellow",r[r.lightgray=3553874943]="lightgray",r[r.lightgreen=2431553791]="lightgreen",r[r.lightgrey=3553874943]="lightgrey",r[r.lightpink=4290167295]="lightpink",r[r.lightsalmon=4288707327]="lightsalmon",r[r.lightseagreen=548580095]="lightseagreen",r[r.lightskyblue=2278488831]="lightskyblue",r[r.lightslategray=2005441023]="lightslategray",r[r.lightslategrey=2005441023]="lightslategrey",r[r.lightsteelblue=2965692159]="lightsteelblue",r[r.lightyellow=4294959359]="lightyellow",r[r.lime=16711935]="lime",r[r.limegreen=852308735]="limegreen",r[r.linen=4210091775]="linen",r[r.magenta=4278255615]="magenta",r[r.maroon=2147483903]="maroon",r[r.mediumaquamarine=1724754687]="mediumaquamarine",r[r.mediumblue=52735]="mediumblue",r[r.mediumorchid=3126187007]="mediumorchid",r[r.mediumpurple=2473647103]="mediumpurple",r[r.mediumseagreen=1018393087]="mediumseagreen",r[r.mediumslateblue=2070474495]="mediumslateblue",r[r.mediumspringgreen=16423679]="mediumspringgreen",r[r.mediumturquoise=1221709055]="mediumturquoise",r[r.mediumvioletred=3340076543]="mediumvioletred",r[r.midnightblue=421097727]="midnightblue",r[r.mintcream=4127193855]="mintcream",r[r.mistyrose=4293190143]="mistyrose",r[r.moccasin=4293178879]="moccasin",r[r.navajowhite=4292783615]="navajowhite",r[r.navy=33023]="navy",r[r.oldlace=4260751103]="oldlace",r[r.olive=2155872511]="olive",r[r.olivedrab=1804477439]="olivedrab",r[r.orange=4289003775]="orange",r[r.orangered=4282712319]="orangered",r[r.orchid=3664828159]="orchid",r[r.palegoldenrod=4008225535]="palegoldenrod",r[r.palegreen=2566625535]="palegreen",r[r.paleturquoise=2951671551]="paleturquoise",r[r.palevioletred=3681588223]="palevioletred",r[r.papayawhip=4293907967]="papayawhip",r[r.peachpuff=4292524543]="peachpuff",r[r.peru=3448061951]="peru",r[r.pink=4290825215]="pink",r[r.plum=3718307327]="plum",r[r.powderblue=2967529215]="powderblue",r[r.purple=2147516671]="purple",r[r.rebeccapurple=1714657791]="rebeccapurple",r[r.red=4278190335]="red",r[r.rosybrown=3163525119]="rosybrown",r[r.royalblue=1097458175]="royalblue",r[r.saddlebrown=2336560127]="saddlebrown",r[r.salmon=4202722047]="salmon",r[r.sandybrown=4104413439]="sandybrown",r[r.seagreen=780883967]="seagreen",r[r.seashell=4294307583]="seashell",r[r.sienna=2689740287]="sienna",r[r.silver=3233857791]="silver",r[r.skyblue=2278484991]="skyblue",r[r.slateblue=1784335871]="slateblue",r[r.slategray=1887473919]="slategray",r[r.slategrey=1887473919]="slategrey",r[r.snow=4294638335]="snow",r[r.springgreen=16744447]="springgreen",r[r.steelblue=1182971135]="steelblue",r[r.tan=3535047935]="tan",r[r.teal=8421631]="teal",r[r.thistle=3636451583]="thistle",r[r.tomato=4284696575]="tomato",r[r.turquoise=1088475391]="turquoise",r[r.violet=4001558271]="violet",r[r.wheat=4125012991]="wheat",r[r.white=4294967295]="white",r[r.whitesmoke=4126537215]="whitesmoke",r[r.yellow=4294902015]="yellow",r[r.yellowgreen=2597139199]="yellowgreen",r))(Ml||{}),cn=function(r,e,i,a){return(r<<24|e<<16|i<<8|a)>>>0},Ea=function(r,e){return r>>>8*(3-e)&255},An=function(r){return[Ea(r,0),Ea(r,1),Ea(r,2),Ea(r,3)]},wa=function(r){return r>>>0},oi=function(r,...e){let i=r;for(let a=0;a<e.length;a+=1)i=i|e[a];return i>>>0},ya=function(r,...e){let i=r;for(let a=0;a<e.length;a+=1)i=i&e[a];return i>>>0},Fl=function(r,e){return r<<e>>>0};function Rl(r,e,i){return r<e?e:r>i?i:r}var WF=function(r,e,i){return r+(e-r)*i};function Ul(r){if(!r)return 0;if(r.indexOf("#")===0){if(r.length===4){let e=parseInt(r[1],16),i=e<<4|e,a=parseInt(r[2],16),A=a<<4|a,l=parseInt(r[3],16),u=l<<4|l,p=wa(i<<16|A<<8|u);return p=Fl(p,8),oi(p,255)}else if(r.length===5){let e=parseInt(r[1],16),i=e<<4|e,a=parseInt(r[2],16),A=a<<4|a,l=parseInt(r[3],16),u=l<<4|l,p=parseInt(r[4],16),f=p<<4|p,g=wa(i<<16|A<<8|u);return g=Fl(g,8),oi(g,f)}else if(r.length===7){let e=wa(parseInt(r.substring(1),16));return e=Fl(e,8),oi(e,255)}else if(r.length===9)return wa(parseInt(r.substring(1),16))}if(r.indexOf("rgba")===0){let e=r.trim().substring(4).replace("(","").replace(")","").split(",");return cn(parseInt(e[0]),parseInt(e[1]),parseInt(e[2]),Math.floor(parseFloat(e[3])*255))}if(r.indexOf("rgb")===0){let e=r.trim().substring(3).replace("(","").replace(")","").split(",");return cn(parseInt(e[0]),parseInt(e[1]),parseInt(e[2]),255)}if(Ai.call(Ml,r))return Ml[r];throw new Error("unknown style format: "+r)}var Ai=Object.hasOwnProperty;function JF(r,e=Uint8Array){let i=r.reduce((l,u)=>l+u.length,0);if(!r.length)return null;let a=new e(i),A=0;for(let l of r)a.set(l,A),A+=l.length;return a}var Tl=class{constructor(...r){if(r.length===4){this.start={},this.end={},[this.start.x,this.start.y,this.end.x,this.end.y]=r;for(let e in r)if(Ai.call(r,e)&&typeof r[e]!="number")throw TypeError("When passing 4 arguments, only numbers may be passed")}else if(r.length===2)[this.start,this.end]=r;else throw Error("Please pass either two Point objects, or 4 integers to the constructor")}getLength(){return Math.sqrt(Math.pow(this.start.x-this.end.x,2)+Math.pow(this.start.y-this.end.y,2))}is_invalid(){return!!(Number.isNaN(this.start.x)||Number.isNaN(this.end.x)||Number.isNaN(this.start.y)||Number.isNaN(this.end.y)||this.start.x>Number.MAX_SAFE_INTEGER||this.start.y>Number.MAX_SAFE_INTEGER||this.end.x>Number.MAX_SAFE_INTEGER||this.end.y>Number.MAX_SAFE_INTEGER)}},lt=class Wr{constructor(e,i){this.x=e,this.y=i}clone(){return new Wr(this.x,this.y)}distance(e){return Math.sqrt(Math.pow(e.x-this.x,2)+Math.pow(e.y-this.y,2))}add(e){return new Wr(this.x+e.x,this.y+e.y)}subtract(e){return new Wr(this.x-e.x,this.y-e.y)}magnitude(){return Math.sqrt(this.dotProduct(this))}dotProduct(e){return this.x*e.x+this.y*e.y}divide(e){return new Wr(this.x/e,this.y/e)}floor(){return new Wr(Math.floor(this.x),Math.floor(this.y))}round(){return new Wr(Math.round(this.x),Math.round(this.y))}unit(){return this.divide(this.magnitude())}rotate(e){return new Wr(Math.cos(e)*this.x-Math.sin(e)*this.y,Math.sin(e)*this.x+Math.cos(e)*this.y)}scale(e){return new Wr(this.x*e,this.y*e)}equals(e){return this.x===e.x&&this.y===e.y}},Gm=r=>Math.PI/180*r;function VF(r){let e=Number.POSITIVE_INFINITY,i=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY,A=Number.NEGATIVE_INFINITY;return r.forEach(l=>{e=Math.min(e,l.x),i=Math.min(i,l.y),a=Math.max(a,l.x),A=Math.max(A,l.y)}),new Nl(e,i,a,A)}var Nl=class p0{constructor(e,i,a,A){this.x1=e,this.y1=i,this.x2=a,this.y2=A}contains(e){return!(e.x<this.x1||e.x>=this.x2||e.y<this.y1||e.y>=this.y2)}intersect(e){let i=Math.max(this.x1,e.x1),a=Math.max(this.y1,e.y1),A=Math.min(this.x2,e.x2),l=Math.min(this.y2,e.y2);return new p0(i,a,A,l)}},Lm=Yl(FF(),1),ln={},jF=class{constructor(r,e,i,a,A){this.binary=r,this.family=e,this.weight=i,this.style=a,this.variant=A,this.loaded=!1,this.font=null}_load(r){if(this.loaded){r&&r();return}let e=function(i,a){if(i)throw new Error("Could not load font: "+i);this.loaded=!0,this.font=a,r&&r()}.bind(this);Lm.load(this.binary,e)}loadSync(){if(this.loaded)return this;try{return this.font=Lm.loadSync(this.binary),this.loaded=!0,this}catch(r){throw new Error("Could not load font: "+r)}}load(){return this.loadPromise()}loadPromise(){return new Promise((r,e)=>{this._load(()=>r())})}};function _F(r,e,i,a,A){return ln[e]=new jF(r,e,i,a,A),ln[e]}var ZF=ln;function f0(r){return ln[r]||(r=Object.keys(ln)[0]),ln[r]}function kl(r,e,i,a,A,l,u){let p=f0(r._font.family);if(!p){console.warn("Font missing",r._font);return}let f=Gl(r,e);(l==="end"||l==="right")&&(i=i-f.width),l==="center"&&(i=i-f.width/2),u==="top"&&(a=a+f.emHeightAscent),u==="middle"&&(a=a+f.emHeightAscent/2+f.emHeightDescent/2),u==="bottom"&&(a=a+f.emHeightDescent);let g=r._font.size;if(!p.loaded){console.warn("font not loaded yet",r._font);return}let m=p.font.getPath(e,i,a,g);r.beginPath(),m.commands.forEach(function(E){switch(E.type){case"M":r.moveTo(E.x,E.y);break;case"Q":r.quadraticCurveTo(E.x1,E.y1,E.x,E.y);break;case"L":r.lineTo(E.x,E.y);break;case"C":r.bezierCurveTo(E.x1,E.y1,E.x2,E.y2,E.x,E.y);break;case"Z":{r.closePath(),A?r.fill():r.stroke(),r.beginPath();break}}})}function Gl(r,e){let i=f0(r._font.family);if(!i)return console.warn("WARNING. Can't find font family ",r._font),{width:10,emHeightAscent:8,emHeightDescent:2};if(!i.font)return console.warn("WARNING. Can't find font family ",r._font),{width:10,emHeightAscent:8,emHeightDescent:2};let a=r._font.size,A=i.font.stringToGlyphs(e),l=0;return A.forEach(function(u){l+=u.advanceWidth}),{width:l/i.font.unitsPerEm*a,emHeightAscent:i.font.ascender/i.font.unitsPerEm*a,emHeightDescent:i.font.descender/i.font.unitsPerEm*a}}var Ii=class{constructor(){this.stops=[]}addColorStop(r,e){let i=Ul(""+e);this.stops.push({t:r,color:i})}_lerpStops(r){r<0&&(r+=1),r>1&&(r-=1);let e=this.stops.slice().reverse().find(f=>f.t<=r),i=this.stops.find(f=>f.t>r);i||(i=this.stops.at(-1));let a=d0(r,e.t,i.t,0,1),A=f=>An(f).map(g=>g/255),l=A(e.color),u=A(i.color),p=l.map((f,g)=>WF(f,u[g],a));return(f=>{let g=f.map(m=>m*255);return cn(g[0],g[1],g[2],255)})(p)}},zF=class extends Ii{constructor(r,e,i,a){super(),this.start=new lt(r,e),this.end=new lt(i,a)}colorAt(r,e){let i=new lt(r,e),a=this.end.subtract(this.start),A=a.magnitude();a=a.divide(A);let l=i.subtract(this.start).dotProduct(a);return l=Rl(l/A,0,1),this._lerpStops(l)}},XF=class extends Ii{constructor(r,e,i,a){super(),this.start=new lt(r,e)}colorAt(r,e){let i=new lt(r,e).distance(this.start),a=Rl(i/10,0,1);return this._lerpStops(a)}};function d0(r,e,i,a,A){return(r-e)/(i-e)*(A-a)+a}var qF=class extends Ii{constructor(r,e,i){super(),this.angle=r,this.start=new lt(e,i)}colorAt(r,e){let i=this.start.subtract(new lt(r,e)),a=Math.atan2(i.y,i.x)-this.angle,A=d0(a,-Math.PI,Math.PI,0,1);return this._lerpStops(A)}},Pm=[1,0,0,1,0,0],KF=class g0{constructor(e){this.context=e,this.matrix=[1,0,0,1,0,0],this.stack=[]}getMatrix(){return this.matrix}setMatrix(e){this.matrix=[e[0],e[1],e[2],e[3],e[4],e[5]],this.setTransform()}cloneMatrix(e){return[e[0],e[1],e[2],e[3],e[4],e[5]]}cloneTransform(){let e=new g0;return e.setMatrix(this.getMatrix()),e}identity(){this.matrix=Pm,this.setTransform()}isIdentity(){for(let e=0;e<this.matrix.length;e++)if(this.matrix[e]!==Pm[e])return!1;return!0}fromDomMatrix(e){return[e.a,e.b,e.c,e.d,e.e,e.f]}asDomMatrix(){return{is2D:!0,isIdentity:!1,a:this.matrix[0],b:this.matrix[1],c:this.matrix[2],d:this.matrix[3],e:this.matrix[4]}}multiply(e){let i=this.matrix[0]*e[0]+this.matrix[2]*e[1],a=this.matrix[1]*e[0]+this.matrix[3]*e[1],A=this.matrix[0]*e[2]+this.matrix[2]*e[3],l=this.matrix[1]*e[2]+this.matrix[3]*e[3],u=this.matrix[0]*e[4]+this.matrix[2]*e[5]+this.matrix[4],p=this.matrix[1]*e[4]+this.matrix[3]*e[5]+this.matrix[5];this.matrix[0]=i,this.matrix[1]=a,this.matrix[2]=A,this.matrix[3]=l,this.matrix[4]=u,this.matrix[5]=p,this.setTransform()}invert(){let e=1/(this.matrix[0]*this.matrix[3]-this.matrix[1]*this.matrix[2]),i=this.matrix[3]*e,a=-this.matrix[1]*e,A=-this.matrix[2]*e,l=this.matrix[0]*e,u=e*(this.matrix[2]*this.matrix[5]-this.matrix[3]*this.matrix[4]),p=e*(this.matrix[1]*this.matrix[4]-this.matrix[0]*this.matrix[5]);this.matrix[0]=i,this.matrix[1]=a,this.matrix[2]=A,this.matrix[3]=l,this.matrix[4]=u,this.matrix[5]=p,this.setTransform()}save(){let e=this.cloneMatrix(this.getMatrix());this.stack.push(e),this.context&&this.context.save()}restore(){if(this.stack.length>0){let e=this.stack.pop();this.setMatrix(e)}this.context&&this.context.restore()}setTransform(){this.context}translate(e,i){this.matrix[4]+=this.matrix[0]*e+this.matrix[2]*i,this.matrix[5]+=this.matrix[1]*e+this.matrix[3]*i,this.setTransform()}rotate(e){let i=Math.cos(e),a=Math.sin(e),A=this.matrix[0]*i+this.matrix[2]*a,l=this.matrix[1]*i+this.matrix[3]*a,u=this.matrix[0]*-a+this.matrix[2]*i,p=this.matrix[1]*-a+this.matrix[3]*i;this.matrix[0]=A,this.matrix[1]=l,this.matrix[2]=u,this.matrix[3]=p,this.setTransform()}scale(e,i){this.matrix[0]*=e,this.matrix[1]*=e,this.matrix[2]*=i,this.matrix[3]*=i,this.setTransform()}transformPoint(e){let i=e.x,a=e.y;return new lt(i*this.matrix[0]+a*this.matrix[2]+this.matrix[4],i*this.matrix[1]+a*this.matrix[3]+this.matrix[5])}},m0=class{constructor(r){this._bitmap=r,this._fillColor=255,this._strokeColor=255,this._lineWidth=1,this._globalAlpha=1,this._transform=new KF,this._font={family:"invalid",size:12},this.textAlign="start",this.textBaseline="alphabetic",this.imageSmoothingEnabled=!0,this._clip=null,this._fillStyle_text="",this._strokeStyle_text="",this.states=[]}get canvas(){return this._bitmap}get lineWidth(){return this._lineWidth}set lineWidth(r){this._lineWidth=r}get globalAlpha(){return this._globalAlpha}set globalAlpha(r){this._globalAlpha=Rl(r,0,1)}get font(){return`${this._font.size} ${this._font.family}`}set font(r){let e=r.trim().indexOf(" ");this._font.size=parseInt(r.slice(0,e)),this._font.family=r.slice(e).trim()}get fillStyle(){return this._fillStyle_text}set fillStyle(r){r instanceof Ii?this._fillColor=r:(this._fillColor=Ul(r),this._fillStyle_text=r)}get strokeStyle(){return this._strokeStyle_text}set strokeStyle(r){r instanceof Ii?this._strokeStyle_text=r.toString():(this._strokeColor=Ul(r),this._strokeStyle_text=r)}createLinearGradient(r,e,i,a){return new zF(r,e,i,a)}createRadialGradient(r,e){return new XF(r,e)}createConicGradient(r,e,i){return new qF(r,e,i)}save(){this.states.push({_clip:this._clip}),this._transform.save()}translate(r,e){this._transform.translate(r,e)}rotate(r){this._transform.rotate(r)}scale(r,e){this._transform.scale(r,e)}transform(...r){let e=[...r];this._transform.multiply(e)}setTransform(...r){if(this._transform.identity(),r[0].is2D){let e=this._transform.fromDomMatrix(r[0]);this._transform.multiply(e)}else this._transform.multiply([...r])}getTransform(){return this._transform.asDomMatrix()}restore(){this._transform.restore();let r=this.states.pop();r&&(this._clip=r._clip)}fillRect(r,e,i,a){if(this._transform.isIdentity()){if(typeof this._fillColor=="number"&&An(this._fillColor)[3]===255){for(let A=r;A<r+i;A++)for(let l=e;l<e+a;l++)this.pixelInsideClip(A,l)&&this._bitmap._isValidCoords(A,l)&&this._bitmap.setPixelRGBA(A,l,this._fillColor);return}for(let A=r;A<r+i;A++)for(let l=e;l<e+a;l++)this.fillPixelWithColor(A,l,this.calculateRGBA(A,l))}else{let A=this.path,l=this._closed;this.beginPath(),this.rect(r-1e-4,e-1e-4,i,a),this.closePath(),this.fill(),this.path=A,this._closed=l}}clearRect(r,e,i,a){for(let A=r;A<r+i;A++)for(let l=e;l<e+a;l++)this._bitmap._isValidCoords(r,e)&&this._bitmap.setPixelRGBA(A,l,0)}strokeRect(r,e,i,a){for(let A=r;A<r+i;A++)this.fillPixelWithColor(A,e,this.calculateRGBA_stroke(A,e)),this.fillPixelWithColor(A,e+a,this.calculateRGBA_stroke(A,e+a));for(let A=e;A<e+a;A++)this.fillPixelWithColor(r,A,this.calculateRGBA_stroke(r,A)),this.fillPixelWithColor(r+i,A,this.calculateRGBA_stroke(r+i,A))}strokePixel(r,e){if(!this.pixelInsideClip(r,e))return;let i=this.calculateRGBA_stroke(r,e),a=this._bitmap.getPixelRGBA(r,e),A=this.composite(a,i);this._bitmap.setPixelRGBA(r,e,A)}fillPixelWithColor(r,e,i){if(!this.pixelInsideClip(r,e)||!this._bitmap._isValidCoords(r,e))return;let a=i,A=this._bitmap.getPixelRGBA(r,e),l=this.composite(A,a);this._bitmap.setPixelRGBA(r,e,l)}composite(r,e){let i=An(r),a=An(e),A=a.map(f=>f/255),l=i.map(f=>f/255);A[3]=A[3]*this._globalAlpha;function u(f,g,m,E){return(f*m+g*E*(1-m))/(m+E*(1-m))}let p=A.slice(0,3).map((f,g)=>u(A[g],l[g],A[3],l[3])).map(f=>f*255);return cn(p[0],p[1],p[2],Math.max(i[3],a[3]))}calculateRGBA(r,e){return this._fillColor instanceof Ii?this._fillColor.colorAt(r,e):this._fillColor}calculateRGBA_stroke(r,e){return this._strokeColor instanceof Ii?this._strokeColor.colorAt(r,e):this._strokeColor}getImageData(r,e,i,a){return this._bitmap._copySubBitmap(r,e,i,a)}putImageData(r,e,i){this._bitmap._pasteSubBitmap(r,e,i)}drawImage(r,e,i,a,A,l,u,p,f){if(typeof a>"u")return this.drawImage(r,0,0,r.width,r.height,e,i,r.width,r.height);if(typeof l>"u")return this.drawImage(r,0,0,r.width,r.height,e,i,a,A);let g=new Nl(e,i,e+a,i+A),m=[new lt(l,u),new lt(l+p,u),new lt(l+p,u+f),new lt(l,u+f)];m=m.map(v=>this._transform.transformPoint(v));let E=VF(m),b=new Nl(0,0,this._bitmap.width,this._bitmap.height);E=E.intersect(b);let y=this._transform.cloneTransform();y.invert();function Q(v,I,F,N,_){return(v-I)/(F-I)*(_-N)+N}for(let v=E.x1;v<E.x2;v++)for(let I=E.y1;I<E.y2;I++){let F=new lt(v,I),N=y.transformPoint(F).round();if(N=new lt(Q(N.x,l,l+p,e,e+a),Q(N.y,u,u+f,i,i+A)),g.contains(N)&&this.pixelInsideClip(F.x,F.y)&&this._bitmap._isValidCoords(F.x,F.y)){let _=r.getPixelRGBA(N.x,N.y),M=this._bitmap.getPixelRGBA(F.x,F.y),Y=this.composite(M,_);this._bitmap.setPixelRGBA(F.x,F.y,Y)}}}beginPath(){this.path=[],this._closed=!1}moveTo(r,e){return this._moveTo(new lt(r,e))}_moveTo(r){r=this._transform.transformPoint(r),this.pathstart=r,this.path.push(["m",r])}lineTo(r,e){return this._lineTo(new lt(r,e))}_lineTo(r){this.path.push(["l",this._transform.transformPoint(r)])}quadraticCurveTo(r,e,i,a){let A=this._transform.transformPoint(new lt(r,e)),l=this._transform.transformPoint(new lt(i,a));this.path.push(["q",A,l])}bezierCurveTo(r,e,i,a,A,l){this._bezierCurveTo(new lt(r,e),new lt(i,a),new lt(A,l))}_bezierCurveTo(r,e,i){r=this._transform.transformPoint(r),e=this._transform.transformPoint(e),i=this._transform.transformPoint(i),this.path.push(["b",r,e,i])}arc(r,e,i,a,A,l){function u(f){let g=r+Math.cos(f)*i,m=e+Math.sin(f)*i;return new lt(g,m)}a>A&&(A+=Math.PI*2);let p=Math.PI/16;if(l){let f=A;A=a+Math.PI*2,a=f}this._moveTo(u(a));for(let f=a;f<=A;f+=p)this._lineTo(u(f));this._lineTo(u(A))}arcTo(){throw new Error("arcTo not yet supported")}rect(r,e,i,a){this.moveTo(r,e),this.lineTo(r+i,e),this.lineTo(r+i,e+a),this.lineTo(r,e+a),this.lineTo(r,e)}roundRect(r,e,i,a,A){let l={bl:0,br:0,tr:0,tl:0};typeof A>"u"&&(l={bl:0,br:0,tr:0,tl:0}),typeof A=="number"&&(l={tl:A,tr:A,br:A,bl:A}),Array.isArray(A)&&(A.length===0&&(l={bl:0,br:0,tr:0,tl:0}),A.length===1&&(l={tl:A[0],tr:A[0],br:A[0],bl:A[0]}),A.length===2&&(l={tl:A[0],tr:A[1],br:A[0],bl:A[1]}),A.length===3&&(l={tl:A[0],tr:A[1],br:A[2],bl:A[1]}),A.length===4&&(l={tl:A[0],tr:A[1],br:A[2],bl:A[3]})),this.moveTo(r+l.tl,e),this.lineTo(r+i-l.tr,e),this.quadraticCurveTo(r+i,e,r+i,e+l.tr),this.lineTo(r+i,e+a-l.br),this.quadraticCurveTo(r+i,e+a,r+i-l.br,e+a),this.lineTo(r+l.bl,e+a),this.quadraticCurveTo(r,e+a,r,e+a-l.bl),this.lineTo(r,e+l.tl),this.quadraticCurveTo(r,e,r+l.tl,e),this.lineTo(r+l.tl,e)}ellipse(){throw new Error("ellipse not yet supported")}clip(){this._clip=on(this.path)}measureText(r){return Gl(this,r)}closePath(){if(!this._closed){if(!this.pathstart){console.warn("missing path start");let r=this.path[0];r[0]==="l"&&(this.pathstart=r[1])}this.path.push(["l",this.pathstart]),this._closed=!0}}stroke(){let r=$F(this.path),e=eT(r,this.lineWidth/2),i=on(e),a=this.fillStyle;if(this.fillStyle=this.strokeStyle,this.imageSmoothingEnabled?this.fill_aa(i):this.fill_noaa(i),this.fillStyle=a,this.debug){this.save();let A=this.strokeStyle,l=this.lineWidth;this.strokeStyle="red",this.lineWidth=1,console.log("path is",this.path),on(this.path).forEach(u=>this.drawLine(u)),console.log("flat path is",r),on(r).forEach(u=>this.drawLine(u)),console.log("stroke path is",e),on(e).forEach(u=>this.drawLine(u)),console.log("final lines are",i),this.strokeStyle=A,this.lineWidth=l,this.restore()}}drawLine(r){if(r.is_invalid())return console.error("cannot draw line",r);this.imageSmoothingEnabled?this.drawLine_aa(r):this.drawLine_noaa(r)}drawLine_noaa(r){let e=Math.floor(r.start.x),i=Math.floor(r.start.y),a=Math.floor(r.end.x),A=Math.floor(r.end.y),l=Math.abs(a-e),u=e<a?1:-1,p=Math.abs(A-i),f=i<A?1:-1,g=(l>p?l:-p)/2;for(;this.strokePixel(e,i),!(e===a&&i===A);){let m=g;m>-l&&(g-=p,e+=u),m<p&&(g+=l,i+=f)}}drawLine_aa(r){let e=this._lineWidth,i=Math.floor(r.start.x),a=Math.floor(r.start.y),A=Math.floor(r.end.x),l=Math.floor(r.end.y),u=Math.abs(A-i),p=i<A?1:-1,f=Math.abs(l-a),g=a<l?1:-1,m=u-f,E,b,y,Q=u+f===0?1:Math.sqrt(u*u+f*f),v=ya(this.calculateRGBA_stroke(i,a),4294967040),I=ya(this.calculateRGBA_stroke(i,a),255);for(e=(e+1)/2;;){let F=255-~~Math.max(0,255*(Math.abs(m-u+f)/Q-e+1)),N=oi(v,I*F/255);if(this.fillPixelWithColor(i,a,N),E=m,b=i,2*E>=-u){for(E+=f,y=a;E<Q*e&&(l!==y||u>f);E+=u){let _=255-~~Math.max(0,255*(Math.abs(E)/Q-e+1)),M=oi(v,I*_/255);this.fillPixelWithColor(i,y+=g,M)}if(i===A)break;E=m,m-=f,i+=p}if(2*E<=f){for(E=u-E;E<Q*e&&(A!==b||u<f);E+=f){let _=255-~~Math.max(0,255*(Math.abs(E)/Q-e+1)),M=oi(v,I*_/255);this.fillPixelWithColor(b+=p,a,M)}if(a===l)break;m+=u,a+=g}}}fill(){this._closed||this.closePath();let r=on(this.path);this.imageSmoothingEnabled?this.fill_aa(r):this.fill_noaa(r)}fill_aa(r){let e=Wm(r),i=Math.min(e.y2+1,this._bitmap.height),a=Math.max(e.y-1,0);for(let A=i;A>=a;A--){let l=Sl(r,A);for(let u=0;u<l.length;u+=2){let p=Hm(l[u]),f=Hm(l[u+1]),g=Math.floor(l[u]),m=Math.floor(l[u+1]);for(let E=g;E<=m;E++){let b=ya(this.calculateRGBA(E,A),4294967040),y=ya(this.calculateRGBA(E,A),255),Q=this.calculateRGBA(E,A);if(E===g){let v=oi(b,(1-p)*y);this.fillPixelWithColor(E,A,v);continue}if(E===m){let v=oi(b,f*y);this.fillPixelWithColor(E,A,v);continue}this.fillPixelWithColor(E,A,Q)}}}}fill_noaa(r){let e=Wm(r),i=Math.min(e.y2+1,this._bitmap.height),a=Math.max(e.y-1,0);for(let A=i;A>=a;A--){let l=Sl(r,A);for(let u=0;u<l.length;u+=2){let p=Math.floor(l[u]),f=Math.floor(l[u+1]);for(let g=p;g<=f;g++){let m=this.calculateRGBA(g,A);if(g===p){this.fillPixelWithColor(g,A,m);continue}if(g===f){this.fillPixelWithColor(g,A,m);continue}this.fillPixelWithColor(g,A,m)}}}}pixelInsideClip(r,e){return this._clip?Sl(this._clip,e).filter(i=>i<r).length%2!==0:!0}fillText(r,e,i){kl(this,r,e,i,!0,this.textAlign,this.textBaseline)}strokeText(r,e,i){kl(this,r,e,i,!1,this.textAlign,this.textBaseline)}};function Hm(r){return r-Math.floor(r)}function on(r){let e=[],i=null;return r.forEach(function(a){if(a[0]==="m"&&(i=a[1]),a[0]==="l"){let A=a[1];e.push(new Tl(i,A)),i=A}if(a[0]==="q"){let A=[i,a[1],a[2]];for(let l=0;l<1;l+=.1){let u=rT(A,l);e.push(new Tl(i,u)),i=u}}if(a[0]==="b"){let A=[i,a[1],a[2],a[3]];B0(A,10).forEach(l=>{e.push(new Tl(i,l)),i=l})}}),e}function $F(r){let e=[],i=null;return r.forEach(a=>{if(a[0]==="m"){i=a[1],e.push(["m",new lt(i.x,i.y)]);return}if(a[0]==="l"){i=a[1],e.push(["l",new lt(i.x,i.y)]);return}if(a[0]==="b"){let A=[i,a[1],a[2],a[3]],l=B0(A,10);for(let u=1;u<l.length;u+=2)e.push(["l",new lt(l[u].x,l[u].y)]);i=a[3]}}),e}function eT(r,e){let i=[],a=[];r.forEach(u=>{u[0]==="m"&&(a.length>0&&i.push(a),a=[]),a.push(u)}),a.length>0&&i.push(a),i.forEach(u=>{u[0][0]!=="m"&&console.warn("missing a starting move command!")});let A=i.map(u=>tT(u,e)),l=[];return A.forEach(u=>u.forEach(p=>l.push(p))),l}function tT(r,e){let i=null,a=[],A=[],l=null;function u(m,E,b){m.equals(E)&&console.log("same points!",m,E);let y=m.subtract(E).unit(),Q=y.rotate(Gm(90)),v=y.rotate(Gm(-90));return[Q.scale(b).add(E),v.scale(b).add(E)]}let p=null;function f(m){return m<-Math.PI?m+Math.PI*2:m>+Math.PI?m-Math.PI*2:m}r.forEach(function(m,E){if(m[0]==="m"&&(i=m[1],p=m,l=i.clone(),a.push(["m",l.clone()])),m[0]==="l"){let b=i,y=m[1];if(b.equals(y))return console.warn("can't project the same paths",E,m,b,y);let Q=r[E+1];if(p[0]==="m"){let R=u(y,b,e);a.push(["l",R[1]]),A.push(["l",R[0]])}if(p=m,!Q){let R=u(b,y,e);a.push(["l",R[0]]),A.push(["l",R[1]]);return}let v=Q[1];if(v.equals(y))return console.warn("can't project the same paths",E,m,b,y);let I=b.subtract(y),F=v.subtract(y),N=Math.atan2(I.y,I.x),_=Math.atan2(F.y,F.x),M=f(_-N),Y=u(b,y,e),P=u(v,y,e);if(M<0){a.push(["l",Y[0]]),a.push(["l",P[1]]);let R=e/Math.cos((Math.PI+M)/2),re=b.subtract(y).unit().rotate(M/2).scale(R).add(y);A.push(["l",re])}else{let R=e/Math.cos(-(Math.PI-M)/2);R>10&&(R=10);let re=v.subtract(y).unit().rotate(-M/2).scale(R).add(y);a.push(["l",re]),A.push(["l",Y[1]]),A.push(["l",P[0]])}i=y}}),A.reverse();let g=[].concat(a).concat(A);return g.push(["l",l]),g}function rT(r,e){let i=(1-e)*(1-e)*r[0].x+2*(1-e)*e*r[1].x+e*e*r[2].x,a=(1-e)*(1-e)*r[0].y+2*(1-e)*e*r[1].y+e*e*r[2].y;return new lt(i,a)}function B0(r,e){function i(a){if(nT(a)<e)return[a[0],a[3]];let A=iT(a,.5);return i(A[0]).concat(i(A[1]))}return i(r)}function iT(r,e){let i=r[0],a=r[1],A=r[2],l=r[3],u=$n(i,a,e),p=$n(a,A,e),f=$n(l,A,e),g=$n(u,p,e),m=$n(p,f,e),E={x:(m.x-g.x)*e+g.x,y:(m.y-g.y)*e+g.y};return[[i,u,g,E],[E,m,f,l]]}function nT(r){let e=r[0],i=r[1],a=r[2],A=r[3],l=Math.pow(3*i.x-2*e.x-A.x,2),u=Math.pow(3*i.y-2*e.y-A.y,2),p=Math.pow(3*a.x-2*A.x-e.x,2),f=Math.pow(3*a.y-2*A.y-e.y,2);return l<p&&(l=p),u<f&&(u=f),l+u}function $n(r,e,i){return{x:(e.x-r.x)*i+r.x,y:(e.y-r.y)*i+r.y}}function Wm(r){let e={x:Number.MAX_VALUE,y:Number.MAX_VALUE,x2:Number.MIN_VALUE,y2:Number.MIN_VALUE};function i(a){e.x=Math.min(e.x,a.x),e.y=Math.min(e.y,a.y),e.x2=Math.max(e.x2,a.x),e.y2=Math.max(e.y2,a.y)}return r.forEach(function(a){i(a.start),i(a.end)}),e}function Sl(r,e){let i=[];for(let a=0;a<r.length;a++){let A=r[a].start,l=r[a].end;if(A.y<e&&l.y>=e||l.y<e&&A.y>=e){let u=A.x+(e-A.y)/(l.y-A.y)*(l.x-A.x);i.push(u)}}return i.sort(function(a,A){return a-A})}var xa=class E0{constructor(e,i){this.width=Math.floor(e),this.height=Math.floor(i),this.data=new Uint8Array(this.width*this.height*4);let a=255;for(let A=0;A<this.height;A++)for(let l=0;l<this.width;l++)this.setPixelRGBA(l,A,a);this._context=new m0(this)}calculateIndex(e,i){return e=Math.floor(e),i=Math.floor(i),e<0||i<0||e>=this.width||i>=this.height?0:(this.width*i+e)*4}setPixelRGBA(e,i,a){this.validate_coords(e,i);let A=this.calculateIndex(e,i),l=An(a);this.data[A+0]=l[0],this.data[A+1]=l[1],this.data[A+2]=l[2],this.data[A+3]=l[3]}setPixelRGBA_i(e,i,a,A,l,u){let p=this.calculateIndex(e,i);this.data[p+0]=a,this.data[p+1]=A,this.data[p+2]=l,this.data[p+3]=u}getPixelRGBA(e,i){this.validate_coords(e,i);let a=this.calculateIndex(e,i);return cn(this.data[a+0],this.data[a+1],this.data[a+2],this.data[a+3])}getDebugPixelRGBA(e,i){let a=this.calculateIndex(e,i),A=this.width,l=this.height,u=this.data;return console.dir({i:a,width:A,height:l,data:u}),cn(this.data[a+0],this.data[a+1],this.data[a+2],this.data[a+3])}getPixelRGBA_separate(e,i){let a=this.calculateIndex(e,i);return this.data.slice(a,a+4)}getContext(e){return e==="2d"?this._context:null}_copySubBitmap(e,i,a,A){let l=new E0(a,A);for(let u=0;u<a;u++)for(let p=0;p<A;p++){let f=this.calculateIndex(e+u,i+p),g=l.calculateIndex(u,p);for(let m=0;m<4;m++)l.data[g+m]=this.data[f+m]}return l}_pasteSubBitmap(e,i,a){for(let A=0;A<e.width;A++)for(let l=0;l<e.height;l++){let u=this.calculateIndex(i+A,a+l),p=e.calculateIndex(A,l);for(let f=0;f<4;f++)this.data[u+f]=e.data[p+f]}}_isValidCoords(e,i){return!(e<0||i<0||e>=this.width||i>=this.height)}validate_coords(e,i){if(e<0)throw new Error(`Invalid Index: x ${e} <0`);if(i<0)throw new Error(`Invalid Index: y ${i} <0`);if(e>=this.width)throw new Error(`Invalid Index: x ${e} >= width ${this.width}`);if(i>=this.height)throw new Error(`Invalid Index: y ${i} >= height ${this.height}`)}},sT=Yl(GF(),1),w0=Yl(HF(),1),{PNG:y0}=sT;function aT(r,e){return new xa(r,e)}function oT(r,e,i={}){return new Promise((a,A)=>{if(!Ai.call(r,"data")||!Ai.call(r,"width")||!Ai.call(r,"height"))return A(new TypeError("Invalid bitmap image provided"));let l=new y0({width:r.width,height:r.height,deflateLevel:i.deflateLevel||9,deflateStrategy:i.deflateStrategy||3});for(let u=0;u<r.width;u++)for(let p=0;p<r.height;p++){let f=r.getPixelRGBA(u,p),g=(p*r.width+u)*4,m=An(f);for(let E=0;E<4;E++)l.data[g+E]=m[E]}l.on("error",u=>{A(u)}).pack().pipe(e).on("finish",()=>{a()}).on("error",u=>{A(u)})})}function AT(r){return new Promise((e,i)=>{r.pipe(new y0).on("parsed",function(){let a=new xa(this.width,this.height);for(let A=0;A<a.data.length;A++)a.data[A]=this.data[A];e(a)}).on("error",function(a){i(a)})})}function lT(r,e,i=90){return new Promise((a,A)=>{if(!Ai.call(r,"data")||!Ai.call(r,"width")||!Ai.call(r,"height"))return A(new TypeError("Invalid bitmap image provided"));let l={data:r.data,width:r.width,height:r.height};e.on("error",u=>A(u)),e.write(w0.encode(l,i).data,()=>{e.end(),a()})})}function cT(r,e){return new Promise((i,a)=>{try{let A=[];r.on("data",l=>A.push(l)),r.on("end",()=>{let l=JF(A),u=null;try{u=w0.decode(l,e)}catch(f){a(f);return}let p=new xa(u.width,u.height);for(let f=0;f<u.width;f++)for(let g=0;g<u.height;g++){let m=(g*u.width+f)*4;p.setPixelRGBA_i(f,g,u.data[m+0],u.data[m+1],u.data[m+2],u.data[m+3])}i(p)}),r.on("error",l=>{a(l)})}catch(A){console.log(A),a(A)}})}});var v0=ae((Q0,Qa)=>{var x0=(()=>{var r=Object.defineProperty,e=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,A=(t,n)=>{for(var s in n)r(t,s,{get:n[s],enumerable:!0})},l=(t,n,s,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let c of i(n))!a.call(t,c)&&c!==s&&r(t,c,{get:()=>n[c],enumerable:!(o=e(n,c))||o.enumerable});return t},u=t=>l(r({},"__esModule",{value:!0}),t),p={};A(p,{BoundingBox:()=>Ee,Font:()=>fu,Glyph:()=>Ui,Path:()=>X,_parse:()=>he,load:()=>_y,loadSync:()=>Zy,parse:()=>jy});var f=0,g=-3;function m(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}function E(t,n){this.source=t,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=n,this.destLen=0,this.ltree=new m,this.dtree=new m}var b=new m,y=new m,Q=new Uint8Array(30),v=new Uint16Array(30),I=new Uint8Array(30),F=new Uint16Array(30),N=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),_=new m,M=new Uint8Array(320);function Y(t,n,s,o){var c,h;for(c=0;c<s;++c)t[c]=0;for(c=0;c<30-s;++c)t[c+s]=c/s|0;for(h=o,c=0;c<30;++c)n[c]=h,h+=1<<t[c]}function P(t,n){var s;for(s=0;s<7;++s)t.table[s]=0;for(t.table[7]=24,t.table[8]=152,t.table[9]=112,s=0;s<24;++s)t.trans[s]=256+s;for(s=0;s<144;++s)t.trans[24+s]=s;for(s=0;s<8;++s)t.trans[168+s]=280+s;for(s=0;s<112;++s)t.trans[176+s]=144+s;for(s=0;s<5;++s)n.table[s]=0;for(n.table[5]=32,s=0;s<32;++s)n.trans[s]=s}var R=new Uint16Array(16);function re(t,n,s,o){var c,h;for(c=0;c<16;++c)t.table[c]=0;for(c=0;c<o;++c)t.table[n[s+c]]++;for(t.table[0]=0,h=0,c=0;c<16;++c)R[c]=h,h+=t.table[c];for(c=0;c<o;++c)n[s+c]&&(t.trans[R[n[s+c]]++]=c)}function q(t){t.bitcount--||(t.tag=t.source[t.sourceIndex++],t.bitcount=7);var n=t.tag&1;return t.tag>>>=1,n}function le(t,n,s){if(!n)return s;for(;t.bitcount<24;)t.tag|=t.source[t.sourceIndex++]<<t.bitcount,t.bitcount+=8;var o=t.tag&65535>>>16-n;return t.tag>>>=n,t.bitcount-=n,o+s}function Ae(t,n){for(;t.bitcount<24;)t.tag|=t.source[t.sourceIndex++]<<t.bitcount,t.bitcount+=8;var s=0,o=0,c=0,h=t.tag;do o=2*o+(h&1),h>>>=1,++c,s+=n.table[c],o-=n.table[c];while(o>=0);return t.tag=h,t.bitcount-=c,n.trans[s+o]}function ie(t,n,s){var o,c,h,d,B,w;for(o=le(t,5,257),c=le(t,5,1),h=le(t,4,4),d=0;d<19;++d)M[d]=0;for(d=0;d<h;++d){var x=le(t,3,0);M[N[d]]=x}for(re(_,M,0,19),B=0;B<o+c;){var C=Ae(t,_);switch(C){case 16:var S=M[B-1];for(w=le(t,2,3);w;--w)M[B++]=S;break;case 17:for(w=le(t,3,3);w;--w)M[B++]=0;break;case 18:for(w=le(t,7,11);w;--w)M[B++]=0;break;default:M[B++]=C;break}}re(n,M,0,o),re(s,M,o,c)}function se(t,n,s){for(;;){var o=Ae(t,n);if(o===256)return f;if(o<256)t.dest[t.destLen++]=o;else{var c,h,d,B;for(o-=257,c=le(t,Q[o],v[o]),h=Ae(t,s),d=t.destLen-le(t,I[h],F[h]),B=d;B<d+c;++B)t.dest[t.destLen++]=t.dest[B]}}}function ye(t){for(var n,s,o;t.bitcount>8;)t.sourceIndex--,t.bitcount-=8;if(n=t.source[t.sourceIndex+1],n=256*n+t.source[t.sourceIndex],s=t.source[t.sourceIndex+3],s=256*s+t.source[t.sourceIndex+2],n!==(~s&65535))return g;for(t.sourceIndex+=4,o=n;o;--o)t.dest[t.destLen++]=t.source[t.sourceIndex++];return t.bitcount=0,f}function pe(t,n){var s=new E(t,n),o,c,h;do{switch(o=q(s),c=le(s,2,0),c){case 0:h=ye(s);break;case 1:h=se(s,b,y);break;case 2:ie(s,s.ltree,s.dtree),h=se(s,s.ltree,s.dtree);break;default:h=g}if(h!==f)throw new Error("Data error")}while(!o);return s.destLen<s.dest.length?typeof s.dest.slice=="function"?s.dest.slice(0,s.destLen):s.dest.subarray(0,s.destLen):s.dest}P(b,y),Y(Q,v,4,3),Y(I,F,2,1),Q[28]=0,v[28]=258;function Pe(t,n,s,o,c){return Math.pow(1-c,3)*t+3*Math.pow(1-c,2)*c*n+3*(1-c)*Math.pow(c,2)*s+Math.pow(c,3)*o}function Be(){this.x1=Number.NaN,this.y1=Number.NaN,this.x2=Number.NaN,this.y2=Number.NaN}Be.prototype.isEmpty=function(){return isNaN(this.x1)||isNaN(this.y1)||isNaN(this.x2)||isNaN(this.y2)},Be.prototype.addPoint=function(t,n){typeof t=="number"&&((isNaN(this.x1)||isNaN(this.x2))&&(this.x1=t,this.x2=t),t<this.x1&&(this.x1=t),t>this.x2&&(this.x2=t)),typeof n=="number"&&((isNaN(this.y1)||isNaN(this.y2))&&(this.y1=n,this.y2=n),n<this.y1&&(this.y1=n),n>this.y2&&(this.y2=n))},Be.prototype.addX=function(t){this.addPoint(t,null)},Be.prototype.addY=function(t){this.addPoint(null,t)},Be.prototype.addBezier=function(t,n,s,o,c,h,d,B){let w=[t,n],x=[s,o],C=[c,h],S=[d,B];this.addPoint(t,n),this.addPoint(d,B);for(let T=0;T<=1;T++){let k=6*w[T]-12*x[T]+6*C[T],U=-3*w[T]+9*x[T]-9*C[T]+3*S[T],L=3*x[T]-3*w[T];if(U===0){if(k===0)continue;let Re=-L/k;0<Re&&Re<1&&(T===0&&this.addX(Pe(w[T],x[T],C[T],S[T],Re)),T===1&&this.addY(Pe(w[T],x[T],C[T],S[T],Re)));continue}let ee=Math.pow(k,2)-4*L*U;if(ee<0)continue;let Te=(-k+Math.sqrt(ee))/(2*U);0<Te&&Te<1&&(T===0&&this.addX(Pe(w[T],x[T],C[T],S[T],Te)),T===1&&this.addY(Pe(w[T],x[T],C[T],S[T],Te)));let xe=(-k-Math.sqrt(ee))/(2*U);0<xe&&xe<1&&(T===0&&this.addX(Pe(w[T],x[T],C[T],S[T],xe)),T===1&&this.addY(Pe(w[T],x[T],C[T],S[T],xe)))}},Be.prototype.addQuad=function(t,n,s,o,c,h){let d=t+.6666666666666666*(s-t),B=n+2/3*(o-n),w=d+1/3*(c-t),x=B+1/3*(h-n);this.addBezier(t,n,d,B,w,x,c,h)};var Ee=Be;function me(){this.commands=[],this.fill="black",this.stroke=null,this.strokeWidth=1}var Ne={};function Fe(t,n){let s=Math.floor(t),o=t-s;if(Ne[n]||(Ne[n]={}),Ne[n][o]!==void 0){let h=Ne[n][o];return s+h}let c=+(Math.round(o+"e+"+n)+"e-"+n);return Ne[n][o]=c,s+c}function W(t){let n=[[]],s=0,o=0;for(let c=0;c<t.length;c+=1){let h=n[n.length-1],d=t[c],B=h[0],w=h[1],x=h[h.length-1],C=t[c+1];h.push(d),d.type==="M"?(s=d.x,o=d.y):d.type==="L"&&(!C||C.type==="Z")?Math.abs(d.x-s)>1||Math.abs(d.y-o)>1||h.pop():d.type==="L"&&x&&x.x===d.x&&x.y===d.y?h.pop():d.type==="Z"&&(B&&w&&x&&B.type==="M"&&w.type==="L"&&x.type==="L"&&x.x===B.x&&x.y===B.y&&(h.shift(),h[0].type="M"),c+1<t.length&&n.push([]))}return t=[].concat.apply([],n),t}function O(t){return Object.assign({},{decimalPlaces:2,optimize:!0,flipY:!0,flipYBase:void 0,scale:1,x:0,y:0},t)}function J(t){return parseInt(t)===t&&(t={decimalPlaces:t,flipY:!1}),Object.assign({},{decimalPlaces:2,optimize:!0,flipY:!0,flipYBase:void 0},t)}me.prototype.fromSVG=function(t,n={}){typeof SVGPathElement<"u"&&t instanceof SVGPathElement&&(t=t.getAttribute("d")),n=O(n),this.commands=[];let s="0123456789",o="MmLlQqCcZzHhVv",c="SsTtAa",h="-+",d={},B=[""],w=!1;function x(U){return U.filter(L=>L.length).map(L=>{let ee=parseFloat(L);return(n.decimalPlaces||n.decimalPlaces===0)&&(ee=Fe(ee,n.decimalPlaces)),ee})}function C(U){if(!this.commands.length)return U;let L=this.commands[this.commands.length-1];for(let ee=0;ee<U.length;ee++)U[ee]+=L[ee&1?"y":"x"];return U}function S(){if(d.type===void 0)return;let U=d.type.toUpperCase(),L=U!=="Z"&&d.type.toUpperCase()!==d.type,ee=x(B);if(B=[""],!ee.length&&U!=="Z")return;L&&U!=="H"&&U!=="V"&&(ee=C.apply(this,[ee]));let Te=this.commands.length&&this.commands[this.commands.length-1].x||0,xe=this.commands.length&&this.commands[this.commands.length-1].y||0;switch(U){case"M":this.moveTo(...ee);break;case"L":this.lineTo(...ee);break;case"V":for(let Re=0;Re<ee.length;Re++){let Je=0;L&&(Je=this.commands.length&&this.commands[this.commands.length-1].y||0),this.lineTo(Te,ee[Re]+Je)}break;case"H":for(let Re=0;Re<ee.length;Re++){let Je=0;L&&(Je=this.commands.length&&this.commands[this.commands.length-1].x||0),this.lineTo(ee[Re]+Je,xe)}break;case"C":this.bezierCurveTo(...ee);break;case"Q":this.quadraticCurveTo(...ee);break;case"Z":(this.commands.length<1||this.commands[this.commands.length-1].type!=="Z")&&this.close();break}if(this.commands.length)for(let Re in this.commands[this.commands.length-1])this.commands[this.commands.length-1][Re]===void 0&&(this.commands[this.commands.length-1][Re]=0)}for(let U=0;U<t.length;U++){let L=t.charAt(U),ee=B[B.length-1];if(s.indexOf(L)>-1)B[B.length-1]+=L;else if(h.indexOf(L)>-1)if(!d.type&&!this.commands.length&&(d.type="L"),L==="-")!d.type||ee.indexOf("-")>0?w=!0:ee.length?B.push("-"):B[B.length-1]=L;else if(!d.type||ee.length>0)w=!0;else continue;else if(o.indexOf(L)>-1)d.type?(S.apply(this),d={type:L}):d.type=L;else{if(c.indexOf(L)>-1)throw new Error("Unsupported path command: "+L+". Currently supported commands are "+o.split("").join(", ")+".");` ,
|
|
130
|
-
\r\f\v`.indexOf(L)>-1?B.push(""):L==="."?!d.type||ee.indexOf(L)>-1?w=!0:B[B.length-1]+=L:w=!0}if(w)throw new Error("Unexpected character: "+L+" at offset "+U)}S.apply(this),n.optimize&&(this.commands=W(this.commands));let T=n.flipY,k=n.flipYBase;if(T===!0&&n.flipYBase===void 0){let U=this.getBoundingBox();k=U.y1+U.y2}for(let U in this.commands){let L=this.commands[U];for(let ee in L)["x","x1","x2"].includes(ee)?this.commands[U][ee]=n.x+L[ee]*n.scale:["y","y1","y2"].includes(ee)&&(this.commands[U][ee]=n.y+(T?k-L[ee]:L[ee])*n.scale)}return this},me.fromSVG=function(t,n){return new me().fromSVG(t,n)},me.prototype.moveTo=function(t,n){this.commands.push({type:"M",x:t,y:n})},me.prototype.lineTo=function(t,n){this.commands.push({type:"L",x:t,y:n})},me.prototype.curveTo=me.prototype.bezierCurveTo=function(t,n,s,o,c,h){this.commands.push({type:"C",x1:t,y1:n,x2:s,y2:o,x:c,y:h})},me.prototype.quadTo=me.prototype.quadraticCurveTo=function(t,n,s,o){this.commands.push({type:"Q",x1:t,y1:n,x:s,y:o})},me.prototype.close=me.prototype.closePath=function(){this.commands.push({type:"Z"})},me.prototype.extend=function(t){if(t.commands)t=t.commands;else if(t instanceof Ee){let n=t;this.moveTo(n.x1,n.y1),this.lineTo(n.x2,n.y1),this.lineTo(n.x2,n.y2),this.lineTo(n.x1,n.y2),this.close();return}Array.prototype.push.apply(this.commands,t)},me.prototype.getBoundingBox=function(){let t=new Ee,n=0,s=0,o=0,c=0;for(let h=0;h<this.commands.length;h++){let d=this.commands[h];switch(d.type){case"M":t.addPoint(d.x,d.y),n=o=d.x,s=c=d.y;break;case"L":t.addPoint(d.x,d.y),o=d.x,c=d.y;break;case"Q":t.addQuad(o,c,d.x1,d.y1,d.x,d.y),o=d.x,c=d.y;break;case"C":t.addBezier(o,c,d.x1,d.y1,d.x2,d.y2,d.x,d.y),o=d.x,c=d.y;break;case"Z":o=n,c=s;break;default:throw new Error("Unexpected path command "+d.type)}}return t.isEmpty()&&t.addPoint(0,0),t},me.prototype.draw=function(t){let n=this._layers;if(n&&n.length){for(let o=0;o<n.length;o++)this.draw.call(n[o],t);return}let s=this._image;if(s){t.drawImage(s.image,s.x,s.y,s.width,s.height);return}t.beginPath();for(let o=0;o<this.commands.length;o+=1){let c=this.commands[o];c.type==="M"?t.moveTo(c.x,c.y):c.type==="L"?t.lineTo(c.x,c.y):c.type==="C"?t.bezierCurveTo(c.x1,c.y1,c.x2,c.y2,c.x,c.y):c.type==="Q"?t.quadraticCurveTo(c.x1,c.y1,c.x,c.y):c.type==="Z"&&this.stroke&&this.strokeWidth&&t.closePath()}this.fill&&(t.fillStyle=this.fill,t.fill()),this.stroke&&(t.strokeStyle=this.stroke,t.lineWidth=this.strokeWidth,t.stroke())},me.prototype.toPathData=function(t){t=J(t);function n(B){let w=Fe(B,t.decimalPlaces);return Math.round(B)===w?""+w:w.toFixed(t.decimalPlaces)}function s(){let B="";for(let w=0;w<arguments.length;w+=1){let x=arguments[w];x>=0&&w>0&&(B+=" "),B+=n(x)}return B}let o=this.commands;t.optimize&&(o=JSON.parse(JSON.stringify(this.commands)),o=W(o));let c=t.flipY,h=t.flipYBase;if(c===!0&&h===void 0){let B=new me;B.extend(o);let w=B.getBoundingBox();h=w.y1+w.y2}let d="";for(let B=0;B<o.length;B+=1){let w=o[B];w.type==="M"?d+="M"+s(w.x,c?h-w.y:w.y):w.type==="L"?d+="L"+s(w.x,c?h-w.y:w.y):w.type==="C"?d+="C"+s(w.x1,c?h-w.y1:w.y1,w.x2,c?h-w.y2:w.y2,w.x,c?h-w.y:w.y):w.type==="Q"?d+="Q"+s(w.x1,c?h-w.y1:w.y1,w.x,c?h-w.y:w.y):w.type==="Z"&&(d+="Z")}return d},me.prototype.toSVG=function(t,n){this._layers&&this._layers.length&&console.warn("toSVG() does not support colr font layers yet"),this._image&&console.warn("toSVG() does not support SVG glyphs yet"),n||(n=this.toPathData(t));let s='<path d="';return s+=n,s+='"',this.fill!==void 0&&this.fill!=="black"&&(this.fill===null?s+=' fill="none"':s+=' fill="'+this.fill+'"'),this.stroke&&(s+=' stroke="'+this.stroke+'" stroke-width="'+this.strokeWidth+'"'),s+="/>",s},me.prototype.toDOMElement=function(t,n){this._layers&&this._layers.length&&console.warn("toDOMElement() does not support colr font layers yet"),n||(n=this.toPathData(t));let s=document.createElementNS("http://www.w3.org/2000/svg","path");return s.setAttribute("d",n),this.fill!==void 0&&this.fill!=="black"&&(this.fill===null?s.setAttribute("fill","none"):s.setAttribute("fill",this.fill)),this.stroke&&(s.setAttribute("stroke",this.stroke),s.setAttribute("stroke-width",this.strokeWidth)),s};var X=me;function j(t){throw new Error(t)}function K(t,n){t||j(n)}var G={fail:j,argument:K,assert:K},z=32768,D=2147483648,fe=-32768,ce=32767+1/65536,Qe={},Z={},H={};function ne(t){return function(){return t}}Z.BYTE=function(t){return G.argument(t>=0&&t<=255,"Byte value should be between 0 and 255."),[t]},H.BYTE=ne(1),Z.CHAR=function(t){return[t.charCodeAt(0)]},H.CHAR=ne(1),Z.CHARARRAY=function(t){(t===null||typeof t>"u")&&(t="",console.warn("CHARARRAY with undefined or null value encountered and treated as an empty string. This is probably caused by a missing glyph name."));let n=[];for(let s=0;s<t.length;s+=1)n[s]=t.charCodeAt(s);return n},H.CHARARRAY=function(t){return typeof t>"u"?0:t.length},Z.USHORT=function(t){return[t>>8&255,t&255]},H.USHORT=ne(2),Z.SHORT=function(t){return t>=z&&(t=-(2*z-t)),[t>>8&255,t&255]},H.SHORT=ne(2),Z.UINT24=function(t){return[t>>16&255,t>>8&255,t&255]},H.UINT24=ne(3),Z.ULONG=function(t){return[t>>24&255,t>>16&255,t>>8&255,t&255]},H.ULONG=ne(4),Z.LONG=function(t){return t>=D&&(t=-(2*D-t)),[t>>24&255,t>>16&255,t>>8&255,t&255]},H.LONG=ne(4),Z.FLOAT=function(t){if(t>ce||t<fe)throw new Error(`Value ${t} is outside the range of representable values in 16.16 format`);let n=Math.round(t*65536)<<0;return Z.ULONG(n)},H.FLOAT=H.ULONG,Z.FIXED=Z.ULONG,H.FIXED=H.ULONG,Z.FWORD=Z.SHORT,H.FWORD=H.SHORT,Z.UFWORD=Z.USHORT,H.UFWORD=H.USHORT,Z.F2DOT14=function(t){return Z.USHORT(t*16384)},H.F2DOT14=H.USHORT,Z.LONGDATETIME=function(t){return[0,0,0,0,t>>24&255,t>>16&255,t>>8&255,t&255]},H.LONGDATETIME=ne(8),Z.TAG=function(t){return G.argument(t.length===4,"Tag should be exactly 4 ASCII characters."),[t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2),t.charCodeAt(3)]},H.TAG=ne(4),Z.Card8=Z.BYTE,H.Card8=H.BYTE,Z.Card16=Z.USHORT,H.Card16=H.USHORT,Z.OffSize=Z.BYTE,H.OffSize=H.BYTE,Z.SID=Z.USHORT,H.SID=H.USHORT,Z.NUMBER=function(t){return t>=-107&&t<=107?[t+139]:t>=108&&t<=1131?(t=t-108,[(t>>8)+247,t&255]):t>=-1131&&t<=-108?(t=-t-108,[(t>>8)+251,t&255]):t>=-32768&&t<=32767?Z.NUMBER16(t):Z.NUMBER32(t)},H.NUMBER=function(t){return Z.NUMBER(t).length},Z.NUMBER16=function(t){return[28,t>>8&255,t&255]},H.NUMBER16=ne(3),Z.NUMBER32=function(t){return[29,t>>24&255,t>>16&255,t>>8&255,t&255]},H.NUMBER32=ne(5),Z.REAL=function(t){let n=t.toString(),s=/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/.exec(n);if(s){let h=parseFloat("1e"+((s[2]?+s[2]:0)+s[1].length));n=(Math.round(t*h)/h).toString()}let o="";for(let h=0,d=n.length;h<d;h+=1){let B=n[h];B==="e"?o+=n[++h]==="-"?"c":"b":B==="."?o+="a":B==="-"?o+="e":o+=B}o+=o.length&1?"f":"ff";let c=[30];for(let h=0,d=o.length;h<d;h+=2)c.push(parseInt(o.substr(h,2),16));return c},H.REAL=function(t){return Z.REAL(t).length},Z.NAME=Z.CHARARRAY,H.NAME=H.CHARARRAY,Z.STRING=Z.CHARARRAY,H.STRING=H.CHARARRAY,Qe.UTF8=function(t,n,s){let o=[],c=s;for(let h=0;h<c;h++,n+=1)o[h]=t.getUint8(n);return String.fromCharCode.apply(null,o)},Qe.UTF16=function(t,n,s){let o=[],c=s/2;for(let h=0;h<c;h++,n+=2)o[h]=t.getUint16(n);return String.fromCharCode.apply(null,o)},Z.UTF16=function(t){let n=[];for(let s=0;s<t.length;s+=1){let o=t.charCodeAt(s);n[n.length]=o>>8&255,n[n.length]=o&255}return n},H.UTF16=function(t){return t.length*2};var Ye={"x-mac-croatian":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\u0160\u2122\xB4\xA8\u2260\u017D\xD8\u221E\xB1\u2264\u2265\u2206\xB5\u2202\u2211\u220F\u0161\u222B\xAA\xBA\u03A9\u017E\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u0106\xAB\u010C\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u0110\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\uF8FF\xA9\u2044\u20AC\u2039\u203A\xC6\xBB\u2013\xB7\u201A\u201E\u2030\xC2\u0107\xC1\u010D\xC8\xCD\xCE\xCF\xCC\xD3\xD4\u0111\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u03C0\xCB\u02DA\xB8\xCA\xE6\u02C7","x-mac-cyrillic":"\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u2020\xB0\u0490\xA3\xA7\u2022\xB6\u0406\xAE\xA9\u2122\u0402\u0452\u2260\u0403\u0453\u221E\xB1\u2264\u2265\u0456\xB5\u0491\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A\u0458\u0405\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\u040B\u045B\u040C\u045C\u0455\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u201E\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E","x-mac-gaelic":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u1E02\xB1\u2264\u2265\u1E03\u010A\u010B\u1E0A\u1E0B\u1E1E\u1E1F\u0120\u0121\u1E40\xE6\xF8\u1E41\u1E56\u1E57\u027C\u0192\u017F\u1E60\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\u1E61\u1E9B\xFF\u0178\u1E6A\u20AC\u2039\u203A\u0176\u0177\u1E6B\xB7\u1EF2\u1EF3\u204A\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\u2663\xD2\xDA\xDB\xD9\u0131\xDD\xFD\u0174\u0175\u1E84\u1E85\u1E80\u1E81\u1E82\u1E83","x-mac-greek":"\xC4\xB9\xB2\xC9\xB3\xD6\xDC\u0385\xE0\xE2\xE4\u0384\xA8\xE7\xE9\xE8\xEA\xEB\xA3\u2122\xEE\xEF\u2022\xBD\u2030\xF4\xF6\xA6\u20AC\xF9\xFB\xFC\u2020\u0393\u0394\u0398\u039B\u039E\u03A0\xDF\xAE\xA9\u03A3\u03AA\xA7\u2260\xB0\xB7\u0391\xB1\u2264\u2265\xA5\u0392\u0395\u0396\u0397\u0399\u039A\u039C\u03A6\u03AB\u03A8\u03A9\u03AC\u039D\xAC\u039F\u03A1\u2248\u03A4\xAB\xBB\u2026\xA0\u03A5\u03A7\u0386\u0388\u0153\u2013\u2015\u201C\u201D\u2018\u2019\xF7\u0389\u038A\u038C\u038E\u03AD\u03AE\u03AF\u03CC\u038F\u03CD\u03B1\u03B2\u03C8\u03B4\u03B5\u03C6\u03B3\u03B7\u03B9\u03BE\u03BA\u03BB\u03BC\u03BD\u03BF\u03C0\u03CE\u03C1\u03C3\u03C4\u03B8\u03C9\u03C2\u03C7\u03C5\u03B6\u03CA\u03CB\u0390\u03B0\xAD","x-mac-icelandic":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\xDD\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\u20AC\xD0\xF0\xDE\xFE\xFD\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7","x-mac-inuit":"\u1403\u1404\u1405\u1406\u140A\u140B\u1431\u1432\u1433\u1434\u1438\u1439\u1449\u144E\u144F\u1450\u1451\u1455\u1456\u1466\u146D\u146E\u146F\u1470\u1472\u1473\u1483\u148B\u148C\u148D\u148E\u1490\u1491\xB0\u14A1\u14A5\u14A6\u2022\xB6\u14A7\xAE\xA9\u2122\u14A8\u14AA\u14AB\u14BB\u14C2\u14C3\u14C4\u14C5\u14C7\u14C8\u14D0\u14EF\u14F0\u14F1\u14F2\u14F4\u14F5\u1505\u14D5\u14D6\u14D7\u14D8\u14DA\u14DB\u14EA\u1528\u1529\u152A\u152B\u152D\u2026\xA0\u152E\u153E\u1555\u1556\u1557\u2013\u2014\u201C\u201D\u2018\u2019\u1558\u1559\u155A\u155D\u1546\u1547\u1548\u1549\u154B\u154C\u1550\u157F\u1580\u1581\u1582\u1583\u1584\u1585\u158F\u1590\u1591\u1592\u1593\u1594\u1595\u1671\u1672\u1673\u1674\u1675\u1676\u1596\u15A0\u15A1\u15A2\u15A3\u15A4\u15A5\u15A6\u157C\u0141\u0142","x-mac-ce":"\xC4\u0100\u0101\xC9\u0104\xD6\xDC\xE1\u0105\u010C\xE4\u010D\u0106\u0107\xE9\u0179\u017A\u010E\xED\u010F\u0112\u0113\u0116\xF3\u0117\xF4\xF6\xF5\xFA\u011A\u011B\xFC\u2020\xB0\u0118\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\u0119\xA8\u2260\u0123\u012E\u012F\u012A\u2264\u2265\u012B\u0136\u2202\u2211\u0142\u013B\u013C\u013D\u013E\u0139\u013A\u0145\u0146\u0143\xAC\u221A\u0144\u0147\u2206\xAB\xBB\u2026\xA0\u0148\u0150\xD5\u0151\u014C\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\u014D\u0154\u0155\u0158\u2039\u203A\u0159\u0156\u0157\u0160\u201A\u201E\u0161\u015A\u015B\xC1\u0164\u0165\xCD\u017D\u017E\u016A\xD3\xD4\u016B\u016E\xDA\u016F\u0170\u0171\u0172\u0173\xDD\xFD\u0137\u017B\u0141\u017C\u0122\u02C7",macintosh:"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\u20AC\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7","x-mac-romanian":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\u0102\u0218\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\u0103\u0219\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\u20AC\u2039\u203A\u021A\u021B\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7","x-mac-turkish":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u011E\u011F\u0130\u0131\u015E\u015F\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\uF8A0\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"};Qe.MACSTRING=function(t,n,s,o){let c=Ye[o];if(c===void 0)return;let h="";for(let d=0;d<s;d++){let B=t.getUint8(n+d);B<=127?h+=String.fromCharCode(B):h+=c[B&127]}return h};var De=typeof WeakMap=="function"&&new WeakMap,it,Ze=function(t){if(!it){it={};for(let c in Ye)it[c]=new String(c)}let n=it[t];if(n===void 0)return;if(De){let c=De.get(n);if(c!==void 0)return c}let s=Ye[t];if(s===void 0)return;let o={};for(let c=0;c<s.length;c++)o[s.charCodeAt(c)]=c+128;return De&&De.set(n,o),o};Z.MACSTRING=function(t,n){let s=Ze(n);if(s===void 0)return;let o=[];for(let c=0;c<t.length;c++){let h=t.charCodeAt(c);if(h>=128&&(h=s[h],h===void 0))return;o[c]=h}return o},H.MACSTRING=function(t,n){let s=Z.MACSTRING(t,n);return s!==void 0?s.length:0};function ze(t){return t>=-128&&t<=127}function wt(t,n,s){let o=0,c=t.length;for(;n<c&&o<64&&t[n]===0;)++n,++o;return s.push(128|o-1),n}function te(t,n,s){let o=0,c=t.length,h=n;for(;h<c&&o<64;){let d=t[h];if(!ze(d)||d===0&&h+1<c&&t[h+1]===0)break;++h,++o}s.push(o-1);for(let d=n;d<h;++d)s.push(t[d]+256&255);return h}function ve(t,n,s){let o=0,c=t.length,h=n;for(;h<c&&o<64;){let d=t[h];if(d===0||ze(d)&&h+1<c&&ze(t[h+1]))break;++h,++o}s.push(64|o-1);for(let d=n;d<h;++d){let B=t[d];s.push(B+65536>>8&255,B+256&255)}return h}Z.VARDELTAS=function(t){let n=0,s=[];for(;n<t.length;){let o=t[n];o===0?n=wt(t,n,s):o>=-128&&o<=127?n=te(t,n,s):n=ve(t,n,s)}return s},Z.INDEX=function(t){let n=1,s=[n],o=[];for(let B=0;B<t.length;B+=1){let w=Z.OBJECT(t[B]);Array.prototype.push.apply(o,w),n+=w.length,s.push(n)}if(o.length===0)return[0,0];let c=[],h=1+Math.floor(Math.log(n)/Math.log(2))/8|0,d=[void 0,Z.BYTE,Z.USHORT,Z.UINT24,Z.ULONG][h];for(let B=0;B<s.length;B+=1){let w=d(s[B]);Array.prototype.push.apply(c,w)}return Array.prototype.concat(Z.Card16(t.length),Z.OffSize(h),c,o)},H.INDEX=function(t){return Z.INDEX(t).length},Z.DICT=function(t){let n=[],s=Object.keys(t),o=s.length;for(let c=0;c<o;c+=1){let h=parseInt(s[c],0),d=t[h],B=Z.OPERAND(d.value,d.type),w=Z.OPERATOR(h);for(let x=0;x<B.length;x++)n.push(B[x]);for(let x=0;x<w.length;x++)n.push(w[x])}return n},H.DICT=function(t){return Z.DICT(t).length},Z.OPERATOR=function(t){return t<1200?[t]:[12,t-1200]},Z.OPERAND=function(t,n){let s=[];if(Array.isArray(n))for(let o=0;o<n.length;o+=1){G.argument(t.length===n.length,"Not enough arguments given for type"+n);let c=Z.OPERAND(t[o],n[o]);for(let h=0;h<c.length;h++)s.push(c[h])}else if(n==="SID"){let o=Z.NUMBER(t);for(let c=0;c<o.length;c++)s.push(o[c])}else if(n==="offset"){let o=Z.NUMBER32(t);for(let c=0;c<o.length;c++)s.push(o[c])}else if(n==="number"){let o=Z.NUMBER(t);for(let c=0;c<o.length;c++)s.push(o[c])}else if(n==="real"){let o=Z.REAL(t);for(let c=0;c<o.length;c++)s.push(o[c])}else throw new Error("Unknown operand type "+n);return s},Z.OP=Z.BYTE,H.OP=H.BYTE;var be=typeof WeakMap=="function"&&new WeakMap;Z.CHARSTRING=function(t){if(be){let o=be.get(t);if(o!==void 0)return o}let n=[],s=t.length;for(let o=0;o<s;o+=1){let c=t[o],h=Z[c.type](c.value);for(let d=0;d<h.length;d++)n.push(h[d])}return be&&be.set(t,n),n},H.CHARSTRING=function(t){return Z.CHARSTRING(t).length},Z.OBJECT=function(t){let n=Z[t.type];return G.argument(n!==void 0,"No encoding function for type "+t.type),n(t.value)},H.OBJECT=function(t){let n=H[t.type];return G.argument(n!==void 0,"No sizeOf function for type "+t.type),n(t.value)},Z.TABLE=function(t){let n=[],s=(t.fields||[]).length,o=[],c=[];for(let h=0;h<s;h+=1){let d=t.fields[h],B=Z[d.type];G.argument(B!==void 0,"No encoding function for field type "+d.type+" ("+d.name+")");let w=t[d.name];w===void 0&&(w=d.value);let x=B(w);if(d.type==="TABLE")w.fields!==null&&(c.push(n.length),o.push(x)),n.push(0,0);else for(let C=0;C<x.length;C++)n.push(x[C])}for(let h=0;h<o.length;h+=1){let d=c[h],B=n.length;G.argument(B<65536,"Table "+t.tableName+" too big."),n[d]=B>>8,n[d+1]=B&255;for(let w=0;w<o[h].length;w++)n.push(o[h][w])}return n},H.TABLE=function(t){let n=0,s=(t.fields||[]).length;for(let o=0;o<s;o+=1){let c=t.fields[o],h=H[c.type];G.argument(h!==void 0,"No sizeOf function for field type "+c.type+" ("+c.name+")");let d=t[c.name];d===void 0&&(d=c.value),n+=h(d),c.type==="TABLE"&&(n+=2)}return n},Z.RECORD=Z.TABLE,H.RECORD=H.TABLE,Z.LITERAL=function(t){return t},H.LITERAL=function(t){return t.length};function ue(t,n,s){if(n&&n.length)for(let o=0;o<n.length;o+=1){let c=n[o];this[c.name]=c.value}if(this.tableName=t,this.fields=n,s){let o=Object.keys(s);for(let c=0;c<o.length;c+=1){let h=o[c],d=s[h];this[h]!==void 0&&(this[h]=d)}}}ue.prototype.encode=function(){return Z.TABLE(this)},ue.prototype.sizeOf=function(){return H.TABLE(this)};function Me(t,n,s){s===void 0&&(s=n.length);let o=new Array(n.length+1);o[0]={name:t+"Count",type:"USHORT",value:s};for(let c=0;c<n.length;c++)o[c+1]={name:t+c,type:"USHORT",value:n[c]};return o}function He(t,n,s){let o=n.length,c=new Array(o+1);c[0]={name:t+"Count",type:"USHORT",value:o};for(let h=0;h<o;h++)c[h+1]={name:t+h,type:"TABLE",value:s(n[h],h)};return c}function Le(t,n,s){let o=n.length,c=[];c[0]={name:t+"Count",type:"USHORT",value:o};for(let h=0;h<o;h++)c=c.concat(s(n[h],h));return c}function Oe(t){t.format===1?ue.call(this,"coverageTable",[{name:"coverageFormat",type:"USHORT",value:1}].concat(Me("glyph",t.glyphs))):t.format===2?ue.call(this,"coverageTable",[{name:"coverageFormat",type:"USHORT",value:2}].concat(Le("rangeRecord",t.ranges,function(n,s){return[{name:"startGlyphID"+s,type:"USHORT",value:n.start},{name:"endGlyphID"+s,type:"USHORT",value:n.end},{name:"startCoverageIndex"+s,type:"USHORT",value:n.index}]}))):G.assert(!1,"Coverage format must be 1 or 2.")}Oe.prototype=Object.create(ue.prototype),Oe.prototype.constructor=Oe;function de(t){ue.call(this,"scriptListTable",Le("scriptRecord",t,function(n,s){let o=n.script,c=o.defaultLangSys;return G.assert(!!c,"Unable to write GSUB: script "+n.tag+" has no default language system."),[{name:"scriptTag"+s,type:"TAG",value:n.tag},{name:"script"+s,type:"TABLE",value:new ue("scriptTable",[{name:"defaultLangSys",type:"TABLE",value:new ue("defaultLangSys",[{name:"lookupOrder",type:"USHORT",value:0},{name:"reqFeatureIndex",type:"USHORT",value:c.reqFeatureIndex}].concat(Me("featureIndex",c.featureIndexes)))}].concat(Le("langSys",o.langSysRecords,function(h,d){let B=h.langSys;return[{name:"langSysTag"+d,type:"TAG",value:h.tag},{name:"langSys"+d,type:"TABLE",value:new ue("langSys",[{name:"lookupOrder",type:"USHORT",value:0},{name:"reqFeatureIndex",type:"USHORT",value:B.reqFeatureIndex}].concat(Me("featureIndex",B.featureIndexes)))}]})))}]}))}de.prototype=Object.create(ue.prototype),de.prototype.constructor=de;function ge(t){ue.call(this,"featureListTable",Le("featureRecord",t,function(n,s){let o=n.feature;return[{name:"featureTag"+s,type:"TAG",value:n.tag},{name:"feature"+s,type:"TABLE",value:new ue("featureTable",[{name:"featureParams",type:"USHORT",value:o.featureParams}].concat(Me("lookupListIndex",o.lookupListIndexes)))}]}))}ge.prototype=Object.create(ue.prototype),ge.prototype.constructor=ge;function oe(t,n){ue.call(this,"lookupListTable",He("lookup",t,function(s){let o=n[s.lookupType];return G.assert(!!o,"Unable to write GSUB lookup type "+s.lookupType+" tables."),new ue("lookupTable",[{name:"lookupType",type:"USHORT",value:s.lookupType},{name:"lookupFlag",type:"USHORT",value:s.lookupFlag}].concat(He("subtable",s.subtables,o)))}))}oe.prototype=Object.create(ue.prototype),oe.prototype.constructor=oe;function ke(t){t.format===1?ue.call(this,"classDefTable",[{name:"classFormat",type:"USHORT",value:1},{name:"startGlyphID",type:"USHORT",value:t.startGlyph}].concat(Me("glyph",t.classes))):t.format===2?ue.call(this,"classDefTable",[{name:"classFormat",type:"USHORT",value:2}].concat(Le("rangeRecord",t.ranges,function(n,s){return[{name:"startGlyphID"+s,type:"USHORT",value:n.start},{name:"endGlyphID"+s,type:"USHORT",value:n.end},{name:"class"+s,type:"USHORT",value:n.classId}]}))):G.assert(!1,"Class format must be 1 or 2.")}ke.prototype=Object.create(ue.prototype),ke.prototype.constructor=ke;var $={Table:ue,Record:ue,Coverage:Oe,ClassDef:ke,ScriptList:de,FeatureList:ge,LookupList:oe,ushortList:Me,tableList:He,recordList:Le};function _e(t,n){return t.getUint8(n)}function Ue(t,n){return t.getUint16(n,!1)}function je(t,n){return t.getInt16(n,!1)}function ot(t,n){return(t.getUint16(n)<<8)+t.getUint8(n+2)}function Ke(t,n){return t.getUint32(n,!1)}function ut(t,n){return t.getInt32(n,!1)}function bt(t,n){let s=t.getInt16(n,!1),o=t.getUint16(n+2,!1);return s+o/65535}function xt(t,n){let s="";for(let o=n;o<n+4;o+=1)s+=String.fromCharCode(t.getInt8(o));return s}function Ir(t,n,s){let o=0;for(let c=0;c<s;c+=1)o<<=8,o+=t.getUint8(n+c);return o}function hr(t,n,s){let o=[];for(let c=n;c<s;c+=1)o.push(t.getUint8(c));return o}function Fr(t){let n="";for(let s=0;s<t.length;s+=1)n+=String.fromCharCode(t[s]);return n}var Tr={byte:1,uShort:2,f2dot14:2,short:2,uInt24:3,uLong:4,fixed:4,longDateTime:8,tag:4},ht={LONG_WORDS:32768,WORD_DELTA_COUNT_MASK:32767,SHARED_POINT_NUMBERS:32768,COUNT_MASK:4095,EMBEDDED_PEAK_TUPLE:32768,INTERMEDIATE_REGION:16384,PRIVATE_POINT_NUMBERS:8192,TUPLE_INDEX_MASK:4095,POINTS_ARE_WORDS:128,POINT_RUN_COUNT_MASK:127,DELTAS_ARE_ZERO:128,DELTAS_ARE_WORDS:64,DELTA_RUN_COUNT_MASK:63,INNER_INDEX_BIT_COUNT_MASK:15,MAP_ENTRY_SIZE_MASK:48};function V(t,n){this.data=t,this.offset=n,this.relativeOffset=0}V.prototype.parseByte=function(){let t=this.data.getUint8(this.offset+this.relativeOffset);return this.relativeOffset+=1,t},V.prototype.parseChar=function(){let t=this.data.getInt8(this.offset+this.relativeOffset);return this.relativeOffset+=1,t},V.prototype.parseCard8=V.prototype.parseByte,V.prototype.parseUShort=function(){let t=this.data.getUint16(this.offset+this.relativeOffset);return this.relativeOffset+=2,t},V.prototype.parseCard16=V.prototype.parseUShort,V.prototype.parseSID=V.prototype.parseUShort,V.prototype.parseOffset16=V.prototype.parseUShort,V.prototype.parseShort=function(){let t=this.data.getInt16(this.offset+this.relativeOffset);return this.relativeOffset+=2,t},V.prototype.parseF2Dot14=function(){let t=this.data.getInt16(this.offset+this.relativeOffset)/16384;return this.relativeOffset+=2,t},V.prototype.parseUInt24=function(){let t=ot(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=3,t},V.prototype.parseULong=function(){let t=Ke(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,t},V.prototype.parseLong=function(){let t=ut(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,t},V.prototype.parseOffset32=V.prototype.parseULong,V.prototype.parseFixed=function(){let t=bt(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,t},V.prototype.parseString=function(t){let n=this.data,s=this.offset+this.relativeOffset,o="";this.relativeOffset+=t;for(let c=0;c<t;c++)o+=String.fromCharCode(n.getUint8(s+c));return o},V.prototype.parseTag=function(){return this.parseString(4)},V.prototype.parseLongDateTime=function(){let t=Ke(this.data,this.offset+this.relativeOffset+4);return t-=2082844800,this.relativeOffset+=8,t},V.prototype.parseVersion=function(t){let n=Ue(this.data,this.offset+this.relativeOffset),s=Ue(this.data,this.offset+this.relativeOffset+2);return this.relativeOffset+=4,t===void 0&&(t=4096),n+s/t/10},V.prototype.skip=function(t,n){n===void 0&&(n=1),this.relativeOffset+=Tr[t]*n},V.prototype.parseULongList=function(t){t===void 0&&(t=this.parseULong());let n=new Array(t),s=this.data,o=this.offset+this.relativeOffset;for(let c=0;c<t;c++)n[c]=s.getUint32(o),o+=4;return this.relativeOffset+=t*4,n},V.prototype.parseOffset16List=V.prototype.parseUShortList=function(t){t===void 0&&(t=this.parseUShort());let n=new Array(t),s=this.data,o=this.offset+this.relativeOffset;for(let c=0;c<t;c++)n[c]=s.getUint16(o),o+=2;return this.relativeOffset+=t*2,n},V.prototype.parseShortList=function(t){let n=new Array(t),s=this.data,o=this.offset+this.relativeOffset;for(let c=0;c<t;c++)n[c]=s.getInt16(o),o+=2;return this.relativeOffset+=t*2,n},V.prototype.parseByteList=function(t){let n=new Array(t),s=this.data,o=this.offset+this.relativeOffset;for(let c=0;c<t;c++)n[c]=s.getUint8(o++);return this.relativeOffset+=t,n},V.prototype.parseList=function(t,n){n||(n=t,t=this.parseUShort());let s=new Array(t);for(let o=0;o<t;o++)s[o]=n.call(this);return s},V.prototype.parseList32=function(t,n){n||(n=t,t=this.parseULong());let s=new Array(t);for(let o=0;o<t;o++)s[o]=n.call(this);return s},V.prototype.parseRecordList=function(t,n){n||(n=t,t=this.parseUShort());let s=new Array(t),o=Object.keys(n);for(let c=0;c<t;c++){let h={};for(let d=0;d<o.length;d++){let B=o[d],w=n[B];h[B]=w.call(this)}s[c]=h}return s},V.prototype.parseRecordList32=function(t,n){n||(n=t,t=this.parseULong());let s=new Array(t),o=Object.keys(n);for(let c=0;c<t;c++){let h={};for(let d=0;d<o.length;d++){let B=o[d],w=n[B];h[B]=w.call(this)}s[c]=h}return s},V.prototype.parseTupleRecords=function(t,n){let s=[];for(let o=0;o<t;o++){let c=[];for(let h=0;h<n;h++)c.push(this.parseF2Dot14());s.push(c)}return s},V.prototype.parseStruct=function(t){if(typeof t=="function")return t.call(this);{let n=Object.keys(t),s={};for(let o=0;o<n.length;o++){let c=n[o],h=t[c];s[c]=h.call(this)}return s}},V.prototype.parseValueRecord=function(t){if(t===void 0&&(t=this.parseUShort()),t===0)return;let n={};return t&1&&(n.xPlacement=this.parseShort()),t&2&&(n.yPlacement=this.parseShort()),t&4&&(n.xAdvance=this.parseShort()),t&8&&(n.yAdvance=this.parseShort()),t&16&&(n.xPlaDevice=void 0,this.parseShort()),t&32&&(n.yPlaDevice=void 0,this.parseShort()),t&64&&(n.xAdvDevice=void 0,this.parseShort()),t&128&&(n.yAdvDevice=void 0,this.parseShort()),n},V.prototype.parseValueRecordList=function(){let t=this.parseUShort(),n=this.parseUShort(),s=new Array(n);for(let o=0;o<n;o++)s[o]=this.parseValueRecord(t);return s},V.prototype.parsePointer=function(t){let n=this.parseOffset16();if(n>0)return new V(this.data,this.offset+n).parseStruct(t)},V.prototype.parsePointer32=function(t){let n=this.parseOffset32();if(n>0)return new V(this.data,this.offset+n).parseStruct(t)},V.prototype.parseListOfLists=function(t){let n=this.parseOffset16List(),s=n.length,o=this.relativeOffset,c=new Array(s);for(let h=0;h<s;h++){let d=n[h];if(d===0){c[h]=void 0;continue}if(this.relativeOffset=d,t){let B=this.parseOffset16List(),w=new Array(B.length);for(let x=0;x<B.length;x++)this.relativeOffset=d+B[x],w[x]=t.call(this);c[h]=w}else c[h]=this.parseUShortList()}return this.relativeOffset=o,c},V.prototype.parseCoverage=function(){let t=this.offset+this.relativeOffset,n=this.parseUShort(),s=this.parseUShort();if(n===1)return{format:1,glyphs:this.parseUShortList(s)};if(n===2){let o=new Array(s);for(let c=0;c<s;c++)o[c]={start:this.parseUShort(),end:this.parseUShort(),index:this.parseUShort()};return{format:2,ranges:o}}throw new Error("0x"+t.toString(16)+": Coverage format must be 1 or 2.")},V.prototype.parseClassDef=function(){let t=this.offset+this.relativeOffset,n=this.parseUShort();return n===1?{format:1,startGlyph:this.parseUShort(),classes:this.parseUShortList()}:n===2?{format:2,ranges:this.parseRecordList({start:V.uShort,end:V.uShort,classId:V.uShort})}:(console.warn(`0x${t.toString(16)}: This font file uses an invalid ClassDef format of ${n}. It might be corrupted and should be reacquired if it doesn't display as intended.`),{format:n})},V.list=function(t,n){return function(){return this.parseList(t,n)}},V.list32=function(t,n){return function(){return this.parseList32(t,n)}},V.recordList=function(t,n){return function(){return this.parseRecordList(t,n)}},V.recordList32=function(t,n){return function(){return this.parseRecordList32(t,n)}},V.pointer=function(t){return function(){return this.parsePointer(t)}},V.pointer32=function(t){return function(){return this.parsePointer32(t)}},V.tag=V.prototype.parseTag,V.byte=V.prototype.parseByte,V.uShort=V.offset16=V.prototype.parseUShort,V.uShortList=V.prototype.parseUShortList,V.uInt24=V.prototype.parseUInt24,V.uLong=V.offset32=V.prototype.parseULong,V.uLongList=V.prototype.parseULongList,V.fixed=V.prototype.parseFixed,V.f2Dot14=V.prototype.parseF2Dot14,V.struct=V.prototype.parseStruct,V.coverage=V.prototype.parseCoverage,V.classDef=V.prototype.parseClassDef;var Vr={reserved:V.uShort,reqFeatureIndex:V.uShort,featureIndexes:V.uShortList};V.prototype.parseScriptList=function(){return this.parsePointer(V.recordList({tag:V.tag,script:V.pointer({defaultLangSys:V.pointer(Vr),langSysRecords:V.recordList({tag:V.tag,langSys:V.pointer(Vr)})})}))||[]},V.prototype.parseFeatureList=function(){return this.parsePointer(V.recordList({tag:V.tag,feature:V.pointer({featureParams:V.offset16,lookupListIndexes:V.uShortList})}))||[]},V.prototype.parseLookupList=function(t){return this.parsePointer(V.list(V.pointer(function(){let n=this.parseUShort();G.argument(1<=n&&n<=9,"GPOS/GSUB lookup type "+n+" unknown.");let s=this.parseUShort(),o=s&16;return{lookupType:n,lookupFlag:s,subtables:this.parseList(V.pointer(t[n])),markFilteringSet:o?this.parseUShort():void 0}})))||[]},V.prototype.parseFeatureVariationsList=function(){return this.parsePointer32(function(){let t=this.parseUShort(),n=this.parseUShort();return G.argument(t===1&&n<1,"GPOS/GSUB feature variations table unknown."),this.parseRecordList32({conditionSetOffset:V.offset32,featureTableSubstitutionOffset:V.offset32})})||[]},V.prototype.parseVariationStore=function(){let t=this.relativeOffset,n=this.parseUShort(),s={itemVariationStore:this.parseItemVariationStore()};return this.relativeOffset=t+n+2,s},V.prototype.parseItemVariationStore=function(){let t=this.relativeOffset,n={format:this.parseUShort(),variationRegions:[],itemVariationSubtables:[]},s=this.parseOffset32(),o=this.parseUShort(),c=this.parseULongList(o);this.relativeOffset=t+s,n.variationRegions=this.parseVariationRegionList();for(let h=0;h<o;h++){let d=c[h];this.relativeOffset=t+d,n.itemVariationSubtables.push(this.parseItemVariationSubtable())}return n},V.prototype.parseVariationRegionList=function(){let t=this.parseUShort(),n=this.parseUShort();return this.parseRecordList(n,{regionAxes:V.recordList(t,{startCoord:V.f2Dot14,peakCoord:V.f2Dot14,endCoord:V.f2Dot14})})},V.prototype.parseItemVariationSubtable=function(){let t=this.parseUShort(),n=this.parseUShort(),s=this.parseUShortList(),o=s.length;return{regionIndexes:s,deltaSets:t&&o?this.parseDeltaSets(t,n,o):[]}},V.prototype.parseDeltaSetIndexMap=function(){let t=this.parseByte(),n=this.parseByte(),s=[],o=0;switch(t){case 0:o=this.parseUShort();break;case 1:o=this.parseULong();break;default:console.error(`unsupported DeltaSetIndexMap format ${t}`)}if(!o)return{format:t,entryFormat:n};let c=(n&ht.INNER_INDEX_BIT_COUNT_MASK)+1,h=((n&ht.MAP_ENTRY_SIZE_MASK)>>4)+1;for(let d=0;d<o;d++){let B;if(h===1)B=this.parseByte();else if(h===2)B=this.parseUShort();else if(h===3)B=this.parseUInt24();else if(h===4)B=this.parseULong();else throw new Error(`Invalid entry size of ${h}`);let w=B>>c,x=B&(1<<c)-1;s.push({outerIndex:w,innerIndex:x})}return{format:t,entryFormat:n,map:s}},V.prototype.parseDeltaSets=function(t,n,s){let o=Array.from({length:t},()=>[]),c=n&ht.LONG_WORDS,h=n&ht.WORD_DELTA_COUNT_MASK;if(h>s)throw Error("wordCount must be less than or equal to regionIndexCount");let d=(c?this.parseLong:this.parseShort).bind(this),B=(c?this.parseShort:this.parseChar).bind(this);for(let w=0;w<t;w++)for(let x=0;x<s;x++)x<h?o[w].push(d()):o[w].push(B());return o},V.prototype.parseTupleVariationStoreList=function(t,n,s){let o=this.parseUShort(),h=this.parseUShort()&1,d=this.parseOffset32(),B=(h?this.parseULong:this.parseUShort).bind(this),w={},x=B();h||(x*=2);let C;for(let S=0;S<o;S++){C=B(),h||(C*=2);let T=C-x;w[S]=T?this.parseTupleVariationStore(d+x,t,n,s,S):void 0,x=C}return w},V.prototype.parseTupleVariationStore=function(t,n,s,o,c){let h=this.relativeOffset;this.relativeOffset=t,s==="cvar"&&(this.relativeOffset+=4);let d=this.parseUShort(),B=!!(d&ht.SHARED_POINT_NUMBERS),w=d&ht.COUNT_MASK,x=this.parseOffset16(),C=[],S=[];for(let U=0;U<w;U++){let L=this.parseTupleVariationHeader(n,s);C.push(L)}this.relativeOffset!==t+x&&(console.warn(`Unexpected offset after parsing tuple variation headers! Expected ${t+x}, actually ${this.relativeOffset}`),this.relativeOffset=t+x),B&&(S=this.parsePackedPointNumbers());let T=this.relativeOffset;for(let U=0;U<w;U++){let L=C[U];L.privatePoints=[],this.relativeOffset=T,s==="cvar"&&!L.peakTuple&&console.warn("An embedded peak tuple is required in TupleVariationHeaders for the cvar table."),L.flags.privatePointNumbers&&(L.privatePoints=this.parsePackedPointNumbers()),delete L.flags;let ee=this.offset,Te=this.relativeOffset,xe=Re=>{let Je,$e,nt=()=>{let st=0;if(s==="gvar"){if(st=L.privatePoints.length||S.length,!st){let Bt=o.get(c);Bt.path,st=Bt.points.length,st+=4}}else s==="cvar"&&(st=o.length);this.offset=ee,this.relativeOffset=Te,Je=this.parsePackedDeltas(st),s==="gvar"&&($e=this.parsePackedDeltas(st))};return{configurable:!0,get:function(){return Je===void 0&&nt(),Re==="deltasY"?$e:Je},set:function(st){Je===void 0&&nt(),Re==="deltasY"?$e=st:Je=st}}};Object.defineProperty(L,"deltas",xe.call(this,"deltas")),s==="gvar"&&Object.defineProperty(L,"deltasY",xe.call(this,"deltasY")),T+=L.variationDataSize,delete L.variationDataSize}this.relativeOffset=h;let k={headers:C};return k.sharedPoints=S,k},V.prototype.parseTupleVariationHeader=function(t,n){let s=this.parseUShort(),o=this.parseUShort(),c=!!(o&ht.EMBEDDED_PEAK_TUPLE),h=!!(o&ht.INTERMEDIATE_REGION),d=!!(o&ht.PRIVATE_POINT_NUMBERS),B=c?void 0:o&ht.TUPLE_INDEX_MASK,w=c?this.parseTupleRecords(1,t)[0]:void 0,x=h?this.parseTupleRecords(1,t)[0]:void 0,C=h?this.parseTupleRecords(1,t)[0]:void 0,S={variationDataSize:s,peakTuple:w,intermediateStartTuple:x,intermediateEndTuple:C,flags:{embeddedPeakTuple:c,intermediateRegion:h,privatePointNumbers:d}};return n==="gvar"&&(S.sharedTupleRecordsIndex=B),S},V.prototype.parsePackedPointNumbers=function(){let t=this.parseByte(),n=[],s=t;if(t>=128){let c=this.parseByte();s=(t&ht.POINT_RUN_COUNT_MASK)<<8|c}let o=0;for(;n.length<s;){let c=this.parseByte(),h=!!(c&ht.POINTS_ARE_WORDS),d=(c&ht.POINT_RUN_COUNT_MASK)+1;for(let B=0;B<d&&n.length<s;B++){let w;h?w=this.parseUShort():w=this.parseByte(),o=o+w,n.push(o)}}return n},V.prototype.parsePackedDeltas=function(t){let n=[];for(;n.length<t;){let s=this.parseByte(),o=!!(s&ht.DELTAS_ARE_ZERO),c=!!(s&ht.DELTAS_ARE_WORDS),h=(s&ht.DELTA_RUN_COUNT_MASK)+1;for(let d=0;d<h&&n.length<t;d++)o?n.push(0):c?n.push(this.parseShort()):n.push(this.parseChar())}return n};var he={getByte:_e,getCard8:_e,getUShort:Ue,getCard16:Ue,getShort:je,getUInt24:ot,getULong:Ke,getFixed:bt,getTag:xt,getOffset:Ir,getBytes:hr,bytesToString:Fr,Parser:V},pr=["copyright","fontFamily","fontSubfamily","uniqueID","fullName","version","postScriptName","trademark","manufacturer","designer","description","manufacturerURL","designerURL","license","licenseURL","reserved","preferredFamily","preferredSubfamily","compatibleFullName","sampleText","postScriptFindFontName","wwsFamily","wwsSubfamily"],hn={0:"en",1:"fr",2:"de",3:"it",4:"nl",5:"sv",6:"es",7:"da",8:"pt",9:"no",10:"he",11:"ja",12:"ar",13:"fi",14:"el",15:"is",16:"mt",17:"tr",18:"hr",19:"zh-Hant",20:"ur",21:"hi",22:"th",23:"ko",24:"lt",25:"pl",26:"hu",27:"es",28:"lv",29:"se",30:"fo",31:"fa",32:"ru",33:"zh",34:"nl-BE",35:"ga",36:"sq",37:"ro",38:"cz",39:"sk",40:"si",41:"yi",42:"sr",43:"mk",44:"bg",45:"uk",46:"be",47:"uz",48:"kk",49:"az-Cyrl",50:"az-Arab",51:"hy",52:"ka",53:"mo",54:"ky",55:"tg",56:"tk",57:"mn-CN",58:"mn",59:"ps",60:"ks",61:"ku",62:"sd",63:"bo",64:"ne",65:"sa",66:"mr",67:"bn",68:"as",69:"gu",70:"pa",71:"or",72:"ml",73:"kn",74:"ta",75:"te",76:"si",77:"my",78:"km",79:"lo",80:"vi",81:"id",82:"tl",83:"ms",84:"ms-Arab",85:"am",86:"ti",87:"om",88:"so",89:"sw",90:"rw",91:"rn",92:"ny",93:"mg",94:"eo",128:"cy",129:"eu",130:"ca",131:"la",132:"qu",133:"gn",134:"ay",135:"tt",136:"ug",137:"dz",138:"jv",139:"su",140:"gl",141:"af",142:"br",143:"iu",144:"gd",145:"gv",146:"ga",147:"to",148:"el-polyton",149:"kl",150:"az",151:"nn"},is={0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:5,11:1,12:4,13:0,14:6,15:0,16:0,17:0,18:0,19:2,20:4,21:9,22:21,23:3,24:29,25:29,26:29,27:29,28:29,29:0,30:0,31:4,32:7,33:25,34:0,35:0,36:0,37:0,38:29,39:29,40:0,41:5,42:7,43:7,44:7,45:7,46:7,47:7,48:7,49:7,50:4,51:24,52:23,53:7,54:7,55:7,56:7,57:27,58:7,59:4,60:4,61:4,62:4,63:26,64:9,65:9,66:9,67:13,68:13,69:11,70:10,71:12,72:17,73:16,74:14,75:15,76:18,77:19,78:20,79:22,80:30,81:0,82:0,83:0,84:4,85:28,86:28,87:28,88:0,89:0,90:0,91:0,92:0,93:0,94:0,128:0,129:0,130:0,131:0,132:0,133:0,134:0,135:7,136:4,137:26,138:0,139:0,140:0,141:0,142:0,143:28,144:0,145:0,146:0,147:0,148:6,149:0,150:0,151:0},pn={1078:"af",1052:"sq",1156:"gsw",1118:"am",5121:"ar-DZ",15361:"ar-BH",3073:"ar",2049:"ar-IQ",11265:"ar-JO",13313:"ar-KW",12289:"ar-LB",4097:"ar-LY",6145:"ary",8193:"ar-OM",16385:"ar-QA",1025:"ar-SA",10241:"ar-SY",7169:"aeb",14337:"ar-AE",9217:"ar-YE",1067:"hy",1101:"as",2092:"az-Cyrl",1068:"az",1133:"ba",1069:"eu",1059:"be",2117:"bn",1093:"bn-IN",8218:"bs-Cyrl",5146:"bs",1150:"br",1026:"bg",1027:"ca",3076:"zh-HK",5124:"zh-MO",2052:"zh",4100:"zh-SG",1028:"zh-TW",1155:"co",1050:"hr",4122:"hr-BA",1029:"cs",1030:"da",1164:"prs",1125:"dv",2067:"nl-BE",1043:"nl",3081:"en-AU",10249:"en-BZ",4105:"en-CA",9225:"en-029",16393:"en-IN",6153:"en-IE",8201:"en-JM",17417:"en-MY",5129:"en-NZ",13321:"en-PH",18441:"en-SG",7177:"en-ZA",11273:"en-TT",2057:"en-GB",1033:"en",12297:"en-ZW",1061:"et",1080:"fo",1124:"fil",1035:"fi",2060:"fr-BE",3084:"fr-CA",1036:"fr",5132:"fr-LU",6156:"fr-MC",4108:"fr-CH",1122:"fy",1110:"gl",1079:"ka",3079:"de-AT",1031:"de",5127:"de-LI",4103:"de-LU",2055:"de-CH",1032:"el",1135:"kl",1095:"gu",1128:"ha",1037:"he",1081:"hi",1038:"hu",1039:"is",1136:"ig",1057:"id",1117:"iu",2141:"iu-Latn",2108:"ga",1076:"xh",1077:"zu",1040:"it",2064:"it-CH",1041:"ja",1099:"kn",1087:"kk",1107:"km",1158:"quc",1159:"rw",1089:"sw",1111:"kok",1042:"ko",1088:"ky",1108:"lo",1062:"lv",1063:"lt",2094:"dsb",1134:"lb",1071:"mk",2110:"ms-BN",1086:"ms",1100:"ml",1082:"mt",1153:"mi",1146:"arn",1102:"mr",1148:"moh",1104:"mn",2128:"mn-CN",1121:"ne",1044:"nb",2068:"nn",1154:"oc",1096:"or",1123:"ps",1045:"pl",1046:"pt",2070:"pt-PT",1094:"pa",1131:"qu-BO",2155:"qu-EC",3179:"qu",1048:"ro",1047:"rm",1049:"ru",9275:"smn",4155:"smj-NO",5179:"smj",3131:"se-FI",1083:"se",2107:"se-SE",8251:"sms",6203:"sma-NO",7227:"sms",1103:"sa",7194:"sr-Cyrl-BA",3098:"sr",6170:"sr-Latn-BA",2074:"sr-Latn",1132:"nso",1074:"tn",1115:"si",1051:"sk",1060:"sl",11274:"es-AR",16394:"es-BO",13322:"es-CL",9226:"es-CO",5130:"es-CR",7178:"es-DO",12298:"es-EC",17418:"es-SV",4106:"es-GT",18442:"es-HN",2058:"es-MX",19466:"es-NI",6154:"es-PA",15370:"es-PY",10250:"es-PE",20490:"es-PR",3082:"es",1034:"es",21514:"es-US",14346:"es-UY",8202:"es-VE",2077:"sv-FI",1053:"sv",1114:"syr",1064:"tg",2143:"tzm",1097:"ta",1092:"tt",1098:"te",1054:"th",1105:"bo",1055:"tr",1090:"tk",1152:"ug",1058:"uk",1070:"hsb",1056:"ur",2115:"uz-Cyrl",1091:"uz",1066:"vi",1106:"cy",1160:"wo",1157:"sah",1144:"ii",1130:"yo"};function ns(t,n,s){switch(t){case 0:if(n===65535)return"und";if(s)return s[n];break;case 1:return hn[n];case 3:return pn[n]}}var li="utf-16",ss={0:"macintosh",1:"x-mac-japanese",2:"x-mac-chinesetrad",3:"x-mac-korean",6:"x-mac-greek",7:"x-mac-cyrillic",9:"x-mac-devanagai",10:"x-mac-gurmukhi",11:"x-mac-gujarati",12:"x-mac-oriya",13:"x-mac-bengali",14:"x-mac-tamil",15:"x-mac-telugu",16:"x-mac-kannada",17:"x-mac-malayalam",18:"x-mac-sinhalese",19:"x-mac-burmese",20:"x-mac-khmer",21:"x-mac-thai",22:"x-mac-lao",23:"x-mac-georgian",24:"x-mac-armenian",25:"x-mac-chinesesimp",26:"x-mac-tibetan",27:"x-mac-mongolian",28:"x-mac-ethiopic",29:"x-mac-ce",30:"x-mac-vietnamese",31:"x-mac-extarabic"},as={15:"x-mac-icelandic",17:"x-mac-turkish",18:"x-mac-croatian",24:"x-mac-ce",25:"x-mac-ce",26:"x-mac-ce",27:"x-mac-ce",28:"x-mac-ce",30:"x-mac-icelandic",37:"x-mac-romanian",38:"x-mac-ce",39:"x-mac-ce",40:"x-mac-ce",143:"x-mac-inuit",146:"x-mac-gaelic"};function Fi(t,n,s){switch(t){case 0:return li;case 1:return as[s]||ss[n];case 3:if(n===1||n===10)return li;break}}var fn={0:"unicode",1:"macintosh",2:"reserved",3:"windows"};function os(t){return fn[t]}function Na(t,n,s){let o={},c=new he.Parser(t,n),h=c.parseUShort(),d=c.parseUShort(),B=c.offset+c.parseUShort();for(let w=0;w<d;w++){let x=c.parseUShort(),C=c.parseUShort(),S=c.parseUShort(),T=c.parseUShort(),k=pr[T]||T,U=c.parseUShort(),L=c.parseUShort(),ee=ns(x,S,s),Te=Fi(x,C,S),xe=os(x);if(Te!==void 0&&ee!==void 0&&xe!==void 0){let Re;if(Te===li?Re=Qe.UTF16(t,B+L,U):Re=Qe.MACSTRING(t,B+L,U,Te),Re){let Je=o[xe];Je===void 0&&(Je=o[xe]={});let $e=Je[k];$e===void 0&&($e=Je[k]={}),$e[ee]=Re}}}return h===1&&c.parseUShort(),o}function fr(t){let n={};for(let s in t)n[t[s]]=parseInt(s);return n}function Ti(t,n,s,o,c,h){return new $.Record("NameRecord",[{name:"platformID",type:"USHORT",value:t},{name:"encodingID",type:"USHORT",value:n},{name:"languageID",type:"USHORT",value:s},{name:"nameID",type:"USHORT",value:o},{name:"length",type:"USHORT",value:c},{name:"offset",type:"USHORT",value:h}])}function Si(t,n){let s=t.length,o=n.length-s+1;e:for(let c=0;c<o;c++)for(;c<o;c++){for(let h=0;h<s;h++)if(n[c+h]!==t[h])continue e;return c}return-1}function ci(t,n){let s=Si(t,n);if(s<0){s=n.length;let o=0,c=t.length;for(;o<c;++o)n.push(t[o])}return s}function As(t,n){let s=fr(fn),o=fr(hn),c=fr(pn),h=[],d=[];for(let w in t){let x,C=[],S={},T=fr(pr),k=s[w];for(let U in t[w]){let L=T[U];if(L===void 0&&(L=U),x=parseInt(L),isNaN(x))throw new Error('Name table entry "'+U+'" does not exist, see nameTableNames for complete list.');S[x]=t[w][U],C.push(x)}for(let U=0;U<C.length;U++){x=C[U];let L=S[x];for(let ee in L){let Te=L[ee];if(k===1||k===0){let xe=o[ee],Re=is[xe],Je=Fi(k,Re,xe),$e=Z.MACSTRING(Te,Je);if(k===0&&(xe=n.indexOf(ee),xe<0&&(xe=n.length,n.push(ee)),Re=4,$e=Z.UTF16(Te)),$e!==void 0){let nt=ci($e,d);h.push(Ti(k,Re,xe,x,$e.length,nt))}}if(k===3){let xe=c[ee];if(xe!==void 0){let Re=Z.UTF16(Te),Je=ci(Re,d);h.push(Ti(3,1,xe,x,Re.length,Je))}}}}}h.sort(function(w,x){return w.platformID-x.platformID||w.encodingID-x.encodingID||w.languageID-x.languageID||w.nameID-x.nameID});let B=new $.Table("name",[{name:"format",type:"USHORT",value:0},{name:"count",type:"USHORT",value:h.length},{name:"stringOffset",type:"USHORT",value:6+h.length*12}]);for(let w=0;w<h.length;w++)B.fields.push({name:"record_"+w,type:"RECORD",value:h[w]});return B.fields.push({name:"strings",type:"LITERAL",value:d}),B}function ui(t,n,s=[]){if(n<256&&n in pr){if(s.length&&!s.includes(parseInt(n)))return;n=pr[n]}for(let o in t)for(let c in t[o])if(c===n||parseInt(c)===n)return t[o][c]}var dn={parse:Na,make:As,getNameByID:ui};function ls(t,n,s,o){t.length=n.parseUShort(),t.language=n.parseUShort()-1;let c=n.parseByteList(t.length),h=Object.assign({},c),d=Fi(s,o,t.language),B=Ye[d];for(let w=0;w<B.length;w++)h[B.charCodeAt(w)]=c[128+w];t.glyphIndexMap=h}function cs(t,n,s){n.parseUShort(),t.length=n.parseULong(),t.language=n.parseULong();let o;t.groupCount=o=n.parseULong(),t.glyphIndexMap={};for(let c=0;c<o;c+=1){let h=n.parseULong(),d=n.parseULong(),B=n.parseULong();for(let w=h;w<=d;w+=1)t.glyphIndexMap[w]=B,s===12&&B++}}function us(t,n,s,o,c){t.length=n.parseUShort(),t.language=n.parseUShort();let h;t.segCount=h=n.parseUShort()>>1,n.skip("uShort",3),t.glyphIndexMap={};let d=new he.Parser(s,o+c+14),B=new he.Parser(s,o+c+16+h*2),w=new he.Parser(s,o+c+16+h*4),x=new he.Parser(s,o+c+16+h*6),C=o+c+16+h*8;for(let S=0;S<h-1;S+=1){let T,k=d.parseUShort(),U=B.parseUShort(),L=w.parseShort(),ee=x.parseUShort();for(let Te=U;Te<=k;Te+=1)ee!==0?(C=x.offset+x.relativeOffset-2,C+=ee,C+=(Te-U)*2,T=he.getUShort(s,C),T!==0&&(T=T+L&65535)):T=Te+L&65535,t.glyphIndexMap[Te]=T}}function hs(t,n){let s={};n.skip("uLong");let o=n.parseULong();for(let c=0;c<o;c+=1){let h=n.parseUInt24(),d={varSelector:h},B=n.parseOffset32(),w=n.parseOffset32(),x=n.relativeOffset;B&&(n.relativeOffset=B,d.defaultUVS=n.parseStruct({ranges:function(){return n.parseRecordList32({startUnicodeValue:n.parseUInt24,additionalCount:n.parseByte})}})),w&&(n.relativeOffset=w,d.nonDefaultUVS=n.parseStruct({uvsMappings:function(){let C={},S=n.parseRecordList32({unicodeValue:n.parseUInt24,glyphID:n.parseUShort});for(let T=0;T<S.length;T+=1)C[S[T].unicodeValue]=S[T];return C}})),s[h]=d,n.relativeOffset=x}t.varSelectorList=s}function Di(t,n){let s={};s.version=he.getUShort(t,n),G.argument(s.version===0,"cmap table version should be 0."),s.numTables=he.getUShort(t,n+2);let o=null,c=-1,h=-1,d=null,B=null,w=[0,1,2,3,4,6],x=[0,1,10];for(let S=s.numTables-1;S>=0;S-=1)if(d=he.getUShort(t,n+4+S*8),B=he.getUShort(t,n+4+S*8+2),d===3&&x.includes(B)||d===0&&w.includes(B)||d===1&&B===0){if(h>0)continue;if(h=he.getULong(t,n+4+S*8+4),o)break}else if(d===0&&B===5){if(c=he.getULong(t,n+4+S*8+4),o=new he.Parser(t,n+c),o.parseUShort()!==14)c=-1,o=null;else if(h>0)break}if(h===-1)throw new Error("No valid cmap sub-tables found.");let C=new he.Parser(t,n+h);if(s.format=C.parseUShort(),s.format===0)ls(s,C,d,B);else if(s.format===12||s.format===13)cs(s,C,s.format);else if(s.format===4)us(s,C,t,n,h);else throw new Error("Only format 0 (platformId 1, encodingId 0), 4, 12 and 14 cmap tables are supported (found format "+s.format+", platformId "+d+", encodingId "+B+").");return o&&hs(s,o),s}function N0(t,n,s){t.segments.push({end:n,start:n,delta:-(n-s),offset:0,glyphIndex:s})}function k0(t){t.segments.push({end:65535,start:65535,delta:1,offset:0})}function Y0(t){if(t.length===0)return t;let n=[t[0]];for(let s=1;s<t.length;s++){let o=n[n.length-1],c=t[s];o.end+1===c.start&&o.delta===c.delta&&c.end!==65535?o.end=c.end:n.push(c)}return n}function O0(t){let n=!0,s;for(s=t.length-1;s>0;s-=1)if(t.get(s).unicode>65535){n=!1;break}let o=[{name:"version",type:"USHORT",value:0},{name:"numTables",type:"USHORT",value:n?1:2},{name:"platformID",type:"USHORT",value:3},{name:"encodingID",type:"USHORT",value:1},{name:"offset",type:"ULONG",value:n?12:20}];n||o.push({name:"cmap12PlatformID",type:"USHORT",value:3},{name:"cmap12EncodingID",type:"USHORT",value:10},{name:"cmap12Offset",type:"ULONG",value:0}),o.push({name:"format",type:"USHORT",value:4},{name:"cmap4Length",type:"USHORT",value:0},{name:"language",type:"USHORT",value:0},{name:"segCountX2",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0});let c=new $.Table("cmap",o);for(c.segments=[],s=0;s<t.length;s+=1){let k=t.get(s);for(let U=0;U<k.unicodes.length;U+=1)N0(c,k.unicodes[U],s)}c.segments.sort(function(k,U){return k.start-U.start}),c.segments=Y0(c.segments),k0(c);let h=c.segments.length,d=0,B=[],w=[],x=[],C=[],S=[],T=[];for(s=0;s<h;s+=1){let k=c.segments[s];k.end<=65535&&k.start<=65535?(B.push({name:"end_"+s,type:"USHORT",value:k.end}),w.push({name:"start_"+s,type:"USHORT",value:k.start}),x.push({name:"idDelta_"+s,type:"SHORT",value:k.delta}),C.push({name:"idRangeOffset_"+s,type:"USHORT",value:k.offset}),k.glyphId!==void 0&&S.push({name:"glyph_"+s,type:"USHORT",value:k.glyphId})):d+=1,!n&&k.glyphIndex!==void 0&&(T.push({name:"cmap12Start_"+s,type:"ULONG",value:k.start}),T.push({name:"cmap12End_"+s,type:"ULONG",value:k.end}),T.push({name:"cmap12Glyph_"+s,type:"ULONG",value:k.glyphIndex}))}c.segCountX2=(h-d)*2,c.searchRange=Math.pow(2,Math.floor(Math.log(h-d)/Math.log(2)))*2,c.entrySelector=Math.log(c.searchRange/2)/Math.log(2),c.rangeShift=c.segCountX2-c.searchRange;for(let k=0;k<B.length;k++)c.fields.push(B[k]);c.fields.push({name:"reservedPad",type:"USHORT",value:0});for(let k=0;k<w.length;k++)c.fields.push(w[k]);for(let k=0;k<x.length;k++)c.fields.push(x[k]);for(let k=0;k<C.length;k++)c.fields.push(C[k]);for(let k=0;k<S.length;k++)c.fields.push(S[k]);if(c.cmap4Length=14+B.length*2+2+w.length*2+x.length*2+C.length*2+S.length*2,!n){let k=16+T.length*4;c.cmap12Offset=20+c.cmap4Length,c.fields.push({name:"cmap12Format",type:"USHORT",value:12},{name:"cmap12Reserved",type:"USHORT",value:0},{name:"cmap12Length",type:"ULONG",value:k},{name:"cmap12Language",type:"ULONG",value:0},{name:"cmap12nGroups",type:"ULONG",value:T.length/3});for(let U=0;U<T.length;U++)c.fields.push(T[U])}return c}var Wl={parse:Di,make:O0},ps=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","266 ff","onedotenleader","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall","001.000","001.001","001.002","001.003","Black","Bold","Book","Light","Medium","Regular","Roman","Semibold"],R0=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron"],G0=[".notdef","space","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],L0=[".notdef","space","dollaroldstyle","dollarsuperior","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","hyphensuperior","colonmonetary","onefitted","rupiah","centoldstyle","figuredash","hypheninferior","onequarter","onehalf","threequarters","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior"],ka=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","","endash","dagger","daggerdbl","periodcentered","","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","","questiondown","","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","","ring","cedilla","","hungarumlaut","ogonek","caron","emdash","","","","","","","","","","","","","","","","","AE","","ordfeminine","","","","","Lslash","Oslash","OE","ordmasculine","","","","","","ae","","","","dotlessi","","","lslash","oslash","oe","germandbls"],P0=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","","asuperior","bsuperior","centsuperior","dsuperior","esuperior","","","isuperior","","","lsuperior","msuperior","nsuperior","osuperior","","","rsuperior","ssuperior","tsuperior","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdownsmall","centoldstyle","Lslashsmall","","","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","","Dotaccentsmall","","","Macronsmall","","","figuredash","hypheninferior","","","Ogoneksmall","Ringsmall","Cedillasmall","","","","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],hi=[".notdef",".null","nonmarkingreturn","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","nonbreakingspace","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron","Lslash","lslash","Scaron","scaron","Zcaron","zcaron","brokenbar","Eth","eth","Yacute","yacute","Thorn","thorn","minus","multiply","onesuperior","twosuperior","threesuperior","onehalf","onequarter","threequarters","franc","Gbreve","gbreve","Idotaccent","Scedilla","scedilla","Cacute","cacute","Ccaron","ccaron","dcroat"];function Jl(t){this.font=t}Jl.prototype.charToGlyphIndex=function(t){let n=t.codePointAt(0),s=this.font.glyphs;if(s)for(let o=0;o<s.length;o+=1){let c=s.get(o);for(let h=0;h<c.unicodes.length;h+=1)if(c.unicodes[h]===n)return o}return null};function Vl(t){this.cmap=t}Vl.prototype.charToGlyphIndex=function(t){return this.cmap.glyphIndexMap[t.codePointAt(0)]||0};function jl(t,n){this.encoding=t,this.charset=n}jl.prototype.charToGlyphIndex=function(t){let n=t.codePointAt(0),s=this.encoding[n];return this.charset.indexOf(s)};function Ya(t){switch(t.version){case 1:this.names=hi.slice();break;case 2:this.names=new Array(t.numberOfGlyphs);for(let n=0;n<t.numberOfGlyphs;n++)t.glyphNameIndex[n]<hi.length?this.names[n]=hi[t.glyphNameIndex[n]]:this.names[n]=t.names[t.glyphNameIndex[n]-hi.length];break;case 2.5:this.names=new Array(t.numberOfGlyphs);for(let n=0;n<t.numberOfGlyphs;n++)this.names[n]=hi[n+t.glyphNameIndex[n]];break;case 3:this.names=[];break;default:this.names=[];break}}Ya.prototype.nameToGlyphIndex=function(t){return this.names.indexOf(t)},Ya.prototype.glyphIndexToName=function(t){return this.names[t]};function H0(t){let n,s=t.tables.cmap.glyphIndexMap,o=Object.keys(s);for(let c=0;c<o.length;c+=1){let h=o[c],d=s[h];n=t.glyphs.get(d),n.addUnicode(parseInt(h))}for(let c=0;c<t.glyphs.length;c+=1)n=t.glyphs.get(c),t.cffEncoding?n.name=t.cffEncoding.charset[c]:t.glyphNames.names&&(n.name=t.glyphNames.glyphIndexToName(c))}function W0(t){t._IndexToUnicodeMap={};let n=t.tables.cmap.glyphIndexMap,s=Object.keys(n);for(let o=0;o<s.length;o+=1){let c=s[o],h=n[c];t._IndexToUnicodeMap[h]===void 0?t._IndexToUnicodeMap[h]={unicodes:[parseInt(c)]}:t._IndexToUnicodeMap[h].unicodes.push(parseInt(c))}}function J0(t,n){n.lowMemory?W0(t):H0(t)}function V0(t,n,s,o,c){t.beginPath(),t.moveTo(n,s),t.lineTo(o,c),t.stroke()}var pi={line:V0};function j0(t,n){let s=new V(t,n),o=s.parseShort();o!==0&&console.warn("Only CPALv0 is currently fully supported.");let c=s.parseShort(),h=s.parseShort(),d=s.parseShort(),B=s.parseOffset32(),w=s.parseUShortList(h);s.relativeOffset=B;let x=s.parseULongList(d);return s.relativeOffset=B,{version:o,numPaletteEntries:c,colorRecords:x,colorRecordIndices:w}}function _0({version:t=0,numPaletteEntries:n=0,colorRecords:s=[],colorRecordIndices:o=[0]}){return G.argument(t===0,"Only CPALv0 are supported."),G.argument(s.length,"No colorRecords given."),G.argument(o.length,"No colorRecordIndices given."),o.length>1&&G.argument(n,"Can't infer numPaletteEntries on multiple colorRecordIndices"),new $.Table("CPAL",[{name:"version",type:"USHORT",value:t},{name:"numPaletteEntries",type:"USHORT",value:n||s.length},{name:"numPalettes",type:"USHORT",value:o.length},{name:"numColorRecords",type:"USHORT",value:s.length},{name:"colorRecordsArrayOffset",type:"ULONG",value:12+2*o.length},...o.map((c,h)=>({name:"colorRecordIndices_"+h,type:"USHORT",value:c})),...s.map((c,h)=>({name:"colorRecords_"+h,type:"ULONG",value:c}))])}function _l(t){var n=(t&4278190080)>>24,s=(t&16711680)>>16,o=(t&65280)>>8,c=t&255;return n=n+256&255,s=s+256&255,o=o+256&255,c=(c+256&255)/255,{b:n,g:s,r:o,a:c}}function Oa(t,n,s=0,o="hexa"){if(n==65535)return"currentColor";let c=t&&t.tables&&t.tables.cpal;if(!c)return"currentColor";if(s>c.colorRecordIndices.length-1)throw new Error(`Palette index out of range (colorRecordIndices.length: ${c.colorRecordIndices.length}, index: ${n})`);if(n>c.numPaletteEntries)throw new Error(`Color index out of range (numPaletteEntries: ${c.numPaletteEntries}, index: ${n})`);let h=c.colorRecordIndices[s]+n;if(h>c.colorRecords)throw new Error(`Color index out of range (colorRecords.length: ${c.colorRecords.length}, lookupIndex: ${h})`);let d=_l(c.colorRecords[h]);return o==="bgra"?d:Mi(d,o)}function rr(t){return("0"+parseInt(t).toString(16)).slice(-2)}function Z0(t){let n=t.r/255,s=t.g/255,o=t.b/255,c=Math.max(n,s,o),h=Math.min(n,s,o),d,B,w=(c+h)/2;if(c===h)d=B=0;else{let x=c-h;switch(B=w>.5?x/(2-c-h):x/(c+h),c){case n:d=(s-o)/x+(s<o?6:0);break;case s:d=(o-n)/x+2;break;case o:d=(n-s)/x+4;break}d/=6}return{h:d*360,s:B*100,l:w*100}}function z0(t){let{h:n,s,l:o,a:c}=t;n=n%360,s/=100,o/=100;let h=(1-Math.abs(2*o-1))*s,d=h*(1-Math.abs(n/60%2-1)),B=o-h/2,w=0,x=0,C=0;return 0<=n&&n<60?(w=h,x=d,C=0):60<=n&&n<120?(w=d,x=h,C=0):120<=n&&n<180?(w=0,x=h,C=d):180<=n&&n<240?(w=0,x=d,C=h):240<=n&&n<300?(w=d,x=0,C=h):300<=n&&n<=360&&(w=h,x=0,C=d),{r:Math.round((w+B)*255),g:Math.round((x+B)*255),b:Math.round((C+B)*255),a:c}}function Zl(t){return parseInt(`0x${rr(t.b)}${rr(t.g)}${rr(t.r)}${rr(t.a*255)}`,16)}function fs(t,n="hexa"){let s=n=="raw"||n=="cpal",o=Number.isInteger(t),c=!0;if(o&&s||t==="currentColor")return t;if(typeof t=="object"){if(n=="bgra")return t;if(s)return Zl(t)}else if(!o&&/^#([a-f0-9]{3}|[a-f0-9]{4}|[a-f0-9]{6}|[a-f0-9]{8})$/i.test(t.trim())){switch(t=t.trim().substring(1),t.length){case 3:t={r:parseInt(t[0].repeat(2),16),g:parseInt(t[1].repeat(2),16),b:parseInt(t[2].repeat(2),16),a:1};break;case 4:t={r:parseInt(t[0].repeat(2),16),g:parseInt(t[1].repeat(2),16),b:parseInt(t[2].repeat(2),16),a:parseInt(t[3].repeat(2),16)/255};break;case 6:t={r:parseInt(t[0]+t[1],16),g:parseInt(t[2]+t[3],16),b:parseInt(t[4]+t[5],16),a:1};break;case 8:t={r:parseInt(t[0]+t[1],16),g:parseInt(t[2]+t[3],16),b:parseInt(t[4]+t[5],16),a:parseInt(t[6]+t[7],16)/255};break}if(n=="bgra")return t}else if(typeof document<"u"&&/^[a-z]+$/i.test(t)){let h=document.createElement("canvas").getContext("2d");h.fillStyle=t;let d=Mi(h.fillStyle,"hexa");d==="#000000ff"&&t.toLowerCase()!=="black"?c=!1:t=d}else{t=t.trim();let h=/rgba?\(\s*(?:(\d*\.\d+)(%?)|(\d+)(%?))\s*(?:,|\s*)\s*(?:(\d*\.\d+)(%?)|(\d+)(%?))\s*(?:,|\s*)\s*(?:(\d*\.\d+)(%?)|(\d+)(%?))\s*(?:(?:,|\s|\/)\s*(?:(0*(?:\.\d+)?()|0*1(?:\.0+)?())|(?:\.\d+)|(\d+)(%)|(\d*\.\d+)(%)))?\s*\)/;if(h.test(t)){let d=t.match(h).filter(B=>typeof B<"u");t={r:Math.round(parseFloat(d[1])/(d[2]?.39215686274509803:1)),g:Math.round(parseFloat(d[3])/(d[4]?.39215686274509803:1)),b:Math.round(parseFloat(d[5])/(d[6]?.39215686274509803:1)),a:d[7]?parseFloat(d[7])/(d[8]?100:1):1}}else{let d=/hsla?\(\s*(?:(\d*\.\d+|\d+)(deg|turn|))\s*(?:,|\s*)\s*(?:(\d*\.\d+)%?|(\d+)%?)\s*(?:,|\s*)\s*(?:(\d*\.\d+)%?|(\d+)%?)\s*(?:(?:,|\s|\/)\s*(?:(0*(?:\.\d+)?()|0*1(?:\.0+)?())|(?:\.\d+)|(\d+)(%)|(\d*\.\d+)(%)))?\s*\)/;if(d.test(t)){let B=t.match(d).filter(w=>typeof w<"u");t=z0({h:parseFloat(B[1])*(B[2]==="turn"?360:1),s:parseFloat(B[3]),l:parseFloat(B[4]),a:B[5]?parseFloat(B[5])/(B[6]?100:1):1})}else c=!1}}if(!c)throw new Error(`Invalid color format: ${t}`);return Mi(t,n)}function Mi(t,n="hexa"){if(t==="currentColor")return t;if(Number.isInteger(t)){if(n=="raw"||n=="cpal")return t;t=_l(t)}else typeof t!="object"&&(t=fs(t,"bgra"));let s=["hsl","hsla"].includes(n)?Z0(t):null;switch(n){case"rgba":return`rgba(${t.r}, ${t.g}, ${t.b}, ${parseFloat(t.a.toFixed(3))})`;case"rgb":return`rgb(${t.r}, ${t.g}, ${t.b})`;case"hex":case"hex6":case"hex-6":return`#${rr(t.r)}${rr(t.g)}${rr(t.b)}`;case"hexa":case"hex8":case"hex-8":return`#${rr(t.r)}${rr(t.g)}${rr(t.b)}${rr(t.a*255)}`;case"hsl":return`hsl(${s.h.toFixed(2)}, ${s.s.toFixed(2)}%, ${s.l.toFixed(2)}%)`;case"hsla":return`hsla(${s.h.toFixed(2)}, ${s.s.toFixed(2)}%, ${s.l.toFixed(2)}%, ${parseFloat(t.a.toFixed(3))})`;case"bgra":return t;case"raw":case"cpal":return Zl(t);default:throw new Error("Unknown color format: "+n)}}var zl={parse:j0,make:_0,getPaletteColor:Oa,parseColor:fs,formatColor:Mi};function X0(t,n){let s=n||new X;return{configurable:!0,get:function(){return typeof s=="function"&&(s=s()),s},set:function(o){s=o}}}function Qt(t){this.bindConstructorValues(t)}Qt.prototype.bindConstructorValues=function(t){if(this.index=t.index||0,t.name===".notdef"?t.unicode=void 0:t.name===".null"&&(t.unicode=0),t.unicode===0&&t.name!==".null")throw new Error('The unicode value "0" is reserved for the glyph name ".null" and cannot be used by any other glyph.');this.name=t.name||null,this.unicode=t.unicode,this.unicodes=t.unicodes||(t.unicode!==void 0?[t.unicode]:[]),"xMin"in t&&(this.xMin=t.xMin),"yMin"in t&&(this.yMin=t.yMin),"xMax"in t&&(this.xMax=t.xMax),"yMax"in t&&(this.yMax=t.yMax),"advanceWidth"in t&&(this.advanceWidth=t.advanceWidth),"leftSideBearing"in t&&(this.leftSideBearing=t.leftSideBearing),"points"in t&&(this.points=t.points),Object.defineProperty(this,"path",X0(this,t.path))},Qt.prototype.addUnicode=function(t){this.unicodes.length===0&&(this.unicode=t),this.unicodes.push(t)},Qt.prototype.getBoundingBox=function(){return this.path.getBoundingBox()},Qt.prototype.getPath=function(t,n,s,o,c){t=t!==void 0?t:0,n=n!==void 0?n:0,s=s!==void 0?s:72,o=Object.assign({},c&&c.defaultRenderOptions,o);let h,d,B=o.xScale,w=o.yScale,x=1/(this.path.unitsPerEm||1e3)*s,C=this;c&&c.variation&&(C=c.variation.getTransform(this,o.variation),h=C.path.commands),o.hinting&&c&&c.hinting&&(d=C.path&&c.hinting.exec(C,s,o)),d?(h=c.hinting.getCommands(d),t=Math.round(t),n=Math.round(n),B=w=1):(h=C.path.commands,B===void 0&&(B=x),w===void 0&&(w=x));let S=new X;if(o.drawSVG){let T=this.getSvgImage(c);if(T){let k=new X;return k._image={image:T.image,x:t+T.leftSideBearing*x,y:n-T.baseline*x,width:T.image.width*x,height:T.image.height*x},S._layers=[k],S}}if(o.drawLayers){let T=this.getLayers(c);if(T&&T.length){S._layers=[];for(let k=0;k<T.length;k+=1){let U=T[k],L=Oa(c,U.paletteIndex,o.usePalette);L==="currentColor"?L=o.fill||"black":L=Mi(L,o.colorFormat||"rgba"),o=Object.assign({},o,{fill:L}),S._layers.push(this.getPath.call(U.glyph,t,n,s,o,c))}return S}}S.fill=o.fill||this.path.fill,S.stroke=this.path.stroke,S.strokeWidth=this.path.strokeWidth*x;for(let T=0;T<h.length;T+=1){let k=h[T];k.type==="M"?S.moveTo(t+k.x*B,n+-k.y*w):k.type==="L"?S.lineTo(t+k.x*B,n+-k.y*w):k.type==="Q"?S.quadraticCurveTo(t+k.x1*B,n+-k.y1*w,t+k.x*B,n+-k.y*w):k.type==="C"?S.curveTo(t+k.x1*B,n+-k.y1*w,t+k.x2*B,n+-k.y2*w,t+k.x*B,n+-k.y*w):k.type==="Z"&&S.stroke&&S.strokeWidth&&S.closePath()}return S},Qt.prototype.getLayers=function(t){if(!t)throw new Error("The font object is required to read the colr/cpal tables in order to get the layers.");return t.layers.get(this.index)},Qt.prototype.getSvgImage=function(t){if(!t)throw new Error("The font object is required to read the svg table in order to get the image.");return t.svgImages.get(this.index)},Qt.prototype.getContours=function(t=null){if(this.points===void 0&&!t)return[];let n=[],s=[],o=t||this.points;for(let c=0;c<o.length;c+=1){let h=o[c];s.push(h),h.lastPointOfContour&&(n.push(s),s=[])}return G.argument(s.length===0,"There are still points left in the current contour."),n},Qt.prototype.getMetrics=function(){let t=this.path.commands,n=[],s=[];for(let c=0;c<t.length;c+=1){let h=t[c];h.type!=="Z"&&(n.push(h.x),s.push(h.y)),(h.type==="Q"||h.type==="C")&&(n.push(h.x1),s.push(h.y1)),h.type==="C"&&(n.push(h.x2),s.push(h.y2))}let o={xMin:Math.min.apply(null,n),yMin:Math.min.apply(null,s),xMax:Math.max.apply(null,n),yMax:Math.max.apply(null,s),leftSideBearing:this.leftSideBearing};return isFinite(o.xMin)||(o.xMin=0),isFinite(o.xMax)||(o.xMax=this.advanceWidth),isFinite(o.yMin)||(o.yMin=0),isFinite(o.yMax)||(o.yMax=0),o.rightSideBearing=this.advanceWidth-o.leftSideBearing-(o.xMax-o.xMin),o},Qt.prototype.draw=function(t,n,s,o,c,h){c=Object.assign({},h&&h.defaultRenderOptions,c),this.getPath(n,s,o,c,h).draw(t)},Qt.prototype.drawPoints=function(t,n,s,o,c,h){if(c=Object.assign({},h&&h.defaultRenderOptions,c),c.drawLayers){let T=this.getLayers(h);if(T&&T.length){for(let k=0;k<T.length;k+=1)T[k].glyph.index!==this.index&&this.drawPoints.call(T[k].glyph,t,n,s,o);return}}function d(T,k,U,L){t.beginPath();for(let ee=0;ee<T.length;ee+=1)t.moveTo(k+T[ee].x*L,U+T[ee].y*L),t.arc(k+T[ee].x*L,U+T[ee].y*L,2,0,Math.PI*2,!1);t.fill()}n=n!==void 0?n:0,s=s!==void 0?s:0,o=o!==void 0?o:24;let B=1/this.path.unitsPerEm*o,w=[],x=[],S=this.path.commands;h&&h.variation&&(S=h.variation.getTransform(this,c.variation).path.commands);for(let T=0;T<S.length;T+=1){let k=S[T];k.x!==void 0&&w.push({x:k.x,y:-k.y}),k.x1!==void 0&&x.push({x:k.x1,y:-k.y1}),k.x2!==void 0&&x.push({x:k.x2,y:-k.y2})}t.fillStyle="blue",d(w,n,s,B),t.fillStyle="red",d(x,n,s,B)},Qt.prototype.drawMetrics=function(t,n,s,o){let c;n=n!==void 0?n:0,s=s!==void 0?s:0,o=o!==void 0?o:24,c=1/this.path.unitsPerEm*o,t.lineWidth=1,t.strokeStyle="black",pi.line(t,n,-1e4,n,1e4),pi.line(t,-1e4,s,1e4,s);let h=this.xMin||0,d=this.yMin||0,B=this.xMax||0,w=this.yMax||0,x=this.advanceWidth||0;t.strokeStyle="blue",pi.line(t,n+h*c,-1e4,n+h*c,1e4),pi.line(t,n+B*c,-1e4,n+B*c,1e4),pi.line(t,-1e4,s+-d*c,1e4,s+-d*c),pi.line(t,-1e4,s+-w*c,1e4,s+-w*c),t.strokeStyle="green",pi.line(t,n+x*c,-1e4,n+x*c,1e4)},Qt.prototype.toPathData=function(t,n){t=Object.assign({},{variation:n&&n.defaultRenderOptions.variation},t);let s=this;n&&n.variation&&(s=n.variation.getTransform(this,t.variation));let o=s.points&&t.pointsTransform?t.pointsTransform(s.points):s.path;return t.pathTransform&&(o=t.pathTransform(o)),o.toPathData(t)},Qt.prototype.fromSVG=function(t,n={}){return this.path.fromSVG(t,n)},Qt.prototype.toSVG=function(t,n){let s=this.toPathData.apply(this,[t,n]);return this.path.toSVG(t,s)},Qt.prototype.toDOMElement=function(t,n){t=Object.assign({},{variation:n&&n.defaultRenderOptions.variation},t);let s=this.path;return n&&n.variation&&(s=n.variation.getTransform(this,t.variation).path),s.toDOMElement(t)};var Ui=Qt;function Ni(t,n,s){Object.defineProperty(t,n,{get:function(){return typeof t[s]>"u"&&t.path,t[s]},set:function(o){t[s]=o},enumerable:!0,configurable:!0})}function ds(t,n){if(this.font=t,this.glyphs={},Array.isArray(n))for(let s=0;s<n.length;s++){let o=n[s];o.path.unitsPerEm=t.unitsPerEm,this.glyphs[s]=o}this.length=n&&n.length||0}typeof Symbol<"u"&&Symbol.iterator&&(ds.prototype[Symbol.iterator]=function(){let t=-1;return{next:function(){t++;let n=t>=this.length-1;return{value:this.get(t),done:n}}.bind(this)}}),ds.prototype.get=function(t){if(this.font._push&&this.glyphs[t]===void 0){this.font._push(t),typeof this.glyphs[t]=="function"&&(this.glyphs[t]=this.glyphs[t]());let n=this.glyphs[t],s=this.font._IndexToUnicodeMap[t];if(s)for(let o=0;o<s.unicodes.length;o++)n.addUnicode(s.unicodes[o]);this.font.cffEncoding?n.name=this.font.cffEncoding.charset[t]:this.font.glyphNames.names&&(n.name=this.font.glyphNames.glyphIndexToName(t)),this.glyphs[t].advanceWidth=this.font._hmtxTableData[t].advanceWidth,this.glyphs[t].leftSideBearing=this.font._hmtxTableData[t].leftSideBearing}else typeof this.glyphs[t]=="function"&&(this.glyphs[t]=this.glyphs[t]());return this.glyphs[t]},ds.prototype.push=function(t,n){this.glyphs[t]=n,this.length++};function q0(t,n){return new Ui({index:n,font:t})}function K0(t,n,s,o,c,h){return function(){let d=new Ui({index:n,font:t});return d.path=function(){s(d,o,c);let B=h(t.glyphs,d);return B.unitsPerEm=t.unitsPerEm,B},Ni(d,"numberOfContours","_numberOfContours"),Ni(d,"xMin","_xMin"),Ni(d,"xMax","_xMax"),Ni(d,"yMin","_yMin"),Ni(d,"yMax","_yMax"),Ni(d,"points","_points"),d}}function $0(t,n,s,o,c){return function(){let h=new Ui({index:n,font:t});return h.path=function(){let d=s(t,h,o,c);return d.unitsPerEm=t.unitsPerEm,d},h}}var dr={GlyphSet:ds,glyphLoader:q0,ttfGlyphLoader:K0,cffGlyphLoader:$0};function Xl(t,n){if(t===n)return!0;if(Array.isArray(t)&&Array.isArray(n)){if(t.length!==n.length)return!1;for(let s=0;s<t.length;s+=1)if(!Xl(t[s],n[s]))return!1;return!0}else return!1}var ql=10;function gs(t){let n;return t.length<1240?n=107:t.length<33900?n=1131:n=32768,n}function gr(t,n,s,o){let c=[],h=[],d=o>1?he.getULong(t,n):he.getCard16(t,n),B=o>1?4:2,w,x;if(d!==0){let C=he.getByte(t,n+B);w=n+(d+1)*C+B;let S=n+B+1;for(let T=0;T<d+1;T+=1)c.push(he.getOffset(t,S,C)),S+=C;x=w+c[d]}else x=n+B;for(let C=0;C<c.length-1;C+=1){let S=he.getBytes(t,w+c[C],w+c[C+1]);s&&(S=s(S,t,n,o)),h.push(S)}return{objects:h,startOffset:n,endOffset:x}}function eB(t,n,s){let o=[],c=s>1?he.getULong(t,n):he.getCard16(t,n),h=s>1?4:2,d,B;if(c!==0){let w=he.getByte(t,n+h);d=n+(c+1)*w+h;let x=n+h+1;for(let C=0;C<c+1;C+=1)o.push(he.getOffset(t,x,w)),x+=w;B=d+o[c]}else B=n+h;return{offsets:o,startOffset:n,endOffset:B}}function tB(t,n,s,o,c,h){let d=h>1?he.getULong(s,o):he.getCard16(s,o),B=h>1?4:2,w=0;if(d!==0){let C=he.getByte(s,o+B);w=o+(d+1)*C+B}let x=he.getBytes(s,w+n[t],w+n[t+1]);return c&&(x=c(x)),x}function rB(t){let n="",o=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"];for(;;){let c=t.parseByte(),h=c>>4,d=c&15;if(h===15||(n+=o[h],d===15))break;n+=o[d]}return parseFloat(n)}function iB(t,n){let s,o,c,h;if(n===28)return s=t.parseByte(),o=t.parseByte(),s<<8|o;if(n===29)return s=t.parseByte(),o=t.parseByte(),c=t.parseByte(),h=t.parseByte(),s<<24|o<<16|c<<8|h;if(n===30)return rB(t);if(n>=32&&n<=246)return n-139;if(n>=247&&n<=250)return s=t.parseByte(),(n-247)*256+s+108;if(n>=251&&n<=254)return s=t.parseByte(),-(n-251)*256-s-108;throw new Error("Invalid b0 "+n)}function nB(t){let n={};for(let s=0;s<t.length;s+=1){let o=t[s][0],c=t[s][1],h;if(c.length===1?h=c[0]:h=c,Object.prototype.hasOwnProperty.call(n,o)&&!isNaN(n[o]))throw new Error("Object "+n+" already has key "+o);n[o]=h}return n}function Ra(t,n,s,o){n=n!==void 0?n:0;let c=new he.Parser(t,n),h=[],d=[];s=s!==void 0?s:t.byteLength;let B=o<2?22:28;for(;c.relativeOffset<s;){let w=c.parseByte();if(w<B){if(w===12&&(w=1200+c.parseByte()),o>1&&w===23){hB(d);continue}h.push([w,d]),d=[]}else d.push(iB(c,w,o))}return nB(h)}function gn(t,n){return n<=390?n=ps[n]:t?n=t[n-391]:n=void 0,n}function Ga(t,n,s){let o={},c;for(let h=0;h<n.length;h+=1){let d=n[h];if(Array.isArray(d.type)){let B=[];B.length=d.type.length;for(let w=0;w<d.type.length;w++)c=t[d.op]!==void 0?t[d.op][w]:void 0,c===void 0&&(c=d.value!==void 0&&d.value[w]!==void 0?d.value[w]:null),d.type[w]==="SID"&&(c=gn(s,c)),B[w]=c;o[d.name]=B}else c=t[d.op],c===void 0&&(c=d.value!==void 0?d.value:null),d.type==="SID"&&(c=gn(s,c)),o[d.name]=c}return o}function sB(t,n){let s={};if(s.formatMajor=he.getCard8(t,n),s.formatMinor=he.getCard8(t,n+1),s.formatMajor>2)throw new Error(`Unsupported CFF table version ${s.formatMajor}.${s.formatMinor}`);return s.size=he.getCard8(t,n+2),s.formatMajor<2?(s.offsetSize=he.getCard8(t,n+3),s.startOffset=n,s.endOffset=n+4):(s.topDictLength=he.getCard16(t,n+3),s.endOffset=n+8),s}var Kl=[{name:"version",op:0,type:"SID"},{name:"notice",op:1,type:"SID"},{name:"copyright",op:1200,type:"SID"},{name:"fullName",op:2,type:"SID"},{name:"familyName",op:3,type:"SID"},{name:"weight",op:4,type:"SID"},{name:"isFixedPitch",op:1201,type:"number",value:0},{name:"italicAngle",op:1202,type:"number",value:0},{name:"underlinePosition",op:1203,type:"number",value:-100},{name:"underlineThickness",op:1204,type:"number",value:50},{name:"paintType",op:1205,type:"number",value:0},{name:"charstringType",op:1206,type:"number",value:2},{name:"fontMatrix",op:1207,type:["real","real","real","real","real","real"],value:[.001,0,0,.001,0,0]},{name:"uniqueId",op:13,type:"number"},{name:"fontBBox",op:5,type:["number","number","number","number"],value:[0,0,0,0]},{name:"strokeWidth",op:1208,type:"number",value:0},{name:"xuid",op:14,type:[],value:null},{name:"charset",op:15,type:"offset",value:0},{name:"encoding",op:16,type:"offset",value:0},{name:"charStrings",op:17,type:"offset",value:0},{name:"private",op:18,type:["number","offset"],value:[0,0]},{name:"ros",op:1230,type:["SID","SID","number"]},{name:"cidFontVersion",op:1231,type:"number",value:0},{name:"cidFontRevision",op:1232,type:"number",value:0},{name:"cidFontType",op:1233,type:"number",value:0},{name:"cidCount",op:1234,type:"number",value:8720},{name:"uidBase",op:1235,type:"number"},{name:"fdArray",op:1236,type:"offset"},{name:"fdSelect",op:1237,type:"offset"},{name:"fontName",op:1238,type:"SID"}],$l=[{name:"fontMatrix",op:1207,type:["real","real","real","real","real","real"],value:[.001,0,0,.001,0,0]},{name:"charStrings",op:17,type:"offset"},{name:"fdArray",op:1236,type:"offset"},{name:"fdSelect",op:1237,type:"offset"},{name:"vstore",op:24,type:"offset"}],ec=[{name:"subrs",op:19,type:"offset",value:0},{name:"defaultWidthX",op:20,type:"number",value:0},{name:"nominalWidthX",op:21,type:"number",value:0}],tc=[{name:"blueValues",op:6,type:"delta"},{name:"otherBlues",op:7,type:"delta"},{name:"familyBlues",op:7,type:"delta"},{name:"familyBlues",op:8,type:"delta"},{name:"familyOtherBlues",op:9,type:"delta"},{name:"blueScale",op:1209,type:"number",value:.039625},{name:"blueShift",op:1210,type:"number",value:7},{name:"blueFuzz",op:1211,type:"number",value:1},{name:"stdHW",op:10,type:"number"},{name:"stdVW",op:11,type:"number"},{name:"stemSnapH",op:1212,type:"number"},{name:"stemSnapV",op:1213,type:"number"},{name:"languageGroup",op:1217,type:"number",value:0},{name:"expansionFactor",op:1218,type:"number",value:.06},{name:"vsindex",op:22,type:"number",value:0},{name:"subrs",op:19,type:"offset"}],aB=[{name:"private",op:18,type:["number","offset"],value:[0,0]}];function oB(t,n,s,o){let c=Ra(t,n,t.byteLength,o);return Ga(c,o>1?$l:Kl,s)}function La(t,n,s,o,c){let h=Ra(t,n,s,c);return Ga(h,c>1?tc:ec,o)}function AB(t,n,s){let o=Ra(t,n,void 0,s);return Ga(o,aB)}function lB(t,n,s){let o=[];for(let c=0;c<s.length;c++){let h=new DataView(new Uint8Array(s[c]).buffer),d=AB(h,0,2),B=d.private[0],w=d.private[1];if(B!==0&&w!==0){let x=La(t,w+n,B,[],2);if(x.subrs){let C=w+x.subrs,S=gr(t,C+n,void 0,2);d._subrs=S.objects,d._subrsBias=gs(d._subrs)}d._privateDict=x}o.push(d)}return o}function Pa(t,n,s,o,c){let h=[];for(let d=0;d<s.length;d+=1){let B=new DataView(new Uint8Array(s[d]).buffer),w=oB(B,0,o,c);w._subrs=[],w._subrsBias=0,w._defaultWidthX=0,w._nominalWidthX=0;let x=c<2?w.private[0]:0,C=c<2?w.private[1]:0;if(x!==0&&C!==0){let S=La(t,C+n,x,o,c);if(w._defaultWidthX=S.defaultWidthX,w._nominalWidthX=S.nominalWidthX,S.subrs!==0){let T=C+S.subrs,k=gr(t,T+n,void 0,c);w._subrs=k.objects,w._subrsBias=gs(w._subrs)}w._privateDict=S}h.push(w)}return h}function cB(t,n,s,o,c){let h,d,B=new he.Parser(t,n);s-=1;let w=[".notdef"],x=B.parseCard8();if(x===0)for(let C=0;C<s;C+=1)h=B.parseSID(),c?w.push(h):w.push(gn(o,h)||h);else if(x===1)for(;w.length<=s;){h=B.parseSID(),d=B.parseCard8();for(let C=0;C<=d;C+=1)c?w.push("cid"+("00000"+h).slice(-5)):w.push(gn(o,h)||h),h+=1}else if(x===2)for(;w.length<=s;){h=B.parseSID(),d=B.parseCard16();for(let C=0;C<=d;C+=1)c?w.push("cid"+("00000"+h).slice(-5)):w.push(gn(o,h)||h),h+=1}else throw new Error("Unknown charset format "+x);return w}function uB(t,n){let s,o={},c=new he.Parser(t,n),h=c.parseCard8();if(h===0){let d=c.parseCard8();for(let B=0;B<d;B+=1)s=c.parseCard8(),o[s]=B}else if(h===1){let d=c.parseCard8();s=1;for(let B=0;B<d;B+=1){let w=c.parseCard8(),x=c.parseCard8();for(let C=w;C<=w+x;C+=1)o[C]=s,s+=1}}else throw new Error("Unknown encoding format "+h);return o}function hB(t){let n=t.pop();for(;t.length>n;)t.pop()}function rc(t,n){let s=t.tables.cff&&t.tables.cff.topDict&&t.tables.cff.topDict.paintType||0;return s===2&&(n.fill=null,n.stroke="black",n.strokeWidth=t.tables.cff.topDict.strokeWidth||0),s}function Ha(t,n,s,o,c){let h,d,B,w,x=new X,C=[],S=0,T=!1,k=!1,U=0,L=0,ee,Te,xe,Re,Je=0,$e=[],nt,st=0,Bt=t.tables.cff2||t.tables.cff;if(xe=Bt.topDict._defaultWidthX,Re=Bt.topDict._nominalWidthX,c=c||t.variation&&t.variation.get(),n.getBlendPath||(n.getBlendPath=function(we){return Ha(t,n,s,o,we)}),t.isCIDFont||o>1){let we=Bt.topDict._fdSelect?Bt.topDict._fdSelect[n.index]:0,Ce=Bt.topDict._fdArray[we];ee=Ce._subrs,Te=Ce._subrsBias,o>1?($e=Bt.topDict._vstore.itemVariationStore,Je=Ce._privateDict.vsindex):(xe=Ce._defaultWidthX,Re=Ce._nominalWidthX)}else ee=Bt.topDict._subrs,Te=Bt.topDict._subrsBias;let sr=rc(t,x),Ve=xe;function Vt(we,Ce){k&&sr!==2&&x.closePath(),x.moveTo(we,Ce),k=!0}function Dt(){let we;we=(C.length&1)!==0,we&&!T&&(Ve=C.shift()+Re),S+=C.length>>1,C.length=0,T=!0}function Se(we){let Ce,vt,$r,vs,mi,ar,Mt,zt,It,jt,Ut,Nt,gt=0;for(;gt<we.length;){let qt=we[gt];switch(gt+=1,qt){case 1:Dt();break;case 3:Dt();break;case 4:C.length>1&&!T&&(Ve=C.shift()+Re,T=!0),L+=C.pop(),Vt(U,L);break;case 5:for(;C.length>0;)U+=C.shift(),L+=C.shift(),x.lineTo(U,L);break;case 6:for(;C.length>0&&(U+=C.shift(),x.lineTo(U,L),C.length!==0);)L+=C.shift(),x.lineTo(U,L);break;case 7:for(;C.length>0&&(L+=C.shift(),x.lineTo(U,L),C.length!==0);)U+=C.shift(),x.lineTo(U,L);break;case 8:for(;C.length>0;)h=U+C.shift(),d=L+C.shift(),B=h+C.shift(),w=d+C.shift(),U=B+C.shift(),L=w+C.shift(),x.curveTo(h,d,B,w,U,L);break;case 10:if(mi=C.pop()+Te,ar=ee[mi],ar){if(st>=ql){console.warn("CFF charstring subroutine call depth exceeded, skipping callsubr");break}st++,Se(ar),st--}break;case 11:if(o>1){console.error("CFF CharString operator return (11) is not supported in CFF2");break}return;case 12:switch(qt=we[gt],gt+=1,qt){case 35:h=U+C.shift(),d=L+C.shift(),B=h+C.shift(),w=d+C.shift(),Mt=B+C.shift(),zt=w+C.shift(),It=Mt+C.shift(),jt=zt+C.shift(),Ut=It+C.shift(),Nt=jt+C.shift(),U=Ut+C.shift(),L=Nt+C.shift(),C.shift(),x.curveTo(h,d,B,w,Mt,zt),x.curveTo(It,jt,Ut,Nt,U,L);break;case 34:h=U+C.shift(),d=L,B=h+C.shift(),w=d+C.shift(),Mt=B+C.shift(),zt=w,It=Mt+C.shift(),jt=w,Ut=It+C.shift(),Nt=L,U=Ut+C.shift(),x.curveTo(h,d,B,w,Mt,zt),x.curveTo(It,jt,Ut,Nt,U,L);break;case 36:h=U+C.shift(),d=L+C.shift(),B=h+C.shift(),w=d+C.shift(),Mt=B+C.shift(),zt=w,It=Mt+C.shift(),jt=w,Ut=It+C.shift(),Nt=jt+C.shift(),U=Ut+C.shift(),x.curveTo(h,d,B,w,Mt,zt),x.curveTo(It,jt,Ut,Nt,U,L);break;case 37:h=U+C.shift(),d=L+C.shift(),B=h+C.shift(),w=d+C.shift(),Mt=B+C.shift(),zt=w+C.shift(),It=Mt+C.shift(),jt=zt+C.shift(),Ut=It+C.shift(),Nt=jt+C.shift(),Math.abs(Ut-U)>Math.abs(Nt-L)?U=Ut+C.shift():L=Nt+C.shift(),x.curveTo(h,d,B,w,Mt,zt),x.curveTo(It,jt,Ut,Nt,U,L);break;default:console.log("Glyph "+n.index+": unknown operator 1200"+qt),C.length=0}break;case 14:if(o>1){console.error("CFF CharString operator endchar (14) is not supported in CFF2");break}if(C.length>=4){let Bi=ka[C.pop()],Ri=ka[C.pop()],Is=C.pop(),Fs=C.pop();if(Bi&&Ri){n.isComposite=!0,n.components=[];let mu=t.cffEncoding.charset.indexOf(Bi),Bu=t.cffEncoding.charset.indexOf(Ri);n.components.push({glyphIndex:Bu,dx:0,dy:0}),n.components.push({glyphIndex:mu,dx:Fs,dy:Is}),x.extend(t.glyphs.get(Bu).path);let zy=t.glyphs.get(mu),ao=JSON.parse(JSON.stringify(zy.path.commands));for(let oo=0;oo<ao.length;oo+=1){let Br=ao[oo];Br.type!=="Z"&&(Br.x+=Fs,Br.y+=Is),(Br.type==="Q"||Br.type==="C")&&(Br.x1+=Fs,Br.y1+=Is),Br.type==="C"&&(Br.x2+=Fs,Br.y2+=Is)}x.extend(ao)}}else C.length>0&&!T&&(Ve=C.shift()+Re,T=!0);k&&sr!==2&&(x.closePath(),k=!1);break;case 15:if(o<2){console.error("CFF2 CharString operator vsindex (15) is not supported in CFF");break}Je=C.pop();break;case 16:if(o<2){console.error("CFF2 CharString operator blend (16) is not supported in CFF");break}nt||(nt=t.variation&&c&&t.variation.process.getBlendVector($e,Je,c));var at=C.pop(),Ot=nt?nt.length:$e.itemVariationSubtables[Je].regionIndexes.length,Xt=at*Ot,or=C.length-Xt,Mr=or-at;if(nt)for(let Bi=0;Bi<at;Bi++){var gu=C[Mr+Bi];for(let Ri=0;Ri<Ot;Ri++)gu+=nt[Ri]*C[or++];C[Mr+Bi]=gu}for(;Xt--;)C.pop();break;case 18:Dt();break;case 19:case 20:Dt(),gt+=S+7>>3;break;case 21:C.length>2&&!T&&(Ve=C.shift()+Re,T=!0),L+=C.pop(),U+=C.pop(),Vt(U,L);break;case 22:C.length>1&&!T&&(Ve=C.shift()+Re,T=!0),U+=C.pop(),Vt(U,L);break;case 23:Dt();break;case 24:for(;C.length>2;)h=U+C.shift(),d=L+C.shift(),B=h+C.shift(),w=d+C.shift(),U=B+C.shift(),L=w+C.shift(),x.curveTo(h,d,B,w,U,L);U+=C.shift(),L+=C.shift(),x.lineTo(U,L);break;case 25:for(;C.length>6;)U+=C.shift(),L+=C.shift(),x.lineTo(U,L);h=U+C.shift(),d=L+C.shift(),B=h+C.shift(),w=d+C.shift(),U=B+C.shift(),L=w+C.shift(),x.curveTo(h,d,B,w,U,L);break;case 26:for(C.length&1&&(U+=C.shift());C.length>0;)h=U,d=L+C.shift(),B=h+C.shift(),w=d+C.shift(),U=B,L=w+C.shift(),x.curveTo(h,d,B,w,U,L);break;case 27:for(C.length&1&&(L+=C.shift());C.length>0;)h=U+C.shift(),d=L,B=h+C.shift(),w=d+C.shift(),U=B+C.shift(),L=w,x.curveTo(h,d,B,w,U,L);break;case 28:Ce=we[gt],vt=we[gt+1],C.push((Ce<<24|vt<<16)>>16),gt+=2;break;case 29:if(mi=C.pop()+t.gsubrsBias,ar=t.gsubrs[mi],ar){if(st>=ql){console.warn("CFF charstring subroutine call depth exceeded, skipping callgsubr");break}st++,Se(ar),st--}break;case 30:for(;C.length>0&&(h=U,d=L+C.shift(),B=h+C.shift(),w=d+C.shift(),U=B+C.shift(),L=w+(C.length===1?C.shift():0),x.curveTo(h,d,B,w,U,L),C.length!==0);)h=U+C.shift(),d=L,B=h+C.shift(),w=d+C.shift(),L=w+C.shift(),U=B+(C.length===1?C.shift():0),x.curveTo(h,d,B,w,U,L);break;case 31:for(;C.length>0&&(h=U+C.shift(),d=L,B=h+C.shift(),w=d+C.shift(),L=w+C.shift(),U=B+(C.length===1?C.shift():0),x.curveTo(h,d,B,w,U,L),C.length!==0);)h=U,d=L+C.shift(),B=h+C.shift(),w=d+C.shift(),U=B+C.shift(),L=w+(C.length===1?C.shift():0),x.curveTo(h,d,B,w,U,L);break;default:qt<32?console.log("Glyph "+n.index+": unknown operator "+qt):qt<247?C.push(qt-139):qt<251?(Ce=we[gt],gt+=1,C.push((qt-247)*256+Ce+108)):qt<255?(Ce=we[gt],gt+=1,C.push(-(qt-251)*256-Ce-108)):(Ce=we[gt],vt=we[gt+1],$r=we[gt+2],vs=we[gt+3],gt+=4,C.push((Ce<<24|vt<<16|$r<<8|vs)/65536))}}}return Se(s),t.variation&&c&&(x.commands=x.commands.map(we=>{let Ce=Object.keys(we);for(let vt=0;vt<Ce.length;vt++){let $r=Ce[vt];$r!=="type"&&(we[$r]=Math.round(we[$r]))}return we})),T&&(n.advanceWidth=Ve),x}function ic(t,n,s,o,c){let h=[],d,B=new he.Parser(t,n),w=B.parseCard8();if(w===0)for(let x=0;x<s;x++){if(d=B.parseCard8(),d>=o)throw new Error("CFF table CID Font FDSelect has bad FD index value "+d+" (FD count "+o+")");h.push(d)}else if(w===3||c>1&&w===4){let x=w===4?B.parseULong():B.parseCard16(),C=w===4?B.parseULong():B.parseCard16();if(C!==0)throw new Error(`CFF Table CID Font FDSelect format ${w} range has bad initial GID ${C}`);let S;for(let T=0;T<x;T++){if(d=w===4?B.parseUShort():B.parseCard8(),S=w===4?B.parseULong():B.parseCard16(),d>=o)throw new Error("CFF table CID Font FDSelect has bad FD index value "+d+" (FD count "+o+")");if(S>s)throw new Error(`CFF Table CID Font FDSelect format ${c} range has bad GID ${S}`);for(;C<S;C++)h.push(d);C=S}if(S!==s)throw new Error("CFF Table CID Font FDSelect format 3 range has bad final (Sentinal) GID "+S)}else throw new Error("CFF Table CID Font FDSelect table has unsupported format "+w);return h}function pB(t,n,s,o){let c,h=sB(t,n);h.formatMajor===2?c=s.tables.cff2={}:c=s.tables.cff={};let d=h.formatMajor>1?null:gr(t,h.endOffset,he.bytesToString),B=h.formatMajor>1?null:gr(t,d.endOffset),w=h.formatMajor>1?null:gr(t,B.endOffset,he.bytesToString),x=gr(t,h.formatMajor>1?n+h.size+h.topDictLength:w.endOffset,void 0,h.formatMajor);s.gsubrs=x.objects,s.gsubrsBias=gs(s.gsubrs);let C;if(h.formatMajor>1){let T=n+h.size,k=he.getBytes(t,T,T+h.topDictLength);C=Pa(t,0,[k],void 0,h.formatMajor)[0]}else{let T=Pa(t,n,B.objects,w.objects,h.formatMajor);if(T.length!==1)throw new Error("CFF table has too many fonts in 'FontSet' - count of fonts NameIndex.length = "+T.length);C=T[0]}if(c.topDict=C,C._privateDict&&(s.defaultWidthX=C._privateDict.defaultWidthX,s.nominalWidthX=C._privateDict.nominalWidthX),h.formatMajor<2&&C.ros[0]!==void 0&&C.ros[1]!==void 0&&(s.isCIDFont=!0),h.formatMajor>1){let T=C.fdArray,k=C.fdSelect;if(!T)throw new Error("This is a CFF2 font, but FDArray information is missing");let U=gr(t,n+T,null,h.formatMajor),L=lB(t,n,U.objects);C._fdArray=L,k&&(C._fdSelect=ic(t,n+k,s.numGlyphs,L.length,h.formatMajor))}else if(s.isCIDFont){let T=C.fdArray,k=C.fdSelect;if(T===0||k===0)throw new Error("Font is marked as a CID font, but FDArray and/or FDSelect information is missing");T+=n;let U=gr(t,T),L=Pa(t,n,U.objects,w.objects,h.formatMajor);C._fdArray=L,k+=n,C._fdSelect=ic(t,k,s.numGlyphs,L.length,h.formatMajor)}if(h.formatMajor<2){let T=n+C.private[1],k=La(t,T,C.private[0],w.objects,h.formatMajor);if(s.defaultWidthX=k.defaultWidthX,s.nominalWidthX=k.nominalWidthX,k.subrs!==0){let U=T+k.subrs,L=gr(t,U);s.subrs=L.objects,s.subrsBias=gs(s.subrs)}else s.subrs=[],s.subrsBias=0}let S;if(o.lowMemory?(S=eB(t,n+C.charStrings,h.formatMajor),s.nGlyphs=S.offsets.length-(h.formatMajor>1?1:0)):(S=gr(t,n+C.charStrings,null,h.formatMajor),s.nGlyphs=S.objects.length),h.formatMajor>1&&s.tables.maxp&&s.nGlyphs!==s.tables.maxp.numGlyphs&&console.error(`Glyph count in the CFF2 table (${s.nGlyphs}) must correspond to the glyph count in the maxp table (${s.tables.maxp.numGlyphs})`),h.formatMajor<2){let T=[],k=[];C.charset===0?T=R0:C.charset===1?T=G0:C.charset===2?T=L0:T=cB(t,n+C.charset,s.nGlyphs,w.objects,s.isCIDFont),C.encoding===0?k=ka:C.encoding===1?k=P0:k=uB(t,n+C.encoding),s.cffEncoding=new jl(k,T),s.encoding=s.encoding||s.cffEncoding}if(s.glyphs=new dr.GlyphSet(s),o.lowMemory)s._push=function(T){let k=tB(T,S.offsets,t,n+C.charStrings,void 0,h.formatMajor);s.glyphs.push(T,dr.cffGlyphLoader(s,T,Ha,k,h.formatMajor))};else for(let T=0;T<s.nGlyphs;T+=1){let k=S.objects[T];s.glyphs.push(T,dr.cffGlyphLoader(s,T,Ha,k,h.formatMajor))}if(C.vstore){let T=new he.Parser(t,n+C.vstore);C._vstore=T.parseVariationStore()}}function nc(t,n){let s,o=ps.indexOf(t);return o>=0&&(s=o),o=n.indexOf(t),o>=0?s=o+ps.length:(s=ps.length+n.length,n.push(t)),s}function fB(){return new $.Record("Header",[{name:"major",type:"Card8",value:1},{name:"minor",type:"Card8",value:0},{name:"hdrSize",type:"Card8",value:4},{name:"major",type:"Card8",value:1}])}function dB(t){let n=new $.Record("Name INDEX",[{name:"names",type:"INDEX",value:[]}]);n.names=[];for(let s=0;s<t.length;s+=1)n.names.push({name:"name_"+s,type:"NAME",value:t[s]});return n}function sc(t,n,s){let o={};for(let c=0;c<t.length;c+=1){let h=t[c],d=n[h.name];d!==void 0&&!Xl(d,h.value)&&(h.type==="SID"&&(d=nc(d,s)),o[h.op]={name:h.name,type:h.type,value:d})}return o}function ac(t,n,s){let o=new $.Record("Top DICT",[{name:"dict",type:"DICT",value:{}}]);return o.dict=sc(s>1?$l:Kl,t,n),o}function oc(t){let n=new $.Record("Top DICT INDEX",[{name:"topDicts",type:"INDEX",value:[]}]);return n.topDicts=[{name:"topDict_0",type:"TABLE",value:t}],n}function gB(t){let n=new $.Record("String INDEX",[{name:"strings",type:"INDEX",value:[]}]);n.strings=[];for(let s=0;s<t.length;s+=1)n.strings.push({name:"string_"+s,type:"STRING",value:t[s]});return n}function mB(){return new $.Record("Global Subr INDEX",[{name:"subrs",type:"INDEX",value:[]}])}function BB(t,n){let s=new $.Record("Charsets",[{name:"format",type:"Card8",value:0}]);for(let o=0;o<t.length;o+=1){let c=t[o],h=nc(c,n);s.fields.push({name:"glyph_"+o,type:"SID",value:h})}return s}function EB(t,n){let s=[],o=t.path;n<2&&s.push({name:"width",type:"NUMBER",value:t.advanceWidth});let c=0,h=0;for(let d=0;d<o.commands.length;d+=1){let B,w,x=o.commands[d];if(x.type==="Q"){let C=.3333333333333333,S=2/3;x={type:"C",x:x.x,y:x.y,x1:Math.round(C*c+S*x.x1),y1:Math.round(C*h+S*x.y1),x2:Math.round(C*x.x+S*x.x1),y2:Math.round(C*x.y+S*x.y1)}}if(x.type==="M")B=Math.round(x.x-c),w=Math.round(x.y-h),s.push({name:"dx",type:"NUMBER",value:B}),s.push({name:"dy",type:"NUMBER",value:w}),s.push({name:"rmoveto",type:"OP",value:21}),c=Math.round(x.x),h=Math.round(x.y);else if(x.type==="L")B=Math.round(x.x-c),w=Math.round(x.y-h),s.push({name:"dx",type:"NUMBER",value:B}),s.push({name:"dy",type:"NUMBER",value:w}),s.push({name:"rlineto",type:"OP",value:5}),c=Math.round(x.x),h=Math.round(x.y);else if(x.type==="C"){let C=Math.round(x.x1-c),S=Math.round(x.y1-h),T=Math.round(x.x2-x.x1),k=Math.round(x.y2-x.y1);B=Math.round(x.x-x.x2),w=Math.round(x.y-x.y2),s.push({name:"dx1",type:"NUMBER",value:C}),s.push({name:"dy1",type:"NUMBER",value:S}),s.push({name:"dx2",type:"NUMBER",value:T}),s.push({name:"dy2",type:"NUMBER",value:k}),s.push({name:"dx",type:"NUMBER",value:B}),s.push({name:"dy",type:"NUMBER",value:w}),s.push({name:"rrcurveto",type:"OP",value:8}),c=Math.round(x.x),h=Math.round(x.y)}}return n<2&&s.push({name:"endchar",type:"OP",value:14}),s}function wB(t,n){let s=new $.Record("CharStrings INDEX",[{name:"charStrings",type:"INDEX",value:[]}]);for(let o=0;o<t.length;o+=1){let c=t.get(o),h=EB(c,n);s.charStrings.push({name:c.name,type:"CHARSTRING",value:h})}return s}function yB(t,n,s){let o=new $.Record("Private DICT",[{name:"dict",type:"DICT",value:{}}]);return o.dict=sc(s>1?tc:ec,t,n),o}function CB(t,n){let o=new $.Table("CFF ",[{name:"header",type:"RECORD"},{name:"nameIndex",type:"RECORD"},{name:"topDictIndex",type:"RECORD"},{name:"stringIndex",type:"RECORD"},{name:"globalSubrIndex",type:"RECORD"},{name:"charsets",type:"RECORD"},{name:"charStringsIndex",type:"RECORD"},{name:"privateDict",type:"RECORD"}]),c=1/n.unitsPerEm,h={version:n.version,fullName:n.fullName,familyName:n.familyName,weight:n.weightName,fontBBox:n.fontBBox||[0,0,0,0],fontMatrix:[c,0,0,c,0,0],charset:999,encoding:0,charStrings:999,private:[0,999]},d=n&&n.topDict||{};d.paintType&&(h.paintType=d.paintType,h.strokeWidth=d.strokeWidth||0);let B={},w=[],x;for(let k=1;k<t.length;k+=1)x=t.get(k),w.push(x.name);let C=[];o.header=fB(),o.nameIndex=dB([n.postScriptName]);let S=ac(h,C);o.topDictIndex=oc(S),o.globalSubrIndex=mB(),o.charsets=BB(w,C),o.charStringsIndex=wB(t,1),o.privateDict=yB(B,C),o.stringIndex=gB(C);let T=o.header.sizeOf()+o.nameIndex.sizeOf()+o.topDictIndex.sizeOf()+o.stringIndex.sizeOf()+o.globalSubrIndex.sizeOf();return h.charset=T,h.encoding=0,h.charStrings=h.charset+o.charsets.sizeOf(),h.private[1]=h.charStrings+o.charStringsIndex.sizeOf(),S=ac(h,C),o.topDictIndex=oc(S),o}var Wa={parse:pB,make:CB};function bB(t,n){let s={},o=new he.Parser(t,n);return s.version=o.parseVersion(),s.fontRevision=Math.round(o.parseFixed()*1e3)/1e3,s.checkSumAdjustment=o.parseULong(),s.magicNumber=o.parseULong(),G.argument(s.magicNumber===1594834165,"Font header has wrong magic number."),s.flags=o.parseUShort(),s.unitsPerEm=o.parseUShort(),s.created=o.parseLongDateTime(),s.modified=o.parseLongDateTime(),s.xMin=o.parseShort(),s.yMin=o.parseShort(),s.xMax=o.parseShort(),s.yMax=o.parseShort(),s.macStyle=o.parseUShort(),s.lowestRecPPEM=o.parseUShort(),s.fontDirectionHint=o.parseShort(),s.indexToLocFormat=o.parseShort(),s.glyphDataFormat=o.parseShort(),s}function xB(t){let n=Math.round(new Date().getTime()/1e3)+2082844800,s=n,o=t.macStyle||0;return t.createdTimestamp&&(s=t.createdTimestamp+2082844800),new $.Table("head",[{name:"version",type:"FIXED",value:65536},{name:"fontRevision",type:"FIXED",value:65536},{name:"checkSumAdjustment",type:"ULONG",value:0},{name:"magicNumber",type:"ULONG",value:1594834165},{name:"flags",type:"USHORT",value:0},{name:"unitsPerEm",type:"USHORT",value:1e3},{name:"created",type:"LONGDATETIME",value:s},{name:"modified",type:"LONGDATETIME",value:n},{name:"xMin",type:"SHORT",value:0},{name:"yMin",type:"SHORT",value:0},{name:"xMax",type:"SHORT",value:0},{name:"yMax",type:"SHORT",value:0},{name:"macStyle",type:"USHORT",value:o},{name:"lowestRecPPEM",type:"USHORT",value:0},{name:"fontDirectionHint",type:"SHORT",value:2},{name:"indexToLocFormat",type:"SHORT",value:0},{name:"glyphDataFormat",type:"SHORT",value:0}],t)}var Ac={parse:bB,make:xB};function QB(t,n){let s={},o=new he.Parser(t,n);return s.version=o.parseVersion(),s.ascender=o.parseShort(),s.descender=o.parseShort(),s.lineGap=o.parseShort(),s.advanceWidthMax=o.parseUShort(),s.minLeftSideBearing=o.parseShort(),s.minRightSideBearing=o.parseShort(),s.xMaxExtent=o.parseShort(),s.caretSlopeRise=o.parseShort(),s.caretSlopeRun=o.parseShort(),s.caretOffset=o.parseShort(),o.relativeOffset+=8,s.metricDataFormat=o.parseShort(),s.numberOfHMetrics=o.parseUShort(),s}function vB(t){return new $.Table("hhea",[{name:"version",type:"FIXED",value:65536},{name:"ascender",type:"FWORD",value:0},{name:"descender",type:"FWORD",value:0},{name:"lineGap",type:"FWORD",value:0},{name:"advanceWidthMax",type:"UFWORD",value:0},{name:"minLeftSideBearing",type:"FWORD",value:0},{name:"minRightSideBearing",type:"FWORD",value:0},{name:"xMaxExtent",type:"FWORD",value:0},{name:"caretSlopeRise",type:"SHORT",value:1},{name:"caretSlopeRun",type:"SHORT",value:0},{name:"caretOffset",type:"SHORT",value:0},{name:"reserved1",type:"SHORT",value:0},{name:"reserved2",type:"SHORT",value:0},{name:"reserved3",type:"SHORT",value:0},{name:"reserved4",type:"SHORT",value:0},{name:"metricDataFormat",type:"SHORT",value:0},{name:"numberOfHMetrics",type:"USHORT",value:0}],t)}var lc={parse:QB,make:vB};function IB(t,n,s,o,c){let h,d,B=new he.Parser(t,n);for(let w=0;w<o;w+=1){w<s&&(h=B.parseUShort(),d=B.parseShort());let x=c.get(w);x.advanceWidth=h,x.leftSideBearing=d}}function FB(t,n,s,o,c){t._hmtxTableData={};let h,d,B=new he.Parser(n,s);for(let w=0;w<c;w+=1)w<o&&(h=B.parseUShort(),d=B.parseShort()),t._hmtxTableData[w]={advanceWidth:h,leftSideBearing:d}}function TB(t,n,s,o,c,h,d){d.lowMemory?FB(t,n,s,o,c):IB(n,s,o,c,h)}function SB(t){let n=new $.Table("hmtx",[]);for(let s=0;s<t.length;s+=1){let o=t.get(s),c=o.advanceWidth||0,h=o.leftSideBearing||0;n.fields.push({name:"advanceWidth_"+s,type:"USHORT",value:c}),n.fields.push({name:"leftSideBearing_"+s,type:"SHORT",value:h})}return n}var cc={parse:TB,make:SB};function DB(t){let n=new $.Table("ltag",[{name:"version",type:"ULONG",value:1},{name:"flags",type:"ULONG",value:0},{name:"numTags",type:"ULONG",value:t.length}]),s="",o=12+t.length*4;for(let c=0;c<t.length;++c){let h=s.indexOf(t[c]);h<0&&(h=s.length,s+=t[c]),n.fields.push({name:"offset "+c,type:"USHORT",value:o+h}),n.fields.push({name:"length "+c,type:"USHORT",value:t[c].length})}return n.fields.push({name:"stringPool",type:"CHARARRAY",value:s}),n}function MB(t,n){let s=new he.Parser(t,n),o=s.parseULong();G.argument(o===1,"Unsupported ltag table version."),s.skip("uLong",1);let c=s.parseULong(),h=[];for(let d=0;d<c;d++){let B="",w=n+s.parseUShort(),x=s.parseUShort();for(let C=w;C<w+x;++C)B+=String.fromCharCode(t.getInt8(C));h.push(B)}return h}var uc={make:DB,parse:MB};function UB(t,n){let s={},o=new he.Parser(t,n);return s.version=o.parseVersion(),s.numGlyphs=o.parseUShort(),s.version===1&&(s.maxPoints=o.parseUShort(),s.maxContours=o.parseUShort(),s.maxCompositePoints=o.parseUShort(),s.maxCompositeContours=o.parseUShort(),s.maxZones=o.parseUShort(),s.maxTwilightPoints=o.parseUShort(),s.maxStorage=o.parseUShort(),s.maxFunctionDefs=o.parseUShort(),s.maxInstructionDefs=o.parseUShort(),s.maxStackElements=o.parseUShort(),s.maxSizeOfInstructions=o.parseUShort(),s.maxComponentElements=o.parseUShort(),s.maxComponentDepth=o.parseUShort()),s}function NB(t){return new $.Table("maxp",[{name:"version",type:"FIXED",value:20480},{name:"numGlyphs",type:"USHORT",value:t}])}var hc={parse:UB,make:NB},Ja=[{begin:0,end:127},{begin:128,end:255},{begin:256,end:383},{begin:384,end:591},{begin:592,end:687},{begin:688,end:767},{begin:768,end:879},{begin:880,end:1023},{begin:11392,end:11519},{begin:1024,end:1279},{begin:1328,end:1423},{begin:1424,end:1535},{begin:42240,end:42559},{begin:1536,end:1791},{begin:1984,end:2047},{begin:2304,end:2431},{begin:2432,end:2559},{begin:2560,end:2687},{begin:2688,end:2815},{begin:2816,end:2943},{begin:2944,end:3071},{begin:3072,end:3199},{begin:3200,end:3327},{begin:3328,end:3455},{begin:3584,end:3711},{begin:3712,end:3839},{begin:4256,end:4351},{begin:6912,end:7039},{begin:4352,end:4607},{begin:7680,end:7935},{begin:7936,end:8191},{begin:8192,end:8303},{begin:8304,end:8351},{begin:8352,end:8399},{begin:8400,end:8447},{begin:8448,end:8527},{begin:8528,end:8591},{begin:8592,end:8703},{begin:8704,end:8959},{begin:8960,end:9215},{begin:9216,end:9279},{begin:9280,end:9311},{begin:9312,end:9471},{begin:9472,end:9599},{begin:9600,end:9631},{begin:9632,end:9727},{begin:9728,end:9983},{begin:9984,end:10175},{begin:12288,end:12351},{begin:12352,end:12447},{begin:12448,end:12543},{begin:12544,end:12591},{begin:12592,end:12687},{begin:43072,end:43135},{begin:12800,end:13055},{begin:13056,end:13311},{begin:44032,end:55215},{begin:55296,end:57343},{begin:67840,end:67871},{begin:19968,end:40959},{begin:57344,end:63743},{begin:12736,end:12783},{begin:64256,end:64335},{begin:64336,end:65023},{begin:65056,end:65071},{begin:65040,end:65055},{begin:65104,end:65135},{begin:65136,end:65279},{begin:65280,end:65519},{begin:65520,end:65535},{begin:3840,end:4095},{begin:1792,end:1871},{begin:1920,end:1983},{begin:3456,end:3583},{begin:4096,end:4255},{begin:4608,end:4991},{begin:5024,end:5119},{begin:5120,end:5759},{begin:5760,end:5791},{begin:5792,end:5887},{begin:6016,end:6143},{begin:6144,end:6319},{begin:10240,end:10495},{begin:40960,end:42127},{begin:5888,end:5919},{begin:66304,end:66351},{begin:66352,end:66383},{begin:66560,end:66639},{begin:118784,end:119039},{begin:119808,end:120831},{begin:1044480,end:1048573},{begin:65024,end:65039},{begin:917504,end:917631},{begin:6400,end:6479},{begin:6480,end:6527},{begin:6528,end:6623},{begin:6656,end:6687},{begin:11264,end:11359},{begin:11568,end:11647},{begin:19904,end:19967},{begin:43008,end:43055},{begin:65536,end:65663},{begin:65856,end:65935},{begin:66432,end:66463},{begin:66464,end:66527},{begin:66640,end:66687},{begin:66688,end:66735},{begin:67584,end:67647},{begin:68096,end:68191},{begin:119552,end:119647},{begin:73728,end:74751},{begin:119648,end:119679},{begin:7040,end:7103},{begin:7168,end:7247},{begin:7248,end:7295},{begin:43136,end:43231},{begin:43264,end:43311},{begin:43312,end:43359},{begin:43520,end:43615},{begin:65936,end:65999},{begin:66e3,end:66047},{begin:66208,end:66271},{begin:127024,end:127135}];function kB(t){for(let n=0;n<Ja.length;n+=1){let s=Ja[n];if(t>=s.begin&&t<s.end)return n}return-1}function YB(t,n){let s={},o=new he.Parser(t,n);s.version=o.parseUShort(),s.xAvgCharWidth=o.parseShort(),s.usWeightClass=o.parseUShort(),s.usWidthClass=o.parseUShort(),s.fsType=o.parseUShort(),s.ySubscriptXSize=o.parseShort(),s.ySubscriptYSize=o.parseShort(),s.ySubscriptXOffset=o.parseShort(),s.ySubscriptYOffset=o.parseShort(),s.ySuperscriptXSize=o.parseShort(),s.ySuperscriptYSize=o.parseShort(),s.ySuperscriptXOffset=o.parseShort(),s.ySuperscriptYOffset=o.parseShort(),s.yStrikeoutSize=o.parseShort(),s.yStrikeoutPosition=o.parseShort(),s.sFamilyClass=o.parseShort(),s.panose=[];for(let c=0;c<10;c++)s.panose[c]=o.parseByte();return s.ulUnicodeRange1=o.parseULong(),s.ulUnicodeRange2=o.parseULong(),s.ulUnicodeRange3=o.parseULong(),s.ulUnicodeRange4=o.parseULong(),s.achVendID=String.fromCharCode(o.parseByte(),o.parseByte(),o.parseByte(),o.parseByte()),s.fsSelection=o.parseUShort(),s.usFirstCharIndex=o.parseUShort(),s.usLastCharIndex=o.parseUShort(),s.sTypoAscender=o.parseShort(),s.sTypoDescender=o.parseShort(),s.sTypoLineGap=o.parseShort(),s.usWinAscent=o.parseUShort(),s.usWinDescent=o.parseUShort(),s.version>=1&&(s.ulCodePageRange1=o.parseULong(),s.ulCodePageRange2=o.parseULong()),s.version>=2&&(s.sxHeight=o.parseShort(),s.sCapHeight=o.parseShort(),s.usDefaultChar=o.parseUShort(),s.usBreakChar=o.parseUShort(),s.usMaxContent=o.parseUShort()),s}function OB(t){return new $.Table("OS/2",[{name:"version",type:"USHORT",value:3},{name:"xAvgCharWidth",type:"SHORT",value:0},{name:"usWeightClass",type:"USHORT",value:0},{name:"usWidthClass",type:"USHORT",value:0},{name:"fsType",type:"USHORT",value:0},{name:"ySubscriptXSize",type:"SHORT",value:650},{name:"ySubscriptYSize",type:"SHORT",value:699},{name:"ySubscriptXOffset",type:"SHORT",value:0},{name:"ySubscriptYOffset",type:"SHORT",value:140},{name:"ySuperscriptXSize",type:"SHORT",value:650},{name:"ySuperscriptYSize",type:"SHORT",value:699},{name:"ySuperscriptXOffset",type:"SHORT",value:0},{name:"ySuperscriptYOffset",type:"SHORT",value:479},{name:"yStrikeoutSize",type:"SHORT",value:49},{name:"yStrikeoutPosition",type:"SHORT",value:258},{name:"sFamilyClass",type:"SHORT",value:0},{name:"bFamilyType",type:"BYTE",value:0},{name:"bSerifStyle",type:"BYTE",value:0},{name:"bWeight",type:"BYTE",value:0},{name:"bProportion",type:"BYTE",value:0},{name:"bContrast",type:"BYTE",value:0},{name:"bStrokeVariation",type:"BYTE",value:0},{name:"bArmStyle",type:"BYTE",value:0},{name:"bLetterform",type:"BYTE",value:0},{name:"bMidline",type:"BYTE",value:0},{name:"bXHeight",type:"BYTE",value:0},{name:"ulUnicodeRange1",type:"ULONG",value:0},{name:"ulUnicodeRange2",type:"ULONG",value:0},{name:"ulUnicodeRange3",type:"ULONG",value:0},{name:"ulUnicodeRange4",type:"ULONG",value:0},{name:"achVendID",type:"CHARARRAY",value:"XXXX"},{name:"fsSelection",type:"USHORT",value:0},{name:"usFirstCharIndex",type:"USHORT",value:0},{name:"usLastCharIndex",type:"USHORT",value:0},{name:"sTypoAscender",type:"SHORT",value:0},{name:"sTypoDescender",type:"SHORT",value:0},{name:"sTypoLineGap",type:"SHORT",value:0},{name:"usWinAscent",type:"USHORT",value:0},{name:"usWinDescent",type:"USHORT",value:0},{name:"ulCodePageRange1",type:"ULONG",value:0},{name:"ulCodePageRange2",type:"ULONG",value:0},{name:"sxHeight",type:"SHORT",value:0},{name:"sCapHeight",type:"SHORT",value:0},{name:"usDefaultChar",type:"USHORT",value:0},{name:"usBreakChar",type:"USHORT",value:0},{name:"usMaxContext",type:"USHORT",value:0}],t)}var Va={parse:YB,make:OB,unicodeRanges:Ja,getUnicodeRange:kB};function RB(t,n){let s={},o=new he.Parser(t,n);switch(s.version=o.parseVersion(),s.italicAngle=o.parseFixed(),s.underlinePosition=o.parseShort(),s.underlineThickness=o.parseShort(),s.isFixedPitch=o.parseULong(),s.minMemType42=o.parseULong(),s.maxMemType42=o.parseULong(),s.minMemType1=o.parseULong(),s.maxMemType1=o.parseULong(),s.version){case 1:s.names=hi.slice();break;case 2:s.numberOfGlyphs=o.parseUShort(),s.glyphNameIndex=new Array(s.numberOfGlyphs);for(let c=0;c<s.numberOfGlyphs;c++)s.glyphNameIndex[c]=o.parseUShort();s.names=[];for(let c=0;c<s.numberOfGlyphs;c++)if(s.glyphNameIndex[c]>=hi.length){let h=o.parseChar();s.names.push(o.parseString(h))}break;case 2.5:s.numberOfGlyphs=o.parseUShort(),s.offset=new Array(s.numberOfGlyphs);for(let c=0;c<s.numberOfGlyphs;c++)s.offset[c]=o.parseChar();break}return s}function GB(t){let{italicAngle:n=Math.round((t.italicAngle||0)*65536),underlinePosition:s=0,underlineThickness:o=0,isFixedPitch:c=0,minMemType42:h=0,maxMemType42:d=0,minMemType1:B=0,maxMemType1:w=0}=t.tables.post||{};return new $.Table("post",[{name:"version",type:"FIXED",value:196608},{name:"italicAngle",type:"FIXED",value:n},{name:"underlinePosition",type:"FWORD",value:s},{name:"underlineThickness",type:"FWORD",value:o},{name:"isFixedPitch",type:"ULONG",value:c},{name:"minMemType42",type:"ULONG",value:h},{name:"maxMemType42",type:"ULONG",value:d},{name:"minMemType1",type:"ULONG",value:B},{name:"maxMemType1",type:"ULONG",value:w}])}var pc={parse:RB,make:GB},ir=new Array(9);ir[1]=function(){let n=this.offset+this.relativeOffset,s=this.parseUShort();if(s===1)return{substFormat:1,coverage:this.parsePointer(V.coverage),deltaGlyphId:this.parseShort()};if(s===2)return{substFormat:2,coverage:this.parsePointer(V.coverage),substitute:this.parseOffset16List()};G.assert(!1,"0x"+n.toString(16)+": lookup type 1 format must be 1 or 2.")},ir[2]=function(){let n=this.parseUShort();return G.argument(n===1,"GSUB Multiple Substitution Subtable identifier-format must be 1"),{substFormat:n,coverage:this.parsePointer(V.coverage),sequences:this.parseListOfLists()}},ir[3]=function(){let n=this.parseUShort();return G.argument(n===1,"GSUB Alternate Substitution Subtable identifier-format must be 1"),{substFormat:n,coverage:this.parsePointer(V.coverage),alternateSets:this.parseListOfLists()}},ir[4]=function(){let n=this.parseUShort();return G.argument(n===1,"GSUB ligature table identifier-format must be 1"),{substFormat:n,coverage:this.parsePointer(V.coverage),ligatureSets:this.parseListOfLists(function(){return{ligGlyph:this.parseUShort(),components:this.parseUShortList(this.parseUShort()-1)}})}};var ki={sequenceIndex:V.uShort,lookupListIndex:V.uShort};ir[5]=function(){let n=this.offset+this.relativeOffset,s=this.parseUShort();if(s===1)return{substFormat:s,coverage:this.parsePointer(V.coverage),ruleSets:this.parseListOfLists(function(){let o=this.parseUShort(),c=this.parseUShort();return{input:this.parseUShortList(o-1),lookupRecords:this.parseRecordList(c,ki)}})};if(s===2)return{substFormat:s,coverage:this.parsePointer(V.coverage),classDef:this.parsePointer(V.classDef),classSets:this.parseListOfLists(function(){let o=this.parseUShort(),c=this.parseUShort();return{classes:this.parseUShortList(o-1),lookupRecords:this.parseRecordList(c,ki)}})};if(s===3){let o=this.parseUShort(),c=this.parseUShort();return{substFormat:s,coverages:this.parseList(o,V.pointer(V.coverage)),lookupRecords:this.parseRecordList(c,ki)}}G.assert(!1,"0x"+n.toString(16)+": lookup type 5 format must be 1, 2 or 3.")},ir[6]=function(){let n=this.offset+this.relativeOffset,s=this.parseUShort();if(s===1)return{substFormat:1,coverage:this.parsePointer(V.coverage),chainRuleSets:this.parseListOfLists(function(){return{backtrack:this.parseUShortList(),input:this.parseUShortList(this.parseShort()-1),lookahead:this.parseUShortList(),lookupRecords:this.parseRecordList(ki)}})};if(s===2)return{substFormat:2,coverage:this.parsePointer(V.coverage),backtrackClassDef:this.parsePointer(V.classDef),inputClassDef:this.parsePointer(V.classDef),lookaheadClassDef:this.parsePointer(V.classDef),chainClassSet:this.parseListOfLists(function(){return{backtrack:this.parseUShortList(),input:this.parseUShortList(this.parseShort()-1),lookahead:this.parseUShortList(),lookupRecords:this.parseRecordList(ki)}})};if(s===3)return{substFormat:3,backtrackCoverage:this.parseList(V.pointer(V.coverage)),inputCoverage:this.parseList(V.pointer(V.coverage)),lookaheadCoverage:this.parseList(V.pointer(V.coverage)),lookupRecords:this.parseRecordList(ki)};G.assert(!1,"0x"+n.toString(16)+": lookup type 6 format must be 1, 2 or 3.")},ir[7]=function(){let n=this.parseUShort();G.argument(n===1,"GSUB Extension Substitution subtable identifier-format must be 1");let s=this.parseUShort(),o=new V(this.data,this.offset+this.parseULong());return{substFormat:1,lookupType:s,extension:ir[s].call(o)}},ir[8]=function(){let n=this.parseUShort();return G.argument(n===1,"GSUB Reverse Chaining Contextual Single Substitution Subtable identifier-format must be 1"),{substFormat:n,coverage:this.parsePointer(V.coverage),backtrackCoverage:this.parseList(V.pointer(V.coverage)),lookaheadCoverage:this.parseList(V.pointer(V.coverage)),substitutes:this.parseUShortList()}};function LB(t,n){n=n||0;let s=new V(t,n),o=s.parseVersion(1);return G.argument(o===1||o===1.1,"Unsupported GSUB table version."),o===1?{version:o,scripts:s.parseScriptList(),features:s.parseFeatureList(),lookups:s.parseLookupList(ir)}:{version:o,scripts:s.parseScriptList(),features:s.parseFeatureList(),lookups:s.parseLookupList(ir),variations:s.parseFeatureVariationsList()}}var fi=new Array(9);fi[1]=function(n){if(n.substFormat===1)return new $.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new $.Coverage(n.coverage)},{name:"deltaGlyphID",type:"SHORT",value:n.deltaGlyphId}]);if(n.substFormat===2)return new $.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:2},{name:"coverage",type:"TABLE",value:new $.Coverage(n.coverage)}].concat($.ushortList("substitute",n.substitute)));G.fail("Lookup type 1 substFormat must be 1 or 2.")},fi[2]=function(n){return G.assert(n.substFormat===1,"Lookup type 2 substFormat must be 1."),new $.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new $.Coverage(n.coverage)}].concat($.tableList("seqSet",n.sequences,function(s){return new $.Table("sequenceSetTable",$.ushortList("sequence",s))})))},fi[3]=function(n){return G.assert(n.substFormat===1,"Lookup type 3 substFormat must be 1."),new $.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new $.Coverage(n.coverage)}].concat($.tableList("altSet",n.alternateSets,function(s){return new $.Table("alternateSetTable",$.ushortList("alternate",s))})))},fi[4]=function(n){return G.assert(n.substFormat===1,"Lookup type 4 substFormat must be 1."),new $.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new $.Coverage(n.coverage)}].concat($.tableList("ligSet",n.ligatureSets,function(s){return new $.Table("ligatureSetTable",$.tableList("ligature",s,function(o){return new $.Table("ligatureTable",[{name:"ligGlyph",type:"USHORT",value:o.ligGlyph}].concat($.ushortList("component",o.components,o.components.length+1)))}))})))},fi[5]=function(n){if(n.substFormat===1)return new $.Table("contextualSubstitutionTable",[{name:"substFormat",type:"USHORT",value:n.substFormat},{name:"coverage",type:"TABLE",value:new $.Coverage(n.coverage)}].concat($.tableList("sequenceRuleSet",n.ruleSets,function(s){return s?new $.Table("sequenceRuleSetTable",$.tableList("sequenceRule",s,function(o){let c=$.ushortList("seqLookup",[],o.lookupRecords.length).concat($.ushortList("inputSequence",o.input,o.input.length+1));[c[0],c[1]]=[c[1],c[0]];for(let h=0;h<o.lookupRecords.length;h++){let d=o.lookupRecords[h];c=c.concat({name:"sequenceIndex"+h,type:"USHORT",value:d.sequenceIndex}).concat({name:"lookupListIndex"+h,type:"USHORT",value:d.lookupListIndex})}return new $.Table("sequenceRuleTable",c)})):new $.Table("NULL",null)})));if(n.substFormat===2)return new $.Table("contextualSubstitutionTable",[{name:"substFormat",type:"USHORT",value:n.substFormat},{name:"coverage",type:"TABLE",value:new $.Coverage(n.coverage)},{name:"classDef",type:"TABLE",value:new $.ClassDef(n.classDef)}].concat($.tableList("classSeqRuleSet",n.classSets,function(s){return s?new $.Table("classSeqRuleSetTable",$.tableList("classSeqRule",s,function(o){let c=$.ushortList("classes",o.classes,o.classes.length+1).concat($.ushortList("seqLookupCount",[],o.lookupRecords.length));for(let h=0;h<o.lookupRecords.length;h++){let d=o.lookupRecords[h];c=c.concat({name:"sequenceIndex"+h,type:"USHORT",value:d.sequenceIndex}).concat({name:"lookupListIndex"+h,type:"USHORT",value:d.lookupListIndex})}return new $.Table("classSeqRuleTable",c)})):new $.Table("NULL",null)})));if(n.substFormat===3){let s=[{name:"substFormat",type:"USHORT",value:n.substFormat}];s.push({name:"inputGlyphCount",type:"USHORT",value:n.coverages.length}),s.push({name:"substitutionCount",type:"USHORT",value:n.lookupRecords.length});for(let c=0;c<n.coverages.length;c++){let h=n.coverages[c];s.push({name:"inputCoverage"+c,type:"TABLE",value:new $.Coverage(h)})}for(let c=0;c<n.lookupRecords.length;c++){let h=n.lookupRecords[c];s=s.concat({name:"sequenceIndex"+c,type:"USHORT",value:h.sequenceIndex}).concat({name:"lookupListIndex"+c,type:"USHORT",value:h.lookupListIndex})}return new $.Table("contextualSubstitutionTable",s)}G.assert(!1,"lookup type 5 format must be 1, 2 or 3.")},fi[6]=function(n){if(n.substFormat===1)return new $.Table("chainContextTable",[{name:"substFormat",type:"USHORT",value:n.substFormat},{name:"coverage",type:"TABLE",value:new $.Coverage(n.coverage)}].concat($.tableList("chainRuleSet",n.chainRuleSets,function(o){return new $.Table("chainRuleSetTable",$.tableList("chainRule",o,function(c){let h=$.ushortList("backtrackGlyph",c.backtrack,c.backtrack.length).concat($.ushortList("inputGlyph",c.input,c.input.length+1)).concat($.ushortList("lookaheadGlyph",c.lookahead,c.lookahead.length)).concat($.ushortList("substitution",[],c.lookupRecords.length));for(let d=0;d<c.lookupRecords.length;d++){let B=c.lookupRecords[d];h=h.concat({name:"sequenceIndex"+d,type:"USHORT",value:B.sequenceIndex}).concat({name:"lookupListIndex"+d,type:"USHORT",value:B.lookupListIndex})}return new $.Table("chainRuleTable",h)}))})));if(n.substFormat===2)G.assert(!1,"lookup type 6 format 2 is not yet supported.");else if(n.substFormat===3){let s=[{name:"substFormat",type:"USHORT",value:n.substFormat}];s.push({name:"backtrackGlyphCount",type:"USHORT",value:n.backtrackCoverage.length});for(let c=0;c<n.backtrackCoverage.length;c++){let h=n.backtrackCoverage[c];s.push({name:"backtrackCoverage"+c,type:"TABLE",value:new $.Coverage(h)})}s.push({name:"inputGlyphCount",type:"USHORT",value:n.inputCoverage.length});for(let c=0;c<n.inputCoverage.length;c++){let h=n.inputCoverage[c];s.push({name:"inputCoverage"+c,type:"TABLE",value:new $.Coverage(h)})}s.push({name:"lookaheadGlyphCount",type:"USHORT",value:n.lookaheadCoverage.length});for(let c=0;c<n.lookaheadCoverage.length;c++){let h=n.lookaheadCoverage[c];s.push({name:"lookaheadCoverage"+c,type:"TABLE",value:new $.Coverage(h)})}s.push({name:"substitutionCount",type:"USHORT",value:n.lookupRecords.length});for(let c=0;c<n.lookupRecords.length;c++){let h=n.lookupRecords[c];s=s.concat({name:"sequenceIndex"+c,type:"USHORT",value:h.sequenceIndex}).concat({name:"lookupListIndex"+c,type:"USHORT",value:h.lookupListIndex})}return new $.Table("chainContextTable",s)}G.assert(!1,"lookup type 6 format must be 1, 2 or 3.")};function PB(t){return new $.Table("GSUB",[{name:"version",type:"ULONG",value:65536},{name:"scripts",type:"TABLE",value:new $.ScriptList(t.scripts)},{name:"features",type:"TABLE",value:new $.FeatureList(t.features)},{name:"lookups",type:"TABLE",value:new $.LookupList(t.lookups,fi)}])}var fc={parse:LB,make:PB};function HB(t,n){let s=new he.Parser(t,n),o=s.parseULong();G.argument(o===1,"Unsupported META table version."),s.parseULong(),s.parseULong();let c=s.parseULong(),h={};for(let d=0;d<c;d++){let B=s.parseTag(),w=s.parseULong(),x=s.parseULong();if(B==="appl"||B==="bild")continue;let C=Qe.UTF8(t,n+w,x);h[B]=C}return h}function WB(t){let n=Object.keys(t).length,s="",o=16+n*12,c=new $.Table("meta",[{name:"version",type:"ULONG",value:1},{name:"flags",type:"ULONG",value:0},{name:"offset",type:"ULONG",value:o},{name:"numTags",type:"ULONG",value:n}]);for(let h in t){let d=s.length;s+=t[h],c.fields.push({name:"tag "+h,type:"TAG",value:h}),c.fields.push({name:"offset "+h,type:"ULONG",value:o+d}),c.fields.push({name:"length "+h,type:"ULONG",value:t[h].length})}return c.fields.push({name:"stringPool",type:"CHARARRAY",value:s}),c}var dc={parse:HB,make:WB};function JB(t,n){let s=new V(t,n),o=s.parseUShort();o!==0&&console.warn("Only COLRv0 is currently fully supported. A subset of color glyphs might be available in this font if provided in the v0 format.");let c=s.parseUShort(),h=s.parseOffset32(),d=s.parseOffset32(),B=s.parseUShort();s.relativeOffset=h;let w=s.parseRecordList(c,{glyphID:V.uShort,firstLayerIndex:V.uShort,numLayers:V.uShort});s.relativeOffset=d;let x=s.parseRecordList(B,{glyphID:V.uShort,paletteIndex:V.uShort});return{version:o,baseGlyphRecords:w,layerRecords:x}}function VB({version:t=0,baseGlyphRecords:n=[],layerRecords:s=[]}){G.argument(t===0,"Only COLRv0 supported.");let o=14,c=o+n.length*6;return new $.Table("COLR",[{name:"version",type:"USHORT",value:t},{name:"numBaseGlyphRecords",type:"USHORT",value:n.length},{name:"baseGlyphRecordsOffset",type:"ULONG",value:o},{name:"layerRecordsOffset",type:"ULONG",value:c},{name:"numLayerRecords",type:"USHORT",value:s.length},...n.map((h,d)=>[{name:"glyphID_"+d,type:"USHORT",value:h.glyphID},{name:"firstLayerIndex_"+d,type:"USHORT",value:h.firstLayerIndex},{name:"numLayers_"+d,type:"USHORT",value:h.numLayers}]).flat(),...s.map((h,d)=>[{name:"LayerGlyphID_"+d,type:"USHORT",value:h.glyphID},{name:"paletteIndex_"+d,type:"USHORT",value:h.paletteIndex}]).flat()])}var gc={parse:JB,make:VB};function jB(t,n){return[{name:"tag_"+t,type:"TAG",value:n.tag},{name:"minValue_"+t,type:"FIXED",value:n.minValue<<16},{name:"defaultValue_"+t,type:"FIXED",value:n.defaultValue<<16},{name:"maxValue_"+t,type:"FIXED",value:n.maxValue<<16},{name:"flags_"+t,type:"USHORT",value:0},{name:"nameID_"+t,type:"USHORT",value:n.axisNameID}]}function _B(t,n,s){let o={},c=new he.Parser(t,n);o.tag=c.parseTag(),o.minValue=c.parseFixed(),o.defaultValue=c.parseFixed(),o.maxValue=c.parseFixed(),c.skip("uShort",1);let h=c.parseUShort();return o.axisNameID=h,o.name=ui(s,h),o}function ZB(t,n,s,o={}){let c=[{name:"nameID_"+t,type:"USHORT",value:n.subfamilyNameID},{name:"flags_"+t,type:"USHORT",value:0}];for(let h=0;h<s.length;++h){let d=s[h].tag;c.push({name:"axis_"+t+" "+d,type:"FIXED",value:n.coordinates[d]<<16})}return o&&o.postScriptNameID&&c.push({name:"postScriptNameID_",type:"USHORT",value:n.postScriptNameID!==void 0?n.postScriptNameID:65535}),c}function zB(t,n,s,o,c){let h={},d=new he.Parser(t,n),B=d.parseUShort();h.subfamilyNameID=B,h.name=ui(o,B,[2,17]),d.skip("uShort",1),h.coordinates={};for(let x=0;x<s.length;++x)h.coordinates[s[x].tag]=d.parseFixed();if(d.relativeOffset===c)return h.postScriptNameID=void 0,h.postScriptName=void 0,h;let w=d.parseUShort();return h.postScriptNameID=w==65535?void 0:w,h.postScriptName=h.postScriptNameID!==void 0?ui(o,w,[6]):"",h}function XB(t,n){let s=new $.Table("fvar",[{name:"version",type:"ULONG",value:65536},{name:"offsetToData",type:"USHORT",value:0},{name:"countSizePairs",type:"USHORT",value:2},{name:"axisCount",type:"USHORT",value:t.axes.length},{name:"axisSize",type:"USHORT",value:20},{name:"instanceCount",type:"USHORT",value:t.instances.length},{name:"instanceSize",type:"USHORT",value:4+t.axes.length*4}]);s.offsetToData=s.sizeOf();for(let c=0;c<t.axes.length;c++)s.fields=s.fields.concat(jB(c,t.axes[c],n));let o={};for(let c=0;c<t.instances.length;c++)if(t.instances[c].postScriptNameID!==void 0){s.instanceSize+=2,o.postScriptNameID=!0;break}for(let c=0;c<t.instances.length;c++)s.fields=s.fields.concat(ZB(c,t.instances[c],t.axes,o));return s}function qB(t,n,s){let o=new he.Parser(t,n),c=o.parseULong();G.argument(c===65536,"Unsupported fvar table version.");let h=o.parseOffset16();o.skip("uShort",1);let d=o.parseUShort(),B=o.parseUShort(),w=o.parseUShort(),x=o.parseUShort(),C=[];for(let k=0;k<d;k++)C.push(_B(t,n+h+k*B,s));let S=[],T=n+h+d*B;for(let k=0;k<w;k++)S.push(zB(t,T+k*x,C,s,x));return{axes:C,instances:S}}var mc={make:XB,parse:qB},KB={tag:V.tag,nameID:V.uShort,ordering:V.uShort},mn=new Array(5);mn[1]=function(){return{axisIndex:this.parseUShort(),flags:this.parseUShort(),valueNameID:this.parseUShort(),value:this.parseFixed()}},mn[2]=function(){return{axisIndex:this.parseUShort(),flags:this.parseUShort(),valueNameID:this.parseUShort(),nominalValue:this.parseFixed(),rangeMinValue:this.parseFixed(),rangeMaxValue:this.parseFixed()}},mn[3]=function(){return{axisIndex:this.parseUShort(),flags:this.parseUShort(),valueNameID:this.parseUShort(),value:this.parseFixed(),linkedValue:this.parseFixed()}},mn[4]=function(){let n=this.parseUShort();return{flags:this.parseUShort(),valueNameID:this.parseUShort(),axisValues:this.parseList(n,function(){return{axisIndex:this.parseUShort(),value:this.parseFixed()}})}};function $B(){let t=this.parseUShort(),n=mn[t],s={format:t};return n===void 0?(console.warn(`Unknown axis value table format ${t}`),s):Object.assign(s,this.parseStruct(n.bind(this)))}function eE(t,n,s){n||(n=0);let o=new he.Parser(t,n),c=o.parseUShort(),h=o.parseUShort();c!==1&&console.warn(`Unsupported STAT table version ${c}.${h}`);let d=[c,h],B=o.parseUShort(),w=o.parseUShort(),x=o.parseOffset32(),C=o.parseUShort(),S=o.parseOffset32(),T=c>1||h>0?o.parseUShort():void 0;s!==void 0&&G.argument(w>=s.axes.length,"STAT axis count must be greater than or equal to fvar axis count"),C>0&&G.argument(w>=0,"STAT axis count must be greater than 0 if STAT axis value count is greater than 0");let k=[];for(let ee=0;ee<w;ee++)o.offset=n+x,o.relativeOffset=ee*B,k.push(o.parseStruct(KB));o.offset=n,o.relativeOffset=S;let U=o.parseUShortList(C),L=[];for(let ee=0;ee<C;ee++)o.offset=n+S,o.relativeOffset=U[ee],L.push($B.apply(o));return{version:d,axes:k,values:L,elidedFallbackNameID:T}}var Bn=new Array(5);Bn[1]=function(n,s){return[{name:`format${n}`,type:"USHORT",value:1},{name:`axisIndex${n}`,type:"USHORT",value:s.axisIndex},{name:`flags${n}`,type:"USHORT",value:s.flags},{name:`valueNameID${n}`,type:"USHORT",value:s.valueNameID},{name:`value${n}`,type:"FLOAT",value:s.value}]},Bn[2]=function(n,s){return[{name:`format${n}`,type:"USHORT",value:2},{name:`axisIndex${n}`,type:"USHORT",value:s.axisIndex},{name:`flags${n}`,type:"USHORT",value:s.flags},{name:`valueNameID${n}`,type:"USHORT",value:s.valueNameID},{name:`nominalValue${n}`,type:"FLOAT",value:s.nominalValue},{name:`rangeMinValue${n}`,type:"FLOAT",value:s.rangeMinValue},{name:`rangeMaxValue${n}`,type:"FLOAT",value:s.rangeMaxValue}]},Bn[3]=function(n,s){return[{name:`format${n}`,type:"USHORT",value:3},{name:`axisIndex${n}`,type:"USHORT",value:s.axisIndex},{name:`flags${n}`,type:"USHORT",value:s.flags},{name:`valueNameID${n}`,type:"USHORT",value:s.valueNameID},{name:`value${n}`,type:"FLOAT",value:s.value},{name:`linkedValue${n}`,type:"FLOAT",value:s.linkedValue}]},Bn[4]=function(n,s){let o=[{name:`format${n}`,type:"USHORT",value:4},{name:`axisCount${n}`,type:"USHORT",value:s.axisValues.length},{name:`flags${n}`,type:"USHORT",value:s.flags},{name:`valueNameID${n}`,type:"USHORT",value:s.valueNameID}];for(let c=0;c<s.axisValues.length;c++)o=o.concat([{name:`format${n}axisIndex${c}`,type:"USHORT",value:s.axisValues[c].axisIndex},{name:`format${n}value${c}`,type:"FLOAT",value:s.axisValues[c].value}]);return o};function tE(t,n){return new $.Record("axisRecord_"+t,[{name:"axisTag_"+t,type:"TAG",value:n.tag},{name:"axisNameID_"+t,type:"USHORT",value:n.nameID},{name:"axisOrdering_"+t,type:"USHORT",value:n.ordering}])}function rE(t,n){let s=n.format,o=Bn[s];G.argument(o!==void 0,`Unknown axis value table format ${s}`);let c=o(t,n);return new $.Table("axisValueTable_"+t,c)}function iE(t){let n=new $.Table("STAT",[{name:"majorVersion",type:"USHORT",value:1},{name:"minorVersion",type:"USHORT",value:2},{name:"designAxisSize",type:"USHORT",value:8},{name:"designAxisCount",type:"USHORT",value:t.axes.length},{name:"designAxesOffset",type:"ULONG",value:0},{name:"axisValueCount",type:"USHORT",value:t.values.length},{name:"offsetToAxisValueOffsets",type:"ULONG",value:0},{name:"elidedFallbackNameID",type:"USHORT",value:t.elidedFallbackNameID}]);n.designAxesOffset=n.offsetToAxisValueOffsets=n.sizeOf();for(let h=0;h<t.axes.length;h++){let d=tE(h,t.axes[h]);n.offsetToAxisValueOffsets+=d.sizeOf(),n.fields=n.fields.concat(d.fields)}let s=[],o=[],c=t.values.length*2;for(let h=0;h<t.values.length;h++){let d=rE(h,t.values[h]);s.push({name:"offset_"+h,type:"USHORT",value:c}),c+=d.sizeOf(),o=o.concat(d.fields)}return n.fields=n.fields.concat(s),n.fields=n.fields.concat(o),n}var Bc={make:iE,parse:eE};function nE(t,n){return new $.Record("axisValueMap_"+t,[{name:"fromCoordinate_"+t,type:"F2DOT14",value:n.fromCoordinate},{name:"toCoordinate_"+t,type:"F2DOT14",value:n.toCoordinate}])}function sE(t,n){let s=new $.Record("segmentMap_"+t,[{name:"positionMapCount_"+t,type:"USHORT",value:n.axisValueMaps.length}]),o=[];for(let c=0;c<n.axisValueMaps.length;c++){let h=nE(`${t}_${c}`,n.axisValueMaps[c]);o=o.concat(h.fields)}return s.fields=s.fields.concat(o),s}function aE(t,n){G.argument(t.axisSegmentMaps.length===n.axes.length,"avar axis count must correspond to fvar axis count");let s=new $.Table("avar",[{name:"majorVersion",type:"USHORT",value:1},{name:"minorVersion",type:"USHORT",value:0},{name:"reserved",type:"USHORT",value:0},{name:"axisCount",type:"USHORT",value:t.axisSegmentMaps.length}]);for(let o=0;o<t.axisSegmentMaps.length;o++){let c=sE(o,t.axisSegmentMaps[o]);s.fields=s.fields.concat(c.fields)}return s}function oE(t,n,s){n||(n=0);let o=new V(t,n),c=o.parseUShort(),h=o.parseUShort();c!==1&&console.warn(`Unsupported avar table version ${c}.${h}`),o.skip("uShort",1);let d=o.parseUShort();G.argument(d===s.axes.length,"avar axis count must correspond to fvar axis count");let B=[];for(let w=0;w<d;w++){let x=[],C=o.parseUShort();for(let S=0;S<C;S++){let T=o.parseF2Dot14(),k=o.parseF2Dot14();x.push({fromCoordinate:T,toCoordinate:k})}B.push({axisValueMaps:x})}return{version:[c,h],axisSegmentMaps:B}}var Ec={make:aE,parse:oE};function AE(t,n,s,o){let c=new he.Parser(t,n),h=c.parseTupleVariationStore(c.relativeOffset,s.axes.length,"cvar",o),d=c.parseUShort(),B=c.parseUShort();return d!==1&&console.warn(`Unsupported cvar table version ${d}.${B}`),{version:[d,B],...h}}function lE(){console.warn("Writing of cvar tables is not yet supported.")}var wc={make:lE,parse:AE};function cE(t,n,s,o){let c=new he.Parser(t,n),h=c.parseUShort(),d=c.parseUShort();h!==1&&console.warn(`Unsupported gvar table version ${h}.${d}`);let B=c.parseUShort();B!==s.axes.length&&console.warn(`axisCount ${B} in gvar table does not match the number of axes ${s.axes.length} in the fvar table!`);let w=c.parseUShort(),x=c.parsePointer32(function(){return this.parseTupleRecords(w,B)}),C=c.parseTupleVariationStoreList(B,"gvar",o);return{version:[h,d],sharedTuples:x,glyphVariations:C}}function uE(){console.warn("Writing of gvar tables is not yet supported.")}var yc={make:uE,parse:cE};function hE(t,n){let s={},o=new he.Parser(t,n);s.version=o.parseUShort(),G.argument(s.version<=1,"Unsupported gasp table version."),s.numRanges=o.parseUShort(),s.gaspRanges=[];for(let c=0;c<s.numRanges;c++)s.gaspRanges[c]={rangeMaxPPEM:o.parseUShort(),rangeGaspBehavior:o.parseUShort()};return s}function pE(t){let n=new $.Table("gasp",[{name:"version",type:"USHORT",value:1},{name:"numRanges",type:"USHORT",value:t.numRanges}]);for(let s in t.gaspRanges)n.fields.push({name:"rangeMaxPPEM",type:"USHORT",value:t.gaspRanges[s].rangeMaxPPEM}),n.fields.push({name:"rangeGaspBehavior",type:"USHORT",value:t.gaspRanges[s].rangeGaspBehavior});return n}var Cc={parse:hE,make:pE};function fE(t,n){let s=new Map,o=t.buffer,c=new V(t,n);if(c.parseUShort()!==0)return s;c.relativeOffset=c.parseOffset32();let d=t.byteOffset+n+c.relativeOffset,B=c.parseUShort(),w=new Map;for(let x=0;x<B;x++){let C=c.parseUShort(),S=c.parseUShort(),T=d+c.parseOffset32(),k=c.parseULong(),U=w.get(T);U===void 0&&(U=new Uint8Array(o,T,k),w.set(T,U));for(let L=C;L<=S;L++)s.set(L,U)}return s}function dE(t){let n=Array.from(t.keys()).sort(),s=[],o=[],c=new Map,h=0,d={endGlyphID:null};for(let T=0,k=n.length;T<k;T++){let U=n[T],L=t.get(U),ee=c.get(L);ee===void 0&&(ee=h,o.push(L),c.set(L,ee),h+=L.byteLength),U-1===d.endGlyphID&&ee===d.svgDocOffset?d.endGlyphID=U:(d={startGlyphID:U,endGlyphID:U,svgDocOffset:ee,svgDocLength:L.byteLength},s.push(d))}let B=s.length,w=o.length,x=2+B*12,C=new Array(4+B*4+w),S=0;C[S++]={name:"version",type:"USHORT",value:0},C[S++]={name:"svgDocumentListOffset",type:"ULONG",value:10},C[S++]={name:"reserved",type:"ULONG",value:0},C[S++]={name:"numEntries",type:"USHORT",value:B};for(let T=0;T<B;T++){let k="documentRecord_"+T,{startGlyphID:U,endGlyphID:L,svgDocOffset:ee,svgDocLength:Te}=s[T];C[S++]={name:k+"_startGlyphID",type:"USHORT",value:U},C[S++]={name:k+"_endGlyphID",type:"USHORT",value:L},C[S++]={name:k+"_svgDocOffset",type:"ULONG",value:x+ee},C[S++]={name:k+"_svgDocLength",type:"ULONG",value:Te}}for(let T=0;T<w;T++)C[S++]={name:"svgDoc_"+T,type:"LITERAL",value:o[T]};return new $.Table("SVG ",C)}var bc={make:dE,parse:fE};function xc(t){return Math.log(t)/Math.log(2)|0}function ja(t){for(;t.length%4!==0;)t.push(0);let n=0;for(let s=0;s<t.length;s+=4)n+=(t[s]<<24)+(t[s+1]<<16)+(t[s+2]<<8)+t[s+3];return n%=Math.pow(2,32),n}function Qc(t,n,s,o){return new $.Record("Table Record",[{name:"tag",type:"TAG",value:t!==void 0?t:""},{name:"checkSum",type:"ULONG",value:n!==void 0?n:0},{name:"offset",type:"ULONG",value:s!==void 0?s:0},{name:"length",type:"ULONG",value:o!==void 0?o:0}])}function vc(t){let n=new $.Table("sfnt",[{name:"version",type:"TAG",value:"OTTO"},{name:"numTables",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0}]);n.tables=t,n.numTables=t.length;let s=Math.pow(2,xc(n.numTables));n.searchRange=16*s,n.entrySelector=xc(s),n.rangeShift=n.numTables*16-n.searchRange;let o=[],c=[],h=n.sizeOf()+Qc().sizeOf()*n.numTables;for(;h%4!==0;)h+=1,c.push({name:"padding",type:"BYTE",value:0});for(let d=0;d<t.length;d+=1){let B=t[d];G.argument(B.tableName.length===4,"Table name"+B.tableName+" is invalid.");let w=B.sizeOf(),x=Qc(B.tableName,ja(B.encode()),h,w);for(o.push({name:x.tag+" Table Record",type:"RECORD",value:x}),c.push({name:B.tableName+" table",type:"RECORD",value:B}),h+=w,G.argument(!isNaN(h),"Something went wrong calculating the offset.");h%4!==0;)h+=1,c.push({name:"padding",type:"BYTE",value:0})}return o.sort(function(d,B){return d.value.tag>B.value.tag?1:-1}),n.fields=n.fields.concat(o),n.fields=n.fields.concat(c),n}function Ic(t,n,s){for(let o=0;o<n.length;o+=1){let c=t.charToGlyphIndex(n[o]);if(c>0)return t.glyphs.get(c).getMetrics()}return s}function gE(t){let n=0;for(let s=0;s<t.length;s+=1)n+=t[s];return n/t.length}function mE(t){let n=[],s=[],o=[],c=[],h=[],d=[],B=[],w,x=0,C=0,S=0,T=0,k=0;for(let at=0;at<t.glyphs.length;at+=1){let Ot=t.glyphs.get(at),Xt=Ot.unicode|0;if(isNaN(Ot.advanceWidth))throw new Error("Glyph "+Ot.name+" ("+at+"): advanceWidth is not a number.");(w>Xt||w===void 0)&&Xt>0&&(w=Xt),x<Xt&&(x=Xt);let or=Va.getUnicodeRange(Xt);if(or<32)C|=1<<or;else if(or<64)S|=1<<or-32;else if(or<96)T|=1<<or-64;else if(or<123)k|=1<<or-96;else throw new Error("Unicode ranges bits > 123 are reserved for internal usage");if(Ot.name===".notdef")continue;let Mr=Ot.getMetrics();n.push(Mr.xMin),s.push(Mr.yMin),o.push(Mr.xMax),c.push(Mr.yMax),d.push(Mr.leftSideBearing),B.push(Mr.rightSideBearing),h.push(Ot.advanceWidth)}let U={xMin:Math.min.apply(null,n),yMin:Math.min.apply(null,s),xMax:Math.max.apply(null,o),yMax:Math.max.apply(null,c),advanceWidthMax:Math.max.apply(null,h),advanceWidthAvg:gE(h),minLeftSideBearing:Math.min.apply(null,d),maxLeftSideBearing:Math.max.apply(null,d),minRightSideBearing:Math.min.apply(null,B)};U.ascender=t.ascender,U.descender=t.descender;let L=0;t.weightClass>=600&&(L|=t.macStyleValues.BOLD),t.italicAngle<0&&(L|=t.macStyleValues.ITALIC);let ee=Ac.make({flags:3,unitsPerEm:t.unitsPerEm,xMin:U.xMin,yMin:U.yMin,xMax:U.xMax,yMax:U.yMax,lowestRecPPEM:3,macStyle:L,createdTimestamp:t.createdTimestamp}),Te=lc.make({ascender:U.ascender,descender:U.descender,advanceWidthMax:U.advanceWidthMax,minLeftSideBearing:U.minLeftSideBearing,minRightSideBearing:U.minRightSideBearing,xMaxExtent:U.maxLeftSideBearing+(U.xMax-U.xMin),numberOfHMetrics:t.glyphs.length}),xe=hc.make(t.glyphs.length),Re=Va.make(Object.assign({xAvgCharWidth:Math.round(U.advanceWidthAvg),usFirstCharIndex:w,usLastCharIndex:x,ulUnicodeRange1:C,ulUnicodeRange2:S,ulUnicodeRange3:T,ulUnicodeRange4:k,sTypoAscender:U.ascender,sTypoDescender:U.descender,sTypoLineGap:0,usWinAscent:U.yMax,usWinDescent:Math.abs(U.yMin),ulCodePageRange1:1,sxHeight:Ic(t,"xyvw",{yMax:Math.round(U.ascender/2)}).yMax,sCapHeight:Ic(t,"HIKLEFJMNTZBDPRAGOQSUVWXY",U).yMax,usDefaultChar:t.hasChar(" ")?32:0,usBreakChar:t.hasChar(" ")?32:0},t.tables.os2)),Je=cc.make(t.glyphs),$e=Wl.make(t.glyphs),nt=t.getEnglishName("fontFamily"),st=t.getEnglishName("fontSubfamily"),Bt=nt+" "+st,sr=t.getEnglishName("postScriptName");sr||(sr=nt.replace(/\s/g,"")+"-"+st);let Ve={};for(let at in t.names)Ve[at]=t.names[at];Ve.unicode=Ve.unicode||{},Ve.macintosh=Ve.macintosh||{},Ve.windows=Ve.windows||{};let Vt=t.names.unicode||{},Dt=t.names.macintosh||{},Se=t.names.windows||{};for(let at in Ve){if(Ve[at]=Ve[at]||{},!Ve[at].uniqueID){let Ot=t.getEnglishName("manufacturer")||"";Ve[at].uniqueID={en:`${Ot}: ${Bt}`}}Ve[at].postScriptName||(Ve[at].postScriptName={en:sr})}Ve.unicode.preferredFamily||(Ve.unicode.preferredFamily=Vt.fontFamily||Dt.fontFamily||Se.fontFamily),Ve.macintosh.preferredFamily||(Ve.macintosh.preferredFamily=Dt.fontFamily||Vt.fontFamily||Se.fontFamily),Ve.windows.preferredFamily||(Ve.windows.preferredFamily=Se.fontFamily||Vt.fontFamily||Dt.fontFamily),Ve.unicode.preferredSubfamily||(Ve.unicode.preferredSubfamily=Vt.fontSubfamily||Dt.fontSubfamily||Se.fontSubfamily),Ve.macintosh.preferredSubfamily||(Ve.macintosh.preferredSubfamily=Dt.fontSubfamily||Vt.fontSubfamily||Se.fontSubfamily),Ve.windows.preferredSubfamily||(Ve.windows.preferredSubfamily=Se.fontSubfamily||Vt.fontSubfamily||Dt.fontSubfamily);let we=[],Ce=dn.make(Ve,we),vt=we.length>0?uc.make(we):void 0,$r=pc.make(t),vs=Wa.make(t.glyphs,{version:t.getEnglishName("version"),fullName:Bt,familyName:nt,weightName:st,postScriptName:sr,unitsPerEm:t.unitsPerEm,fontBBox:[0,U.yMin,U.ascender,U.advanceWidthMax],topDict:t.tables.cff&&t.tables.cff.topDict||{}}),mi=t.metas&&Object.keys(t.metas).length>0?dc.make(t.metas):void 0,ar=[ee,Te,xe,Re,Ce,$e,$r,vs,Je];vt&&ar.push(vt);let Mt={gsub:fc,cpal:zl,colr:gc,stat:Bc,avar:Ec,cvar:wc,fvar:mc,gvar:yc,gasp:Cc,svg:bc},zt={avar:[t.tables.fvar],fvar:[t.names]};for(let at in Mt){let Ot=t.tables[at];if(Ot){let Xt=Mt[at].make.call(t,Ot,...zt[at]||[]);Xt&&ar.push(Xt)}}mi&&ar.push(mi);let It=vc(ar),jt=It.encode(),Ut=ja(jt),Nt=It.fields,gt=!1;for(let at=0;at<Nt.length;at+=1)if(Nt[at].name==="head table"){Nt[at].value.checkSumAdjustment=2981146554-Ut,gt=!0;break}if(!gt)throw new Error("Could not find head table with checkSum to adjust.");return It}var BE={make:vc,fontToTable:mE,computeCheckSum:ja};function _a(t,n){let s=0,o=t.length-1;for(;s<=o;){let c=s+o>>>1,h=t[c].tag;if(h===n)return c;h<n?s=c+1:o=c-1}return-s-1}function Fc(t,n){let s=0,o=t.length-1;for(;s<=o;){let c=s+o>>>1,h=t[c];if(h===n)return c;h<n?s=c+1:o=c-1}return-s-1}function Tc(t,n){let s,o=0,c=t.length-1;for(;o<=c;){let h=o+c>>>1;s=t[h];let d=s.start;if(d===n)return s;d<n?o=h+1:c=h-1}if(o>0)return s=t[o-1],n>s.end?0:s}function Sc(t,n){this.font=t,this.tableName=n}Sc.prototype={searchTag:_a,binSearch:Fc,getTable:function(t){let n=this.font.tables[this.tableName];return!n&&t&&(n=this.font.tables[this.tableName]=this.createDefaultTable()),n},getScriptNames:function(){let t=this.getTable();return t?t.scripts.map(function(n){return n.tag}):[]},getDefaultScriptName:function(){let t=this.getTable();if(!t)return;let n=!1;for(let s=0;s<t.scripts.length;s++){let o=t.scripts[s].tag;if(o==="DFLT")return o;o==="latn"&&(n=!0)}if(n)return"latn"},getScriptTable:function(t,n){let s=this.getTable(n);if(s){t=t||"DFLT";let o=s.scripts,c=_a(s.scripts,t);if(c>=0)return o[c].script;if(n){let h={tag:t,script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}};return o.splice(-1-c,0,h),h.script}}},getLangSysTable:function(t,n,s){let o=this.getScriptTable(t,s);if(o){if(!n||n==="dflt"||n==="DFLT")return o.defaultLangSys;let c=_a(o.langSysRecords,n);if(c>=0)return o.langSysRecords[c].langSys;if(s){let h={tag:n,langSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]}};return o.langSysRecords.splice(-1-c,0,h),h.langSys}}},getFeatureTable:function(t,n,s,o){let c=this.getLangSysTable(t,n,o);if(c){let h,d=c.featureIndexes,B=this.font.tables[this.tableName].features;for(let w=0;w<d.length;w++)if(h=B[d[w]],h.tag===s)return h.feature;if(o){let w=B.length;return G.assert(w===0||s>=B[w-1].tag,"Features must be added in alphabetical order."),h={tag:s,feature:{params:0,lookupListIndexes:[]}},B.push(h),d.push(w),h.feature}}},getLookupTables:function(t,n,s,o,c){let h=this.getFeatureTable(t,n,s,c),d=[];if(h){let B,w=h.lookupListIndexes,x=this.font.tables[this.tableName].lookups;for(let C=0;C<w.length;C++)B=x[w[C]],B.lookupType===o&&d.push(B);if(d.length===0&&c){B={lookupType:o,lookupFlag:0,subtables:[],markFilteringSet:void 0};let C=x.length;return x.push(B),w.push(C),[B]}}return d},getGlyphClass:function(t,n){switch(t.format){case 1:return t.startGlyph<=n&&n<t.startGlyph+t.classes.length?t.classes[n-t.startGlyph]:0;case 2:{let s=Tc(t.ranges,n);return s?s.classId:0}}},getCoverageIndex:function(t,n){switch(t.format){case 1:{let s=Fc(t.glyphs,n);return s>=0?s:-1}case 2:{let s=Tc(t.ranges,n);return s?s.index+n-s.start:-1}}},expandCoverage:function(t){if(t.format===1)return t.glyphs;{let n=[],s=t.ranges;for(let o=0;o<s.length;o++){let c=s[o],h=c.start,d=c.end;for(let B=h;B<=d;B++)n.push(B)}return n}}};var ms=Sc;function En(t){ms.call(this,t,"gpos")}En.prototype=ms.prototype,En.prototype.init=function(){let t=this.getDefaultScriptName();this.defaultKerningTables=this.getKerningTables(t)},En.prototype.getKerningValue=function(t,n,s){for(let o=0;o<t.length;o++){let c=t[o].subtables;for(let h=0;h<c.length;h++){let d=c[h],B=this.getCoverageIndex(d.coverage,n);if(!(B<0))switch(d.posFormat){case 1:{let w=d.pairSets[B];for(let x=0;x<w.length;x++){let C=w[x];if(C.secondGlyph===s)return C.value1&&C.value1.xAdvance||0}break}case 2:{let w=this.getGlyphClass(d.classDef1,n),x=this.getGlyphClass(d.classDef2,s),C=d.classRecords[w][x];return C.value1&&C.value1.xAdvance||0}}}}return 0},En.prototype.getKerningTables=function(t,n){if(this.font.tables.gpos)return this.getLookupTables(t,n,"kern",2)};var EE=En;function wE(t,n){let s=t.length;if(s!==n.length)return!1;for(let o=0;o<s;o++)if(t[o]!==n[o])return!1;return!0}function yE(t,n,s){let o=0,c=t.length-1,h=null;for(;o<=c;){let d=Math.floor((o+c)/2),B=t[d],w=B[n];if(w<s)o=d+1;else if(w>s)c=d-1;else{h=B;break}}return h}function CE(t,n,s){let o=0,c=t.length-1;for(;o<=c;){let h=Math.floor((o+c)/2),d=t[h];if(d[n]<s)o=h+1;else if(d[n]>s)c=h-1;else return h}return-1}function bE(t,n,s){let o=0,c=t.length,h=(d,B)=>d[n]-B[n];for(;o<c;){let d=o+c>>>1;h(t[d],s)<0?o=d+1:c=d}return t.splice(o,0,s),o}function Dc(t){return t[0]===31&&t[1]===139&&t[2]===8}function xE(t){let n=new DataView(t.buffer,t.byteOffset,t.byteLength),s=10,o=t.byteLength-8,c=n.getInt8(3);if(c&4&&(s+=2+n.getUint16(s,!0)),c&8)for(;s<o&&t[s++]!==0;);if(c&16)for(;s<o&&t[s++]!==0;);if(c&2&&(s+=2),s>=o)throw new Error("Can't find compressed blocks");let h=n.getUint32(n.byteLength-4,!0);return pe(t.subarray(s,o),new Uint8Array(h))}function Mc(t){return{x:t.x,y:t.y,onCurve:t.onCurve,lastPointOfContour:t.lastPointOfContour}}function QE(t){return{glyphIndex:t.glyphIndex,xScale:t.xScale,scale01:t.scale01,scale10:t.scale10,yScale:t.yScale,dx:t.dx,dy:t.dy}}function Wt(t){ms.call(this,t,"gsub")}function Za(t,n,s){let o=t.subtables;for(let c=0;c<o.length;c++){let h=o[c];if(h.substFormat===n)return h}if(s)return o.push(s),s}Wt.prototype=ms.prototype,Wt.prototype.createDefaultTable=function(){return{version:1,scripts:[{tag:"DFLT",script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}}],features:[],lookups:[]}},Wt.prototype.getSingle=function(t,n,s){let o=[],c=this.getLookupTables(n,s,t,1);for(let h=0;h<c.length;h++){let d=c[h].subtables;for(let B=0;B<d.length;B++){let w=d[B],x=this.expandCoverage(w.coverage),C;if(w.substFormat===1){let S=w.deltaGlyphId;for(C=0;C<x.length;C++){let T=x[C];o.push({sub:T,by:T+S})}}else{let S=w.substitute;for(C=0;C<x.length;C++)o.push({sub:x[C],by:S[C]})}}}return o},Wt.prototype.getMultiple=function(t,n,s){let o=[],c=this.getLookupTables(n,s,t,2);for(let h=0;h<c.length;h++){let d=c[h].subtables;for(let B=0;B<d.length;B++){let w=d[B],x=this.expandCoverage(w.coverage),C;for(C=0;C<x.length;C++){let S=x[C],T=w.sequences[C];o.push({sub:S,by:T})}}}return o},Wt.prototype.getAlternates=function(t,n,s){let o=[],c=this.getLookupTables(n,s,t,3);for(let h=0;h<c.length;h++){let d=c[h].subtables;for(let B=0;B<d.length;B++){let w=d[B],x=this.expandCoverage(w.coverage),C=w.alternateSets;for(let S=0;S<x.length;S++)o.push({sub:x[S],by:C[S]})}}return o},Wt.prototype.getLigatures=function(t,n,s){let o=[],c=this.getLookupTables(n,s,t,4);for(let h=0;h<c.length;h++){let d=c[h].subtables;for(let B=0;B<d.length;B++){let w=d[B],x=this.expandCoverage(w.coverage),C=w.ligatureSets;for(let S=0;S<x.length;S++){let T=x[S],k=C[S];for(let U=0;U<k.length;U++){let L=k[U];o.push({sub:[T].concat(L.components),by:L.ligGlyph})}}}}return o},Wt.prototype.addSingle=function(t,n,s,o){let c=this.getLookupTables(s,o,t,1,!0)[0],h=Za(c,2,{substFormat:2,coverage:{format:1,glyphs:[]},substitute:[]});G.assert(h.coverage.format===1,"Single: unable to modify coverage table format "+h.coverage.format);let d=n.sub,B=this.binSearch(h.coverage.glyphs,d);B<0&&(B=-1-B,h.coverage.glyphs.splice(B,0,d),h.substitute.splice(B,0,0)),h.substitute[B]=n.by},Wt.prototype.addMultiple=function(t,n,s,o){G.assert(n.by instanceof Array&&n.by.length>1,'Multiple: "by" must be an array of two or more ids');let c=this.getLookupTables(s,o,t,2,!0)[0],h=Za(c,1,{substFormat:1,coverage:{format:1,glyphs:[]},sequences:[]});G.assert(h.coverage.format===1,"Multiple: unable to modify coverage table format "+h.coverage.format);let d=n.sub,B=this.binSearch(h.coverage.glyphs,d);B<0&&(B=-1-B,h.coverage.glyphs.splice(B,0,d),h.sequences.splice(B,0,0)),h.sequences[B]=n.by},Wt.prototype.addAlternate=function(t,n,s,o){let c=this.getLookupTables(s,o,t,3,!0)[0],h=Za(c,1,{substFormat:1,coverage:{format:1,glyphs:[]},alternateSets:[]});G.assert(h.coverage.format===1,"Alternate: unable to modify coverage table format "+h.coverage.format);let d=n.sub,B=this.binSearch(h.coverage.glyphs,d);B<0&&(B=-1-B,h.coverage.glyphs.splice(B,0,d),h.alternateSets.splice(B,0,0)),h.alternateSets[B]=n.by},Wt.prototype.addLigature=function(t,n,s,o){let c=this.getLookupTables(s,o,t,4,!0)[0],h=c.subtables[0];h||(h={substFormat:1,coverage:{format:1,glyphs:[]},ligatureSets:[]},c.subtables[0]=h),G.assert(h.coverage.format===1,"Ligature: unable to modify coverage table format "+h.coverage.format);let d=n.sub[0],B=n.sub.slice(1),w={ligGlyph:n.by,components:B},x=this.binSearch(h.coverage.glyphs,d);if(x>=0){let C=h.ligatureSets[x];for(let S=0;S<C.length;S++)if(wE(C[S].components,B))return;C.push(w)}else x=-1-x,h.coverage.glyphs.splice(x,0,d),h.ligatureSets.splice(x,0,[w])},Wt.prototype.getFeature=function(t,n,s){if(/ss\d\d/.test(t))return this.getSingle(t,n,s);switch(t){case"aalt":case"salt":return this.getSingle(t,n,s).concat(this.getAlternates(t,n,s));case"dlig":case"liga":case"rlig":return this.getLigatures(t,n,s);case"ccmp":return this.getMultiple(t,n,s).concat(this.getLigatures(t,n,s));case"stch":return this.getMultiple(t,n,s)}},Wt.prototype.add=function(t,n,s,o){if(/ss\d\d/.test(t))return this.addSingle(t,n,s,o);switch(t){case"aalt":case"salt":return typeof n.by=="number"?this.addSingle(t,n,s,o):this.addAlternate(t,n,s,o);case"dlig":case"liga":case"rlig":return this.addLigature(t,n,s,o);case"ccmp":return n.by instanceof Array?this.addMultiple(t,n,s,o):this.addLigature(t,n,s,o)}};var vE=Wt,Uc=class{constructor(t){this.defaultValue=255,this.font=t}cpal(){return this.font.tables&&this.font.tables.cpal?this.font.tables.cpal:!1}getAll(t){let n=[],s=this.cpal();if(!s)return n;for(let o=0;o<s.colorRecordIndices.length;o++){let c=s.colorRecordIndices[o],h=[];for(let d=c;d<c+s.numPaletteEntries;d++)h.push(Mi(s.colorRecords[d],t||"hexa"));n.push(h)}return n}toCPALcolor(t){return Array.isArray(t)?t.map(n=>fs(n,"raw")):fs(t,"raw")}fillPalette(t,n=[],s=this.cpal().numPaletteEntries){return t=Number.isInteger(t)?this.get(t,"raw"):t,Object.assign(Array(s).fill(this.defaultValue),this.toCPALcolor(t).concat(this.toCPALcolor(n)))}extend(t){if(this.ensureCPAL(Array(t).fill(this.defaultValue)))return;let n=this.cpal(),s=n.numPaletteEntries+t,o=this.getAll().map(c=>this.fillPalette(c,[],s));n.numPaletteEntries=s,n.colorRecords=this.toCPALcolor(o.flat()),this.updateIndices()}get(t,n="hexa"){return this.getAll(n)[t]||null}getColor(t,n=0,s="hexa"){return Oa(this.font,t,n,s)}setColor(t,n,s=0){t=parseInt(t),s=parseInt(s);let o=this.getAll("raw"),c=o[s];if(!c)throw Error(`paletteIndex ${s} out of range`);let h=this.cpal(),d=h.numPaletteEntries;Array.isArray(n)||(n=[n]),n.length+t>d&&(this.extend(n.length+t-d),o=this.getAll("raw"),c=o[s]);for(let B=0;B<n.length;B++)c[B+t]=this.toCPALcolor(n[B]);h.colorRecords=o.flat(),this.updateIndices()}add(t){if(this.ensureCPAL(t))return;let n=this.cpal(),s=n.numPaletteEntries;t&&t.length?(t=this.toCPALcolor(t),t.length>s?this.extend(t.length-s):t.length<s&&(t=this.fillPalette(t)),n.colorRecordIndices.push(n.colorRecords.length),n.colorRecords.push(...t)):(n.colorRecordIndices.push(n.colorRecords.length),n.colorRecords.push(...Array(s).fill(this.defaultValue)))}delete(t){let n=this.getAll("raw");delete n[t];let s=this.cpal();s.colorRecordIndices.pop(),s.colorRecords=n.flat()}deleteColor(t,n){if(t===n)throw Error("replacementIndex cannot be the same as colorIndex");let s=this.cpal(),o=this.getAll("raw"),c=[];if(n>s.numPaletteEntries-1)throw Error(`Replacement index out of range: numPaletteEntries after deletion: ${s.numPaletteEntries-1}, replacementIndex: ${n})`);for(let B=0;B<o.length;B++){let x=o[B].filter((C,S)=>S!==t);c.push(x)}let h=this.font.tables.colr;if(h){let B=h.layerRecords;for(let w=0;w<B.length;w++){let x=B[w].paletteIndex;if(x>t)B[w].paletteIndex-=1;else if(x===t){let C=0;for(let S=0;S<o.length;S++)if(n>t&&n<=t+o[S].length){C++;break}B[w].paletteIndex=n-C}}this.font.tables.colr={...h,layerRecords:B}}let d=c.flat();for(let B=0;B<o.length;B++)s.colorRecordIndices[B]-=B;s.numPaletteEntries=Math.max(0,s.numPaletteEntries-1),s.colorRecords=this.toCPALcolor(d)}ensureCPAL(t){return this.cpal()?!1:(!t||!t.length?t=[this.defaultValue]:t=this.toCPALcolor(t),this.font.tables.cpal={version:0,numPaletteEntries:t.length,colorRecords:t,colorRecordIndices:[0]},!0)}updateIndices(){let t=this.cpal(),n=Math.ceil(t.colorRecords.length/t.numPaletteEntries);t.colorRecordIndices=[];for(let s=0;s<n;s++)t.colorRecordIndices.push(s*t.numPaletteEntries)}},IE=class{constructor(t){this.font=t}ensureCOLR(){return this.font.tables.colr||(this.font.tables.colr={version:0,baseGlyphRecords:[],layerRecords:[]}),this.font}get(t){let n=this.font,s=[],o=n.tables.colr,c=n.tables.cpal;if(!o||!c)return s;let h=yE(o.baseGlyphRecords,"glyphID",t);if(!h)return s;let d=h.firstLayerIndex,B=h.numLayers;for(let w=0;w<B;w++){let x=o.layerRecords[d+w];s.push({glyph:n.glyphs.get(x.glyphID),paletteIndex:x.paletteIndex})}return s}add(t,n,s){let o=this.get(t);n=Array.isArray(n)?n:[n],s===void 0||s===1/0||s>o.length?s=o.length:s<0&&(s=o.length+1+s%(o.length+1),s>=o.length+1&&(s-=o.length+1));let c=[];for(let h=0;h<s;h++){let d=Number.isInteger(o[h].glyph)?o[h].glyph:o[h].glyph.index;c.push({glyphID:d,paletteIndex:o[h].paletteIndex})}for(let h of n){let d=Number.isInteger(h.glyph)?h.glyph:h.glyph.index;c.push({glyphID:d,paletteIndex:h.paletteIndex})}for(let h=s;h<o.length;h++){let d=Number.isInteger(o[h].glyph)?o[h].glyph:o[h].glyph.index;c.push({glyphID:d,paletteIndex:o[h].paletteIndex})}this.updateColrTable(t,c)}setPaletteIndex(t,n,s){let o=this.get(t);o[n]?(o=o.map((c,h)=>({glyphID:c.glyph.index,paletteIndex:h===n?s:c.paletteIndex})),this.updateColrTable(t,o)):console.error("Invalid layer index")}remove(t,n,s=n){let o=this.get(t);o=o.map(c=>({glyphID:c.glyph.index,paletteIndex:c.paletteIndex})),o.splice(n,s-n+1),this.updateColrTable(t,o)}updateColrTable(t,n){this.ensureCOLR();let o=this.font.tables.colr,c=CE(o.baseGlyphRecords,"glyphID",t);if(c===-1){let C={glyphID:t,firstLayerIndex:o.layerRecords.length,numLayers:0};c=bE(o.baseGlyphRecords,"glyphID",C)}let d=o.baseGlyphRecords[c],B=d.numLayers,w=n.length,x=w-B;if(x>0){let C=n.slice(B).map(S=>({glyphID:S.glyphID,paletteIndex:S.paletteIndex}));o.layerRecords.splice(d.firstLayerIndex+B,0,...C)}else x<0&&o.layerRecords.splice(d.firstLayerIndex+w,-x);for(let C=0;C<Math.min(B,w);C++)o.layerRecords[d.firstLayerIndex+C]={glyphID:n[C].glyphID,paletteIndex:n[C].paletteIndex};if(d.numLayers=w,x!==0)for(let C=0;C<o.baseGlyphRecords.length;C++){let S=o.baseGlyphRecords[C];C===c||S.firstLayerIndex<d.firstLayerIndex||(o.baseGlyphRecords[C].firstLayerIndex+=x)}}},FE=class{constructor(t){this.font=t,this.cache=new WeakMap}get(t){let n=this.getOrCreateSvgImageCacheEntry(t);return n&&n.image}getAsync(t){let n=this.getOrCreateSvgImageCacheEntry(t);return n&&n.promise}getOrCreateSvgImageCacheEntry(t){let n=this.font.tables.svg;if(n===void 0)return;let s=n.get(t);if(s===void 0)return;let o=this.cache.get(s);o===void 0&&(o=TE(s),this.cache.set(s,o));let c=o.images.get(t);return c===void 0&&(c=SE(this.font,o.template,t),c.promise.then(h=>{if(c.image=h,typeof this.font.onGlyphUpdated=="function")try{this.font.onGlyphUpdated(t)}catch(d){console.error("font.onGlyphUpdated",t,d)}}),o.images.set(t,c)),c}};function TE(t){return{template:DE(t).then(NE),images:new Map}}function SE(t,n,s){return{promise:n.then(o=>{let c;typeof o=="string"?c=o:(o[4]=s,c=o.join(""));let h=kE(c,t.unitsPerEm);return h.image.decode().then(()=>h)}),image:void 0}}var DE=typeof DecompressionStream=="function"?UE:ME;function ME(t){try{return Promise.resolve(new TextDecoder().decode(Dc(t)?xE(t):t))}catch(n){return Promise.reject(n)}}function UE(t){if(Dc(t))return new Response(new Response(t).body.pipeThrough(new DecompressionStream("gzip"))).text();try{return Promise.resolve(new TextDecoder().decode(t))}catch(n){return Promise.reject(n)}}function NE(t){let n=t.indexOf("<svg"),s=t.indexOf(">",n+4)+1;if(/ id=['"]glyph\d+['"]/.test(t.substring(n,s)))return t;let o=t.lastIndexOf("</svg>");return[t.substring(0,s),"<defs>",t.substring(s,o),'</defs><use href="#glyph',"",'"/>',t.substring(o)]}function kE(t,n){let o=new DOMParser().parseFromString(t,"image/svg+xml").documentElement,c=o.viewBox.baseVal,h=o.width.baseVal,d=o.height.baseVal,B=1,w=1;c.width>0&&c.height>0&&(h.unitType===1?(B=h.valueInSpecifiedUnits/c.width,w=d.unitType===1?d.valueInSpecifiedUnits/c.height:B):d.unitType===1?(w=d.valueInSpecifiedUnits/c.height,B=w):n&&(B=n/c.width,w=n/c.height));let x=document.createElement("div");x.style.position="fixed",x.style.visibility="hidden",x.appendChild(o),document.body.appendChild(x);let C=o.getBBox();document.body.removeChild(x);let S=(C.x-c.x)*B,T=(c.y-C.y)*w,k=C.width*B,U=C.height*w;o.setAttribute("viewBox",[C.x,C.y,C.width,C.height].join(" ")),B!==1&&o.setAttribute("width",k),w!==1&&o.setAttribute("height",U);let L=new Image(k,U);return L.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(o.outerHTML),{leftSideBearing:S,baseline:T,image:L}}var za=new WeakMap;function Nc(t,n,s,o,c){let h;return(n&o)>0?(h=t.parseByte(),(n&c)===0&&(h=-h),h=s+h):(n&c)>0?h=s:h=s+t.parseShort(),h}function kc(t,n,s){let o=new he.Parser(n,s);t._numberOfContours=o.parseShort(),t._xMin=o.parseShort(),t._yMin=o.parseShort(),t._xMax=o.parseShort(),t._yMax=o.parseShort();let c,h;if(t._numberOfContours>0){let d=t.endPointIndices=[];for(let w=0;w<t._numberOfContours;w+=1)d.push(o.parseUShort());t.instructionLength=o.parseUShort(),t.instructions=[];for(let w=0;w<t.instructionLength;w+=1)t.instructions.push(o.parseByte());let B=d[d.length-1]+1;c=[];for(let w=0;w<B;w+=1)if(h=o.parseByte(),c.push(h),(h&8)>0){let x=o.parseByte();for(let C=0;C<x;C+=1)c.push(h),w+=1}if(G.argument(c.length===B,"Bad flags."),d.length>0){let w=[],x;if(B>0){for(let T=0;T<B;T+=1)h=c[T],x={},x.onCurve=!!(h&1),x.lastPointOfContour=d.indexOf(T)>=0,w.push(x);let C=0;for(let T=0;T<B;T+=1)h=c[T],x=w[T],x.x=Nc(o,h,C,2,16),C=x.x;let S=0;for(let T=0;T<B;T+=1)h=c[T],x=w[T],x.y=Nc(o,h,S,4,32),S=x.y}t.points=w}else t.points=[]}else if(t._numberOfContours===0)t.points=[];else{t.isComposite=!0,t.points=[],t.components=[];let d=!0;for(;d;){c=o.parseUShort();let B={glyphIndex:o.parseUShort(),xScale:1,scale01:0,scale10:0,yScale:1,dx:0,dy:0};(c&1)>0?(c&2)>0?(B.dx=o.parseShort(),B.dy=o.parseShort()):B.matchedPoints=[o.parseUShort(),o.parseUShort()]:(c&2)>0?(B.dx=o.parseChar(),B.dy=o.parseChar()):B.matchedPoints=[o.parseByte(),o.parseByte()],(c&8)>0?B.xScale=B.yScale=o.parseF2Dot14():(c&64)>0?(B.xScale=o.parseF2Dot14(),B.yScale=o.parseF2Dot14()):(c&128)>0&&(B.xScale=o.parseF2Dot14(),B.scale01=o.parseF2Dot14(),B.scale10=o.parseF2Dot14(),B.yScale=o.parseF2Dot14()),t.components.push(B),d=!!(c&32)}if(c&256){t.instructionLength=o.parseUShort(),t.instructions=[];for(let B=0;B<t.instructionLength;B+=1)t.instructions.push(o.parseByte())}}}function Bs(t,n){let s=[];for(let o=0;o<t.length;o+=1){let c=t[o],h={x:n.xScale*c.x+n.scale10*c.y+n.dx,y:n.scale01*c.x+n.yScale*c.y+n.dy,onCurve:c.onCurve,lastPointOfContour:c.lastPointOfContour};s.push(h)}return s}function YE(t){let n=[],s=[];for(let o=0;o<t.length;o+=1){let c=t[o];s.push(c),c.lastPointOfContour&&(n.push(s),s=[])}return G.argument(s.length===0,"There are still points left in the current contour."),n}function Xa(t){let n=new X;if(!t)return n;let s=YE(t);for(let o=0;o<s.length;++o){let c=s[o],h=c[c.length-1],d=c[0];if(h.onCurve)n.moveTo(h.x,h.y);else if(d.onCurve)n.moveTo(d.x,d.y);else{let B={x:(h.x+d.x)*.5,y:(h.y+d.y)*.5};n.moveTo(B.x,B.y)}for(let B=0;B<c.length;++B)if(h=d,d=c[(B+1)%c.length],h.onCurve)n.lineTo(h.x,h.y);else{let w=d;d.onCurve||(w={x:(h.x+d.x)*.5,y:(h.y+d.y)*.5}),n.quadraticCurveTo(h.x,h.y,w.x,w.y)}n.closePath()}return n}function Yc(t,n){if(n.isComposite){za.has(t)||za.set(t,new Set);let s=za.get(t);s.add(n.index);try{for(let o=0;o<n.components.length;o+=1){let c=n.components[o];if(s.has(c.glyphIndex))continue;let h=t.get(c.glyphIndex);if(h.getPath(),h.points){let d;if(c.matchedPoints===void 0)d=Bs(h.points,c);else{if(c.matchedPoints[0]>n.points.length-1||c.matchedPoints[1]>h.points.length-1)throw Error("Matched points out of range in "+n.name);let B=n.points[c.matchedPoints[0]],w=h.points[c.matchedPoints[1]],x={xScale:c.xScale,scale01:c.scale01,scale10:c.scale10,yScale:c.yScale,dx:0,dy:0};w=Bs([w],x)[0],x.dx=B.x-w.x,x.dy=B.y-w.y,d=Bs(h.points,x)}n.points=n.points.concat(d)}}}finally{s.delete(n.index)}}return Xa(n.points)}function OE(t,n,s,o){let c=new dr.GlyphSet(o);for(let h=0;h<s.length-1;h+=1){let d=s[h],B=s[h+1];d!==B?c.push(h,dr.ttfGlyphLoader(o,h,kc,t,n+d,Yc)):c.push(h,dr.glyphLoader(o,h))}return c}function RE(t,n,s,o){let c=new dr.GlyphSet(o);return o._push=function(h){let d=s[h],B=s[h+1];d!==B?c.push(h,dr.ttfGlyphLoader(o,h,kc,t,n+d,Yc)):c.push(h,dr.glyphLoader(o,h))},c}function GE(t,n,s,o,c){return c.lowMemory?RE(t,n,s,o):OE(t,n,s,o)}var Oc={getPath:Xa,parse:GE},LE=class{constructor(t){this.font=t}normalizeCoordTags(t){for(let n in t)if(n.length<4){let s=n.padEnd(4," ");t[s]===void 0&&(t[s]=t[n]),delete t[n]}}getNormalizedCoords(t){t||(t=this.font.variation.get());let n=[];this.normalizeCoordTags(t);for(let s=0;s<this.fvar().axes.length;s++){let o=this.fvar().axes[s],c=t[o.tag];c===void 0&&(c=o.defaultValue),c<o.defaultValue?n.push((c-o.defaultValue+Number.EPSILON)/(o.defaultValue-o.minValue+Number.EPSILON)):n.push((c-o.defaultValue+Number.EPSILON)/(o.maxValue-o.defaultValue+Number.EPSILON))}if(this.avar())for(let s=0;s<this.avar().axisSegmentMaps.length;s++){let o=this.avar().axisSegmentMaps[s];for(let c=0;c<o.axisValueMaps.length;c++){let h=o.axisValueMaps[c];if(c>=1&&n[s]<h.fromCoordinate){let d=o.axisValueMaps[c-1];n[s]=((n[s]-d.fromCoordinate)*(h.toCoordinate-d.toCoordinate)+Number.EPSILON)/(h.fromCoordinate-d.fromCoordinate+Number.EPSILON)+d.toCoordinate;break}}}return n}interpolatePoints(t,n,s){if(t.length===0)return;let o=0;for(;o<t.length;){let c=o,h=o,d=t[h];for(;!d.lastPointOfContour;)d=t[++h];for(;o<=h&&!s[o];)o++;if(o>h)continue;let B=o,w=o;for(o++;o<=h;)s[o]&&(this.deltaInterpolate(w+1,o-1,w,o,n,t),w=o),o++;w===B?this.deltaShift(c,h,w,n,t):(this.deltaInterpolate(w+1,h,w,B,n,t),B>0&&this.deltaInterpolate(c,B-1,w,B,n,t)),o=h+1}}deltaInterpolate(t,n,s,o,c,h){if(t>n)return;let d=["x","y"];for(let w=0;w<d.length;w++){let x=d[w];if(c[s][x]>c[o][x]){var B=s;s=o,o=B}let C=c[s][x],S=c[o][x],T=h[s][x],k=h[o][x];if(C!==S||T===k){let U=C===S?0:(k-T)/(S-C);for(let L=t;L<=n;L++){let ee=c[L][x];ee<=C?ee+=T-C:ee>=S?ee+=k-S:ee=T+(ee-C)*U,h[L][x]=ee}}}}deltaShift(t,n,s,o,c){let h=c[s].x-o[s].x,d=c[s].y-o[s].y;if(!(h===0&&d===0))for(let B=t;B<=n;B++)B!==s&&(c[B].x+=h,c[B].y+=d)}transformComponents(t,n,s,o,c,h){let d=0;for(let B=0;B<t.components.length;B++){let w=t.components[B],x=this.font.glyphs.get(w.glyphIndex),C=QE(w),S=o.indexOf(B);S>-1&&(C.dx+=Math.round(c.deltas[S]*h),C.dy+=Math.round(c.deltasY[S]*h));let T=Bs(this.getTransform(x,s).points,C);n.splice(d,T.length,...T),d+=x.points.length}}applyTupleVariationStore(t,n,s,o="gvar",c={}){s||(s=this.font.variation.get());let h=this.getNormalizedCoords(s),{headers:d,sharedPoints:B}=t,w=this.fvar().axes.length,x;o==="gvar"?x=n.map(Mc):o==="cvar"&&(x=[...n]);for(let C=0;C<d.length;C++){let S=d[C],T=1;for(let U=0;U<w;U++){let L=[0];switch(o){case"gvar":L=S.peakTuple?S.peakTuple:this.gvar().sharedTuples[S.sharedTupleRecordsIndex];break;case"cvar":L=S.peakTuple;break}if(L[U]!==0){if(h[U]===0){T=0;break}if(S.intermediateStartTuple)if(h[U]<S.intermediateStartTuple[U]||h[U]>S.intermediateEndTuple[U]){T=0;break}else h[U]<L[U]?T=T*(h[U]-S.intermediateStartTuple[U]+Number.EPSILON)/(L[U]-S.intermediateStartTuple[U]+Number.EPSILON):T=T*(S.intermediateEndTuple[U]-h[U]+Number.EPSILON)/(S.intermediateEndTuple[U]-L[U]+Number.EPSILON);else{if(h[U]<Math.min(0,L[U])||h[U]>Math.max(0,L[U])){T=0;break}T=(T*h[U]+Number.EPSILON)/(L[U]+Number.EPSILON)}}}if(T===0)continue;let k=S.privatePoints.length?S.privatePoints:B;if(o==="gvar"&&c.glyph&&c.glyph.isComposite)this.transformComponents(c.glyph,x,s,k,S,T);else if(k.length===0)for(let U=0;U<x.length;U++){let L=x[U];o==="gvar"?x[U]={x:Math.round(L.x+S.deltas[U]*T),y:Math.round(L.y+S.deltasY[U]*T),onCurve:L.onCurve,lastPointOfContour:L.lastPointOfContour}:o==="cvar"&&(x[U]=Math.round(L+S.deltas[U]*T))}else{let U;o==="gvar"?U=x.map(Mc):o==="cvar"&&(U=x);let L=Array(n.length).fill(!1);for(let ee=0;ee<k.length;ee++){let Te=k[ee];if(Te<n.length){let xe=U[Te];o==="gvar"?(L[Te]=!0,xe.x+=S.deltas[ee]*T,xe.y+=S.deltasY[ee]*T):o==="cvar"&&(x[Te]=Math.round(xe+S.deltas[ee]*T))}}if(o==="gvar"){this.interpolatePoints(U,x,L);for(let ee=0;ee<n.length;ee++){let Te=U[ee].x-x[ee].x,xe=U[ee].y-x[ee].y;x[ee].x=Math.round(x[ee].x+Te),x[ee].y=Math.round(x[ee].y+xe)}}}}return x}getTransform(t,n){Number.isInteger(t)&&(t=this.font.glyphs.get(t));let s=t.getBlendPath,o=!!(t.points&&t.points.length),c=t;if(s||o){if(n||(n=this.font.variation.get()),o){let h=this.gvar()&&this.gvar().glyphVariations[t.index];if(h){let d=t.points,B=this.applyTupleVariationStore(h,d,n,"gvar",{glyph:t});c=new Ui(Object.assign({},t,{points:B,path:Xa(B)}))}}else if(s){let h=t.getBlendPath(n);c=new Ui(Object.assign({},t,{path:h}))}}return this.font.tables.hvar&&(t._advanceWidth=typeof t._advanceWidth<"u"?t._advanceWidth:t.advanceWidth,t.advanceWidth=c.advanceWidth=Math.round(t._advanceWidth+this.getVariableAdjustment(c.index,"hvar","advanceWidth",n)),t._leftSideBearing=typeof t._leftSideBearing<"u"?t._leftSideBearing:t.leftSideBearing,t.leftSideBearing=c.leftSideBearing=Math.round(t._leftSideBearing+this.getVariableAdjustment(c.index,"hvar","lsb",n))),c}getCvarTransform(t){let n=this.font.tables.cvt,s=this.cvar();return!n||!n.length||!s||!s.headers.length?n:this.applyTupleVariationStore(s,n,t,"cvar")}getVariableAdjustment(t,n,s,o){o=o||this.font.variation.get();let c,h,d=this.font.tables[n];if(!d)throw Error(`trying to get variation adjustment from non-existent table "${d}"`);if(!d.itemVariationStore)throw Error(`trying to get variation adjustment from table "${d}" which does not have an itemVariationStore`);let B=d[s]&&d[s].map.length;if(B){let w=t;w>=B&&(w=B-1),{outerIndex:c,innerIndex:h}=d[s].map[w]}else c=0,h=t;return this.getDelta(d.itemVariationStore,c,h,o)}getDelta(t,n,s,o){if(n>=t.itemVariationSubtables.length)return 0;let c=t.itemVariationSubtables[n];if(s>=c.deltaSets.length)return 0;let h=c.deltaSets[s],d=this.getBlendVector(t,n,o),B=0;for(let w=0;w<c.regionIndexes.length;w++)B+=h[w]*d[w];return B}getBlendVector(t,n,s){s||(s=this.font.variation.get());let o=t.itemVariationSubtables[n],c=this.getNormalizedCoords(s),h=[];for(let d=0;d<o.regionIndexes.length;d++){let B=1,w=o.regionIndexes[d],x=t.variationRegions[w].regionAxes;for(let C=0;C<x.length;C++){let S=x[C],T;S.startCoord>S.peakCoord||S.peakCoord>S.endCoord||S.startCoord<0&&S.endCoord>0&&S.peakCoord!==0||S.peakCoord===0?T=1:c[C]<S.startCoord||c[C]>S.endCoord?T=0:c[C]===S.peakCoord?T=1:c[C]<S.peakCoord?T=(c[C]-S.startCoord+Number.EPSILON)/(S.peakCoord-S.startCoord+Number.EPSILON):T=(S.endCoord-c[C]+Number.EPSILON)/(S.endCoord-S.peakCoord+Number.EPSILON),B*=T}h[d]=B}return h}avar(){return this.font.tables.avar}cvar(){return this.font.tables.cvar}fvar(){return this.font.tables.fvar}gvar(){return this.font.tables.gvar}hvar(){return this.font.tables.hvar}},PE=class{constructor(t){this.font=t,this.process=new LE(this.font),this.activateDefaultVariation(),this.getTransform=this.process.getTransform.bind(this.process)}activateDefaultVariation(){let t=this.getDefaultInstanceIndex();t>-1?this.set(t):this.set(this.getDefaultCoordinates())}getDefaultCoordinates(){return this.fvar().axes.reduce((t,n)=>(t[n.tag]=n.defaultValue,t),{})}getDefaultInstanceIndex(){let t=this.getDefaultCoordinates(),n=this.getInstanceIndex(t);return n<0&&(n=this.fvar().instances.findIndex(s=>s.name&&s.name.en==="Regular")),n}getInstanceIndex(t){return this.fvar().instances.findIndex(n=>Object.keys(t).every(s=>n.coordinates[s]===t[s]))}getInstance(t){return this.fvar().instances&&this.fvar().instances[t]}set(t){let n;if(Number.isInteger(t)){let s=this.getInstance(t);if(!s)throw Error(`Invalid instance index ${t}`);n={...s.coordinates}}else n=t,this.process.normalizeCoordTags(n);n=Object.assign({},this.font.defaultRenderOptions.variation,n),this.font.defaultRenderOptions=Object.assign({},this.font.defaultRenderOptions,{variation:n})}get(){return Object.assign({},this.font.defaultRenderOptions.variation)}avar(){return this.font.tables.avar}cvar(){return this.font.tables.cvar}fvar(){return this.font.tables.fvar}gvar(){return this.font.tables.gvar}hvar(){return this.font.tables.hvar}},Rc=1e6,Es=64,ws=1e4,Gc,di,Lc,qa;function Pc(t){this.font=t,this.getCommands=function(n){return Oc.getPath(n).commands},this._fpgmState=this._prepState=void 0,this._errorState=0}function HE(t){return t}function Hc(t){return Math.sign(t)*Math.round(Math.abs(t))}function WE(t){return Math.sign(t)*Math.round(Math.abs(t*2))/2}function JE(t){return Math.sign(t)*(Math.round(Math.abs(t)+.5)-.5)}function VE(t){return Math.sign(t)*Math.ceil(Math.abs(t))}function jE(t){return Math.sign(t)*Math.floor(Math.abs(t))}var Wc=function(t){let n=this.srPeriod,s=this.srPhase,o=this.srThreshold,c=1;return t<0&&(t=-t,c=-1),t+=o-s,t=Math.trunc(t/n)*n,t+=s,t<0?s*c:t*c},mr={x:1,y:0,axis:"x",distance:function(t,n,s,o){return(s?t.xo:t.x)-(o?n.xo:n.x)},interpolate:function(t,n,s,o){let c,h,d,B,w,x,C;if(!o||o===this){if(c=t.xo-n.xo,h=t.xo-s.xo,w=n.x-n.xo,x=s.x-s.xo,d=Math.abs(c),B=Math.abs(h),C=d+B,C===0){t.x=t.xo+(w+x)/2;return}t.x=t.xo+(w*B+x*d)/C;return}if(c=o.distance(t,n,!0,!0),h=o.distance(t,s,!0,!0),w=o.distance(n,n,!1,!0),x=o.distance(s,s,!1,!0),d=Math.abs(c),B=Math.abs(h),C=d+B,C===0){mr.setRelative(t,t,(w+x)/2,o,!0);return}mr.setRelative(t,t,(w*B+x*d)/C,o,!0)},normalSlope:Number.NEGATIVE_INFINITY,setRelative:function(t,n,s,o,c){if(!o||o===this){t.x=(c?n.xo:n.x)+s;return}let h=c?n.xo:n.x,d=c?n.yo:n.y,B=h+s*o.x,w=d+s*o.y;t.x=B+(t.y-w)/o.normalSlope},slope:0,touch:function(t){t.xTouched=!0},touched:function(t){return t.xTouched},untouch:function(t){t.xTouched=!1}},Sr={x:0,y:1,axis:"y",distance:function(t,n,s,o){return(s?t.yo:t.y)-(o?n.yo:n.y)},interpolate:function(t,n,s,o){let c,h,d,B,w,x,C;if(!o||o===this){if(c=t.yo-n.yo,h=t.yo-s.yo,w=n.y-n.yo,x=s.y-s.yo,d=Math.abs(c),B=Math.abs(h),C=d+B,C===0){t.y=t.yo+(w+x)/2;return}t.y=t.yo+(w*B+x*d)/C;return}if(c=o.distance(t,n,!0,!0),h=o.distance(t,s,!0,!0),w=o.distance(n,n,!1,!0),x=o.distance(s,s,!1,!0),d=Math.abs(c),B=Math.abs(h),C=d+B,C===0){Sr.setRelative(t,t,(w+x)/2,o,!0);return}Sr.setRelative(t,t,(w*B+x*d)/C,o,!0)},normalSlope:0,setRelative:function(t,n,s,o,c){if(!o||o===this){t.y=(c?n.yo:n.y)+s;return}let h=c?n.xo:n.x,d=c?n.yo:n.y,B=h+s*o.x,w=d+s*o.y;t.y=w+o.normalSlope*(t.x-B)},slope:Number.POSITIVE_INFINITY,touch:function(t){t.yTouched=!0},touched:function(t){return t.yTouched},untouch:function(t){t.yTouched=!1}};Object.freeze(mr),Object.freeze(Sr);function wn(t,n){this.x=t,this.y=n,this.axis=void 0,this.slope=n/t,this.normalSlope=-t/n,Object.freeze(this)}wn.prototype.distance=function(t,n,s,o){return this.x*mr.distance(t,n,s,o)+this.y*Sr.distance(t,n,s,o)},wn.prototype.interpolate=function(t,n,s,o){let c,h,d,B,w,x,C;if(d=o.distance(t,n,!0,!0),B=o.distance(t,s,!0,!0),c=o.distance(n,n,!1,!0),h=o.distance(s,s,!1,!0),w=Math.abs(d),x=Math.abs(B),C=w+x,C===0){this.setRelative(t,t,(c+h)/2,o,!0);return}this.setRelative(t,t,(c*x+h*w)/C,o,!0)},wn.prototype.setRelative=function(t,n,s,o,c){o=o||this;let h=c?n.xo:n.x,d=c?n.yo:n.y,B=h+s*o.x,w=d+s*o.y,x=o.normalSlope,C=this.slope,S=t.x,T=t.y;t.x=(C*S-x*B+w-T)/(C-x),t.y=C*(t.x-S)+T},wn.prototype.touch=function(t){t.xTouched=!0,t.yTouched=!0};function yn(t,n){let s=Math.sqrt(t*t+n*n);return t/=s,n/=s,t===1&&n===0?mr:t===0&&n===1?Sr:new wn(t,n)}function Dr(t,n,s,o){this.x=this.xo=Math.round(t*64)/64,this.y=this.yo=Math.round(n*64)/64,this.lastPointOfContour=s,this.onCurve=o,this.prevPointOnContour=void 0,this.nextPointOnContour=void 0,this.xTouched=!1,this.yTouched=!1,Object.preventExtensions(this)}Dr.prototype.nextTouched=function(t){let n=this.nextPointOnContour;for(;!t.touched(n)&&n!==this;)n=n.nextPointOnContour;return n},Dr.prototype.prevTouched=function(t){let n=this.prevPointOnContour;for(;!t.touched(n)&&n!==this;)n=n.prevPointOnContour;return n};var Cn=Object.freeze(new Dr(0,0)),_E={cvCutIn:17/16,deltaBase:9,deltaShift:.125,loop:1,minDis:1,autoFlip:!0};function jr(t,n){switch(this.env=t,this.stack=[],this.prog=n,t){case"glyf":this.zp0=this.zp1=this.zp2=1,this.rp0=this.rp1=this.rp2=0;case"prep":this.fv=this.pv=this.dpv=mr,this.round=Hc}}Pc.prototype.exec=function(t,n){if(typeof n!="number")throw new Error("Point size is not a number!");if(this._errorState>2)return;let s=this.font,o=this._prepState;if(!o||o.ppem!==n){let c=this._fpgmState;if(!c){jr.prototype=_E,c=this._fpgmState=new jr("fpgm",s.tables.fpgm),c.funcs=[],c.font=s,c.instructionCount=0,c.callDepth=0;try{di(c)}catch(d){console.log("Hinting error in FPGM:"+d),this._errorState=3;return}}jr.prototype=c,o=this._prepState=new jr("prep",s.tables.prep),o.ppem=n,o.instructionCount=0,o.callDepth=0;let h=s.variation&&s.variation.process.getCvarTransform()||s.tables.cvt;if(h){let d=o.cvt=new Array(h.length),B=n/s.unitsPerEm;for(let w=0;w<h.length;w++)d[w]=h[w]*B}else o.cvt=[];try{di(o)}catch(d){this._errorState<2&&console.log("Hinting error in PREP:"+d),this._errorState=2}}if(!(this._errorState>1))try{return Lc(t,o)}catch(c){this._errorState<1&&(console.log("Hinting error:"+c),console.log("Note: further hinting errors are silenced")),this._errorState=1;return}},Lc=function(t,n){let s=n.ppem/n.font.unitsPerEm,o=s,c=t.components,h,d,B;if(jr.prototype=n,!c)B=new jr("glyf",t.instructions),B.instructionCount=0,B.callDepth=0,qa(t,B,s,o),d=B.gZone;else{let w=n.font;d=[],h=[];for(let x=0;x<c.length;x++){let C=c[x],S=w.glyphs.get(C.glyphIndex);B=new jr("glyf",S.instructions),B.instructionCount=0,B.callDepth=0,qa(S,B,s,o);let T=Math.round(C.dx*s),k=Math.round(C.dy*o),U=B.gZone,L=B.contours;for(let Te=0;Te<U.length;Te++){let xe=U[Te];xe.xTouched=xe.yTouched=!1,xe.xo=xe.x=xe.x+T,xe.yo=xe.y=xe.y+k}let ee=d.length;d.push.apply(d,U);for(let Te=0;Te<L.length;Te++)h.push(L[Te]+ee)}t.instructions&&!B.inhibitGridFit&&(B=new jr("glyf",t.instructions),B.gZone=B.z0=B.z1=B.z2=d,B.contours=h,d.push(new Dr(0,0),new Dr(Math.round(t.advanceWidth*s),0)),di(B),d.length-=2)}return d},qa=function(t,n,s,o){let c=t.points||[],h=c.length,d=n.gZone=n.z0=n.z1=n.z2=[],B=n.contours=[],w;for(let S=0;S<h;S++)w=c[S],d[S]=new Dr(w.x*s,w.y*o,w.lastPointOfContour,w.onCurve);let x,C;for(let S=0;S<h;S++)w=d[S],x||(x=w,B.push(S)),w.lastPointOfContour?(w.nextPointOnContour=x,x.prevPointOnContour=w,x=void 0):(C=d[S+1],w.nextPointOnContour=C,C.prevPointOnContour=w);n.inhibitGridFit||(d.push(new Dr(0,0),new Dr(Math.round(t.advanceWidth*s),0)),di(n),d.length-=2)},di=function(t){let n=t.prog;if(!n)return;let s=n.length,o;for(t.ip=0;t.ip<s;t.ip++){if(++t.instructionCount>Rc)throw new Error("Hinting instructions exceeded maximum of "+Rc);if(o=Gc[n[t.ip]],!o)throw new Error("unknown instruction: 0x"+Number(n[t.ip]).toString(16));o(t)}};function ys(t){let n=t.tZone=new Array(t.gZone.length);for(let s=0;s<n.length;s++)n[s]=new Dr(0,0)}function Jc(t,n){let s=t.prog,o=t.ip,c=1,h;do if(h=s[++o],h===88)c++;else if(h===89)c--;else if(h===64)o+=s[o+1]+1;else if(h===65)o+=2*s[o+1]+1;else if(h>=176&&h<=183)o+=h-176+1;else if(h>=184&&h<=191)o+=(h-184+1)*2;else if(n&&c===1&&h===27)break;while(c>0);t.ip=o}function Vc(t,n){n.fv=n.pv=n.dpv=t}function jc(t,n){n.pv=n.dpv=t}function _c(t,n){n.fv=t}function Zc(t,n){let s=n.stack,o=s.pop(),c=s.pop(),h=n.z2[o],d=n.z1[c],B,w;t?(B=h.y-d.y,w=d.x-h.x):(B=d.x-h.x,w=d.y-h.y),n.pv=n.dpv=yn(B,w)}function zc(t,n){let s=n.stack,o=s.pop(),c=s.pop(),h=n.z2[o],d=n.z1[c],B,w;t?(B=h.y-d.y,w=d.x-h.x):(B=d.x-h.x,w=d.y-h.y),n.fv=yn(B,w)}function ZE(t){let n=t.stack,s=n.pop(),o=n.pop();t.pv=t.dpv=yn(o,s)}function zE(t){let n=t.stack,s=n.pop(),o=n.pop();t.fv=yn(o,s)}function XE(t){let n=t.stack,s=t.pv;n.push(s.x*16384),n.push(s.y*16384)}function qE(t){let n=t.stack,s=t.fv;n.push(s.x*16384),n.push(s.y*16384)}function KE(t){t.fv=t.pv}function $E(t){let n=t.stack,s=n.pop(),o=n.pop(),c=n.pop(),h=n.pop(),d=n.pop(),B=t.z0,w=t.z1,x=B[s],C=B[o],S=w[c],T=w[h],k=t.z2[d],U=x.x,L=x.y,ee=C.x,Te=C.y,xe=S.x,Re=S.y,Je=T.x,$e=T.y,nt=(U-ee)*(Re-$e)-(L-Te)*(xe-Je),st=U*Te-L*ee,Bt=xe*$e-Re*Je;k.x=(st*(xe-Je)-Bt*(U-ee))/nt,k.y=(st*(Re-$e)-Bt*(L-Te))/nt}function e1(t){t.rp0=t.stack.pop()}function t1(t){t.rp1=t.stack.pop()}function r1(t){t.rp2=t.stack.pop()}function i1(t){let n=t.stack.pop();switch(t.zp0=n,n){case 0:t.tZone||ys(t),t.z0=t.tZone;break;case 1:t.z0=t.gZone;break;default:throw new Error("Invalid zone pointer")}}function n1(t){let n=t.stack.pop();switch(t.zp1=n,n){case 0:t.tZone||ys(t),t.z1=t.tZone;break;case 1:t.z1=t.gZone;break;default:throw new Error("Invalid zone pointer")}}function s1(t){let n=t.stack.pop();switch(t.zp2=n,n){case 0:t.tZone||ys(t),t.z2=t.tZone;break;case 1:t.z2=t.gZone;break;default:throw new Error("Invalid zone pointer")}}function a1(t){let n=t.stack.pop();switch(t.zp0=t.zp1=t.zp2=n,n){case 0:t.tZone||ys(t),t.z0=t.z1=t.z2=t.tZone;break;case 1:t.z0=t.z1=t.z2=t.gZone;break;default:throw new Error("Invalid zone pointer")}}function o1(t){t.loop=t.stack.pop(),t.loop>ws&&(t.loop=ws)}function A1(t){t.round=Hc}function l1(t){t.round=JE}function c1(t){let n=t.stack.pop();t.minDis=n/64}function u1(t){Jc(t,!1)}function h1(t){let n=t.stack.pop();t.ip+=n-1}function p1(t){let n=t.stack.pop();t.cvCutIn=n/64}function f1(t){let n=t.stack;n.push(n[n.length-1])}function Ka(t){t.stack.pop()}function d1(t){t.stack.length=0}function g1(t){let n=t.stack,s=n.pop(),o=n.pop();n.push(s),n.push(o)}function m1(t){let n=t.stack;n.push(n.length)}function B1(t){let n=t.stack,s=n.pop(),o=n.pop();if(o>ws&&(o=ws),++t.callDepth>Es)throw new Error("Hinting call depth exceeded maximum of "+Es);let c=t.ip,h=t.prog;t.prog=t.funcs[s];for(let d=0;d<o;d++)di(t);t.ip=c,t.prog=h,t.callDepth--}function E1(t){let n=t.stack.pop();if(++t.callDepth>Es)throw new Error("Hinting call depth exceeded maximum of "+Es);let s=t.ip,o=t.prog;t.prog=t.funcs[n],di(t),t.ip=s,t.prog=o,t.callDepth--}function w1(t){let n=t.stack,s=n.pop();n.push(n[n.length-s])}function y1(t){let n=t.stack,s=n.pop();n.push(n.splice(n.length-s,1)[0])}function C1(t){if(t.env!=="fpgm")throw new Error("FDEF not allowed here");let n=t.stack,s=t.prog,o=t.ip,c=n.pop(),h=o;for(;s[++o]!==45;);t.ip=o,t.funcs[c]=s.slice(h+1,o)}function Xc(t,n){let s=n.stack.pop(),o=n.z0[s],c=n.fv,h=n.pv,d=h.distance(o,Cn);t&&(d=n.round(d)),c.setRelative(o,Cn,d,h),c.touch(o),n.rp0=n.rp1=s}function qc(t,n){let s=n.z2,o=s.length-2,c,h,d;for(let B=0;B<o;B++)c=s[B],!t.touched(c)&&(h=c.prevTouched(t),h!==c&&(d=c.nextTouched(t),h===d&&t.setRelative(c,c,t.distance(h,h,!1,!0),t,!0),t.interpolate(c,h,d,t)))}function Kc(t,n){let s=n.stack,o=t?n.rp1:n.rp2,c=(t?n.z0:n.z1)[o],h=n.fv,d=n.pv,B=n.loop,w=n.z2;for(;B--;){let x=s.pop(),C=w[x],S=d.distance(c,c,!1,!0);h.setRelative(C,C,S,d),h.touch(C)}n.loop=1}function $c(t,n){let s=n.stack,o=t?n.rp1:n.rp2,c=(t?n.z0:n.z1)[o],h=n.fv,d=n.pv,B=s.pop(),w=n.z2[n.contours[B]],x=w,C=d.distance(c,c,!1,!0);do x!==c&&h.setRelative(x,x,C,d),x=x.nextPointOnContour;while(x!==w)}function eu(t,n){let s=n.stack,o=t?n.rp1:n.rp2,c=(t?n.z0:n.z1)[o],h=n.fv,d=n.pv,B=s.pop(),w;switch(B){case 0:w=n.tZone;break;case 1:w=n.gZone;break;default:throw new Error("Invalid zone")}let x,C=d.distance(c,c,!1,!0),S=w.length-2;for(let T=0;T<S;T++)x=w[T],h.setRelative(x,x,C,d)}function b1(t){let n=t.stack,s=t.loop,o=t.fv,c=n.pop()/64,h=t.z2;for(;s--;){let d=n.pop(),B=h[d];o.setRelative(B,B,c),o.touch(B)}t.loop=1}function x1(t){let n=t.stack,s=t.rp1,o=t.rp2,c=t.loop,h=t.z0[s],d=t.z1[o],B=t.fv,w=t.dpv,x=t.z2;for(;c--;){let C=n.pop(),S=x[C];B.interpolate(S,h,d,w),B.touch(S)}t.loop=1}function tu(t,n){let s=n.stack,o=s.pop()/64,c=s.pop(),h=n.z1[c],d=n.z0[n.rp0],B=n.fv,w=n.pv;B.setRelative(h,d,o,w),B.touch(h),n.rp1=n.rp0,n.rp2=c,t&&(n.rp0=c)}function Q1(t){let n=t.stack,s=t.rp0,o=t.z0[s],c=t.loop,h=t.fv,d=t.pv,B=t.z1;for(;c--;){let w=n.pop(),x=B[w];h.setRelative(x,o,0,d),h.touch(x)}t.loop=1}function v1(t){t.round=WE}function ru(t,n){let s=n.stack,o=s.pop(),c=s.pop(),h=n.z0[c],d=n.fv,B=n.pv,w=n.cvt[o],x=B.distance(h,Cn);t&&(Math.abs(x-w)<n.cvCutIn&&(x=w),x=n.round(x)),d.setRelative(h,Cn,x,B),n.zp0===0&&(h.xo=h.x,h.yo=h.y),d.touch(h),n.rp0=n.rp1=c}function I1(t){let n=t.prog,s=t.ip,o=t.stack,c=n[++s];for(let h=0;h<c;h++)o.push(n[++s]);t.ip=s}function F1(t){let n=t.ip,s=t.prog,o=t.stack,c=s[++n];for(let h=0;h<c;h++){let d=s[++n]<<8|s[++n];d&32768&&(d=-((d^65535)+1)),o.push(d)}t.ip=n}function T1(t){let n=t.stack,s=t.store;s||(s=t.store=[]);let o=n.pop(),c=n.pop();s[c]=o}function S1(t){let n=t.stack,s=t.store,o=n.pop(),c=s&&s[o]||0;n.push(c)}function D1(t){let n=t.stack,s=n.pop(),o=n.pop();t.cvt[o]=s/64}function M1(t){let n=t.stack,s=n.pop();n.push(t.cvt[s]*64)}function iu(t,n){let s=n.stack,o=s.pop(),c=n.z2[o];s.push(n.dpv.distance(c,Cn,t,!1)*64)}function nu(t,n){let s=n.stack,o=s.pop(),c=s.pop(),h=n.z1[o],d=n.z0[c],B=n.dpv.distance(d,h,t,t);n.stack.push(Math.round(B*64))}function U1(t){t.stack.push(t.ppem)}function N1(t){t.autoFlip=!0}function k1(t){let n=t.stack,s=n.pop(),o=n.pop();n.push(o<s?1:0)}function Y1(t){let n=t.stack,s=n.pop(),o=n.pop();n.push(o<=s?1:0)}function O1(t){let n=t.stack,s=n.pop(),o=n.pop();n.push(o>s?1:0)}function R1(t){let n=t.stack,s=n.pop(),o=n.pop();n.push(o>=s?1:0)}function G1(t){let n=t.stack,s=n.pop(),o=n.pop();n.push(s===o?1:0)}function L1(t){let n=t.stack,s=n.pop(),o=n.pop();n.push(s!==o?1:0)}function P1(t){let n=t.stack,s=n.pop();n.push(Math.trunc(s)&1?1:0)}function H1(t){let n=t.stack,s=n.pop();n.push(Math.trunc(s)&1?0:1)}function W1(t){let n=t.stack.pop(),s;n||Jc(t,!0)}function J1(t){}function V1(t){let n=t.stack,s=n.pop(),o=n.pop();n.push(s&&o?1:0)}function j1(t){let n=t.stack,s=n.pop(),o=n.pop();n.push(s||o?1:0)}function _1(t){let n=t.stack,s=n.pop();n.push(s?0:1)}function $a(t,n){let s=n.stack,o=s.pop(),c=n.fv,h=n.pv,d=n.ppem,B=n.deltaBase+(t-1)*16,w=n.deltaShift,x=n.z0;for(let C=0;C<o;C++){let S=s.pop(),T=s.pop();if(B+((T&240)>>4)!==d)continue;let U=(T&15)-8;U>=0&&U++;let L=x[S];c.setRelative(L,L,U*w,h)}}function Z1(t){let s=t.stack.pop();t.deltaBase=s}function z1(t){let s=t.stack.pop();t.deltaShift=Math.pow(.5,s)}function X1(t){let n=t.stack,s=n.pop(),o=n.pop();n.push(o+s)}function q1(t){let n=t.stack,s=n.pop(),o=n.pop();n.push(o-s)}function K1(t){let n=t.stack,s=n.pop(),o=n.pop();n.push(o*64/s)}function $1(t){let n=t.stack,s=n.pop(),o=n.pop();n.push(o*s/64)}function ew(t){let n=t.stack,s=n.pop();n.push(Math.abs(s))}function tw(t){let n=t.stack,s=n.pop();n.push(-s)}function rw(t){let n=t.stack,s=n.pop();n.push(Math.floor(s/64)*64)}function iw(t){let n=t.stack,s=n.pop();n.push(Math.ceil(s/64)*64)}function Cs(t,n){let s=n.stack,o=s.pop();s.push(n.round(o/64)*64)}function nw(t){let n=t.stack,s=n.pop(),o=n.pop();t.cvt[o]=s*t.ppem/t.font.unitsPerEm}function eo(t,n){let s=n.stack,o=s.pop(),c=n.ppem,h=n.deltaBase+(t-1)*16,d=n.deltaShift;for(let B=0;B<o;B++){let w=s.pop(),x=s.pop();if(h+((x&240)>>4)!==c)continue;let S=(x&15)-8;S>=0&&S++;let T=S*d;n.cvt[w]+=T}}function sw(t){let n=t.stack.pop();t.round=Wc;let s;switch(n&192){case 0:s=.5;break;case 64:s=1;break;case 128:s=2;break;default:throw new Error("invalid SROUND value")}switch(t.srPeriod=s,n&48){case 0:t.srPhase=0;break;case 16:t.srPhase=.25*s;break;case 32:t.srPhase=.5*s;break;case 48:t.srPhase=.75*s;break;default:throw new Error("invalid SROUND value")}n&=15,n===0?t.srThreshold=0:t.srThreshold=(n/8-.5)*s}function aw(t){let n=t.stack.pop();t.round=Wc;let s;switch(n&192){case 0:s=Math.sqrt(2)/2;break;case 64:s=Math.sqrt(2);break;case 128:s=2*Math.sqrt(2);break;default:throw new Error("invalid S45ROUND value")}switch(t.srPeriod=s,n&48){case 0:t.srPhase=0;break;case 16:t.srPhase=.25*s;break;case 32:t.srPhase=.5*s;break;case 48:t.srPhase=.75*s;break;default:throw new Error("invalid S45ROUND value")}n&=15,n===0?t.srThreshold=0:t.srThreshold=(n/8-.5)*s}function ow(t){t.round=HE}function Aw(t){t.round=VE}function lw(t){t.round=jE}function cw(t){let n=t.stack.pop()}function su(t,n){let s=n.stack,o=s.pop(),c=s.pop(),h=n.z2[o],d=n.z1[c],B,w;t?(B=h.y-d.y,w=d.x-h.x):(B=d.x-h.x,w=d.y-h.y),n.dpv=yn(B,w)}function uw(t){let n=t.stack,s=n.pop(),o=0;s&1&&(o=35),s&32&&(o|=4096),n.push(o)}function hw(t){let n=t.stack,s=n.pop(),o=n.pop(),c=n.pop();n.push(o),n.push(s),n.push(c)}function pw(t){let n=t.stack,s=n.pop(),o=n.pop();n.push(Math.max(o,s))}function fw(t){let n=t.stack,s=n.pop(),o=n.pop();n.push(Math.min(o,s))}function dw(t){let n=t.stack.pop()}function gw(t){let n=t.stack.pop(),s=t.stack.pop();switch(n){case 1:t.inhibitGridFit=!!s;return;case 2:t.ignoreCvt=!!s;return;default:throw new Error("invalid INSTCTRL[] selector")}}function _r(t,n){let s=n.stack,o=n.prog,c=n.ip;for(let h=0;h<t;h++)s.push(o[++c]);n.ip=c}function Zr(t,n){let s=n.ip,o=n.prog,c=n.stack;for(let h=0;h<t;h++){let d=o[++s]<<8|o[++s];d&32768&&(d=-((d^65535)+1)),c.push(d)}n.ip=s}function Ie(t,n,s,o,c,h){let d=h.stack,B=t&&d.pop(),w=d.pop(),x=h.rp0,C=h.z0[x],S=h.z1[w],T=h.minDis,k=h.fv,U=h.dpv,L,ee,Te,xe;ee=L=U.distance(S,C,!0,!0),Te=ee>=0?1:-1,ee=Math.abs(ee),t&&(xe=h.cvt[B],o&&Math.abs(ee-xe)<h.cvCutIn&&(ee=xe)),s&&ee<T&&(ee=T),o&&(ee=h.round(ee)),k.setRelative(S,C,Te*ee,U),k.touch(S),h.rp1=h.rp0,h.rp2=w,n&&(h.rp0=w)}Gc=[Vc.bind(void 0,Sr),Vc.bind(void 0,mr),jc.bind(void 0,Sr),jc.bind(void 0,mr),_c.bind(void 0,Sr),_c.bind(void 0,mr),Zc.bind(void 0,0),Zc.bind(void 0,1),zc.bind(void 0,0),zc.bind(void 0,1),ZE,zE,XE,qE,KE,$E,e1,t1,r1,i1,n1,s1,a1,o1,A1,l1,c1,u1,h1,p1,void 0,void 0,f1,Ka,d1,g1,m1,w1,y1,void 0,void 0,void 0,B1,E1,C1,void 0,Xc.bind(void 0,0),Xc.bind(void 0,1),qc.bind(void 0,Sr),qc.bind(void 0,mr),Kc.bind(void 0,0),Kc.bind(void 0,1),$c.bind(void 0,0),$c.bind(void 0,1),eu.bind(void 0,0),eu.bind(void 0,1),b1,x1,tu.bind(void 0,0),tu.bind(void 0,1),Q1,v1,ru.bind(void 0,0),ru.bind(void 0,1),I1,F1,T1,S1,D1,M1,iu.bind(void 0,0),iu.bind(void 0,1),void 0,nu.bind(void 0,0),nu.bind(void 0,1),U1,void 0,N1,void 0,void 0,k1,Y1,O1,R1,G1,L1,P1,H1,W1,J1,V1,j1,_1,$a.bind(void 0,1),Z1,z1,X1,q1,K1,$1,ew,tw,rw,iw,Cs.bind(void 0,0),Cs.bind(void 0,1),Cs.bind(void 0,2),Cs.bind(void 0,3),void 0,void 0,void 0,void 0,nw,$a.bind(void 0,2),$a.bind(void 0,3),eo.bind(void 0,1),eo.bind(void 0,2),eo.bind(void 0,3),sw,aw,void 0,void 0,ow,void 0,Aw,lw,Ka,Ka,void 0,void 0,void 0,void 0,void 0,cw,su.bind(void 0,0),su.bind(void 0,1),uw,void 0,hw,pw,fw,dw,gw,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,_r.bind(void 0,1),_r.bind(void 0,2),_r.bind(void 0,3),_r.bind(void 0,4),_r.bind(void 0,5),_r.bind(void 0,6),_r.bind(void 0,7),_r.bind(void 0,8),Zr.bind(void 0,1),Zr.bind(void 0,2),Zr.bind(void 0,3),Zr.bind(void 0,4),Zr.bind(void 0,5),Zr.bind(void 0,6),Zr.bind(void 0,7),Zr.bind(void 0,8),Ie.bind(void 0,0,0,0,0,0),Ie.bind(void 0,0,0,0,0,1),Ie.bind(void 0,0,0,0,0,2),Ie.bind(void 0,0,0,0,0,3),Ie.bind(void 0,0,0,0,1,0),Ie.bind(void 0,0,0,0,1,1),Ie.bind(void 0,0,0,0,1,2),Ie.bind(void 0,0,0,0,1,3),Ie.bind(void 0,0,0,1,0,0),Ie.bind(void 0,0,0,1,0,1),Ie.bind(void 0,0,0,1,0,2),Ie.bind(void 0,0,0,1,0,3),Ie.bind(void 0,0,0,1,1,0),Ie.bind(void 0,0,0,1,1,1),Ie.bind(void 0,0,0,1,1,2),Ie.bind(void 0,0,0,1,1,3),Ie.bind(void 0,0,1,0,0,0),Ie.bind(void 0,0,1,0,0,1),Ie.bind(void 0,0,1,0,0,2),Ie.bind(void 0,0,1,0,0,3),Ie.bind(void 0,0,1,0,1,0),Ie.bind(void 0,0,1,0,1,1),Ie.bind(void 0,0,1,0,1,2),Ie.bind(void 0,0,1,0,1,3),Ie.bind(void 0,0,1,1,0,0),Ie.bind(void 0,0,1,1,0,1),Ie.bind(void 0,0,1,1,0,2),Ie.bind(void 0,0,1,1,0,3),Ie.bind(void 0,0,1,1,1,0),Ie.bind(void 0,0,1,1,1,1),Ie.bind(void 0,0,1,1,1,2),Ie.bind(void 0,0,1,1,1,3),Ie.bind(void 0,1,0,0,0,0),Ie.bind(void 0,1,0,0,0,1),Ie.bind(void 0,1,0,0,0,2),Ie.bind(void 0,1,0,0,0,3),Ie.bind(void 0,1,0,0,1,0),Ie.bind(void 0,1,0,0,1,1),Ie.bind(void 0,1,0,0,1,2),Ie.bind(void 0,1,0,0,1,3),Ie.bind(void 0,1,0,1,0,0),Ie.bind(void 0,1,0,1,0,1),Ie.bind(void 0,1,0,1,0,2),Ie.bind(void 0,1,0,1,0,3),Ie.bind(void 0,1,0,1,1,0),Ie.bind(void 0,1,0,1,1,1),Ie.bind(void 0,1,0,1,1,2),Ie.bind(void 0,1,0,1,1,3),Ie.bind(void 0,1,1,0,0,0),Ie.bind(void 0,1,1,0,0,1),Ie.bind(void 0,1,1,0,0,2),Ie.bind(void 0,1,1,0,0,3),Ie.bind(void 0,1,1,0,1,0),Ie.bind(void 0,1,1,0,1,1),Ie.bind(void 0,1,1,0,1,2),Ie.bind(void 0,1,1,0,1,3),Ie.bind(void 0,1,1,1,0,0),Ie.bind(void 0,1,1,1,0,1),Ie.bind(void 0,1,1,1,0,2),Ie.bind(void 0,1,1,1,0,3),Ie.bind(void 0,1,1,1,1,0),Ie.bind(void 0,1,1,1,1,1),Ie.bind(void 0,1,1,1,1,2),Ie.bind(void 0,1,1,1,1,3)];var mw=Pc;function Yi(t){this.char=t,this.state={},this.activeState=null}function to(t,n,s){this.contextName=s,this.startIndex=t,this.endOffset=n}function Bw(t,n,s){this.contextName=t,this.openRange=null,this.ranges=[],this.checkStart=n,this.checkEnd=s}function St(t,n){this.context=t,this.index=n,this.length=t.length,this.current=t[n],this.backtrack=t.slice(0,n),this.lookahead=t.slice(n+1)}function bs(t){this.eventId=t,this.subscribers=[]}function Ew(t){let n=["start","end","next","newToken","contextStart","contextEnd","insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD","updateContextsRanges"];for(let o=0;o<n.length;o++){let c=n[o];Object.defineProperty(this.events,c,{value:new bs(c)})}if(t)for(let o=0;o<n.length;o++){let c=n[o],h=t[c];typeof h=="function"&&this.events[c].subscribe(h)}let s=["insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD"];for(let o=0;o<s.length;o++){let c=s[o];this.events[c].subscribe(this.updateContextsRanges)}}function dt(t){this.tokens=[],this.registeredContexts={},this.contextCheckers=[],this.events={},this.registeredModifiers=[],Ew.call(this,t)}Yi.prototype.setState=function(t,n){return this.state[t]=n,this.activeState={key:t,value:this.state[t]},this.activeState},Yi.prototype.getState=function(t){return this.state[t]||null},dt.prototype.inboundIndex=function(t){return t>=0&&t<this.tokens.length},dt.prototype.composeRUD=function(t){let s=t.map(c=>this[c[0]].apply(this,c.slice(1).concat(!0))),o=c=>typeof c=="object"&&Object.prototype.hasOwnProperty.call(c,"FAIL");if(s.every(o))return{FAIL:"composeRUD: one or more operations hasn't completed successfully",report:s.filter(o)};this.dispatch("composeRUD",[s.filter(c=>!o(c))])},dt.prototype.replaceRange=function(t,n,s,o){n=n!==null?n:this.tokens.length;let c=s.every(h=>h instanceof Yi);if(!isNaN(t)&&this.inboundIndex(t)&&c){let h=this.tokens.splice.apply(this.tokens,[t,n].concat(s));return o||this.dispatch("replaceToken",[t,n,s]),[h,s]}else return{FAIL:"replaceRange: invalid tokens or startIndex."}},dt.prototype.replaceToken=function(t,n,s){if(!isNaN(t)&&this.inboundIndex(t)&&n instanceof Yi){let o=this.tokens.splice(t,1,n);return s||this.dispatch("replaceToken",[t,n]),[o[0],n]}else return{FAIL:"replaceToken: invalid token or index."}},dt.prototype.removeRange=function(t,n,s){n=isNaN(n)?this.tokens.length:n;let o=this.tokens.splice(t,n);return s||this.dispatch("removeRange",[o,t,n]),o},dt.prototype.removeToken=function(t,n){if(!isNaN(t)&&this.inboundIndex(t)){let s=this.tokens.splice(t,1);return n||this.dispatch("removeToken",[s,t]),s}else return{FAIL:"removeToken: invalid token index."}},dt.prototype.insertToken=function(t,n,s){return t.every(c=>c instanceof Yi)?(this.tokens.splice.apply(this.tokens,[n,0].concat(t)),s||this.dispatch("insertToken",[t,n]),t):{FAIL:"insertToken: invalid token(s)."}},dt.prototype.registerModifier=function(t,n,s){this.events.newToken.subscribe(function(o,c){let h=[o,c],d=n===null||n.apply(this,h)===!0,B=[o,c];if(d){let w=s.apply(this,B);o.setState(t,w)}}),this.registeredModifiers.push(t)},bs.prototype.subscribe=function(t){return typeof t=="function"?this.subscribers.push(t)-1:{FAIL:`invalid '${this.eventId}' event handler`}},bs.prototype.unsubscribe=function(t){this.subscribers.splice(t,1)},St.prototype.setCurrentIndex=function(t){this.index=t,this.current=this.context[t],this.backtrack=this.context.slice(0,t),this.lookahead=this.context.slice(t+1)},St.prototype.get=function(t){switch(!0){case t===0:return this.current;case(t<0&&Math.abs(t)<=this.backtrack.length):return this.backtrack.slice(t)[0];case(t>0&&t<=this.lookahead.length):return this.lookahead[t-1];default:return null}},dt.prototype.rangeToText=function(t){if(t instanceof to)return this.getRangeTokens(t).map(n=>n.char).join("")},dt.prototype.getText=function(){return this.tokens.map(t=>t.char).join("")},dt.prototype.getContext=function(t){let n=this.registeredContexts[t];return n||null},dt.prototype.on=function(t,n){let s=this.events[t];return s?s.subscribe(n):null},dt.prototype.dispatch=function(t,n){let s=this.events[t];if(s instanceof bs)for(let o=0;o<s.subscribers.length;o++)s.subscribers[o].apply(this,n||[])},dt.prototype.registerContextChecker=function(t,n,s){if(this.getContext(t))return{FAIL:`context name '${t}' is already registered.`};if(typeof n!="function")return{FAIL:"missing context start check."};if(typeof s!="function")return{FAIL:"missing context end check."};let o=new Bw(t,n,s);return this.registeredContexts[t]=o,this.contextCheckers.push(o),o},dt.prototype.getRangeTokens=function(t){let n=t.startIndex+t.endOffset;return[].concat(this.tokens.slice(t.startIndex,n))},dt.prototype.getContextRanges=function(t){let n=this.getContext(t);return n?n.ranges:{FAIL:`context checker '${t}' is not registered.`}},dt.prototype.resetContextsRanges=function(){let t=this.registeredContexts;for(let n in t)if(Object.prototype.hasOwnProperty.call(t,n)){let s=t[n];s.ranges=[]}},dt.prototype.updateContextsRanges=function(){this.resetContextsRanges();let t=this.tokens.map(n=>n.char);for(let n=0;n<t.length;n++){let s=new St(t,n);this.runContextCheck(s)}this.dispatch("updateContextsRanges",[this.registeredContexts])},dt.prototype.setEndOffset=function(t,n){let s=this.getContext(n).openRange.startIndex,o=new to(s,t,n),c=this.getContext(n).ranges;return o.rangeId=`${n}.${c.length}`,c.push(o),this.getContext(n).openRange=null,o},dt.prototype.runContextCheck=function(t){let n=t.index;for(let s=0;s<this.contextCheckers.length;s++){let o=this.contextCheckers[s],c=o.contextName,h=this.getContext(c).openRange;if(!h&&o.checkStart(t)&&(h=new to(n,null,c),this.getContext(c).openRange=h,this.dispatch("contextStart",[c,n])),h&&o.checkEnd(t)){let d=n-h.startIndex+1,B=this.setEndOffset(d,c);this.dispatch("contextEnd",[c,B])}}},dt.prototype.tokenize=function(t){this.tokens=[],this.resetContextsRanges();let n=Array.from(t);this.dispatch("start");for(let s=0;s<n.length;s++){let o=n[s],c=new St(n,s);this.dispatch("next",[c]),this.runContextCheck(c);let h=new Yi(o);this.tokens.push(h),this.dispatch("newToken",[h,c])}return this.dispatch("end",[this.tokens]),this.tokens};var ww=dt;function zr(t){return/[\u0600-\u065F\u066A-\u06D2\u06FA-\u06FF]/.test(t)}function au(t){return/[\u0630\u0690\u0621\u0631\u0661\u0671\u0622\u0632\u0672\u0692\u06C2\u0623\u0673\u0693\u06C3\u0624\u0694\u06C4\u0625\u0675\u0695\u06C5\u06E5\u0676\u0696\u06C6\u0627\u0677\u0697\u06C7\u0648\u0688\u0698\u06C8\u0689\u0699\u06C9\u068A\u06CA\u066B\u068B\u06CB\u068C\u068D\u06CD\u06FD\u068E\u06EE\u06FE\u062F\u068F\u06CF\u06EF]/.test(t)}function Xr(t){return/[\u0600-\u0605\u060C-\u060E\u0610-\u061B\u061E\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED]/.test(t)}function xs(t){return/[\u0E00-\u0E7F]/.test(t)}function Qs(t){return/[A-z]/.test(t)}function yw(t){return/\s/.test(t)}function Jt(t){this.font=t,this.features={}}function qr(t){this.id=t.id,this.tag=t.tag,this.substitution=t.substitution}function Kr(t,n){if(!t)return-1;switch(n.format){case 1:return n.glyphs.indexOf(t);case 2:{let s=n.ranges;for(let o=0;o<s.length;o++){let c=s[o];if(t>=c.start&&t<=c.end){let h=t-c.start;return c.index+h}}break}default:return-1}return-1}function Cw(t,n){return Kr(t,n.coverage)===-1?null:t+n.deltaGlyphId}function bw(t,n){let s=Kr(t,n.coverage);return s===-1?null:n.substitute[s]}function ro(t,n){let s=[];for(let o=0;o<t.length;o++){let c=t[o],h=n.current;h=Array.isArray(h)?h[0]:h;let d=Kr(h,c);d!==-1&&s.push(d)}return s.length!==t.length?-1:s}function xw(t,n){let s=n.inputCoverage.length+n.lookaheadCoverage.length+n.backtrackCoverage.length;if(t.context.length<s)return[];let o=ro(n.inputCoverage,t);if(o===-1)return[];let c=n.inputCoverage.length-1;if(t.lookahead.length<n.lookaheadCoverage.length)return[];let h=t.lookahead.slice(c);for(;h.length&&Xr(h[0].char);)h.shift();let d=new St(h,0),B=ro(n.lookaheadCoverage,d),w=[].concat(t.backtrack);for(w.reverse();w.length&&Xr(w[0].char);)w.shift();if(w.length<n.backtrackCoverage.length)return[];let x=new St(w,0),C=ro(n.backtrackCoverage,x),S=o.length===n.inputCoverage.length&&B.length===n.lookaheadCoverage.length&&C.length===n.backtrackCoverage.length,T=[];if(S)for(let k=0;k<n.lookupRecords.length;k++){let U=n.lookupRecords[k],L=U.lookupListIndex,ee=this.getLookupByIndex(L);for(let Te=0;Te<ee.subtables.length;Te++){let xe=ee.subtables[Te],Re,Je=this.getSubstitutionType(ee,xe);if(Je==="71"?(Je=this.getSubstitutionType(xe,xe.extension),Re=this.getLookupMethod(xe,xe.extension),xe=xe.extension):Re=this.getLookupMethod(ee,xe),Je==="12"){let $e=t.get(U.sequenceIndex),nt=Re($e);nt&&T.push(nt)}else if(Je==="21"){let $e=t.get(U.sequenceIndex),nt=Re($e);nt&&T.push(nt)}else throw new Error(`Substitution type ${Je} is not supported in chaining substitution`)}}return T}function Qw(t,n){let s=t.current,o=Kr(s,n.coverage);if(o===-1)return null;let c,h=n.ligatureSets[o];for(let d=0;d<h.length;d++){c=h[d];for(let B=0;B<c.components.length;B++){let w=t.lookahead[B],x=c.components[B];if(w!==x)break;if(B===c.components.length-1)return c}}return null}function vw(t,n){let s=t.current;if(Kr(s,n.coverage)===-1)return null;for(let c of n.ruleSets)for(let h of c){let d=!0;for(let B=0;B<h.input.length;B++)if(t.lookahead[B]!==h.input[B]){d=!1;break}if(d){let B=[];B.push(s);for(let x=0;x<h.input.length;x++)B.push(h.input[x]);let w=(x,C)=>{let{lookupListIndex:S,sequenceIndex:T}=C,{subtables:k}=this.getLookupByIndex(S);for(let U of k)Kr(x[T],U.coverage)!==-1&&(x[T]=U.deltaGlyphId)};for(let x=0;x<h.lookupRecords.length;x++){let C=h.lookupRecords[x];w(B,C)}return B}}return null}function Iw(t,n){if(t.context.length<n.coverages.length)return[];for(let o=0;o<n.coverages.length;o++){let c=t.get(o);if(c=Array.isArray(c)?c[0]:c,Kr(c,n.coverages[o])===-1)return[]}let s=[];for(let o=0;o<n.lookupRecords.length;o++){let c=n.lookupRecords[o],h=c.lookupListIndex,d=this.getLookupByIndex(h);for(let B=0;B<d.subtables.length;B++){let w=d.subtables[B],x,C=this.getSubstitutionType(d,w);if(C==="71"?(C=this.getSubstitutionType(w,w.extension),x=this.getLookupMethod(w,w.extension),w=w.extension):x=this.getLookupMethod(d,w),C==="12"){let S=t.get(c.sequenceIndex),T=x(S);T&&s.push(T)}else if(C==="21"){let S=t.get(c.sequenceIndex),T=x(S);T&&s.push(T)}}}return s}function Fw(t,n){let s=Kr(t,n.coverage);return s===-1?null:n.sequences[s]}Jt.prototype.getDefaultScriptFeaturesIndexes=function(){let t=this.font.tables.gsub.scripts;for(let n=0;n<t.length;n++){let s=t[n];if(s.tag==="DFLT")return s.script.defaultLangSys.featureIndexes}return[]},Jt.prototype.getScriptFeaturesIndexes=function(t){if(!this.font.tables.gsub)return[];if(!t)return this.getDefaultScriptFeaturesIndexes();let s=this.font.tables.gsub.scripts;for(let o=0;o<s.length;o++){let c=s[o];if(c.tag===t&&c.script.defaultLangSys)return c.script.defaultLangSys.featureIndexes;{let h=c.langSysRecords;if(h)for(let d=0;d<h.length;d++){let B=h[d];if(B.tag===t)return B.langSys.featureIndexes}}}return this.getDefaultScriptFeaturesIndexes()},Jt.prototype.mapTagsToFeatures=function(t,n){let s={};for(let o=0;o<t.length;o++){let c=t[o].tag,h=t[o].feature;s[c]=h}this.features[n].tags=s},Jt.prototype.getScriptFeatures=function(t){let n=this.features[t];if(Object.prototype.hasOwnProperty.call(this.features,t))return n;let s=this.getScriptFeaturesIndexes(t);if(!s)return null;let o=this.font.tables.gsub;return n=s.map(c=>o.features[c]),this.features[t]=n,this.mapTagsToFeatures(n,t),n},Jt.prototype.getSubstitutionType=function(t,n){let s=t.lookupType.toString(),o=n.substFormat.toString();return s+o},Jt.prototype.getLookupMethod=function(t,n){let s=this.getSubstitutionType(t,n);switch(s){case"11":return o=>Cw.apply(this,[o,n]);case"12":return o=>bw.apply(this,[o,n]);case"63":return o=>xw.apply(this,[o,n]);case"41":return o=>Qw.apply(this,[o,n]);case"21":return o=>Fw.apply(this,[o,n]);case"51":return o=>vw.apply(this,[o,n]);case"53":return o=>Iw.apply(this,[o,n]);default:throw new Error(`substitutionType : ${s} lookupType: ${t.lookupType} - substFormat: ${n.substFormat} is not yet supported`)}},Jt.prototype.lookupFeature=function(t){let n=t.contextParams,s=n.index,o=this.getFeature({tag:t.tag,script:t.script});if(!o)return new Error(`font '${(this.font.names.unicode||this.font.names.windows||this.font.names.macintosh).fullName.en}' doesn't support feature '${t.tag}' for script '${t.script}'.`);let c=this.getFeatureLookups(o),h=[].concat(n.context);for(let d=0;d<c.length;d++){let B=c[d],w=this.getLookupSubtables(B);for(let x=0;x<w.length;x++){let C=w[x],S=this.getSubstitutionType(B,C),T;S==="71"?(S=this.getSubstitutionType(C,C.extension),T=this.getLookupMethod(C,C.extension),C=C.extension):T=this.getLookupMethod(B,C);let k;switch(S){case"11":k=T(n.current),k&&h.splice(s,1,new qr({id:11,tag:t.tag,substitution:k}));break;case"12":k=T(n.current),k&&h.splice(s,1,new qr({id:12,tag:t.tag,substitution:k}));break;case"63":k=T(n),Array.isArray(k)&&k.length&&h.splice(s,1,new qr({id:63,tag:t.tag,substitution:k}));break;case"41":k=T(n),k&&h.splice(s,1,new qr({id:41,tag:t.tag,substitution:k}));break;case"21":k=T(n.current),k&&h.splice(s,1,new qr({id:21,tag:t.tag,substitution:k}));break;case"51":case"53":k=T(n),Array.isArray(k)&&k.length&&h.splice(s,1,new qr({id:parseInt(S),tag:t.tag,substitution:k}));break}n=new St(h,s),!(Array.isArray(k)&&!k.length)&&(k=null)}}return h.length?h:null},Jt.prototype.supports=function(t){if(!t.script)return!1;this.getScriptFeatures(t.script);let n=Object.prototype.hasOwnProperty.call(this.features,t.script);if(!t.tag)return n;let s=this.features[t.script].some(o=>o.tag===t.tag);return n&&s},Jt.prototype.getLookupSubtables=function(t){return t.subtables||null},Jt.prototype.getLookupByIndex=function(t){return this.font.tables.gsub.lookups[t]||null},Jt.prototype.getFeatureLookups=function(t){return t.lookupListIndexes.map(this.getLookupByIndex.bind(this))},Jt.prototype.getFeature=function(n){if(!this.font)return{FAIL:"No font was found"};Object.prototype.hasOwnProperty.call(this.features,n.script)||this.getScriptFeatures(n.script);let s=this.features[n.script];return s?s.tags[n.tag]?this.features[n.script].tags[n.tag]:null:{FAIL:`No feature for script ${n.script}`}};var Tw=Jt;function Sw(t){let n=t.current,s=t.get(-1);return s===null&&zr(n)||!zr(s)&&zr(n)}function Dw(t){let n=t.get(1);return n===null||!zr(n)}var Mw={startCheck:Sw,endCheck:Dw};function Uw(t){let n=t.current,s=t.get(-1);return(zr(n)||Xr(n))&&!zr(s)}function Nw(t){let n=t.get(1);switch(!0){case n===null:return!0;case(!zr(n)&&!Xr(n)):{let s=yw(n);if(!s)return!0;if(s){let o=!1;if(o=t.lookahead.some(c=>zr(c)||Xr(c)),!o)return!0}break}default:return!1}}var kw={startCheck:Uw,endCheck:Nw};function Yw(t,n,s){n[s].setState(t.tag,t.substitution)}function Ow(t,n,s){n[s].setState(t.tag,t.substitution)}function io(t,n,s){for(let o=0;o<t.substitution.length;o++){let c=t.substitution[o],h=n[s+o];if(Array.isArray(c)){c.length?h.setState(t.tag,c[0]):h.setState("deleted",!0);continue}h.setState(t.tag,c)}}function Rw(t,n,s){let o=n[s];o.setState(t.tag,t.substitution.ligGlyph);let c=t.substitution.components.length;for(let h=0;h<c;h++)o=n[s+h+1],o.setState("deleted",!0)}var ou={11:Yw,12:Ow,63:io,41:Rw,51:io,53:io};function Gw(t,n,s){t instanceof qr&&ou[t.id]&&ou[t.id](t,n,s)}var gi=Gw;function Lw(t){let n=[].concat(t.backtrack);for(let s=n.length-1;s>=0;s--){let o=n[s],c=au(o),h=Xr(o);if(!c&&!h)return!0;if(c)return!1}return!1}function Pw(t){if(au(t.current))return!1;for(let n=0;n<t.lookahead.length;n++){let s=t.lookahead[n];if(!Xr(s))return!0}return!1}function Hw(t){let n="arab",s=this.featuresTags[n],o=this.tokenizer.getRangeTokens(t);if(o.length===1)return;let c=new St(o.map(d=>d.getState("glyphIndex")),0),h=new St(o.map(d=>d.char),0);for(let d=0;d<o.length;d++){let B=o[d];if(Xr(B.char))continue;c.setCurrentIndex(d),h.setCurrentIndex(d);let w=0;Lw(h)&&(w|=1),Pw(h)&&(w|=2);let x;switch(w){case 1:x="fina";break;case 2:x="init";break;case 3:x="medi";break}if(s.indexOf(x)===-1)continue;let C=this.query.lookupFeature({tag:x,script:n,contextParams:c});if(C instanceof Error){console.info(C.message);continue}for(let S=0;S<C.length;S++){let T=C[S];T instanceof qr&&(gi(T,o,S),c.context[S]=T.substitution)}}}var Ww=Hw;function Au(t,n){let s=t.map(o=>o.activeState.value);return new St(s,n||0)}function Jw(t){let n="arab",s=this.tokenizer.getRangeTokens(t),o=Au(s);for(let c=0;c<o.context.length;c++){o.setCurrentIndex(c);let h=this.query.lookupFeature({tag:"rlig",script:n,contextParams:o});if(h.length){for(let d=0;d<h.length;d++){let B=h[d];gi(B,s,c)}o=Au(s)}}}var Vw=Jw;function jw(t){return t.index===0&&t.context.length>1}function _w(t){return t.index===t.context.length-1}var Zw={startCheck:jw,endCheck:_w};function lu(t,n){let s=t.map(o=>o.activeState.value);return new St(s,n||0)}function zw(t){let n="delf",s="ccmp",o=this.tokenizer.getRangeTokens(t),c=lu(o);for(let h=0;h<c.context.length;h++){if(!this.query.getFeature({tag:s,script:n,contextParams:c}))continue;c.setCurrentIndex(h);let d=this.query.lookupFeature({tag:s,script:n,contextParams:c});if(d.length){for(let B=0;B<d.length;B++){let w=d[B];gi(w,o,h)}c=lu(o)}}}var Xw=zw;function qw(t){let n=t.current,s=t.get(-1);return s===null&&Qs(n)||!Qs(s)&&Qs(n)}function Kw(t){let n=t.get(1);return n===null||!Qs(n)}var $w={startCheck:qw,endCheck:Kw};function cu(t,n){let s=t.map(o=>o.activeState.value);return new St(s,n||0)}function ey(t){let n="latn",s=this.tokenizer.getRangeTokens(t),o=cu(s);for(let c=0;c<o.context.length;c++){o.setCurrentIndex(c);let h=this.query.lookupFeature({tag:"liga",script:n,contextParams:o});if(h.length){for(let d=0;d<h.length;d++){let B=h[d];gi(B,s,c)}o=cu(s)}}}var ty=ey;function ry(t){let n=t.current,s=t.get(-1);return s===null&&xs(n)||!xs(s)&&xs(n)}function iy(t){let n=t.get(1);return n===null||!xs(n)}var ny={startCheck:ry,endCheck:iy};function uu(t,n){let s=t.map(o=>o.activeState.value);return new St(s,n||0)}function sy(t){let n="thai",s=this.tokenizer.getRangeTokens(t),o=uu(s,0);for(let c=0;c<o.context.length;c++){o.setCurrentIndex(c);let h=this.query.lookupFeature({tag:"ccmp",script:n,contextParams:o});if(h.length){for(let d=0;d<h.length;d++){let B=h[d];gi(B,s,c)}o=uu(s,c)}}}var ay=sy;function hu(t,n){let s=t.map(o=>o.activeState.value);return new St(s,n||0)}function oy(t){let n="thai",s=this.tokenizer.getRangeTokens(t),o=hu(s,0);for(let c=0;c<o.context.length;c++){o.setCurrentIndex(c);let h=this.query.lookupFeature({tag:"liga",script:n,contextParams:o});if(h.length){for(let d=0;d<h.length;d++){let B=h[d];gi(B,s,c)}o=hu(s,c)}}}var Ay=oy;function pu(t,n){let s=t.map(o=>o.activeState.value);return new St(s,n||0)}function ly(t){let n="thai",s=this.tokenizer.getRangeTokens(t),o=pu(s,0);for(let c=0;c<o.context.length;c++){o.setCurrentIndex(c);let h=this.query.lookupFeature({tag:"rlig",script:n,contextParams:o});if(h.length){for(let d=0;d<h.length;d++){let B=h[d];gi(B,s,c)}o=pu(s,c)}}}var cy=ly;function no(t){if(t===null)return!1;let n=t.codePointAt(0);return n>=6155&&n<=6157||n>=65024&&n<=65039||n>=917760&&n<=917999}function uy(t){let n=t.current,s=t.get(1);return s===null&&no(n)||no(s)}function hy(t){let n=t.get(1);return n===null||!no(n)}var py={startCheck:uy,endCheck:hy};function fy(t){let n=this.query.font,s=this.tokenizer.getRangeTokens(t);if(s[1].setState("deleted",!0),n.tables.cmap&&n.tables.cmap.varSelectorList){let o=s[0].char.codePointAt(0),c=s[1].char.codePointAt(0),h=n.tables.cmap.varSelectorList[c];if(h!==void 0&&h.nonDefaultUVS){let d=h.nonDefaultUVS.uvsMappings;if(d[o]){let B=d[o].glyphID;n.glyphs.glyphs[B]!==void 0&&s[0].setState("glyphIndex",B)}}}}var dy=fy;function Zt(t){this.baseDir=t||"ltr",this.tokenizer=new ww,this.featuresTags={}}Zt.prototype.setText=function(t){this.text=t},Zt.prototype.contextChecks={ccmpReplacementCheck:Zw,latinWordCheck:$w,arabicWordCheck:Mw,arabicSentenceCheck:kw,thaiWordCheck:ny,unicodeVariationSequenceCheck:py};function Oi(t){let n=this.contextChecks[`${t}Check`];return this.tokenizer.registerContextChecker(t,n.startCheck,n.endCheck)}function gy(){return Oi.call(this,"ccmpReplacement"),Oi.call(this,"latinWord"),Oi.call(this,"arabicWord"),Oi.call(this,"arabicSentence"),Oi.call(this,"thaiWord"),Oi.call(this,"unicodeVariationSequence"),this.tokenizer.tokenize(this.text)}function my(){let t=this.tokenizer.getContextRanges("arabicSentence");for(let n=0;n<t.length;n++){let s=t[n],o=this.tokenizer.getRangeTokens(s);this.tokenizer.replaceRange(s.startIndex,s.endOffset,o.reverse())}}Zt.prototype.registerFeatures=function(t,n){let s=n.filter(o=>this.query.supports({script:t,tag:o}));Object.prototype.hasOwnProperty.call(this.featuresTags,t)?this.featuresTags[t]=this.featuresTags[t].concat(s):this.featuresTags[t]=s},Zt.prototype.applyFeatures=function(t,n){if(!t)throw new Error("No valid font was provided to apply features");this.query||(this.query=new Tw(t));for(let s=0;s<n.length;s++){let o=n[s];this.query.supports({script:o.script})&&this.registerFeatures(o.script,o.tags)}},Zt.prototype.registerModifier=function(t,n,s){this.tokenizer.registerModifier(t,n,s)};function bn(){if(this.tokenizer.registeredModifiers.indexOf("glyphIndex")===-1)throw new Error("glyphIndex modifier is required to apply arabic presentation features.")}function By(){if(!Object.prototype.hasOwnProperty.call(this.featuresTags,"arab"))return;bn.call(this);let n=this.tokenizer.getContextRanges("arabicWord");for(let s=0;s<n.length;s++){let o=n[s];Ww.call(this,o)}}function Ey(){bn.call(this);let t=this.tokenizer.getContextRanges("ccmpReplacement");for(let n=0;n<t.length;n++){let s=t[n];Xw.call(this,s)}}function wy(){if(!this.hasFeatureEnabled("arab","rlig"))return;bn.call(this);let t=this.tokenizer.getContextRanges("arabicWord");for(let n=0;n<t.length;n++){let s=t[n];Vw.call(this,s)}}function yy(){if(!this.hasFeatureEnabled("latn","liga"))return;bn.call(this);let t=this.tokenizer.getContextRanges("latinWord");for(let n=0;n<t.length;n++){let s=t[n];ty.call(this,s)}}function Cy(){let t=this.tokenizer.getContextRanges("unicodeVariationSequence");for(let n=0;n<t.length;n++){let s=t[n];dy.call(this,s)}}function by(){bn.call(this);let t=this.tokenizer.getContextRanges("thaiWord");for(let n=0;n<t.length;n++){let s=t[n];this.hasFeatureEnabled("thai","liga")&&Ay.call(this,s),this.hasFeatureEnabled("thai","rlig")&&cy.call(this,s),this.hasFeatureEnabled("thai","ccmp")&&ay.call(this,s)}}Zt.prototype.checkContextReady=function(t){return!!this.tokenizer.getContext(t)},Zt.prototype.applyFeaturesToContexts=function(){this.checkContextReady("ccmpReplacement")&&Ey.call(this),this.checkContextReady("arabicWord")&&(By.call(this),wy.call(this)),this.checkContextReady("latinWord")&&yy.call(this),this.checkContextReady("arabicSentence")&&my.call(this),this.checkContextReady("thaiWord")&&by.call(this),this.checkContextReady("unicodeVariationSequence")&&Cy.call(this)},Zt.prototype.hasFeatureEnabled=function(t,n){return(this.featuresTags[t]||[]).indexOf(n)!==-1},Zt.prototype.processText=function(t){(!this.text||this.text!==t)&&(this.setText(t),gy.call(this),this.applyFeaturesToContexts())},Zt.prototype.getBidiText=function(t){return this.processText(t),this.tokenizer.getText()},Zt.prototype.getTextGlyphs=function(t){this.processText(t);let n=[];for(let s=0;s<this.tokenizer.tokens.length;s++){let o=this.tokenizer.tokens[s];if(o.state.deleted)continue;let c=o.activeState.value;n.push(Array.isArray(c)?c[0]:c)}return n};var xy=Zt;function so(t){return{fontFamily:{en:t.familyName||" "},fontSubfamily:{en:t.styleName||" "},fullName:{en:t.fullName||t.familyName+" "+t.styleName},postScriptName:{en:t.postScriptName||(t.familyName+t.styleName).replace(/\s/g,"")},designer:{en:t.designer||" "},designerURL:{en:t.designerURL||" "},manufacturer:{en:t.manufacturer||" "},manufacturerURL:{en:t.manufacturerURL||" "},license:{en:t.license||" "},licenseURL:{en:t.licenseURL||" "},version:{en:t.version||"Version 0.1"},description:{en:t.description||" "},copyright:{en:t.copyright||" "},trademark:{en:t.trademark||" "}}}function et(t){if(t=t||{},t.tables=t.tables||{},!t.empty){if(!t.familyName)throw new Error("When creating a new Font object, familyName is required.");if(!t.styleName)throw new Error("When creating a new Font object, styleName is required.");if(!t.unitsPerEm)throw new Error("When creating a new Font object, unitsPerEm is required.");if(!t.ascender)throw new Error("When creating a new Font object, ascender is required.");if(t.descender>0)throw new Error("When creating a new Font object, negative descender value is required.");this.names={},this.names.unicode=so(t),this.names.macintosh=so(t),this.names.windows=so(t),this.unitsPerEm=t.unitsPerEm||1e3,this.ascender=t.ascender,this.descender=t.descender,this.createdTimestamp=t.createdTimestamp,this.italicAngle=t.italicAngle||0,this.weightClass=t.weightClass||0;let n=0;t.fsSelection?n=t.fsSelection:(this.italicAngle<0?n|=this.fsSelectionValues.ITALIC:this.italicAngle>0&&(n|=this.fsSelectionValues.OBLIQUE),this.weightClass>=600&&(n|=this.fsSelectionValues.BOLD),n===0&&(n=this.fsSelectionValues.REGULAR)),(!t.panose||!Array.isArray(t.panose))&&(t.panose=[0,0,0,0,0,0,0,0,0]),this.tables=Object.assign(t.tables,{os2:Object.assign({usWeightClass:t.weightClass||this.usWeightClasses.MEDIUM,usWidthClass:t.widthClass||this.usWidthClasses.MEDIUM,bFamilyType:t.panose[0]||0,bSerifStyle:t.panose[1]||0,bWeight:t.panose[2]||0,bProportion:t.panose[3]||0,bContrast:t.panose[4]||0,bStrokeVariation:t.panose[5]||0,bArmStyle:t.panose[6]||0,bLetterform:t.panose[7]||0,bMidline:t.panose[8]||0,bXHeight:t.panose[9]||0,fsSelection:n},t.tables.os2)})}this.supported=!0,this.glyphs=new dr.GlyphSet(this,t.glyphs||[]),this.encoding=new Jl(this),this.position=new EE(this),this.substitution=new vE(this),this.tables=this.tables||{},this.tables=new Proxy(this.tables,{set:(n,s,o)=>(n[s]=o,n.fvar&&(n.gvar||n.cff2)&&!this.variation&&(this.variation=new PE(this)),!0)}),this.palettes=new Uc(this),this.layers=new IE(this),this.svgImages=new FE(this),this._push=null,this._hmtxTableData={},Object.defineProperty(this,"hinting",{get:function(){return this._hinting?this._hinting:this.outlinesFormat==="truetype"?this._hinting=new mw(this):null}})}et.prototype.hasChar=function(t){return this.encoding.charToGlyphIndex(t)>0},et.prototype.charToGlyphIndex=function(t){return this.encoding.charToGlyphIndex(t)},et.prototype.charToGlyph=function(t){let n=this.charToGlyphIndex(t),s=this.glyphs.get(n);return s||(s=this.glyphs.get(0)),s},et.prototype.updateFeatures=function(t){return this.defaultRenderOptions.features.map(n=>n.script==="latn"?{script:"latn",tags:n.tags.filter(s=>t[s])}:n)},et.prototype.stringToGlyphIndexes=function(t,n){let s=new xy,o=h=>this.charToGlyphIndex(h.char);s.registerModifier("glyphIndex",null,o);let c=n?this.updateFeatures(n.features):this.defaultRenderOptions.features;return s.applyFeatures(this,c),s.getTextGlyphs(t)},et.prototype.stringToGlyphs=function(t,n){let s=this.stringToGlyphIndexes(t,n),o=s.length,c=new Array(o),h=this.glyphs.get(0);for(let d=0;d<o;d+=1)c[d]=this.glyphs.get(s[d])||h;return c},et.prototype.nameToGlyphIndex=function(t){return this.glyphNames.nameToGlyphIndex(t)},et.prototype.nameToGlyph=function(t){let n=this.nameToGlyphIndex(t),s=this.glyphs.get(n);return s||(s=this.glyphs.get(0)),s},et.prototype.glyphIndexToName=function(t){return this.glyphNames.glyphIndexToName?this.glyphNames.glyphIndexToName(t):""},et.prototype.getKerningValue=function(t,n){t=t.index||t,n=n.index||n;let s=this.position.defaultKerningTables;return s?this.position.getKerningValue(s,t,n):this.kerningPairs[t+","+n]||0},et.prototype.defaultRenderOptions={kerning:!0,features:[{script:"arab",tags:["init","medi","fina","rlig"]},{script:"latn",tags:["liga","rlig"]},{script:"thai",tags:["liga","rlig","ccmp"]}],hinting:!1,usePalette:0,drawLayers:!0,drawSVG:!0},et.prototype.forEachGlyph=function(t,n,s,o,c,h){n=n!==void 0?n:0,s=s!==void 0?s:0,o=o!==void 0?o:72,c=Object.assign({},this.defaultRenderOptions,c);let d=1/this.unitsPerEm*o,B=this.stringToGlyphs(t,c),w;if(c.kerning){let x=c.script||this.position.getDefaultScriptName();w=this.position.getKerningTables(x,c.language)}for(let x=0;x<B.length;x+=1){let C=B[x];if(h.call(this,C,n,s,o,c),C.advanceWidth&&(n+=C.advanceWidth*d),c.kerning&&x<B.length-1){let S=w?this.position.getKerningValue(w,C.index,B[x+1].index):this.getKerningValue(C,B[x+1]);n+=S*d}c.letterSpacing?n+=c.letterSpacing*o:c.tracking&&(n+=c.tracking/1e3*o)}return n},et.prototype.getPath=function(t,n,s,o,c){c=Object.assign({},this.defaultRenderOptions,c);let h=new X;if(h._layers=[],rc(this,h,o),h.stroke){let d=1/(h.unitsPerEm||1e3)*o;h.strokeWidth*=d}return this.forEachGlyph(t,n,s,o,c,(d,B,w,x)=>{let C=d.getPath(B,w,x,c,this);if(c.drawSVG||c.drawLayers){let S=C._layers;if(S&&S.length){for(let T=0;T<S.length;T++){let k=S[T];h._layers.push(k)}return}}h.extend(C)}),h},et.prototype.getPaths=function(t,n,s,o,c){c=Object.assign({},this.defaultRenderOptions,c);let h=[];return this.forEachGlyph(t,n,s,o,c,function(d,B,w,x){let C=d.getPath(B,w,x,c,this);h.push(C)}),h},et.prototype.getAdvanceWidth=function(t,n,s){return s=Object.assign({},this.defaultRenderOptions,s),this.forEachGlyph(t,0,0,n,s,function(){})},et.prototype.draw=function(t,n,s,o,c,h){this.getPath(n,s,o,c,h).draw(t)},et.prototype.drawPoints=function(t,n,s,o,c,h){h=Object.assign({},this.defaultRenderOptions,h),this.forEachGlyph(n,s,o,c,h,function(d,B,w,x){d.drawPoints(t,B,w,x,h,this)})},et.prototype.drawMetrics=function(t,n,s,o,c,h){h=Object.assign({},this.defaultRenderOptions,h),this.forEachGlyph(n,s,o,c,h,function(d,B,w,x){d.drawMetrics(t,B,w,x)})},et.prototype.getEnglishName=function(t){let n=(this.names.unicode||this.names.macintosh||this.names.windows)[t];if(n)return n.en},et.prototype.validate=function(){let t=[],n=this;function s(c,h){c||(console.warn(`[opentype.js] ${h}`),t.push(h))}function o(c){let h=n.getEnglishName(c);s(h&&h.trim().length>0,"No English "+c+" specified.")}if(o("fontFamily"),o("weightName"),o("manufacturer"),o("copyright"),o("version"),s(this.unitsPerEm>0,"No unitsPerEm specified."),this.tables.colr){let c=this.tables.colr.baseGlyphRecords,h=-1;for(let d=0;d<c.length;d++){let B=c[d].glyphID;if(s(h<c[d].glyphID,`baseGlyphs must be sorted by GlyphID in ascending order, but glyphID ${B} comes after ${h}`),h>c[d].glyphID)break;h=B}}return t},et.prototype.toTables=function(){return BE.fontToTable(this)},et.prototype.toBuffer=function(){return console.warn("Font.toBuffer is deprecated. Use Font.toArrayBuffer instead."),this.toArrayBuffer()},et.prototype.toArrayBuffer=function(){let n=this.toTables().encode(),s=new ArrayBuffer(n.length),o=new Uint8Array(s);for(let c=0;c<n.length;c++)o[c]=n[c];return s},et.prototype.download=function(){console.error("DEPRECATED: platform-specific actions are to be implemented on user-side")},et.prototype.fsSelectionValues={ITALIC:1,UNDERSCORE:2,NEGATIVE:4,OUTLINED:8,STRIKEOUT:16,BOLD:32,REGULAR:64,USER_TYPO_METRICS:128,WWS:256,OBLIQUE:512},et.prototype.macStyleValues={BOLD:1,ITALIC:2,UNDERLINE:4,OUTLINED:8,SHADOW:16,CONDENSED:32,EXTENDED:64},et.prototype.usWidthClasses={ULTRA_CONDENSED:1,EXTRA_CONDENSED:2,CONDENSED:3,SEMI_CONDENSED:4,MEDIUM:5,SEMI_EXPANDED:6,EXPANDED:7,EXTRA_EXPANDED:8,ULTRA_EXPANDED:9},et.prototype.usWeightClasses={THIN:100,EXTRA_LIGHT:200,LIGHT:300,NORMAL:400,MEDIUM:500,SEMI_BOLD:600,BOLD:700,EXTRA_BOLD:800,BLACK:900};var fu=et;function Qy(t,n){let s=new he.Parser(t,n),o=s.parseUShort(),c=s.parseUShort();o!==1&&console.warn(`Unsupported hvar table version ${o}.${c}`);let h=[o,c],d=s.parsePointer32(function(){return this.parseItemVariationStore()}),B=s.parsePointer32(function(){return this.parseDeltaSetIndexMap()}),w=s.parsePointer32(function(){return this.parseDeltaSetIndexMap()}),x=s.parsePointer32(function(){return this.parseDeltaSetIndexMap()});return{version:h,itemVariationStore:d,advanceWidth:B,lsb:w,rsb:x}}function vy(){console.warn("Writing of hvar tables is not yet supported.")}var Iy={make:vy,parse:Qy},Fy=function(){return{coverage:this.parsePointer(V.coverage),attachPoints:this.parseList(V.pointer(V.uShortList))}},Ty=function(){var t=this.parseUShort();if(G.argument(t===1||t===2||t===3,"Unsupported CaretValue table version."),t===1)return{coordinate:this.parseShort()};if(t===2)return{pointindex:this.parseShort()};if(t===3)return{coordinate:this.parseShort()}},Sy=function(){return this.parseList(V.pointer(Ty))},Dy=function(){return{coverage:this.parsePointer(V.coverage),ligGlyphs:this.parseList(V.pointer(Sy))}},My=function(){return this.parseUShort(),this.parseList(V.pointer(V.coverage))};function Uy(t,n){n=n||0;let s=new V(t,n),o=s.parseVersion(1);G.argument(o===1||o===1.2||o===1.3,"Unsupported GDEF table version.");var c={version:o,classDef:s.parsePointer(V.classDef),attachList:s.parsePointer(Fy),ligCaretList:s.parsePointer(Dy),markAttachClassDef:s.parsePointer(V.classDef)};return o>=1.2&&(c.markGlyphSets=s.parsePointer(My)),c}var Ny={parse:Uy},nr=new Array(10);nr[1]=function(){let n=this.offset+this.relativeOffset,s=this.parseUShort();if(s===1)return{posFormat:1,coverage:this.parsePointer(V.coverage),value:this.parseValueRecord()};if(s===2)return{posFormat:2,coverage:this.parsePointer(V.coverage),values:this.parseValueRecordList()};G.assert(!1,"0x"+n.toString(16)+": GPOS lookup type 1 format must be 1 or 2.")},nr[2]=function(){let n=this.offset+this.relativeOffset,s=this.parseUShort();G.assert(s===1||s===2,"0x"+n.toString(16)+": GPOS lookup type 2 format must be 1 or 2.");let o=this.parsePointer(V.coverage),c=this.parseUShort(),h=this.parseUShort();if(s===1)return{posFormat:s,coverage:o,valueFormat1:c,valueFormat2:h,pairSets:this.parseList(V.pointer(V.list(function(){return{secondGlyph:this.parseUShort(),value1:this.parseValueRecord(c),value2:this.parseValueRecord(h)}})))};if(s===2){let d=this.parsePointer(V.classDef),B=this.parsePointer(V.classDef),w=this.parseUShort(),x=this.parseUShort();return{posFormat:s,coverage:o,valueFormat1:c,valueFormat2:h,classDef1:d,classDef2:B,class1Count:w,class2Count:x,classRecords:this.parseList(w,V.list(x,function(){return{value1:this.parseValueRecord(c),value2:this.parseValueRecord(h)}}))}}},nr[3]=function(){return{error:"GPOS Lookup 3 not supported"}},nr[4]=function(){return{error:"GPOS Lookup 4 not supported"}},nr[5]=function(){return{error:"GPOS Lookup 5 not supported"}},nr[6]=function(){return{error:"GPOS Lookup 6 not supported"}},nr[7]=function(){return{error:"GPOS Lookup 7 not supported"}},nr[8]=function(){return{error:"GPOS Lookup 8 not supported"}},nr[9]=function(){return{error:"GPOS Lookup 9 not supported"}};function ky(t,n){n=n||0;let s=new V(t,n),o=s.parseVersion(1);return G.argument(o===1||o===1.1,"Unsupported GPOS table version "+o),o===1?{version:o,scripts:s.parseScriptList(),features:s.parseFeatureList(),lookups:s.parseLookupList(nr)}:{version:o,scripts:s.parseScriptList(),features:s.parseFeatureList(),lookups:s.parseLookupList(nr),variations:s.parseFeatureVariationsList()}}var Yy=new Array(10);function Oy(t){return new $.Table("GPOS",[{name:"version",type:"ULONG",value:65536},{name:"scripts",type:"TABLE",value:new $.ScriptList(t.scripts)},{name:"features",type:"TABLE",value:new $.FeatureList(t.features)},{name:"lookups",type:"TABLE",value:new $.LookupList(t.lookups,Yy)}])}var Ry={parse:ky,make:Oy};function Gy(t){let n={};t.skip("uShort");let s=t.parseUShort();G.argument(s===0,"Unsupported kern sub-table version."),t.skip("uShort",2);let o=t.parseUShort();t.skip("uShort",3);for(let c=0;c<o;c+=1){let h=t.parseUShort(),d=t.parseUShort(),B=t.parseShort();n[h+","+d]=B}return n}function Ly(t){let n={};t.skip("uShort"),t.parseULong()>1&&console.warn("Only the first kern subtable is supported."),t.skip("uLong");let c=t.parseUShort()&255;if(t.skip("uShort"),c===0){let h=t.parseUShort();t.skip("uShort",3);for(let d=0;d<h;d+=1){let B=t.parseUShort(),w=t.parseUShort(),x=t.parseShort();n[B+","+w]=x}}return n}function Py(t,n){let s=new he.Parser(t,n),o=s.parseUShort();if(o===0)return Gy(s);if(o===1)return Ly(s);throw new Error("Unsupported kern table version ("+o+").")}var Hy={parse:Py};function Wy(t,n,s,o){let c=new he.Parser(t,n),h=o?c.parseUShort:c.parseULong,d=[];for(let B=0;B<s+1;B+=1){let w=h.call(c);o&&(w*=2),d.push(w)}return d}var Jy={parse:Wy};function du(t,n){let s=[],o=12;for(let c=0;c<n;c+=1){let h=he.getTag(t,o),d=he.getULong(t,o+4),B=he.getULong(t,o+8),w=he.getULong(t,o+12);s.push({tag:h,checksum:d,offset:B,length:w,compression:!1}),o+=16}return s}function Vy(t,n){let s=[],o=44;for(let c=0;c<n;c+=1){let h=he.getTag(t,o),d=he.getULong(t,o+4),B=he.getULong(t,o+8),w=he.getULong(t,o+12),x;B<w?x="WOFF":x=!1,s.push({tag:h,offset:d,compression:x,compressedLength:B,length:w}),o+=20}return s}function Xe(t,n){if(n.compression==="WOFF"){let s=new Uint8Array(t.buffer,n.offset+2,n.compressedLength-2),o=new Uint8Array(n.length);if(pe(s,o),o.byteLength!==n.length)throw new Error("Decompression error: "+n.tag+" decompressed length doesn't match recorded length");return{data:new DataView(o.buffer,0),offset:0}}else return{data:t,offset:n.offset}}function jy(t,n={}){let s,o,c=new fu({empty:!0});t.constructor!==ArrayBuffer&&(t=new Uint8Array(t).buffer);let h=new DataView(t,0),d,B=[],w=he.getTag(h,0);if(w==="\0\0\0"||w==="true"||w==="typ1")c.outlinesFormat="truetype",d=he.getUShort(h,4),B=du(h,d);else if(w==="OTTO")c.outlinesFormat="cff",d=he.getUShort(h,4),B=du(h,d);else if(w==="wOFF"){let Se=he.getTag(h,4);if(Se==="\0\0\0")c.outlinesFormat="truetype";else if(Se==="OTTO")c.outlinesFormat="cff";else throw new Error("Unsupported OpenType flavor "+w);d=he.getUShort(h,12),B=Vy(h,d)}else if(w==="wOF2"){let Se="https://github.com/opentypejs/opentype.js/issues/183#issuecomment-1147228025";throw new Error("WOFF2 require an external decompressor library, see examples at: "+Se)}else throw new Error("Unsupported OpenType signature "+w);let x,C,S,T,k,U,L,ee,Te,xe,Re,Je,$e,nt,st,Bt,sr,Ve;for(let Se=0;Se<d;Se+=1){let we=B[Se],Ce;switch(we.tag){case"avar":L=we;break;case"cmap":Ce=Xe(h,we),c.tables.cmap=Wl.parse(Ce.data,Ce.offset),c.encoding=new Vl(c.tables.cmap);break;case"cvt ":Ce=Xe(h,we),Ve=new he.Parser(Ce.data,Ce.offset),c.tables.cvt=Ve.parseShortList(we.length/2);break;case"fvar":S=we;break;case"STAT":T=we;break;case"gvar":k=we;break;case"cvar":U=we;break;case"fpgm":Ce=Xe(h,we),Ve=new he.Parser(Ce.data,Ce.offset),c.tables.fpgm=Ve.parseByteList(we.length);break;case"head":Ce=Xe(h,we),c.tables.head=Ac.parse(Ce.data,Ce.offset),c.unitsPerEm=c.tables.head.unitsPerEm,s=c.tables.head.indexToLocFormat;break;case"hhea":Ce=Xe(h,we),c.tables.hhea=lc.parse(Ce.data,Ce.offset),c.ascender=c.tables.hhea.ascender,c.descender=c.tables.hhea.descender,c.numberOfHMetrics=c.tables.hhea.numberOfHMetrics;break;case"HVAR":$e=we;break;case"hmtx":Je=we;break;case"ltag":Ce=Xe(h,we),o=uc.parse(Ce.data,Ce.offset);break;case"COLR":Ce=Xe(h,we),c.tables.colr=gc.parse(Ce.data,Ce.offset);break;case"CPAL":Ce=Xe(h,we),c.tables.cpal=zl.parse(Ce.data,Ce.offset);break;case"maxp":Ce=Xe(h,we),c.tables.maxp=hc.parse(Ce.data,Ce.offset),c.numGlyphs=c.tables.maxp.numGlyphs;break;case"name":Bt=we;break;case"OS/2":Ce=Xe(h,we),c.tables.os2=Va.parse(Ce.data,Ce.offset);break;case"post":Ce=Xe(h,we),c.tables.post=pc.parse(Ce.data,Ce.offset),c.glyphNames=new Ya(c.tables.post);break;case"prep":Ce=Xe(h,we),Ve=new he.Parser(Ce.data,Ce.offset),c.tables.prep=Ve.parseByteList(we.length);break;case"glyf":ee=we;break;case"loca":st=we;break;case"CFF ":x=we;break;case"CFF2":C=we;break;case"kern":nt=we;break;case"GDEF":Te=we;break;case"GPOS":xe=we;break;case"GSUB":Re=we;break;case"meta":sr=we;break;case"gasp":try{Ce=Xe(h,we),c.tables.gasp=Cc.parse(Ce.data,Ce.offset)}catch(vt){console.warn("Failed to parse gasp table, skipping."),console.warn(vt)}break;case"SVG ":Ce=Xe(h,we),c.tables.svg=bc.parse(Ce.data,Ce.offset);break;default:break}}let Vt=Xe(h,Bt);if(c.tables.name=dn.parse(Vt.data,Vt.offset,o),c.names=c.tables.name,ee&&st){let Se=s===0,we=Xe(h,st),Ce=Jy.parse(we.data,we.offset,c.numGlyphs,Se),vt=Xe(h,ee);c.glyphs=Oc.parse(vt.data,vt.offset,Ce,c,n)}else if(x){let Se=Xe(h,x);Wa.parse(Se.data,Se.offset,c,n)}else if(C){let Se=Xe(h,C);Wa.parse(Se.data,Se.offset,c,n)}else throw new Error("Font doesn't contain TrueType, CFF or CFF2 outlines.");let Dt=Xe(h,Je);if(cc.parse(c,Dt.data,Dt.offset,c.numberOfHMetrics,c.numGlyphs,c.glyphs,n),J0(c,n),nt){let Se=Xe(h,nt);c.kerningPairs=Hy.parse(Se.data,Se.offset)}else c.kerningPairs={};if(Te){let Se=Xe(h,Te);c.tables.gdef=Ny.parse(Se.data,Se.offset)}if(xe){let Se=Xe(h,xe);c.tables.gpos=Ry.parse(Se.data,Se.offset),c.position.init()}if(Re){let Se=Xe(h,Re);c.tables.gsub=fc.parse(Se.data,Se.offset)}if(S){let Se=Xe(h,S);c.tables.fvar=mc.parse(Se.data,Se.offset,c.names)}if(T){let Se=Xe(h,T);c.tables.stat=Bc.parse(Se.data,Se.offset,c.tables.fvar)}if(k){S||console.warn("This font provides a gvar table, but no fvar table, which is required for variable fonts."),ee||console.warn("This font provides a gvar table, but no glyf table. Glyph variation only works with TrueType outlines.");let Se=Xe(h,k);c.tables.gvar=yc.parse(Se.data,Se.offset,c.tables.fvar,c.glyphs)}if(U){S||console.warn("This font provides a cvar table, but no fvar table, which is required for variable fonts."),c.tables.cvt||console.warn("This font provides a cvar table, but no cvt table which could be made variable."),ee||console.warn("This font provides a gvar table, but no glyf table. Glyph variation only works with TrueType outlines.");let Se=Xe(h,U);c.tables.cvar=wc.parse(Se.data,Se.offset,c.tables.fvar,c.tables.cvt||[])}if(L){S||console.warn("This font provides an avar table, but no fvar table, which is required for variable fonts.");let Se=Xe(h,L);c.tables.avar=Ec.parse(Se.data,Se.offset,c.tables.fvar)}if($e){S||console.warn("This font provides an HVAR table, but no fvar table, which is required for variable fonts."),Je||console.warn("This font provides an HVAR table, but no hmtx table to vary.");let Se=Xe(h,$e);c.tables.hvar=Iy.parse(Se.data,Se.offset,c.tables.fvar)}if(sr){let Se=Xe(h,sr);c.tables.meta=dc.parse(Se.data,Se.offset),c.metas=c.tables.meta}return c.palettes=new Uc(c),c}function _y(){console.error("DEPRECATED! migrate to: opentype.parse(buffer, opt) See: https://github.com/opentypejs/opentype.js/issues/675")}function Zy(){console.error('DEPRECATED! migrate to: opentype.parse(require("fs").readFileSync(url), opt)')}return u(p)})();(function(r,e){typeof define=="function"&&define.amd?define(e):typeof Qa=="object"&&Qa.exports?Qa.exports=e():r.opentype=e()})(typeof self<"u"?self:Q0,()=>({...x0,default:x0}))});var Mu=xn(Du(),1),{program:LT,createCommand:PT,createArgument:HT,createOption:WT,CommanderError:JT,InvalidArgumentError:VT,InvalidOptionArgumentError:jT,Command:Gi,Argument:_T,Option:Li,Help:ZT}=Mu.default;var Ms=["https://meta.fabricmc.net","https://meta2.fabricmc.net","https://meta3.fabricmc.net"],mC=["https://maven.fabricmc.net","https://maven2.fabricmc.net","https://maven3.fabricmc.net"],BC=0;async function Pi(){return ks(Ms,"/v2/versions/game")}async function Us(){return ks(Ms,"/v2/versions/loader")}function Uu(r,e){return r.stable?e.find(i=>i.stable).version:e[0].version}async function Nu(){return ks(Ms,"/v2/versions/yarn")}async function ku(r){return ks(Ms,"/v2/versions/yarn/"+r)}function EC(){return Gu("/net/fabricmc/fabric-api/fabric-api/maven-metadata.xml")}function Yu(){return Gu("/net/fabricmc/fabric-language-kotlin/maven-metadata.xml")}async function Ns(r){let i=(await EC()).filter(a=>CC(a,r)).pop();if(!i)throw new Error(`Could not find a valid Fabric API version for Minecraft ${r}`);return i}function wC(r){return yC(r)[0]}function yC(r){return r.split("-")[0].split(".").map(i=>parseInt(i))}function CC(r,e){if(!e)return!1;if(e=="1.18")return r=="0.44.0+1.18";let i=e;if(["1.14","1.15","1.16","1.17","1.18","1.19","1.20","20w14infinite","1.18_experimental"].forEach(u=>{e.startsWith(u)&&(i=u)}),wC(e)>=26){let u=e.indexOf("-");var l=e.substring(0,u===-1?e.length:u);i=l}return e.endsWith("_unobfuscated")?i="1.21.11_unobfuscated":e.startsWith("25w14craftmine")?i="25w14craftmine":e.startsWith("22w13oneblockatatime")?i="22w13oneblockatatime":e.startsWith("25w")?i="1.21.11":e.startsWith("24w")?i="1.21.4":e.startsWith("23w")?i="1.20.5":e.startsWith("22w")?i="1.19.3":e.startsWith("1.18.2")?i="1.18.2":e.startsWith("1.19.1")?i="1.19.1":e.startsWith("1.19.2")?i="1.19.2":e.startsWith("1.19.3")?i="1.19.3":e.startsWith("1.19.4")?i="1.19.4":e.startsWith("1.20.1")?i="1.20.1":e.startsWith("1.20.2")?i="1.20.2":e.startsWith("1.20.3")?i="1.20.3":e.startsWith("1.20.4")?i="1.20.4":e.startsWith("1.20.5")?i="1.20.5":e.startsWith("1.20.6")?i="1.20.6":e.startsWith("1.21.6")?i="1.21.6":e.startsWith("1.21.7")?i="1.21.7":e.startsWith("1.21.8")?i="1.21.8":e.startsWith("1.21.9")?i="1.21.9":e.startsWith("1.21.10")?i="1.21.10":e.startsWith("1.21.11")?i="1.21.11":e.startsWith("1.21.5")?i="1.21.5":e.startsWith("1.21.4")?i="1.21.4":e.startsWith("1.21.3")?i="1.21.3":e.startsWith("1.21.2")?i="1.21.2":e.startsWith("1.21.1")?i="1.21.1":e.startsWith("1.21")?i="1.21":e.startsWith("21w")?i="1.18":e.startsWith("20w")?i="1.17":(e.startsWith("19w")||e.startsWith("18w"))&&(i="1.14"),r.endsWith("-"+i)||r.endsWith("+"+i)}var Ou=r=>{let i=new DOMParser().parseFromString(r,"text/xml");return Array.from(i.getElementsByTagName("version")).map(a=>a.childNodes[0].nodeValue)};function Ru(r){Ou=r}async function Gu(r){let e=await bC(mC,r);return Ou(e)}async function ks(r,e){return await(await Lu(r,e)).json()}async function bC(r,e){return await(await Lu(r,e)).text()}async function Lu(r,e){let i;for(var a of[5e3,3e4])for(var A of r){let l=A+e;try{let u=await fetch(l,{signal:AbortSignal.timeout(a)});if(u.ok)return BC=r.indexOf(A),u;throw new Error(`HTTP ${u.status} ${u.statusText}`.trim())}catch(u){i??=u instanceof Error?u.message:String(u),console.error(u)}}throw new Error(`Failed to fetch: ${r[0]+e}. ${i}`)}var Ls=class extends Error{constructor(r){super(r),this.name="Eta Error"}},Wu=class extends Ls{constructor(r){super(r),this.name="EtaParser Error"}},xC=class extends Ls{constructor(r){super(r),this.name="EtaRuntime Error"}};var QC=class extends Ls{constructor(r){super(r),this.name="EtaNameResolution Error"}};function vn(r,e,i){let a=e.slice(0,i).split(/\n/),A=a.length,l=a[A-1].length+1;throw r+=" at line "+A+" col "+l+`:
|
|
129
|
+
`),this.close()}_(e,i){return e.toLowerCase()==="y"?(this.value=!0,this.submit()):e.toLowerCase()==="n"?(this.value=!1,this.submit()):this.bell()}render(){this.closed||(this.firstRender?this.out.write(Xd.hide):this.out.write(wv(this.outputText,this.out.columns)),super.render(),this.outputText=[zd.symbol(this.done,this.aborted),Zd.bold(this.msg),zd.delimiter(this.done),this.done?this.value?this.yesMsg:this.noMsg:Zd.gray(this.initialValue?this.yesOption:this.noOption)].join(" "),this.out.write(yv.line+Xd.to(0)+this.outputText))}};qd.exports=GA});var eg=ae((eU,$d)=>{"use strict";$d.exports={TextPrompt:qf(),SelectPrompt:td(),TogglePrompt:sd(),DatePrompt:Dd(),NumberPrompt:kd(),MultiselectPrompt:NA(),AutocompletePrompt:Wd(),AutocompleteMultiselectPrompt:_d(),ConfirmPrompt:Kd()}});var rg=ae(tg=>{"use strict";var Gt=tg,Cv=eg(),Aa=r=>r;function xr(r,e,i={}){return new Promise((a,A)=>{let l=new Cv[r](e),u=i.onAbort||Aa,p=i.onSubmit||Aa,f=i.onExit||Aa;l.on("state",e.onState||Aa),l.on("submit",g=>a(p(g))),l.on("exit",g=>a(f(g))),l.on("abort",g=>A(u(g)))})}Gt.text=r=>xr("TextPrompt",r);Gt.password=r=>(r.style="password",Gt.text(r));Gt.invisible=r=>(r.style="invisible",Gt.text(r));Gt.number=r=>xr("NumberPrompt",r);Gt.date=r=>xr("DatePrompt",r);Gt.confirm=r=>xr("ConfirmPrompt",r);Gt.list=r=>{let e=r.separator||",";return xr("TextPrompt",r,{onSubmit:i=>i.split(e).map(a=>a.trim())})};Gt.toggle=r=>xr("TogglePrompt",r);Gt.select=r=>xr("SelectPrompt",r);Gt.multiselect=r=>{r.choices=[].concat(r.choices||[]);let e=i=>i.filter(a=>a.selected).map(a=>a.value);return xr("MultiselectPrompt",r,{onAbort:e,onSubmit:e})};Gt.autocompleteMultiselect=r=>{r.choices=[].concat(r.choices||[]);let e=i=>i.filter(a=>a.selected).map(a=>a.value);return xr("AutocompleteMultiselectPrompt",r,{onAbort:e,onSubmit:e})};var bv=(r,e)=>Promise.resolve(e.filter(i=>i.title.slice(0,r.length).toLowerCase()===r.toLowerCase()));Gt.autocomplete=r=>(r.suggest=r.suggest||bv,r.choices=[].concat(r.choices||[]),xr("AutocompletePrompt",r))});var sg=ae((rU,ng)=>{"use strict";var LA=rg(),xv=["suggest","format","onState","validate","onRender","type"],ig=()=>{};async function ni(r=[],{onSubmit:e=ig,onCancel:i=ig}={}){let a={},A=ni._override||{};r=[].concat(r);let l,u,p,f,g,m,E=async(b,y,Q=!1)=>{if(!(!Q&&b.validate&&b.validate(y)!==!0))return b.format?await b.format(y,a):y};for(u of r)if({name:f,type:g}=u,typeof g=="function"&&(g=await g(l,{...a},u),u.type=g),!!g){for(let b in u){if(xv.includes(b))continue;let y=u[b];u[b]=typeof y=="function"?await y(l,{...a},m):y}if(m=u,typeof u.message!="string")throw new Error("prompt message is required");if({name:f,type:g}=u,LA[g]===void 0)throw new Error(`prompt type (${g}) is not defined`);if(A[u.name]!==void 0&&(l=await E(u,A[u.name]),l!==void 0)){a[f]=l;continue}try{l=ni._injected?Qv(ni._injected,u.initial):await LA[g](u),a[f]=l=await E(u,l,!0),p=await e(u,l,a)}catch{p=!await i(u,a)}if(p)return a}return a}function Qv(r,e){let i=r.shift();if(i instanceof Error)throw i;return i===void 0?e:i}function vv(r){ni._injected=(ni._injected||[]).concat(r)}function Iv(r){ni._override=Object.assign({},r)}ng.exports=Object.assign(ni,{prompt:ni,prompts:LA,inject:vv,override:Iv})});var og=ae((iU,ag)=>{function Fv(r){r=(Array.isArray(r)?r:r.split(".")).map(Number);let e=0,i=process.versions.node.split(".").map(Number);for(;e<r.length;e++){if(i[e]>r[e])return!1;if(r[e]>i[e])return!0}return!1}ag.exports=Fv("8.6.0")?Df():sg()});var pl=ae((XN,Vg)=>{"use strict";var lI=We("util"),Jg=We("stream"),cr=Vg.exports=function(){Jg.call(this),this._buffers=[],this._buffered=0,this._reads=[],this._paused=!1,this._encoding="utf8",this.writable=!0};lI.inherits(cr,Jg);cr.prototype.read=function(r,e){this._reads.push({length:Math.abs(r),allowLess:r<0,func:e}),process.nextTick(function(){this._process(),this._paused&&this._reads&&this._reads.length>0&&(this._paused=!1,this.emit("drain"))}.bind(this))};cr.prototype.write=function(r,e){if(!this.writable)return this.emit("error",new Error("Stream not writable")),!1;let i;return Buffer.isBuffer(r)?i=r:i=Buffer.from(r,e||this._encoding),this._buffers.push(i),this._buffered+=i.length,this._process(),this._reads&&this._reads.length===0&&(this._paused=!0),this.writable&&!this._paused};cr.prototype.end=function(r,e){r&&this.write(r,e),this.writable=!1,this._buffers&&(this._buffers.length===0?this._end():(this._buffers.push(null),this._process()))};cr.prototype.destroySoon=cr.prototype.end;cr.prototype._end=function(){this._reads.length>0&&this.emit("error",new Error("Unexpected end of input")),this.destroy()};cr.prototype.destroy=function(){this._buffers&&(this.writable=!1,this._reads=null,this._buffers=null,this.emit("close"))};cr.prototype._processReadAllowingLess=function(r){this._reads.shift();let e=this._buffers[0];e.length>r.length?(this._buffered-=r.length,this._buffers[0]=e.slice(r.length),r.func.call(this,e.slice(0,r.length))):(this._buffered-=e.length,this._buffers.shift(),r.func.call(this,e))};cr.prototype._processRead=function(r){this._reads.shift();let e=0,i=0,a=Buffer.alloc(r.length);for(;e<r.length;){let A=this._buffers[i++],l=Math.min(A.length,r.length-e);A.copy(a,e,0,l),e+=l,l!==A.length&&(this._buffers[--i]=A.slice(l))}i>0&&this._buffers.splice(0,i),this._buffered-=r.length,r.func.call(this,a)};cr.prototype._process=function(){try{for(;this._buffered>0&&this._reads&&this._reads.length>0;){let r=this._reads[0];if(r.allowLess)this._processReadAllowingLess(r);else if(this._buffered>=r.length)this._processRead(r);else break}this._buffers&&!this.writable&&this._end()}catch(r){this.emit("error",r)}}});var dl=ae(fl=>{"use strict";var si=[{x:[0],y:[0]},{x:[4],y:[0]},{x:[0,4],y:[4]},{x:[2,6],y:[0,4]},{x:[0,2,4,6],y:[2,6]},{x:[1,3,5,7],y:[0,2,4,6]},{x:[0,1,2,3,4,5,6,7],y:[1,3,5,7]}];fl.getImagePasses=function(r,e){let i=[],a=r%8,A=e%8,l=(r-a)/8,u=(e-A)/8;for(let p=0;p<si.length;p++){let f=si[p],g=l*f.x.length,m=u*f.y.length;for(let E=0;E<f.x.length&&f.x[E]<a;E++)g++;for(let E=0;E<f.y.length&&f.y[E]<A;E++)m++;g>0&&m>0&&i.push({width:g,height:m,index:p})}return i};fl.getInterlaceIterator=function(r){return function(e,i,a){let A=e%si[a].x.length,l=(e-A)/si[a].x.length*8+si[a].x[A],u=i%si[a].y.length,p=(i-u)/si[a].y.length*8+si[a].y[u];return l*4+p*r*4}}});var gl=ae((KN,jg)=>{"use strict";jg.exports=function(e,i,a){let A=e+i-a,l=Math.abs(A-e),u=Math.abs(A-i),p=Math.abs(A-a);return l<=u&&l<=p?e:u<=p?i:a}});var ml=ae(($N,Zg)=>{"use strict";var cI=dl(),uI=gl();function _g(r,e,i){let a=r*e;return i!==8&&(a=Math.ceil(a/(8/i))),a}var sn=Zg.exports=function(r,e){let i=r.width,a=r.height,A=r.interlace,l=r.bpp,u=r.depth;if(this.read=e.read,this.write=e.write,this.complete=e.complete,this._imageIndex=0,this._images=[],A){let p=cI.getImagePasses(i,a);for(let f=0;f<p.length;f++)this._images.push({byteWidth:_g(p[f].width,l,u),height:p[f].height,lineIndex:0})}else this._images.push({byteWidth:_g(i,l,u),height:a,lineIndex:0});u===8?this._xComparison=l:u===16?this._xComparison=l*2:this._xComparison=1};sn.prototype.start=function(){this.read(this._images[this._imageIndex].byteWidth+1,this._reverseFilterLine.bind(this))};sn.prototype._unFilterType1=function(r,e,i){let a=this._xComparison,A=a-1;for(let l=0;l<i;l++){let u=r[1+l],p=l>A?e[l-a]:0;e[l]=u+p}};sn.prototype._unFilterType2=function(r,e,i){let a=this._lastLine;for(let A=0;A<i;A++){let l=r[1+A],u=a?a[A]:0;e[A]=l+u}};sn.prototype._unFilterType3=function(r,e,i){let a=this._xComparison,A=a-1,l=this._lastLine;for(let u=0;u<i;u++){let p=r[1+u],f=l?l[u]:0,g=u>A?e[u-a]:0,m=Math.floor((g+f)/2);e[u]=p+m}};sn.prototype._unFilterType4=function(r,e,i){let a=this._xComparison,A=a-1,l=this._lastLine;for(let u=0;u<i;u++){let p=r[1+u],f=l?l[u]:0,g=u>A?e[u-a]:0,m=u>A&&l?l[u-a]:0,E=uI(g,f,m);e[u]=p+E}};sn.prototype._reverseFilterLine=function(r){let e=r[0],i,a=this._images[this._imageIndex],A=a.byteWidth;if(e===0)i=r.slice(1,A+1);else switch(i=Buffer.alloc(A),e){case 1:this._unFilterType1(r,i,A);break;case 2:this._unFilterType2(r,i,A);break;case 3:this._unFilterType3(r,i,A);break;case 4:this._unFilterType4(r,i,A);break;default:throw new Error("Unrecognised filter type - "+e)}this.write(i),a.lineIndex++,a.lineIndex>=a.height?(this._lastLine=null,this._imageIndex++,a=this._images[this._imageIndex]):this._lastLine=i,a?this.read(a.byteWidth+1,this._reverseFilterLine.bind(this)):(this._lastLine=null,this.complete())}});var qg=ae((ek,Xg)=>{"use strict";var hI=We("util"),zg=pl(),pI=ml(),fI=Xg.exports=function(r){zg.call(this);let e=[],i=this;this._filter=new pI(r,{read:this.read.bind(this),write:function(a){e.push(a)},complete:function(){i.emit("complete",Buffer.concat(e))}}),this._filter.start()};hI.inherits(fI,zg)});var an=ae((tk,Kg)=>{"use strict";Kg.exports={PNG_SIGNATURE:[137,80,78,71,13,10,26,10],TYPE_IHDR:1229472850,TYPE_IEND:1229278788,TYPE_IDAT:1229209940,TYPE_PLTE:1347179589,TYPE_tRNS:1951551059,TYPE_gAMA:1732332865,COLORTYPE_GRAYSCALE:0,COLORTYPE_PALETTE:1,COLORTYPE_COLOR:2,COLORTYPE_ALPHA:4,COLORTYPE_PALETTE_COLOR:3,COLORTYPE_COLOR_ALPHA:6,COLORTYPE_TO_BPP_MAP:{0:1,2:3,3:1,4:2,6:4},GAMMA_DIVISION:1e5}});var wl=ae((rk,$g)=>{"use strict";var Bl=[];(function(){for(let r=0;r<256;r++){let e=r;for(let i=0;i<8;i++)e&1?e=3988292384^e>>>1:e=e>>>1;Bl[r]=e}})();var El=$g.exports=function(){this._crc=-1};El.prototype.write=function(r){for(let e=0;e<r.length;e++)this._crc=Bl[(this._crc^r[e])&255]^this._crc>>>8;return!0};El.prototype.crc32=function(){return this._crc^-1};El.crc32=function(r){let e=-1;for(let i=0;i<r.length;i++)e=Bl[(e^r[i])&255]^e>>>8;return e^-1}});var yl=ae((ik,em)=>{"use strict";var yt=an(),dI=wl(),Ct=em.exports=function(r,e){this._options=r,r.checkCRC=r.checkCRC!==!1,this._hasIHDR=!1,this._hasIEND=!1,this._emittedHeadersFinished=!1,this._palette=[],this._colorType=0,this._chunks={},this._chunks[yt.TYPE_IHDR]=this._handleIHDR.bind(this),this._chunks[yt.TYPE_IEND]=this._handleIEND.bind(this),this._chunks[yt.TYPE_IDAT]=this._handleIDAT.bind(this),this._chunks[yt.TYPE_PLTE]=this._handlePLTE.bind(this),this._chunks[yt.TYPE_tRNS]=this._handleTRNS.bind(this),this._chunks[yt.TYPE_gAMA]=this._handleGAMA.bind(this),this.read=e.read,this.error=e.error,this.metadata=e.metadata,this.gamma=e.gamma,this.transColor=e.transColor,this.palette=e.palette,this.parsed=e.parsed,this.inflateData=e.inflateData,this.finished=e.finished,this.simpleTransparency=e.simpleTransparency,this.headersFinished=e.headersFinished||function(){}};Ct.prototype.start=function(){this.read(yt.PNG_SIGNATURE.length,this._parseSignature.bind(this))};Ct.prototype._parseSignature=function(r){let e=yt.PNG_SIGNATURE;for(let i=0;i<e.length;i++)if(r[i]!==e[i]){this.error(new Error("Invalid file signature"));return}this.read(8,this._parseChunkBegin.bind(this))};Ct.prototype._parseChunkBegin=function(r){let e=r.readUInt32BE(0),i=r.readUInt32BE(4),a="";for(let l=4;l<8;l++)a+=String.fromCharCode(r[l]);let A=!!(r[4]&32);if(!this._hasIHDR&&i!==yt.TYPE_IHDR){this.error(new Error("Expected IHDR on beggining"));return}if(this._crc=new dI,this._crc.write(Buffer.from(a)),this._chunks[i])return this._chunks[i](e);if(!A){this.error(new Error("Unsupported critical chunk type "+a));return}this.read(e+4,this._skipChunk.bind(this))};Ct.prototype._skipChunk=function(){this.read(8,this._parseChunkBegin.bind(this))};Ct.prototype._handleChunkEnd=function(){this.read(4,this._parseChunkEnd.bind(this))};Ct.prototype._parseChunkEnd=function(r){let e=r.readInt32BE(0),i=this._crc.crc32();if(this._options.checkCRC&&i!==e){this.error(new Error("Crc error - "+e+" - "+i));return}this._hasIEND||this.read(8,this._parseChunkBegin.bind(this))};Ct.prototype._handleIHDR=function(r){this.read(r,this._parseIHDR.bind(this))};Ct.prototype._parseIHDR=function(r){this._crc.write(r);let e=r.readUInt32BE(0),i=r.readUInt32BE(4),a=r[8],A=r[9],l=r[10],u=r[11],p=r[12];if(a!==8&&a!==4&&a!==2&&a!==1&&a!==16){this.error(new Error("Unsupported bit depth "+a));return}if(!(A in yt.COLORTYPE_TO_BPP_MAP)){this.error(new Error("Unsupported color type"));return}if(l!==0){this.error(new Error("Unsupported compression method"));return}if(u!==0){this.error(new Error("Unsupported filter method"));return}if(p!==0&&p!==1){this.error(new Error("Unsupported interlace method"));return}this._colorType=A;let f=yt.COLORTYPE_TO_BPP_MAP[this._colorType];this._hasIHDR=!0,this.metadata({width:e,height:i,depth:a,interlace:!!p,palette:!!(A&yt.COLORTYPE_PALETTE),color:!!(A&yt.COLORTYPE_COLOR),alpha:!!(A&yt.COLORTYPE_ALPHA),bpp:f,colorType:A}),this._handleChunkEnd()};Ct.prototype._handlePLTE=function(r){this.read(r,this._parsePLTE.bind(this))};Ct.prototype._parsePLTE=function(r){this._crc.write(r);let e=Math.floor(r.length/3);for(let i=0;i<e;i++)this._palette.push([r[i*3],r[i*3+1],r[i*3+2],255]);this.palette(this._palette),this._handleChunkEnd()};Ct.prototype._handleTRNS=function(r){this.simpleTransparency(),this.read(r,this._parseTRNS.bind(this))};Ct.prototype._parseTRNS=function(r){if(this._crc.write(r),this._colorType===yt.COLORTYPE_PALETTE_COLOR){if(this._palette.length===0){this.error(new Error("Transparency chunk must be after palette"));return}if(r.length>this._palette.length){this.error(new Error("More transparent colors than palette size"));return}for(let e=0;e<r.length;e++)this._palette[e][3]=r[e];this.palette(this._palette)}this._colorType===yt.COLORTYPE_GRAYSCALE&&this.transColor([r.readUInt16BE(0)]),this._colorType===yt.COLORTYPE_COLOR&&this.transColor([r.readUInt16BE(0),r.readUInt16BE(2),r.readUInt16BE(4)]),this._handleChunkEnd()};Ct.prototype._handleGAMA=function(r){this.read(r,this._parseGAMA.bind(this))};Ct.prototype._parseGAMA=function(r){this._crc.write(r),this.gamma(r.readUInt32BE(0)/yt.GAMMA_DIVISION),this._handleChunkEnd()};Ct.prototype._handleIDAT=function(r){this._emittedHeadersFinished||(this._emittedHeadersFinished=!0,this.headersFinished()),this.read(-r,this._parseIDAT.bind(this,r))};Ct.prototype._parseIDAT=function(r,e){if(this._crc.write(e),this._colorType===yt.COLORTYPE_PALETTE_COLOR&&this._palette.length===0)throw new Error("Expected palette not found");this.inflateData(e);let i=r-e.length;i>0?this._handleIDAT(i):this._handleChunkEnd()};Ct.prototype._handleIEND=function(r){this.read(r,this._parseIEND.bind(this))};Ct.prototype._parseIEND=function(r){this._crc.write(r),this._hasIEND=!0,this._handleChunkEnd(),this.finished&&this.finished()}});var Cl=ae(rm=>{"use strict";var tm=dl(),gI=[function(){},function(r,e,i,a){if(a===e.length)throw new Error("Ran out of data");let A=e[a];r[i]=A,r[i+1]=A,r[i+2]=A,r[i+3]=255},function(r,e,i,a){if(a+1>=e.length)throw new Error("Ran out of data");let A=e[a];r[i]=A,r[i+1]=A,r[i+2]=A,r[i+3]=e[a+1]},function(r,e,i,a){if(a+2>=e.length)throw new Error("Ran out of data");r[i]=e[a],r[i+1]=e[a+1],r[i+2]=e[a+2],r[i+3]=255},function(r,e,i,a){if(a+3>=e.length)throw new Error("Ran out of data");r[i]=e[a],r[i+1]=e[a+1],r[i+2]=e[a+2],r[i+3]=e[a+3]}],mI=[function(){},function(r,e,i,a){let A=e[0];r[i]=A,r[i+1]=A,r[i+2]=A,r[i+3]=a},function(r,e,i){let a=e[0];r[i]=a,r[i+1]=a,r[i+2]=a,r[i+3]=e[1]},function(r,e,i,a){r[i]=e[0],r[i+1]=e[1],r[i+2]=e[2],r[i+3]=a},function(r,e,i){r[i]=e[0],r[i+1]=e[1],r[i+2]=e[2],r[i+3]=e[3]}];function BI(r,e){let i=[],a=0;function A(){if(a===r.length)throw new Error("Ran out of data");let l=r[a];a++;let u,p,f,g,m,E,b,y;switch(e){default:throw new Error("unrecognised depth");case 16:b=r[a],a++,i.push((l<<8)+b);break;case 4:b=l&15,y=l>>4,i.push(y,b);break;case 2:m=l&3,E=l>>2&3,b=l>>4&3,y=l>>6&3,i.push(y,b,E,m);break;case 1:u=l&1,p=l>>1&1,f=l>>2&1,g=l>>3&1,m=l>>4&1,E=l>>5&1,b=l>>6&1,y=l>>7&1,i.push(y,b,E,m,g,f,p,u);break}}return{get:function(l){for(;i.length<l;)A();let u=i.slice(0,l);return i=i.slice(l),u},resetAfterLine:function(){i.length=0},end:function(){if(a!==r.length)throw new Error("extra data found")}}}function EI(r,e,i,a,A,l){let u=r.width,p=r.height,f=r.index;for(let g=0;g<p;g++)for(let m=0;m<u;m++){let E=i(m,g,f);gI[a](e,A,E,l),l+=a}return l}function wI(r,e,i,a,A,l){let u=r.width,p=r.height,f=r.index;for(let g=0;g<p;g++){for(let m=0;m<u;m++){let E=A.get(a),b=i(m,g,f);mI[a](e,E,b,l)}A.resetAfterLine()}}rm.dataToBitMap=function(r,e){let i=e.width,a=e.height,A=e.depth,l=e.bpp,u=e.interlace,p;A!==8&&(p=BI(r,A));let f;A<=8?f=Buffer.alloc(i*a*4):f=new Uint16Array(i*a*4);let g=Math.pow(2,A)-1,m=0,E,b;if(u)E=tm.getImagePasses(i,a),b=tm.getInterlaceIterator(i,a);else{let y=0;b=function(){let Q=y;return y+=4,Q},E=[{width:i,height:a}]}for(let y=0;y<E.length;y++)A===8?m=EI(E[y],f,b,l,r,m):wI(E[y],f,b,l,p,g);if(A===8){if(m!==r.length)throw new Error("extra data found")}else p.end();return f}});var bl=ae((sk,im)=>{"use strict";function yI(r,e,i,a,A){let l=0;for(let u=0;u<a;u++)for(let p=0;p<i;p++){let f=A[r[l]];if(!f)throw new Error("index "+r[l]+" not in palette");for(let g=0;g<4;g++)e[l+g]=f[g];l+=4}}function CI(r,e,i,a,A){let l=0;for(let u=0;u<a;u++)for(let p=0;p<i;p++){let f=!1;if(A.length===1?A[0]===r[l]&&(f=!0):A[0]===r[l]&&A[1]===r[l+1]&&A[2]===r[l+2]&&(f=!0),f)for(let g=0;g<4;g++)e[l+g]=0;l+=4}}function bI(r,e,i,a,A){let l=255,u=Math.pow(2,A)-1,p=0;for(let f=0;f<a;f++)for(let g=0;g<i;g++){for(let m=0;m<4;m++)e[p+m]=Math.floor(r[p+m]*l/u+.5);p+=4}}im.exports=function(r,e,i=!1){let a=e.depth,A=e.width,l=e.height,u=e.colorType,p=e.transColor,f=e.palette,g=r;return u===3?yI(r,g,A,l,f):(p&&CI(r,g,A,l,p),a!==8&&!i&&(a===16&&(g=Buffer.alloc(A*l*4)),bI(r,g,A,l,a))),g}});var am=ae((ak,sm)=>{"use strict";var xI=We("util"),xl=We("zlib"),nm=pl(),QI=qg(),vI=yl(),II=Cl(),FI=bl(),vr=sm.exports=function(r){nm.call(this),this._parser=new vI(r,{read:this.read.bind(this),error:this._handleError.bind(this),metadata:this._handleMetaData.bind(this),gamma:this.emit.bind(this,"gamma"),palette:this._handlePalette.bind(this),transColor:this._handleTransColor.bind(this),finished:this._finished.bind(this),inflateData:this._inflateData.bind(this),simpleTransparency:this._simpleTransparency.bind(this),headersFinished:this._headersFinished.bind(this)}),this._options=r,this.writable=!0,this._parser.start()};xI.inherits(vr,nm);vr.prototype._handleError=function(r){this.emit("error",r),this.writable=!1,this.destroy(),this._inflate&&this._inflate.destroy&&this._inflate.destroy(),this._filter&&(this._filter.destroy(),this._filter.on("error",function(){})),this.errord=!0};vr.prototype._inflateData=function(r){if(!this._inflate)if(this._bitmapInfo.interlace)this._inflate=xl.createInflate(),this._inflate.on("error",this.emit.bind(this,"error")),this._filter.on("complete",this._complete.bind(this)),this._inflate.pipe(this._filter);else{let i=((this._bitmapInfo.width*this._bitmapInfo.bpp*this._bitmapInfo.depth+7>>3)+1)*this._bitmapInfo.height,a=Math.max(i,xl.Z_MIN_CHUNK);this._inflate=xl.createInflate({chunkSize:a});let A=i,l=this.emit.bind(this,"error");this._inflate.on("error",function(p){A&&l(p)}),this._filter.on("complete",this._complete.bind(this));let u=this._filter.write.bind(this._filter);this._inflate.on("data",function(p){A&&(p.length>A&&(p=p.slice(0,A)),A-=p.length,u(p))}),this._inflate.on("end",this._filter.end.bind(this._filter))}this._inflate.write(r)};vr.prototype._handleMetaData=function(r){this._metaData=r,this._bitmapInfo=Object.create(r),this._filter=new QI(this._bitmapInfo)};vr.prototype._handleTransColor=function(r){this._bitmapInfo.transColor=r};vr.prototype._handlePalette=function(r){this._bitmapInfo.palette=r};vr.prototype._simpleTransparency=function(){this._metaData.alpha=!0};vr.prototype._headersFinished=function(){this.emit("metadata",this._metaData)};vr.prototype._finished=function(){this.errord||(this._inflate?this._inflate.end():this.emit("error","No Inflate block"))};vr.prototype._complete=function(r){if(this.errord)return;let e;try{let i=II.dataToBitMap(r,this._bitmapInfo);e=FI(i,this._bitmapInfo,this._options.skipRescale),i=null}catch(i){this._handleError(i);return}this.emit("parsed",e)}});var Am=ae((ok,om)=>{"use strict";var er=an();om.exports=function(r,e,i,a){let A=[er.COLORTYPE_COLOR_ALPHA,er.COLORTYPE_ALPHA].indexOf(a.colorType)!==-1;if(a.colorType===a.inputColorType){let Q=(function(){let v=new ArrayBuffer(2);return new DataView(v).setInt16(0,256,!0),new Int16Array(v)[0]!==256})();if(a.bitDepth===8||a.bitDepth===16&&Q)return r}let l=a.bitDepth!==16?r:new Uint16Array(r.buffer),u=255,p=er.COLORTYPE_TO_BPP_MAP[a.inputColorType];p===4&&!a.inputHasAlpha&&(p=3);let f=er.COLORTYPE_TO_BPP_MAP[a.colorType];a.bitDepth===16&&(u=65535,f*=2);let g=Buffer.alloc(e*i*f),m=0,E=0,b=a.bgColor||{};b.red===void 0&&(b.red=u),b.green===void 0&&(b.green=u),b.blue===void 0&&(b.blue=u);function y(){let Q,v,I,F=u;switch(a.inputColorType){case er.COLORTYPE_COLOR_ALPHA:F=l[m+3],Q=l[m],v=l[m+1],I=l[m+2];break;case er.COLORTYPE_COLOR:Q=l[m],v=l[m+1],I=l[m+2];break;case er.COLORTYPE_ALPHA:F=l[m+1],Q=l[m],v=Q,I=Q;break;case er.COLORTYPE_GRAYSCALE:Q=l[m],v=Q,I=Q;break;default:throw new Error("input color type:"+a.inputColorType+" is not supported at present")}return a.inputHasAlpha&&(A||(F/=u,Q=Math.min(Math.max(Math.round((1-F)*b.red+F*Q),0),u),v=Math.min(Math.max(Math.round((1-F)*b.green+F*v),0),u),I=Math.min(Math.max(Math.round((1-F)*b.blue+F*I),0),u))),{red:Q,green:v,blue:I,alpha:F}}for(let Q=0;Q<i;Q++)for(let v=0;v<e;v++){let I=y(l,m);switch(a.colorType){case er.COLORTYPE_COLOR_ALPHA:case er.COLORTYPE_COLOR:a.bitDepth===8?(g[E]=I.red,g[E+1]=I.green,g[E+2]=I.blue,A&&(g[E+3]=I.alpha)):(g.writeUInt16BE(I.red,E),g.writeUInt16BE(I.green,E+2),g.writeUInt16BE(I.blue,E+4),A&&g.writeUInt16BE(I.alpha,E+6));break;case er.COLORTYPE_ALPHA:case er.COLORTYPE_GRAYSCALE:{let F=(I.red+I.green+I.blue)/3;a.bitDepth===8?(g[E]=F,A&&(g[E+1]=I.alpha)):(g.writeUInt16BE(F,E),A&&g.writeUInt16BE(I.alpha,E+2));break}default:throw new Error("unrecognised color Type "+a.colorType)}m+=p,E+=f}return g}});var um=ae((Ak,cm)=>{"use strict";var lm=gl();function TI(r,e,i,a,A){for(let l=0;l<i;l++)a[A+l]=r[e+l]}function SI(r,e,i){let a=0,A=e+i;for(let l=e;l<A;l++)a+=Math.abs(r[l]);return a}function DI(r,e,i,a,A,l){for(let u=0;u<i;u++){let p=u>=l?r[e+u-l]:0,f=r[e+u]-p;a[A+u]=f}}function MI(r,e,i,a){let A=0;for(let l=0;l<i;l++){let u=l>=a?r[e+l-a]:0,p=r[e+l]-u;A+=Math.abs(p)}return A}function UI(r,e,i,a,A){for(let l=0;l<i;l++){let u=e>0?r[e+l-i]:0,p=r[e+l]-u;a[A+l]=p}}function NI(r,e,i){let a=0,A=e+i;for(let l=e;l<A;l++){let u=e>0?r[l-i]:0,p=r[l]-u;a+=Math.abs(p)}return a}function kI(r,e,i,a,A,l){for(let u=0;u<i;u++){let p=u>=l?r[e+u-l]:0,f=e>0?r[e+u-i]:0,g=r[e+u]-(p+f>>1);a[A+u]=g}}function OI(r,e,i,a){let A=0;for(let l=0;l<i;l++){let u=l>=a?r[e+l-a]:0,p=e>0?r[e+l-i]:0,f=r[e+l]-(u+p>>1);A+=Math.abs(f)}return A}function YI(r,e,i,a,A,l){for(let u=0;u<i;u++){let p=u>=l?r[e+u-l]:0,f=e>0?r[e+u-i]:0,g=e>0&&u>=l?r[e+u-(i+l)]:0,m=r[e+u]-lm(p,f,g);a[A+u]=m}}function RI(r,e,i,a){let A=0;for(let l=0;l<i;l++){let u=l>=a?r[e+l-a]:0,p=e>0?r[e+l-i]:0,f=e>0&&l>=a?r[e+l-(i+a)]:0,g=r[e+l]-lm(u,p,f);A+=Math.abs(g)}return A}var GI={0:TI,1:DI,2:UI,3:kI,4:YI},LI={0:SI,1:MI,2:NI,3:OI,4:RI};cm.exports=function(r,e,i,a,A){let l;if(!("filterType"in a)||a.filterType===-1)l=[0,1,2,3,4];else if(typeof a.filterType=="number")l=[a.filterType];else throw new Error("unrecognised filter types");a.bitDepth===16&&(A*=2);let u=e*A,p=0,f=0,g=Buffer.alloc((u+1)*i),m=l[0];for(let E=0;E<i;E++){if(l.length>1){let b=1/0;for(let y=0;y<l.length;y++){let Q=LI[l[y]](r,f,u,A);Q<b&&(m=l[y],b=Q)}}g[p]=m,p++,GI[m](r,f,u,g,p,A),p+=u,f+=u}return g}});var Ql=ae((lk,hm)=>{"use strict";var Ft=an(),PI=wl(),HI=Am(),WI=um(),JI=We("zlib"),ai=hm.exports=function(r){if(this._options=r,r.deflateChunkSize=r.deflateChunkSize||32*1024,r.deflateLevel=r.deflateLevel!=null?r.deflateLevel:9,r.deflateStrategy=r.deflateStrategy!=null?r.deflateStrategy:3,r.inputHasAlpha=r.inputHasAlpha!=null?r.inputHasAlpha:!0,r.deflateFactory=r.deflateFactory||JI.createDeflate,r.bitDepth=r.bitDepth||8,r.colorType=typeof r.colorType=="number"?r.colorType:Ft.COLORTYPE_COLOR_ALPHA,r.inputColorType=typeof r.inputColorType=="number"?r.inputColorType:Ft.COLORTYPE_COLOR_ALPHA,[Ft.COLORTYPE_GRAYSCALE,Ft.COLORTYPE_COLOR,Ft.COLORTYPE_COLOR_ALPHA,Ft.COLORTYPE_ALPHA].indexOf(r.colorType)===-1)throw new Error("option color type:"+r.colorType+" is not supported at present");if([Ft.COLORTYPE_GRAYSCALE,Ft.COLORTYPE_COLOR,Ft.COLORTYPE_COLOR_ALPHA,Ft.COLORTYPE_ALPHA].indexOf(r.inputColorType)===-1)throw new Error("option input color type:"+r.inputColorType+" is not supported at present");if(r.bitDepth!==8&&r.bitDepth!==16)throw new Error("option bit depth:"+r.bitDepth+" is not supported at present")};ai.prototype.getDeflateOptions=function(){return{chunkSize:this._options.deflateChunkSize,level:this._options.deflateLevel,strategy:this._options.deflateStrategy}};ai.prototype.createDeflate=function(){return this._options.deflateFactory(this.getDeflateOptions())};ai.prototype.filterData=function(r,e,i){let a=HI(r,e,i,this._options),A=Ft.COLORTYPE_TO_BPP_MAP[this._options.colorType];return WI(a,e,i,this._options,A)};ai.prototype._packChunk=function(r,e){let i=e?e.length:0,a=Buffer.alloc(i+12);return a.writeUInt32BE(i,0),a.writeUInt32BE(r,4),e&&e.copy(a,8),a.writeInt32BE(PI.crc32(a.slice(4,a.length-4)),a.length-4),a};ai.prototype.packGAMA=function(r){let e=Buffer.alloc(4);return e.writeUInt32BE(Math.floor(r*Ft.GAMMA_DIVISION),0),this._packChunk(Ft.TYPE_gAMA,e)};ai.prototype.packIHDR=function(r,e){let i=Buffer.alloc(13);return i.writeUInt32BE(r,0),i.writeUInt32BE(e,4),i[8]=this._options.bitDepth,i[9]=this._options.colorType,i[10]=0,i[11]=0,i[12]=0,this._packChunk(Ft.TYPE_IHDR,i)};ai.prototype.packIDAT=function(r){return this._packChunk(Ft.TYPE_IDAT,r)};ai.prototype.packIEND=function(){return this._packChunk(Ft.TYPE_IEND,null)}});var gm=ae((ck,dm)=>{"use strict";var VI=We("util"),pm=We("stream"),jI=an(),_I=Ql(),fm=dm.exports=function(r){pm.call(this);let e=r||{};this._packer=new _I(e),this._deflate=this._packer.createDeflate(),this.readable=!0};VI.inherits(fm,pm);fm.prototype.pack=function(r,e,i,a){this.emit("data",Buffer.from(jI.PNG_SIGNATURE)),this.emit("data",this._packer.packIHDR(e,i)),a&&this.emit("data",this._packer.packGAMA(a));let A=this._packer.filterData(r,e,i);this._deflate.on("error",this.emit.bind(this,"error")),this._deflate.on("data",function(l){this.emit("data",this._packer.packIDAT(l))}.bind(this)),this._deflate.on("end",function(){this.emit("data",this._packer.packIEND()),this.emit("end")}.bind(this)),this._deflate.end(A)}});var Cm=ae((Kn,ym)=>{"use strict";var mm=We("assert").ok,on=We("zlib"),ZI=We("util"),Bm=We("buffer").kMaxLength;function vi(r){if(!(this instanceof vi))return new vi(r);r&&r.chunkSize<on.Z_MIN_CHUNK&&(r.chunkSize=on.Z_MIN_CHUNK),on.Inflate.call(this,r),this._offset=this._offset===void 0?this._outOffset:this._offset,this._buffer=this._buffer||this._outBuffer,r&&r.maxLength!=null&&(this._maxLength=r.maxLength)}function zI(r){return new vi(r)}function Em(r,e){e&&process.nextTick(e),r._handle&&(r._handle.close(),r._handle=null)}vi.prototype._processChunk=function(r,e,i){if(typeof i=="function")return on.Inflate._processChunk.call(this,r,e,i);let a=this,A=r&&r.length,l=this._chunkSize-this._offset,u=this._maxLength,p=0,f=[],g=0,m;this.on("error",function(Q){m=Q});function E(Q,v){if(a._hadError)return;let I=l-v;if(mm(I>=0,"have should not go down"),I>0){let F=a._buffer.slice(a._offset,a._offset+I);if(a._offset+=I,F.length>u&&(F=F.slice(0,u)),f.push(F),g+=F.length,u-=F.length,u===0)return!1}return(v===0||a._offset>=a._chunkSize)&&(l=a._chunkSize,a._offset=0,a._buffer=Buffer.allocUnsafe(a._chunkSize)),v===0?(p+=A-Q,A=Q,!0):!1}mm(this._handle,"zlib binding closed");let b;do b=this._handle.writeSync(e,r,p,A,this._buffer,this._offset,l),b=b||this._writeState;while(!this._hadError&&E(b[0],b[1]));if(this._hadError)throw m;if(g>=Bm)throw Em(this),new RangeError("Cannot create final Buffer. It would be larger than 0x"+Bm.toString(16)+" bytes");let y=Buffer.concat(f,g);return Em(this),y};ZI.inherits(vi,on.Inflate);function XI(r,e){if(typeof e=="string"&&(e=Buffer.from(e)),!(e instanceof Buffer))throw new TypeError("Not a string or buffer");let i=r._finishFlushFlag;return i==null&&(i=on.Z_FINISH),r._processChunk(e,i)}function wm(r,e){return XI(new vi(e),r)}ym.exports=Kn=wm;Kn.Inflate=vi;Kn.createInflate=zI;Kn.inflateSync=wm});var vl=ae((uk,xm)=>{"use strict";var bm=xm.exports=function(r){this._buffer=r,this._reads=[]};bm.prototype.read=function(r,e){this._reads.push({length:Math.abs(r),allowLess:r<0,func:e})};bm.prototype.process=function(){for(;this._reads.length>0&&this._buffer.length;){let r=this._reads[0];if(this._buffer.length&&(this._buffer.length>=r.length||r.allowLess)){this._reads.shift();let e=this._buffer;this._buffer=e.slice(r.length),r.func.call(this,e.slice(0,r.length))}else break}if(this._reads.length>0)throw new Error("There are some read requests waitng on finished stream");if(this._buffer.length>0)throw new Error("unrecognised content at end of stream")}});var vm=ae(Qm=>{"use strict";var qI=vl(),KI=ml();Qm.process=function(r,e){let i=[],a=new qI(r);return new KI(e,{read:a.read.bind(a),write:function(l){i.push(l)},complete:function(){}}).start(),a.process(),Buffer.concat(i)}});var Sm=ae((pk,Tm)=>{"use strict";var Im=!0,Fm=We("zlib"),$I=Cm();Fm.deflateSync||(Im=!1);var eF=vl(),tF=vm(),rF=yl(),iF=Cl(),nF=bl();Tm.exports=function(r,e){if(!Im)throw new Error("To use the sync capability of this library in old node versions, please pin pngjs to v2.3.0");let i;function a(M){i=M}let A;function l(M){A=M}function u(M){A.transColor=M}function p(M){A.palette=M}function f(){A.alpha=!0}let g;function m(M){g=M}let E=[];function b(M){E.push(M)}let y=new eF(r);if(new rF(e,{read:y.read.bind(y),error:a,metadata:l,gamma:m,palette:p,transColor:u,inflateData:b,simpleTransparency:f}).start(),y.process(),i)throw i;let v=Buffer.concat(E);E.length=0;let I;if(A.interlace)I=Fm.inflateSync(v);else{let O=((A.width*A.bpp*A.depth+7>>3)+1)*A.height;I=$I(v,{chunkSize:O,maxLength:O})}if(v=null,!I||!I.length)throw new Error("bad png - invalid inflate data response");let F=tF.process(I,A);v=null;let N=iF.dataToBitMap(F,A);F=null;let _=nF(N,A,e.skipRescale);return A.data=_,A.gamma=g||0,A}});var Nm=ae((fk,Um)=>{"use strict";var Dm=!0,Mm=We("zlib");Mm.deflateSync||(Dm=!1);var sF=an(),aF=Ql();Um.exports=function(r,e){if(!Dm)throw new Error("To use the sync capability of this library in old node versions, please pin pngjs to v2.3.0");let i=e||{},a=new aF(i),A=[];A.push(Buffer.from(sF.PNG_SIGNATURE)),A.push(a.packIHDR(r.width,r.height)),r.gamma&&A.push(a.packGAMA(r.gamma));let l=a.filterData(r.data,r.width,r.height),u=Mm.deflateSync(l,a.getDeflateOptions());if(l=null,!u||!u.length)throw new Error("bad png - invalid compressed data response");return A.push(a.packIDAT(u)),A.push(a.packIEND()),Buffer.concat(A)}});var km=ae(Il=>{"use strict";var oF=Sm(),AF=Nm();Il.read=function(r,e){return oF(r,e||{})};Il.write=function(r,e){return AF(r,e)}});var Rm=ae(Ym=>{"use strict";var lF=We("util"),Om=We("stream"),cF=am(),uF=gm(),hF=km(),Ot=Ym.PNG=function(r){Om.call(this),r=r||{},this.width=r.width|0,this.height=r.height|0,this.data=this.width>0&&this.height>0?Buffer.alloc(4*this.width*this.height):null,r.fill&&this.data&&this.data.fill(0),this.gamma=0,this.readable=this.writable=!0,this._parser=new cF(r),this._parser.on("error",this.emit.bind(this,"error")),this._parser.on("close",this._handleClose.bind(this)),this._parser.on("metadata",this._metadata.bind(this)),this._parser.on("gamma",this._gamma.bind(this)),this._parser.on("parsed",function(e){this.data=e,this.emit("parsed",e)}.bind(this)),this._packer=new uF(r),this._packer.on("data",this.emit.bind(this,"data")),this._packer.on("end",this.emit.bind(this,"end")),this._parser.on("close",this._handleClose.bind(this)),this._packer.on("error",this.emit.bind(this,"error"))};lF.inherits(Ot,Om);Ot.sync=hF;Ot.prototype.pack=function(){return!this.data||!this.data.length?(this.emit("error","No data provided"),this):(process.nextTick(function(){this._packer.pack(this.data,this.width,this.height,this.gamma)}.bind(this)),this)};Ot.prototype.parse=function(r,e){if(e){let i,a;i=function(A){this.removeListener("error",a),this.data=A,e(null,this)}.bind(this),a=function(A){this.removeListener("parsed",i),e(A,null)}.bind(this),this.once("parsed",i),this.once("error",a)}return this.end(r),this};Ot.prototype.write=function(r){return this._parser.write(r),!0};Ot.prototype.end=function(r){this._parser.end(r)};Ot.prototype._metadata=function(r){this.width=r.width,this.height=r.height,this.emit("metadata",r)};Ot.prototype._gamma=function(r){this.gamma=r};Ot.prototype._handleClose=function(){!this._parser.writable&&!this._packer.readable&&this.emit("close")};Ot.bitblt=function(r,e,i,a,A,l,u,p){if(i|=0,a|=0,A|=0,l|=0,u|=0,p|=0,i>r.width||a>r.height||i+A>r.width||a+l>r.height)throw new Error("bitblt reading outside image");if(u>e.width||p>e.height||u+A>e.width||p+l>e.height)throw new Error("bitblt writing outside image");for(let f=0;f<l;f++)r.data.copy(e.data,(p+f)*e.width+u<<2,(a+f)*r.width+i<<2,(a+f)*r.width+i+A<<2)};Ot.prototype.bitblt=function(r,e,i,a,A,l,u){return Ot.bitblt(this,r,e,i,a,A,l,u),this};Ot.adjustGamma=function(r){if(r.gamma){for(let e=0;e<r.height;e++)for(let i=0;i<r.width;i++){let a=r.width*e+i<<2;for(let A=0;A<3;A++){let l=r.data[a+A]/255;l=Math.pow(l,1/2.2/r.gamma),r.data[a+A]=Math.round(l*255)}}r.gamma=0}};Ot.prototype.adjustGamma=function(){Ot.adjustGamma(this)}});var b0=ae((mk,C0)=>{var pF=Object.create,Ca=Object.defineProperty,fF=Object.getOwnPropertyDescriptor,dF=Object.getOwnPropertyNames,gF=Object.getPrototypeOf,mF=Object.prototype.hasOwnProperty,Ge=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),BF=(r,e)=>{for(var i in e)Ca(r,i,{get:e[i],enumerable:!0})},Jm=(r,e,i,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let A of dF(e))!mF.call(r,A)&&A!==i&&Ca(r,A,{get:()=>e[A],enumerable:!(a=fF(e,A))||a.enumerable});return r},Ol=(r,e,i)=>(i=r!=null?pF(gF(r)):{},Jm(e||!r||!r.__esModule?Ca(i,"default",{value:r,enumerable:!0}):i,r)),EF=r=>Jm(Ca({},"__esModule",{value:!0}),r),ba=Ge(r=>{"use strict";var e=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","266 ff","onedotenleader","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall","001.000","001.001","001.002","001.003","Black","Bold","Book","Light","Medium","Regular","Roman","Semibold"],i=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","","endash","dagger","daggerdbl","periodcentered","","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","","questiondown","","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","","ring","cedilla","","hungarumlaut","ogonek","caron","emdash","","","","","","","","","","","","","","","","","AE","","ordfeminine","","","","","Lslash","Oslash","OE","ordmasculine","","","","","","ae","","","","dotlessi","","","lslash","oslash","oe","germandbls"],a=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","","asuperior","bsuperior","centsuperior","dsuperior","esuperior","","","isuperior","","","lsuperior","msuperior","nsuperior","osuperior","","","rsuperior","ssuperior","tsuperior","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdownsmall","centoldstyle","Lslashsmall","","","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","","Dotaccentsmall","","","Macronsmall","","","figuredash","hypheninferior","","","Ogoneksmall","Ringsmall","Cedillasmall","","","","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],A=[".notdef",".null","nonmarkingreturn","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","nonbreakingspace","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron","Lslash","lslash","Scaron","scaron","Zcaron","zcaron","brokenbar","Eth","eth","Yacute","yacute","Thorn","thorn","minus","multiply","onesuperior","twosuperior","threesuperior","onehalf","onequarter","threequarters","franc","Gbreve","gbreve","Idotaccent","Scedilla","scedilla","Cacute","cacute","Ccaron","ccaron","dcroat"];function l(m){this.font=m}l.prototype.charToGlyphIndex=function(m){var E=m.charCodeAt(0),b=this.font.glyphs;if(b){for(var y=0;y<b.length;y+=1)for(var Q=b.get(y),v=0;v<Q.unicodes.length;v+=1)if(Q.unicodes[v]===E)return y}else return null};function u(m){this.cmap=m}u.prototype.charToGlyphIndex=function(m){return this.cmap.glyphIndexMap[m.charCodeAt(0)]||0};function p(m,E){this.encoding=m,this.charset=E}p.prototype.charToGlyphIndex=function(m){var E=m.charCodeAt(0),b=this.encoding[E];return this.charset.indexOf(b)};function f(m){var E;switch(m.version){case 1:this.names=r.standardNames.slice();break;case 2:for(this.names=new Array(m.numberOfGlyphs),E=0;E<m.numberOfGlyphs;E++)m.glyphNameIndex[E]<r.standardNames.length?this.names[E]=r.standardNames[m.glyphNameIndex[E]]:this.names[E]=m.names[m.glyphNameIndex[E]-r.standardNames.length];break;case 2.5:for(this.names=new Array(m.numberOfGlyphs),E=0;E<m.numberOfGlyphs;E++)this.names[E]=r.standardNames[E+m.glyphNameIndex[E]];break;case 3:this.names=[];break}}f.prototype.nameToGlyphIndex=function(m){return this.names.indexOf(m)},f.prototype.glyphIndexToName=function(m){return this.names[m]};function g(m){for(var E,b=m.tables.cmap.glyphIndexMap,y=Object.keys(b),Q=0;Q<y.length;Q+=1){var v=y[Q],I=b[v];E=m.glyphs.get(I),E.addUnicode(parseInt(v))}for(Q=0;Q<m.glyphs.length;Q+=1)E=m.glyphs.get(Q),m.cffEncoding?E.name=m.cffEncoding.charset[Q]:E.name=m.glyphNames.glyphIndexToName(Q)}r.cffStandardStrings=e,r.cffStandardEncoding=i,r.cffExpertEncoding=a,r.standardNames=A,r.DefaultEncoding=l,r.CmapEncoding=u,r.CffEncoding=p,r.GlyphNames=f,r.addGlyphNames=g}),es=Ge(r=>{"use strict";function e(){this.commands=[],this.fill="black",this.stroke=null,this.strokeWidth=1}e.prototype.moveTo=function(i,a){this.commands.push({type:"M",x:i,y:a})},e.prototype.lineTo=function(i,a){this.commands.push({type:"L",x:i,y:a})},e.prototype.curveTo=e.prototype.bezierCurveTo=function(i,a,A,l,u,p){this.commands.push({type:"C",x1:i,y1:a,x2:A,y2:l,x:u,y:p})},e.prototype.quadTo=e.prototype.quadraticCurveTo=function(i,a,A,l){this.commands.push({type:"Q",x1:i,y1:a,x:A,y:l})},e.prototype.close=e.prototype.closePath=function(){this.commands.push({type:"Z"})},e.prototype.extend=function(i){i.commands&&(i=i.commands),Array.prototype.push.apply(this.commands,i)},e.prototype.draw=function(i){i.beginPath();for(var a=0;a<this.commands.length;a+=1){var A=this.commands[a];A.type==="M"?i.moveTo(A.x,A.y):A.type==="L"?i.lineTo(A.x,A.y):A.type==="C"?i.bezierCurveTo(A.x1,A.y1,A.x2,A.y2,A.x,A.y):A.type==="Q"?i.quadraticCurveTo(A.x1,A.y1,A.x,A.y):A.type==="Z"&&i.closePath()}this.fill&&(i.fillStyle=this.fill,i.fill()),this.stroke&&(i.strokeStyle=this.stroke,i.lineWidth=this.strokeWidth,i.stroke())},e.prototype.toPathData=function(i){i=i!==void 0?i:2;function a(f){return Math.round(f)===f?""+Math.round(f):f.toFixed(i)}function A(){for(var f="",g=0;g<arguments.length;g+=1){var m=arguments[g];m>=0&&g>0&&(f+=" "),f+=a(m)}return f}for(var l="",u=0;u<this.commands.length;u+=1){var p=this.commands[u];p.type==="M"?l+="M"+A(p.x,p.y):p.type==="L"?l+="L"+A(p.x,p.y):p.type==="C"?l+="C"+A(p.x1,p.y1,p.x2,p.y2,p.x,p.y):p.type==="Q"?l+="Q"+A(p.x1,p.y1,p.x,p.y):p.type==="Z"&&(l+="Z")}return l},e.prototype.toSVG=function(i){var a='<path d="';return a+=this.toPathData(i),a+='"',this.fill&this.fill!=="black"&&(this.fill===null?a+=' fill="none"':a+=' fill="'+this.fill+'"'),this.stroke&&(a+=' stroke="'+this.stroke+'" stroke-width="'+this.strokeWidth+'"'),a+="/>",a},r.Path=e}),ur=Ge(r=>{"use strict";r.argument=function(e,i){if(!e)throw new Error(i)},r.assert=r.argument}),Dl=Ge(r=>{"use strict";var e=ur(),i=32768,a=2147483648,A={},l={},u={};function p(y){return function(){return y}}l.BYTE=function(y){return e.argument(y>=0&&y<=255,"Byte value should be between 0 and 255."),[y]},u.BYTE=p(1),l.CHAR=function(y){return[y.charCodeAt(0)]},u.CHAR=p(1),l.CHARARRAY=function(y){for(var Q=[],v=0;v<y.length;v+=1)Q.push(y.charCodeAt(v));return Q},u.CHARARRAY=function(y){return y.length},l.USHORT=function(y){return[y>>8&255,y&255]},u.USHORT=p(2),l.SHORT=function(y){return y>=i&&(y=-(2*i-y)),[y>>8&255,y&255]},u.SHORT=p(2),l.UINT24=function(y){return[y>>16&255,y>>8&255,y&255]},u.UINT24=p(3),l.ULONG=function(y){return[y>>24&255,y>>16&255,y>>8&255,y&255]},u.ULONG=p(4),l.LONG=function(y){return y>=a&&(y=-(2*a-y)),[y>>24&255,y>>16&255,y>>8&255,y&255]},u.LONG=p(4),l.FIXED=l.ULONG,u.FIXED=u.ULONG,l.FWORD=l.SHORT,u.FWORD=u.SHORT,l.UFWORD=l.USHORT,u.UFWORD=u.USHORT,l.LONGDATETIME=function(){return[0,0,0,0,0,0,0,0]},u.LONGDATETIME=p(8),l.TAG=function(y){return e.argument(y.length===4,"Tag should be exactly 4 ASCII characters."),[y.charCodeAt(0),y.charCodeAt(1),y.charCodeAt(2),y.charCodeAt(3)]},u.TAG=p(4),l.Card8=l.BYTE,u.Card8=u.BYTE,l.Card16=l.USHORT,u.Card16=u.USHORT,l.OffSize=l.BYTE,u.OffSize=u.BYTE,l.SID=l.USHORT,u.SID=u.USHORT,l.NUMBER=function(y){return y>=-107&&y<=107?[y+139]:y>=108&&y<=1131?(y=y-108,[(y>>8)+247,y&255]):y>=-1131&&y<=-108?(y=-y-108,[(y>>8)+251,y&255]):y>=-32768&&y<=32767?l.NUMBER16(y):l.NUMBER32(y)},u.NUMBER=function(y){return l.NUMBER(y).length},l.NUMBER16=function(y){return[28,y>>8&255,y&255]},u.NUMBER16=p(3),l.NUMBER32=function(y){return[29,y>>24&255,y>>16&255,y>>8&255,y&255]},u.NUMBER32=p(5),l.REAL=function(y){var Q=y.toString(),v=/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/.exec(Q);if(v){var I=parseFloat("1e"+((v[2]?+v[2]:0)+v[1].length));Q=(Math.round(y*I)/I).toString()}var F="",N,_;for(N=0,_=Q.length;N<_;N+=1){var M=Q[N];M==="e"?F+=Q[++N]==="-"?"c":"b":M==="."?F+="a":M==="-"?F+="e":F+=M}F+=F.length&1?"f":"ff";var O=[30];for(N=0,_=F.length;N<_;N+=2)O.push(parseInt(F.substr(N,2),16));return O},u.REAL=function(y){return l.REAL(y).length},l.NAME=l.CHARARRAY,u.NAME=u.CHARARRAY,l.STRING=l.CHARARRAY,u.STRING=u.CHARARRAY,A.UTF16=function(y,Q,v){for(var I=[],F=v/2,N=0;N<F;N++,Q+=2)I[N]=y.getUint16(Q);return String.fromCharCode.apply(null,I)},l.UTF16=function(y){for(var Q=[],v=0;v<y.length;v+=1){var I=y.charCodeAt(v);Q.push(I>>8&255),Q.push(I&255)}return Q},u.UTF16=function(y){return y.length*2};var f={"x-mac-croatian":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\u0160\u2122\xB4\xA8\u2260\u017D\xD8\u221E\xB1\u2264\u2265\u2206\xB5\u2202\u2211\u220F\u0161\u222B\xAA\xBA\u03A9\u017E\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u0106\xAB\u010C\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u0110\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\uF8FF\xA9\u2044\u20AC\u2039\u203A\xC6\xBB\u2013\xB7\u201A\u201E\u2030\xC2\u0107\xC1\u010D\xC8\xCD\xCE\xCF\xCC\xD3\xD4\u0111\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u03C0\xCB\u02DA\xB8\xCA\xE6\u02C7","x-mac-cyrillic":"\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u2020\xB0\u0490\xA3\xA7\u2022\xB6\u0406\xAE\xA9\u2122\u0402\u0452\u2260\u0403\u0453\u221E\xB1\u2264\u2265\u0456\xB5\u0491\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A\u0458\u0405\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\u040B\u045B\u040C\u045C\u0455\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u201E\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E","x-mac-gaelic":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u1E02\xB1\u2264\u2265\u1E03\u010A\u010B\u1E0A\u1E0B\u1E1E\u1E1F\u0120\u0121\u1E40\xE6\xF8\u1E41\u1E56\u1E57\u027C\u0192\u017F\u1E60\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\u1E61\u1E9B\xFF\u0178\u1E6A\u20AC\u2039\u203A\u0176\u0177\u1E6B\xB7\u1EF2\u1EF3\u204A\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\u2663\xD2\xDA\xDB\xD9\u0131\xDD\xFD\u0174\u0175\u1E84\u1E85\u1E80\u1E81\u1E82\u1E83","x-mac-greek":"\xC4\xB9\xB2\xC9\xB3\xD6\xDC\u0385\xE0\xE2\xE4\u0384\xA8\xE7\xE9\xE8\xEA\xEB\xA3\u2122\xEE\xEF\u2022\xBD\u2030\xF4\xF6\xA6\u20AC\xF9\xFB\xFC\u2020\u0393\u0394\u0398\u039B\u039E\u03A0\xDF\xAE\xA9\u03A3\u03AA\xA7\u2260\xB0\xB7\u0391\xB1\u2264\u2265\xA5\u0392\u0395\u0396\u0397\u0399\u039A\u039C\u03A6\u03AB\u03A8\u03A9\u03AC\u039D\xAC\u039F\u03A1\u2248\u03A4\xAB\xBB\u2026\xA0\u03A5\u03A7\u0386\u0388\u0153\u2013\u2015\u201C\u201D\u2018\u2019\xF7\u0389\u038A\u038C\u038E\u03AD\u03AE\u03AF\u03CC\u038F\u03CD\u03B1\u03B2\u03C8\u03B4\u03B5\u03C6\u03B3\u03B7\u03B9\u03BE\u03BA\u03BB\u03BC\u03BD\u03BF\u03C0\u03CE\u03C1\u03C3\u03C4\u03B8\u03C9\u03C2\u03C7\u03C5\u03B6\u03CA\u03CB\u0390\u03B0\xAD","x-mac-icelandic":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\xDD\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\u20AC\xD0\xF0\xDE\xFE\xFD\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7","x-mac-inuit":"\u1403\u1404\u1405\u1406\u140A\u140B\u1431\u1432\u1433\u1434\u1438\u1439\u1449\u144E\u144F\u1450\u1451\u1455\u1456\u1466\u146D\u146E\u146F\u1470\u1472\u1473\u1483\u148B\u148C\u148D\u148E\u1490\u1491\xB0\u14A1\u14A5\u14A6\u2022\xB6\u14A7\xAE\xA9\u2122\u14A8\u14AA\u14AB\u14BB\u14C2\u14C3\u14C4\u14C5\u14C7\u14C8\u14D0\u14EF\u14F0\u14F1\u14F2\u14F4\u14F5\u1505\u14D5\u14D6\u14D7\u14D8\u14DA\u14DB\u14EA\u1528\u1529\u152A\u152B\u152D\u2026\xA0\u152E\u153E\u1555\u1556\u1557\u2013\u2014\u201C\u201D\u2018\u2019\u1558\u1559\u155A\u155D\u1546\u1547\u1548\u1549\u154B\u154C\u1550\u157F\u1580\u1581\u1582\u1583\u1584\u1585\u158F\u1590\u1591\u1592\u1593\u1594\u1595\u1671\u1672\u1673\u1674\u1675\u1676\u1596\u15A0\u15A1\u15A2\u15A3\u15A4\u15A5\u15A6\u157C\u0141\u0142","x-mac-ce":"\xC4\u0100\u0101\xC9\u0104\xD6\xDC\xE1\u0105\u010C\xE4\u010D\u0106\u0107\xE9\u0179\u017A\u010E\xED\u010F\u0112\u0113\u0116\xF3\u0117\xF4\xF6\xF5\xFA\u011A\u011B\xFC\u2020\xB0\u0118\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\u0119\xA8\u2260\u0123\u012E\u012F\u012A\u2264\u2265\u012B\u0136\u2202\u2211\u0142\u013B\u013C\u013D\u013E\u0139\u013A\u0145\u0146\u0143\xAC\u221A\u0144\u0147\u2206\xAB\xBB\u2026\xA0\u0148\u0150\xD5\u0151\u014C\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\u014D\u0154\u0155\u0158\u2039\u203A\u0159\u0156\u0157\u0160\u201A\u201E\u0161\u015A\u015B\xC1\u0164\u0165\xCD\u017D\u017E\u016A\xD3\xD4\u016B\u016E\xDA\u016F\u0170\u0171\u0172\u0173\xDD\xFD\u0137\u017B\u0141\u017C\u0122\u02C7",macintosh:"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\u20AC\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7","x-mac-romanian":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\u0102\u0218\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\u0103\u0219\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\u20AC\u2039\u203A\u021A\u021B\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7","x-mac-turkish":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u011E\u011F\u0130\u0131\u015E\u015F\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\uF8A0\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"};A.MACSTRING=function(y,Q,v,I){var F=f[I];if(F!==void 0){for(var N="",_=0;_<v;_++){var M=y.getUint8(Q+_);M<=127?N+=String.fromCharCode(M):N+=F[M&127]}return N}};var g=typeof WeakMap=="function"&&new WeakMap,m,E=function(y){if(!m){m={};for(var Q in f)m[Q]=new String(Q)}var v=m[y];if(v!==void 0){if(g){var I=g.get(v);if(I!==void 0)return I}var F=f[y];if(F!==void 0){for(var N={},_=0;_<F.length;_++)N[F.charCodeAt(_)]=_+128;return g&&g.set(v,N),N}}};l.MACSTRING=function(y,Q){var v=E(Q);if(v!==void 0){for(var I=[],F=0;F<y.length;F++){var N=y.charCodeAt(F);if(N>=128&&(N=v[N],N===void 0))return;I.push(N)}return I}},u.MACSTRING=function(y,Q){var v=l.MACSTRING(y,Q);return v!==void 0?v.length:0},l.INDEX=function(y){var Q,v=1,I=[v],F=[],N=0;for(Q=0;Q<y.length;Q+=1){var _=l.OBJECT(y[Q]);Array.prototype.push.apply(F,_),N+=_.length,v+=_.length,I.push(v)}if(F.length===0)return[0,0];var M=[],O=1+Math.floor(Math.log(N)/Math.log(2))/8|0,P=[void 0,l.BYTE,l.USHORT,l.UINT24,l.ULONG][O];for(Q=0;Q<I.length;Q+=1){var R=P(I[Q]);Array.prototype.push.apply(M,R)}return Array.prototype.concat(l.Card16(y.length),l.OffSize(O),M,F)},u.INDEX=function(y){return l.INDEX(y).length},l.DICT=function(y){for(var Q=[],v=Object.keys(y),I=v.length,F=0;F<I;F+=1){var N=parseInt(v[F],0),_=y[N];Q=Q.concat(l.OPERAND(_.value,_.type)),Q=Q.concat(l.OPERATOR(N))}return Q},u.DICT=function(y){return l.DICT(y).length},l.OPERATOR=function(y){return y<1200?[y]:[12,y-1200]},l.OPERAND=function(y,Q){var v=[];if(Array.isArray(Q))for(var I=0;I<Q.length;I+=1)e.argument(y.length===Q.length,"Not enough arguments given for type"+Q),v=v.concat(l.OPERAND(y[I],Q[I]));else if(Q==="SID")v=v.concat(l.NUMBER(y));else if(Q==="offset")v=v.concat(l.NUMBER32(y));else if(Q==="number")v=v.concat(l.NUMBER(y));else if(Q==="real")v=v.concat(l.REAL(y));else throw new Error("Unknown operand type "+Q);return v},l.OP=l.BYTE,u.OP=u.BYTE;var b=typeof WeakMap=="function"&&new WeakMap;l.CHARSTRING=function(y){if(b){var Q=b.get(y);if(Q!==void 0)return Q}for(var v=[],I=y.length,F=0;F<I;F+=1){var N=y[F];v=v.concat(l[N.type](N.value))}return b&&b.set(y,v),v},u.CHARSTRING=function(y){return l.CHARSTRING(y).length},l.OBJECT=function(y){var Q=l[y.type];return e.argument(Q!==void 0,"No encoding function for type "+y.type),Q(y.value)},u.OBJECT=function(y){var Q=u[y.type];return e.argument(Q!==void 0,"No sizeOf function for type "+y.type),Q(y.value)},l.TABLE=function(y){for(var Q=[],v=y.fields.length,I=0;I<v;I+=1){var F=y.fields[I],N=l[F.type];e.argument(N!==void 0,"No encoding function for field type "+F.type);var _=y[F.name];_===void 0&&(_=F.value);var M=N(_);Q=Q.concat(M)}return Q},u.TABLE=function(y){for(var Q=0,v=y.fields.length,I=0;I<v;I+=1){var F=y.fields[I],N=u[F.type];e.argument(N!==void 0,"No sizeOf function for field type "+F.type);var _=y[F.name];_===void 0&&(_=F.value),Q+=N(_)}return Q},l.LITERAL=function(y){return y},u.LITERAL=function(y){return y.length},r.decode=A,r.encode=l,r.sizeOf=u}),tr=Ge(r=>{"use strict";var e=ur(),i=Dl().encode,a=Dl().sizeOf;function A(l,u,p){var f;for(f=0;f<u.length;f+=1){var g=u[f];this[g.name]=g.value}if(this.tableName=l,this.fields=u,p){var m=Object.keys(p);for(f=0;f<m.length;f+=1){var E=m[f],b=p[E];this[E]!==void 0&&(this[E]=b)}}}A.prototype.sizeOf=function(){for(var l=0,u=0;u<this.fields.length;u+=1){var p=this.fields[u],f=this[p.name];if(f===void 0&&(f=p.value),typeof f.sizeOf=="function")l+=f.sizeOf();else{var g=a[p.type];e.assert(typeof g=="function","Could not find sizeOf function for field"+p.name),l+=g(f)}}return l},A.prototype.encode=function(){return i.TABLE(this)},r.Table=A}),Tt=Ge(r=>{"use strict";r.getByte=function(a,A){return a.getUint8(A)},r.getCard8=r.getByte,r.getUShort=function(a,A){return a.getUint16(A,!1)},r.getCard16=r.getUShort,r.getShort=function(a,A){return a.getInt16(A,!1)},r.getULong=function(a,A){return a.getUint32(A,!1)},r.getFixed=function(a,A){var l=a.getInt16(A,!1),u=a.getUint16(A+2,!1);return l+u/65535},r.getTag=function(a,A){for(var l="",u=A;u<A+4;u+=1)l+=String.fromCharCode(a.getInt8(u));return l},r.getOffset=function(a,A,l){for(var u=0,p=0;p<l;p+=1)u<<=8,u+=a.getUint8(A+p);return u},r.getBytes=function(a,A,l){for(var u=[],p=A;p<l;p+=1)u.push(a.getUint8(p));return u},r.bytesToString=function(a){for(var A="",l=0;l<a.length;l+=1)A+=String.fromCharCode(a[l]);return A};var e={byte:1,uShort:2,short:2,uLong:4,fixed:4,longDateTime:8,tag:4};function i(a,A){this.data=a,this.offset=A,this.relativeOffset=0}i.prototype.parseByte=function(){var a=this.data.getUint8(this.offset+this.relativeOffset);return this.relativeOffset+=1,a},i.prototype.parseChar=function(){var a=this.data.getInt8(this.offset+this.relativeOffset);return this.relativeOffset+=1,a},i.prototype.parseCard8=i.prototype.parseByte,i.prototype.parseUShort=function(){var a=this.data.getUint16(this.offset+this.relativeOffset);return this.relativeOffset+=2,a},i.prototype.parseCard16=i.prototype.parseUShort,i.prototype.parseSID=i.prototype.parseUShort,i.prototype.parseOffset16=i.prototype.parseUShort,i.prototype.parseShort=function(){var a=this.data.getInt16(this.offset+this.relativeOffset);return this.relativeOffset+=2,a},i.prototype.parseF2Dot14=function(){var a=this.data.getInt16(this.offset+this.relativeOffset)/16384;return this.relativeOffset+=2,a},i.prototype.parseULong=function(){var a=r.getULong(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,a},i.prototype.parseFixed=function(){var a=r.getFixed(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,a},i.prototype.parseOffset16List=i.prototype.parseUShortList=function(a){for(var A=new Array(a),l=this.data,u=this.offset+this.relativeOffset,p=0;p<a;p++)A[p]=r.getUShort(l,u),u+=2;return this.relativeOffset+=a*2,A},i.prototype.parseString=function(a){var A=this.data,l=this.offset+this.relativeOffset,u="";this.relativeOffset+=a;for(var p=0;p<a;p++)u+=String.fromCharCode(A.getUint8(l+p));return u},i.prototype.parseTag=function(){return this.parseString(4)},i.prototype.parseLongDateTime=function(){var a=r.getULong(this.data,this.offset+this.relativeOffset+4);return this.relativeOffset+=8,a},i.prototype.parseFixed=function(){var a=r.getULong(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,a/65536},i.prototype.parseVersion=function(){var a=r.getUShort(this.data,this.offset+this.relativeOffset),A=r.getUShort(this.data,this.offset+this.relativeOffset+2);return this.relativeOffset+=4,a+A/4096/10},i.prototype.skip=function(a,A){A===void 0&&(A=1),this.relativeOffset+=e[a]*A},r.Parser=i}),Vm=Ge(r=>{"use strict";var e=ur(),i=Tt(),a=tr();function A(f,g){var m,E={};E.version=i.getUShort(f,g),e.argument(E.version===0,"cmap table version should be 0."),E.numTables=i.getUShort(f,g+2);var b=-1;for(m=0;m<E.numTables;m+=1){var y=i.getUShort(f,g+4+m*8),Q=i.getUShort(f,g+4+m*8+2);if(y===3&&(Q===1||Q===0)){b=i.getULong(f,g+4+m*8+4);break}}if(b===-1)return null;var v=new i.Parser(f,g+b);E.format=v.parseUShort(),e.argument(E.format===4,"Only format 4 cmap tables are supported."),E.length=v.parseUShort(),E.language=v.parseUShort();var I;E.segCount=I=v.parseUShort()>>1,v.skip("uShort",3),E.glyphIndexMap={};var F=new i.Parser(f,g+b+14),N=new i.Parser(f,g+b+16+I*2),_=new i.Parser(f,g+b+16+I*4),M=new i.Parser(f,g+b+16+I*6),O=g+b+16+I*8;for(m=0;m<I-1;m+=1)for(var P,R=F.parseUShort(),re=N.parseUShort(),q=_.parseShort(),le=M.parseUShort(),Ae=re;Ae<=R;Ae+=1)le!==0?(O=M.offset+M.relativeOffset-2,O+=le,O+=(Ae-re)*2,P=i.getUShort(f,O),P!==0&&(P=P+q&65535)):P=Ae+q&65535,E.glyphIndexMap[Ae]=P;return E}function l(f,g,m){f.segments.push({end:g,start:g,delta:-(g-m),offset:0})}function u(f){f.segments.push({end:65535,start:65535,delta:1,offset:0})}function p(f){var g,m=new a.Table("cmap",[{name:"version",type:"USHORT",value:0},{name:"numTables",type:"USHORT",value:1},{name:"platformID",type:"USHORT",value:3},{name:"encodingID",type:"USHORT",value:1},{name:"offset",type:"ULONG",value:12},{name:"format",type:"USHORT",value:4},{name:"length",type:"USHORT",value:0},{name:"language",type:"USHORT",value:0},{name:"segCountX2",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0}]);for(m.segments=[],g=0;g<f.length;g+=1){for(var E=f.get(g),b=0;b<E.unicodes.length;b+=1)l(m,E.unicodes[b],g);m.segments=m.segments.sort(function(M,O){return M.start-O.start})}u(m);var y;y=m.segments.length,m.segCountX2=y*2,m.searchRange=Math.pow(2,Math.floor(Math.log(y)/Math.log(2)))*2,m.entrySelector=Math.log(m.searchRange/2)/Math.log(2),m.rangeShift=m.segCountX2-m.searchRange;var Q=[],v=[],I=[],F=[],N=[];for(g=0;g<y;g+=1){var _=m.segments[g];Q=Q.concat({name:"end_"+g,type:"USHORT",value:_.end}),v=v.concat({name:"start_"+g,type:"USHORT",value:_.start}),I=I.concat({name:"idDelta_"+g,type:"SHORT",value:_.delta}),F=F.concat({name:"idRangeOffset_"+g,type:"USHORT",value:_.offset}),_.glyphId!==void 0&&(N=N.concat({name:"glyph_"+g,type:"USHORT",value:_.glyphId}))}return m.fields=m.fields.concat(Q),m.fields.push({name:"reservedPad",type:"USHORT",value:0}),m.fields=m.fields.concat(v),m.fields=m.fields.concat(I),m.fields=m.fields.concat(F),m.fields=m.fields.concat(N),m.length=14+Q.length*2+2+v.length*2+I.length*2+F.length*2+N.length*2,m}r.parse=A,r.make=p}),wF=Ge(r=>{"use strict";function e(i,a,A,l,u){i.beginPath(),i.moveTo(a,A),i.lineTo(l,u),i.stroke()}r.line=e}),jm=Ge(r=>{"use strict";var e=ur(),i=wF(),a=es();function A(u,p){var f=p||{commands:[]};return{configurable:!0,get:function(){return typeof f=="function"&&(f=f()),f},set:function(g){f=g}}}function l(u){this.bindConstructorValues(u)}l.prototype.bindConstructorValues=function(u){this.index=u.index||0,this.name=u.name||null,this.unicode=u.unicode||void 0,this.unicodes=u.unicodes||u.unicode!==void 0?[u.unicode]:[],u.xMin&&(this.xMin=u.xMin),u.yMin&&(this.yMin=u.yMin),u.xMax&&(this.xMax=u.xMax),u.yMax&&(this.yMax=u.yMax),u.advanceWidth&&(this.advanceWidth=u.advanceWidth),Object.defineProperty(this,"path",A(this,u.path))},l.prototype.addUnicode=function(u){this.unicodes.length===0&&(this.unicode=u),this.unicodes.push(u)},l.prototype.getPath=function(u,p,f){u=u!==void 0?u:0,p=p!==void 0?p:0,f=f!==void 0?f:72;for(var g=1/this.path.unitsPerEm*f,m=new a.Path,E=this.path.commands,b=0;b<E.length;b+=1){var y=E[b];y.type==="M"?m.moveTo(u+y.x*g,p+-y.y*g):y.type==="L"?m.lineTo(u+y.x*g,p+-y.y*g):y.type==="Q"?m.quadraticCurveTo(u+y.x1*g,p+-y.y1*g,u+y.x*g,p+-y.y*g):y.type==="C"?m.curveTo(u+y.x1*g,p+-y.y1*g,u+y.x2*g,p+-y.y2*g,u+y.x*g,p+-y.y*g):y.type==="Z"&&m.closePath()}return m},l.prototype.getContours=function(){if(this.points===void 0)return[];for(var u=[],p=[],f=0;f<this.points.length;f+=1){var g=this.points[f];p.push(g),g.lastPointOfContour&&(u.push(p),p=[])}return e.argument(p.length===0,"There are still points left in the current contour."),u},l.prototype.getMetrics=function(){for(var u=this.path.commands,p=[],f=[],g=0;g<u.length;g+=1){var m=u[g];m.type!=="Z"&&(p.push(m.x),f.push(m.y)),(m.type==="Q"||m.type==="C")&&(p.push(m.x1),f.push(m.y1)),m.type==="C"&&(p.push(m.x2),f.push(m.y2))}var E={xMin:Math.min.apply(null,p),yMin:Math.min.apply(null,f),xMax:Math.max.apply(null,p),yMax:Math.max.apply(null,f),leftSideBearing:0};return isFinite(E.xMin)||(E.xMin=0),isFinite(E.xMax)||(E.xMax=this.advanceWidth),isFinite(E.yMin)||(E.yMin=0),isFinite(E.yMax)||(E.yMax=0),E.rightSideBearing=this.advanceWidth-E.leftSideBearing-(E.xMax-E.xMin),E},l.prototype.draw=function(u,p,f,g){this.getPath(p,f,g).draw(u)},l.prototype.drawPoints=function(u,p,f,g){function m(F,N,_,M){var O=Math.PI*2;u.beginPath();for(var P=0;P<F.length;P+=1)u.moveTo(N+F[P].x*M,_+F[P].y*M),u.arc(N+F[P].x*M,_+F[P].y*M,2,0,O,!1);u.closePath(),u.fill()}p=p!==void 0?p:0,f=f!==void 0?f:0,g=g!==void 0?g:24;for(var E=1/this.path.unitsPerEm*g,b=[],y=[],Q=this.path,v=0;v<Q.commands.length;v+=1){var I=Q.commands[v];I.x!==void 0&&b.push({x:I.x,y:-I.y}),I.x1!==void 0&&y.push({x:I.x1,y:-I.y1}),I.x2!==void 0&&y.push({x:I.x2,y:-I.y2})}u.fillStyle="blue",m(b,p,f,E),u.fillStyle="red",m(y,p,f,E)},l.prototype.drawMetrics=function(u,p,f,g){var m;p=p!==void 0?p:0,f=f!==void 0?f:0,g=g!==void 0?g:24,m=1/this.path.unitsPerEm*g,u.lineWidth=1,u.strokeStyle="black",i.line(u,p,-1e4,p,1e4),i.line(u,-1e4,f,1e4,f);var E=this.xMin||0,b=this.yMin||0,y=this.xMax||0,Q=this.yMax||0,v=this.advanceWidth||0;u.strokeStyle="blue",i.line(u,p+E*m,-1e4,p+E*m,1e4),i.line(u,p+y*m,-1e4,p+y*m,1e4),i.line(u,-1e4,f+-b*m,1e4,f+-b*m),i.line(u,-1e4,f+-Q*m,1e4,f+-Q*m),u.strokeStyle="green",i.line(u,p+v*m,-1e4,p+v*m,1e4)},r.Glyph=l}),Yl=Ge(r=>{"use strict";var e=jm();function i(u,p){if(this.font=u,this.glyphs={},Array.isArray(p))for(var f=0;f<p.length;f++)this.glyphs[f]=p[f];this.length=p&&p.length||0}i.prototype.get=function(u){return typeof this.glyphs[u]=="function"&&(this.glyphs[u]=this.glyphs[u]()),this.glyphs[u]},i.prototype.push=function(u,p){this.glyphs[u]=p,this.length++};function a(u,p){return new e.Glyph({index:p,font:u})}function A(u,p,f,g,m,E){return function(){var b=new e.Glyph({index:p,font:u});return b.path=function(){f(b,g,m);var y=E(u.glyphs,b);return y.unitsPerEm=u.unitsPerEm,y},b}}function l(u,p,f,g){return function(){var m=new e.Glyph({index:p,font:u});return m.path=function(){var E=f(u,m,g);return E.unitsPerEm=u.unitsPerEm,E},m}}r.GlyphSet=i,r.glyphLoader=a,r.ttfGlyphLoader=A,r.cffGlyphLoader=l}),_m=Ge(r=>{"use strict";var e=ba(),i=Yl(),a=Tt(),A=es(),l=tr();function u(W,Y){if(W===Y)return!0;if(Array.isArray(W)&&Array.isArray(Y)){if(W.length!==Y.length)return!1;for(var J=0;J<W.length;J+=1)if(!u(W[J],Y[J]))return!1;return!0}else return!1}function p(W,Y,J){var X=[],j=[],K=a.getCard16(W,Y),G,z,D;if(K!==0){var fe=a.getByte(W,Y+2);z=Y+(K+1)*fe+2;var ce=Y+3;for(G=0;G<K+1;G+=1)X.push(a.getOffset(W,ce,fe)),ce+=fe;D=z+X[K]}else D=Y+2;for(G=0;G<X.length-1;G+=1){var Qe=a.getBytes(W,z+X[G],z+X[G+1]);J&&(Qe=J(Qe)),j.push(Qe)}return{objects:j,startOffset:Y,endOffset:D}}function f(W){for(var Y="",J=15,X=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"];;){var j=W.parseByte(),K=j>>4,G=j&15;if(K===J||(Y+=X[K],G===J))break;Y+=X[G]}return parseFloat(Y)}function g(W,Y){var J,X,j,K;if(Y===28)return J=W.parseByte(),X=W.parseByte(),J<<8|X;if(Y===29)return J=W.parseByte(),X=W.parseByte(),j=W.parseByte(),K=W.parseByte(),J<<24|X<<16|j<<8|K;if(Y===30)return f(W);if(Y>=32&&Y<=246)return Y-139;if(Y>=247&&Y<=250)return J=W.parseByte(),(Y-247)*256+J+108;if(Y>=251&&Y<=254)return J=W.parseByte(),-(Y-251)*256-J-108;throw new Error("Invalid b0 "+Y)}function m(W){for(var Y={},J=0;J<W.length;J+=1){var X=W[J][0],j=W[J][1],K;if(j.length===1?K=j[0]:K=j,Y.hasOwnProperty(X))throw new Error("Object "+Y+" already has key "+X);Y[X]=K}return Y}function E(W,Y,J){Y=Y!==void 0?Y:0;var X=new a.Parser(W,Y),j=[],K=[];for(J=J!==void 0?J:W.length;X.relativeOffset<J;){var G=X.parseByte();G<=21?(G===12&&(G=1200+X.parseByte()),j.push([G,K]),K=[]):K.push(g(X,G))}return m(j)}function b(W,Y){return Y<=390?Y=e.cffStandardStrings[Y]:Y=W[Y-391],Y}function y(W,Y,J){for(var X={},j=0;j<Y.length;j+=1){var K=Y[j],G=W[K.op];G===void 0&&(G=K.value!==void 0?K.value:null),K.type==="SID"&&(G=b(J,G)),X[K.name]=G}return X}function Q(W,Y){var J={};return J.formatMajor=a.getCard8(W,Y),J.formatMinor=a.getCard8(W,Y+1),J.size=a.getCard8(W,Y+2),J.offsetSize=a.getCard8(W,Y+3),J.startOffset=Y,J.endOffset=Y+4,J}var v=[{name:"version",op:0,type:"SID"},{name:"notice",op:1,type:"SID"},{name:"copyright",op:1200,type:"SID"},{name:"fullName",op:2,type:"SID"},{name:"familyName",op:3,type:"SID"},{name:"weight",op:4,type:"SID"},{name:"isFixedPitch",op:1201,type:"number",value:0},{name:"italicAngle",op:1202,type:"number",value:0},{name:"underlinePosition",op:1203,type:"number",value:-100},{name:"underlineThickness",op:1204,type:"number",value:50},{name:"paintType",op:1205,type:"number",value:0},{name:"charstringType",op:1206,type:"number",value:2},{name:"fontMatrix",op:1207,type:["real","real","real","real","real","real"],value:[.001,0,0,.001,0,0]},{name:"uniqueId",op:13,type:"number"},{name:"fontBBox",op:5,type:["number","number","number","number"],value:[0,0,0,0]},{name:"strokeWidth",op:1208,type:"number",value:0},{name:"xuid",op:14,type:[],value:null},{name:"charset",op:15,type:"offset",value:0},{name:"encoding",op:16,type:"offset",value:0},{name:"charStrings",op:17,type:"offset",value:0},{name:"private",op:18,type:["number","offset"],value:[0,0]}],I=[{name:"subrs",op:19,type:"offset",value:0},{name:"defaultWidthX",op:20,type:"number",value:0},{name:"nominalWidthX",op:21,type:"number",value:0}];function F(W,Y){var J=E(W,0,W.byteLength);return y(J,v,Y)}function N(W,Y,J,X){var j=E(W,Y,J);return y(j,I,X)}function _(W,Y,J,X){var j,K,G,z=new a.Parser(W,Y);J-=1;var D=[".notdef"],fe=z.parseCard8();if(fe===0)for(j=0;j<J;j+=1)K=z.parseSID(),D.push(b(X,K));else if(fe===1)for(;D.length<=J;)for(K=z.parseSID(),G=z.parseCard8(),j=0;j<=G;j+=1)D.push(b(X,K)),K+=1;else if(fe===2)for(;D.length<=J;)for(K=z.parseSID(),G=z.parseCard16(),j=0;j<=G;j+=1)D.push(b(X,K)),K+=1;else throw new Error("Unknown charset format "+fe);return D}function M(W,Y,J){var X,j,K={},G=new a.Parser(W,Y),z=G.parseCard8();if(z===0){var D=G.parseCard8();for(X=0;X<D;X+=1)j=G.parseCard8(),K[j]=X}else if(z===1){var fe=G.parseCard8();for(j=1,X=0;X<fe;X+=1)for(var ce=G.parseCard8(),Qe=G.parseCard8(),Z=ce;Z<=ce+Qe;Z+=1)K[Z]=j,j+=1}else throw new Error("Unknown encoding format "+z);return new e.CffEncoding(K,J)}function O(W,Y,J){var X,j,K,G,z=new A.Path,D=[],fe=0,ce=!1,Qe=W.defaultWidthX,Z=!1,H=0,ne=0;function Oe(Ze,ze){Z&&z.closePath(),z.moveTo(Ze,ze),Z=!0}function De(){var Ze;Ze=D.length%2!==0,Ze&&!ce&&(Qe=D.shift()+W.nominalWidthX),fe+=D.length>>1,D.length=0,ce=!0}function it(Ze){for(var ze,wt,te,ve,be,ue,Me,He,Le,Ye,de,ge,oe=0;oe<Ze.length;){var ke=Ze[oe];switch(oe+=1,ke){case 1:De();break;case 3:De();break;case 4:D.length>1&&!ce&&(Qe=D.shift()+W.nominalWidthX,ce=!0),ne+=D.pop(),Oe(H,ne);break;case 5:for(;D.length>0;)H+=D.shift(),ne+=D.shift(),z.lineTo(H,ne);break;case 6:for(;D.length>0&&(H+=D.shift(),z.lineTo(H,ne),D.length!==0);)ne+=D.shift(),z.lineTo(H,ne);break;case 7:for(;D.length>0&&(ne+=D.shift(),z.lineTo(H,ne),D.length!==0);)H+=D.shift(),z.lineTo(H,ne);break;case 8:for(;D.length>0;)X=H+D.shift(),j=ne+D.shift(),K=X+D.shift(),G=j+D.shift(),H=K+D.shift(),ne=G+D.shift(),z.curveTo(X,j,K,G,H,ne);break;case 10:be=D.pop()+W.subrsBias,ue=W.subrs[be],ue&&it(ue);break;case 11:return;case 12:switch(ke=Ze[oe],oe+=1,ke){case 35:X=H+D.shift(),j=ne+D.shift(),K=X+D.shift(),G=j+D.shift(),Me=K+D.shift(),He=G+D.shift(),Le=Me+D.shift(),Ye=He+D.shift(),de=Le+D.shift(),ge=Ye+D.shift(),H=de+D.shift(),ne=ge+D.shift(),D.shift(),z.curveTo(X,j,K,G,Me,He),z.curveTo(Le,Ye,de,ge,H,ne);break;case 34:X=H+D.shift(),j=ne,K=X+D.shift(),G=j+D.shift(),Me=K+D.shift(),He=G,Le=Me+D.shift(),Ye=G,de=Le+D.shift(),ge=ne,H=de+D.shift(),z.curveTo(X,j,K,G,Me,He),z.curveTo(Le,Ye,de,ge,H,ne);break;case 36:X=H+D.shift(),j=ne+D.shift(),K=X+D.shift(),G=j+D.shift(),Me=K+D.shift(),He=G,Le=Me+D.shift(),Ye=G,de=Le+D.shift(),ge=Ye+D.shift(),H=de+D.shift(),z.curveTo(X,j,K,G,Me,He),z.curveTo(Le,Ye,de,ge,H,ne);break;case 37:X=H+D.shift(),j=ne+D.shift(),K=X+D.shift(),G=j+D.shift(),Me=K+D.shift(),He=G+D.shift(),Le=Me+D.shift(),Ye=He+D.shift(),de=Le+D.shift(),ge=Ye+D.shift(),Math.abs(de-H)>Math.abs(ge-ne)?H=de+D.shift():ne=ge+D.shift(),z.curveTo(X,j,K,G,Me,He),z.curveTo(Le,Ye,de,ge,H,ne);break;default:console.log("Glyph "+Y.index+": unknown operator 1200"+ke),D.length=0}break;case 14:D.length>0&&!ce&&(Qe=D.shift()+W.nominalWidthX,ce=!0),Z&&(z.closePath(),Z=!1);break;case 18:De();break;case 19:case 20:De(),oe+=fe+7>>3;break;case 21:D.length>2&&!ce&&(Qe=D.shift()+W.nominalWidthX,ce=!0),ne+=D.pop(),H+=D.pop(),Oe(H,ne);break;case 22:D.length>1&&!ce&&(Qe=D.shift()+W.nominalWidthX,ce=!0),H+=D.pop(),Oe(H,ne);break;case 23:De();break;case 24:for(;D.length>2;)X=H+D.shift(),j=ne+D.shift(),K=X+D.shift(),G=j+D.shift(),H=K+D.shift(),ne=G+D.shift(),z.curveTo(X,j,K,G,H,ne);H+=D.shift(),ne+=D.shift(),z.lineTo(H,ne);break;case 25:for(;D.length>6;)H+=D.shift(),ne+=D.shift(),z.lineTo(H,ne);X=H+D.shift(),j=ne+D.shift(),K=X+D.shift(),G=j+D.shift(),H=K+D.shift(),ne=G+D.shift(),z.curveTo(X,j,K,G,H,ne);break;case 26:for(D.length%2&&(H+=D.shift());D.length>0;)X=H,j=ne+D.shift(),K=X+D.shift(),G=j+D.shift(),H=K,ne=G+D.shift(),z.curveTo(X,j,K,G,H,ne);break;case 27:for(D.length%2&&(ne+=D.shift());D.length>0;)X=H+D.shift(),j=ne,K=X+D.shift(),G=j+D.shift(),H=K+D.shift(),ne=G,z.curveTo(X,j,K,G,H,ne);break;case 28:ze=Ze[oe],wt=Ze[oe+1],D.push((ze<<24|wt<<16)>>16),oe+=2;break;case 29:be=D.pop()+W.gsubrsBias,ue=W.gsubrs[be],ue&&it(ue);break;case 30:for(;D.length>0&&(X=H,j=ne+D.shift(),K=X+D.shift(),G=j+D.shift(),H=K+D.shift(),ne=G+(D.length===1?D.shift():0),z.curveTo(X,j,K,G,H,ne),D.length!==0);)X=H+D.shift(),j=ne,K=X+D.shift(),G=j+D.shift(),ne=G+D.shift(),H=K+(D.length===1?D.shift():0),z.curveTo(X,j,K,G,H,ne);break;case 31:for(;D.length>0&&(X=H+D.shift(),j=ne,K=X+D.shift(),G=j+D.shift(),ne=G+D.shift(),H=K+(D.length===1?D.shift():0),z.curveTo(X,j,K,G,H,ne),D.length!==0);)X=H,j=ne+D.shift(),K=X+D.shift(),G=j+D.shift(),H=K+D.shift(),ne=G+(D.length===1?D.shift():0),z.curveTo(X,j,K,G,H,ne);break;default:ke<32?console.log("Glyph "+Y.index+": unknown operator "+ke):ke<247?D.push(ke-139):ke<251?(ze=Ze[oe],oe+=1,D.push((ke-247)*256+ze+108)):ke<255?(ze=Ze[oe],oe+=1,D.push(-(ke-251)*256-ze-108)):(ze=Ze[oe],wt=Ze[oe+1],te=Ze[oe+2],ve=Ze[oe+3],oe+=4,D.push((ze<<24|wt<<16|te<<8|ve)/65536))}}}return it(J),Y.advanceWidth=Qe,z}function P(W){var Y;return W.length<1240?Y=107:W.length<33900?Y=1131:Y=32768,Y}function R(W,Y,J){J.tables.cff={};var X=Q(W,Y),j=p(W,X.endOffset,a.bytesToString),K=p(W,j.endOffset),G=p(W,K.endOffset,a.bytesToString),z=p(W,G.endOffset);J.gsubrs=z.objects,J.gsubrsBias=P(J.gsubrs);var D=new DataView(new Uint8Array(K.objects[0]).buffer),fe=F(D,G.objects);J.tables.cff.topDict=fe;var ce=Y+fe.private[1],Qe=N(W,ce,fe.private[0],G.objects);if(J.defaultWidthX=Qe.defaultWidthX,J.nominalWidthX=Qe.nominalWidthX,Qe.subrs!==0){var Z=ce+Qe.subrs,H=p(W,Z);J.subrs=H.objects,J.subrsBias=P(J.subrs)}else J.subrs=[],J.subrsBias=0;var ne=p(W,Y+fe.charStrings);J.nGlyphs=ne.objects.length;var Oe=_(W,Y+fe.charset,J.nGlyphs,G.objects);fe.encoding===0?J.cffEncoding=new e.CffEncoding(e.cffStandardEncoding,Oe):fe.encoding===1?J.cffEncoding=new e.CffEncoding(e.cffExpertEncoding,Oe):J.cffEncoding=M(W,Y+fe.encoding,Oe),J.encoding=J.encoding||J.cffEncoding,J.glyphs=new i.GlyphSet(J);for(var De=0;De<J.nGlyphs;De+=1){var it=ne.objects[De];J.glyphs.push(De,i.cffGlyphLoader(J,De,O,it))}}function re(W,Y){var J,X=e.cffStandardStrings.indexOf(W);return X>=0&&(J=X),X=Y.indexOf(W),X>=0?J=X+e.cffStandardStrings.length:(J=e.cffStandardStrings.length+Y.length,Y.push(W)),J}function q(){return new l.Table("Header",[{name:"major",type:"Card8",value:1},{name:"minor",type:"Card8",value:0},{name:"hdrSize",type:"Card8",value:4},{name:"major",type:"Card8",value:1}])}function le(W){var Y=new l.Table("Name INDEX",[{name:"names",type:"INDEX",value:[]}]);Y.names=[];for(var J=0;J<W.length;J+=1)Y.names.push({name:"name_"+J,type:"NAME",value:W[J]});return Y}function Ae(W,Y,J){for(var X={},j=0;j<W.length;j+=1){var K=W[j],G=Y[K.name];G!==void 0&&!u(G,K.value)&&(K.type==="SID"&&(G=re(G,J)),X[K.op]={name:K.name,type:K.type,value:G})}return X}function ie(W,Y){var J=new l.Table("Top DICT",[{name:"dict",type:"DICT",value:{}}]);return J.dict=Ae(v,W,Y),J}function se(W){var Y=new l.Table("Top DICT INDEX",[{name:"topDicts",type:"INDEX",value:[]}]);return Y.topDicts=[{name:"topDict_0",type:"TABLE",value:W}],Y}function ye(W){var Y=new l.Table("String INDEX",[{name:"strings",type:"INDEX",value:[]}]);Y.strings=[];for(var J=0;J<W.length;J+=1)Y.strings.push({name:"string_"+J,type:"STRING",value:W[J]});return Y}function pe(){return new l.Table("Global Subr INDEX",[{name:"subrs",type:"INDEX",value:[]}])}function Pe(W,Y){for(var J=new l.Table("Charsets",[{name:"format",type:"Card8",value:0}]),X=0;X<W.length;X+=1){var j=W[X],K=re(j,Y);J.fields.push({name:"glyph_"+X,type:"SID",value:K})}return J}function Be(W){var Y=[],J=W.path;Y.push({name:"width",type:"NUMBER",value:W.advanceWidth});for(var X=0,j=0,K=0;K<J.commands.length;K+=1){var G,z,D=J.commands[K];if(D.type==="Q"){var fe=.3333333333333333,ce=2/3;D={type:"C",x:D.x,y:D.y,x1:fe*X+ce*D.x1,y1:fe*j+ce*D.y1,x2:fe*D.x+ce*D.x1,y2:fe*D.y+ce*D.y1}}if(D.type==="M")G=Math.round(D.x-X),z=Math.round(D.y-j),Y.push({name:"dx",type:"NUMBER",value:G}),Y.push({name:"dy",type:"NUMBER",value:z}),Y.push({name:"rmoveto",type:"OP",value:21}),X=Math.round(D.x),j=Math.round(D.y);else if(D.type==="L")G=Math.round(D.x-X),z=Math.round(D.y-j),Y.push({name:"dx",type:"NUMBER",value:G}),Y.push({name:"dy",type:"NUMBER",value:z}),Y.push({name:"rlineto",type:"OP",value:5}),X=Math.round(D.x),j=Math.round(D.y);else if(D.type==="C"){var Qe=Math.round(D.x1-X),Z=Math.round(D.y1-j),H=Math.round(D.x2-D.x1),ne=Math.round(D.y2-D.y1);G=Math.round(D.x-D.x2),z=Math.round(D.y-D.y2),Y.push({name:"dx1",type:"NUMBER",value:Qe}),Y.push({name:"dy1",type:"NUMBER",value:Z}),Y.push({name:"dx2",type:"NUMBER",value:H}),Y.push({name:"dy2",type:"NUMBER",value:ne}),Y.push({name:"dx",type:"NUMBER",value:G}),Y.push({name:"dy",type:"NUMBER",value:z}),Y.push({name:"rrcurveto",type:"OP",value:8}),X=Math.round(D.x),j=Math.round(D.y)}}return Y.push({name:"endchar",type:"OP",value:14}),Y}function Ee(W){for(var Y=new l.Table("CharStrings INDEX",[{name:"charStrings",type:"INDEX",value:[]}]),J=0;J<W.length;J+=1){var X=W.get(J),j=Be(X);Y.charStrings.push({name:X.name,type:"CHARSTRING",value:j})}return Y}function me(W,Y){var J=new l.Table("Private DICT",[{name:"dict",type:"DICT",value:{}}]);return J.dict=Ae(I,W,Y),J}function Ne(W){var Y=new l.Table("Private DICT INDEX",[{name:"privateDicts",type:"INDEX",value:[]}]);return Y.privateDicts=[{name:"privateDict_0",type:"TABLE",value:W}],Y}function Fe(W,Y){for(var J=new l.Table("CFF ",[{name:"header",type:"TABLE"},{name:"nameIndex",type:"TABLE"},{name:"topDictIndex",type:"TABLE"},{name:"stringIndex",type:"TABLE"},{name:"globalSubrIndex",type:"TABLE"},{name:"charsets",type:"TABLE"},{name:"charStringsIndex",type:"TABLE"},{name:"privateDictIndex",type:"TABLE"}]),X=1/Y.unitsPerEm,j={version:Y.version,fullName:Y.fullName,familyName:Y.familyName,weight:Y.weightName,fontMatrix:[X,0,0,X,0,0],charset:999,encoding:0,charStrings:999,private:[0,999]},K={},G=[],z,D=1;D<W.length;D+=1)z=W.get(D),G.push(z.name);var fe=[];J.header=q(),J.nameIndex=le([Y.postScriptName]);var ce=ie(j,fe);J.topDictIndex=se(ce),J.globalSubrIndex=pe(),J.charsets=Pe(G,fe),J.charStringsIndex=Ee(W);var Qe=me(K,fe);J.privateDictIndex=Ne(Qe),J.stringIndex=ye(fe);var Z=J.header.sizeOf()+J.nameIndex.sizeOf()+J.topDictIndex.sizeOf()+J.stringIndex.sizeOf()+J.globalSubrIndex.sizeOf();return j.charset=Z,j.encoding=0,j.charStrings=j.charset+J.charsets.sizeOf(),j.private[1]=j.charStrings+J.charStringsIndex.sizeOf(),ce=ie(j,fe),J.topDictIndex=se(ce),J}r.parse=R,r.make=Fe}),Zm=Ge(r=>{"use strict";var e=ur(),i=Tt(),a=tr();function A(u,p){var f={},g=new i.Parser(u,p);return f.version=g.parseVersion(),f.fontRevision=Math.round(g.parseFixed()*1e3)/1e3,f.checkSumAdjustment=g.parseULong(),f.magicNumber=g.parseULong(),e.argument(f.magicNumber===1594834165,"Font header has wrong magic number."),f.flags=g.parseUShort(),f.unitsPerEm=g.parseUShort(),f.created=g.parseLongDateTime(),f.modified=g.parseLongDateTime(),f.xMin=g.parseShort(),f.yMin=g.parseShort(),f.xMax=g.parseShort(),f.yMax=g.parseShort(),f.macStyle=g.parseUShort(),f.lowestRecPPEM=g.parseUShort(),f.fontDirectionHint=g.parseShort(),f.indexToLocFormat=g.parseShort(),f.glyphDataFormat=g.parseShort(),f}function l(u){return new a.Table("head",[{name:"version",type:"FIXED",value:65536},{name:"fontRevision",type:"FIXED",value:65536},{name:"checkSumAdjustment",type:"ULONG",value:0},{name:"magicNumber",type:"ULONG",value:1594834165},{name:"flags",type:"USHORT",value:0},{name:"unitsPerEm",type:"USHORT",value:1e3},{name:"created",type:"LONGDATETIME",value:0},{name:"modified",type:"LONGDATETIME",value:0},{name:"xMin",type:"SHORT",value:0},{name:"yMin",type:"SHORT",value:0},{name:"xMax",type:"SHORT",value:0},{name:"yMax",type:"SHORT",value:0},{name:"macStyle",type:"USHORT",value:0},{name:"lowestRecPPEM",type:"USHORT",value:0},{name:"fontDirectionHint",type:"SHORT",value:2},{name:"indexToLocFormat",type:"SHORT",value:0},{name:"glyphDataFormat",type:"SHORT",value:0}],u)}r.parse=A,r.make=l}),zm=Ge(r=>{"use strict";var e=Tt(),i=tr();function a(l,u){var p={},f=new e.Parser(l,u);return p.version=f.parseVersion(),p.ascender=f.parseShort(),p.descender=f.parseShort(),p.lineGap=f.parseShort(),p.advanceWidthMax=f.parseUShort(),p.minLeftSideBearing=f.parseShort(),p.minRightSideBearing=f.parseShort(),p.xMaxExtent=f.parseShort(),p.caretSlopeRise=f.parseShort(),p.caretSlopeRun=f.parseShort(),p.caretOffset=f.parseShort(),f.relativeOffset+=8,p.metricDataFormat=f.parseShort(),p.numberOfHMetrics=f.parseUShort(),p}function A(l){return new i.Table("hhea",[{name:"version",type:"FIXED",value:65536},{name:"ascender",type:"FWORD",value:0},{name:"descender",type:"FWORD",value:0},{name:"lineGap",type:"FWORD",value:0},{name:"advanceWidthMax",type:"UFWORD",value:0},{name:"minLeftSideBearing",type:"FWORD",value:0},{name:"minRightSideBearing",type:"FWORD",value:0},{name:"xMaxExtent",type:"FWORD",value:0},{name:"caretSlopeRise",type:"SHORT",value:1},{name:"caretSlopeRun",type:"SHORT",value:0},{name:"caretOffset",type:"SHORT",value:0},{name:"reserved1",type:"SHORT",value:0},{name:"reserved2",type:"SHORT",value:0},{name:"reserved3",type:"SHORT",value:0},{name:"reserved4",type:"SHORT",value:0},{name:"metricDataFormat",type:"SHORT",value:0},{name:"numberOfHMetrics",type:"USHORT",value:0}],l)}r.parse=a,r.make=A}),Xm=Ge(r=>{"use strict";var e=Tt(),i=tr();function a(l,u,p,f,g){for(var m,E,b=new e.Parser(l,u),y=0;y<f;y+=1){y<p&&(m=b.parseUShort(),E=b.parseShort());var Q=g.get(y);Q.advanceWidth=m,Q.leftSideBearing=E}}function A(l){for(var u=new i.Table("hmtx",[]),p=0;p<l.length;p+=1){var f=l.get(p),g=f.advanceWidth||0,m=f.leftSideBearing||0;u.fields.push({name:"advanceWidth_"+p,type:"USHORT",value:g}),u.fields.push({name:"leftSideBearing_"+p,type:"SHORT",value:m})}return u}r.parse=a,r.make=A}),qm=Ge(r=>{"use strict";var e=ur(),i=Tt(),a=tr();function A(u){for(var p=new a.Table("ltag",[{name:"version",type:"ULONG",value:1},{name:"flags",type:"ULONG",value:0},{name:"numTags",type:"ULONG",value:u.length}]),f="",g=12+u.length*4,m=0;m<u.length;++m){var E=f.indexOf(u[m]);E<0&&(E=f.length,f+=u[m]),p.fields.push({name:"offset "+m,type:"USHORT",value:g+E}),p.fields.push({name:"length "+m,type:"USHORT",value:u[m].length})}return p.fields.push({name:"stringPool",type:"CHARARRAY",value:f}),p}function l(u,p){var f=new i.Parser(u,p),g=f.parseULong();e.argument(g===1,"Unsupported ltag table version."),f.skip("uLong",1);for(var m=f.parseULong(),E=[],b=0;b<m;b++){for(var y="",Q=p+f.parseUShort(),v=f.parseUShort(),I=Q;I<Q+v;++I)y+=String.fromCharCode(u.getInt8(I));E.push(y)}return E}r.make=A,r.parse=l}),Km=Ge(r=>{"use strict";var e=Tt(),i=tr();function a(l,u){var p={},f=new e.Parser(l,u);return p.version=f.parseVersion(),p.numGlyphs=f.parseUShort(),p.version===1&&(p.maxPoints=f.parseUShort(),p.maxContours=f.parseUShort(),p.maxCompositePoints=f.parseUShort(),p.maxCompositeContours=f.parseUShort(),p.maxZones=f.parseUShort(),p.maxTwilightPoints=f.parseUShort(),p.maxStorage=f.parseUShort(),p.maxFunctionDefs=f.parseUShort(),p.maxInstructionDefs=f.parseUShort(),p.maxStackElements=f.parseUShort(),p.maxSizeOfInstructions=f.parseUShort(),p.maxComponentElements=f.parseUShort(),p.maxComponentDepth=f.parseUShort()),p}function A(l){return new i.Table("maxp",[{name:"version",type:"FIXED",value:20480},{name:"numGlyphs",type:"USHORT",value:l}])}r.parse=a,r.make=A}),$m=Ge(r=>{"use strict";var e=Dl(),i=e.decode,a=e.encode,A=Tt(),l=tr(),u=["copyright","fontFamily","fontSubfamily","uniqueID","fullName","version","postScriptName","trademark","manufacturer","designer","description","manufacturerURL","designerURL","licence","licenceURL","reserved","preferredFamily","preferredSubfamily","compatibleFullName","sampleText","postScriptFindFontName","wwsFamily","wwsSubfamily"],p={0:"en",1:"fr",2:"de",3:"it",4:"nl",5:"sv",6:"es",7:"da",8:"pt",9:"no",10:"he",11:"ja",12:"ar",13:"fi",14:"el",15:"is",16:"mt",17:"tr",18:"hr",19:"zh-Hant",20:"ur",21:"hi",22:"th",23:"ko",24:"lt",25:"pl",26:"hu",27:"es",28:"lv",29:"se",30:"fo",31:"fa",32:"ru",33:"zh",34:"nl-BE",35:"ga",36:"sq",37:"ro",38:"cz",39:"sk",40:"si",41:"yi",42:"sr",43:"mk",44:"bg",45:"uk",46:"be",47:"uz",48:"kk",49:"az-Cyrl",50:"az-Arab",51:"hy",52:"ka",53:"mo",54:"ky",55:"tg",56:"tk",57:"mn-CN",58:"mn",59:"ps",60:"ks",61:"ku",62:"sd",63:"bo",64:"ne",65:"sa",66:"mr",67:"bn",68:"as",69:"gu",70:"pa",71:"or",72:"ml",73:"kn",74:"ta",75:"te",76:"si",77:"my",78:"km",79:"lo",80:"vi",81:"id",82:"tl",83:"ms",84:"ms-Arab",85:"am",86:"ti",87:"om",88:"so",89:"sw",90:"rw",91:"rn",92:"ny",93:"mg",94:"eo",128:"cy",129:"eu",130:"ca",131:"la",132:"qu",133:"gn",134:"ay",135:"tt",136:"ug",137:"dz",138:"jv",139:"su",140:"gl",141:"af",142:"br",143:"iu",144:"gd",145:"gv",146:"ga",147:"to",148:"el-polyton",149:"kl",150:"az",151:"nn"},f={0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:5,11:1,12:4,13:0,14:6,15:0,16:0,17:0,18:0,19:2,20:4,21:9,22:21,23:3,24:29,25:29,26:29,27:29,28:29,29:0,30:0,31:4,32:7,33:25,34:0,35:0,36:0,37:0,38:29,39:29,40:0,41:5,42:7,43:7,44:7,45:7,46:7,47:7,48:7,49:7,50:4,51:24,52:23,53:7,54:7,55:7,56:7,57:27,58:7,59:4,60:4,61:4,62:4,63:26,64:9,65:9,66:9,67:13,68:13,69:11,70:10,71:12,72:17,73:16,74:14,75:15,76:18,77:19,78:20,79:22,80:30,81:0,82:0,83:0,84:4,85:28,86:28,87:28,88:0,89:0,90:0,91:0,92:0,93:0,94:0,128:0,129:0,130:0,131:0,132:0,133:0,134:0,135:7,136:4,137:26,138:0,139:0,140:0,141:0,142:0,143:28,144:0,145:0,146:0,147:0,148:6,149:0,150:0,151:0},g={1078:"af",1052:"sq",1156:"gsw",1118:"am",5121:"ar-DZ",15361:"ar-BH",3073:"ar",2049:"ar-IQ",11265:"ar-JO",13313:"ar-KW",12289:"ar-LB",4097:"ar-LY",6145:"ary",8193:"ar-OM",16385:"ar-QA",1025:"ar-SA",10241:"ar-SY",7169:"aeb",14337:"ar-AE",9217:"ar-YE",1067:"hy",1101:"as",2092:"az-Cyrl",1068:"az",1133:"ba",1069:"eu",1059:"be",2117:"bn",1093:"bn-IN",8218:"bs-Cyrl",5146:"bs",1150:"br",1026:"bg",1027:"ca",3076:"zh-HK",5124:"zh-MO",2052:"zh",4100:"zh-SG",1028:"zh-TW",1155:"co",1050:"hr",4122:"hr-BA",1029:"cs",1030:"da",1164:"prs",1125:"dv",2067:"nl-BE",1043:"nl",3081:"en-AU",10249:"en-BZ",4105:"en-CA",9225:"en-029",16393:"en-IN",6153:"en-IE",8201:"en-JM",17417:"en-MY",5129:"en-NZ",13321:"en-PH",18441:"en-SG",7177:"en-ZA",11273:"en-TT",2057:"en-GB",1033:"en",12297:"en-ZW",1061:"et",1080:"fo",1124:"fil",1035:"fi",2060:"fr-BE",3084:"fr-CA",1036:"fr",5132:"fr-LU",6156:"fr-MC",4108:"fr-CH",1122:"fy",1110:"gl",1079:"ka",3079:"de-AT",1031:"de",5127:"de-LI",4103:"de-LU",2055:"de-CH",1032:"el",1135:"kl",1095:"gu",1128:"ha",1037:"he",1081:"hi",1038:"hu",1039:"is",1136:"ig",1057:"id",1117:"iu",2141:"iu-Latn",2108:"ga",1076:"xh",1077:"zu",1040:"it",2064:"it-CH",1041:"ja",1099:"kn",1087:"kk",1107:"km",1158:"quc",1159:"rw",1089:"sw",1111:"kok",1042:"ko",1088:"ky",1108:"lo",1062:"lv",1063:"lt",2094:"dsb",1134:"lb",1071:"mk",2110:"ms-BN",1086:"ms",1100:"ml",1082:"mt",1153:"mi",1146:"arn",1102:"mr",1148:"moh",1104:"mn",2128:"mn-CN",1121:"ne",1044:"nb",2068:"nn",1154:"oc",1096:"or",1123:"ps",1045:"pl",1046:"pt",2070:"pt-PT",1094:"pa",1131:"qu-BO",2155:"qu-EC",3179:"qu",1048:"ro",1047:"rm",1049:"ru",9275:"smn",4155:"smj-NO",5179:"smj",3131:"se-FI",1083:"se",2107:"se-SE",8251:"sms",6203:"sma-NO",7227:"sms",1103:"sa",7194:"sr-Cyrl-BA",3098:"sr",6170:"sr-Latn-BA",2074:"sr-Latn",1132:"nso",1074:"tn",1115:"si",1051:"sk",1060:"sl",11274:"es-AR",16394:"es-BO",13322:"es-CL",9226:"es-CO",5130:"es-CR",7178:"es-DO",12298:"es-EC",17418:"es-SV",4106:"es-GT",18442:"es-HN",2058:"es-MX",19466:"es-NI",6154:"es-PA",15370:"es-PY",10250:"es-PE",20490:"es-PR",3082:"es",1034:"es",21514:"es-US",14346:"es-UY",8202:"es-VE",2077:"sv-FI",1053:"sv",1114:"syr",1064:"tg",2143:"tzm",1097:"ta",1092:"tt",1098:"te",1054:"th",1105:"bo",1055:"tr",1090:"tk",1152:"ug",1058:"uk",1070:"hsb",1056:"ur",2115:"uz-Cyrl",1091:"uz",1066:"vi",1106:"cy",1160:"wo",1157:"sah",1144:"ii",1130:"yo"};function m(O,P,R){switch(O){case 0:if(P===65535)return"und";if(R)return R[P];break;case 1:return p[P];case 3:return g[P]}}var E="utf-16",b={0:"macintosh",1:"x-mac-japanese",2:"x-mac-chinesetrad",3:"x-mac-korean",6:"x-mac-greek",7:"x-mac-cyrillic",9:"x-mac-devanagai",10:"x-mac-gurmukhi",11:"x-mac-gujarati",12:"x-mac-oriya",13:"x-mac-bengali",14:"x-mac-tamil",15:"x-mac-telugu",16:"x-mac-kannada",17:"x-mac-malayalam",18:"x-mac-sinhalese",19:"x-mac-burmese",20:"x-mac-khmer",21:"x-mac-thai",22:"x-mac-lao",23:"x-mac-georgian",24:"x-mac-armenian",25:"x-mac-chinesesimp",26:"x-mac-tibetan",27:"x-mac-mongolian",28:"x-mac-ethiopic",29:"x-mac-ce",30:"x-mac-vietnamese",31:"x-mac-extarabic"},y={15:"x-mac-icelandic",17:"x-mac-turkish",18:"x-mac-croatian",24:"x-mac-ce",25:"x-mac-ce",26:"x-mac-ce",27:"x-mac-ce",28:"x-mac-ce",30:"x-mac-icelandic",37:"x-mac-romanian",38:"x-mac-ce",39:"x-mac-ce",40:"x-mac-ce",143:"x-mac-inuit",146:"x-mac-gaelic"};function Q(O,P,R){switch(O){case 0:return E;case 1:return y[R]||b[P];case 3:if(P===1||P===10)return E;break}}function v(O,P,R){for(var re={},q=new A.Parser(O,P),le=q.parseUShort(),Ae=q.parseUShort(),ie=q.offset+q.parseUShort(),se=0;se<Ae;se++){var ye=q.parseUShort(),pe=q.parseUShort(),Pe=q.parseUShort(),Be=q.parseUShort(),Ee=u[Be]||Be,me=q.parseUShort(),Ne=q.parseUShort(),Fe=m(ye,Pe,R),W=Q(ye,pe,Pe);if(W!==void 0&&Fe!==void 0){var Y;if(W===E?Y=i.UTF16(O,ie+Ne,me):Y=i.MACSTRING(O,ie+Ne,me,W),Y){var J=re[Ee];J===void 0&&(J=re[Ee]={}),J[Fe]=Y}}}var X=0;return le===1&&(X=q.parseUShort()),re}function I(O){var P={};for(var R in O)P[O[R]]=parseInt(R);return P}function F(O,P,R,re,q,le){return new l.Table("NameRecord",[{name:"platformID",type:"USHORT",value:O},{name:"encodingID",type:"USHORT",value:P},{name:"languageID",type:"USHORT",value:R},{name:"nameID",type:"USHORT",value:re},{name:"length",type:"USHORT",value:q},{name:"offset",type:"USHORT",value:le}])}function N(O,P){var R=O.length,re=P.length-R+1;e:for(var q=0;q<re;q++)for(;q<re;q++){for(var le=0;le<R;le++)if(P[q+le]!==O[le])continue e;return q}return-1}function _(O,P){var R=N(O,P);if(R<0){R=P.length;for(var re=0,q=O.length;re<q;++re)P.push(O[re])}return R}function M(O,P){var R,re=[],q={},le=I(u);for(var Ae in O){var ie=le[Ae];ie===void 0&&(ie=Ae),R=parseInt(ie),q[R]=O[Ae],re.push(R)}for(var se=I(p),ye=I(g),pe=[],Pe=[],Be=0;Be<re.length;Be++){R=re[Be];var Ee=q[R];for(var me in Ee){var Ne=Ee[me],Fe=1,W=se[me],Y=f[W],J=Q(Fe,Y,W),X=a.MACSTRING(Ne,J);X===void 0&&(Fe=0,W=P.indexOf(me),W<0&&(W=P.length,P.push(me)),Y=4,X=a.UTF16(Ne));var j=_(X,Pe);pe.push(F(Fe,Y,W,R,X.length,j));var K=ye[me];if(K!==void 0){var G=a.UTF16(Ne),z=_(G,Pe);pe.push(F(3,1,K,R,G.length,z))}}}pe.sort(function(ce,Qe){return ce.platformID-Qe.platformID||ce.encodingID-Qe.encodingID||ce.languageID-Qe.languageID||ce.nameID-Qe.nameID});for(var D=new l.Table("name",[{name:"format",type:"USHORT",value:0},{name:"count",type:"USHORT",value:pe.length},{name:"stringOffset",type:"USHORT",value:6+pe.length*12}]),fe=0;fe<pe.length;fe++)D.fields.push({name:"record_"+fe,type:"TABLE",value:pe[fe]});return D.fields.push({name:"strings",type:"LITERAL",value:Pe}),D}r.parse=v,r.make=M}),e0=Ge(r=>{"use strict";var e=Tt(),i=tr(),a=[{begin:0,end:127},{begin:128,end:255},{begin:256,end:383},{begin:384,end:591},{begin:592,end:687},{begin:688,end:767},{begin:768,end:879},{begin:880,end:1023},{begin:11392,end:11519},{begin:1024,end:1279},{begin:1328,end:1423},{begin:1424,end:1535},{begin:42240,end:42559},{begin:1536,end:1791},{begin:1984,end:2047},{begin:2304,end:2431},{begin:2432,end:2559},{begin:2560,end:2687},{begin:2688,end:2815},{begin:2816,end:2943},{begin:2944,end:3071},{begin:3072,end:3199},{begin:3200,end:3327},{begin:3328,end:3455},{begin:3584,end:3711},{begin:3712,end:3839},{begin:4256,end:4351},{begin:6912,end:7039},{begin:4352,end:4607},{begin:7680,end:7935},{begin:7936,end:8191},{begin:8192,end:8303},{begin:8304,end:8351},{begin:8352,end:8399},{begin:8400,end:8447},{begin:8448,end:8527},{begin:8528,end:8591},{begin:8592,end:8703},{begin:8704,end:8959},{begin:8960,end:9215},{begin:9216,end:9279},{begin:9280,end:9311},{begin:9312,end:9471},{begin:9472,end:9599},{begin:9600,end:9631},{begin:9632,end:9727},{begin:9728,end:9983},{begin:9984,end:10175},{begin:12288,end:12351},{begin:12352,end:12447},{begin:12448,end:12543},{begin:12544,end:12591},{begin:12592,end:12687},{begin:43072,end:43135},{begin:12800,end:13055},{begin:13056,end:13311},{begin:44032,end:55215},{begin:55296,end:57343},{begin:67840,end:67871},{begin:19968,end:40959},{begin:57344,end:63743},{begin:12736,end:12783},{begin:64256,end:64335},{begin:64336,end:65023},{begin:65056,end:65071},{begin:65040,end:65055},{begin:65104,end:65135},{begin:65136,end:65279},{begin:65280,end:65519},{begin:65520,end:65535},{begin:3840,end:4095},{begin:1792,end:1871},{begin:1920,end:1983},{begin:3456,end:3583},{begin:4096,end:4255},{begin:4608,end:4991},{begin:5024,end:5119},{begin:5120,end:5759},{begin:5760,end:5791},{begin:5792,end:5887},{begin:6016,end:6143},{begin:6144,end:6319},{begin:10240,end:10495},{begin:40960,end:42127},{begin:5888,end:5919},{begin:66304,end:66351},{begin:66352,end:66383},{begin:66560,end:66639},{begin:118784,end:119039},{begin:119808,end:120831},{begin:1044480,end:1048573},{begin:65024,end:65039},{begin:917504,end:917631},{begin:6400,end:6479},{begin:6480,end:6527},{begin:6528,end:6623},{begin:6656,end:6687},{begin:11264,end:11359},{begin:11568,end:11647},{begin:19904,end:19967},{begin:43008,end:43055},{begin:65536,end:65663},{begin:65856,end:65935},{begin:66432,end:66463},{begin:66464,end:66527},{begin:66640,end:66687},{begin:66688,end:66735},{begin:67584,end:67647},{begin:68096,end:68191},{begin:119552,end:119647},{begin:73728,end:74751},{begin:119648,end:119679},{begin:7040,end:7103},{begin:7168,end:7247},{begin:7248,end:7295},{begin:43136,end:43231},{begin:43264,end:43311},{begin:43312,end:43359},{begin:43520,end:43615},{begin:65936,end:65999},{begin:66e3,end:66047},{begin:66208,end:66271},{begin:127024,end:127135}];function A(p){for(var f=0;f<a.length;f+=1){var g=a[f];if(p>=g.begin&&p<g.end)return f}return-1}function l(p,f){var g={},m=new e.Parser(p,f);g.version=m.parseUShort(),g.xAvgCharWidth=m.parseShort(),g.usWeightClass=m.parseUShort(),g.usWidthClass=m.parseUShort(),g.fsType=m.parseUShort(),g.ySubscriptXSize=m.parseShort(),g.ySubscriptYSize=m.parseShort(),g.ySubscriptXOffset=m.parseShort(),g.ySubscriptYOffset=m.parseShort(),g.ySuperscriptXSize=m.parseShort(),g.ySuperscriptYSize=m.parseShort(),g.ySuperscriptXOffset=m.parseShort(),g.ySuperscriptYOffset=m.parseShort(),g.yStrikeoutSize=m.parseShort(),g.yStrikeoutPosition=m.parseShort(),g.sFamilyClass=m.parseShort(),g.panose=[];for(var E=0;E<10;E++)g.panose[E]=m.parseByte();return g.ulUnicodeRange1=m.parseULong(),g.ulUnicodeRange2=m.parseULong(),g.ulUnicodeRange3=m.parseULong(),g.ulUnicodeRange4=m.parseULong(),g.achVendID=String.fromCharCode(m.parseByte(),m.parseByte(),m.parseByte(),m.parseByte()),g.fsSelection=m.parseUShort(),g.usFirstCharIndex=m.parseUShort(),g.usLastCharIndex=m.parseUShort(),g.sTypoAscender=m.parseShort(),g.sTypoDescender=m.parseShort(),g.sTypoLineGap=m.parseShort(),g.usWinAscent=m.parseUShort(),g.usWinDescent=m.parseUShort(),g.version>=1&&(g.ulCodePageRange1=m.parseULong(),g.ulCodePageRange2=m.parseULong()),g.version>=2&&(g.sxHeight=m.parseShort(),g.sCapHeight=m.parseShort(),g.usDefaultChar=m.parseUShort(),g.usBreakChar=m.parseUShort(),g.usMaxContent=m.parseUShort()),g}function u(p){return new i.Table("OS/2",[{name:"version",type:"USHORT",value:3},{name:"xAvgCharWidth",type:"SHORT",value:0},{name:"usWeightClass",type:"USHORT",value:0},{name:"usWidthClass",type:"USHORT",value:0},{name:"fsType",type:"USHORT",value:0},{name:"ySubscriptXSize",type:"SHORT",value:650},{name:"ySubscriptYSize",type:"SHORT",value:699},{name:"ySubscriptXOffset",type:"SHORT",value:0},{name:"ySubscriptYOffset",type:"SHORT",value:140},{name:"ySuperscriptXSize",type:"SHORT",value:650},{name:"ySuperscriptYSize",type:"SHORT",value:699},{name:"ySuperscriptXOffset",type:"SHORT",value:0},{name:"ySuperscriptYOffset",type:"SHORT",value:479},{name:"yStrikeoutSize",type:"SHORT",value:49},{name:"yStrikeoutPosition",type:"SHORT",value:258},{name:"sFamilyClass",type:"SHORT",value:0},{name:"bFamilyType",type:"BYTE",value:0},{name:"bSerifStyle",type:"BYTE",value:0},{name:"bWeight",type:"BYTE",value:0},{name:"bProportion",type:"BYTE",value:0},{name:"bContrast",type:"BYTE",value:0},{name:"bStrokeVariation",type:"BYTE",value:0},{name:"bArmStyle",type:"BYTE",value:0},{name:"bLetterform",type:"BYTE",value:0},{name:"bMidline",type:"BYTE",value:0},{name:"bXHeight",type:"BYTE",value:0},{name:"ulUnicodeRange1",type:"ULONG",value:0},{name:"ulUnicodeRange2",type:"ULONG",value:0},{name:"ulUnicodeRange3",type:"ULONG",value:0},{name:"ulUnicodeRange4",type:"ULONG",value:0},{name:"achVendID",type:"CHARARRAY",value:"XXXX"},{name:"fsSelection",type:"USHORT",value:0},{name:"usFirstCharIndex",type:"USHORT",value:0},{name:"usLastCharIndex",type:"USHORT",value:0},{name:"sTypoAscender",type:"SHORT",value:0},{name:"sTypoDescender",type:"SHORT",value:0},{name:"sTypoLineGap",type:"SHORT",value:0},{name:"usWinAscent",type:"USHORT",value:0},{name:"usWinDescent",type:"USHORT",value:0},{name:"ulCodePageRange1",type:"ULONG",value:0},{name:"ulCodePageRange2",type:"ULONG",value:0},{name:"sxHeight",type:"SHORT",value:0},{name:"sCapHeight",type:"SHORT",value:0},{name:"usDefaultChar",type:"USHORT",value:0},{name:"usBreakChar",type:"USHORT",value:0},{name:"usMaxContext",type:"USHORT",value:0}],p)}r.unicodeRanges=a,r.getUnicodeRange=A,r.parse=l,r.make=u}),t0=Ge(r=>{"use strict";var e=ba(),i=Tt(),a=tr();function A(u,p){var f={},g=new i.Parser(u,p),m;switch(f.version=g.parseVersion(),f.italicAngle=g.parseFixed(),f.underlinePosition=g.parseShort(),f.underlineThickness=g.parseShort(),f.isFixedPitch=g.parseULong(),f.minMemType42=g.parseULong(),f.maxMemType42=g.parseULong(),f.minMemType1=g.parseULong(),f.maxMemType1=g.parseULong(),f.version){case 1:f.names=e.standardNames.slice();break;case 2:for(f.numberOfGlyphs=g.parseUShort(),f.glyphNameIndex=new Array(f.numberOfGlyphs),m=0;m<f.numberOfGlyphs;m++)f.glyphNameIndex[m]=g.parseUShort();for(f.names=[],m=0;m<f.numberOfGlyphs;m++)if(f.glyphNameIndex[m]>=e.standardNames.length){var E=g.parseChar();f.names.push(g.parseString(E))}break;case 2.5:for(f.numberOfGlyphs=g.parseUShort(),f.offset=new Array(f.numberOfGlyphs),m=0;m<f.numberOfGlyphs;m++)f.offset[m]=g.parseChar();break}return f}function l(){return new a.Table("post",[{name:"version",type:"FIXED",value:196608},{name:"italicAngle",type:"FIXED",value:0},{name:"underlinePosition",type:"FWORD",value:0},{name:"underlineThickness",type:"FWORD",value:0},{name:"isFixedPitch",type:"ULONG",value:0},{name:"minMemType42",type:"ULONG",value:0},{name:"maxMemType42",type:"ULONG",value:0},{name:"minMemType1",type:"ULONG",value:0},{name:"maxMemType1",type:"ULONG",value:0}])}r.parse=A,r.make=l}),yF=Ge(r=>{"use strict";var e=ur(),i=tr(),a=Vm(),A=_m(),l=Zm(),u=zm(),p=Xm(),f=qm(),g=Km(),m=$m(),E=e0(),b=t0();function y(M){return Math.log(M)/Math.log(2)|0}function Q(M){for(;M.length%4!==0;)M.push(0);for(var O=0,P=0;P<M.length;P+=4)O+=(M[P]<<24)+(M[P+1]<<16)+(M[P+2]<<8)+M[P+3];return O%=Math.pow(2,32),O}function v(M,O,P,R){return new i.Table("Table Record",[{name:"tag",type:"TAG",value:M!==void 0?M:""},{name:"checkSum",type:"ULONG",value:O!==void 0?O:0},{name:"offset",type:"ULONG",value:P!==void 0?P:0},{name:"length",type:"ULONG",value:R!==void 0?R:0}])}function I(M){var O=new i.Table("sfnt",[{name:"version",type:"TAG",value:"OTTO"},{name:"numTables",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0}]);O.tables=M,O.numTables=M.length;var P=Math.pow(2,y(O.numTables));O.searchRange=16*P,O.entrySelector=y(P),O.rangeShift=O.numTables*16-O.searchRange;for(var R=[],re=[],q=O.sizeOf()+v().sizeOf()*O.numTables;q%4!==0;)q+=1,re.push({name:"padding",type:"BYTE",value:0});for(var le=0;le<M.length;le+=1){var Ae=M[le];e.argument(Ae.tableName.length===4,"Table name"+Ae.tableName+" is invalid.");var ie=Ae.sizeOf(),se=v(Ae.tableName,Q(Ae.encode()),q,ie);for(R.push({name:se.tag+" Table Record",type:"TABLE",value:se}),re.push({name:Ae.tableName+" table",type:"TABLE",value:Ae}),q+=ie,e.argument(!isNaN(q),"Something went wrong calculating the offset.");q%4!==0;)q+=1,re.push({name:"padding",type:"BYTE",value:0})}return R.sort(function(ye,pe){return ye.value.tag>pe.value.tag?1:-1}),O.fields=O.fields.concat(R),O.fields=O.fields.concat(re),O}function F(M,O,P){for(var R=0;R<O.length;R+=1){var re=M.charToGlyphIndex(O[R]);if(re>0){var q=M.glyphs.get(re);return q.getMetrics()}}return P}function N(M){for(var O=0,P=0;P<M.length;P+=1)O+=M[P];return O/M.length}function _(M){for(var O=[],P=[],R=[],re=[],q=[],le=[],Ae=[],ie,se=0,ye=0,pe=0,Pe=0,Be=0,Ee=0;Ee<M.glyphs.length;Ee+=1){var me=M.glyphs.get(Ee),Ne=me.unicode|0;(ie>Ne||ie===null)&&(ie=Ne),se<Ne&&(se=Ne);var Fe=E.getUnicodeRange(Ne);if(Fe<32)ye|=1<<Fe;else if(Fe<64)pe|=1<<Fe-32;else if(Fe<96)Pe|=1<<Fe-64;else if(Fe<123)Be|=1<<Fe-96;else throw new Error("Unicode ranges bits > 123 are reserved for internal usage");if(me.name!==".notdef"){var W=me.getMetrics();O.push(W.xMin),P.push(W.yMin),R.push(W.xMax),re.push(W.yMax),le.push(W.leftSideBearing),Ae.push(W.rightSideBearing),q.push(me.advanceWidth)}}var Y={xMin:Math.min.apply(null,O),yMin:Math.min.apply(null,P),xMax:Math.max.apply(null,R),yMax:Math.max.apply(null,re),advanceWidthMax:Math.max.apply(null,q),advanceWidthAvg:N(q),minLeftSideBearing:Math.min.apply(null,le),maxLeftSideBearing:Math.max.apply(null,le),minRightSideBearing:Math.min.apply(null,Ae)};Y.ascender=M.ascender!==void 0?M.ascender:Y.yMax,Y.descender=M.descender!==void 0?M.descender:Y.yMin;var J=l.make({unitsPerEm:M.unitsPerEm,xMin:Y.xMin,yMin:Y.yMin,xMax:Y.xMax,yMax:Y.yMax}),X=u.make({ascender:Y.ascender,descender:Y.descender,advanceWidthMax:Y.advanceWidthMax,minLeftSideBearing:Y.minLeftSideBearing,minRightSideBearing:Y.minRightSideBearing,xMaxExtent:Y.maxLeftSideBearing+(Y.xMax-Y.xMin),numberOfHMetrics:M.glyphs.length}),j=g.make(M.glyphs.length),K=E.make({xAvgCharWidth:Math.round(Y.advanceWidthAvg),usWeightClass:500,usWidthClass:5,usFirstCharIndex:ie,usLastCharIndex:se,ulUnicodeRange1:ye,ulUnicodeRange2:pe,ulUnicodeRange3:Pe,ulUnicodeRange4:Be,sTypoAscender:Y.ascender,sTypoDescender:Y.descender,sTypoLineGap:0,usWinAscent:Y.ascender,usWinDescent:-Y.descender,sxHeight:F(M,"xyvw",{yMax:0}).yMax,sCapHeight:F(M,"HIKLEFJMNTZBDPRAGOQSUVWXY",Y).yMax,usBreakChar:M.hasChar(" ")?32:0}),G=p.make(M.glyphs),z=a.make(M.glyphs),D=M.getEnglishName("fontFamily"),fe=M.getEnglishName("fontSubfamily"),ce=D+" "+fe,Qe=M.getEnglishName("postScriptName");Qe||(Qe=D.replace(/\s/g,"")+"-"+fe);var Z={};for(var H in M.names)Z[H]=M.names[H];Z.uniqueID||(Z.uniqueID={en:M.getEnglishName("manufacturer")+":"+ce}),Z.postScriptName||(Z.postScriptName={en:Qe}),Z.preferredFamily||(Z.preferredFamily=M.names.fontFamily),Z.preferredSubfamily||(Z.preferredSubfamily=M.names.fontSubfamily);var ne=[],Oe=m.make(Z,ne),De=ne.length>0?f.make(ne):void 0,it=b.make(),Ze=A.make(M.glyphs,{version:M.getEnglishName("version"),fullName:ce,familyName:D,weightName:fe,postScriptName:Qe,unitsPerEm:M.unitsPerEm}),ze=[J,X,j,K,Oe,z,it,Ze,G];De&&ze.push(De);var wt=I(ze),te=wt.encode(),ve=Q(te),be=wt.fields,ue=!1;for(Ee=0;Ee<be.length;Ee+=1)if(be[Ee].name==="head table"){be[Ee].value.checkSumAdjustment=2981146554-ve,ue=!0;break}if(!ue)throw new Error("Could not find head table with checkSum to adjust.");return wt}r.computeCheckSum=Q,r.make=I,r.fontToTable=_}),CF=Ge(r=>{"use strict";var e=es(),i=yF(),a=ba(),A=Yl();function l(u){u=u||{},this.names={fontFamily:{en:u.familyName||" "},fontSubfamily:{en:u.styleName||" "},designer:{en:u.designer||" "},designerURL:{en:u.designerURL||" "},manufacturer:{en:u.manufacturer||" "},manufacturerURL:{en:u.manufacturerURL||" "},license:{en:u.license||" "},licenseURL:{en:u.licenseURL||" "},version:{en:u.version||"Version 0.1"},description:{en:u.description||" "},copyright:{en:u.copyright||" "},trademark:{en:u.trademark||" "}},this.unitsPerEm=u.unitsPerEm||1e3,this.ascender=u.ascender,this.descender=u.descender,this.supported=!0,this.glyphs=new A.GlyphSet(this,u.glyphs||[]),this.encoding=new a.DefaultEncoding(this),this.tables={}}l.prototype.hasChar=function(u){return this.encoding.charToGlyphIndex(u)!==null},l.prototype.charToGlyphIndex=function(u){return this.encoding.charToGlyphIndex(u)},l.prototype.charToGlyph=function(u){var p=this.charToGlyphIndex(u),f=this.glyphs.get(p);return f||(f=this.glyphs.get(0)),f},l.prototype.stringToGlyphs=function(u){for(var p=[],f=0;f<u.length;f+=1){var g=u[f];p.push(this.charToGlyph(g))}return p},l.prototype.nameToGlyphIndex=function(u){return this.glyphNames.nameToGlyphIndex(u)},l.prototype.nameToGlyph=function(u){var p=this.nametoGlyphIndex(u),f=this.glyphs.get(p);return f||(f=this.glyphs.get(0)),f},l.prototype.glyphIndexToName=function(u){return this.glyphNames.glyphIndexToName?this.glyphNames.glyphIndexToName(u):""},l.prototype.getKerningValue=function(u,p){u=u.index||u,p=p.index||p;var f=this.getGposKerningValue;return f?f(u,p):this.kerningPairs[u+","+p]||0},l.prototype.forEachGlyph=function(u,p,f,g,m,E){p=p!==void 0?p:0,f=f!==void 0?f:0,g=g!==void 0?g:72,m=m||{};for(var b=m.kerning===void 0?!0:m.kerning,y=1/this.unitsPerEm*g,Q=this.stringToGlyphs(u),v=0;v<Q.length;v+=1){var I=Q[v];if(E(I,p,f,g,m),I.advanceWidth&&(p+=I.advanceWidth*y),b&&v<Q.length-1){var F=this.getKerningValue(I,Q[v+1]);p+=F*y}}},l.prototype.getPath=function(u,p,f,g,m){var E=new e.Path;return this.forEachGlyph(u,p,f,g,m,function(b,y,Q,v){var I=b.getPath(y,Q,v);E.extend(I)}),E},l.prototype.draw=function(u,p,f,g,m,E){this.getPath(p,f,g,m,E).draw(u)},l.prototype.drawPoints=function(u,p,f,g,m,E){this.forEachGlyph(p,f,g,m,E,function(b,y,Q,v){b.drawPoints(u,y,Q,v)})},l.prototype.drawMetrics=function(u,p,f,g,m,E){this.forEachGlyph(p,f,g,m,E,function(b,y,Q,v){b.drawMetrics(u,y,Q,v)})},l.prototype.getEnglishName=function(u){var p=this.names[u];if(p)return p.en},l.prototype.validate=function(){var u=[],p=this;function f(m,E){m||u.push(E)}function g(m){var E=p.getEnglishName(m);f(E&&E.trim().length>0,"No English "+m+" specified.")}g("fontFamily"),g("weightName"),g("manufacturer"),g("copyright"),g("version"),f(this.unitsPerEm>0,"No unitsPerEm specified.")},l.prototype.toTables=function(){return i.fontToTable(this)},l.prototype.toBuffer=function(){for(var u=this.toTables(),p=u.encode(),f=new ArrayBuffer(p.length),g=new Uint8Array(f),m=0;m<p.length;m++)g[m]=p[m];return f},l.prototype.download=function(){var u=this.getEnglishName("fontFamily"),p=this.getEnglishName("fontSubfamily"),f=u.replace(/\s/g,"")+"-"+p+".otf",g=this.toBuffer();window.requestFileSystem=window.requestFileSystem||window.webkitRequestFileSystem,window.requestFileSystem(window.TEMPORARY,g.byteLength,function(m){m.root.getFile(f,{create:!0},function(E){E.createWriter(function(b){var y=new DataView(g),Q=new Blob([y],{type:"font/opentype"});b.write(Q),b.addEventListener("writeend",function(){location.href=E.toURL()},!1)})})},function(m){throw m})},r.Font=l}),bF=Ge(r=>{"use strict";var e=ur(),i=Tt(),a=tr();function A(E,b){var y=JSON.stringify(E),Q=256;for(var v in b){var I=parseInt(v);if(!(!I||I<256)){if(JSON.stringify(b[v])===y)return I;Q<=I&&(Q=I+1)}}return b[Q]=E,Q}function l(E,b){var y=A(E.name,b);return new a.Table("fvarAxis",[{name:"tag",type:"TAG",value:E.tag},{name:"minValue",type:"FIXED",value:E.minValue<<16},{name:"defaultValue",type:"FIXED",value:E.defaultValue<<16},{name:"maxValue",type:"FIXED",value:E.maxValue<<16},{name:"flags",type:"USHORT",value:0},{name:"nameID",type:"USHORT",value:y}])}function u(E,b,y){var Q={},v=new i.Parser(E,b);return Q.tag=v.parseTag(),Q.minValue=v.parseFixed(),Q.defaultValue=v.parseFixed(),Q.maxValue=v.parseFixed(),v.skip("uShort",1),Q.name=y[v.parseUShort()]||{},Q}function p(E,b,y){for(var Q=A(E.name,y),v=[{name:"nameID",type:"USHORT",value:Q},{name:"flags",type:"USHORT",value:0}],I=0;I<b.length;++I){var F=b[I].tag;v.push({name:"axis "+F,type:"FIXED",value:E.coordinates[F]<<16})}return new a.Table("fvarInstance",v)}function f(E,b,y,Q){var v={},I=new i.Parser(E,b);v.name=Q[I.parseUShort()]||{},I.skip("uShort",1),v.coordinates={};for(var F=0;F<y.length;++F)v.coordinates[y[F].tag]=I.parseFixed();return v}function g(E,b){var y=new a.Table("fvar",[{name:"version",type:"ULONG",value:65536},{name:"offsetToData",type:"USHORT",value:0},{name:"countSizePairs",type:"USHORT",value:2},{name:"axisCount",type:"USHORT",value:E.axes.length},{name:"axisSize",type:"USHORT",value:20},{name:"instanceCount",type:"USHORT",value:E.instances.length},{name:"instanceSize",type:"USHORT",value:4+E.axes.length*4}]);y.offsetToData=y.sizeOf();for(var Q=0;Q<E.axes.length;Q++)y.fields.push({name:"axis "+Q,type:"TABLE",value:l(E.axes[Q],b)});for(var v=0;v<E.instances.length;v++)y.fields.push({name:"instance "+v,type:"TABLE",value:p(E.instances[v],E.axes,b)});return y}function m(E,b,y){var Q=new i.Parser(E,b),v=Q.parseULong();e.argument(v===65536,"Unsupported fvar table version.");var I=Q.parseOffset16();Q.skip("uShort",1);for(var F=Q.parseUShort(),N=Q.parseUShort(),_=Q.parseUShort(),M=Q.parseUShort(),O=[],P=0;P<F;P++)O.push(u(E,b+I+P*N,y));for(var R=[],re=b+I+F*N,q=0;q<_;q++)R.push(f(E,re+q*M,O,y));return{axes:O,instances:R}}r.make=g,r.parse=m}),xF=Ge(r=>{"use strict";var e=ur(),i=Yl(),a=Tt(),A=es();function l(b,y,Q,v,I){var F;return(y&v)>0?(F=b.parseByte(),y&I||(F=-F),F=Q+F):(y&I)>0?F=Q:F=Q+b.parseShort(),F}function u(b,y,Q){var v=new a.Parser(y,Q);b.numberOfContours=v.parseShort(),b.xMin=v.parseShort(),b.yMin=v.parseShort(),b.xMax=v.parseShort(),b.yMax=v.parseShort();var I,F;if(b.numberOfContours>0){var N,_=b.endPointIndices=[];for(N=0;N<b.numberOfContours;N+=1)_.push(v.parseUShort());for(b.instructionLength=v.parseUShort(),b.instructions=[],N=0;N<b.instructionLength;N+=1)b.instructions.push(v.parseByte());var M=_[_.length-1]+1;for(I=[],N=0;N<M;N+=1)if(F=v.parseByte(),I.push(F),(F&8)>0)for(var O=v.parseByte(),P=0;P<O;P+=1)I.push(F),N+=1;if(e.argument(I.length===M,"Bad flags."),_.length>0){var R=[],re;if(M>0){for(N=0;N<M;N+=1)F=I[N],re={},re.onCurve=!!(F&1),re.lastPointOfContour=_.indexOf(N)>=0,R.push(re);var q=0;for(N=0;N<M;N+=1)F=I[N],re=R[N],re.x=l(v,F,q,2,16),q=re.x;var le=0;for(N=0;N<M;N+=1)F=I[N],re=R[N],re.y=l(v,F,le,4,32),le=re.y}b.points=R}else b.points=[]}else if(b.numberOfContours===0)b.points=[];else{b.isComposite=!0,b.points=[],b.components=[];for(var Ae=!0;Ae;){I=v.parseUShort();var ie={glyphIndex:v.parseUShort(),xScale:1,scale01:0,scale10:0,yScale:1,dx:0,dy:0};(I&1)>0?(ie.dx=v.parseShort(),ie.dy=v.parseShort()):(ie.dx=v.parseChar(),ie.dy=v.parseChar()),(I&8)>0?ie.xScale=ie.yScale=v.parseF2Dot14():(I&64)>0?(ie.xScale=v.parseF2Dot14(),ie.yScale=v.parseF2Dot14()):(I&128)>0&&(ie.xScale=v.parseF2Dot14(),ie.scale01=v.parseF2Dot14(),ie.scale10=v.parseF2Dot14(),ie.yScale=v.parseF2Dot14()),b.components.push(ie),Ae=!!(I&32)}}}function p(b,y){for(var Q=[],v=0;v<b.length;v+=1){var I=b[v],F={x:y.xScale*I.x+y.scale01*I.y+y.dx,y:y.scale10*I.x+y.yScale*I.y+y.dy,onCurve:I.onCurve,lastPointOfContour:I.lastPointOfContour};Q.push(F)}return Q}function f(b){for(var y=[],Q=[],v=0;v<b.length;v+=1){var I=b[v];Q.push(I),I.lastPointOfContour&&(y.push(Q),Q=[])}return e.argument(Q.length===0,"There are still points left in the current contour."),y}function g(b){var y=new A.Path;if(!b)return y;for(var Q=f(b),v=0;v<Q.length;v+=1){var I=Q[v],F=I[0],N=I[I.length-1],_,M;F.onCurve?(_=null,M=!0):(N.onCurve?F=N:F={x:(F.x+N.x)/2,y:(F.y+N.y)/2},_=F,M=!1),y.moveTo(F.x,F.y);for(var O=M?1:0;O<I.length;O+=1){var P=I[O],R=O===0?F:I[O-1];if(R.onCurve&&P.onCurve)y.lineTo(P.x,P.y);else if(R.onCurve&&!P.onCurve)_=P;else if(!R.onCurve&&!P.onCurve){var re={x:(R.x+P.x)/2,y:(R.y+P.y)/2};y.quadraticCurveTo(R.x,R.y,re.x,re.y),_=P}else if(!R.onCurve&&P.onCurve)y.quadraticCurveTo(_.x,_.y,P.x,P.y),_=null;else throw new Error("Invalid state.")}F!==N&&(_?y.quadraticCurveTo(_.x,_.y,F.x,F.y):y.lineTo(F.x,F.y))}return y.closePath(),y}function m(b,y){if(y.isComposite)for(var Q=0;Q<y.components.length;Q+=1){var v=y.components[Q],I=b.get(v.glyphIndex);if(I.getPath(),I.points){var F=p(I.points,v);y.points=y.points.concat(F)}}return g(y.points)}function E(b,y,Q,v){var I=new i.GlyphSet(v),F;for(F=0;F<Q.length-1;F+=1){var N=Q[F],_=Q[F+1];N!==_?I.push(F,i.ttfGlyphLoader(v,F,u,b,y+N,m)):I.push(F,i.glyphLoader(v,F))}return I}r.parse=E}),QF=Ge(r=>{"use strict";var e=ur(),i=Tt();function a(g,m){for(var E=new i.Parser(g,m),b=E.parseUShort(),y=[],Q=0;Q<b;Q++)y[E.parseTag()]={offset:E.parseUShort()};return y}function A(g,m){var E=new i.Parser(g,m),b=E.parseUShort(),y=E.parseUShort();if(b===1)return E.parseUShortList(y);if(b===2){for(var Q=[];y--;)for(var v=E.parseUShort(),I=E.parseUShort(),F=E.parseUShort(),N=v;N<=I;N++)Q[F++]=N;return Q}}function l(g,m){var E=new i.Parser(g,m),b=E.parseUShort();if(b===1){var y=E.parseUShort(),Q=E.parseUShort(),v=E.parseUShortList(Q);return function(O){return v[O-y]||0}}else if(b===2){for(var I=E.parseUShort(),F=[],N=[],_=[],M=0;M<I;M++)F[M]=E.parseUShort(),N[M]=E.parseUShort(),_[M]=E.parseUShort();return function(O){for(var P=0,R=F.length-1;P<R;){var re=P+R+1>>1;O<F[re]?R=re-1:P=re}return F[P]<=O&&O<=N[P]&&_[P]||0}}}function u(g,m){var E=new i.Parser(g,m),b=E.parseUShort(),y=E.parseUShort(),Q=A(g,m+y),v=E.parseUShort(),I=E.parseUShort(),F,N;if(!(v!==4||I!==0)){var _={};if(b===1){for(var M=E.parseUShort(),O=[],P=E.parseOffset16List(M),R=0;R<M;R++){var re=P[R],q=_[re];if(!q){q={},E.relativeOffset=re;for(var le=E.parseUShort();le--;){var Ae=E.parseUShort();v&&(F=E.parseShort()),I&&(N=E.parseShort()),q[Ae]=F}}O[Q[R]]=q}return function(Y,J){var X=O[Y];if(X)return X[J]}}else if(b===2){for(var ie=E.parseUShort(),se=E.parseUShort(),ye=E.parseUShort(),pe=E.parseUShort(),Pe=l(g,m+ie),Be=l(g,m+se),Ee=[],me=0;me<ye;me++)for(var Ne=Ee[me]=[],Fe=0;Fe<pe;Fe++)v&&(F=E.parseShort()),I&&(N=E.parseShort()),Ne[Fe]=F;var W={};for(me=0;me<Q.length;me++)W[Q[me]]=1;return function(Y,J){if(W[Y]){var X=Pe(Y),j=Be(J),K=Ee[X];if(K)return K[j]}}}}}function p(g,m){var E=new i.Parser(g,m),b=E.parseUShort(),y=E.parseUShort(),Q=y&16,v=E.parseUShort(),I=E.parseOffset16List(v),F={lookupType:b,lookupFlag:y,markFilteringSet:Q?E.parseUShort():-1};if(b===2){for(var N=[],_=0;_<v;_++)N.push(u(g,m+I[_]));F.getKerningValue=function(M,O){for(var P=N.length;P--;){var R=N[P](M,O);if(R!==void 0)return R}return 0}}return F}function f(g,m,E){var b=new i.Parser(g,m),y=b.parseFixed();e.argument(y===1,"Unsupported GPOS table version."),a(g,m+b.parseUShort()),a(g,m+b.parseUShort());var Q=b.parseUShort();b.relativeOffset=Q;for(var v=b.parseUShort(),I=b.parseOffset16List(v),F=m+Q,N=0;N<v;N++){var _=p(g,F+I[N]);_.lookupType===2&&!E.getGposKerningValue&&(E.getGposKerningValue=_.getKerningValue)}}r.parse=f}),vF=Ge(r=>{"use strict";var e=ur(),i=Tt();function a(A,l){var u={},p=new i.Parser(A,l),f=p.parseUShort();e.argument(f===0,"Unsupported kern table version."),p.skip("uShort",1);var g=p.parseUShort();e.argument(g===0,"Unsupported kern sub-table version."),p.skip("uShort",2);var m=p.parseUShort();p.skip("uShort",3);for(var E=0;E<m;E+=1){var b=p.parseUShort(),y=p.parseUShort(),Q=p.parseShort();u[b+","+y]=Q}return u}r.parse=a}),IF=Ge(r=>{"use strict";var e=Tt();function i(a,A,l,u){for(var p=new e.Parser(a,A),f=u?p.parseUShort:p.parseULong,g=[],m=0;m<l+1;m+=1){var E=f.call(p);u&&(E*=2),g.push(E)}return g}r.parse=i}),FF=Ge(r=>{"use strict";var e=ba(),i=CF(),a=jm(),A=Tt(),l=es(),u=Vm(),p=_m(),f=bF(),g=xF(),m=QF(),E=Zm(),b=zm(),y=Xm(),Q=vF(),v=qm(),I=IF(),F=Km(),N=$m(),_=e0(),M=t0();function O(Ae){for(var ie=new ArrayBuffer(Ae.length),se=new Uint8Array(ie),ye=0;ye<Ae.length;ye+=1)se[ye]=Ae[ye];return ie}function P(Ae,ie){var se=We("fs");se.readFile(Ae,function(ye,pe){if(ye)return ie(ye.message);ie(null,O(pe))})}function R(Ae,ie){var se=new XMLHttpRequest;se.open("get",Ae,!0),se.responseType="arraybuffer",se.onload=function(){return se.status!==200?ie("Font could not be loaded: "+se.statusText):ie(null,se.response)},se.send()}function re(Ae){var ie,se,ye,pe,Pe,Be,Ee,me,Ne,Fe,W=new i.Font,Y=new DataView(Ae,0),J=A.getFixed(Y,0);if(J===1)W.outlinesFormat="truetype";else if(J=A.getTag(Y,0),J==="OTTO")W.outlinesFormat="cff";else throw new Error("Unsupported OpenType version "+J);for(var X=A.getUShort(Y,4),j=12,K=0;K<X;K+=1){var G=A.getTag(Y,j),z=A.getULong(Y,j+8);switch(G){case"cmap":W.tables.cmap=u.parse(Y,z),W.encoding=new e.CmapEncoding(W.tables.cmap);break;case"fvar":pe=z;break;case"head":W.tables.head=E.parse(Y,z),W.unitsPerEm=W.tables.head.unitsPerEm,ie=W.tables.head.indexToLocFormat;break;case"hhea":W.tables.hhea=b.parse(Y,z),W.ascender=W.tables.hhea.ascender,W.descender=W.tables.hhea.descender,W.numberOfHMetrics=W.tables.hhea.numberOfHMetrics;break;case"hmtx":Ee=z;break;case"ltag":se=v.parse(Y,z);break;case"maxp":W.tables.maxp=F.parse(Y,z),W.numGlyphs=W.tables.maxp.numGlyphs;break;case"name":Fe=z;break;case"OS/2":W.tables.os2=_.parse(Y,z);break;case"post":W.tables.post=M.parse(Y,z),W.glyphNames=new e.GlyphNames(W.tables.post);break;case"glyf":Pe=z;break;case"loca":Ne=z;break;case"CFF ":ye=z;break;case"kern":me=z;break;case"GPOS":Be=z;break}j+=16}if(W.tables.name=N.parse(Y,Fe,se),W.names=W.tables.name,Pe&&Ne){var D=ie===0,fe=I.parse(Y,Ne,W.numGlyphs,D);W.glyphs=g.parse(Y,Pe,fe,W)}else if(ye)p.parse(Y,ye,W);else throw new Error("Font doesn't contain TrueType or CFF outlines.");return y.parse(Y,Ee,W.numberOfHMetrics,W.numGlyphs,W.glyphs),e.addGlyphNames(W),me?W.kerningPairs=Q.parse(Y,me):W.kerningPairs={},Be&&m.parse(Y,Be,W),pe&&(W.tables.fvar=f.parse(Y,pe,W.names)),W}function q(Ae,ie){var se=typeof window>"u",ye=se?P:R;ye(Ae,function(pe,Pe){if(pe)return ie(pe);var Be=re(Pe);return ie(null,Be)})}function le(Ae){var ie=We("fs"),se=ie.readFileSync(Ae);return re(O(se))}r._parse=A,r.Font=i.Font,r.Glyph=a.Glyph,r.Path=l.Path,r.parse=re,r.load=q,r.loadSync=le}),r0=Ge((r,e)=>{"use strict";var i=We("util"),a=We("stream"),A=e.exports=function(){a.call(this),this._buffers=[],this._buffered=0,this._reads=[],this._paused=!1,this._encoding="utf8",this.writable=!0};i.inherits(A,a),A.prototype.read=function(l,u){this._reads.push({length:Math.abs(l),allowLess:l<0,func:u}),process.nextTick(function(){this._process(),this._paused&&this._reads&&this._reads.length>0&&(this._paused=!1,this.emit("drain"))}.bind(this))},A.prototype.write=function(l,u){if(!this.writable)return this.emit("error",new Error("Stream not writable")),!1;let p;return Buffer.isBuffer(l)?p=l:p=Buffer.from(l,u||this._encoding),this._buffers.push(p),this._buffered+=p.length,this._process(),this._reads&&this._reads.length===0&&(this._paused=!0),this.writable&&!this._paused},A.prototype.end=function(l,u){l&&this.write(l,u),this.writable=!1,this._buffers&&(this._buffers.length===0?this._end():(this._buffers.push(null),this._process()))},A.prototype.destroySoon=A.prototype.end,A.prototype._end=function(){this._reads.length>0&&this.emit("error",new Error("Unexpected end of input")),this.destroy()},A.prototype.destroy=function(){this._buffers&&(this.writable=!1,this._reads=null,this._buffers=null,this.emit("close"))},A.prototype._processReadAllowingLess=function(l){this._reads.shift();let u=this._buffers[0];u.length>l.length?(this._buffered-=l.length,this._buffers[0]=u.slice(l.length),l.func.call(this,u.slice(0,l.length))):(this._buffered-=u.length,this._buffers.shift(),l.func.call(this,u))},A.prototype._processRead=function(l){this._reads.shift();let u=0,p=0,f=Buffer.alloc(l.length);for(;u<l.length;){let g=this._buffers[p++],m=Math.min(g.length,l.length-u);g.copy(f,u,0,m),u+=m,m!==g.length&&(this._buffers[--p]=g.slice(m))}p>0&&this._buffers.splice(0,p),this._buffered-=l.length,l.func.call(this,f)},A.prototype._process=function(){try{for(;this._buffered>0&&this._reads&&this._reads.length>0;){let l=this._reads[0];if(l.allowLess)this._processReadAllowingLess(l);else if(this._buffered>=l.length)this._processRead(l);else break}this._buffers&&!this.writable&&this._end()}catch(l){this.emit("error",l)}}}),i0=Ge(r=>{"use strict";var e=[{x:[0],y:[0]},{x:[4],y:[0]},{x:[0,4],y:[4]},{x:[2,6],y:[0,4]},{x:[0,2,4,6],y:[2,6]},{x:[1,3,5,7],y:[0,2,4,6]},{x:[0,1,2,3,4,5,6,7],y:[1,3,5,7]}];r.getImagePasses=function(i,a){let A=[],l=i%8,u=a%8,p=(i-l)/8,f=(a-u)/8;for(let g=0;g<e.length;g++){let m=e[g],E=p*m.x.length,b=f*m.y.length;for(let y=0;y<m.x.length&&m.x[y]<l;y++)E++;for(let y=0;y<m.y.length&&m.y[y]<u;y++)b++;E>0&&b>0&&A.push({width:E,height:b,index:g})}return A},r.getInterlaceIterator=function(i){return function(a,A,l){let u=a%e[l].x.length,p=(a-u)/e[l].x.length*8+e[l].x[u],f=A%e[l].y.length,g=(A-f)/e[l].y.length*8+e[l].y[f];return p*4+g*i*4}}}),n0=Ge((r,e)=>{"use strict";e.exports=function(i,a,A){let l=i+a-A,u=Math.abs(l-i),p=Math.abs(l-a),f=Math.abs(l-A);return u<=p&&u<=f?i:p<=f?a:A}}),s0=Ge((r,e)=>{"use strict";var i=i0(),a=n0();function A(u,p,f){let g=u*p;return f!==8&&(g=Math.ceil(g/(8/f))),g}var l=e.exports=function(u,p){let f=u.width,g=u.height,m=u.interlace,E=u.bpp,b=u.depth;if(this.read=p.read,this.write=p.write,this.complete=p.complete,this._imageIndex=0,this._images=[],m){let y=i.getImagePasses(f,g);for(let Q=0;Q<y.length;Q++)this._images.push({byteWidth:A(y[Q].width,E,b),height:y[Q].height,lineIndex:0})}else this._images.push({byteWidth:A(f,E,b),height:g,lineIndex:0});b===8?this._xComparison=E:b===16?this._xComparison=E*2:this._xComparison=1};l.prototype.start=function(){this.read(this._images[this._imageIndex].byteWidth+1,this._reverseFilterLine.bind(this))},l.prototype._unFilterType1=function(u,p,f){let g=this._xComparison,m=g-1;for(let E=0;E<f;E++){let b=u[1+E],y=E>m?p[E-g]:0;p[E]=b+y}},l.prototype._unFilterType2=function(u,p,f){let g=this._lastLine;for(let m=0;m<f;m++){let E=u[1+m],b=g?g[m]:0;p[m]=E+b}},l.prototype._unFilterType3=function(u,p,f){let g=this._xComparison,m=g-1,E=this._lastLine;for(let b=0;b<f;b++){let y=u[1+b],Q=E?E[b]:0,v=b>m?p[b-g]:0,I=Math.floor((v+Q)/2);p[b]=y+I}},l.prototype._unFilterType4=function(u,p,f){let g=this._xComparison,m=g-1,E=this._lastLine;for(let b=0;b<f;b++){let y=u[1+b],Q=E?E[b]:0,v=b>m?p[b-g]:0,I=b>m&&E?E[b-g]:0,F=a(v,Q,I);p[b]=y+F}},l.prototype._reverseFilterLine=function(u){let p=u[0],f,g=this._images[this._imageIndex],m=g.byteWidth;if(p===0)f=u.slice(1,m+1);else switch(f=Buffer.alloc(m),p){case 1:this._unFilterType1(u,f,m);break;case 2:this._unFilterType2(u,f,m);break;case 3:this._unFilterType3(u,f,m);break;case 4:this._unFilterType4(u,f,m);break;default:throw new Error("Unrecognised filter type - "+p)}this.write(f),g.lineIndex++,g.lineIndex>=g.height?(this._lastLine=null,this._imageIndex++,g=this._images[this._imageIndex]):this._lastLine=f,g?this.read(g.byteWidth+1,this._reverseFilterLine.bind(this)):(this._lastLine=null,this.complete())}}),TF=Ge((r,e)=>{"use strict";var i=We("util"),a=r0(),A=s0(),l=e.exports=function(u){a.call(this);let p=[],f=this;this._filter=new A(u,{read:this.read.bind(this),write:function(g){p.push(g)},complete:function(){f.emit("complete",Buffer.concat(p))}}),this._filter.start()};i.inherits(l,a)}),ts=Ge((r,e)=>{"use strict";e.exports={PNG_SIGNATURE:[137,80,78,71,13,10,26,10],TYPE_IHDR:1229472850,TYPE_IEND:1229278788,TYPE_IDAT:1229209940,TYPE_PLTE:1347179589,TYPE_tRNS:1951551059,TYPE_gAMA:1732332865,COLORTYPE_GRAYSCALE:0,COLORTYPE_PALETTE:1,COLORTYPE_COLOR:2,COLORTYPE_ALPHA:4,COLORTYPE_PALETTE_COLOR:3,COLORTYPE_COLOR_ALPHA:6,COLORTYPE_TO_BPP_MAP:{0:1,2:3,3:1,4:2,6:4},GAMMA_DIVISION:1e5}}),a0=Ge((r,e)=>{"use strict";var i=[];(function(){for(let A=0;A<256;A++){let l=A;for(let u=0;u<8;u++)l&1?l=3988292384^l>>>1:l=l>>>1;i[A]=l}})();var a=e.exports=function(){this._crc=-1};a.prototype.write=function(A){for(let l=0;l<A.length;l++)this._crc=i[(this._crc^A[l])&255]^this._crc>>>8;return!0},a.prototype.crc32=function(){return this._crc^-1},a.crc32=function(A){let l=-1;for(let u=0;u<A.length;u++)l=i[(l^A[u])&255]^l>>>8;return l^-1}}),o0=Ge((r,e)=>{"use strict";var i=ts(),a=a0(),A=e.exports=function(l,u){this._options=l,l.checkCRC=l.checkCRC!==!1,this._hasIHDR=!1,this._hasIEND=!1,this._emittedHeadersFinished=!1,this._palette=[],this._colorType=0,this._chunks={},this._chunks[i.TYPE_IHDR]=this._handleIHDR.bind(this),this._chunks[i.TYPE_IEND]=this._handleIEND.bind(this),this._chunks[i.TYPE_IDAT]=this._handleIDAT.bind(this),this._chunks[i.TYPE_PLTE]=this._handlePLTE.bind(this),this._chunks[i.TYPE_tRNS]=this._handleTRNS.bind(this),this._chunks[i.TYPE_gAMA]=this._handleGAMA.bind(this),this.read=u.read,this.error=u.error,this.metadata=u.metadata,this.gamma=u.gamma,this.transColor=u.transColor,this.palette=u.palette,this.parsed=u.parsed,this.inflateData=u.inflateData,this.finished=u.finished,this.simpleTransparency=u.simpleTransparency,this.headersFinished=u.headersFinished||function(){}};A.prototype.start=function(){this.read(i.PNG_SIGNATURE.length,this._parseSignature.bind(this))},A.prototype._parseSignature=function(l){let u=i.PNG_SIGNATURE;for(let p=0;p<u.length;p++)if(l[p]!==u[p]){this.error(new Error("Invalid file signature"));return}this.read(8,this._parseChunkBegin.bind(this))},A.prototype._parseChunkBegin=function(l){let u=l.readUInt32BE(0),p=l.readUInt32BE(4),f="";for(let m=4;m<8;m++)f+=String.fromCharCode(l[m]);let g=!!(l[4]&32);if(!this._hasIHDR&&p!==i.TYPE_IHDR){this.error(new Error("Expected IHDR on beggining"));return}if(this._crc=new a,this._crc.write(Buffer.from(f)),this._chunks[p])return this._chunks[p](u);if(!g){this.error(new Error("Unsupported critical chunk type "+f));return}this.read(u+4,this._skipChunk.bind(this))},A.prototype._skipChunk=function(){this.read(8,this._parseChunkBegin.bind(this))},A.prototype._handleChunkEnd=function(){this.read(4,this._parseChunkEnd.bind(this))},A.prototype._parseChunkEnd=function(l){let u=l.readInt32BE(0),p=this._crc.crc32();if(this._options.checkCRC&&p!==u){this.error(new Error("Crc error - "+u+" - "+p));return}this._hasIEND||this.read(8,this._parseChunkBegin.bind(this))},A.prototype._handleIHDR=function(l){this.read(l,this._parseIHDR.bind(this))},A.prototype._parseIHDR=function(l){this._crc.write(l);let u=l.readUInt32BE(0),p=l.readUInt32BE(4),f=l[8],g=l[9],m=l[10],E=l[11],b=l[12];if(f!==8&&f!==4&&f!==2&&f!==1&&f!==16){this.error(new Error("Unsupported bit depth "+f));return}if(!(g in i.COLORTYPE_TO_BPP_MAP)){this.error(new Error("Unsupported color type"));return}if(m!==0){this.error(new Error("Unsupported compression method"));return}if(E!==0){this.error(new Error("Unsupported filter method"));return}if(b!==0&&b!==1){this.error(new Error("Unsupported interlace method"));return}this._colorType=g;let y=i.COLORTYPE_TO_BPP_MAP[this._colorType];this._hasIHDR=!0,this.metadata({width:u,height:p,depth:f,interlace:!!b,palette:!!(g&i.COLORTYPE_PALETTE),color:!!(g&i.COLORTYPE_COLOR),alpha:!!(g&i.COLORTYPE_ALPHA),bpp:y,colorType:g}),this._handleChunkEnd()},A.prototype._handlePLTE=function(l){this.read(l,this._parsePLTE.bind(this))},A.prototype._parsePLTE=function(l){this._crc.write(l);let u=Math.floor(l.length/3);for(let p=0;p<u;p++)this._palette.push([l[p*3],l[p*3+1],l[p*3+2],255]);this.palette(this._palette),this._handleChunkEnd()},A.prototype._handleTRNS=function(l){this.simpleTransparency(),this.read(l,this._parseTRNS.bind(this))},A.prototype._parseTRNS=function(l){if(this._crc.write(l),this._colorType===i.COLORTYPE_PALETTE_COLOR){if(this._palette.length===0){this.error(new Error("Transparency chunk must be after palette"));return}if(l.length>this._palette.length){this.error(new Error("More transparent colors than palette size"));return}for(let u=0;u<l.length;u++)this._palette[u][3]=l[u];this.palette(this._palette)}this._colorType===i.COLORTYPE_GRAYSCALE&&this.transColor([l.readUInt16BE(0)]),this._colorType===i.COLORTYPE_COLOR&&this.transColor([l.readUInt16BE(0),l.readUInt16BE(2),l.readUInt16BE(4)]),this._handleChunkEnd()},A.prototype._handleGAMA=function(l){this.read(l,this._parseGAMA.bind(this))},A.prototype._parseGAMA=function(l){this._crc.write(l),this.gamma(l.readUInt32BE(0)/i.GAMMA_DIVISION),this._handleChunkEnd()},A.prototype._handleIDAT=function(l){this._emittedHeadersFinished||(this._emittedHeadersFinished=!0,this.headersFinished()),this.read(-l,this._parseIDAT.bind(this,l))},A.prototype._parseIDAT=function(l,u){if(this._crc.write(u),this._colorType===i.COLORTYPE_PALETTE_COLOR&&this._palette.length===0)throw new Error("Expected palette not found");this.inflateData(u);let p=l-u.length;p>0?this._handleIDAT(p):this._handleChunkEnd()},A.prototype._handleIEND=function(l){this.read(l,this._parseIEND.bind(this))},A.prototype._parseIEND=function(l){this._crc.write(l),this._hasIEND=!0,this._handleChunkEnd(),this.finished&&this.finished()}}),A0=Ge(r=>{"use strict";var e=i0(),i=[function(){},function(p,f,g,m){if(m===f.length)throw new Error("Ran out of data");let E=f[m];p[g]=E,p[g+1]=E,p[g+2]=E,p[g+3]=255},function(p,f,g,m){if(m+1>=f.length)throw new Error("Ran out of data");let E=f[m];p[g]=E,p[g+1]=E,p[g+2]=E,p[g+3]=f[m+1]},function(p,f,g,m){if(m+2>=f.length)throw new Error("Ran out of data");p[g]=f[m],p[g+1]=f[m+1],p[g+2]=f[m+2],p[g+3]=255},function(p,f,g,m){if(m+3>=f.length)throw new Error("Ran out of data");p[g]=f[m],p[g+1]=f[m+1],p[g+2]=f[m+2],p[g+3]=f[m+3]}],a=[function(){},function(p,f,g,m){let E=f[0];p[g]=E,p[g+1]=E,p[g+2]=E,p[g+3]=m},function(p,f,g){let m=f[0];p[g]=m,p[g+1]=m,p[g+2]=m,p[g+3]=f[1]},function(p,f,g,m){p[g]=f[0],p[g+1]=f[1],p[g+2]=f[2],p[g+3]=m},function(p,f,g){p[g]=f[0],p[g+1]=f[1],p[g+2]=f[2],p[g+3]=f[3]}];function A(p,f){let g=[],m=0;function E(){if(m===p.length)throw new Error("Ran out of data");let b=p[m];m++;let y,Q,v,I,F,N,_,M;switch(f){default:throw new Error("unrecognised depth");case 16:_=p[m],m++,g.push((b<<8)+_);break;case 4:_=b&15,M=b>>4,g.push(M,_);break;case 2:F=b&3,N=b>>2&3,_=b>>4&3,M=b>>6&3,g.push(M,_,N,F);break;case 1:y=b&1,Q=b>>1&1,v=b>>2&1,I=b>>3&1,F=b>>4&1,N=b>>5&1,_=b>>6&1,M=b>>7&1,g.push(M,_,N,F,I,v,Q,y);break}}return{get:function(b){for(;g.length<b;)E();let y=g.slice(0,b);return g=g.slice(b),y},resetAfterLine:function(){g.length=0},end:function(){if(m!==p.length)throw new Error("extra data found")}}}function l(p,f,g,m,E,b){let y=p.width,Q=p.height,v=p.index;for(let I=0;I<Q;I++)for(let F=0;F<y;F++){let N=g(F,I,v);i[m](f,E,N,b),b+=m}return b}function u(p,f,g,m,E,b){let y=p.width,Q=p.height,v=p.index;for(let I=0;I<Q;I++){for(let F=0;F<y;F++){let N=E.get(m),_=g(F,I,v);a[m](f,N,_,b)}E.resetAfterLine()}}r.dataToBitMap=function(p,f){let g=f.width,m=f.height,E=f.depth,b=f.bpp,y=f.interlace,Q;E!==8&&(Q=A(p,E));let v;E<=8?v=Buffer.alloc(g*m*4):v=new Uint16Array(g*m*4);let I=Math.pow(2,E)-1,F=0,N,_;if(y)N=e.getImagePasses(g,m),_=e.getInterlaceIterator(g,m);else{let M=0;_=function(){let O=M;return M+=4,O},N=[{width:g,height:m}]}for(let M=0;M<N.length;M++)E===8?F=l(N[M],v,_,b,p,F):u(N[M],v,_,b,Q,I);if(E===8){if(F!==p.length)throw new Error("extra data found")}else Q.end();return v}}),l0=Ge((r,e)=>{"use strict";function i(l,u,p,f,g){let m=0;for(let E=0;E<f;E++)for(let b=0;b<p;b++){let y=g[l[m]];if(!y)throw new Error("index "+l[m]+" not in palette");for(let Q=0;Q<4;Q++)u[m+Q]=y[Q];m+=4}}function a(l,u,p,f,g){let m=0;for(let E=0;E<f;E++)for(let b=0;b<p;b++){let y=!1;if(g.length===1?g[0]===l[m]&&(y=!0):g[0]===l[m]&&g[1]===l[m+1]&&g[2]===l[m+2]&&(y=!0),y)for(let Q=0;Q<4;Q++)u[m+Q]=0;m+=4}}function A(l,u,p,f,g){let m=255,E=Math.pow(2,g)-1,b=0;for(let y=0;y<f;y++)for(let Q=0;Q<p;Q++){for(let v=0;v<4;v++)u[b+v]=Math.floor(l[b+v]*m/E+.5);b+=4}}e.exports=function(l,u,p=!1){let f=u.depth,g=u.width,m=u.height,E=u.colorType,b=u.transColor,y=u.palette,Q=l;return E===3?i(l,Q,g,m,y):(b&&a(l,Q,g,m,b),f!==8&&!p&&(f===16&&(Q=Buffer.alloc(g*m*4)),A(l,Q,g,m,f))),Q}}),SF=Ge((r,e)=>{"use strict";var i=We("util"),a=We("zlib"),A=r0(),l=TF(),u=o0(),p=A0(),f=l0(),g=e.exports=function(m){A.call(this),this._parser=new u(m,{read:this.read.bind(this),error:this._handleError.bind(this),metadata:this._handleMetaData.bind(this),gamma:this.emit.bind(this,"gamma"),palette:this._handlePalette.bind(this),transColor:this._handleTransColor.bind(this),finished:this._finished.bind(this),inflateData:this._inflateData.bind(this),simpleTransparency:this._simpleTransparency.bind(this),headersFinished:this._headersFinished.bind(this)}),this._options=m,this.writable=!0,this._parser.start()};i.inherits(g,A),g.prototype._handleError=function(m){this.emit("error",m),this.writable=!1,this.destroy(),this._inflate&&this._inflate.destroy&&this._inflate.destroy(),this._filter&&(this._filter.destroy(),this._filter.on("error",function(){})),this.errord=!0},g.prototype._inflateData=function(m){if(!this._inflate)if(this._bitmapInfo.interlace)this._inflate=a.createInflate(),this._inflate.on("error",this.emit.bind(this,"error")),this._filter.on("complete",this._complete.bind(this)),this._inflate.pipe(this._filter);else{let E=((this._bitmapInfo.width*this._bitmapInfo.bpp*this._bitmapInfo.depth+7>>3)+1)*this._bitmapInfo.height,b=Math.max(E,a.Z_MIN_CHUNK);this._inflate=a.createInflate({chunkSize:b});let y=E,Q=this.emit.bind(this,"error");this._inflate.on("error",function(I){y&&Q(I)}),this._filter.on("complete",this._complete.bind(this));let v=this._filter.write.bind(this._filter);this._inflate.on("data",function(I){y&&(I.length>y&&(I=I.slice(0,y)),y-=I.length,v(I))}),this._inflate.on("end",this._filter.end.bind(this._filter))}this._inflate.write(m)},g.prototype._handleMetaData=function(m){this._metaData=m,this._bitmapInfo=Object.create(m),this._filter=new l(this._bitmapInfo)},g.prototype._handleTransColor=function(m){this._bitmapInfo.transColor=m},g.prototype._handlePalette=function(m){this._bitmapInfo.palette=m},g.prototype._simpleTransparency=function(){this._metaData.alpha=!0},g.prototype._headersFinished=function(){this.emit("metadata",this._metaData)},g.prototype._finished=function(){this.errord||(this._inflate?this._inflate.end():this.emit("error","No Inflate block"))},g.prototype._complete=function(m){if(this.errord)return;let E;try{let b=p.dataToBitMap(m,this._bitmapInfo);E=f(b,this._bitmapInfo,this._options.skipRescale),b=null}catch(b){this._handleError(b);return}this.emit("parsed",E)}}),DF=Ge((r,e)=>{"use strict";var i=ts();e.exports=function(a,A,l,u){let p=[i.COLORTYPE_COLOR_ALPHA,i.COLORTYPE_ALPHA].indexOf(u.colorType)!==-1;if(u.colorType===u.inputColorType){let F=(function(){let N=new ArrayBuffer(2);return new DataView(N).setInt16(0,256,!0),new Int16Array(N)[0]!==256})();if(u.bitDepth===8||u.bitDepth===16&&F)return a}let f=u.bitDepth!==16?a:new Uint16Array(a.buffer),g=255,m=i.COLORTYPE_TO_BPP_MAP[u.inputColorType];m===4&&!u.inputHasAlpha&&(m=3);let E=i.COLORTYPE_TO_BPP_MAP[u.colorType];u.bitDepth===16&&(g=65535,E*=2);let b=Buffer.alloc(A*l*E),y=0,Q=0,v=u.bgColor||{};v.red===void 0&&(v.red=g),v.green===void 0&&(v.green=g),v.blue===void 0&&(v.blue=g);function I(){let F,N,_,M=g;switch(u.inputColorType){case i.COLORTYPE_COLOR_ALPHA:M=f[y+3],F=f[y],N=f[y+1],_=f[y+2];break;case i.COLORTYPE_COLOR:F=f[y],N=f[y+1],_=f[y+2];break;case i.COLORTYPE_ALPHA:M=f[y+1],F=f[y],N=F,_=F;break;case i.COLORTYPE_GRAYSCALE:F=f[y],N=F,_=F;break;default:throw new Error("input color type:"+u.inputColorType+" is not supported at present")}return u.inputHasAlpha&&(p||(M/=g,F=Math.min(Math.max(Math.round((1-M)*v.red+M*F),0),g),N=Math.min(Math.max(Math.round((1-M)*v.green+M*N),0),g),_=Math.min(Math.max(Math.round((1-M)*v.blue+M*_),0),g))),{red:F,green:N,blue:_,alpha:M}}for(let F=0;F<l;F++)for(let N=0;N<A;N++){let _=I(f,y);switch(u.colorType){case i.COLORTYPE_COLOR_ALPHA:case i.COLORTYPE_COLOR:u.bitDepth===8?(b[Q]=_.red,b[Q+1]=_.green,b[Q+2]=_.blue,p&&(b[Q+3]=_.alpha)):(b.writeUInt16BE(_.red,Q),b.writeUInt16BE(_.green,Q+2),b.writeUInt16BE(_.blue,Q+4),p&&b.writeUInt16BE(_.alpha,Q+6));break;case i.COLORTYPE_ALPHA:case i.COLORTYPE_GRAYSCALE:{let M=(_.red+_.green+_.blue)/3;u.bitDepth===8?(b[Q]=M,p&&(b[Q+1]=_.alpha)):(b.writeUInt16BE(M,Q),p&&b.writeUInt16BE(_.alpha,Q+2));break}default:throw new Error("unrecognised color Type "+u.colorType)}y+=m,Q+=E}return b}}),MF=Ge((r,e)=>{"use strict";var i=n0();function a(v,I,F,N,_){for(let M=0;M<F;M++)N[_+M]=v[I+M]}function A(v,I,F){let N=0,_=I+F;for(let M=I;M<_;M++)N+=Math.abs(v[M]);return N}function l(v,I,F,N,_,M){for(let O=0;O<F;O++){let P=O>=M?v[I+O-M]:0,R=v[I+O]-P;N[_+O]=R}}function u(v,I,F,N){let _=0;for(let M=0;M<F;M++){let O=M>=N?v[I+M-N]:0,P=v[I+M]-O;_+=Math.abs(P)}return _}function p(v,I,F,N,_){for(let M=0;M<F;M++){let O=I>0?v[I+M-F]:0,P=v[I+M]-O;N[_+M]=P}}function f(v,I,F){let N=0,_=I+F;for(let M=I;M<_;M++){let O=I>0?v[M-F]:0,P=v[M]-O;N+=Math.abs(P)}return N}function g(v,I,F,N,_,M){for(let O=0;O<F;O++){let P=O>=M?v[I+O-M]:0,R=I>0?v[I+O-F]:0,re=v[I+O]-(P+R>>1);N[_+O]=re}}function m(v,I,F,N){let _=0;for(let M=0;M<F;M++){let O=M>=N?v[I+M-N]:0,P=I>0?v[I+M-F]:0,R=v[I+M]-(O+P>>1);_+=Math.abs(R)}return _}function E(v,I,F,N,_,M){for(let O=0;O<F;O++){let P=O>=M?v[I+O-M]:0,R=I>0?v[I+O-F]:0,re=I>0&&O>=M?v[I+O-(F+M)]:0,q=v[I+O]-i(P,R,re);N[_+O]=q}}function b(v,I,F,N){let _=0;for(let M=0;M<F;M++){let O=M>=N?v[I+M-N]:0,P=I>0?v[I+M-F]:0,R=I>0&&M>=N?v[I+M-(F+N)]:0,re=v[I+M]-i(O,P,R);_+=Math.abs(re)}return _}var y={0:a,1:l,2:p,3:g,4:E},Q={0:A,1:u,2:f,3:m,4:b};e.exports=function(v,I,F,N,_){let M;if(!("filterType"in N)||N.filterType===-1)M=[0,1,2,3,4];else if(typeof N.filterType=="number")M=[N.filterType];else throw new Error("unrecognised filter types");N.bitDepth===16&&(_*=2);let O=I*_,P=0,R=0,re=Buffer.alloc((O+1)*F),q=M[0];for(let le=0;le<F;le++){if(M.length>1){let Ae=1/0;for(let ie=0;ie<M.length;ie++){let se=Q[M[ie]](v,R,O,_);se<Ae&&(q=M[ie],Ae=se)}}re[P]=q,P++,y[q](v,R,O,re,P,_),P+=O,R+=O}return re}}),c0=Ge((r,e)=>{"use strict";var i=ts(),a=a0(),A=DF(),l=MF(),u=We("zlib"),p=e.exports=function(f){if(this._options=f,f.deflateChunkSize=f.deflateChunkSize||32*1024,f.deflateLevel=f.deflateLevel!=null?f.deflateLevel:9,f.deflateStrategy=f.deflateStrategy!=null?f.deflateStrategy:3,f.inputHasAlpha=f.inputHasAlpha!=null?f.inputHasAlpha:!0,f.deflateFactory=f.deflateFactory||u.createDeflate,f.bitDepth=f.bitDepth||8,f.colorType=typeof f.colorType=="number"?f.colorType:i.COLORTYPE_COLOR_ALPHA,f.inputColorType=typeof f.inputColorType=="number"?f.inputColorType:i.COLORTYPE_COLOR_ALPHA,[i.COLORTYPE_GRAYSCALE,i.COLORTYPE_COLOR,i.COLORTYPE_COLOR_ALPHA,i.COLORTYPE_ALPHA].indexOf(f.colorType)===-1)throw new Error("option color type:"+f.colorType+" is not supported at present");if([i.COLORTYPE_GRAYSCALE,i.COLORTYPE_COLOR,i.COLORTYPE_COLOR_ALPHA,i.COLORTYPE_ALPHA].indexOf(f.inputColorType)===-1)throw new Error("option input color type:"+f.inputColorType+" is not supported at present");if(f.bitDepth!==8&&f.bitDepth!==16)throw new Error("option bit depth:"+f.bitDepth+" is not supported at present")};p.prototype.getDeflateOptions=function(){return{chunkSize:this._options.deflateChunkSize,level:this._options.deflateLevel,strategy:this._options.deflateStrategy}},p.prototype.createDeflate=function(){return this._options.deflateFactory(this.getDeflateOptions())},p.prototype.filterData=function(f,g,m){let E=A(f,g,m,this._options),b=i.COLORTYPE_TO_BPP_MAP[this._options.colorType];return l(E,g,m,this._options,b)},p.prototype._packChunk=function(f,g){let m=g?g.length:0,E=Buffer.alloc(m+12);return E.writeUInt32BE(m,0),E.writeUInt32BE(f,4),g&&g.copy(E,8),E.writeInt32BE(a.crc32(E.slice(4,E.length-4)),E.length-4),E},p.prototype.packGAMA=function(f){let g=Buffer.alloc(4);return g.writeUInt32BE(Math.floor(f*i.GAMMA_DIVISION),0),this._packChunk(i.TYPE_gAMA,g)},p.prototype.packIHDR=function(f,g){let m=Buffer.alloc(13);return m.writeUInt32BE(f,0),m.writeUInt32BE(g,4),m[8]=this._options.bitDepth,m[9]=this._options.colorType,m[10]=0,m[11]=0,m[12]=0,this._packChunk(i.TYPE_IHDR,m)},p.prototype.packIDAT=function(f){return this._packChunk(i.TYPE_IDAT,f)},p.prototype.packIEND=function(){return this._packChunk(i.TYPE_IEND,null)}}),UF=Ge((r,e)=>{"use strict";var i=We("util"),a=We("stream"),A=ts(),l=c0(),u=e.exports=function(p){a.call(this);let f=p||{};this._packer=new l(f),this._deflate=this._packer.createDeflate(),this.readable=!0};i.inherits(u,a),u.prototype.pack=function(p,f,g,m){this.emit("data",Buffer.from(A.PNG_SIGNATURE)),this.emit("data",this._packer.packIHDR(f,g)),m&&this.emit("data",this._packer.packGAMA(m));let E=this._packer.filterData(p,f,g);this._deflate.on("error",this.emit.bind(this,"error")),this._deflate.on("data",function(b){this.emit("data",this._packer.packIDAT(b))}.bind(this)),this._deflate.on("end",function(){this.emit("data",this._packer.packIEND()),this.emit("end")}.bind(this)),this._deflate.end(E)}}),NF=Ge((r,e)=>{"use strict";var i=We("assert").ok,a=We("zlib"),A=We("util"),l=We("buffer").kMaxLength;function u(E){if(!(this instanceof u))return new u(E);E&&E.chunkSize<a.Z_MIN_CHUNK&&(E.chunkSize=a.Z_MIN_CHUNK),a.Inflate.call(this,E),this._offset=this._offset===void 0?this._outOffset:this._offset,this._buffer=this._buffer||this._outBuffer,E&&E.maxLength!=null&&(this._maxLength=E.maxLength)}function p(E){return new u(E)}function f(E,b){b&&process.nextTick(b),E._handle&&(E._handle.close(),E._handle=null)}u.prototype._processChunk=function(E,b,y){if(typeof y=="function")return a.Inflate._processChunk.call(this,E,b,y);let Q=this,v=E&&E.length,I=this._chunkSize-this._offset,F=this._maxLength,N=0,_=[],M=0,O;this.on("error",function(q){O=q});function P(q,le){if(Q._hadError)return;let Ae=I-le;if(i(Ae>=0,"have should not go down"),Ae>0){let ie=Q._buffer.slice(Q._offset,Q._offset+Ae);if(Q._offset+=Ae,ie.length>F&&(ie=ie.slice(0,F)),_.push(ie),M+=ie.length,F-=ie.length,F===0)return!1}return(le===0||Q._offset>=Q._chunkSize)&&(I=Q._chunkSize,Q._offset=0,Q._buffer=Buffer.allocUnsafe(Q._chunkSize)),le===0?(N+=v-q,v=q,!0):!1}i(this._handle,"zlib binding closed");let R;do R=this._handle.writeSync(b,E,N,v,this._buffer,this._offset,I),R=R||this._writeState;while(!this._hadError&&P(R[0],R[1]));if(this._hadError)throw O;if(M>=l)throw f(this),new RangeError("Cannot create final Buffer. It would be larger than 0x"+l.toString(16)+" bytes");let re=Buffer.concat(_,M);return f(this),re},A.inherits(u,a.Inflate);function g(E,b){if(typeof b=="string"&&(b=Buffer.from(b)),!(b instanceof Buffer))throw new TypeError("Not a string or buffer");let y=E._finishFlushFlag;return y==null&&(y=a.Z_FINISH),E._processChunk(b,y)}function m(E,b){return g(new u(b),E)}e.exports=r=m,r.Inflate=u,r.createInflate=p,r.inflateSync=m}),u0=Ge((r,e)=>{"use strict";var i=e.exports=function(a){this._buffer=a,this._reads=[]};i.prototype.read=function(a,A){this._reads.push({length:Math.abs(a),allowLess:a<0,func:A})},i.prototype.process=function(){for(;this._reads.length>0&&this._buffer.length;){let a=this._reads[0];if(this._buffer.length&&(this._buffer.length>=a.length||a.allowLess)){this._reads.shift();let A=this._buffer;this._buffer=A.slice(a.length),a.func.call(this,A.slice(0,a.length))}else break}if(this._reads.length>0)throw new Error("There are some read requests waitng on finished stream");if(this._buffer.length>0)throw new Error("unrecognised content at end of stream")}}),kF=Ge(r=>{"use strict";var e=u0(),i=s0();r.process=function(a,A){let l=[],u=new e(a);return new i(A,{read:u.read.bind(u),write:function(p){l.push(p)},complete:function(){}}).start(),u.process(),Buffer.concat(l)}}),OF=Ge((r,e)=>{"use strict";var i=!0,a=We("zlib"),A=NF();a.deflateSync||(i=!1);var l=u0(),u=kF(),p=o0(),f=A0(),g=l0();e.exports=function(m,E){if(!i)throw new Error("To use the sync capability of this library in old node versions, please pin pngjs to v2.3.0");let b;function y(se){b=se}let Q;function v(se){Q=se}function I(se){Q.transColor=se}function F(se){Q.palette=se}function N(){Q.alpha=!0}let _;function M(se){_=se}let O=[];function P(se){O.push(se)}let R=new l(m);if(new p(E,{read:R.read.bind(R),error:y,metadata:v,gamma:M,palette:F,transColor:I,inflateData:P,simpleTransparency:N}).start(),R.process(),b)throw b;let re=Buffer.concat(O);O.length=0;let q;if(Q.interlace)q=a.inflateSync(re);else{let se=((Q.width*Q.bpp*Q.depth+7>>3)+1)*Q.height;q=A(re,{chunkSize:se,maxLength:se})}if(re=null,!q||!q.length)throw new Error("bad png - invalid inflate data response");let le=u.process(q,Q);re=null;let Ae=f.dataToBitMap(le,Q);le=null;let ie=g(Ae,Q,E.skipRescale);return Q.data=ie,Q.gamma=_||0,Q}}),YF=Ge((r,e)=>{"use strict";var i=!0,a=We("zlib");a.deflateSync||(i=!1);var A=ts(),l=c0();e.exports=function(u,p){if(!i)throw new Error("To use the sync capability of this library in old node versions, please pin pngjs to v2.3.0");let f=p||{},g=new l(f),m=[];m.push(Buffer.from(A.PNG_SIGNATURE)),m.push(g.packIHDR(u.width,u.height)),u.gamma&&m.push(g.packGAMA(u.gamma));let E=g.filterData(u.data,u.width,u.height),b=a.deflateSync(E,g.getDeflateOptions());if(E=null,!b||!b.length)throw new Error("bad png - invalid compressed data response");return m.push(g.packIDAT(b)),m.push(g.packIEND()),Buffer.concat(m)}}),RF=Ge(r=>{"use strict";var e=OF(),i=YF();r.read=function(a,A){return e(a,A||{})},r.write=function(a,A){return i(a,A)}}),GF=Ge(r=>{"use strict";var e=We("util"),i=We("stream"),a=SF(),A=UF(),l=RF(),u=r.PNG=function(p){i.call(this),p=p||{},this.width=p.width|0,this.height=p.height|0,this.data=this.width>0&&this.height>0?Buffer.alloc(4*this.width*this.height):null,p.fill&&this.data&&this.data.fill(0),this.gamma=0,this.readable=this.writable=!0,this._parser=new a(p),this._parser.on("error",this.emit.bind(this,"error")),this._parser.on("close",this._handleClose.bind(this)),this._parser.on("metadata",this._metadata.bind(this)),this._parser.on("gamma",this._gamma.bind(this)),this._parser.on("parsed",function(f){this.data=f,this.emit("parsed",f)}.bind(this)),this._packer=new A(p),this._packer.on("data",this.emit.bind(this,"data")),this._packer.on("end",this.emit.bind(this,"end")),this._parser.on("close",this._handleClose.bind(this)),this._packer.on("error",this.emit.bind(this,"error"))};e.inherits(u,i),u.sync=l,u.prototype.pack=function(){return!this.data||!this.data.length?(this.emit("error","No data provided"),this):(process.nextTick(function(){this._packer.pack(this.data,this.width,this.height,this.gamma)}.bind(this)),this)},u.prototype.parse=function(p,f){if(f){let g,m;g=function(E){this.removeListener("error",m),this.data=E,f(null,this)}.bind(this),m=function(E){this.removeListener("parsed",g),f(E,null)}.bind(this),this.once("parsed",g),this.once("error",m)}return this.end(p),this},u.prototype.write=function(p){return this._parser.write(p),!0},u.prototype.end=function(p){this._parser.end(p)},u.prototype._metadata=function(p){this.width=p.width,this.height=p.height,this.emit("metadata",p)},u.prototype._gamma=function(p){this.gamma=p},u.prototype._handleClose=function(){!this._parser.writable&&!this._packer.readable&&this.emit("close")},u.bitblt=function(p,f,g,m,E,b,y,Q){if(g|=0,m|=0,E|=0,b|=0,y|=0,Q|=0,g>p.width||m>p.height||g+E>p.width||m+b>p.height)throw new Error("bitblt reading outside image");if(y>f.width||Q>f.height||y+E>f.width||Q+b>f.height)throw new Error("bitblt writing outside image");for(let v=0;v<b;v++)p.data.copy(f.data,(Q+v)*f.width+y<<2,(m+v)*p.width+g<<2,(m+v)*p.width+g+E<<2)},u.prototype.bitblt=function(p,f,g,m,E,b,y){return u.bitblt(this,p,f,g,m,E,b,y),this},u.adjustGamma=function(p){if(p.gamma){for(let f=0;f<p.height;f++)for(let g=0;g<p.width;g++){let m=p.width*f+g<<2;for(let E=0;E<3;E++){let b=p.data[m+E]/255;b=Math.pow(b,1/2.2/p.gamma),p.data[m+E]=Math.round(b*255)}}p.gamma=0}},u.prototype.adjustGamma=function(){u.adjustGamma(this)}}),LF=Ge((r,e)=>{var i=i||function(l){return Buffer.from(l).toString("base64")};function a(l){var u=this,p=Math.round,f=Math.floor,g=new Array(64),m=new Array(64),E=new Array(64),b=new Array(64),y,Q,v,I,F=new Array(65535),N=new Array(65535),_=new Array(64),M=new Array(64),O=[],P=0,R=7,re=new Array(64),q=new Array(64),le=new Array(64),Ae=new Array(256),ie=new Array(2048),se,ye=[0,1,5,6,14,15,27,28,2,4,7,13,16,26,29,42,3,8,12,17,25,30,41,43,9,11,18,24,31,40,44,53,10,19,23,32,39,45,52,54,20,22,33,38,46,51,55,60,21,34,37,47,50,56,59,61,35,36,48,49,57,58,62,63],pe=[0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0],Pe=[0,1,2,3,4,5,6,7,8,9,10,11],Be=[0,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125],Ee=[1,2,3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,129,145,161,8,35,66,177,193,21,82,209,240,36,51,98,114,130,9,10,22,23,24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,225,226,227,228,229,230,231,232,233,234,241,242,243,244,245,246,247,248,249,250],me=[0,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0],Ne=[0,1,2,3,4,5,6,7,8,9,10,11],Fe=[0,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119],W=[0,1,2,3,17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,129,8,20,66,145,161,177,193,9,35,51,82,240,21,98,114,209,10,22,36,52,225,37,241,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,130,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,226,227,228,229,230,231,232,233,234,242,243,244,245,246,247,248,249,250];function Y(te){for(var ve=[16,11,10,16,24,40,51,61,12,12,14,19,26,58,60,55,14,13,16,24,40,57,69,56,14,17,22,29,51,87,80,62,18,22,37,56,68,109,103,77,24,35,55,64,81,104,113,92,49,64,78,87,103,121,120,101,72,92,95,98,112,100,103,99],be=0;be<64;be++){var ue=f((ve[be]*te+50)/100);ue<1?ue=1:ue>255&&(ue=255),g[ye[be]]=ue}for(var Me=[17,18,24,47,99,99,99,99,18,21,26,66,99,99,99,99,24,26,56,99,99,99,99,99,47,66,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99],He=0;He<64;He++){var Le=f((Me[He]*te+50)/100);Le<1?Le=1:Le>255&&(Le=255),m[ye[He]]=Le}for(var Ye=[1,1.387039845,1.306562965,1.175875602,1,.785694958,.5411961,.275899379],de=0,ge=0;ge<8;ge++)for(var oe=0;oe<8;oe++)E[de]=1/(g[ye[de]]*Ye[ge]*Ye[oe]*8),b[de]=1/(m[ye[de]]*Ye[ge]*Ye[oe]*8),de++}function J(te,ve){for(var be=0,ue=0,Me=new Array,He=1;He<=16;He++){for(var Le=1;Le<=te[He];Le++)Me[ve[ue]]=[],Me[ve[ue]][0]=be,Me[ve[ue]][1]=He,ue++,be++;be*=2}return Me}function X(){y=J(pe,Pe),Q=J(me,Ne),v=J(Be,Ee),I=J(Fe,W)}function j(){for(var te=1,ve=2,be=1;be<=15;be++){for(var ue=te;ue<ve;ue++)N[32767+ue]=be,F[32767+ue]=[],F[32767+ue][1]=be,F[32767+ue][0]=ue;for(var Me=-(ve-1);Me<=-te;Me++)N[32767+Me]=be,F[32767+Me]=[],F[32767+Me][1]=be,F[32767+Me][0]=ve-1+Me;te<<=1,ve<<=1}}function K(){for(var te=0;te<256;te++)ie[te]=19595*te,ie[te+256>>0]=38470*te,ie[te+512>>0]=7471*te+32768,ie[te+768>>0]=-11059*te,ie[te+1024>>0]=-21709*te,ie[te+1280>>0]=32768*te+8421375,ie[te+1536>>0]=-27439*te,ie[te+1792>>0]=-5329*te}function G(te){for(var ve=te[0],be=te[1]-1;be>=0;)ve&1<<be&&(P|=1<<R),be--,R--,R<0&&(P==255?(z(255),z(0)):z(P),R=7,P=0)}function z(te){O.push(te)}function D(te){z(te>>8&255),z(te&255)}function fe(te,ve){var be,ue,Me,He,Le,Ye,de,ge,oe=0,ke,$=8,_e=64;for(ke=0;ke<$;++ke){be=te[oe],ue=te[oe+1],Me=te[oe+2],He=te[oe+3],Le=te[oe+4],Ye=te[oe+5],de=te[oe+6],ge=te[oe+7];var Ue=be+ge,je=be-ge,ot=ue+de,Ke=ue-de,ut=Me+Ye,bt=Me-Ye,xt=He+Le,Ir=He-Le,hr=Ue+xt,Fr=Ue-xt,Tr=ot+ut,ht=ot-ut;te[oe]=hr+Tr,te[oe+4]=hr-Tr;var V=(ht+Fr)*.707106781;te[oe+2]=Fr+V,te[oe+6]=Fr-V,hr=Ir+bt,Tr=bt+Ke,ht=Ke+je;var Vr=(hr-ht)*.382683433,he=.5411961*hr+Vr,pr=1.306562965*ht+Vr,hn=Tr*.707106781,is=je+hn,pn=je-hn;te[oe+5]=pn+he,te[oe+3]=pn-he,te[oe+1]=is+pr,te[oe+7]=is-pr,oe+=8}for(oe=0,ke=0;ke<$;++ke){be=te[oe],ue=te[oe+8],Me=te[oe+16],He=te[oe+24],Le=te[oe+32],Ye=te[oe+40],de=te[oe+48],ge=te[oe+56];var ns=be+ge,li=be-ge,ss=ue+de,as=ue-de,Ti=Me+Ye,fn=Me-Ye,os=He+Le,Na=He-Le,fr=ns+os,Si=ns-os,Di=ss+Ti,ci=ss-Ti;te[oe]=fr+Di,te[oe+32]=fr-Di;var As=(ci+Si)*.707106781;te[oe+16]=Si+As,te[oe+48]=Si-As,fr=Na+fn,Di=fn+as,ci=as+li;var ui=(fr-ci)*.382683433,dn=.5411961*fr+ui,ls=1.306562965*ci+ui,cs=Di*.707106781,us=li+cs,hs=li-cs;te[oe+40]=hs+dn,te[oe+24]=hs-dn,te[oe+8]=us+ls,te[oe+56]=us-ls,oe++}var Mi;for(ke=0;ke<_e;++ke)Mi=te[ke]*ve[ke],_[ke]=Mi>0?Mi+.5|0:Mi-.5|0;return _}function ce(){D(65504),D(16),z(74),z(70),z(73),z(70),z(0),z(1),z(1),z(0),D(1),D(1),z(0),z(0)}function Qe(te){if(te){D(65505),te[0]===69&&te[1]===120&&te[2]===105&&te[3]===102?D(te.length+2):(D(te.length+5+2),z(69),z(120),z(105),z(102),z(0));for(var ve=0;ve<te.length;ve++)z(te[ve])}}function Z(te,ve){D(65472),D(17),z(8),D(ve),D(te),z(3),z(1),z(17),z(0),z(2),z(17),z(1),z(3),z(17),z(1)}function H(){D(65499),D(132),z(0);for(var te=0;te<64;te++)z(g[te]);z(1);for(var ve=0;ve<64;ve++)z(m[ve])}function ne(){D(65476),D(418),z(0);for(var te=0;te<16;te++)z(pe[te+1]);for(var ve=0;ve<=11;ve++)z(Pe[ve]);z(16);for(var be=0;be<16;be++)z(Be[be+1]);for(var ue=0;ue<=161;ue++)z(Ee[ue]);z(1);for(var Me=0;Me<16;Me++)z(me[Me+1]);for(var He=0;He<=11;He++)z(Ne[He]);z(17);for(var Le=0;Le<16;Le++)z(Fe[Le+1]);for(var Ye=0;Ye<=161;Ye++)z(W[Ye])}function Oe(te){typeof te>"u"||te.constructor!==Array||te.forEach(ve=>{if(typeof ve=="string"){D(65534);var be=ve.length;D(be+2);var ue;for(ue=0;ue<be;ue++)z(ve.charCodeAt(ue))}})}function De(){D(65498),D(12),z(3),z(1),z(0),z(2),z(17),z(3),z(17),z(0),z(63),z(0)}function it(te,ve,be,ue,Me){for(var He=Me[0],Le=Me[240],Ye,de=16,ge=63,oe=64,ke=fe(te,ve),$=0;$<oe;++$)M[ye[$]]=ke[$];var _e=M[0]-be;be=M[0],_e==0?G(ue[0]):(Ye=32767+_e,G(ue[N[Ye]]),G(F[Ye]));for(var Ue=63;Ue>0&&M[Ue]==0;Ue--);if(Ue==0)return G(He),be;for(var je=1,ot;je<=Ue;){for(var Ke=je;M[je]==0&&je<=Ue;++je);var ut=je-Ke;if(ut>=de){ot=ut>>4;for(var bt=1;bt<=ot;++bt)G(Le);ut=ut&15}Ye=32767+M[je],G(Me[(ut<<4)+N[Ye]]),G(F[Ye]),je++}return Ue!=ge&&G(He),be}function Ze(){for(var te=String.fromCharCode,ve=0;ve<256;ve++)Ae[ve]=te(ve)}this.encode=function(te,ve){var be=new Date().getTime();ve&&ze(ve),O=new Array,P=0,R=7,D(65496),ce(),Oe(te.comments),Qe(te.exifBuffer),H(),Z(te.width,te.height),ne(),De();var ue=0,Me=0,He=0;P=0,R=7,this.encode.displayName="_encode_";for(var Le=te.data,Ye=te.width,de=te.height,ge=Ye*4,oe=Ye*3,ke,$=0,_e,Ue,je,ot,Ke,ut,bt,xt;$<de;){for(ke=0;ke<ge;){for(ot=ge*$+ke,Ke=ot,ut=-1,bt=0,xt=0;xt<64;xt++)bt=xt>>3,ut=(xt&7)*4,Ke=ot+bt*ge+ut,$+bt>=de&&(Ke-=ge*($+1+bt-de)),ke+ut>=ge&&(Ke-=ke+ut-ge+4),_e=Le[Ke++],Ue=Le[Ke++],je=Le[Ke++],re[xt]=(ie[_e]+ie[Ue+256>>0]+ie[je+512>>0]>>16)-128,q[xt]=(ie[_e+768>>0]+ie[Ue+1024>>0]+ie[je+1280>>0]>>16)-128,le[xt]=(ie[_e+1280>>0]+ie[Ue+1536>>0]+ie[je+1792>>0]>>16)-128;ue=it(re,E,ue,y,v),Me=it(q,b,Me,Q,I),He=it(le,b,He,Q,I),ke+=32}$+=8}if(R>=0){var Ir=[];Ir[1]=R+1,Ir[0]=(1<<R+1)-1,G(Ir)}if(D(65497),typeof e>"u")return new Uint8Array(O);return Buffer.from(O);var hr,Fr};function ze(te){if(te<=0&&(te=1),te>100&&(te=100),se!=te){var ve=0;te<50?ve=Math.floor(5e3/te):ve=Math.floor(200-te*2),Y(ve),se=te}}function wt(){var te=new Date().getTime();l||(l=50),Ze(),X(),j(),K(),ze(l);var ve=new Date().getTime()-te}wt()}typeof e<"u"?e.exports=A:typeof window<"u"&&(window["jpeg-js"]=window["jpeg-js"]||{},window["jpeg-js"].encode=A);function A(l,u){typeof u>"u"&&(u=50);var p=new a(u),f=p.encode(l,u);return{data:f,width:l.width,height:l.height}}}),PF=Ge((r,e)=>{var i=(function(){"use strict";var A=new Int32Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),l=4017,u=799,p=3406,f=2276,g=1567,m=3784,E=5793,b=2896;function y(){}function Q(O,P){for(var R=0,re=[],q,le,Ae=16;Ae>0&&!O[Ae-1];)Ae--;re.push({children:[],index:0});var ie=re[0],se;for(q=0;q<Ae;q++){for(le=0;le<O[q];le++){for(ie=re.pop(),ie.children[ie.index]=P[R];ie.index>0;){if(re.length===0)throw new Error("Could not recreate Huffman Table");ie=re.pop()}for(ie.index++,re.push(ie);re.length<=q;)re.push(se={children:[],index:0}),ie.children[ie.index]=se.children,ie=se;R++}q+1<Ae&&(re.push(se={children:[],index:0}),ie.children[ie.index]=se.children,ie=se)}return re[0].children}function v(O,P,R,re,q,le,Ae,ie,se,ye){var pe=R.precision,Pe=R.samplesPerLine,Be=R.scanLines,Ee=R.mcusPerLine,me=R.progressive,Ne=R.maxH,Fe=R.maxV,W=P,Y=0,J=0;function X(){if(J>0)return J--,Y>>J&1;if(Y=O[P++],Y==255){var de=O[P++];if(de)throw new Error("unexpected marker: "+(Y<<8|de).toString(16))}return J=7,Y>>>7}function j(de){for(var ge=de,oe;(oe=X())!==null;){if(ge=ge[oe],typeof ge=="number")return ge;if(typeof ge!="object")throw new Error("invalid huffman sequence")}return null}function K(de){for(var ge=0;de>0;){var oe=X();if(oe===null)return;ge=ge<<1|oe,de--}return ge}function G(de){var ge=K(de);return ge>=1<<de-1?ge:ge+(-1<<de)+1}function z(de,ge){var oe=j(de.huffmanTableDC),ke=oe===0?0:G(oe);ge[0]=de.pred+=ke;for(var $=1;$<64;){var _e=j(de.huffmanTableAC),Ue=_e&15,je=_e>>4;if(Ue===0){if(je<15)break;$+=16;continue}$+=je;var ot=A[$];ge[ot]=G(Ue),$++}}function D(de,ge){var oe=j(de.huffmanTableDC),ke=oe===0?0:G(oe)<<se;ge[0]=de.pred+=ke}function fe(de,ge){ge[0]|=X()<<se}var ce=0;function Qe(de,ge){if(ce>0){ce--;return}for(var oe=le,ke=Ae;oe<=ke;){var $=j(de.huffmanTableAC),_e=$&15,Ue=$>>4;if(_e===0){if(Ue<15){ce=K(Ue)+(1<<Ue)-1;break}oe+=16;continue}oe+=Ue;var je=A[oe];ge[je]=G(_e)*(1<<se),oe++}}var Z=0,H;function ne(de,ge){for(var oe=le,ke=Ae,$=0;oe<=ke;){var _e=A[oe],Ue=ge[_e]<0?-1:1;switch(Z){case 0:var je=j(de.huffmanTableAC),ot=je&15,$=je>>4;if(ot===0)$<15?(ce=K($)+(1<<$),Z=4):($=16,Z=1);else{if(ot!==1)throw new Error("invalid ACn encoding");H=G(ot),Z=$?2:3}continue;case 1:case 2:ge[_e]?ge[_e]+=(X()<<se)*Ue:($--,$===0&&(Z=Z==2?3:0));break;case 3:ge[_e]?ge[_e]+=(X()<<se)*Ue:(ge[_e]=H<<se,Z=0);break;case 4:ge[_e]&&(ge[_e]+=(X()<<se)*Ue);break}oe++}Z===4&&(ce--,ce===0&&(Z=0))}function Oe(de,ge,oe,ke,$){var _e=oe/Ee|0,Ue=oe%Ee,je=_e*de.v+ke,ot=Ue*de.h+$;de.blocks[je]===void 0&&ye.tolerantDecoding||ge(de,de.blocks[je][ot])}function De(de,ge,oe){var ke=oe/de.blocksPerLine|0,$=oe%de.blocksPerLine;de.blocks[ke]===void 0&&ye.tolerantDecoding||ge(de,de.blocks[ke][$])}var it=re.length,Ze,ze,wt,te,ve,be;me?le===0?be=ie===0?D:fe:be=ie===0?Qe:ne:be=z;var ue=0,Me,He;it==1?He=re[0].blocksPerLine*re[0].blocksPerColumn:He=Ee*R.mcusPerColumn,q||(q=He);for(var Le,Ye;ue<He;){for(ze=0;ze<it;ze++)re[ze].pred=0;if(ce=0,it==1)for(Ze=re[0],ve=0;ve<q;ve++)De(Ze,be,ue),ue++;else for(ve=0;ve<q;ve++){for(ze=0;ze<it;ze++)for(Ze=re[ze],Le=Ze.h,Ye=Ze.v,wt=0;wt<Ye;wt++)for(te=0;te<Le;te++)Oe(Ze,be,ue,wt,te);if(ue++,ue===He)break}if(ue===He)do{if(O[P]===255&&O[P+1]!==0)break;P+=1}while(P<O.length-2);if(J=0,Me=O[P]<<8|O[P+1],Me<65280)throw new Error("marker was not found");if(Me>=65488&&Me<=65495)P+=2;else break}return P-W}function I(O,P){var R=[],re=P.blocksPerLine,q=P.blocksPerColumn,le=re<<3,Ae=new Int32Array(64),ie=new Uint8Array(64);function se(W,Y,J){var X=P.quantizationTable,j,K,G,z,D,fe,ce,Qe,Z,H=J,ne;for(ne=0;ne<64;ne++)H[ne]=W[ne]*X[ne];for(ne=0;ne<8;++ne){var Oe=8*ne;if(H[1+Oe]==0&&H[2+Oe]==0&&H[3+Oe]==0&&H[4+Oe]==0&&H[5+Oe]==0&&H[6+Oe]==0&&H[7+Oe]==0){Z=E*H[0+Oe]+512>>10,H[0+Oe]=Z,H[1+Oe]=Z,H[2+Oe]=Z,H[3+Oe]=Z,H[4+Oe]=Z,H[5+Oe]=Z,H[6+Oe]=Z,H[7+Oe]=Z;continue}j=E*H[0+Oe]+128>>8,K=E*H[4+Oe]+128>>8,G=H[2+Oe],z=H[6+Oe],D=b*(H[1+Oe]-H[7+Oe])+128>>8,Qe=b*(H[1+Oe]+H[7+Oe])+128>>8,fe=H[3+Oe]<<4,ce=H[5+Oe]<<4,Z=j-K+1>>1,j=j+K+1>>1,K=Z,Z=G*m+z*g+128>>8,G=G*g-z*m+128>>8,z=Z,Z=D-ce+1>>1,D=D+ce+1>>1,ce=Z,Z=Qe+fe+1>>1,fe=Qe-fe+1>>1,Qe=Z,Z=j-z+1>>1,j=j+z+1>>1,z=Z,Z=K-G+1>>1,K=K+G+1>>1,G=Z,Z=D*f+Qe*p+2048>>12,D=D*p-Qe*f+2048>>12,Qe=Z,Z=fe*u+ce*l+2048>>12,fe=fe*l-ce*u+2048>>12,ce=Z,H[0+Oe]=j+Qe,H[7+Oe]=j-Qe,H[1+Oe]=K+ce,H[6+Oe]=K-ce,H[2+Oe]=G+fe,H[5+Oe]=G-fe,H[3+Oe]=z+D,H[4+Oe]=z-D}for(ne=0;ne<8;++ne){var De=ne;if(H[8+De]==0&&H[16+De]==0&&H[24+De]==0&&H[32+De]==0&&H[40+De]==0&&H[48+De]==0&&H[56+De]==0){Z=E*J[ne+0]+8192>>14,H[0+De]=Z,H[8+De]=Z,H[16+De]=Z,H[24+De]=Z,H[32+De]=Z,H[40+De]=Z,H[48+De]=Z,H[56+De]=Z;continue}j=E*H[0+De]+2048>>12,K=E*H[32+De]+2048>>12,G=H[16+De],z=H[48+De],D=b*(H[8+De]-H[56+De])+2048>>12,Qe=b*(H[8+De]+H[56+De])+2048>>12,fe=H[24+De],ce=H[40+De],Z=j-K+1>>1,j=j+K+1>>1,K=Z,Z=G*m+z*g+2048>>12,G=G*g-z*m+2048>>12,z=Z,Z=D-ce+1>>1,D=D+ce+1>>1,ce=Z,Z=Qe+fe+1>>1,fe=Qe-fe+1>>1,Qe=Z,Z=j-z+1>>1,j=j+z+1>>1,z=Z,Z=K-G+1>>1,K=K+G+1>>1,G=Z,Z=D*f+Qe*p+2048>>12,D=D*p-Qe*f+2048>>12,Qe=Z,Z=fe*u+ce*l+2048>>12,fe=fe*l-ce*u+2048>>12,ce=Z,H[0+De]=j+Qe,H[56+De]=j-Qe,H[8+De]=K+ce,H[48+De]=K-ce,H[16+De]=G+fe,H[40+De]=G-fe,H[24+De]=z+D,H[32+De]=z-D}for(ne=0;ne<64;++ne){var it=128+(H[ne]+8>>4);Y[ne]=it<0?0:it>255?255:it}}M(le*q*8);for(var ye,pe,Pe=0;Pe<q;Pe++){var Be=Pe<<3;for(ye=0;ye<8;ye++)R.push(new Uint8Array(le));for(var Ee=0;Ee<re;Ee++){se(P.blocks[Pe][Ee],ie,Ae);var me=0,Ne=Ee<<3;for(pe=0;pe<8;pe++){var Fe=R[Be+pe];for(ye=0;ye<8;ye++)Fe[Ne+ye]=ie[me++]}}}return R}function F(O){return O<0?0:O>255?255:O}y.prototype={load:function(O){var P=new XMLHttpRequest;P.open("GET",O,!0),P.responseType="arraybuffer",P.onload=function(){var R=new Uint8Array(P.response||P.mozResponseArrayBuffer);this.parse(R),this.onload&&this.onload()}.bind(this),P.send(null)},parse:function(O){var P=this.opts.maxResolutionInMP*1e3*1e3,R=0,re=O.length;function q(){var Ue=O[R]<<8|O[R+1];return R+=2,Ue}function le(){var Ue=q(),je=O.subarray(R,R+Ue-2);return R+=je.length,je}function Ae(Ue){var je=1,ot=1,Ke,ut;for(ut in Ue.components)Ue.components.hasOwnProperty(ut)&&(Ke=Ue.components[ut],je<Ke.h&&(je=Ke.h),ot<Ke.v&&(ot=Ke.v));var bt=Math.ceil(Ue.samplesPerLine/8/je),xt=Math.ceil(Ue.scanLines/8/ot);for(ut in Ue.components)if(Ue.components.hasOwnProperty(ut)){Ke=Ue.components[ut];var Ir=Math.ceil(Math.ceil(Ue.samplesPerLine/8)*Ke.h/je),hr=Math.ceil(Math.ceil(Ue.scanLines/8)*Ke.v/ot),Fr=bt*Ke.h,Tr=xt*Ke.v,ht=Tr*Fr,V=[];M(ht*256);for(var Vr=0;Vr<Tr;Vr++){for(var he=[],pr=0;pr<Fr;pr++)he.push(new Int32Array(64));V.push(he)}Ke.blocksPerLine=Ir,Ke.blocksPerColumn=hr,Ke.blocks=V}Ue.maxH=je,Ue.maxV=ot,Ue.mcusPerLine=bt,Ue.mcusPerColumn=xt}var ie=null,se=null,ye=null,pe,Pe,Be=[],Ee=[],me=[],Ne=[],Fe=q(),W=-1;if(this.comments=[],Fe!=65496)throw new Error("SOI not found");for(Fe=q();Fe!=65497;){var Y,J,X;switch(Fe){case 65280:break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:var j=le();if(Fe===65534){var K=String.fromCharCode.apply(null,j);this.comments.push(K)}Fe===65504&&j[0]===74&&j[1]===70&&j[2]===73&&j[3]===70&&j[4]===0&&(ie={version:{major:j[5],minor:j[6]},densityUnits:j[7],xDensity:j[8]<<8|j[9],yDensity:j[10]<<8|j[11],thumbWidth:j[12],thumbHeight:j[13],thumbData:j.subarray(14,14+3*j[12]*j[13])}),Fe===65505&&j[0]===69&&j[1]===120&&j[2]===105&&j[3]===102&&j[4]===0&&(this.exifBuffer=j.subarray(5,j.length)),Fe===65518&&j[0]===65&&j[1]===100&&j[2]===111&&j[3]===98&&j[4]===101&&j[5]===0&&(se={version:j[6],flags0:j[7]<<8|j[8],flags1:j[9]<<8|j[10],transformCode:j[11]});break;case 65499:for(var G=q(),z=G+R-2;R<z;){var D=O[R++];M(256);var fe=new Int32Array(64);if(D>>4)if(D>>4===1)for(J=0;J<64;J++){var ce=A[J];fe[ce]=q()}else throw new Error("DQT: invalid table spec");else for(J=0;J<64;J++){var ce=A[J];fe[ce]=O[R++]}Be[D&15]=fe}break;case 65472:case 65473:case 65474:q(),pe={},pe.extended=Fe===65473,pe.progressive=Fe===65474,pe.precision=O[R++],pe.scanLines=q(),pe.samplesPerLine=q(),pe.components={},pe.componentsOrder=[];var Qe=pe.scanLines*pe.samplesPerLine;if(Qe>P){var Z=Math.ceil((Qe-P)/1e6);throw new Error(`maxResolutionInMP limit exceeded by ${Z}MP`)}var H=O[R++],ne,Oe=0,De=0;for(Y=0;Y<H;Y++){ne=O[R];var it=O[R+1]>>4,Ze=O[R+1]&15,ze=O[R+2];if(it<=0||Ze<=0)throw new Error("Invalid sampling factor, expected values above 0");pe.componentsOrder.push(ne),pe.components[ne]={h:it,v:Ze,quantizationIdx:ze},R+=3}Ae(pe),Ee.push(pe);break;case 65476:var wt=q();for(Y=2;Y<wt;){var te=O[R++],ve=new Uint8Array(16),be=0;for(J=0;J<16;J++,R++)be+=ve[J]=O[R];M(16+be);var ue=new Uint8Array(be);for(J=0;J<be;J++,R++)ue[J]=O[R];Y+=17+be,(te>>4?me:Ne)[te&15]=Q(ve,ue)}break;case 65501:q(),Pe=q();break;case 65500:q(),q();break;case 65498:var Me=q(),He=O[R++],Le=[],Ye;for(Y=0;Y<He;Y++){Ye=pe.components[O[R++]];var de=O[R++];Ye.huffmanTableDC=Ne[de>>4],Ye.huffmanTableAC=me[de&15],Le.push(Ye)}var ge=O[R++],oe=O[R++],ke=O[R++],$=v(O,R,pe,Le,Pe,ge,oe,ke>>4,ke&15,this.opts);R+=$;break;case 65535:O[R]!==255&&R--;break;default:if(O[R-3]==255&&O[R-2]>=192&&O[R-2]<=254){R-=3;break}else if(Fe===224||Fe==225){if(W!==-1)throw new Error(`first unknown JPEG marker at offset ${W.toString(16)}, second unknown JPEG marker ${Fe.toString(16)} at offset ${(R-1).toString(16)}`);W=R-1;let Ue=q();if(O[R+Ue-2]===255){R+=Ue-2;break}}throw new Error("unknown JPEG marker "+Fe.toString(16))}Fe=q()}if(Ee.length!=1)throw new Error("only single frame JPEGs supported");for(var Y=0;Y<Ee.length;Y++){var _e=Ee[Y].components;for(var J in _e)_e[J].quantizationTable=Be[_e[J].quantizationIdx],delete _e[J].quantizationIdx}this.width=pe.samplesPerLine,this.height=pe.scanLines,this.jfif=ie,this.adobe=se,this.components=[];for(var Y=0;Y<pe.componentsOrder.length;Y++){var Ye=pe.components[pe.componentsOrder[Y]];this.components.push({lines:I(pe,Ye),scaleX:Ye.h/pe.maxH,scaleY:Ye.v/pe.maxV})}},getData:function(O,P){var R=this.width/O,re=this.height/P,q,le,Ae,ie,se,ye,pe,Pe,Be,Ee,me=0,Ne,Fe,W,Y,J,X,j,K,G,z,D,fe=O*P*this.components.length;M(fe);var ce=new Uint8Array(fe);switch(this.components.length){case 1:for(q=this.components[0],Ee=0;Ee<P;Ee++)for(se=q.lines[0|Ee*q.scaleY*re],Be=0;Be<O;Be++)Ne=se[0|Be*q.scaleX*R],ce[me++]=Ne;break;case 2:for(q=this.components[0],le=this.components[1],Ee=0;Ee<P;Ee++)for(se=q.lines[0|Ee*q.scaleY*re],ye=le.lines[0|Ee*le.scaleY*re],Be=0;Be<O;Be++)Ne=se[0|Be*q.scaleX*R],ce[me++]=Ne,Ne=ye[0|Be*le.scaleX*R],ce[me++]=Ne;break;case 3:for(D=!0,this.adobe&&this.adobe.transformCode?D=!0:typeof this.opts.colorTransform<"u"&&(D=!!this.opts.colorTransform),q=this.components[0],le=this.components[1],Ae=this.components[2],Ee=0;Ee<P;Ee++)for(se=q.lines[0|Ee*q.scaleY*re],ye=le.lines[0|Ee*le.scaleY*re],pe=Ae.lines[0|Ee*Ae.scaleY*re],Be=0;Be<O;Be++)D?(Ne=se[0|Be*q.scaleX*R],Fe=ye[0|Be*le.scaleX*R],W=pe[0|Be*Ae.scaleX*R],K=F(Ne+1.402*(W-128)),G=F(Ne-.3441363*(Fe-128)-.71413636*(W-128)),z=F(Ne+1.772*(Fe-128))):(K=se[0|Be*q.scaleX*R],G=ye[0|Be*le.scaleX*R],z=pe[0|Be*Ae.scaleX*R]),ce[me++]=K,ce[me++]=G,ce[me++]=z;break;case 4:if(!this.adobe)throw new Error("Unsupported color mode (4 components)");for(D=!1,this.adobe&&this.adobe.transformCode?D=!0:typeof this.opts.colorTransform<"u"&&(D=!!this.opts.colorTransform),q=this.components[0],le=this.components[1],Ae=this.components[2],ie=this.components[3],Ee=0;Ee<P;Ee++)for(se=q.lines[0|Ee*q.scaleY*re],ye=le.lines[0|Ee*le.scaleY*re],pe=Ae.lines[0|Ee*Ae.scaleY*re],Pe=ie.lines[0|Ee*ie.scaleY*re],Be=0;Be<O;Be++)D?(Ne=se[0|Be*q.scaleX*R],Fe=ye[0|Be*le.scaleX*R],W=pe[0|Be*Ae.scaleX*R],Y=Pe[0|Be*ie.scaleX*R],J=255-F(Ne+1.402*(W-128)),X=255-F(Ne-.3441363*(Fe-128)-.71413636*(W-128)),j=255-F(Ne+1.772*(Fe-128))):(J=se[0|Be*q.scaleX*R],X=ye[0|Be*le.scaleX*R],j=pe[0|Be*Ae.scaleX*R],Y=Pe[0|Be*ie.scaleX*R]),ce[me++]=255-J,ce[me++]=255-X,ce[me++]=255-j,ce[me++]=255-Y;break;default:throw new Error("Unsupported color mode")}return ce},copyToImageData:function(O,P){var R=O.width,re=O.height,q=O.data,le=this.getData(R,re),Ae=0,ie=0,se,ye,pe,Pe,Be,Ee,me,Ne,Fe;switch(this.components.length){case 1:for(ye=0;ye<re;ye++)for(se=0;se<R;se++)pe=le[Ae++],q[ie++]=pe,q[ie++]=pe,q[ie++]=pe,P&&(q[ie++]=255);break;case 3:for(ye=0;ye<re;ye++)for(se=0;se<R;se++)me=le[Ae++],Ne=le[Ae++],Fe=le[Ae++],q[ie++]=me,q[ie++]=Ne,q[ie++]=Fe,P&&(q[ie++]=255);break;case 4:for(ye=0;ye<re;ye++)for(se=0;se<R;se++)Be=le[Ae++],Ee=le[Ae++],pe=le[Ae++],Pe=le[Ae++],me=255-F(Be*(1-Pe/255)+Pe),Ne=255-F(Ee*(1-Pe/255)+Pe),Fe=255-F(pe*(1-Pe/255)+Pe),q[ie++]=me,q[ie++]=Ne,q[ie++]=Fe,P&&(q[ie++]=255);break;default:throw new Error("Unsupported color mode")}}};var N=0,_=0;function M(O=0){var P=N+O;if(P>_){var R=Math.ceil((P-_)/1024/1024);throw new Error(`maxMemoryUsageInMB limit exceeded by at least ${R}MB`)}N=P}return y.resetMaxMemoryUsage=function(O){N=0,_=O},y.getBytesAllocated=function(){return N},y.requestMemoryAllocation=M,y})();typeof e<"u"?e.exports=a:typeof window<"u"&&(window["jpeg-js"]=window["jpeg-js"]||{},window["jpeg-js"].decode=a);function a(A,l={}){var u={colorTransform:void 0,useTArray:!1,formatAsRGBA:!0,tolerantDecoding:!0,maxResolutionInMP:100,maxMemoryUsageInMB:512},p={...u,...l},f=new Uint8Array(A),g=new i;g.opts=p,i.resetMaxMemoryUsage(p.maxMemoryUsageInMB*1024*1024),g.parse(f);var m=p.formatAsRGBA?4:3,E=g.width*g.height*m;try{i.requestMemoryAllocation(E);var b={width:g.width,height:g.height,exifBuffer:g.exifBuffer,data:p.useTArray?new Uint8Array(E):Buffer.alloc(E)};g.comments.length>0&&(b.comments=g.comments)}catch(y){throw y instanceof RangeError?new Error("Could not allocate enough memory for the image. Required: "+E):y instanceof ReferenceError&&y.message==="Buffer is not defined"?new Error("Buffer is not globally defined in this environment. Consider setting useTArray to true"):y}return g.copyToImageData(b,p.formatAsRGBA),b}}),HF=Ge((r,e)=>{var i=LF(),a=PF();e.exports={encode:i,decode:a}}),h0={};BF(h0,{Bitmap:()=>xa,Context:()=>m0,debug_list_of_fonts:()=>ZF,decodeJPEGFromStream:()=>cT,decodePNGFromStream:()=>AT,encodeJPEGToStream:()=>lT,encodePNGToStream:()=>oT,make:()=>aT,measureText:()=>Gl,processTextPath:()=>kl,registerFont:()=>_F});C0.exports=EF(h0);var Ml=(r=>(r[r.transparent=0]="transparent",r[r.aliceblue=4042850303]="aliceblue",r[r.antiquewhite=4209760255]="antiquewhite",r[r.aqua=16777215]="aqua",r[r.aquamarine=2147472639]="aquamarine",r[r.azure=4043309055]="azure",r[r.beige=4126530815]="beige",r[r.bisque=4293182719]="bisque",r[r.black=255]="black",r[r.blanchedalmond=4293643775]="blanchedalmond",r[r.blue=65535]="blue",r[r.blueviolet=2318131967]="blueviolet",r[r.brown=2771004159]="brown",r[r.burlywood=3736635391]="burlywood",r[r.cadetblue=1604231423]="cadetblue",r[r.chartreuse=2147418367]="chartreuse",r[r.chocolate=3530104575]="chocolate",r[r.coral=4286533887]="coral",r[r.cornflowerblue=1687547391]="cornflowerblue",r[r.cornsilk=4294499583]="cornsilk",r[r.crimson=3692313855]="crimson",r[r.cyan=16777215]="cyan",r[r.darkblue=35839]="darkblue",r[r.darkcyan=9145343]="darkcyan",r[r.darkgoldenrod=3095792639]="darkgoldenrod",r[r.darkgray=2846468607]="darkgray",r[r.darkgreen=6553855]="darkgreen",r[r.darkgrey=2846468607]="darkgrey",r[r.darkkhaki=3182914559]="darkkhaki",r[r.darkmagenta=2332068863]="darkmagenta",r[r.darkolivegreen=1433087999]="darkolivegreen",r[r.darkorange=4287365375]="darkorange",r[r.darkorchid=2570243327]="darkorchid",r[r.darkred=2332033279]="darkred",r[r.darksalmon=3918953215]="darksalmon",r[r.darkseagreen=2411499519]="darkseagreen",r[r.darkslateblue=1211993087]="darkslateblue",r[r.darkslategray=793726975]="darkslategray",r[r.darkslategrey=793726975]="darkslategrey",r[r.darkturquoise=13554175]="darkturquoise",r[r.darkviolet=2483082239]="darkviolet",r[r.deeppink=4279538687]="deeppink",r[r.deepskyblue=12582911]="deepskyblue",r[r.dimgray=1768516095]="dimgray",r[r.dimgrey=1768516095]="dimgrey",r[r.dodgerblue=512819199]="dodgerblue",r[r.firebrick=2988581631]="firebrick",r[r.floralwhite=4294635775]="floralwhite",r[r.forestgreen=579543807]="forestgreen",r[r.fuchsia=4278255615]="fuchsia",r[r.gainsboro=3705462015]="gainsboro",r[r.ghostwhite=4177068031]="ghostwhite",r[r.gold=4292280575]="gold",r[r.goldenrod=3668254975]="goldenrod",r[r.gray=2155905279]="gray",r[r.green=8388863]="green",r[r.greenyellow=2919182335]="greenyellow",r[r.grey=2155905279]="grey",r[r.honeydew=4043305215]="honeydew",r[r.hotpink=4285117695]="hotpink",r[r.indianred=3445382399]="indianred",r[r.indigo=1258324735]="indigo",r[r.ivory=4294963455]="ivory",r[r.khaki=4041641215]="khaki",r[r.lavender=3873897215]="lavender",r[r.lavenderblush=4293981695]="lavenderblush",r[r.lawngreen=2096890111]="lawngreen",r[r.lemonchiffon=4294626815]="lemonchiffon",r[r.lightblue=2916673279]="lightblue",r[r.lightcoral=4034953471]="lightcoral",r[r.lightcyan=3774873599]="lightcyan",r[r.lightgoldenrodyellow=4210742015]="lightgoldenrodyellow",r[r.lightgray=3553874943]="lightgray",r[r.lightgreen=2431553791]="lightgreen",r[r.lightgrey=3553874943]="lightgrey",r[r.lightpink=4290167295]="lightpink",r[r.lightsalmon=4288707327]="lightsalmon",r[r.lightseagreen=548580095]="lightseagreen",r[r.lightskyblue=2278488831]="lightskyblue",r[r.lightslategray=2005441023]="lightslategray",r[r.lightslategrey=2005441023]="lightslategrey",r[r.lightsteelblue=2965692159]="lightsteelblue",r[r.lightyellow=4294959359]="lightyellow",r[r.lime=16711935]="lime",r[r.limegreen=852308735]="limegreen",r[r.linen=4210091775]="linen",r[r.magenta=4278255615]="magenta",r[r.maroon=2147483903]="maroon",r[r.mediumaquamarine=1724754687]="mediumaquamarine",r[r.mediumblue=52735]="mediumblue",r[r.mediumorchid=3126187007]="mediumorchid",r[r.mediumpurple=2473647103]="mediumpurple",r[r.mediumseagreen=1018393087]="mediumseagreen",r[r.mediumslateblue=2070474495]="mediumslateblue",r[r.mediumspringgreen=16423679]="mediumspringgreen",r[r.mediumturquoise=1221709055]="mediumturquoise",r[r.mediumvioletred=3340076543]="mediumvioletred",r[r.midnightblue=421097727]="midnightblue",r[r.mintcream=4127193855]="mintcream",r[r.mistyrose=4293190143]="mistyrose",r[r.moccasin=4293178879]="moccasin",r[r.navajowhite=4292783615]="navajowhite",r[r.navy=33023]="navy",r[r.oldlace=4260751103]="oldlace",r[r.olive=2155872511]="olive",r[r.olivedrab=1804477439]="olivedrab",r[r.orange=4289003775]="orange",r[r.orangered=4282712319]="orangered",r[r.orchid=3664828159]="orchid",r[r.palegoldenrod=4008225535]="palegoldenrod",r[r.palegreen=2566625535]="palegreen",r[r.paleturquoise=2951671551]="paleturquoise",r[r.palevioletred=3681588223]="palevioletred",r[r.papayawhip=4293907967]="papayawhip",r[r.peachpuff=4292524543]="peachpuff",r[r.peru=3448061951]="peru",r[r.pink=4290825215]="pink",r[r.plum=3718307327]="plum",r[r.powderblue=2967529215]="powderblue",r[r.purple=2147516671]="purple",r[r.rebeccapurple=1714657791]="rebeccapurple",r[r.red=4278190335]="red",r[r.rosybrown=3163525119]="rosybrown",r[r.royalblue=1097458175]="royalblue",r[r.saddlebrown=2336560127]="saddlebrown",r[r.salmon=4202722047]="salmon",r[r.sandybrown=4104413439]="sandybrown",r[r.seagreen=780883967]="seagreen",r[r.seashell=4294307583]="seashell",r[r.sienna=2689740287]="sienna",r[r.silver=3233857791]="silver",r[r.skyblue=2278484991]="skyblue",r[r.slateblue=1784335871]="slateblue",r[r.slategray=1887473919]="slategray",r[r.slategrey=1887473919]="slategrey",r[r.snow=4294638335]="snow",r[r.springgreen=16744447]="springgreen",r[r.steelblue=1182971135]="steelblue",r[r.tan=3535047935]="tan",r[r.teal=8421631]="teal",r[r.thistle=3636451583]="thistle",r[r.tomato=4284696575]="tomato",r[r.turquoise=1088475391]="turquoise",r[r.violet=4001558271]="violet",r[r.wheat=4125012991]="wheat",r[r.white=4294967295]="white",r[r.whitesmoke=4126537215]="whitesmoke",r[r.yellow=4294902015]="yellow",r[r.yellowgreen=2597139199]="yellowgreen",r))(Ml||{}),un=function(r,e,i,a){return(r<<24|e<<16|i<<8|a)>>>0},Ea=function(r,e){return r>>>8*(3-e)&255},ln=function(r){return[Ea(r,0),Ea(r,1),Ea(r,2),Ea(r,3)]},wa=function(r){return r>>>0},oi=function(r,...e){let i=r;for(let a=0;a<e.length;a+=1)i=i|e[a];return i>>>0},ya=function(r,...e){let i=r;for(let a=0;a<e.length;a+=1)i=i&e[a];return i>>>0},Fl=function(r,e){return r<<e>>>0};function Rl(r,e,i){return r<e?e:r>i?i:r}var WF=function(r,e,i){return r+(e-r)*i};function Ul(r){if(!r)return 0;if(r.indexOf("#")===0){if(r.length===4){let e=parseInt(r[1],16),i=e<<4|e,a=parseInt(r[2],16),A=a<<4|a,l=parseInt(r[3],16),u=l<<4|l,p=wa(i<<16|A<<8|u);return p=Fl(p,8),oi(p,255)}else if(r.length===5){let e=parseInt(r[1],16),i=e<<4|e,a=parseInt(r[2],16),A=a<<4|a,l=parseInt(r[3],16),u=l<<4|l,p=parseInt(r[4],16),f=p<<4|p,g=wa(i<<16|A<<8|u);return g=Fl(g,8),oi(g,f)}else if(r.length===7){let e=wa(parseInt(r.substring(1),16));return e=Fl(e,8),oi(e,255)}else if(r.length===9)return wa(parseInt(r.substring(1),16))}if(r.indexOf("rgba")===0){let e=r.trim().substring(4).replace("(","").replace(")","").split(",");return un(parseInt(e[0]),parseInt(e[1]),parseInt(e[2]),Math.floor(parseFloat(e[3])*255))}if(r.indexOf("rgb")===0){let e=r.trim().substring(3).replace("(","").replace(")","").split(",");return un(parseInt(e[0]),parseInt(e[1]),parseInt(e[2]),255)}if(Ai.call(Ml,r))return Ml[r];throw new Error("unknown style format: "+r)}var Ai=Object.hasOwnProperty;function JF(r,e=Uint8Array){let i=r.reduce((l,u)=>l+u.length,0);if(!r.length)return null;let a=new e(i),A=0;for(let l of r)a.set(l,A),A+=l.length;return a}var Tl=class{constructor(...r){if(r.length===4){this.start={},this.end={},[this.start.x,this.start.y,this.end.x,this.end.y]=r;for(let e in r)if(Ai.call(r,e)&&typeof r[e]!="number")throw TypeError("When passing 4 arguments, only numbers may be passed")}else if(r.length===2)[this.start,this.end]=r;else throw Error("Please pass either two Point objects, or 4 integers to the constructor")}getLength(){return Math.sqrt(Math.pow(this.start.x-this.end.x,2)+Math.pow(this.start.y-this.end.y,2))}is_invalid(){return!!(Number.isNaN(this.start.x)||Number.isNaN(this.end.x)||Number.isNaN(this.start.y)||Number.isNaN(this.end.y)||this.start.x>Number.MAX_SAFE_INTEGER||this.start.y>Number.MAX_SAFE_INTEGER||this.end.x>Number.MAX_SAFE_INTEGER||this.end.y>Number.MAX_SAFE_INTEGER)}},lt=class Wr{constructor(e,i){this.x=e,this.y=i}clone(){return new Wr(this.x,this.y)}distance(e){return Math.sqrt(Math.pow(e.x-this.x,2)+Math.pow(e.y-this.y,2))}add(e){return new Wr(this.x+e.x,this.y+e.y)}subtract(e){return new Wr(this.x-e.x,this.y-e.y)}magnitude(){return Math.sqrt(this.dotProduct(this))}dotProduct(e){return this.x*e.x+this.y*e.y}divide(e){return new Wr(this.x/e,this.y/e)}floor(){return new Wr(Math.floor(this.x),Math.floor(this.y))}round(){return new Wr(Math.round(this.x),Math.round(this.y))}unit(){return this.divide(this.magnitude())}rotate(e){return new Wr(Math.cos(e)*this.x-Math.sin(e)*this.y,Math.sin(e)*this.x+Math.cos(e)*this.y)}scale(e){return new Wr(this.x*e,this.y*e)}equals(e){return this.x===e.x&&this.y===e.y}},Gm=r=>Math.PI/180*r;function VF(r){let e=Number.POSITIVE_INFINITY,i=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY,A=Number.NEGATIVE_INFINITY;return r.forEach(l=>{e=Math.min(e,l.x),i=Math.min(i,l.y),a=Math.max(a,l.x),A=Math.max(A,l.y)}),new Nl(e,i,a,A)}var Nl=class p0{constructor(e,i,a,A){this.x1=e,this.y1=i,this.x2=a,this.y2=A}contains(e){return!(e.x<this.x1||e.x>=this.x2||e.y<this.y1||e.y>=this.y2)}intersect(e){let i=Math.max(this.x1,e.x1),a=Math.max(this.y1,e.y1),A=Math.min(this.x2,e.x2),l=Math.min(this.y2,e.y2);return new p0(i,a,A,l)}},Lm=Ol(FF(),1),cn={},jF=class{constructor(r,e,i,a,A){this.binary=r,this.family=e,this.weight=i,this.style=a,this.variant=A,this.loaded=!1,this.font=null}_load(r){if(this.loaded){r&&r();return}let e=function(i,a){if(i)throw new Error("Could not load font: "+i);this.loaded=!0,this.font=a,r&&r()}.bind(this);Lm.load(this.binary,e)}loadSync(){if(this.loaded)return this;try{return this.font=Lm.loadSync(this.binary),this.loaded=!0,this}catch(r){throw new Error("Could not load font: "+r)}}load(){return this.loadPromise()}loadPromise(){return new Promise((r,e)=>{this._load(()=>r())})}};function _F(r,e,i,a,A){return cn[e]=new jF(r,e,i,a,A),cn[e]}var ZF=cn;function f0(r){return cn[r]||(r=Object.keys(cn)[0]),cn[r]}function kl(r,e,i,a,A,l,u){let p=f0(r._font.family);if(!p){console.warn("Font missing",r._font);return}let f=Gl(r,e);(l==="end"||l==="right")&&(i=i-f.width),l==="center"&&(i=i-f.width/2),u==="top"&&(a=a+f.emHeightAscent),u==="middle"&&(a=a+f.emHeightAscent/2+f.emHeightDescent/2),u==="bottom"&&(a=a+f.emHeightDescent);let g=r._font.size;if(!p.loaded){console.warn("font not loaded yet",r._font);return}let m=p.font.getPath(e,i,a,g);r.beginPath(),m.commands.forEach(function(E){switch(E.type){case"M":r.moveTo(E.x,E.y);break;case"Q":r.quadraticCurveTo(E.x1,E.y1,E.x,E.y);break;case"L":r.lineTo(E.x,E.y);break;case"C":r.bezierCurveTo(E.x1,E.y1,E.x2,E.y2,E.x,E.y);break;case"Z":{r.closePath(),A?r.fill():r.stroke(),r.beginPath();break}}})}function Gl(r,e){let i=f0(r._font.family);if(!i)return console.warn("WARNING. Can't find font family ",r._font),{width:10,emHeightAscent:8,emHeightDescent:2};if(!i.font)return console.warn("WARNING. Can't find font family ",r._font),{width:10,emHeightAscent:8,emHeightDescent:2};let a=r._font.size,A=i.font.stringToGlyphs(e),l=0;return A.forEach(function(u){l+=u.advanceWidth}),{width:l/i.font.unitsPerEm*a,emHeightAscent:i.font.ascender/i.font.unitsPerEm*a,emHeightDescent:i.font.descender/i.font.unitsPerEm*a}}var Ii=class{constructor(){this.stops=[]}addColorStop(r,e){let i=Ul(""+e);this.stops.push({t:r,color:i})}_lerpStops(r){r<0&&(r+=1),r>1&&(r-=1);let e=this.stops.slice().reverse().find(f=>f.t<=r),i=this.stops.find(f=>f.t>r);i||(i=this.stops.at(-1));let a=d0(r,e.t,i.t,0,1),A=f=>ln(f).map(g=>g/255),l=A(e.color),u=A(i.color),p=l.map((f,g)=>WF(f,u[g],a));return(f=>{let g=f.map(m=>m*255);return un(g[0],g[1],g[2],255)})(p)}},zF=class extends Ii{constructor(r,e,i,a){super(),this.start=new lt(r,e),this.end=new lt(i,a)}colorAt(r,e){let i=new lt(r,e),a=this.end.subtract(this.start),A=a.magnitude();a=a.divide(A);let l=i.subtract(this.start).dotProduct(a);return l=Rl(l/A,0,1),this._lerpStops(l)}},XF=class extends Ii{constructor(r,e,i,a){super(),this.start=new lt(r,e)}colorAt(r,e){let i=new lt(r,e).distance(this.start),a=Rl(i/10,0,1);return this._lerpStops(a)}};function d0(r,e,i,a,A){return(r-e)/(i-e)*(A-a)+a}var qF=class extends Ii{constructor(r,e,i){super(),this.angle=r,this.start=new lt(e,i)}colorAt(r,e){let i=this.start.subtract(new lt(r,e)),a=Math.atan2(i.y,i.x)-this.angle,A=d0(a,-Math.PI,Math.PI,0,1);return this._lerpStops(A)}},Pm=[1,0,0,1,0,0],KF=class g0{constructor(e){this.context=e,this.matrix=[1,0,0,1,0,0],this.stack=[]}getMatrix(){return this.matrix}setMatrix(e){this.matrix=[e[0],e[1],e[2],e[3],e[4],e[5]],this.setTransform()}cloneMatrix(e){return[e[0],e[1],e[2],e[3],e[4],e[5]]}cloneTransform(){let e=new g0;return e.setMatrix(this.getMatrix()),e}identity(){this.matrix=Pm,this.setTransform()}isIdentity(){for(let e=0;e<this.matrix.length;e++)if(this.matrix[e]!==Pm[e])return!1;return!0}fromDomMatrix(e){return[e.a,e.b,e.c,e.d,e.e,e.f]}asDomMatrix(){return{is2D:!0,isIdentity:!1,a:this.matrix[0],b:this.matrix[1],c:this.matrix[2],d:this.matrix[3],e:this.matrix[4]}}multiply(e){let i=this.matrix[0]*e[0]+this.matrix[2]*e[1],a=this.matrix[1]*e[0]+this.matrix[3]*e[1],A=this.matrix[0]*e[2]+this.matrix[2]*e[3],l=this.matrix[1]*e[2]+this.matrix[3]*e[3],u=this.matrix[0]*e[4]+this.matrix[2]*e[5]+this.matrix[4],p=this.matrix[1]*e[4]+this.matrix[3]*e[5]+this.matrix[5];this.matrix[0]=i,this.matrix[1]=a,this.matrix[2]=A,this.matrix[3]=l,this.matrix[4]=u,this.matrix[5]=p,this.setTransform()}invert(){let e=1/(this.matrix[0]*this.matrix[3]-this.matrix[1]*this.matrix[2]),i=this.matrix[3]*e,a=-this.matrix[1]*e,A=-this.matrix[2]*e,l=this.matrix[0]*e,u=e*(this.matrix[2]*this.matrix[5]-this.matrix[3]*this.matrix[4]),p=e*(this.matrix[1]*this.matrix[4]-this.matrix[0]*this.matrix[5]);this.matrix[0]=i,this.matrix[1]=a,this.matrix[2]=A,this.matrix[3]=l,this.matrix[4]=u,this.matrix[5]=p,this.setTransform()}save(){let e=this.cloneMatrix(this.getMatrix());this.stack.push(e),this.context&&this.context.save()}restore(){if(this.stack.length>0){let e=this.stack.pop();this.setMatrix(e)}this.context&&this.context.restore()}setTransform(){this.context}translate(e,i){this.matrix[4]+=this.matrix[0]*e+this.matrix[2]*i,this.matrix[5]+=this.matrix[1]*e+this.matrix[3]*i,this.setTransform()}rotate(e){let i=Math.cos(e),a=Math.sin(e),A=this.matrix[0]*i+this.matrix[2]*a,l=this.matrix[1]*i+this.matrix[3]*a,u=this.matrix[0]*-a+this.matrix[2]*i,p=this.matrix[1]*-a+this.matrix[3]*i;this.matrix[0]=A,this.matrix[1]=l,this.matrix[2]=u,this.matrix[3]=p,this.setTransform()}scale(e,i){this.matrix[0]*=e,this.matrix[1]*=e,this.matrix[2]*=i,this.matrix[3]*=i,this.setTransform()}transformPoint(e){let i=e.x,a=e.y;return new lt(i*this.matrix[0]+a*this.matrix[2]+this.matrix[4],i*this.matrix[1]+a*this.matrix[3]+this.matrix[5])}},m0=class{constructor(r){this._bitmap=r,this._fillColor=255,this._strokeColor=255,this._lineWidth=1,this._globalAlpha=1,this._transform=new KF,this._font={family:"invalid",size:12},this.textAlign="start",this.textBaseline="alphabetic",this.imageSmoothingEnabled=!0,this._clip=null,this._fillStyle_text="",this._strokeStyle_text="",this.states=[]}get canvas(){return this._bitmap}get lineWidth(){return this._lineWidth}set lineWidth(r){this._lineWidth=r}get globalAlpha(){return this._globalAlpha}set globalAlpha(r){this._globalAlpha=Rl(r,0,1)}get font(){return`${this._font.size} ${this._font.family}`}set font(r){let e=r.trim().indexOf(" ");this._font.size=parseInt(r.slice(0,e)),this._font.family=r.slice(e).trim()}get fillStyle(){return this._fillStyle_text}set fillStyle(r){r instanceof Ii?this._fillColor=r:(this._fillColor=Ul(r),this._fillStyle_text=r)}get strokeStyle(){return this._strokeStyle_text}set strokeStyle(r){r instanceof Ii?this._strokeStyle_text=r.toString():(this._strokeColor=Ul(r),this._strokeStyle_text=r)}createLinearGradient(r,e,i,a){return new zF(r,e,i,a)}createRadialGradient(r,e){return new XF(r,e)}createConicGradient(r,e,i){return new qF(r,e,i)}save(){this.states.push({_clip:this._clip}),this._transform.save()}translate(r,e){this._transform.translate(r,e)}rotate(r){this._transform.rotate(r)}scale(r,e){this._transform.scale(r,e)}transform(...r){let e=[...r];this._transform.multiply(e)}setTransform(...r){if(this._transform.identity(),r[0].is2D){let e=this._transform.fromDomMatrix(r[0]);this._transform.multiply(e)}else this._transform.multiply([...r])}getTransform(){return this._transform.asDomMatrix()}restore(){this._transform.restore();let r=this.states.pop();r&&(this._clip=r._clip)}fillRect(r,e,i,a){if(this._transform.isIdentity()){if(typeof this._fillColor=="number"&&ln(this._fillColor)[3]===255){for(let A=r;A<r+i;A++)for(let l=e;l<e+a;l++)this.pixelInsideClip(A,l)&&this._bitmap._isValidCoords(A,l)&&this._bitmap.setPixelRGBA(A,l,this._fillColor);return}for(let A=r;A<r+i;A++)for(let l=e;l<e+a;l++)this.fillPixelWithColor(A,l,this.calculateRGBA(A,l))}else{let A=this.path,l=this._closed;this.beginPath(),this.rect(r-1e-4,e-1e-4,i,a),this.closePath(),this.fill(),this.path=A,this._closed=l}}clearRect(r,e,i,a){for(let A=r;A<r+i;A++)for(let l=e;l<e+a;l++)this._bitmap._isValidCoords(r,e)&&this._bitmap.setPixelRGBA(A,l,0)}strokeRect(r,e,i,a){for(let A=r;A<r+i;A++)this.fillPixelWithColor(A,e,this.calculateRGBA_stroke(A,e)),this.fillPixelWithColor(A,e+a,this.calculateRGBA_stroke(A,e+a));for(let A=e;A<e+a;A++)this.fillPixelWithColor(r,A,this.calculateRGBA_stroke(r,A)),this.fillPixelWithColor(r+i,A,this.calculateRGBA_stroke(r+i,A))}strokePixel(r,e){if(!this.pixelInsideClip(r,e))return;let i=this.calculateRGBA_stroke(r,e),a=this._bitmap.getPixelRGBA(r,e),A=this.composite(a,i);this._bitmap.setPixelRGBA(r,e,A)}fillPixelWithColor(r,e,i){if(!this.pixelInsideClip(r,e)||!this._bitmap._isValidCoords(r,e))return;let a=i,A=this._bitmap.getPixelRGBA(r,e),l=this.composite(A,a);this._bitmap.setPixelRGBA(r,e,l)}composite(r,e){let i=ln(r),a=ln(e),A=a.map(f=>f/255),l=i.map(f=>f/255);A[3]=A[3]*this._globalAlpha;function u(f,g,m,E){return(f*m+g*E*(1-m))/(m+E*(1-m))}let p=A.slice(0,3).map((f,g)=>u(A[g],l[g],A[3],l[3])).map(f=>f*255);return un(p[0],p[1],p[2],Math.max(i[3],a[3]))}calculateRGBA(r,e){return this._fillColor instanceof Ii?this._fillColor.colorAt(r,e):this._fillColor}calculateRGBA_stroke(r,e){return this._strokeColor instanceof Ii?this._strokeColor.colorAt(r,e):this._strokeColor}getImageData(r,e,i,a){return this._bitmap._copySubBitmap(r,e,i,a)}putImageData(r,e,i){this._bitmap._pasteSubBitmap(r,e,i)}drawImage(r,e,i,a,A,l,u,p,f){if(typeof a>"u")return this.drawImage(r,0,0,r.width,r.height,e,i,r.width,r.height);if(typeof l>"u")return this.drawImage(r,0,0,r.width,r.height,e,i,a,A);let g=new Nl(e,i,e+a,i+A),m=[new lt(l,u),new lt(l+p,u),new lt(l+p,u+f),new lt(l,u+f)];m=m.map(v=>this._transform.transformPoint(v));let E=VF(m),b=new Nl(0,0,this._bitmap.width,this._bitmap.height);E=E.intersect(b);let y=this._transform.cloneTransform();y.invert();function Q(v,I,F,N,_){return(v-I)/(F-I)*(_-N)+N}for(let v=E.x1;v<E.x2;v++)for(let I=E.y1;I<E.y2;I++){let F=new lt(v,I),N=y.transformPoint(F).round();if(N=new lt(Q(N.x,l,l+p,e,e+a),Q(N.y,u,u+f,i,i+A)),g.contains(N)&&this.pixelInsideClip(F.x,F.y)&&this._bitmap._isValidCoords(F.x,F.y)){let _=r.getPixelRGBA(N.x,N.y),M=this._bitmap.getPixelRGBA(F.x,F.y),O=this.composite(M,_);this._bitmap.setPixelRGBA(F.x,F.y,O)}}}beginPath(){this.path=[],this._closed=!1}moveTo(r,e){return this._moveTo(new lt(r,e))}_moveTo(r){r=this._transform.transformPoint(r),this.pathstart=r,this.path.push(["m",r])}lineTo(r,e){return this._lineTo(new lt(r,e))}_lineTo(r){this.path.push(["l",this._transform.transformPoint(r)])}quadraticCurveTo(r,e,i,a){let A=this._transform.transformPoint(new lt(r,e)),l=this._transform.transformPoint(new lt(i,a));this.path.push(["q",A,l])}bezierCurveTo(r,e,i,a,A,l){this._bezierCurveTo(new lt(r,e),new lt(i,a),new lt(A,l))}_bezierCurveTo(r,e,i){r=this._transform.transformPoint(r),e=this._transform.transformPoint(e),i=this._transform.transformPoint(i),this.path.push(["b",r,e,i])}arc(r,e,i,a,A,l){function u(f){let g=r+Math.cos(f)*i,m=e+Math.sin(f)*i;return new lt(g,m)}a>A&&(A+=Math.PI*2);let p=Math.PI/16;if(l){let f=A;A=a+Math.PI*2,a=f}this._moveTo(u(a));for(let f=a;f<=A;f+=p)this._lineTo(u(f));this._lineTo(u(A))}arcTo(){throw new Error("arcTo not yet supported")}rect(r,e,i,a){this.moveTo(r,e),this.lineTo(r+i,e),this.lineTo(r+i,e+a),this.lineTo(r,e+a),this.lineTo(r,e)}roundRect(r,e,i,a,A){let l={bl:0,br:0,tr:0,tl:0};typeof A>"u"&&(l={bl:0,br:0,tr:0,tl:0}),typeof A=="number"&&(l={tl:A,tr:A,br:A,bl:A}),Array.isArray(A)&&(A.length===0&&(l={bl:0,br:0,tr:0,tl:0}),A.length===1&&(l={tl:A[0],tr:A[0],br:A[0],bl:A[0]}),A.length===2&&(l={tl:A[0],tr:A[1],br:A[0],bl:A[1]}),A.length===3&&(l={tl:A[0],tr:A[1],br:A[2],bl:A[1]}),A.length===4&&(l={tl:A[0],tr:A[1],br:A[2],bl:A[3]})),this.moveTo(r+l.tl,e),this.lineTo(r+i-l.tr,e),this.quadraticCurveTo(r+i,e,r+i,e+l.tr),this.lineTo(r+i,e+a-l.br),this.quadraticCurveTo(r+i,e+a,r+i-l.br,e+a),this.lineTo(r+l.bl,e+a),this.quadraticCurveTo(r,e+a,r,e+a-l.bl),this.lineTo(r,e+l.tl),this.quadraticCurveTo(r,e,r+l.tl,e),this.lineTo(r+l.tl,e)}ellipse(){throw new Error("ellipse not yet supported")}clip(){this._clip=An(this.path)}measureText(r){return Gl(this,r)}closePath(){if(!this._closed){if(!this.pathstart){console.warn("missing path start");let r=this.path[0];r[0]==="l"&&(this.pathstart=r[1])}this.path.push(["l",this.pathstart]),this._closed=!0}}stroke(){let r=$F(this.path),e=eT(r,this.lineWidth/2),i=An(e),a=this.fillStyle;if(this.fillStyle=this.strokeStyle,this.imageSmoothingEnabled?this.fill_aa(i):this.fill_noaa(i),this.fillStyle=a,this.debug){this.save();let A=this.strokeStyle,l=this.lineWidth;this.strokeStyle="red",this.lineWidth=1,console.log("path is",this.path),An(this.path).forEach(u=>this.drawLine(u)),console.log("flat path is",r),An(r).forEach(u=>this.drawLine(u)),console.log("stroke path is",e),An(e).forEach(u=>this.drawLine(u)),console.log("final lines are",i),this.strokeStyle=A,this.lineWidth=l,this.restore()}}drawLine(r){if(r.is_invalid())return console.error("cannot draw line",r);this.imageSmoothingEnabled?this.drawLine_aa(r):this.drawLine_noaa(r)}drawLine_noaa(r){let e=Math.floor(r.start.x),i=Math.floor(r.start.y),a=Math.floor(r.end.x),A=Math.floor(r.end.y),l=Math.abs(a-e),u=e<a?1:-1,p=Math.abs(A-i),f=i<A?1:-1,g=(l>p?l:-p)/2;for(;this.strokePixel(e,i),!(e===a&&i===A);){let m=g;m>-l&&(g-=p,e+=u),m<p&&(g+=l,i+=f)}}drawLine_aa(r){let e=this._lineWidth,i=Math.floor(r.start.x),a=Math.floor(r.start.y),A=Math.floor(r.end.x),l=Math.floor(r.end.y),u=Math.abs(A-i),p=i<A?1:-1,f=Math.abs(l-a),g=a<l?1:-1,m=u-f,E,b,y,Q=u+f===0?1:Math.sqrt(u*u+f*f),v=ya(this.calculateRGBA_stroke(i,a),4294967040),I=ya(this.calculateRGBA_stroke(i,a),255);for(e=(e+1)/2;;){let F=255-~~Math.max(0,255*(Math.abs(m-u+f)/Q-e+1)),N=oi(v,I*F/255);if(this.fillPixelWithColor(i,a,N),E=m,b=i,2*E>=-u){for(E+=f,y=a;E<Q*e&&(l!==y||u>f);E+=u){let _=255-~~Math.max(0,255*(Math.abs(E)/Q-e+1)),M=oi(v,I*_/255);this.fillPixelWithColor(i,y+=g,M)}if(i===A)break;E=m,m-=f,i+=p}if(2*E<=f){for(E=u-E;E<Q*e&&(A!==b||u<f);E+=f){let _=255-~~Math.max(0,255*(Math.abs(E)/Q-e+1)),M=oi(v,I*_/255);this.fillPixelWithColor(b+=p,a,M)}if(a===l)break;m+=u,a+=g}}}fill(){this._closed||this.closePath();let r=An(this.path);this.imageSmoothingEnabled?this.fill_aa(r):this.fill_noaa(r)}fill_aa(r){let e=Wm(r),i=Math.min(e.y2+1,this._bitmap.height),a=Math.max(e.y-1,0);for(let A=i;A>=a;A--){let l=Sl(r,A);for(let u=0;u<l.length;u+=2){let p=Hm(l[u]),f=Hm(l[u+1]),g=Math.floor(l[u]),m=Math.floor(l[u+1]);for(let E=g;E<=m;E++){let b=ya(this.calculateRGBA(E,A),4294967040),y=ya(this.calculateRGBA(E,A),255),Q=this.calculateRGBA(E,A);if(E===g){let v=oi(b,(1-p)*y);this.fillPixelWithColor(E,A,v);continue}if(E===m){let v=oi(b,f*y);this.fillPixelWithColor(E,A,v);continue}this.fillPixelWithColor(E,A,Q)}}}}fill_noaa(r){let e=Wm(r),i=Math.min(e.y2+1,this._bitmap.height),a=Math.max(e.y-1,0);for(let A=i;A>=a;A--){let l=Sl(r,A);for(let u=0;u<l.length;u+=2){let p=Math.floor(l[u]),f=Math.floor(l[u+1]);for(let g=p;g<=f;g++){let m=this.calculateRGBA(g,A);if(g===p){this.fillPixelWithColor(g,A,m);continue}if(g===f){this.fillPixelWithColor(g,A,m);continue}this.fillPixelWithColor(g,A,m)}}}}pixelInsideClip(r,e){return this._clip?Sl(this._clip,e).filter(i=>i<r).length%2!==0:!0}fillText(r,e,i){kl(this,r,e,i,!0,this.textAlign,this.textBaseline)}strokeText(r,e,i){kl(this,r,e,i,!1,this.textAlign,this.textBaseline)}};function Hm(r){return r-Math.floor(r)}function An(r){let e=[],i=null;return r.forEach(function(a){if(a[0]==="m"&&(i=a[1]),a[0]==="l"){let A=a[1];e.push(new Tl(i,A)),i=A}if(a[0]==="q"){let A=[i,a[1],a[2]];for(let l=0;l<1;l+=.1){let u=rT(A,l);e.push(new Tl(i,u)),i=u}}if(a[0]==="b"){let A=[i,a[1],a[2],a[3]];B0(A,10).forEach(l=>{e.push(new Tl(i,l)),i=l})}}),e}function $F(r){let e=[],i=null;return r.forEach(a=>{if(a[0]==="m"){i=a[1],e.push(["m",new lt(i.x,i.y)]);return}if(a[0]==="l"){i=a[1],e.push(["l",new lt(i.x,i.y)]);return}if(a[0]==="b"){let A=[i,a[1],a[2],a[3]],l=B0(A,10);for(let u=1;u<l.length;u+=2)e.push(["l",new lt(l[u].x,l[u].y)]);i=a[3]}}),e}function eT(r,e){let i=[],a=[];r.forEach(u=>{u[0]==="m"&&(a.length>0&&i.push(a),a=[]),a.push(u)}),a.length>0&&i.push(a),i.forEach(u=>{u[0][0]!=="m"&&console.warn("missing a starting move command!")});let A=i.map(u=>tT(u,e)),l=[];return A.forEach(u=>u.forEach(p=>l.push(p))),l}function tT(r,e){let i=null,a=[],A=[],l=null;function u(m,E,b){m.equals(E)&&console.log("same points!",m,E);let y=m.subtract(E).unit(),Q=y.rotate(Gm(90)),v=y.rotate(Gm(-90));return[Q.scale(b).add(E),v.scale(b).add(E)]}let p=null;function f(m){return m<-Math.PI?m+Math.PI*2:m>+Math.PI?m-Math.PI*2:m}r.forEach(function(m,E){if(m[0]==="m"&&(i=m[1],p=m,l=i.clone(),a.push(["m",l.clone()])),m[0]==="l"){let b=i,y=m[1];if(b.equals(y))return console.warn("can't project the same paths",E,m,b,y);let Q=r[E+1];if(p[0]==="m"){let R=u(y,b,e);a.push(["l",R[1]]),A.push(["l",R[0]])}if(p=m,!Q){let R=u(b,y,e);a.push(["l",R[0]]),A.push(["l",R[1]]);return}let v=Q[1];if(v.equals(y))return console.warn("can't project the same paths",E,m,b,y);let I=b.subtract(y),F=v.subtract(y),N=Math.atan2(I.y,I.x),_=Math.atan2(F.y,F.x),M=f(_-N),O=u(b,y,e),P=u(v,y,e);if(M<0){a.push(["l",O[0]]),a.push(["l",P[1]]);let R=e/Math.cos((Math.PI+M)/2),re=b.subtract(y).unit().rotate(M/2).scale(R).add(y);A.push(["l",re])}else{let R=e/Math.cos(-(Math.PI-M)/2);R>10&&(R=10);let re=v.subtract(y).unit().rotate(-M/2).scale(R).add(y);a.push(["l",re]),A.push(["l",O[1]]),A.push(["l",P[0]])}i=y}}),A.reverse();let g=[].concat(a).concat(A);return g.push(["l",l]),g}function rT(r,e){let i=(1-e)*(1-e)*r[0].x+2*(1-e)*e*r[1].x+e*e*r[2].x,a=(1-e)*(1-e)*r[0].y+2*(1-e)*e*r[1].y+e*e*r[2].y;return new lt(i,a)}function B0(r,e){function i(a){if(nT(a)<e)return[a[0],a[3]];let A=iT(a,.5);return i(A[0]).concat(i(A[1]))}return i(r)}function iT(r,e){let i=r[0],a=r[1],A=r[2],l=r[3],u=$n(i,a,e),p=$n(a,A,e),f=$n(l,A,e),g=$n(u,p,e),m=$n(p,f,e),E={x:(m.x-g.x)*e+g.x,y:(m.y-g.y)*e+g.y};return[[i,u,g,E],[E,m,f,l]]}function nT(r){let e=r[0],i=r[1],a=r[2],A=r[3],l=Math.pow(3*i.x-2*e.x-A.x,2),u=Math.pow(3*i.y-2*e.y-A.y,2),p=Math.pow(3*a.x-2*A.x-e.x,2),f=Math.pow(3*a.y-2*A.y-e.y,2);return l<p&&(l=p),u<f&&(u=f),l+u}function $n(r,e,i){return{x:(e.x-r.x)*i+r.x,y:(e.y-r.y)*i+r.y}}function Wm(r){let e={x:Number.MAX_VALUE,y:Number.MAX_VALUE,x2:Number.MIN_VALUE,y2:Number.MIN_VALUE};function i(a){e.x=Math.min(e.x,a.x),e.y=Math.min(e.y,a.y),e.x2=Math.max(e.x2,a.x),e.y2=Math.max(e.y2,a.y)}return r.forEach(function(a){i(a.start),i(a.end)}),e}function Sl(r,e){let i=[];for(let a=0;a<r.length;a++){let A=r[a].start,l=r[a].end;if(A.y<e&&l.y>=e||l.y<e&&A.y>=e){let u=A.x+(e-A.y)/(l.y-A.y)*(l.x-A.x);i.push(u)}}return i.sort(function(a,A){return a-A})}var xa=class E0{constructor(e,i){this.width=Math.floor(e),this.height=Math.floor(i),this.data=new Uint8Array(this.width*this.height*4);let a=255;for(let A=0;A<this.height;A++)for(let l=0;l<this.width;l++)this.setPixelRGBA(l,A,a);this._context=new m0(this)}calculateIndex(e,i){return e=Math.floor(e),i=Math.floor(i),e<0||i<0||e>=this.width||i>=this.height?0:(this.width*i+e)*4}setPixelRGBA(e,i,a){this.validate_coords(e,i);let A=this.calculateIndex(e,i),l=ln(a);this.data[A+0]=l[0],this.data[A+1]=l[1],this.data[A+2]=l[2],this.data[A+3]=l[3]}setPixelRGBA_i(e,i,a,A,l,u){let p=this.calculateIndex(e,i);this.data[p+0]=a,this.data[p+1]=A,this.data[p+2]=l,this.data[p+3]=u}getPixelRGBA(e,i){this.validate_coords(e,i);let a=this.calculateIndex(e,i);return un(this.data[a+0],this.data[a+1],this.data[a+2],this.data[a+3])}getDebugPixelRGBA(e,i){let a=this.calculateIndex(e,i),A=this.width,l=this.height,u=this.data;return console.dir({i:a,width:A,height:l,data:u}),un(this.data[a+0],this.data[a+1],this.data[a+2],this.data[a+3])}getPixelRGBA_separate(e,i){let a=this.calculateIndex(e,i);return this.data.slice(a,a+4)}getContext(e){return e==="2d"?this._context:null}_copySubBitmap(e,i,a,A){let l=new E0(a,A);for(let u=0;u<a;u++)for(let p=0;p<A;p++){let f=this.calculateIndex(e+u,i+p),g=l.calculateIndex(u,p);for(let m=0;m<4;m++)l.data[g+m]=this.data[f+m]}return l}_pasteSubBitmap(e,i,a){for(let A=0;A<e.width;A++)for(let l=0;l<e.height;l++){let u=this.calculateIndex(i+A,a+l),p=e.calculateIndex(A,l);for(let f=0;f<4;f++)this.data[u+f]=e.data[p+f]}}_isValidCoords(e,i){return!(e<0||i<0||e>=this.width||i>=this.height)}validate_coords(e,i){if(e<0)throw new Error(`Invalid Index: x ${e} <0`);if(i<0)throw new Error(`Invalid Index: y ${i} <0`);if(e>=this.width)throw new Error(`Invalid Index: x ${e} >= width ${this.width}`);if(i>=this.height)throw new Error(`Invalid Index: y ${i} >= height ${this.height}`)}},sT=Ol(GF(),1),w0=Ol(HF(),1),{PNG:y0}=sT;function aT(r,e){return new xa(r,e)}function oT(r,e,i={}){return new Promise((a,A)=>{if(!Ai.call(r,"data")||!Ai.call(r,"width")||!Ai.call(r,"height"))return A(new TypeError("Invalid bitmap image provided"));let l=new y0({width:r.width,height:r.height,deflateLevel:i.deflateLevel||9,deflateStrategy:i.deflateStrategy||3});for(let u=0;u<r.width;u++)for(let p=0;p<r.height;p++){let f=r.getPixelRGBA(u,p),g=(p*r.width+u)*4,m=ln(f);for(let E=0;E<4;E++)l.data[g+E]=m[E]}l.on("error",u=>{A(u)}).pack().pipe(e).on("finish",()=>{a()}).on("error",u=>{A(u)})})}function AT(r){return new Promise((e,i)=>{r.pipe(new y0).on("parsed",function(){let a=new xa(this.width,this.height);for(let A=0;A<a.data.length;A++)a.data[A]=this.data[A];e(a)}).on("error",function(a){i(a)})})}function lT(r,e,i=90){return new Promise((a,A)=>{if(!Ai.call(r,"data")||!Ai.call(r,"width")||!Ai.call(r,"height"))return A(new TypeError("Invalid bitmap image provided"));let l={data:r.data,width:r.width,height:r.height};e.on("error",u=>A(u)),e.write(w0.encode(l,i).data,()=>{e.end(),a()})})}function cT(r,e){return new Promise((i,a)=>{try{let A=[];r.on("data",l=>A.push(l)),r.on("end",()=>{let l=JF(A),u=null;try{u=w0.decode(l,e)}catch(f){a(f);return}let p=new xa(u.width,u.height);for(let f=0;f<u.width;f++)for(let g=0;g<u.height;g++){let m=(g*u.width+f)*4;p.setPixelRGBA_i(f,g,u.data[m+0],u.data[m+1],u.data[m+2],u.data[m+3])}i(p)}),r.on("error",l=>{a(l)})}catch(A){console.log(A),a(A)}})}});var v0=ae((Q0,Qa)=>{var x0=(()=>{var r=Object.defineProperty,e=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,A=(t,n)=>{for(var s in n)r(t,s,{get:n[s],enumerable:!0})},l=(t,n,s,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let c of i(n))!a.call(t,c)&&c!==s&&r(t,c,{get:()=>n[c],enumerable:!(o=e(n,c))||o.enumerable});return t},u=t=>l(r({},"__esModule",{value:!0}),t),p={};A(p,{BoundingBox:()=>Ee,Font:()=>fu,Glyph:()=>Ni,Path:()=>X,_parse:()=>he,load:()=>_y,loadSync:()=>Zy,parse:()=>jy});var f=0,g=-3;function m(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}function E(t,n){this.source=t,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=n,this.destLen=0,this.ltree=new m,this.dtree=new m}var b=new m,y=new m,Q=new Uint8Array(30),v=new Uint16Array(30),I=new Uint8Array(30),F=new Uint16Array(30),N=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),_=new m,M=new Uint8Array(320);function O(t,n,s,o){var c,h;for(c=0;c<s;++c)t[c]=0;for(c=0;c<30-s;++c)t[c+s]=c/s|0;for(h=o,c=0;c<30;++c)n[c]=h,h+=1<<t[c]}function P(t,n){var s;for(s=0;s<7;++s)t.table[s]=0;for(t.table[7]=24,t.table[8]=152,t.table[9]=112,s=0;s<24;++s)t.trans[s]=256+s;for(s=0;s<144;++s)t.trans[24+s]=s;for(s=0;s<8;++s)t.trans[168+s]=280+s;for(s=0;s<112;++s)t.trans[176+s]=144+s;for(s=0;s<5;++s)n.table[s]=0;for(n.table[5]=32,s=0;s<32;++s)n.trans[s]=s}var R=new Uint16Array(16);function re(t,n,s,o){var c,h;for(c=0;c<16;++c)t.table[c]=0;for(c=0;c<o;++c)t.table[n[s+c]]++;for(t.table[0]=0,h=0,c=0;c<16;++c)R[c]=h,h+=t.table[c];for(c=0;c<o;++c)n[s+c]&&(t.trans[R[n[s+c]]++]=c)}function q(t){t.bitcount--||(t.tag=t.source[t.sourceIndex++],t.bitcount=7);var n=t.tag&1;return t.tag>>>=1,n}function le(t,n,s){if(!n)return s;for(;t.bitcount<24;)t.tag|=t.source[t.sourceIndex++]<<t.bitcount,t.bitcount+=8;var o=t.tag&65535>>>16-n;return t.tag>>>=n,t.bitcount-=n,o+s}function Ae(t,n){for(;t.bitcount<24;)t.tag|=t.source[t.sourceIndex++]<<t.bitcount,t.bitcount+=8;var s=0,o=0,c=0,h=t.tag;do o=2*o+(h&1),h>>>=1,++c,s+=n.table[c],o-=n.table[c];while(o>=0);return t.tag=h,t.bitcount-=c,n.trans[s+o]}function ie(t,n,s){var o,c,h,d,B,w;for(o=le(t,5,257),c=le(t,5,1),h=le(t,4,4),d=0;d<19;++d)M[d]=0;for(d=0;d<h;++d){var x=le(t,3,0);M[N[d]]=x}for(re(_,M,0,19),B=0;B<o+c;){var C=Ae(t,_);switch(C){case 16:var S=M[B-1];for(w=le(t,2,3);w;--w)M[B++]=S;break;case 17:for(w=le(t,3,3);w;--w)M[B++]=0;break;case 18:for(w=le(t,7,11);w;--w)M[B++]=0;break;default:M[B++]=C;break}}re(n,M,0,o),re(s,M,o,c)}function se(t,n,s){for(;;){var o=Ae(t,n);if(o===256)return f;if(o<256)t.dest[t.destLen++]=o;else{var c,h,d,B;for(o-=257,c=le(t,Q[o],v[o]),h=Ae(t,s),d=t.destLen-le(t,I[h],F[h]),B=d;B<d+c;++B)t.dest[t.destLen++]=t.dest[B]}}}function ye(t){for(var n,s,o;t.bitcount>8;)t.sourceIndex--,t.bitcount-=8;if(n=t.source[t.sourceIndex+1],n=256*n+t.source[t.sourceIndex],s=t.source[t.sourceIndex+3],s=256*s+t.source[t.sourceIndex+2],n!==(~s&65535))return g;for(t.sourceIndex+=4,o=n;o;--o)t.dest[t.destLen++]=t.source[t.sourceIndex++];return t.bitcount=0,f}function pe(t,n){var s=new E(t,n),o,c,h;do{switch(o=q(s),c=le(s,2,0),c){case 0:h=ye(s);break;case 1:h=se(s,b,y);break;case 2:ie(s,s.ltree,s.dtree),h=se(s,s.ltree,s.dtree);break;default:h=g}if(h!==f)throw new Error("Data error")}while(!o);return s.destLen<s.dest.length?typeof s.dest.slice=="function"?s.dest.slice(0,s.destLen):s.dest.subarray(0,s.destLen):s.dest}P(b,y),O(Q,v,4,3),O(I,F,2,1),Q[28]=0,v[28]=258;function Pe(t,n,s,o,c){return Math.pow(1-c,3)*t+3*Math.pow(1-c,2)*c*n+3*(1-c)*Math.pow(c,2)*s+Math.pow(c,3)*o}function Be(){this.x1=Number.NaN,this.y1=Number.NaN,this.x2=Number.NaN,this.y2=Number.NaN}Be.prototype.isEmpty=function(){return isNaN(this.x1)||isNaN(this.y1)||isNaN(this.x2)||isNaN(this.y2)},Be.prototype.addPoint=function(t,n){typeof t=="number"&&((isNaN(this.x1)||isNaN(this.x2))&&(this.x1=t,this.x2=t),t<this.x1&&(this.x1=t),t>this.x2&&(this.x2=t)),typeof n=="number"&&((isNaN(this.y1)||isNaN(this.y2))&&(this.y1=n,this.y2=n),n<this.y1&&(this.y1=n),n>this.y2&&(this.y2=n))},Be.prototype.addX=function(t){this.addPoint(t,null)},Be.prototype.addY=function(t){this.addPoint(null,t)},Be.prototype.addBezier=function(t,n,s,o,c,h,d,B){let w=[t,n],x=[s,o],C=[c,h],S=[d,B];this.addPoint(t,n),this.addPoint(d,B);for(let T=0;T<=1;T++){let k=6*w[T]-12*x[T]+6*C[T],U=-3*w[T]+9*x[T]-9*C[T]+3*S[T],L=3*x[T]-3*w[T];if(U===0){if(k===0)continue;let Re=-L/k;0<Re&&Re<1&&(T===0&&this.addX(Pe(w[T],x[T],C[T],S[T],Re)),T===1&&this.addY(Pe(w[T],x[T],C[T],S[T],Re)));continue}let ee=Math.pow(k,2)-4*L*U;if(ee<0)continue;let Te=(-k+Math.sqrt(ee))/(2*U);0<Te&&Te<1&&(T===0&&this.addX(Pe(w[T],x[T],C[T],S[T],Te)),T===1&&this.addY(Pe(w[T],x[T],C[T],S[T],Te)));let xe=(-k-Math.sqrt(ee))/(2*U);0<xe&&xe<1&&(T===0&&this.addX(Pe(w[T],x[T],C[T],S[T],xe)),T===1&&this.addY(Pe(w[T],x[T],C[T],S[T],xe)))}},Be.prototype.addQuad=function(t,n,s,o,c,h){let d=t+.6666666666666666*(s-t),B=n+2/3*(o-n),w=d+1/3*(c-t),x=B+1/3*(h-n);this.addBezier(t,n,d,B,w,x,c,h)};var Ee=Be;function me(){this.commands=[],this.fill="black",this.stroke=null,this.strokeWidth=1}var Ne={};function Fe(t,n){let s=Math.floor(t),o=t-s;if(Ne[n]||(Ne[n]={}),Ne[n][o]!==void 0){let h=Ne[n][o];return s+h}let c=+(Math.round(o+"e+"+n)+"e-"+n);return Ne[n][o]=c,s+c}function W(t){let n=[[]],s=0,o=0;for(let c=0;c<t.length;c+=1){let h=n[n.length-1],d=t[c],B=h[0],w=h[1],x=h[h.length-1],C=t[c+1];h.push(d),d.type==="M"?(s=d.x,o=d.y):d.type==="L"&&(!C||C.type==="Z")?Math.abs(d.x-s)>1||Math.abs(d.y-o)>1||h.pop():d.type==="L"&&x&&x.x===d.x&&x.y===d.y?h.pop():d.type==="Z"&&(B&&w&&x&&B.type==="M"&&w.type==="L"&&x.type==="L"&&x.x===B.x&&x.y===B.y&&(h.shift(),h[0].type="M"),c+1<t.length&&n.push([]))}return t=[].concat.apply([],n),t}function Y(t){return Object.assign({},{decimalPlaces:2,optimize:!0,flipY:!0,flipYBase:void 0,scale:1,x:0,y:0},t)}function J(t){return parseInt(t)===t&&(t={decimalPlaces:t,flipY:!1}),Object.assign({},{decimalPlaces:2,optimize:!0,flipY:!0,flipYBase:void 0},t)}me.prototype.fromSVG=function(t,n={}){typeof SVGPathElement<"u"&&t instanceof SVGPathElement&&(t=t.getAttribute("d")),n=Y(n),this.commands=[];let s="0123456789",o="MmLlQqCcZzHhVv",c="SsTtAa",h="-+",d={},B=[""],w=!1;function x(U){return U.filter(L=>L.length).map(L=>{let ee=parseFloat(L);return(n.decimalPlaces||n.decimalPlaces===0)&&(ee=Fe(ee,n.decimalPlaces)),ee})}function C(U){if(!this.commands.length)return U;let L=this.commands[this.commands.length-1];for(let ee=0;ee<U.length;ee++)U[ee]+=L[ee&1?"y":"x"];return U}function S(){if(d.type===void 0)return;let U=d.type.toUpperCase(),L=U!=="Z"&&d.type.toUpperCase()!==d.type,ee=x(B);if(B=[""],!ee.length&&U!=="Z")return;L&&U!=="H"&&U!=="V"&&(ee=C.apply(this,[ee]));let Te=this.commands.length&&this.commands[this.commands.length-1].x||0,xe=this.commands.length&&this.commands[this.commands.length-1].y||0;switch(U){case"M":this.moveTo(...ee);break;case"L":this.lineTo(...ee);break;case"V":for(let Re=0;Re<ee.length;Re++){let Je=0;L&&(Je=this.commands.length&&this.commands[this.commands.length-1].y||0),this.lineTo(Te,ee[Re]+Je)}break;case"H":for(let Re=0;Re<ee.length;Re++){let Je=0;L&&(Je=this.commands.length&&this.commands[this.commands.length-1].x||0),this.lineTo(ee[Re]+Je,xe)}break;case"C":this.bezierCurveTo(...ee);break;case"Q":this.quadraticCurveTo(...ee);break;case"Z":(this.commands.length<1||this.commands[this.commands.length-1].type!=="Z")&&this.close();break}if(this.commands.length)for(let Re in this.commands[this.commands.length-1])this.commands[this.commands.length-1][Re]===void 0&&(this.commands[this.commands.length-1][Re]=0)}for(let U=0;U<t.length;U++){let L=t.charAt(U),ee=B[B.length-1];if(s.indexOf(L)>-1)B[B.length-1]+=L;else if(h.indexOf(L)>-1)if(!d.type&&!this.commands.length&&(d.type="L"),L==="-")!d.type||ee.indexOf("-")>0?w=!0:ee.length?B.push("-"):B[B.length-1]=L;else if(!d.type||ee.length>0)w=!0;else continue;else if(o.indexOf(L)>-1)d.type?(S.apply(this),d={type:L}):d.type=L;else{if(c.indexOf(L)>-1)throw new Error("Unsupported path command: "+L+". Currently supported commands are "+o.split("").join(", ")+".");` ,
|
|
130
|
+
\r\f\v`.indexOf(L)>-1?B.push(""):L==="."?!d.type||ee.indexOf(L)>-1?w=!0:B[B.length-1]+=L:w=!0}if(w)throw new Error("Unexpected character: "+L+" at offset "+U)}S.apply(this),n.optimize&&(this.commands=W(this.commands));let T=n.flipY,k=n.flipYBase;if(T===!0&&n.flipYBase===void 0){let U=this.getBoundingBox();k=U.y1+U.y2}for(let U in this.commands){let L=this.commands[U];for(let ee in L)["x","x1","x2"].includes(ee)?this.commands[U][ee]=n.x+L[ee]*n.scale:["y","y1","y2"].includes(ee)&&(this.commands[U][ee]=n.y+(T?k-L[ee]:L[ee])*n.scale)}return this},me.fromSVG=function(t,n){return new me().fromSVG(t,n)},me.prototype.moveTo=function(t,n){this.commands.push({type:"M",x:t,y:n})},me.prototype.lineTo=function(t,n){this.commands.push({type:"L",x:t,y:n})},me.prototype.curveTo=me.prototype.bezierCurveTo=function(t,n,s,o,c,h){this.commands.push({type:"C",x1:t,y1:n,x2:s,y2:o,x:c,y:h})},me.prototype.quadTo=me.prototype.quadraticCurveTo=function(t,n,s,o){this.commands.push({type:"Q",x1:t,y1:n,x:s,y:o})},me.prototype.close=me.prototype.closePath=function(){this.commands.push({type:"Z"})},me.prototype.extend=function(t){if(t.commands)t=t.commands;else if(t instanceof Ee){let n=t;this.moveTo(n.x1,n.y1),this.lineTo(n.x2,n.y1),this.lineTo(n.x2,n.y2),this.lineTo(n.x1,n.y2),this.close();return}Array.prototype.push.apply(this.commands,t)},me.prototype.getBoundingBox=function(){let t=new Ee,n=0,s=0,o=0,c=0;for(let h=0;h<this.commands.length;h++){let d=this.commands[h];switch(d.type){case"M":t.addPoint(d.x,d.y),n=o=d.x,s=c=d.y;break;case"L":t.addPoint(d.x,d.y),o=d.x,c=d.y;break;case"Q":t.addQuad(o,c,d.x1,d.y1,d.x,d.y),o=d.x,c=d.y;break;case"C":t.addBezier(o,c,d.x1,d.y1,d.x2,d.y2,d.x,d.y),o=d.x,c=d.y;break;case"Z":o=n,c=s;break;default:throw new Error("Unexpected path command "+d.type)}}return t.isEmpty()&&t.addPoint(0,0),t},me.prototype.draw=function(t){let n=this._layers;if(n&&n.length){for(let o=0;o<n.length;o++)this.draw.call(n[o],t);return}let s=this._image;if(s){t.drawImage(s.image,s.x,s.y,s.width,s.height);return}t.beginPath();for(let o=0;o<this.commands.length;o+=1){let c=this.commands[o];c.type==="M"?t.moveTo(c.x,c.y):c.type==="L"?t.lineTo(c.x,c.y):c.type==="C"?t.bezierCurveTo(c.x1,c.y1,c.x2,c.y2,c.x,c.y):c.type==="Q"?t.quadraticCurveTo(c.x1,c.y1,c.x,c.y):c.type==="Z"&&this.stroke&&this.strokeWidth&&t.closePath()}this.fill&&(t.fillStyle=this.fill,t.fill()),this.stroke&&(t.strokeStyle=this.stroke,t.lineWidth=this.strokeWidth,t.stroke())},me.prototype.toPathData=function(t){t=J(t);function n(B){let w=Fe(B,t.decimalPlaces);return Math.round(B)===w?""+w:w.toFixed(t.decimalPlaces)}function s(){let B="";for(let w=0;w<arguments.length;w+=1){let x=arguments[w];x>=0&&w>0&&(B+=" "),B+=n(x)}return B}let o=this.commands;t.optimize&&(o=JSON.parse(JSON.stringify(this.commands)),o=W(o));let c=t.flipY,h=t.flipYBase;if(c===!0&&h===void 0){let B=new me;B.extend(o);let w=B.getBoundingBox();h=w.y1+w.y2}let d="";for(let B=0;B<o.length;B+=1){let w=o[B];w.type==="M"?d+="M"+s(w.x,c?h-w.y:w.y):w.type==="L"?d+="L"+s(w.x,c?h-w.y:w.y):w.type==="C"?d+="C"+s(w.x1,c?h-w.y1:w.y1,w.x2,c?h-w.y2:w.y2,w.x,c?h-w.y:w.y):w.type==="Q"?d+="Q"+s(w.x1,c?h-w.y1:w.y1,w.x,c?h-w.y:w.y):w.type==="Z"&&(d+="Z")}return d},me.prototype.toSVG=function(t,n){this._layers&&this._layers.length&&console.warn("toSVG() does not support colr font layers yet"),this._image&&console.warn("toSVG() does not support SVG glyphs yet"),n||(n=this.toPathData(t));let s='<path d="';return s+=n,s+='"',this.fill!==void 0&&this.fill!=="black"&&(this.fill===null?s+=' fill="none"':s+=' fill="'+this.fill+'"'),this.stroke&&(s+=' stroke="'+this.stroke+'" stroke-width="'+this.strokeWidth+'"'),s+="/>",s},me.prototype.toDOMElement=function(t,n){this._layers&&this._layers.length&&console.warn("toDOMElement() does not support colr font layers yet"),n||(n=this.toPathData(t));let s=document.createElementNS("http://www.w3.org/2000/svg","path");return s.setAttribute("d",n),this.fill!==void 0&&this.fill!=="black"&&(this.fill===null?s.setAttribute("fill","none"):s.setAttribute("fill",this.fill)),this.stroke&&(s.setAttribute("stroke",this.stroke),s.setAttribute("stroke-width",this.strokeWidth)),s};var X=me;function j(t){throw new Error(t)}function K(t,n){t||j(n)}var G={fail:j,argument:K,assert:K},z=32768,D=2147483648,fe=-32768,ce=32767+1/65536,Qe={},Z={},H={};function ne(t){return function(){return t}}Z.BYTE=function(t){return G.argument(t>=0&&t<=255,"Byte value should be between 0 and 255."),[t]},H.BYTE=ne(1),Z.CHAR=function(t){return[t.charCodeAt(0)]},H.CHAR=ne(1),Z.CHARARRAY=function(t){(t===null||typeof t>"u")&&(t="",console.warn("CHARARRAY with undefined or null value encountered and treated as an empty string. This is probably caused by a missing glyph name."));let n=[];for(let s=0;s<t.length;s+=1)n[s]=t.charCodeAt(s);return n},H.CHARARRAY=function(t){return typeof t>"u"?0:t.length},Z.USHORT=function(t){return[t>>8&255,t&255]},H.USHORT=ne(2),Z.SHORT=function(t){return t>=z&&(t=-(2*z-t)),[t>>8&255,t&255]},H.SHORT=ne(2),Z.UINT24=function(t){return[t>>16&255,t>>8&255,t&255]},H.UINT24=ne(3),Z.ULONG=function(t){return[t>>24&255,t>>16&255,t>>8&255,t&255]},H.ULONG=ne(4),Z.LONG=function(t){return t>=D&&(t=-(2*D-t)),[t>>24&255,t>>16&255,t>>8&255,t&255]},H.LONG=ne(4),Z.FLOAT=function(t){if(t>ce||t<fe)throw new Error(`Value ${t} is outside the range of representable values in 16.16 format`);let n=Math.round(t*65536)<<0;return Z.ULONG(n)},H.FLOAT=H.ULONG,Z.FIXED=Z.ULONG,H.FIXED=H.ULONG,Z.FWORD=Z.SHORT,H.FWORD=H.SHORT,Z.UFWORD=Z.USHORT,H.UFWORD=H.USHORT,Z.F2DOT14=function(t){return Z.USHORT(t*16384)},H.F2DOT14=H.USHORT,Z.LONGDATETIME=function(t){return[0,0,0,0,t>>24&255,t>>16&255,t>>8&255,t&255]},H.LONGDATETIME=ne(8),Z.TAG=function(t){return G.argument(t.length===4,"Tag should be exactly 4 ASCII characters."),[t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2),t.charCodeAt(3)]},H.TAG=ne(4),Z.Card8=Z.BYTE,H.Card8=H.BYTE,Z.Card16=Z.USHORT,H.Card16=H.USHORT,Z.OffSize=Z.BYTE,H.OffSize=H.BYTE,Z.SID=Z.USHORT,H.SID=H.USHORT,Z.NUMBER=function(t){return t>=-107&&t<=107?[t+139]:t>=108&&t<=1131?(t=t-108,[(t>>8)+247,t&255]):t>=-1131&&t<=-108?(t=-t-108,[(t>>8)+251,t&255]):t>=-32768&&t<=32767?Z.NUMBER16(t):Z.NUMBER32(t)},H.NUMBER=function(t){return Z.NUMBER(t).length},Z.NUMBER16=function(t){return[28,t>>8&255,t&255]},H.NUMBER16=ne(3),Z.NUMBER32=function(t){return[29,t>>24&255,t>>16&255,t>>8&255,t&255]},H.NUMBER32=ne(5),Z.REAL=function(t){let n=t.toString(),s=/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/.exec(n);if(s){let h=parseFloat("1e"+((s[2]?+s[2]:0)+s[1].length));n=(Math.round(t*h)/h).toString()}let o="";for(let h=0,d=n.length;h<d;h+=1){let B=n[h];B==="e"?o+=n[++h]==="-"?"c":"b":B==="."?o+="a":B==="-"?o+="e":o+=B}o+=o.length&1?"f":"ff";let c=[30];for(let h=0,d=o.length;h<d;h+=2)c.push(parseInt(o.substr(h,2),16));return c},H.REAL=function(t){return Z.REAL(t).length},Z.NAME=Z.CHARARRAY,H.NAME=H.CHARARRAY,Z.STRING=Z.CHARARRAY,H.STRING=H.CHARARRAY,Qe.UTF8=function(t,n,s){let o=[],c=s;for(let h=0;h<c;h++,n+=1)o[h]=t.getUint8(n);return String.fromCharCode.apply(null,o)},Qe.UTF16=function(t,n,s){let o=[],c=s/2;for(let h=0;h<c;h++,n+=2)o[h]=t.getUint16(n);return String.fromCharCode.apply(null,o)},Z.UTF16=function(t){let n=[];for(let s=0;s<t.length;s+=1){let o=t.charCodeAt(s);n[n.length]=o>>8&255,n[n.length]=o&255}return n},H.UTF16=function(t){return t.length*2};var Oe={"x-mac-croatian":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\u0160\u2122\xB4\xA8\u2260\u017D\xD8\u221E\xB1\u2264\u2265\u2206\xB5\u2202\u2211\u220F\u0161\u222B\xAA\xBA\u03A9\u017E\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u0106\xAB\u010C\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u0110\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\uF8FF\xA9\u2044\u20AC\u2039\u203A\xC6\xBB\u2013\xB7\u201A\u201E\u2030\xC2\u0107\xC1\u010D\xC8\xCD\xCE\xCF\xCC\xD3\xD4\u0111\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u03C0\xCB\u02DA\xB8\xCA\xE6\u02C7","x-mac-cyrillic":"\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u2020\xB0\u0490\xA3\xA7\u2022\xB6\u0406\xAE\xA9\u2122\u0402\u0452\u2260\u0403\u0453\u221E\xB1\u2264\u2265\u0456\xB5\u0491\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A\u0458\u0405\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\u040B\u045B\u040C\u045C\u0455\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u201E\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E","x-mac-gaelic":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u1E02\xB1\u2264\u2265\u1E03\u010A\u010B\u1E0A\u1E0B\u1E1E\u1E1F\u0120\u0121\u1E40\xE6\xF8\u1E41\u1E56\u1E57\u027C\u0192\u017F\u1E60\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\u1E61\u1E9B\xFF\u0178\u1E6A\u20AC\u2039\u203A\u0176\u0177\u1E6B\xB7\u1EF2\u1EF3\u204A\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\u2663\xD2\xDA\xDB\xD9\u0131\xDD\xFD\u0174\u0175\u1E84\u1E85\u1E80\u1E81\u1E82\u1E83","x-mac-greek":"\xC4\xB9\xB2\xC9\xB3\xD6\xDC\u0385\xE0\xE2\xE4\u0384\xA8\xE7\xE9\xE8\xEA\xEB\xA3\u2122\xEE\xEF\u2022\xBD\u2030\xF4\xF6\xA6\u20AC\xF9\xFB\xFC\u2020\u0393\u0394\u0398\u039B\u039E\u03A0\xDF\xAE\xA9\u03A3\u03AA\xA7\u2260\xB0\xB7\u0391\xB1\u2264\u2265\xA5\u0392\u0395\u0396\u0397\u0399\u039A\u039C\u03A6\u03AB\u03A8\u03A9\u03AC\u039D\xAC\u039F\u03A1\u2248\u03A4\xAB\xBB\u2026\xA0\u03A5\u03A7\u0386\u0388\u0153\u2013\u2015\u201C\u201D\u2018\u2019\xF7\u0389\u038A\u038C\u038E\u03AD\u03AE\u03AF\u03CC\u038F\u03CD\u03B1\u03B2\u03C8\u03B4\u03B5\u03C6\u03B3\u03B7\u03B9\u03BE\u03BA\u03BB\u03BC\u03BD\u03BF\u03C0\u03CE\u03C1\u03C3\u03C4\u03B8\u03C9\u03C2\u03C7\u03C5\u03B6\u03CA\u03CB\u0390\u03B0\xAD","x-mac-icelandic":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\xDD\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\u20AC\xD0\xF0\xDE\xFE\xFD\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7","x-mac-inuit":"\u1403\u1404\u1405\u1406\u140A\u140B\u1431\u1432\u1433\u1434\u1438\u1439\u1449\u144E\u144F\u1450\u1451\u1455\u1456\u1466\u146D\u146E\u146F\u1470\u1472\u1473\u1483\u148B\u148C\u148D\u148E\u1490\u1491\xB0\u14A1\u14A5\u14A6\u2022\xB6\u14A7\xAE\xA9\u2122\u14A8\u14AA\u14AB\u14BB\u14C2\u14C3\u14C4\u14C5\u14C7\u14C8\u14D0\u14EF\u14F0\u14F1\u14F2\u14F4\u14F5\u1505\u14D5\u14D6\u14D7\u14D8\u14DA\u14DB\u14EA\u1528\u1529\u152A\u152B\u152D\u2026\xA0\u152E\u153E\u1555\u1556\u1557\u2013\u2014\u201C\u201D\u2018\u2019\u1558\u1559\u155A\u155D\u1546\u1547\u1548\u1549\u154B\u154C\u1550\u157F\u1580\u1581\u1582\u1583\u1584\u1585\u158F\u1590\u1591\u1592\u1593\u1594\u1595\u1671\u1672\u1673\u1674\u1675\u1676\u1596\u15A0\u15A1\u15A2\u15A3\u15A4\u15A5\u15A6\u157C\u0141\u0142","x-mac-ce":"\xC4\u0100\u0101\xC9\u0104\xD6\xDC\xE1\u0105\u010C\xE4\u010D\u0106\u0107\xE9\u0179\u017A\u010E\xED\u010F\u0112\u0113\u0116\xF3\u0117\xF4\xF6\xF5\xFA\u011A\u011B\xFC\u2020\xB0\u0118\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\u0119\xA8\u2260\u0123\u012E\u012F\u012A\u2264\u2265\u012B\u0136\u2202\u2211\u0142\u013B\u013C\u013D\u013E\u0139\u013A\u0145\u0146\u0143\xAC\u221A\u0144\u0147\u2206\xAB\xBB\u2026\xA0\u0148\u0150\xD5\u0151\u014C\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\u014D\u0154\u0155\u0158\u2039\u203A\u0159\u0156\u0157\u0160\u201A\u201E\u0161\u015A\u015B\xC1\u0164\u0165\xCD\u017D\u017E\u016A\xD3\xD4\u016B\u016E\xDA\u016F\u0170\u0171\u0172\u0173\xDD\xFD\u0137\u017B\u0141\u017C\u0122\u02C7",macintosh:"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\u20AC\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7","x-mac-romanian":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\u0102\u0218\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\u0103\u0219\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\u20AC\u2039\u203A\u021A\u021B\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7","x-mac-turkish":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u011E\u011F\u0130\u0131\u015E\u015F\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\uF8A0\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"};Qe.MACSTRING=function(t,n,s,o){let c=Oe[o];if(c===void 0)return;let h="";for(let d=0;d<s;d++){let B=t.getUint8(n+d);B<=127?h+=String.fromCharCode(B):h+=c[B&127]}return h};var De=typeof WeakMap=="function"&&new WeakMap,it,Ze=function(t){if(!it){it={};for(let c in Oe)it[c]=new String(c)}let n=it[t];if(n===void 0)return;if(De){let c=De.get(n);if(c!==void 0)return c}let s=Oe[t];if(s===void 0)return;let o={};for(let c=0;c<s.length;c++)o[s.charCodeAt(c)]=c+128;return De&&De.set(n,o),o};Z.MACSTRING=function(t,n){let s=Ze(n);if(s===void 0)return;let o=[];for(let c=0;c<t.length;c++){let h=t.charCodeAt(c);if(h>=128&&(h=s[h],h===void 0))return;o[c]=h}return o},H.MACSTRING=function(t,n){let s=Z.MACSTRING(t,n);return s!==void 0?s.length:0};function ze(t){return t>=-128&&t<=127}function wt(t,n,s){let o=0,c=t.length;for(;n<c&&o<64&&t[n]===0;)++n,++o;return s.push(128|o-1),n}function te(t,n,s){let o=0,c=t.length,h=n;for(;h<c&&o<64;){let d=t[h];if(!ze(d)||d===0&&h+1<c&&t[h+1]===0)break;++h,++o}s.push(o-1);for(let d=n;d<h;++d)s.push(t[d]+256&255);return h}function ve(t,n,s){let o=0,c=t.length,h=n;for(;h<c&&o<64;){let d=t[h];if(d===0||ze(d)&&h+1<c&&ze(t[h+1]))break;++h,++o}s.push(64|o-1);for(let d=n;d<h;++d){let B=t[d];s.push(B+65536>>8&255,B+256&255)}return h}Z.VARDELTAS=function(t){let n=0,s=[];for(;n<t.length;){let o=t[n];o===0?n=wt(t,n,s):o>=-128&&o<=127?n=te(t,n,s):n=ve(t,n,s)}return s},Z.INDEX=function(t){let n=1,s=[n],o=[];for(let B=0;B<t.length;B+=1){let w=Z.OBJECT(t[B]);Array.prototype.push.apply(o,w),n+=w.length,s.push(n)}if(o.length===0)return[0,0];let c=[],h=1+Math.floor(Math.log(n)/Math.log(2))/8|0,d=[void 0,Z.BYTE,Z.USHORT,Z.UINT24,Z.ULONG][h];for(let B=0;B<s.length;B+=1){let w=d(s[B]);Array.prototype.push.apply(c,w)}return Array.prototype.concat(Z.Card16(t.length),Z.OffSize(h),c,o)},H.INDEX=function(t){return Z.INDEX(t).length},Z.DICT=function(t){let n=[],s=Object.keys(t),o=s.length;for(let c=0;c<o;c+=1){let h=parseInt(s[c],0),d=t[h],B=Z.OPERAND(d.value,d.type),w=Z.OPERATOR(h);for(let x=0;x<B.length;x++)n.push(B[x]);for(let x=0;x<w.length;x++)n.push(w[x])}return n},H.DICT=function(t){return Z.DICT(t).length},Z.OPERATOR=function(t){return t<1200?[t]:[12,t-1200]},Z.OPERAND=function(t,n){let s=[];if(Array.isArray(n))for(let o=0;o<n.length;o+=1){G.argument(t.length===n.length,"Not enough arguments given for type"+n);let c=Z.OPERAND(t[o],n[o]);for(let h=0;h<c.length;h++)s.push(c[h])}else if(n==="SID"){let o=Z.NUMBER(t);for(let c=0;c<o.length;c++)s.push(o[c])}else if(n==="offset"){let o=Z.NUMBER32(t);for(let c=0;c<o.length;c++)s.push(o[c])}else if(n==="number"){let o=Z.NUMBER(t);for(let c=0;c<o.length;c++)s.push(o[c])}else if(n==="real"){let o=Z.REAL(t);for(let c=0;c<o.length;c++)s.push(o[c])}else throw new Error("Unknown operand type "+n);return s},Z.OP=Z.BYTE,H.OP=H.BYTE;var be=typeof WeakMap=="function"&&new WeakMap;Z.CHARSTRING=function(t){if(be){let o=be.get(t);if(o!==void 0)return o}let n=[],s=t.length;for(let o=0;o<s;o+=1){let c=t[o],h=Z[c.type](c.value);for(let d=0;d<h.length;d++)n.push(h[d])}return be&&be.set(t,n),n},H.CHARSTRING=function(t){return Z.CHARSTRING(t).length},Z.OBJECT=function(t){let n=Z[t.type];return G.argument(n!==void 0,"No encoding function for type "+t.type),n(t.value)},H.OBJECT=function(t){let n=H[t.type];return G.argument(n!==void 0,"No sizeOf function for type "+t.type),n(t.value)},Z.TABLE=function(t){let n=[],s=(t.fields||[]).length,o=[],c=[];for(let h=0;h<s;h+=1){let d=t.fields[h],B=Z[d.type];G.argument(B!==void 0,"No encoding function for field type "+d.type+" ("+d.name+")");let w=t[d.name];w===void 0&&(w=d.value);let x=B(w);if(d.type==="TABLE")w.fields!==null&&(c.push(n.length),o.push(x)),n.push(0,0);else for(let C=0;C<x.length;C++)n.push(x[C])}for(let h=0;h<o.length;h+=1){let d=c[h],B=n.length;G.argument(B<65536,"Table "+t.tableName+" too big."),n[d]=B>>8,n[d+1]=B&255;for(let w=0;w<o[h].length;w++)n.push(o[h][w])}return n},H.TABLE=function(t){let n=0,s=(t.fields||[]).length;for(let o=0;o<s;o+=1){let c=t.fields[o],h=H[c.type];G.argument(h!==void 0,"No sizeOf function for field type "+c.type+" ("+c.name+")");let d=t[c.name];d===void 0&&(d=c.value),n+=h(d),c.type==="TABLE"&&(n+=2)}return n},Z.RECORD=Z.TABLE,H.RECORD=H.TABLE,Z.LITERAL=function(t){return t},H.LITERAL=function(t){return t.length};function ue(t,n,s){if(n&&n.length)for(let o=0;o<n.length;o+=1){let c=n[o];this[c.name]=c.value}if(this.tableName=t,this.fields=n,s){let o=Object.keys(s);for(let c=0;c<o.length;c+=1){let h=o[c],d=s[h];this[h]!==void 0&&(this[h]=d)}}}ue.prototype.encode=function(){return Z.TABLE(this)},ue.prototype.sizeOf=function(){return H.TABLE(this)};function Me(t,n,s){s===void 0&&(s=n.length);let o=new Array(n.length+1);o[0]={name:t+"Count",type:"USHORT",value:s};for(let c=0;c<n.length;c++)o[c+1]={name:t+c,type:"USHORT",value:n[c]};return o}function He(t,n,s){let o=n.length,c=new Array(o+1);c[0]={name:t+"Count",type:"USHORT",value:o};for(let h=0;h<o;h++)c[h+1]={name:t+h,type:"TABLE",value:s(n[h],h)};return c}function Le(t,n,s){let o=n.length,c=[];c[0]={name:t+"Count",type:"USHORT",value:o};for(let h=0;h<o;h++)c=c.concat(s(n[h],h));return c}function Ye(t){t.format===1?ue.call(this,"coverageTable",[{name:"coverageFormat",type:"USHORT",value:1}].concat(Me("glyph",t.glyphs))):t.format===2?ue.call(this,"coverageTable",[{name:"coverageFormat",type:"USHORT",value:2}].concat(Le("rangeRecord",t.ranges,function(n,s){return[{name:"startGlyphID"+s,type:"USHORT",value:n.start},{name:"endGlyphID"+s,type:"USHORT",value:n.end},{name:"startCoverageIndex"+s,type:"USHORT",value:n.index}]}))):G.assert(!1,"Coverage format must be 1 or 2.")}Ye.prototype=Object.create(ue.prototype),Ye.prototype.constructor=Ye;function de(t){ue.call(this,"scriptListTable",Le("scriptRecord",t,function(n,s){let o=n.script,c=o.defaultLangSys;return G.assert(!!c,"Unable to write GSUB: script "+n.tag+" has no default language system."),[{name:"scriptTag"+s,type:"TAG",value:n.tag},{name:"script"+s,type:"TABLE",value:new ue("scriptTable",[{name:"defaultLangSys",type:"TABLE",value:new ue("defaultLangSys",[{name:"lookupOrder",type:"USHORT",value:0},{name:"reqFeatureIndex",type:"USHORT",value:c.reqFeatureIndex}].concat(Me("featureIndex",c.featureIndexes)))}].concat(Le("langSys",o.langSysRecords,function(h,d){let B=h.langSys;return[{name:"langSysTag"+d,type:"TAG",value:h.tag},{name:"langSys"+d,type:"TABLE",value:new ue("langSys",[{name:"lookupOrder",type:"USHORT",value:0},{name:"reqFeatureIndex",type:"USHORT",value:B.reqFeatureIndex}].concat(Me("featureIndex",B.featureIndexes)))}]})))}]}))}de.prototype=Object.create(ue.prototype),de.prototype.constructor=de;function ge(t){ue.call(this,"featureListTable",Le("featureRecord",t,function(n,s){let o=n.feature;return[{name:"featureTag"+s,type:"TAG",value:n.tag},{name:"feature"+s,type:"TABLE",value:new ue("featureTable",[{name:"featureParams",type:"USHORT",value:o.featureParams}].concat(Me("lookupListIndex",o.lookupListIndexes)))}]}))}ge.prototype=Object.create(ue.prototype),ge.prototype.constructor=ge;function oe(t,n){ue.call(this,"lookupListTable",He("lookup",t,function(s){let o=n[s.lookupType];return G.assert(!!o,"Unable to write GSUB lookup type "+s.lookupType+" tables."),new ue("lookupTable",[{name:"lookupType",type:"USHORT",value:s.lookupType},{name:"lookupFlag",type:"USHORT",value:s.lookupFlag}].concat(He("subtable",s.subtables,o)))}))}oe.prototype=Object.create(ue.prototype),oe.prototype.constructor=oe;function ke(t){t.format===1?ue.call(this,"classDefTable",[{name:"classFormat",type:"USHORT",value:1},{name:"startGlyphID",type:"USHORT",value:t.startGlyph}].concat(Me("glyph",t.classes))):t.format===2?ue.call(this,"classDefTable",[{name:"classFormat",type:"USHORT",value:2}].concat(Le("rangeRecord",t.ranges,function(n,s){return[{name:"startGlyphID"+s,type:"USHORT",value:n.start},{name:"endGlyphID"+s,type:"USHORT",value:n.end},{name:"class"+s,type:"USHORT",value:n.classId}]}))):G.assert(!1,"Class format must be 1 or 2.")}ke.prototype=Object.create(ue.prototype),ke.prototype.constructor=ke;var $={Table:ue,Record:ue,Coverage:Ye,ClassDef:ke,ScriptList:de,FeatureList:ge,LookupList:oe,ushortList:Me,tableList:He,recordList:Le};function _e(t,n){return t.getUint8(n)}function Ue(t,n){return t.getUint16(n,!1)}function je(t,n){return t.getInt16(n,!1)}function ot(t,n){return(t.getUint16(n)<<8)+t.getUint8(n+2)}function Ke(t,n){return t.getUint32(n,!1)}function ut(t,n){return t.getInt32(n,!1)}function bt(t,n){let s=t.getInt16(n,!1),o=t.getUint16(n+2,!1);return s+o/65535}function xt(t,n){let s="";for(let o=n;o<n+4;o+=1)s+=String.fromCharCode(t.getInt8(o));return s}function Ir(t,n,s){let o=0;for(let c=0;c<s;c+=1)o<<=8,o+=t.getUint8(n+c);return o}function hr(t,n,s){let o=[];for(let c=n;c<s;c+=1)o.push(t.getUint8(c));return o}function Fr(t){let n="";for(let s=0;s<t.length;s+=1)n+=String.fromCharCode(t[s]);return n}var Tr={byte:1,uShort:2,f2dot14:2,short:2,uInt24:3,uLong:4,fixed:4,longDateTime:8,tag:4},ht={LONG_WORDS:32768,WORD_DELTA_COUNT_MASK:32767,SHARED_POINT_NUMBERS:32768,COUNT_MASK:4095,EMBEDDED_PEAK_TUPLE:32768,INTERMEDIATE_REGION:16384,PRIVATE_POINT_NUMBERS:8192,TUPLE_INDEX_MASK:4095,POINTS_ARE_WORDS:128,POINT_RUN_COUNT_MASK:127,DELTAS_ARE_ZERO:128,DELTAS_ARE_WORDS:64,DELTA_RUN_COUNT_MASK:63,INNER_INDEX_BIT_COUNT_MASK:15,MAP_ENTRY_SIZE_MASK:48};function V(t,n){this.data=t,this.offset=n,this.relativeOffset=0}V.prototype.parseByte=function(){let t=this.data.getUint8(this.offset+this.relativeOffset);return this.relativeOffset+=1,t},V.prototype.parseChar=function(){let t=this.data.getInt8(this.offset+this.relativeOffset);return this.relativeOffset+=1,t},V.prototype.parseCard8=V.prototype.parseByte,V.prototype.parseUShort=function(){let t=this.data.getUint16(this.offset+this.relativeOffset);return this.relativeOffset+=2,t},V.prototype.parseCard16=V.prototype.parseUShort,V.prototype.parseSID=V.prototype.parseUShort,V.prototype.parseOffset16=V.prototype.parseUShort,V.prototype.parseShort=function(){let t=this.data.getInt16(this.offset+this.relativeOffset);return this.relativeOffset+=2,t},V.prototype.parseF2Dot14=function(){let t=this.data.getInt16(this.offset+this.relativeOffset)/16384;return this.relativeOffset+=2,t},V.prototype.parseUInt24=function(){let t=ot(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=3,t},V.prototype.parseULong=function(){let t=Ke(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,t},V.prototype.parseLong=function(){let t=ut(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,t},V.prototype.parseOffset32=V.prototype.parseULong,V.prototype.parseFixed=function(){let t=bt(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,t},V.prototype.parseString=function(t){let n=this.data,s=this.offset+this.relativeOffset,o="";this.relativeOffset+=t;for(let c=0;c<t;c++)o+=String.fromCharCode(n.getUint8(s+c));return o},V.prototype.parseTag=function(){return this.parseString(4)},V.prototype.parseLongDateTime=function(){let t=Ke(this.data,this.offset+this.relativeOffset+4);return t-=2082844800,this.relativeOffset+=8,t},V.prototype.parseVersion=function(t){let n=Ue(this.data,this.offset+this.relativeOffset),s=Ue(this.data,this.offset+this.relativeOffset+2);return this.relativeOffset+=4,t===void 0&&(t=4096),n+s/t/10},V.prototype.skip=function(t,n){n===void 0&&(n=1),this.relativeOffset+=Tr[t]*n},V.prototype.parseULongList=function(t){t===void 0&&(t=this.parseULong());let n=new Array(t),s=this.data,o=this.offset+this.relativeOffset;for(let c=0;c<t;c++)n[c]=s.getUint32(o),o+=4;return this.relativeOffset+=t*4,n},V.prototype.parseOffset16List=V.prototype.parseUShortList=function(t){t===void 0&&(t=this.parseUShort());let n=new Array(t),s=this.data,o=this.offset+this.relativeOffset;for(let c=0;c<t;c++)n[c]=s.getUint16(o),o+=2;return this.relativeOffset+=t*2,n},V.prototype.parseShortList=function(t){let n=new Array(t),s=this.data,o=this.offset+this.relativeOffset;for(let c=0;c<t;c++)n[c]=s.getInt16(o),o+=2;return this.relativeOffset+=t*2,n},V.prototype.parseByteList=function(t){let n=new Array(t),s=this.data,o=this.offset+this.relativeOffset;for(let c=0;c<t;c++)n[c]=s.getUint8(o++);return this.relativeOffset+=t,n},V.prototype.parseList=function(t,n){n||(n=t,t=this.parseUShort());let s=new Array(t);for(let o=0;o<t;o++)s[o]=n.call(this);return s},V.prototype.parseList32=function(t,n){n||(n=t,t=this.parseULong());let s=new Array(t);for(let o=0;o<t;o++)s[o]=n.call(this);return s},V.prototype.parseRecordList=function(t,n){n||(n=t,t=this.parseUShort());let s=new Array(t),o=Object.keys(n);for(let c=0;c<t;c++){let h={};for(let d=0;d<o.length;d++){let B=o[d],w=n[B];h[B]=w.call(this)}s[c]=h}return s},V.prototype.parseRecordList32=function(t,n){n||(n=t,t=this.parseULong());let s=new Array(t),o=Object.keys(n);for(let c=0;c<t;c++){let h={};for(let d=0;d<o.length;d++){let B=o[d],w=n[B];h[B]=w.call(this)}s[c]=h}return s},V.prototype.parseTupleRecords=function(t,n){let s=[];for(let o=0;o<t;o++){let c=[];for(let h=0;h<n;h++)c.push(this.parseF2Dot14());s.push(c)}return s},V.prototype.parseStruct=function(t){if(typeof t=="function")return t.call(this);{let n=Object.keys(t),s={};for(let o=0;o<n.length;o++){let c=n[o],h=t[c];s[c]=h.call(this)}return s}},V.prototype.parseValueRecord=function(t){if(t===void 0&&(t=this.parseUShort()),t===0)return;let n={};return t&1&&(n.xPlacement=this.parseShort()),t&2&&(n.yPlacement=this.parseShort()),t&4&&(n.xAdvance=this.parseShort()),t&8&&(n.yAdvance=this.parseShort()),t&16&&(n.xPlaDevice=void 0,this.parseShort()),t&32&&(n.yPlaDevice=void 0,this.parseShort()),t&64&&(n.xAdvDevice=void 0,this.parseShort()),t&128&&(n.yAdvDevice=void 0,this.parseShort()),n},V.prototype.parseValueRecordList=function(){let t=this.parseUShort(),n=this.parseUShort(),s=new Array(n);for(let o=0;o<n;o++)s[o]=this.parseValueRecord(t);return s},V.prototype.parsePointer=function(t){let n=this.parseOffset16();if(n>0)return new V(this.data,this.offset+n).parseStruct(t)},V.prototype.parsePointer32=function(t){let n=this.parseOffset32();if(n>0)return new V(this.data,this.offset+n).parseStruct(t)},V.prototype.parseListOfLists=function(t){let n=this.parseOffset16List(),s=n.length,o=this.relativeOffset,c=new Array(s);for(let h=0;h<s;h++){let d=n[h];if(d===0){c[h]=void 0;continue}if(this.relativeOffset=d,t){let B=this.parseOffset16List(),w=new Array(B.length);for(let x=0;x<B.length;x++)this.relativeOffset=d+B[x],w[x]=t.call(this);c[h]=w}else c[h]=this.parseUShortList()}return this.relativeOffset=o,c},V.prototype.parseCoverage=function(){let t=this.offset+this.relativeOffset,n=this.parseUShort(),s=this.parseUShort();if(n===1)return{format:1,glyphs:this.parseUShortList(s)};if(n===2){let o=new Array(s);for(let c=0;c<s;c++)o[c]={start:this.parseUShort(),end:this.parseUShort(),index:this.parseUShort()};return{format:2,ranges:o}}throw new Error("0x"+t.toString(16)+": Coverage format must be 1 or 2.")},V.prototype.parseClassDef=function(){let t=this.offset+this.relativeOffset,n=this.parseUShort();return n===1?{format:1,startGlyph:this.parseUShort(),classes:this.parseUShortList()}:n===2?{format:2,ranges:this.parseRecordList({start:V.uShort,end:V.uShort,classId:V.uShort})}:(console.warn(`0x${t.toString(16)}: This font file uses an invalid ClassDef format of ${n}. It might be corrupted and should be reacquired if it doesn't display as intended.`),{format:n})},V.list=function(t,n){return function(){return this.parseList(t,n)}},V.list32=function(t,n){return function(){return this.parseList32(t,n)}},V.recordList=function(t,n){return function(){return this.parseRecordList(t,n)}},V.recordList32=function(t,n){return function(){return this.parseRecordList32(t,n)}},V.pointer=function(t){return function(){return this.parsePointer(t)}},V.pointer32=function(t){return function(){return this.parsePointer32(t)}},V.tag=V.prototype.parseTag,V.byte=V.prototype.parseByte,V.uShort=V.offset16=V.prototype.parseUShort,V.uShortList=V.prototype.parseUShortList,V.uInt24=V.prototype.parseUInt24,V.uLong=V.offset32=V.prototype.parseULong,V.uLongList=V.prototype.parseULongList,V.fixed=V.prototype.parseFixed,V.f2Dot14=V.prototype.parseF2Dot14,V.struct=V.prototype.parseStruct,V.coverage=V.prototype.parseCoverage,V.classDef=V.prototype.parseClassDef;var Vr={reserved:V.uShort,reqFeatureIndex:V.uShort,featureIndexes:V.uShortList};V.prototype.parseScriptList=function(){return this.parsePointer(V.recordList({tag:V.tag,script:V.pointer({defaultLangSys:V.pointer(Vr),langSysRecords:V.recordList({tag:V.tag,langSys:V.pointer(Vr)})})}))||[]},V.prototype.parseFeatureList=function(){return this.parsePointer(V.recordList({tag:V.tag,feature:V.pointer({featureParams:V.offset16,lookupListIndexes:V.uShortList})}))||[]},V.prototype.parseLookupList=function(t){return this.parsePointer(V.list(V.pointer(function(){let n=this.parseUShort();G.argument(1<=n&&n<=9,"GPOS/GSUB lookup type "+n+" unknown.");let s=this.parseUShort(),o=s&16;return{lookupType:n,lookupFlag:s,subtables:this.parseList(V.pointer(t[n])),markFilteringSet:o?this.parseUShort():void 0}})))||[]},V.prototype.parseFeatureVariationsList=function(){return this.parsePointer32(function(){let t=this.parseUShort(),n=this.parseUShort();return G.argument(t===1&&n<1,"GPOS/GSUB feature variations table unknown."),this.parseRecordList32({conditionSetOffset:V.offset32,featureTableSubstitutionOffset:V.offset32})})||[]},V.prototype.parseVariationStore=function(){let t=this.relativeOffset,n=this.parseUShort(),s={itemVariationStore:this.parseItemVariationStore()};return this.relativeOffset=t+n+2,s},V.prototype.parseItemVariationStore=function(){let t=this.relativeOffset,n={format:this.parseUShort(),variationRegions:[],itemVariationSubtables:[]},s=this.parseOffset32(),o=this.parseUShort(),c=this.parseULongList(o);this.relativeOffset=t+s,n.variationRegions=this.parseVariationRegionList();for(let h=0;h<o;h++){let d=c[h];this.relativeOffset=t+d,n.itemVariationSubtables.push(this.parseItemVariationSubtable())}return n},V.prototype.parseVariationRegionList=function(){let t=this.parseUShort(),n=this.parseUShort();return this.parseRecordList(n,{regionAxes:V.recordList(t,{startCoord:V.f2Dot14,peakCoord:V.f2Dot14,endCoord:V.f2Dot14})})},V.prototype.parseItemVariationSubtable=function(){let t=this.parseUShort(),n=this.parseUShort(),s=this.parseUShortList(),o=s.length;return{regionIndexes:s,deltaSets:t&&o?this.parseDeltaSets(t,n,o):[]}},V.prototype.parseDeltaSetIndexMap=function(){let t=this.parseByte(),n=this.parseByte(),s=[],o=0;switch(t){case 0:o=this.parseUShort();break;case 1:o=this.parseULong();break;default:console.error(`unsupported DeltaSetIndexMap format ${t}`)}if(!o)return{format:t,entryFormat:n};let c=(n&ht.INNER_INDEX_BIT_COUNT_MASK)+1,h=((n&ht.MAP_ENTRY_SIZE_MASK)>>4)+1;for(let d=0;d<o;d++){let B;if(h===1)B=this.parseByte();else if(h===2)B=this.parseUShort();else if(h===3)B=this.parseUInt24();else if(h===4)B=this.parseULong();else throw new Error(`Invalid entry size of ${h}`);let w=B>>c,x=B&(1<<c)-1;s.push({outerIndex:w,innerIndex:x})}return{format:t,entryFormat:n,map:s}},V.prototype.parseDeltaSets=function(t,n,s){let o=Array.from({length:t},()=>[]),c=n&ht.LONG_WORDS,h=n&ht.WORD_DELTA_COUNT_MASK;if(h>s)throw Error("wordCount must be less than or equal to regionIndexCount");let d=(c?this.parseLong:this.parseShort).bind(this),B=(c?this.parseShort:this.parseChar).bind(this);for(let w=0;w<t;w++)for(let x=0;x<s;x++)x<h?o[w].push(d()):o[w].push(B());return o},V.prototype.parseTupleVariationStoreList=function(t,n,s){let o=this.parseUShort(),h=this.parseUShort()&1,d=this.parseOffset32(),B=(h?this.parseULong:this.parseUShort).bind(this),w={},x=B();h||(x*=2);let C;for(let S=0;S<o;S++){C=B(),h||(C*=2);let T=C-x;w[S]=T?this.parseTupleVariationStore(d+x,t,n,s,S):void 0,x=C}return w},V.prototype.parseTupleVariationStore=function(t,n,s,o,c){let h=this.relativeOffset;this.relativeOffset=t,s==="cvar"&&(this.relativeOffset+=4);let d=this.parseUShort(),B=!!(d&ht.SHARED_POINT_NUMBERS),w=d&ht.COUNT_MASK,x=this.parseOffset16(),C=[],S=[];for(let U=0;U<w;U++){let L=this.parseTupleVariationHeader(n,s);C.push(L)}this.relativeOffset!==t+x&&(console.warn(`Unexpected offset after parsing tuple variation headers! Expected ${t+x}, actually ${this.relativeOffset}`),this.relativeOffset=t+x),B&&(S=this.parsePackedPointNumbers());let T=this.relativeOffset;for(let U=0;U<w;U++){let L=C[U];L.privatePoints=[],this.relativeOffset=T,s==="cvar"&&!L.peakTuple&&console.warn("An embedded peak tuple is required in TupleVariationHeaders for the cvar table."),L.flags.privatePointNumbers&&(L.privatePoints=this.parsePackedPointNumbers()),delete L.flags;let ee=this.offset,Te=this.relativeOffset,xe=Re=>{let Je,$e,nt=()=>{let st=0;if(s==="gvar"){if(st=L.privatePoints.length||S.length,!st){let Bt=o.get(c);Bt.path,st=Bt.points.length,st+=4}}else s==="cvar"&&(st=o.length);this.offset=ee,this.relativeOffset=Te,Je=this.parsePackedDeltas(st),s==="gvar"&&($e=this.parsePackedDeltas(st))};return{configurable:!0,get:function(){return Je===void 0&&nt(),Re==="deltasY"?$e:Je},set:function(st){Je===void 0&&nt(),Re==="deltasY"?$e=st:Je=st}}};Object.defineProperty(L,"deltas",xe.call(this,"deltas")),s==="gvar"&&Object.defineProperty(L,"deltasY",xe.call(this,"deltasY")),T+=L.variationDataSize,delete L.variationDataSize}this.relativeOffset=h;let k={headers:C};return k.sharedPoints=S,k},V.prototype.parseTupleVariationHeader=function(t,n){let s=this.parseUShort(),o=this.parseUShort(),c=!!(o&ht.EMBEDDED_PEAK_TUPLE),h=!!(o&ht.INTERMEDIATE_REGION),d=!!(o&ht.PRIVATE_POINT_NUMBERS),B=c?void 0:o&ht.TUPLE_INDEX_MASK,w=c?this.parseTupleRecords(1,t)[0]:void 0,x=h?this.parseTupleRecords(1,t)[0]:void 0,C=h?this.parseTupleRecords(1,t)[0]:void 0,S={variationDataSize:s,peakTuple:w,intermediateStartTuple:x,intermediateEndTuple:C,flags:{embeddedPeakTuple:c,intermediateRegion:h,privatePointNumbers:d}};return n==="gvar"&&(S.sharedTupleRecordsIndex=B),S},V.prototype.parsePackedPointNumbers=function(){let t=this.parseByte(),n=[],s=t;if(t>=128){let c=this.parseByte();s=(t&ht.POINT_RUN_COUNT_MASK)<<8|c}let o=0;for(;n.length<s;){let c=this.parseByte(),h=!!(c&ht.POINTS_ARE_WORDS),d=(c&ht.POINT_RUN_COUNT_MASK)+1;for(let B=0;B<d&&n.length<s;B++){let w;h?w=this.parseUShort():w=this.parseByte(),o=o+w,n.push(o)}}return n},V.prototype.parsePackedDeltas=function(t){let n=[];for(;n.length<t;){let s=this.parseByte(),o=!!(s&ht.DELTAS_ARE_ZERO),c=!!(s&ht.DELTAS_ARE_WORDS),h=(s&ht.DELTA_RUN_COUNT_MASK)+1;for(let d=0;d<h&&n.length<t;d++)o?n.push(0):c?n.push(this.parseShort()):n.push(this.parseChar())}return n};var he={getByte:_e,getCard8:_e,getUShort:Ue,getCard16:Ue,getShort:je,getUInt24:ot,getULong:Ke,getFixed:bt,getTag:xt,getOffset:Ir,getBytes:hr,bytesToString:Fr,Parser:V},pr=["copyright","fontFamily","fontSubfamily","uniqueID","fullName","version","postScriptName","trademark","manufacturer","designer","description","manufacturerURL","designerURL","license","licenseURL","reserved","preferredFamily","preferredSubfamily","compatibleFullName","sampleText","postScriptFindFontName","wwsFamily","wwsSubfamily"],hn={0:"en",1:"fr",2:"de",3:"it",4:"nl",5:"sv",6:"es",7:"da",8:"pt",9:"no",10:"he",11:"ja",12:"ar",13:"fi",14:"el",15:"is",16:"mt",17:"tr",18:"hr",19:"zh-Hant",20:"ur",21:"hi",22:"th",23:"ko",24:"lt",25:"pl",26:"hu",27:"es",28:"lv",29:"se",30:"fo",31:"fa",32:"ru",33:"zh",34:"nl-BE",35:"ga",36:"sq",37:"ro",38:"cz",39:"sk",40:"si",41:"yi",42:"sr",43:"mk",44:"bg",45:"uk",46:"be",47:"uz",48:"kk",49:"az-Cyrl",50:"az-Arab",51:"hy",52:"ka",53:"mo",54:"ky",55:"tg",56:"tk",57:"mn-CN",58:"mn",59:"ps",60:"ks",61:"ku",62:"sd",63:"bo",64:"ne",65:"sa",66:"mr",67:"bn",68:"as",69:"gu",70:"pa",71:"or",72:"ml",73:"kn",74:"ta",75:"te",76:"si",77:"my",78:"km",79:"lo",80:"vi",81:"id",82:"tl",83:"ms",84:"ms-Arab",85:"am",86:"ti",87:"om",88:"so",89:"sw",90:"rw",91:"rn",92:"ny",93:"mg",94:"eo",128:"cy",129:"eu",130:"ca",131:"la",132:"qu",133:"gn",134:"ay",135:"tt",136:"ug",137:"dz",138:"jv",139:"su",140:"gl",141:"af",142:"br",143:"iu",144:"gd",145:"gv",146:"ga",147:"to",148:"el-polyton",149:"kl",150:"az",151:"nn"},is={0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:5,11:1,12:4,13:0,14:6,15:0,16:0,17:0,18:0,19:2,20:4,21:9,22:21,23:3,24:29,25:29,26:29,27:29,28:29,29:0,30:0,31:4,32:7,33:25,34:0,35:0,36:0,37:0,38:29,39:29,40:0,41:5,42:7,43:7,44:7,45:7,46:7,47:7,48:7,49:7,50:4,51:24,52:23,53:7,54:7,55:7,56:7,57:27,58:7,59:4,60:4,61:4,62:4,63:26,64:9,65:9,66:9,67:13,68:13,69:11,70:10,71:12,72:17,73:16,74:14,75:15,76:18,77:19,78:20,79:22,80:30,81:0,82:0,83:0,84:4,85:28,86:28,87:28,88:0,89:0,90:0,91:0,92:0,93:0,94:0,128:0,129:0,130:0,131:0,132:0,133:0,134:0,135:7,136:4,137:26,138:0,139:0,140:0,141:0,142:0,143:28,144:0,145:0,146:0,147:0,148:6,149:0,150:0,151:0},pn={1078:"af",1052:"sq",1156:"gsw",1118:"am",5121:"ar-DZ",15361:"ar-BH",3073:"ar",2049:"ar-IQ",11265:"ar-JO",13313:"ar-KW",12289:"ar-LB",4097:"ar-LY",6145:"ary",8193:"ar-OM",16385:"ar-QA",1025:"ar-SA",10241:"ar-SY",7169:"aeb",14337:"ar-AE",9217:"ar-YE",1067:"hy",1101:"as",2092:"az-Cyrl",1068:"az",1133:"ba",1069:"eu",1059:"be",2117:"bn",1093:"bn-IN",8218:"bs-Cyrl",5146:"bs",1150:"br",1026:"bg",1027:"ca",3076:"zh-HK",5124:"zh-MO",2052:"zh",4100:"zh-SG",1028:"zh-TW",1155:"co",1050:"hr",4122:"hr-BA",1029:"cs",1030:"da",1164:"prs",1125:"dv",2067:"nl-BE",1043:"nl",3081:"en-AU",10249:"en-BZ",4105:"en-CA",9225:"en-029",16393:"en-IN",6153:"en-IE",8201:"en-JM",17417:"en-MY",5129:"en-NZ",13321:"en-PH",18441:"en-SG",7177:"en-ZA",11273:"en-TT",2057:"en-GB",1033:"en",12297:"en-ZW",1061:"et",1080:"fo",1124:"fil",1035:"fi",2060:"fr-BE",3084:"fr-CA",1036:"fr",5132:"fr-LU",6156:"fr-MC",4108:"fr-CH",1122:"fy",1110:"gl",1079:"ka",3079:"de-AT",1031:"de",5127:"de-LI",4103:"de-LU",2055:"de-CH",1032:"el",1135:"kl",1095:"gu",1128:"ha",1037:"he",1081:"hi",1038:"hu",1039:"is",1136:"ig",1057:"id",1117:"iu",2141:"iu-Latn",2108:"ga",1076:"xh",1077:"zu",1040:"it",2064:"it-CH",1041:"ja",1099:"kn",1087:"kk",1107:"km",1158:"quc",1159:"rw",1089:"sw",1111:"kok",1042:"ko",1088:"ky",1108:"lo",1062:"lv",1063:"lt",2094:"dsb",1134:"lb",1071:"mk",2110:"ms-BN",1086:"ms",1100:"ml",1082:"mt",1153:"mi",1146:"arn",1102:"mr",1148:"moh",1104:"mn",2128:"mn-CN",1121:"ne",1044:"nb",2068:"nn",1154:"oc",1096:"or",1123:"ps",1045:"pl",1046:"pt",2070:"pt-PT",1094:"pa",1131:"qu-BO",2155:"qu-EC",3179:"qu",1048:"ro",1047:"rm",1049:"ru",9275:"smn",4155:"smj-NO",5179:"smj",3131:"se-FI",1083:"se",2107:"se-SE",8251:"sms",6203:"sma-NO",7227:"sms",1103:"sa",7194:"sr-Cyrl-BA",3098:"sr",6170:"sr-Latn-BA",2074:"sr-Latn",1132:"nso",1074:"tn",1115:"si",1051:"sk",1060:"sl",11274:"es-AR",16394:"es-BO",13322:"es-CL",9226:"es-CO",5130:"es-CR",7178:"es-DO",12298:"es-EC",17418:"es-SV",4106:"es-GT",18442:"es-HN",2058:"es-MX",19466:"es-NI",6154:"es-PA",15370:"es-PY",10250:"es-PE",20490:"es-PR",3082:"es",1034:"es",21514:"es-US",14346:"es-UY",8202:"es-VE",2077:"sv-FI",1053:"sv",1114:"syr",1064:"tg",2143:"tzm",1097:"ta",1092:"tt",1098:"te",1054:"th",1105:"bo",1055:"tr",1090:"tk",1152:"ug",1058:"uk",1070:"hsb",1056:"ur",2115:"uz-Cyrl",1091:"uz",1066:"vi",1106:"cy",1160:"wo",1157:"sah",1144:"ii",1130:"yo"};function ns(t,n,s){switch(t){case 0:if(n===65535)return"und";if(s)return s[n];break;case 1:return hn[n];case 3:return pn[n]}}var li="utf-16",ss={0:"macintosh",1:"x-mac-japanese",2:"x-mac-chinesetrad",3:"x-mac-korean",6:"x-mac-greek",7:"x-mac-cyrillic",9:"x-mac-devanagai",10:"x-mac-gurmukhi",11:"x-mac-gujarati",12:"x-mac-oriya",13:"x-mac-bengali",14:"x-mac-tamil",15:"x-mac-telugu",16:"x-mac-kannada",17:"x-mac-malayalam",18:"x-mac-sinhalese",19:"x-mac-burmese",20:"x-mac-khmer",21:"x-mac-thai",22:"x-mac-lao",23:"x-mac-georgian",24:"x-mac-armenian",25:"x-mac-chinesesimp",26:"x-mac-tibetan",27:"x-mac-mongolian",28:"x-mac-ethiopic",29:"x-mac-ce",30:"x-mac-vietnamese",31:"x-mac-extarabic"},as={15:"x-mac-icelandic",17:"x-mac-turkish",18:"x-mac-croatian",24:"x-mac-ce",25:"x-mac-ce",26:"x-mac-ce",27:"x-mac-ce",28:"x-mac-ce",30:"x-mac-icelandic",37:"x-mac-romanian",38:"x-mac-ce",39:"x-mac-ce",40:"x-mac-ce",143:"x-mac-inuit",146:"x-mac-gaelic"};function Ti(t,n,s){switch(t){case 0:return li;case 1:return as[s]||ss[n];case 3:if(n===1||n===10)return li;break}}var fn={0:"unicode",1:"macintosh",2:"reserved",3:"windows"};function os(t){return fn[t]}function Na(t,n,s){let o={},c=new he.Parser(t,n),h=c.parseUShort(),d=c.parseUShort(),B=c.offset+c.parseUShort();for(let w=0;w<d;w++){let x=c.parseUShort(),C=c.parseUShort(),S=c.parseUShort(),T=c.parseUShort(),k=pr[T]||T,U=c.parseUShort(),L=c.parseUShort(),ee=ns(x,S,s),Te=Ti(x,C,S),xe=os(x);if(Te!==void 0&&ee!==void 0&&xe!==void 0){let Re;if(Te===li?Re=Qe.UTF16(t,B+L,U):Re=Qe.MACSTRING(t,B+L,U,Te),Re){let Je=o[xe];Je===void 0&&(Je=o[xe]={});let $e=Je[k];$e===void 0&&($e=Je[k]={}),$e[ee]=Re}}}return h===1&&c.parseUShort(),o}function fr(t){let n={};for(let s in t)n[t[s]]=parseInt(s);return n}function Si(t,n,s,o,c,h){return new $.Record("NameRecord",[{name:"platformID",type:"USHORT",value:t},{name:"encodingID",type:"USHORT",value:n},{name:"languageID",type:"USHORT",value:s},{name:"nameID",type:"USHORT",value:o},{name:"length",type:"USHORT",value:c},{name:"offset",type:"USHORT",value:h}])}function Di(t,n){let s=t.length,o=n.length-s+1;e:for(let c=0;c<o;c++)for(;c<o;c++){for(let h=0;h<s;h++)if(n[c+h]!==t[h])continue e;return c}return-1}function ci(t,n){let s=Di(t,n);if(s<0){s=n.length;let o=0,c=t.length;for(;o<c;++o)n.push(t[o])}return s}function As(t,n){let s=fr(fn),o=fr(hn),c=fr(pn),h=[],d=[];for(let w in t){let x,C=[],S={},T=fr(pr),k=s[w];for(let U in t[w]){let L=T[U];if(L===void 0&&(L=U),x=parseInt(L),isNaN(x))throw new Error('Name table entry "'+U+'" does not exist, see nameTableNames for complete list.');S[x]=t[w][U],C.push(x)}for(let U=0;U<C.length;U++){x=C[U];let L=S[x];for(let ee in L){let Te=L[ee];if(k===1||k===0){let xe=o[ee],Re=is[xe],Je=Ti(k,Re,xe),$e=Z.MACSTRING(Te,Je);if(k===0&&(xe=n.indexOf(ee),xe<0&&(xe=n.length,n.push(ee)),Re=4,$e=Z.UTF16(Te)),$e!==void 0){let nt=ci($e,d);h.push(Si(k,Re,xe,x,$e.length,nt))}}if(k===3){let xe=c[ee];if(xe!==void 0){let Re=Z.UTF16(Te),Je=ci(Re,d);h.push(Si(3,1,xe,x,Re.length,Je))}}}}}h.sort(function(w,x){return w.platformID-x.platformID||w.encodingID-x.encodingID||w.languageID-x.languageID||w.nameID-x.nameID});let B=new $.Table("name",[{name:"format",type:"USHORT",value:0},{name:"count",type:"USHORT",value:h.length},{name:"stringOffset",type:"USHORT",value:6+h.length*12}]);for(let w=0;w<h.length;w++)B.fields.push({name:"record_"+w,type:"RECORD",value:h[w]});return B.fields.push({name:"strings",type:"LITERAL",value:d}),B}function ui(t,n,s=[]){if(n<256&&n in pr){if(s.length&&!s.includes(parseInt(n)))return;n=pr[n]}for(let o in t)for(let c in t[o])if(c===n||parseInt(c)===n)return t[o][c]}var dn={parse:Na,make:As,getNameByID:ui};function ls(t,n,s,o){t.length=n.parseUShort(),t.language=n.parseUShort()-1;let c=n.parseByteList(t.length),h=Object.assign({},c),d=Ti(s,o,t.language),B=Oe[d];for(let w=0;w<B.length;w++)h[B.charCodeAt(w)]=c[128+w];t.glyphIndexMap=h}function cs(t,n,s){n.parseUShort(),t.length=n.parseULong(),t.language=n.parseULong();let o;t.groupCount=o=n.parseULong(),t.glyphIndexMap={};for(let c=0;c<o;c+=1){let h=n.parseULong(),d=n.parseULong(),B=n.parseULong();for(let w=h;w<=d;w+=1)t.glyphIndexMap[w]=B,s===12&&B++}}function us(t,n,s,o,c){t.length=n.parseUShort(),t.language=n.parseUShort();let h;t.segCount=h=n.parseUShort()>>1,n.skip("uShort",3),t.glyphIndexMap={};let d=new he.Parser(s,o+c+14),B=new he.Parser(s,o+c+16+h*2),w=new he.Parser(s,o+c+16+h*4),x=new he.Parser(s,o+c+16+h*6),C=o+c+16+h*8;for(let S=0;S<h-1;S+=1){let T,k=d.parseUShort(),U=B.parseUShort(),L=w.parseShort(),ee=x.parseUShort();for(let Te=U;Te<=k;Te+=1)ee!==0?(C=x.offset+x.relativeOffset-2,C+=ee,C+=(Te-U)*2,T=he.getUShort(s,C),T!==0&&(T=T+L&65535)):T=Te+L&65535,t.glyphIndexMap[Te]=T}}function hs(t,n){let s={};n.skip("uLong");let o=n.parseULong();for(let c=0;c<o;c+=1){let h=n.parseUInt24(),d={varSelector:h},B=n.parseOffset32(),w=n.parseOffset32(),x=n.relativeOffset;B&&(n.relativeOffset=B,d.defaultUVS=n.parseStruct({ranges:function(){return n.parseRecordList32({startUnicodeValue:n.parseUInt24,additionalCount:n.parseByte})}})),w&&(n.relativeOffset=w,d.nonDefaultUVS=n.parseStruct({uvsMappings:function(){let C={},S=n.parseRecordList32({unicodeValue:n.parseUInt24,glyphID:n.parseUShort});for(let T=0;T<S.length;T+=1)C[S[T].unicodeValue]=S[T];return C}})),s[h]=d,n.relativeOffset=x}t.varSelectorList=s}function Mi(t,n){let s={};s.version=he.getUShort(t,n),G.argument(s.version===0,"cmap table version should be 0."),s.numTables=he.getUShort(t,n+2);let o=null,c=-1,h=-1,d=null,B=null,w=[0,1,2,3,4,6],x=[0,1,10];for(let S=s.numTables-1;S>=0;S-=1)if(d=he.getUShort(t,n+4+S*8),B=he.getUShort(t,n+4+S*8+2),d===3&&x.includes(B)||d===0&&w.includes(B)||d===1&&B===0){if(h>0)continue;if(h=he.getULong(t,n+4+S*8+4),o)break}else if(d===0&&B===5){if(c=he.getULong(t,n+4+S*8+4),o=new he.Parser(t,n+c),o.parseUShort()!==14)c=-1,o=null;else if(h>0)break}if(h===-1)throw new Error("No valid cmap sub-tables found.");let C=new he.Parser(t,n+h);if(s.format=C.parseUShort(),s.format===0)ls(s,C,d,B);else if(s.format===12||s.format===13)cs(s,C,s.format);else if(s.format===4)us(s,C,t,n,h);else throw new Error("Only format 0 (platformId 1, encodingId 0), 4, 12 and 14 cmap tables are supported (found format "+s.format+", platformId "+d+", encodingId "+B+").");return o&&hs(s,o),s}function N0(t,n,s){t.segments.push({end:n,start:n,delta:-(n-s),offset:0,glyphIndex:s})}function k0(t){t.segments.push({end:65535,start:65535,delta:1,offset:0})}function O0(t){if(t.length===0)return t;let n=[t[0]];for(let s=1;s<t.length;s++){let o=n[n.length-1],c=t[s];o.end+1===c.start&&o.delta===c.delta&&c.end!==65535?o.end=c.end:n.push(c)}return n}function Y0(t){let n=!0,s;for(s=t.length-1;s>0;s-=1)if(t.get(s).unicode>65535){n=!1;break}let o=[{name:"version",type:"USHORT",value:0},{name:"numTables",type:"USHORT",value:n?1:2},{name:"platformID",type:"USHORT",value:3},{name:"encodingID",type:"USHORT",value:1},{name:"offset",type:"ULONG",value:n?12:20}];n||o.push({name:"cmap12PlatformID",type:"USHORT",value:3},{name:"cmap12EncodingID",type:"USHORT",value:10},{name:"cmap12Offset",type:"ULONG",value:0}),o.push({name:"format",type:"USHORT",value:4},{name:"cmap4Length",type:"USHORT",value:0},{name:"language",type:"USHORT",value:0},{name:"segCountX2",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0});let c=new $.Table("cmap",o);for(c.segments=[],s=0;s<t.length;s+=1){let k=t.get(s);for(let U=0;U<k.unicodes.length;U+=1)N0(c,k.unicodes[U],s)}c.segments.sort(function(k,U){return k.start-U.start}),c.segments=O0(c.segments),k0(c);let h=c.segments.length,d=0,B=[],w=[],x=[],C=[],S=[],T=[];for(s=0;s<h;s+=1){let k=c.segments[s];k.end<=65535&&k.start<=65535?(B.push({name:"end_"+s,type:"USHORT",value:k.end}),w.push({name:"start_"+s,type:"USHORT",value:k.start}),x.push({name:"idDelta_"+s,type:"SHORT",value:k.delta}),C.push({name:"idRangeOffset_"+s,type:"USHORT",value:k.offset}),k.glyphId!==void 0&&S.push({name:"glyph_"+s,type:"USHORT",value:k.glyphId})):d+=1,!n&&k.glyphIndex!==void 0&&(T.push({name:"cmap12Start_"+s,type:"ULONG",value:k.start}),T.push({name:"cmap12End_"+s,type:"ULONG",value:k.end}),T.push({name:"cmap12Glyph_"+s,type:"ULONG",value:k.glyphIndex}))}c.segCountX2=(h-d)*2,c.searchRange=Math.pow(2,Math.floor(Math.log(h-d)/Math.log(2)))*2,c.entrySelector=Math.log(c.searchRange/2)/Math.log(2),c.rangeShift=c.segCountX2-c.searchRange;for(let k=0;k<B.length;k++)c.fields.push(B[k]);c.fields.push({name:"reservedPad",type:"USHORT",value:0});for(let k=0;k<w.length;k++)c.fields.push(w[k]);for(let k=0;k<x.length;k++)c.fields.push(x[k]);for(let k=0;k<C.length;k++)c.fields.push(C[k]);for(let k=0;k<S.length;k++)c.fields.push(S[k]);if(c.cmap4Length=14+B.length*2+2+w.length*2+x.length*2+C.length*2+S.length*2,!n){let k=16+T.length*4;c.cmap12Offset=20+c.cmap4Length,c.fields.push({name:"cmap12Format",type:"USHORT",value:12},{name:"cmap12Reserved",type:"USHORT",value:0},{name:"cmap12Length",type:"ULONG",value:k},{name:"cmap12Language",type:"ULONG",value:0},{name:"cmap12nGroups",type:"ULONG",value:T.length/3});for(let U=0;U<T.length;U++)c.fields.push(T[U])}return c}var Wl={parse:Mi,make:Y0},ps=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","266 ff","onedotenleader","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall","001.000","001.001","001.002","001.003","Black","Bold","Book","Light","Medium","Regular","Roman","Semibold"],R0=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron"],G0=[".notdef","space","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],L0=[".notdef","space","dollaroldstyle","dollarsuperior","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","hyphensuperior","colonmonetary","onefitted","rupiah","centoldstyle","figuredash","hypheninferior","onequarter","onehalf","threequarters","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior"],ka=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","","endash","dagger","daggerdbl","periodcentered","","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","","questiondown","","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","","ring","cedilla","","hungarumlaut","ogonek","caron","emdash","","","","","","","","","","","","","","","","","AE","","ordfeminine","","","","","Lslash","Oslash","OE","ordmasculine","","","","","","ae","","","","dotlessi","","","lslash","oslash","oe","germandbls"],P0=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","","asuperior","bsuperior","centsuperior","dsuperior","esuperior","","","isuperior","","","lsuperior","msuperior","nsuperior","osuperior","","","rsuperior","ssuperior","tsuperior","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdownsmall","centoldstyle","Lslashsmall","","","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","","Dotaccentsmall","","","Macronsmall","","","figuredash","hypheninferior","","","Ogoneksmall","Ringsmall","Cedillasmall","","","","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],hi=[".notdef",".null","nonmarkingreturn","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","nonbreakingspace","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron","Lslash","lslash","Scaron","scaron","Zcaron","zcaron","brokenbar","Eth","eth","Yacute","yacute","Thorn","thorn","minus","multiply","onesuperior","twosuperior","threesuperior","onehalf","onequarter","threequarters","franc","Gbreve","gbreve","Idotaccent","Scedilla","scedilla","Cacute","cacute","Ccaron","ccaron","dcroat"];function Jl(t){this.font=t}Jl.prototype.charToGlyphIndex=function(t){let n=t.codePointAt(0),s=this.font.glyphs;if(s)for(let o=0;o<s.length;o+=1){let c=s.get(o);for(let h=0;h<c.unicodes.length;h+=1)if(c.unicodes[h]===n)return o}return null};function Vl(t){this.cmap=t}Vl.prototype.charToGlyphIndex=function(t){return this.cmap.glyphIndexMap[t.codePointAt(0)]||0};function jl(t,n){this.encoding=t,this.charset=n}jl.prototype.charToGlyphIndex=function(t){let n=t.codePointAt(0),s=this.encoding[n];return this.charset.indexOf(s)};function Oa(t){switch(t.version){case 1:this.names=hi.slice();break;case 2:this.names=new Array(t.numberOfGlyphs);for(let n=0;n<t.numberOfGlyphs;n++)t.glyphNameIndex[n]<hi.length?this.names[n]=hi[t.glyphNameIndex[n]]:this.names[n]=t.names[t.glyphNameIndex[n]-hi.length];break;case 2.5:this.names=new Array(t.numberOfGlyphs);for(let n=0;n<t.numberOfGlyphs;n++)this.names[n]=hi[n+t.glyphNameIndex[n]];break;case 3:this.names=[];break;default:this.names=[];break}}Oa.prototype.nameToGlyphIndex=function(t){return this.names.indexOf(t)},Oa.prototype.glyphIndexToName=function(t){return this.names[t]};function H0(t){let n,s=t.tables.cmap.glyphIndexMap,o=Object.keys(s);for(let c=0;c<o.length;c+=1){let h=o[c],d=s[h];n=t.glyphs.get(d),n.addUnicode(parseInt(h))}for(let c=0;c<t.glyphs.length;c+=1)n=t.glyphs.get(c),t.cffEncoding?n.name=t.cffEncoding.charset[c]:t.glyphNames.names&&(n.name=t.glyphNames.glyphIndexToName(c))}function W0(t){t._IndexToUnicodeMap={};let n=t.tables.cmap.glyphIndexMap,s=Object.keys(n);for(let o=0;o<s.length;o+=1){let c=s[o],h=n[c];t._IndexToUnicodeMap[h]===void 0?t._IndexToUnicodeMap[h]={unicodes:[parseInt(c)]}:t._IndexToUnicodeMap[h].unicodes.push(parseInt(c))}}function J0(t,n){n.lowMemory?W0(t):H0(t)}function V0(t,n,s,o,c){t.beginPath(),t.moveTo(n,s),t.lineTo(o,c),t.stroke()}var pi={line:V0};function j0(t,n){let s=new V(t,n),o=s.parseShort();o!==0&&console.warn("Only CPALv0 is currently fully supported.");let c=s.parseShort(),h=s.parseShort(),d=s.parseShort(),B=s.parseOffset32(),w=s.parseUShortList(h);s.relativeOffset=B;let x=s.parseULongList(d);return s.relativeOffset=B,{version:o,numPaletteEntries:c,colorRecords:x,colorRecordIndices:w}}function _0({version:t=0,numPaletteEntries:n=0,colorRecords:s=[],colorRecordIndices:o=[0]}){return G.argument(t===0,"Only CPALv0 are supported."),G.argument(s.length,"No colorRecords given."),G.argument(o.length,"No colorRecordIndices given."),o.length>1&&G.argument(n,"Can't infer numPaletteEntries on multiple colorRecordIndices"),new $.Table("CPAL",[{name:"version",type:"USHORT",value:t},{name:"numPaletteEntries",type:"USHORT",value:n||s.length},{name:"numPalettes",type:"USHORT",value:o.length},{name:"numColorRecords",type:"USHORT",value:s.length},{name:"colorRecordsArrayOffset",type:"ULONG",value:12+2*o.length},...o.map((c,h)=>({name:"colorRecordIndices_"+h,type:"USHORT",value:c})),...s.map((c,h)=>({name:"colorRecords_"+h,type:"ULONG",value:c}))])}function _l(t){var n=(t&4278190080)>>24,s=(t&16711680)>>16,o=(t&65280)>>8,c=t&255;return n=n+256&255,s=s+256&255,o=o+256&255,c=(c+256&255)/255,{b:n,g:s,r:o,a:c}}function Ya(t,n,s=0,o="hexa"){if(n==65535)return"currentColor";let c=t&&t.tables&&t.tables.cpal;if(!c)return"currentColor";if(s>c.colorRecordIndices.length-1)throw new Error(`Palette index out of range (colorRecordIndices.length: ${c.colorRecordIndices.length}, index: ${n})`);if(n>c.numPaletteEntries)throw new Error(`Color index out of range (numPaletteEntries: ${c.numPaletteEntries}, index: ${n})`);let h=c.colorRecordIndices[s]+n;if(h>c.colorRecords)throw new Error(`Color index out of range (colorRecords.length: ${c.colorRecords.length}, lookupIndex: ${h})`);let d=_l(c.colorRecords[h]);return o==="bgra"?d:Ui(d,o)}function rr(t){return("0"+parseInt(t).toString(16)).slice(-2)}function Z0(t){let n=t.r/255,s=t.g/255,o=t.b/255,c=Math.max(n,s,o),h=Math.min(n,s,o),d,B,w=(c+h)/2;if(c===h)d=B=0;else{let x=c-h;switch(B=w>.5?x/(2-c-h):x/(c+h),c){case n:d=(s-o)/x+(s<o?6:0);break;case s:d=(o-n)/x+2;break;case o:d=(n-s)/x+4;break}d/=6}return{h:d*360,s:B*100,l:w*100}}function z0(t){let{h:n,s,l:o,a:c}=t;n=n%360,s/=100,o/=100;let h=(1-Math.abs(2*o-1))*s,d=h*(1-Math.abs(n/60%2-1)),B=o-h/2,w=0,x=0,C=0;return 0<=n&&n<60?(w=h,x=d,C=0):60<=n&&n<120?(w=d,x=h,C=0):120<=n&&n<180?(w=0,x=h,C=d):180<=n&&n<240?(w=0,x=d,C=h):240<=n&&n<300?(w=d,x=0,C=h):300<=n&&n<=360&&(w=h,x=0,C=d),{r:Math.round((w+B)*255),g:Math.round((x+B)*255),b:Math.round((C+B)*255),a:c}}function Zl(t){return parseInt(`0x${rr(t.b)}${rr(t.g)}${rr(t.r)}${rr(t.a*255)}`,16)}function fs(t,n="hexa"){let s=n=="raw"||n=="cpal",o=Number.isInteger(t),c=!0;if(o&&s||t==="currentColor")return t;if(typeof t=="object"){if(n=="bgra")return t;if(s)return Zl(t)}else if(!o&&/^#([a-f0-9]{3}|[a-f0-9]{4}|[a-f0-9]{6}|[a-f0-9]{8})$/i.test(t.trim())){switch(t=t.trim().substring(1),t.length){case 3:t={r:parseInt(t[0].repeat(2),16),g:parseInt(t[1].repeat(2),16),b:parseInt(t[2].repeat(2),16),a:1};break;case 4:t={r:parseInt(t[0].repeat(2),16),g:parseInt(t[1].repeat(2),16),b:parseInt(t[2].repeat(2),16),a:parseInt(t[3].repeat(2),16)/255};break;case 6:t={r:parseInt(t[0]+t[1],16),g:parseInt(t[2]+t[3],16),b:parseInt(t[4]+t[5],16),a:1};break;case 8:t={r:parseInt(t[0]+t[1],16),g:parseInt(t[2]+t[3],16),b:parseInt(t[4]+t[5],16),a:parseInt(t[6]+t[7],16)/255};break}if(n=="bgra")return t}else if(typeof document<"u"&&/^[a-z]+$/i.test(t)){let h=document.createElement("canvas").getContext("2d");h.fillStyle=t;let d=Ui(h.fillStyle,"hexa");d==="#000000ff"&&t.toLowerCase()!=="black"?c=!1:t=d}else{t=t.trim();let h=/rgba?\(\s*(?:(\d*\.\d+)(%?)|(\d+)(%?))\s*(?:,|\s*)\s*(?:(\d*\.\d+)(%?)|(\d+)(%?))\s*(?:,|\s*)\s*(?:(\d*\.\d+)(%?)|(\d+)(%?))\s*(?:(?:,|\s|\/)\s*(?:(0*(?:\.\d+)?()|0*1(?:\.0+)?())|(?:\.\d+)|(\d+)(%)|(\d*\.\d+)(%)))?\s*\)/;if(h.test(t)){let d=t.match(h).filter(B=>typeof B<"u");t={r:Math.round(parseFloat(d[1])/(d[2]?.39215686274509803:1)),g:Math.round(parseFloat(d[3])/(d[4]?.39215686274509803:1)),b:Math.round(parseFloat(d[5])/(d[6]?.39215686274509803:1)),a:d[7]?parseFloat(d[7])/(d[8]?100:1):1}}else{let d=/hsla?\(\s*(?:(\d*\.\d+|\d+)(deg|turn|))\s*(?:,|\s*)\s*(?:(\d*\.\d+)%?|(\d+)%?)\s*(?:,|\s*)\s*(?:(\d*\.\d+)%?|(\d+)%?)\s*(?:(?:,|\s|\/)\s*(?:(0*(?:\.\d+)?()|0*1(?:\.0+)?())|(?:\.\d+)|(\d+)(%)|(\d*\.\d+)(%)))?\s*\)/;if(d.test(t)){let B=t.match(d).filter(w=>typeof w<"u");t=z0({h:parseFloat(B[1])*(B[2]==="turn"?360:1),s:parseFloat(B[3]),l:parseFloat(B[4]),a:B[5]?parseFloat(B[5])/(B[6]?100:1):1})}else c=!1}}if(!c)throw new Error(`Invalid color format: ${t}`);return Ui(t,n)}function Ui(t,n="hexa"){if(t==="currentColor")return t;if(Number.isInteger(t)){if(n=="raw"||n=="cpal")return t;t=_l(t)}else typeof t!="object"&&(t=fs(t,"bgra"));let s=["hsl","hsla"].includes(n)?Z0(t):null;switch(n){case"rgba":return`rgba(${t.r}, ${t.g}, ${t.b}, ${parseFloat(t.a.toFixed(3))})`;case"rgb":return`rgb(${t.r}, ${t.g}, ${t.b})`;case"hex":case"hex6":case"hex-6":return`#${rr(t.r)}${rr(t.g)}${rr(t.b)}`;case"hexa":case"hex8":case"hex-8":return`#${rr(t.r)}${rr(t.g)}${rr(t.b)}${rr(t.a*255)}`;case"hsl":return`hsl(${s.h.toFixed(2)}, ${s.s.toFixed(2)}%, ${s.l.toFixed(2)}%)`;case"hsla":return`hsla(${s.h.toFixed(2)}, ${s.s.toFixed(2)}%, ${s.l.toFixed(2)}%, ${parseFloat(t.a.toFixed(3))})`;case"bgra":return t;case"raw":case"cpal":return Zl(t);default:throw new Error("Unknown color format: "+n)}}var zl={parse:j0,make:_0,getPaletteColor:Ya,parseColor:fs,formatColor:Ui};function X0(t,n){let s=n||new X;return{configurable:!0,get:function(){return typeof s=="function"&&(s=s()),s},set:function(o){s=o}}}function Qt(t){this.bindConstructorValues(t)}Qt.prototype.bindConstructorValues=function(t){if(this.index=t.index||0,t.name===".notdef"?t.unicode=void 0:t.name===".null"&&(t.unicode=0),t.unicode===0&&t.name!==".null")throw new Error('The unicode value "0" is reserved for the glyph name ".null" and cannot be used by any other glyph.');this.name=t.name||null,this.unicode=t.unicode,this.unicodes=t.unicodes||(t.unicode!==void 0?[t.unicode]:[]),"xMin"in t&&(this.xMin=t.xMin),"yMin"in t&&(this.yMin=t.yMin),"xMax"in t&&(this.xMax=t.xMax),"yMax"in t&&(this.yMax=t.yMax),"advanceWidth"in t&&(this.advanceWidth=t.advanceWidth),"leftSideBearing"in t&&(this.leftSideBearing=t.leftSideBearing),"points"in t&&(this.points=t.points),Object.defineProperty(this,"path",X0(this,t.path))},Qt.prototype.addUnicode=function(t){this.unicodes.length===0&&(this.unicode=t),this.unicodes.push(t)},Qt.prototype.getBoundingBox=function(){return this.path.getBoundingBox()},Qt.prototype.getPath=function(t,n,s,o,c){t=t!==void 0?t:0,n=n!==void 0?n:0,s=s!==void 0?s:72,o=Object.assign({},c&&c.defaultRenderOptions,o);let h,d,B=o.xScale,w=o.yScale,x=1/(this.path.unitsPerEm||1e3)*s,C=this;c&&c.variation&&(C=c.variation.getTransform(this,o.variation),h=C.path.commands),o.hinting&&c&&c.hinting&&(d=C.path&&c.hinting.exec(C,s,o)),d?(h=c.hinting.getCommands(d),t=Math.round(t),n=Math.round(n),B=w=1):(h=C.path.commands,B===void 0&&(B=x),w===void 0&&(w=x));let S=new X;if(o.drawSVG){let T=this.getSvgImage(c);if(T){let k=new X;return k._image={image:T.image,x:t+T.leftSideBearing*x,y:n-T.baseline*x,width:T.image.width*x,height:T.image.height*x},S._layers=[k],S}}if(o.drawLayers){let T=this.getLayers(c);if(T&&T.length){S._layers=[];for(let k=0;k<T.length;k+=1){let U=T[k],L=Ya(c,U.paletteIndex,o.usePalette);L==="currentColor"?L=o.fill||"black":L=Ui(L,o.colorFormat||"rgba"),o=Object.assign({},o,{fill:L}),S._layers.push(this.getPath.call(U.glyph,t,n,s,o,c))}return S}}S.fill=o.fill||this.path.fill,S.stroke=this.path.stroke,S.strokeWidth=this.path.strokeWidth*x;for(let T=0;T<h.length;T+=1){let k=h[T];k.type==="M"?S.moveTo(t+k.x*B,n+-k.y*w):k.type==="L"?S.lineTo(t+k.x*B,n+-k.y*w):k.type==="Q"?S.quadraticCurveTo(t+k.x1*B,n+-k.y1*w,t+k.x*B,n+-k.y*w):k.type==="C"?S.curveTo(t+k.x1*B,n+-k.y1*w,t+k.x2*B,n+-k.y2*w,t+k.x*B,n+-k.y*w):k.type==="Z"&&S.stroke&&S.strokeWidth&&S.closePath()}return S},Qt.prototype.getLayers=function(t){if(!t)throw new Error("The font object is required to read the colr/cpal tables in order to get the layers.");return t.layers.get(this.index)},Qt.prototype.getSvgImage=function(t){if(!t)throw new Error("The font object is required to read the svg table in order to get the image.");return t.svgImages.get(this.index)},Qt.prototype.getContours=function(t=null){if(this.points===void 0&&!t)return[];let n=[],s=[],o=t||this.points;for(let c=0;c<o.length;c+=1){let h=o[c];s.push(h),h.lastPointOfContour&&(n.push(s),s=[])}return G.argument(s.length===0,"There are still points left in the current contour."),n},Qt.prototype.getMetrics=function(){let t=this.path.commands,n=[],s=[];for(let c=0;c<t.length;c+=1){let h=t[c];h.type!=="Z"&&(n.push(h.x),s.push(h.y)),(h.type==="Q"||h.type==="C")&&(n.push(h.x1),s.push(h.y1)),h.type==="C"&&(n.push(h.x2),s.push(h.y2))}let o={xMin:Math.min.apply(null,n),yMin:Math.min.apply(null,s),xMax:Math.max.apply(null,n),yMax:Math.max.apply(null,s),leftSideBearing:this.leftSideBearing};return isFinite(o.xMin)||(o.xMin=0),isFinite(o.xMax)||(o.xMax=this.advanceWidth),isFinite(o.yMin)||(o.yMin=0),isFinite(o.yMax)||(o.yMax=0),o.rightSideBearing=this.advanceWidth-o.leftSideBearing-(o.xMax-o.xMin),o},Qt.prototype.draw=function(t,n,s,o,c,h){c=Object.assign({},h&&h.defaultRenderOptions,c),this.getPath(n,s,o,c,h).draw(t)},Qt.prototype.drawPoints=function(t,n,s,o,c,h){if(c=Object.assign({},h&&h.defaultRenderOptions,c),c.drawLayers){let T=this.getLayers(h);if(T&&T.length){for(let k=0;k<T.length;k+=1)T[k].glyph.index!==this.index&&this.drawPoints.call(T[k].glyph,t,n,s,o);return}}function d(T,k,U,L){t.beginPath();for(let ee=0;ee<T.length;ee+=1)t.moveTo(k+T[ee].x*L,U+T[ee].y*L),t.arc(k+T[ee].x*L,U+T[ee].y*L,2,0,Math.PI*2,!1);t.fill()}n=n!==void 0?n:0,s=s!==void 0?s:0,o=o!==void 0?o:24;let B=1/this.path.unitsPerEm*o,w=[],x=[],S=this.path.commands;h&&h.variation&&(S=h.variation.getTransform(this,c.variation).path.commands);for(let T=0;T<S.length;T+=1){let k=S[T];k.x!==void 0&&w.push({x:k.x,y:-k.y}),k.x1!==void 0&&x.push({x:k.x1,y:-k.y1}),k.x2!==void 0&&x.push({x:k.x2,y:-k.y2})}t.fillStyle="blue",d(w,n,s,B),t.fillStyle="red",d(x,n,s,B)},Qt.prototype.drawMetrics=function(t,n,s,o){let c;n=n!==void 0?n:0,s=s!==void 0?s:0,o=o!==void 0?o:24,c=1/this.path.unitsPerEm*o,t.lineWidth=1,t.strokeStyle="black",pi.line(t,n,-1e4,n,1e4),pi.line(t,-1e4,s,1e4,s);let h=this.xMin||0,d=this.yMin||0,B=this.xMax||0,w=this.yMax||0,x=this.advanceWidth||0;t.strokeStyle="blue",pi.line(t,n+h*c,-1e4,n+h*c,1e4),pi.line(t,n+B*c,-1e4,n+B*c,1e4),pi.line(t,-1e4,s+-d*c,1e4,s+-d*c),pi.line(t,-1e4,s+-w*c,1e4,s+-w*c),t.strokeStyle="green",pi.line(t,n+x*c,-1e4,n+x*c,1e4)},Qt.prototype.toPathData=function(t,n){t=Object.assign({},{variation:n&&n.defaultRenderOptions.variation},t);let s=this;n&&n.variation&&(s=n.variation.getTransform(this,t.variation));let o=s.points&&t.pointsTransform?t.pointsTransform(s.points):s.path;return t.pathTransform&&(o=t.pathTransform(o)),o.toPathData(t)},Qt.prototype.fromSVG=function(t,n={}){return this.path.fromSVG(t,n)},Qt.prototype.toSVG=function(t,n){let s=this.toPathData.apply(this,[t,n]);return this.path.toSVG(t,s)},Qt.prototype.toDOMElement=function(t,n){t=Object.assign({},{variation:n&&n.defaultRenderOptions.variation},t);let s=this.path;return n&&n.variation&&(s=n.variation.getTransform(this,t.variation).path),s.toDOMElement(t)};var Ni=Qt;function ki(t,n,s){Object.defineProperty(t,n,{get:function(){return typeof t[s]>"u"&&t.path,t[s]},set:function(o){t[s]=o},enumerable:!0,configurable:!0})}function ds(t,n){if(this.font=t,this.glyphs={},Array.isArray(n))for(let s=0;s<n.length;s++){let o=n[s];o.path.unitsPerEm=t.unitsPerEm,this.glyphs[s]=o}this.length=n&&n.length||0}typeof Symbol<"u"&&Symbol.iterator&&(ds.prototype[Symbol.iterator]=function(){let t=-1;return{next:function(){t++;let n=t>=this.length-1;return{value:this.get(t),done:n}}.bind(this)}}),ds.prototype.get=function(t){if(this.font._push&&this.glyphs[t]===void 0){this.font._push(t),typeof this.glyphs[t]=="function"&&(this.glyphs[t]=this.glyphs[t]());let n=this.glyphs[t],s=this.font._IndexToUnicodeMap[t];if(s)for(let o=0;o<s.unicodes.length;o++)n.addUnicode(s.unicodes[o]);this.font.cffEncoding?n.name=this.font.cffEncoding.charset[t]:this.font.glyphNames.names&&(n.name=this.font.glyphNames.glyphIndexToName(t)),this.glyphs[t].advanceWidth=this.font._hmtxTableData[t].advanceWidth,this.glyphs[t].leftSideBearing=this.font._hmtxTableData[t].leftSideBearing}else typeof this.glyphs[t]=="function"&&(this.glyphs[t]=this.glyphs[t]());return this.glyphs[t]},ds.prototype.push=function(t,n){this.glyphs[t]=n,this.length++};function q0(t,n){return new Ni({index:n,font:t})}function K0(t,n,s,o,c,h){return function(){let d=new Ni({index:n,font:t});return d.path=function(){s(d,o,c);let B=h(t.glyphs,d);return B.unitsPerEm=t.unitsPerEm,B},ki(d,"numberOfContours","_numberOfContours"),ki(d,"xMin","_xMin"),ki(d,"xMax","_xMax"),ki(d,"yMin","_yMin"),ki(d,"yMax","_yMax"),ki(d,"points","_points"),d}}function $0(t,n,s,o,c){return function(){let h=new Ni({index:n,font:t});return h.path=function(){let d=s(t,h,o,c);return d.unitsPerEm=t.unitsPerEm,d},h}}var dr={GlyphSet:ds,glyphLoader:q0,ttfGlyphLoader:K0,cffGlyphLoader:$0};function Xl(t,n){if(t===n)return!0;if(Array.isArray(t)&&Array.isArray(n)){if(t.length!==n.length)return!1;for(let s=0;s<t.length;s+=1)if(!Xl(t[s],n[s]))return!1;return!0}else return!1}var ql=10;function gs(t){let n;return t.length<1240?n=107:t.length<33900?n=1131:n=32768,n}function gr(t,n,s,o){let c=[],h=[],d=o>1?he.getULong(t,n):he.getCard16(t,n),B=o>1?4:2,w,x;if(d!==0){let C=he.getByte(t,n+B);w=n+(d+1)*C+B;let S=n+B+1;for(let T=0;T<d+1;T+=1)c.push(he.getOffset(t,S,C)),S+=C;x=w+c[d]}else x=n+B;for(let C=0;C<c.length-1;C+=1){let S=he.getBytes(t,w+c[C],w+c[C+1]);s&&(S=s(S,t,n,o)),h.push(S)}return{objects:h,startOffset:n,endOffset:x}}function eB(t,n,s){let o=[],c=s>1?he.getULong(t,n):he.getCard16(t,n),h=s>1?4:2,d,B;if(c!==0){let w=he.getByte(t,n+h);d=n+(c+1)*w+h;let x=n+h+1;for(let C=0;C<c+1;C+=1)o.push(he.getOffset(t,x,w)),x+=w;B=d+o[c]}else B=n+h;return{offsets:o,startOffset:n,endOffset:B}}function tB(t,n,s,o,c,h){let d=h>1?he.getULong(s,o):he.getCard16(s,o),B=h>1?4:2,w=0;if(d!==0){let C=he.getByte(s,o+B);w=o+(d+1)*C+B}let x=he.getBytes(s,w+n[t],w+n[t+1]);return c&&(x=c(x)),x}function rB(t){let n="",o=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"];for(;;){let c=t.parseByte(),h=c>>4,d=c&15;if(h===15||(n+=o[h],d===15))break;n+=o[d]}return parseFloat(n)}function iB(t,n){let s,o,c,h;if(n===28)return s=t.parseByte(),o=t.parseByte(),s<<8|o;if(n===29)return s=t.parseByte(),o=t.parseByte(),c=t.parseByte(),h=t.parseByte(),s<<24|o<<16|c<<8|h;if(n===30)return rB(t);if(n>=32&&n<=246)return n-139;if(n>=247&&n<=250)return s=t.parseByte(),(n-247)*256+s+108;if(n>=251&&n<=254)return s=t.parseByte(),-(n-251)*256-s-108;throw new Error("Invalid b0 "+n)}function nB(t){let n={};for(let s=0;s<t.length;s+=1){let o=t[s][0],c=t[s][1],h;if(c.length===1?h=c[0]:h=c,Object.prototype.hasOwnProperty.call(n,o)&&!isNaN(n[o]))throw new Error("Object "+n+" already has key "+o);n[o]=h}return n}function Ra(t,n,s,o){n=n!==void 0?n:0;let c=new he.Parser(t,n),h=[],d=[];s=s!==void 0?s:t.byteLength;let B=o<2?22:28;for(;c.relativeOffset<s;){let w=c.parseByte();if(w<B){if(w===12&&(w=1200+c.parseByte()),o>1&&w===23){hB(d);continue}h.push([w,d]),d=[]}else d.push(iB(c,w,o))}return nB(h)}function gn(t,n){return n<=390?n=ps[n]:t?n=t[n-391]:n=void 0,n}function Ga(t,n,s){let o={},c;for(let h=0;h<n.length;h+=1){let d=n[h];if(Array.isArray(d.type)){let B=[];B.length=d.type.length;for(let w=0;w<d.type.length;w++)c=t[d.op]!==void 0?t[d.op][w]:void 0,c===void 0&&(c=d.value!==void 0&&d.value[w]!==void 0?d.value[w]:null),d.type[w]==="SID"&&(c=gn(s,c)),B[w]=c;o[d.name]=B}else c=t[d.op],c===void 0&&(c=d.value!==void 0?d.value:null),d.type==="SID"&&(c=gn(s,c)),o[d.name]=c}return o}function sB(t,n){let s={};if(s.formatMajor=he.getCard8(t,n),s.formatMinor=he.getCard8(t,n+1),s.formatMajor>2)throw new Error(`Unsupported CFF table version ${s.formatMajor}.${s.formatMinor}`);return s.size=he.getCard8(t,n+2),s.formatMajor<2?(s.offsetSize=he.getCard8(t,n+3),s.startOffset=n,s.endOffset=n+4):(s.topDictLength=he.getCard16(t,n+3),s.endOffset=n+8),s}var Kl=[{name:"version",op:0,type:"SID"},{name:"notice",op:1,type:"SID"},{name:"copyright",op:1200,type:"SID"},{name:"fullName",op:2,type:"SID"},{name:"familyName",op:3,type:"SID"},{name:"weight",op:4,type:"SID"},{name:"isFixedPitch",op:1201,type:"number",value:0},{name:"italicAngle",op:1202,type:"number",value:0},{name:"underlinePosition",op:1203,type:"number",value:-100},{name:"underlineThickness",op:1204,type:"number",value:50},{name:"paintType",op:1205,type:"number",value:0},{name:"charstringType",op:1206,type:"number",value:2},{name:"fontMatrix",op:1207,type:["real","real","real","real","real","real"],value:[.001,0,0,.001,0,0]},{name:"uniqueId",op:13,type:"number"},{name:"fontBBox",op:5,type:["number","number","number","number"],value:[0,0,0,0]},{name:"strokeWidth",op:1208,type:"number",value:0},{name:"xuid",op:14,type:[],value:null},{name:"charset",op:15,type:"offset",value:0},{name:"encoding",op:16,type:"offset",value:0},{name:"charStrings",op:17,type:"offset",value:0},{name:"private",op:18,type:["number","offset"],value:[0,0]},{name:"ros",op:1230,type:["SID","SID","number"]},{name:"cidFontVersion",op:1231,type:"number",value:0},{name:"cidFontRevision",op:1232,type:"number",value:0},{name:"cidFontType",op:1233,type:"number",value:0},{name:"cidCount",op:1234,type:"number",value:8720},{name:"uidBase",op:1235,type:"number"},{name:"fdArray",op:1236,type:"offset"},{name:"fdSelect",op:1237,type:"offset"},{name:"fontName",op:1238,type:"SID"}],$l=[{name:"fontMatrix",op:1207,type:["real","real","real","real","real","real"],value:[.001,0,0,.001,0,0]},{name:"charStrings",op:17,type:"offset"},{name:"fdArray",op:1236,type:"offset"},{name:"fdSelect",op:1237,type:"offset"},{name:"vstore",op:24,type:"offset"}],ec=[{name:"subrs",op:19,type:"offset",value:0},{name:"defaultWidthX",op:20,type:"number",value:0},{name:"nominalWidthX",op:21,type:"number",value:0}],tc=[{name:"blueValues",op:6,type:"delta"},{name:"otherBlues",op:7,type:"delta"},{name:"familyBlues",op:7,type:"delta"},{name:"familyBlues",op:8,type:"delta"},{name:"familyOtherBlues",op:9,type:"delta"},{name:"blueScale",op:1209,type:"number",value:.039625},{name:"blueShift",op:1210,type:"number",value:7},{name:"blueFuzz",op:1211,type:"number",value:1},{name:"stdHW",op:10,type:"number"},{name:"stdVW",op:11,type:"number"},{name:"stemSnapH",op:1212,type:"number"},{name:"stemSnapV",op:1213,type:"number"},{name:"languageGroup",op:1217,type:"number",value:0},{name:"expansionFactor",op:1218,type:"number",value:.06},{name:"vsindex",op:22,type:"number",value:0},{name:"subrs",op:19,type:"offset"}],aB=[{name:"private",op:18,type:["number","offset"],value:[0,0]}];function oB(t,n,s,o){let c=Ra(t,n,t.byteLength,o);return Ga(c,o>1?$l:Kl,s)}function La(t,n,s,o,c){let h=Ra(t,n,s,c);return Ga(h,c>1?tc:ec,o)}function AB(t,n,s){let o=Ra(t,n,void 0,s);return Ga(o,aB)}function lB(t,n,s){let o=[];for(let c=0;c<s.length;c++){let h=new DataView(new Uint8Array(s[c]).buffer),d=AB(h,0,2),B=d.private[0],w=d.private[1];if(B!==0&&w!==0){let x=La(t,w+n,B,[],2);if(x.subrs){let C=w+x.subrs,S=gr(t,C+n,void 0,2);d._subrs=S.objects,d._subrsBias=gs(d._subrs)}d._privateDict=x}o.push(d)}return o}function Pa(t,n,s,o,c){let h=[];for(let d=0;d<s.length;d+=1){let B=new DataView(new Uint8Array(s[d]).buffer),w=oB(B,0,o,c);w._subrs=[],w._subrsBias=0,w._defaultWidthX=0,w._nominalWidthX=0;let x=c<2?w.private[0]:0,C=c<2?w.private[1]:0;if(x!==0&&C!==0){let S=La(t,C+n,x,o,c);if(w._defaultWidthX=S.defaultWidthX,w._nominalWidthX=S.nominalWidthX,S.subrs!==0){let T=C+S.subrs,k=gr(t,T+n,void 0,c);w._subrs=k.objects,w._subrsBias=gs(w._subrs)}w._privateDict=S}h.push(w)}return h}function cB(t,n,s,o,c){let h,d,B=new he.Parser(t,n);s-=1;let w=[".notdef"],x=B.parseCard8();if(x===0)for(let C=0;C<s;C+=1)h=B.parseSID(),c?w.push(h):w.push(gn(o,h)||h);else if(x===1)for(;w.length<=s;){h=B.parseSID(),d=B.parseCard8();for(let C=0;C<=d;C+=1)c?w.push("cid"+("00000"+h).slice(-5)):w.push(gn(o,h)||h),h+=1}else if(x===2)for(;w.length<=s;){h=B.parseSID(),d=B.parseCard16();for(let C=0;C<=d;C+=1)c?w.push("cid"+("00000"+h).slice(-5)):w.push(gn(o,h)||h),h+=1}else throw new Error("Unknown charset format "+x);return w}function uB(t,n){let s,o={},c=new he.Parser(t,n),h=c.parseCard8();if(h===0){let d=c.parseCard8();for(let B=0;B<d;B+=1)s=c.parseCard8(),o[s]=B}else if(h===1){let d=c.parseCard8();s=1;for(let B=0;B<d;B+=1){let w=c.parseCard8(),x=c.parseCard8();for(let C=w;C<=w+x;C+=1)o[C]=s,s+=1}}else throw new Error("Unknown encoding format "+h);return o}function hB(t){let n=t.pop();for(;t.length>n;)t.pop()}function rc(t,n){let s=t.tables.cff&&t.tables.cff.topDict&&t.tables.cff.topDict.paintType||0;return s===2&&(n.fill=null,n.stroke="black",n.strokeWidth=t.tables.cff.topDict.strokeWidth||0),s}function Ha(t,n,s,o,c){let h,d,B,w,x=new X,C=[],S=0,T=!1,k=!1,U=0,L=0,ee,Te,xe,Re,Je=0,$e=[],nt,st=0,Bt=t.tables.cff2||t.tables.cff;if(xe=Bt.topDict._defaultWidthX,Re=Bt.topDict._nominalWidthX,c=c||t.variation&&t.variation.get(),n.getBlendPath||(n.getBlendPath=function(we){return Ha(t,n,s,o,we)}),t.isCIDFont||o>1){let we=Bt.topDict._fdSelect?Bt.topDict._fdSelect[n.index]:0,Ce=Bt.topDict._fdArray[we];ee=Ce._subrs,Te=Ce._subrsBias,o>1?($e=Bt.topDict._vstore.itemVariationStore,Je=Ce._privateDict.vsindex):(xe=Ce._defaultWidthX,Re=Ce._nominalWidthX)}else ee=Bt.topDict._subrs,Te=Bt.topDict._subrsBias;let sr=rc(t,x),Ve=xe;function Vt(we,Ce){k&&sr!==2&&x.closePath(),x.moveTo(we,Ce),k=!0}function Dt(){let we;we=(C.length&1)!==0,we&&!T&&(Ve=C.shift()+Re),S+=C.length>>1,C.length=0,T=!0}function Se(we){let Ce,vt,$r,vs,mi,ar,Mt,zt,It,jt,Ut,Nt,gt=0;for(;gt<we.length;){let qt=we[gt];switch(gt+=1,qt){case 1:Dt();break;case 3:Dt();break;case 4:C.length>1&&!T&&(Ve=C.shift()+Re,T=!0),L+=C.pop(),Vt(U,L);break;case 5:for(;C.length>0;)U+=C.shift(),L+=C.shift(),x.lineTo(U,L);break;case 6:for(;C.length>0&&(U+=C.shift(),x.lineTo(U,L),C.length!==0);)L+=C.shift(),x.lineTo(U,L);break;case 7:for(;C.length>0&&(L+=C.shift(),x.lineTo(U,L),C.length!==0);)U+=C.shift(),x.lineTo(U,L);break;case 8:for(;C.length>0;)h=U+C.shift(),d=L+C.shift(),B=h+C.shift(),w=d+C.shift(),U=B+C.shift(),L=w+C.shift(),x.curveTo(h,d,B,w,U,L);break;case 10:if(mi=C.pop()+Te,ar=ee[mi],ar){if(st>=ql){console.warn("CFF charstring subroutine call depth exceeded, skipping callsubr");break}st++,Se(ar),st--}break;case 11:if(o>1){console.error("CFF CharString operator return (11) is not supported in CFF2");break}return;case 12:switch(qt=we[gt],gt+=1,qt){case 35:h=U+C.shift(),d=L+C.shift(),B=h+C.shift(),w=d+C.shift(),Mt=B+C.shift(),zt=w+C.shift(),It=Mt+C.shift(),jt=zt+C.shift(),Ut=It+C.shift(),Nt=jt+C.shift(),U=Ut+C.shift(),L=Nt+C.shift(),C.shift(),x.curveTo(h,d,B,w,Mt,zt),x.curveTo(It,jt,Ut,Nt,U,L);break;case 34:h=U+C.shift(),d=L,B=h+C.shift(),w=d+C.shift(),Mt=B+C.shift(),zt=w,It=Mt+C.shift(),jt=w,Ut=It+C.shift(),Nt=L,U=Ut+C.shift(),x.curveTo(h,d,B,w,Mt,zt),x.curveTo(It,jt,Ut,Nt,U,L);break;case 36:h=U+C.shift(),d=L+C.shift(),B=h+C.shift(),w=d+C.shift(),Mt=B+C.shift(),zt=w,It=Mt+C.shift(),jt=w,Ut=It+C.shift(),Nt=jt+C.shift(),U=Ut+C.shift(),x.curveTo(h,d,B,w,Mt,zt),x.curveTo(It,jt,Ut,Nt,U,L);break;case 37:h=U+C.shift(),d=L+C.shift(),B=h+C.shift(),w=d+C.shift(),Mt=B+C.shift(),zt=w+C.shift(),It=Mt+C.shift(),jt=zt+C.shift(),Ut=It+C.shift(),Nt=jt+C.shift(),Math.abs(Ut-U)>Math.abs(Nt-L)?U=Ut+C.shift():L=Nt+C.shift(),x.curveTo(h,d,B,w,Mt,zt),x.curveTo(It,jt,Ut,Nt,U,L);break;default:console.log("Glyph "+n.index+": unknown operator 1200"+qt),C.length=0}break;case 14:if(o>1){console.error("CFF CharString operator endchar (14) is not supported in CFF2");break}if(C.length>=4){let Bi=ka[C.pop()],Gi=ka[C.pop()],Is=C.pop(),Fs=C.pop();if(Bi&&Gi){n.isComposite=!0,n.components=[];let mu=t.cffEncoding.charset.indexOf(Bi),Bu=t.cffEncoding.charset.indexOf(Gi);n.components.push({glyphIndex:Bu,dx:0,dy:0}),n.components.push({glyphIndex:mu,dx:Fs,dy:Is}),x.extend(t.glyphs.get(Bu).path);let zy=t.glyphs.get(mu),ao=JSON.parse(JSON.stringify(zy.path.commands));for(let oo=0;oo<ao.length;oo+=1){let Br=ao[oo];Br.type!=="Z"&&(Br.x+=Fs,Br.y+=Is),(Br.type==="Q"||Br.type==="C")&&(Br.x1+=Fs,Br.y1+=Is),Br.type==="C"&&(Br.x2+=Fs,Br.y2+=Is)}x.extend(ao)}}else C.length>0&&!T&&(Ve=C.shift()+Re,T=!0);k&&sr!==2&&(x.closePath(),k=!1);break;case 15:if(o<2){console.error("CFF2 CharString operator vsindex (15) is not supported in CFF");break}Je=C.pop();break;case 16:if(o<2){console.error("CFF2 CharString operator blend (16) is not supported in CFF");break}nt||(nt=t.variation&&c&&t.variation.process.getBlendVector($e,Je,c));var at=C.pop(),Yt=nt?nt.length:$e.itemVariationSubtables[Je].regionIndexes.length,Xt=at*Yt,or=C.length-Xt,Mr=or-at;if(nt)for(let Bi=0;Bi<at;Bi++){var gu=C[Mr+Bi];for(let Gi=0;Gi<Yt;Gi++)gu+=nt[Gi]*C[or++];C[Mr+Bi]=gu}for(;Xt--;)C.pop();break;case 18:Dt();break;case 19:case 20:Dt(),gt+=S+7>>3;break;case 21:C.length>2&&!T&&(Ve=C.shift()+Re,T=!0),L+=C.pop(),U+=C.pop(),Vt(U,L);break;case 22:C.length>1&&!T&&(Ve=C.shift()+Re,T=!0),U+=C.pop(),Vt(U,L);break;case 23:Dt();break;case 24:for(;C.length>2;)h=U+C.shift(),d=L+C.shift(),B=h+C.shift(),w=d+C.shift(),U=B+C.shift(),L=w+C.shift(),x.curveTo(h,d,B,w,U,L);U+=C.shift(),L+=C.shift(),x.lineTo(U,L);break;case 25:for(;C.length>6;)U+=C.shift(),L+=C.shift(),x.lineTo(U,L);h=U+C.shift(),d=L+C.shift(),B=h+C.shift(),w=d+C.shift(),U=B+C.shift(),L=w+C.shift(),x.curveTo(h,d,B,w,U,L);break;case 26:for(C.length&1&&(U+=C.shift());C.length>0;)h=U,d=L+C.shift(),B=h+C.shift(),w=d+C.shift(),U=B,L=w+C.shift(),x.curveTo(h,d,B,w,U,L);break;case 27:for(C.length&1&&(L+=C.shift());C.length>0;)h=U+C.shift(),d=L,B=h+C.shift(),w=d+C.shift(),U=B+C.shift(),L=w,x.curveTo(h,d,B,w,U,L);break;case 28:Ce=we[gt],vt=we[gt+1],C.push((Ce<<24|vt<<16)>>16),gt+=2;break;case 29:if(mi=C.pop()+t.gsubrsBias,ar=t.gsubrs[mi],ar){if(st>=ql){console.warn("CFF charstring subroutine call depth exceeded, skipping callgsubr");break}st++,Se(ar),st--}break;case 30:for(;C.length>0&&(h=U,d=L+C.shift(),B=h+C.shift(),w=d+C.shift(),U=B+C.shift(),L=w+(C.length===1?C.shift():0),x.curveTo(h,d,B,w,U,L),C.length!==0);)h=U+C.shift(),d=L,B=h+C.shift(),w=d+C.shift(),L=w+C.shift(),U=B+(C.length===1?C.shift():0),x.curveTo(h,d,B,w,U,L);break;case 31:for(;C.length>0&&(h=U+C.shift(),d=L,B=h+C.shift(),w=d+C.shift(),L=w+C.shift(),U=B+(C.length===1?C.shift():0),x.curveTo(h,d,B,w,U,L),C.length!==0);)h=U,d=L+C.shift(),B=h+C.shift(),w=d+C.shift(),U=B+C.shift(),L=w+(C.length===1?C.shift():0),x.curveTo(h,d,B,w,U,L);break;default:qt<32?console.log("Glyph "+n.index+": unknown operator "+qt):qt<247?C.push(qt-139):qt<251?(Ce=we[gt],gt+=1,C.push((qt-247)*256+Ce+108)):qt<255?(Ce=we[gt],gt+=1,C.push(-(qt-251)*256-Ce-108)):(Ce=we[gt],vt=we[gt+1],$r=we[gt+2],vs=we[gt+3],gt+=4,C.push((Ce<<24|vt<<16|$r<<8|vs)/65536))}}}return Se(s),t.variation&&c&&(x.commands=x.commands.map(we=>{let Ce=Object.keys(we);for(let vt=0;vt<Ce.length;vt++){let $r=Ce[vt];$r!=="type"&&(we[$r]=Math.round(we[$r]))}return we})),T&&(n.advanceWidth=Ve),x}function ic(t,n,s,o,c){let h=[],d,B=new he.Parser(t,n),w=B.parseCard8();if(w===0)for(let x=0;x<s;x++){if(d=B.parseCard8(),d>=o)throw new Error("CFF table CID Font FDSelect has bad FD index value "+d+" (FD count "+o+")");h.push(d)}else if(w===3||c>1&&w===4){let x=w===4?B.parseULong():B.parseCard16(),C=w===4?B.parseULong():B.parseCard16();if(C!==0)throw new Error(`CFF Table CID Font FDSelect format ${w} range has bad initial GID ${C}`);let S;for(let T=0;T<x;T++){if(d=w===4?B.parseUShort():B.parseCard8(),S=w===4?B.parseULong():B.parseCard16(),d>=o)throw new Error("CFF table CID Font FDSelect has bad FD index value "+d+" (FD count "+o+")");if(S>s)throw new Error(`CFF Table CID Font FDSelect format ${c} range has bad GID ${S}`);for(;C<S;C++)h.push(d);C=S}if(S!==s)throw new Error("CFF Table CID Font FDSelect format 3 range has bad final (Sentinal) GID "+S)}else throw new Error("CFF Table CID Font FDSelect table has unsupported format "+w);return h}function pB(t,n,s,o){let c,h=sB(t,n);h.formatMajor===2?c=s.tables.cff2={}:c=s.tables.cff={};let d=h.formatMajor>1?null:gr(t,h.endOffset,he.bytesToString),B=h.formatMajor>1?null:gr(t,d.endOffset),w=h.formatMajor>1?null:gr(t,B.endOffset,he.bytesToString),x=gr(t,h.formatMajor>1?n+h.size+h.topDictLength:w.endOffset,void 0,h.formatMajor);s.gsubrs=x.objects,s.gsubrsBias=gs(s.gsubrs);let C;if(h.formatMajor>1){let T=n+h.size,k=he.getBytes(t,T,T+h.topDictLength);C=Pa(t,0,[k],void 0,h.formatMajor)[0]}else{let T=Pa(t,n,B.objects,w.objects,h.formatMajor);if(T.length!==1)throw new Error("CFF table has too many fonts in 'FontSet' - count of fonts NameIndex.length = "+T.length);C=T[0]}if(c.topDict=C,C._privateDict&&(s.defaultWidthX=C._privateDict.defaultWidthX,s.nominalWidthX=C._privateDict.nominalWidthX),h.formatMajor<2&&C.ros[0]!==void 0&&C.ros[1]!==void 0&&(s.isCIDFont=!0),h.formatMajor>1){let T=C.fdArray,k=C.fdSelect;if(!T)throw new Error("This is a CFF2 font, but FDArray information is missing");let U=gr(t,n+T,null,h.formatMajor),L=lB(t,n,U.objects);C._fdArray=L,k&&(C._fdSelect=ic(t,n+k,s.numGlyphs,L.length,h.formatMajor))}else if(s.isCIDFont){let T=C.fdArray,k=C.fdSelect;if(T===0||k===0)throw new Error("Font is marked as a CID font, but FDArray and/or FDSelect information is missing");T+=n;let U=gr(t,T),L=Pa(t,n,U.objects,w.objects,h.formatMajor);C._fdArray=L,k+=n,C._fdSelect=ic(t,k,s.numGlyphs,L.length,h.formatMajor)}if(h.formatMajor<2){let T=n+C.private[1],k=La(t,T,C.private[0],w.objects,h.formatMajor);if(s.defaultWidthX=k.defaultWidthX,s.nominalWidthX=k.nominalWidthX,k.subrs!==0){let U=T+k.subrs,L=gr(t,U);s.subrs=L.objects,s.subrsBias=gs(s.subrs)}else s.subrs=[],s.subrsBias=0}let S;if(o.lowMemory?(S=eB(t,n+C.charStrings,h.formatMajor),s.nGlyphs=S.offsets.length-(h.formatMajor>1?1:0)):(S=gr(t,n+C.charStrings,null,h.formatMajor),s.nGlyphs=S.objects.length),h.formatMajor>1&&s.tables.maxp&&s.nGlyphs!==s.tables.maxp.numGlyphs&&console.error(`Glyph count in the CFF2 table (${s.nGlyphs}) must correspond to the glyph count in the maxp table (${s.tables.maxp.numGlyphs})`),h.formatMajor<2){let T=[],k=[];C.charset===0?T=R0:C.charset===1?T=G0:C.charset===2?T=L0:T=cB(t,n+C.charset,s.nGlyphs,w.objects,s.isCIDFont),C.encoding===0?k=ka:C.encoding===1?k=P0:k=uB(t,n+C.encoding),s.cffEncoding=new jl(k,T),s.encoding=s.encoding||s.cffEncoding}if(s.glyphs=new dr.GlyphSet(s),o.lowMemory)s._push=function(T){let k=tB(T,S.offsets,t,n+C.charStrings,void 0,h.formatMajor);s.glyphs.push(T,dr.cffGlyphLoader(s,T,Ha,k,h.formatMajor))};else for(let T=0;T<s.nGlyphs;T+=1){let k=S.objects[T];s.glyphs.push(T,dr.cffGlyphLoader(s,T,Ha,k,h.formatMajor))}if(C.vstore){let T=new he.Parser(t,n+C.vstore);C._vstore=T.parseVariationStore()}}function nc(t,n){let s,o=ps.indexOf(t);return o>=0&&(s=o),o=n.indexOf(t),o>=0?s=o+ps.length:(s=ps.length+n.length,n.push(t)),s}function fB(){return new $.Record("Header",[{name:"major",type:"Card8",value:1},{name:"minor",type:"Card8",value:0},{name:"hdrSize",type:"Card8",value:4},{name:"major",type:"Card8",value:1}])}function dB(t){let n=new $.Record("Name INDEX",[{name:"names",type:"INDEX",value:[]}]);n.names=[];for(let s=0;s<t.length;s+=1)n.names.push({name:"name_"+s,type:"NAME",value:t[s]});return n}function sc(t,n,s){let o={};for(let c=0;c<t.length;c+=1){let h=t[c],d=n[h.name];d!==void 0&&!Xl(d,h.value)&&(h.type==="SID"&&(d=nc(d,s)),o[h.op]={name:h.name,type:h.type,value:d})}return o}function ac(t,n,s){let o=new $.Record("Top DICT",[{name:"dict",type:"DICT",value:{}}]);return o.dict=sc(s>1?$l:Kl,t,n),o}function oc(t){let n=new $.Record("Top DICT INDEX",[{name:"topDicts",type:"INDEX",value:[]}]);return n.topDicts=[{name:"topDict_0",type:"TABLE",value:t}],n}function gB(t){let n=new $.Record("String INDEX",[{name:"strings",type:"INDEX",value:[]}]);n.strings=[];for(let s=0;s<t.length;s+=1)n.strings.push({name:"string_"+s,type:"STRING",value:t[s]});return n}function mB(){return new $.Record("Global Subr INDEX",[{name:"subrs",type:"INDEX",value:[]}])}function BB(t,n){let s=new $.Record("Charsets",[{name:"format",type:"Card8",value:0}]);for(let o=0;o<t.length;o+=1){let c=t[o],h=nc(c,n);s.fields.push({name:"glyph_"+o,type:"SID",value:h})}return s}function EB(t,n){let s=[],o=t.path;n<2&&s.push({name:"width",type:"NUMBER",value:t.advanceWidth});let c=0,h=0;for(let d=0;d<o.commands.length;d+=1){let B,w,x=o.commands[d];if(x.type==="Q"){let C=.3333333333333333,S=2/3;x={type:"C",x:x.x,y:x.y,x1:Math.round(C*c+S*x.x1),y1:Math.round(C*h+S*x.y1),x2:Math.round(C*x.x+S*x.x1),y2:Math.round(C*x.y+S*x.y1)}}if(x.type==="M")B=Math.round(x.x-c),w=Math.round(x.y-h),s.push({name:"dx",type:"NUMBER",value:B}),s.push({name:"dy",type:"NUMBER",value:w}),s.push({name:"rmoveto",type:"OP",value:21}),c=Math.round(x.x),h=Math.round(x.y);else if(x.type==="L")B=Math.round(x.x-c),w=Math.round(x.y-h),s.push({name:"dx",type:"NUMBER",value:B}),s.push({name:"dy",type:"NUMBER",value:w}),s.push({name:"rlineto",type:"OP",value:5}),c=Math.round(x.x),h=Math.round(x.y);else if(x.type==="C"){let C=Math.round(x.x1-c),S=Math.round(x.y1-h),T=Math.round(x.x2-x.x1),k=Math.round(x.y2-x.y1);B=Math.round(x.x-x.x2),w=Math.round(x.y-x.y2),s.push({name:"dx1",type:"NUMBER",value:C}),s.push({name:"dy1",type:"NUMBER",value:S}),s.push({name:"dx2",type:"NUMBER",value:T}),s.push({name:"dy2",type:"NUMBER",value:k}),s.push({name:"dx",type:"NUMBER",value:B}),s.push({name:"dy",type:"NUMBER",value:w}),s.push({name:"rrcurveto",type:"OP",value:8}),c=Math.round(x.x),h=Math.round(x.y)}}return n<2&&s.push({name:"endchar",type:"OP",value:14}),s}function wB(t,n){let s=new $.Record("CharStrings INDEX",[{name:"charStrings",type:"INDEX",value:[]}]);for(let o=0;o<t.length;o+=1){let c=t.get(o),h=EB(c,n);s.charStrings.push({name:c.name,type:"CHARSTRING",value:h})}return s}function yB(t,n,s){let o=new $.Record("Private DICT",[{name:"dict",type:"DICT",value:{}}]);return o.dict=sc(s>1?tc:ec,t,n),o}function CB(t,n){let o=new $.Table("CFF ",[{name:"header",type:"RECORD"},{name:"nameIndex",type:"RECORD"},{name:"topDictIndex",type:"RECORD"},{name:"stringIndex",type:"RECORD"},{name:"globalSubrIndex",type:"RECORD"},{name:"charsets",type:"RECORD"},{name:"charStringsIndex",type:"RECORD"},{name:"privateDict",type:"RECORD"}]),c=1/n.unitsPerEm,h={version:n.version,fullName:n.fullName,familyName:n.familyName,weight:n.weightName,fontBBox:n.fontBBox||[0,0,0,0],fontMatrix:[c,0,0,c,0,0],charset:999,encoding:0,charStrings:999,private:[0,999]},d=n&&n.topDict||{};d.paintType&&(h.paintType=d.paintType,h.strokeWidth=d.strokeWidth||0);let B={},w=[],x;for(let k=1;k<t.length;k+=1)x=t.get(k),w.push(x.name);let C=[];o.header=fB(),o.nameIndex=dB([n.postScriptName]);let S=ac(h,C);o.topDictIndex=oc(S),o.globalSubrIndex=mB(),o.charsets=BB(w,C),o.charStringsIndex=wB(t,1),o.privateDict=yB(B,C),o.stringIndex=gB(C);let T=o.header.sizeOf()+o.nameIndex.sizeOf()+o.topDictIndex.sizeOf()+o.stringIndex.sizeOf()+o.globalSubrIndex.sizeOf();return h.charset=T,h.encoding=0,h.charStrings=h.charset+o.charsets.sizeOf(),h.private[1]=h.charStrings+o.charStringsIndex.sizeOf(),S=ac(h,C),o.topDictIndex=oc(S),o}var Wa={parse:pB,make:CB};function bB(t,n){let s={},o=new he.Parser(t,n);return s.version=o.parseVersion(),s.fontRevision=Math.round(o.parseFixed()*1e3)/1e3,s.checkSumAdjustment=o.parseULong(),s.magicNumber=o.parseULong(),G.argument(s.magicNumber===1594834165,"Font header has wrong magic number."),s.flags=o.parseUShort(),s.unitsPerEm=o.parseUShort(),s.created=o.parseLongDateTime(),s.modified=o.parseLongDateTime(),s.xMin=o.parseShort(),s.yMin=o.parseShort(),s.xMax=o.parseShort(),s.yMax=o.parseShort(),s.macStyle=o.parseUShort(),s.lowestRecPPEM=o.parseUShort(),s.fontDirectionHint=o.parseShort(),s.indexToLocFormat=o.parseShort(),s.glyphDataFormat=o.parseShort(),s}function xB(t){let n=Math.round(new Date().getTime()/1e3)+2082844800,s=n,o=t.macStyle||0;return t.createdTimestamp&&(s=t.createdTimestamp+2082844800),new $.Table("head",[{name:"version",type:"FIXED",value:65536},{name:"fontRevision",type:"FIXED",value:65536},{name:"checkSumAdjustment",type:"ULONG",value:0},{name:"magicNumber",type:"ULONG",value:1594834165},{name:"flags",type:"USHORT",value:0},{name:"unitsPerEm",type:"USHORT",value:1e3},{name:"created",type:"LONGDATETIME",value:s},{name:"modified",type:"LONGDATETIME",value:n},{name:"xMin",type:"SHORT",value:0},{name:"yMin",type:"SHORT",value:0},{name:"xMax",type:"SHORT",value:0},{name:"yMax",type:"SHORT",value:0},{name:"macStyle",type:"USHORT",value:o},{name:"lowestRecPPEM",type:"USHORT",value:0},{name:"fontDirectionHint",type:"SHORT",value:2},{name:"indexToLocFormat",type:"SHORT",value:0},{name:"glyphDataFormat",type:"SHORT",value:0}],t)}var Ac={parse:bB,make:xB};function QB(t,n){let s={},o=new he.Parser(t,n);return s.version=o.parseVersion(),s.ascender=o.parseShort(),s.descender=o.parseShort(),s.lineGap=o.parseShort(),s.advanceWidthMax=o.parseUShort(),s.minLeftSideBearing=o.parseShort(),s.minRightSideBearing=o.parseShort(),s.xMaxExtent=o.parseShort(),s.caretSlopeRise=o.parseShort(),s.caretSlopeRun=o.parseShort(),s.caretOffset=o.parseShort(),o.relativeOffset+=8,s.metricDataFormat=o.parseShort(),s.numberOfHMetrics=o.parseUShort(),s}function vB(t){return new $.Table("hhea",[{name:"version",type:"FIXED",value:65536},{name:"ascender",type:"FWORD",value:0},{name:"descender",type:"FWORD",value:0},{name:"lineGap",type:"FWORD",value:0},{name:"advanceWidthMax",type:"UFWORD",value:0},{name:"minLeftSideBearing",type:"FWORD",value:0},{name:"minRightSideBearing",type:"FWORD",value:0},{name:"xMaxExtent",type:"FWORD",value:0},{name:"caretSlopeRise",type:"SHORT",value:1},{name:"caretSlopeRun",type:"SHORT",value:0},{name:"caretOffset",type:"SHORT",value:0},{name:"reserved1",type:"SHORT",value:0},{name:"reserved2",type:"SHORT",value:0},{name:"reserved3",type:"SHORT",value:0},{name:"reserved4",type:"SHORT",value:0},{name:"metricDataFormat",type:"SHORT",value:0},{name:"numberOfHMetrics",type:"USHORT",value:0}],t)}var lc={parse:QB,make:vB};function IB(t,n,s,o,c){let h,d,B=new he.Parser(t,n);for(let w=0;w<o;w+=1){w<s&&(h=B.parseUShort(),d=B.parseShort());let x=c.get(w);x.advanceWidth=h,x.leftSideBearing=d}}function FB(t,n,s,o,c){t._hmtxTableData={};let h,d,B=new he.Parser(n,s);for(let w=0;w<c;w+=1)w<o&&(h=B.parseUShort(),d=B.parseShort()),t._hmtxTableData[w]={advanceWidth:h,leftSideBearing:d}}function TB(t,n,s,o,c,h,d){d.lowMemory?FB(t,n,s,o,c):IB(n,s,o,c,h)}function SB(t){let n=new $.Table("hmtx",[]);for(let s=0;s<t.length;s+=1){let o=t.get(s),c=o.advanceWidth||0,h=o.leftSideBearing||0;n.fields.push({name:"advanceWidth_"+s,type:"USHORT",value:c}),n.fields.push({name:"leftSideBearing_"+s,type:"SHORT",value:h})}return n}var cc={parse:TB,make:SB};function DB(t){let n=new $.Table("ltag",[{name:"version",type:"ULONG",value:1},{name:"flags",type:"ULONG",value:0},{name:"numTags",type:"ULONG",value:t.length}]),s="",o=12+t.length*4;for(let c=0;c<t.length;++c){let h=s.indexOf(t[c]);h<0&&(h=s.length,s+=t[c]),n.fields.push({name:"offset "+c,type:"USHORT",value:o+h}),n.fields.push({name:"length "+c,type:"USHORT",value:t[c].length})}return n.fields.push({name:"stringPool",type:"CHARARRAY",value:s}),n}function MB(t,n){let s=new he.Parser(t,n),o=s.parseULong();G.argument(o===1,"Unsupported ltag table version."),s.skip("uLong",1);let c=s.parseULong(),h=[];for(let d=0;d<c;d++){let B="",w=n+s.parseUShort(),x=s.parseUShort();for(let C=w;C<w+x;++C)B+=String.fromCharCode(t.getInt8(C));h.push(B)}return h}var uc={make:DB,parse:MB};function UB(t,n){let s={},o=new he.Parser(t,n);return s.version=o.parseVersion(),s.numGlyphs=o.parseUShort(),s.version===1&&(s.maxPoints=o.parseUShort(),s.maxContours=o.parseUShort(),s.maxCompositePoints=o.parseUShort(),s.maxCompositeContours=o.parseUShort(),s.maxZones=o.parseUShort(),s.maxTwilightPoints=o.parseUShort(),s.maxStorage=o.parseUShort(),s.maxFunctionDefs=o.parseUShort(),s.maxInstructionDefs=o.parseUShort(),s.maxStackElements=o.parseUShort(),s.maxSizeOfInstructions=o.parseUShort(),s.maxComponentElements=o.parseUShort(),s.maxComponentDepth=o.parseUShort()),s}function NB(t){return new $.Table("maxp",[{name:"version",type:"FIXED",value:20480},{name:"numGlyphs",type:"USHORT",value:t}])}var hc={parse:UB,make:NB},Ja=[{begin:0,end:127},{begin:128,end:255},{begin:256,end:383},{begin:384,end:591},{begin:592,end:687},{begin:688,end:767},{begin:768,end:879},{begin:880,end:1023},{begin:11392,end:11519},{begin:1024,end:1279},{begin:1328,end:1423},{begin:1424,end:1535},{begin:42240,end:42559},{begin:1536,end:1791},{begin:1984,end:2047},{begin:2304,end:2431},{begin:2432,end:2559},{begin:2560,end:2687},{begin:2688,end:2815},{begin:2816,end:2943},{begin:2944,end:3071},{begin:3072,end:3199},{begin:3200,end:3327},{begin:3328,end:3455},{begin:3584,end:3711},{begin:3712,end:3839},{begin:4256,end:4351},{begin:6912,end:7039},{begin:4352,end:4607},{begin:7680,end:7935},{begin:7936,end:8191},{begin:8192,end:8303},{begin:8304,end:8351},{begin:8352,end:8399},{begin:8400,end:8447},{begin:8448,end:8527},{begin:8528,end:8591},{begin:8592,end:8703},{begin:8704,end:8959},{begin:8960,end:9215},{begin:9216,end:9279},{begin:9280,end:9311},{begin:9312,end:9471},{begin:9472,end:9599},{begin:9600,end:9631},{begin:9632,end:9727},{begin:9728,end:9983},{begin:9984,end:10175},{begin:12288,end:12351},{begin:12352,end:12447},{begin:12448,end:12543},{begin:12544,end:12591},{begin:12592,end:12687},{begin:43072,end:43135},{begin:12800,end:13055},{begin:13056,end:13311},{begin:44032,end:55215},{begin:55296,end:57343},{begin:67840,end:67871},{begin:19968,end:40959},{begin:57344,end:63743},{begin:12736,end:12783},{begin:64256,end:64335},{begin:64336,end:65023},{begin:65056,end:65071},{begin:65040,end:65055},{begin:65104,end:65135},{begin:65136,end:65279},{begin:65280,end:65519},{begin:65520,end:65535},{begin:3840,end:4095},{begin:1792,end:1871},{begin:1920,end:1983},{begin:3456,end:3583},{begin:4096,end:4255},{begin:4608,end:4991},{begin:5024,end:5119},{begin:5120,end:5759},{begin:5760,end:5791},{begin:5792,end:5887},{begin:6016,end:6143},{begin:6144,end:6319},{begin:10240,end:10495},{begin:40960,end:42127},{begin:5888,end:5919},{begin:66304,end:66351},{begin:66352,end:66383},{begin:66560,end:66639},{begin:118784,end:119039},{begin:119808,end:120831},{begin:1044480,end:1048573},{begin:65024,end:65039},{begin:917504,end:917631},{begin:6400,end:6479},{begin:6480,end:6527},{begin:6528,end:6623},{begin:6656,end:6687},{begin:11264,end:11359},{begin:11568,end:11647},{begin:19904,end:19967},{begin:43008,end:43055},{begin:65536,end:65663},{begin:65856,end:65935},{begin:66432,end:66463},{begin:66464,end:66527},{begin:66640,end:66687},{begin:66688,end:66735},{begin:67584,end:67647},{begin:68096,end:68191},{begin:119552,end:119647},{begin:73728,end:74751},{begin:119648,end:119679},{begin:7040,end:7103},{begin:7168,end:7247},{begin:7248,end:7295},{begin:43136,end:43231},{begin:43264,end:43311},{begin:43312,end:43359},{begin:43520,end:43615},{begin:65936,end:65999},{begin:66e3,end:66047},{begin:66208,end:66271},{begin:127024,end:127135}];function kB(t){for(let n=0;n<Ja.length;n+=1){let s=Ja[n];if(t>=s.begin&&t<s.end)return n}return-1}function OB(t,n){let s={},o=new he.Parser(t,n);s.version=o.parseUShort(),s.xAvgCharWidth=o.parseShort(),s.usWeightClass=o.parseUShort(),s.usWidthClass=o.parseUShort(),s.fsType=o.parseUShort(),s.ySubscriptXSize=o.parseShort(),s.ySubscriptYSize=o.parseShort(),s.ySubscriptXOffset=o.parseShort(),s.ySubscriptYOffset=o.parseShort(),s.ySuperscriptXSize=o.parseShort(),s.ySuperscriptYSize=o.parseShort(),s.ySuperscriptXOffset=o.parseShort(),s.ySuperscriptYOffset=o.parseShort(),s.yStrikeoutSize=o.parseShort(),s.yStrikeoutPosition=o.parseShort(),s.sFamilyClass=o.parseShort(),s.panose=[];for(let c=0;c<10;c++)s.panose[c]=o.parseByte();return s.ulUnicodeRange1=o.parseULong(),s.ulUnicodeRange2=o.parseULong(),s.ulUnicodeRange3=o.parseULong(),s.ulUnicodeRange4=o.parseULong(),s.achVendID=String.fromCharCode(o.parseByte(),o.parseByte(),o.parseByte(),o.parseByte()),s.fsSelection=o.parseUShort(),s.usFirstCharIndex=o.parseUShort(),s.usLastCharIndex=o.parseUShort(),s.sTypoAscender=o.parseShort(),s.sTypoDescender=o.parseShort(),s.sTypoLineGap=o.parseShort(),s.usWinAscent=o.parseUShort(),s.usWinDescent=o.parseUShort(),s.version>=1&&(s.ulCodePageRange1=o.parseULong(),s.ulCodePageRange2=o.parseULong()),s.version>=2&&(s.sxHeight=o.parseShort(),s.sCapHeight=o.parseShort(),s.usDefaultChar=o.parseUShort(),s.usBreakChar=o.parseUShort(),s.usMaxContent=o.parseUShort()),s}function YB(t){return new $.Table("OS/2",[{name:"version",type:"USHORT",value:3},{name:"xAvgCharWidth",type:"SHORT",value:0},{name:"usWeightClass",type:"USHORT",value:0},{name:"usWidthClass",type:"USHORT",value:0},{name:"fsType",type:"USHORT",value:0},{name:"ySubscriptXSize",type:"SHORT",value:650},{name:"ySubscriptYSize",type:"SHORT",value:699},{name:"ySubscriptXOffset",type:"SHORT",value:0},{name:"ySubscriptYOffset",type:"SHORT",value:140},{name:"ySuperscriptXSize",type:"SHORT",value:650},{name:"ySuperscriptYSize",type:"SHORT",value:699},{name:"ySuperscriptXOffset",type:"SHORT",value:0},{name:"ySuperscriptYOffset",type:"SHORT",value:479},{name:"yStrikeoutSize",type:"SHORT",value:49},{name:"yStrikeoutPosition",type:"SHORT",value:258},{name:"sFamilyClass",type:"SHORT",value:0},{name:"bFamilyType",type:"BYTE",value:0},{name:"bSerifStyle",type:"BYTE",value:0},{name:"bWeight",type:"BYTE",value:0},{name:"bProportion",type:"BYTE",value:0},{name:"bContrast",type:"BYTE",value:0},{name:"bStrokeVariation",type:"BYTE",value:0},{name:"bArmStyle",type:"BYTE",value:0},{name:"bLetterform",type:"BYTE",value:0},{name:"bMidline",type:"BYTE",value:0},{name:"bXHeight",type:"BYTE",value:0},{name:"ulUnicodeRange1",type:"ULONG",value:0},{name:"ulUnicodeRange2",type:"ULONG",value:0},{name:"ulUnicodeRange3",type:"ULONG",value:0},{name:"ulUnicodeRange4",type:"ULONG",value:0},{name:"achVendID",type:"CHARARRAY",value:"XXXX"},{name:"fsSelection",type:"USHORT",value:0},{name:"usFirstCharIndex",type:"USHORT",value:0},{name:"usLastCharIndex",type:"USHORT",value:0},{name:"sTypoAscender",type:"SHORT",value:0},{name:"sTypoDescender",type:"SHORT",value:0},{name:"sTypoLineGap",type:"SHORT",value:0},{name:"usWinAscent",type:"USHORT",value:0},{name:"usWinDescent",type:"USHORT",value:0},{name:"ulCodePageRange1",type:"ULONG",value:0},{name:"ulCodePageRange2",type:"ULONG",value:0},{name:"sxHeight",type:"SHORT",value:0},{name:"sCapHeight",type:"SHORT",value:0},{name:"usDefaultChar",type:"USHORT",value:0},{name:"usBreakChar",type:"USHORT",value:0},{name:"usMaxContext",type:"USHORT",value:0}],t)}var Va={parse:OB,make:YB,unicodeRanges:Ja,getUnicodeRange:kB};function RB(t,n){let s={},o=new he.Parser(t,n);switch(s.version=o.parseVersion(),s.italicAngle=o.parseFixed(),s.underlinePosition=o.parseShort(),s.underlineThickness=o.parseShort(),s.isFixedPitch=o.parseULong(),s.minMemType42=o.parseULong(),s.maxMemType42=o.parseULong(),s.minMemType1=o.parseULong(),s.maxMemType1=o.parseULong(),s.version){case 1:s.names=hi.slice();break;case 2:s.numberOfGlyphs=o.parseUShort(),s.glyphNameIndex=new Array(s.numberOfGlyphs);for(let c=0;c<s.numberOfGlyphs;c++)s.glyphNameIndex[c]=o.parseUShort();s.names=[];for(let c=0;c<s.numberOfGlyphs;c++)if(s.glyphNameIndex[c]>=hi.length){let h=o.parseChar();s.names.push(o.parseString(h))}break;case 2.5:s.numberOfGlyphs=o.parseUShort(),s.offset=new Array(s.numberOfGlyphs);for(let c=0;c<s.numberOfGlyphs;c++)s.offset[c]=o.parseChar();break}return s}function GB(t){let{italicAngle:n=Math.round((t.italicAngle||0)*65536),underlinePosition:s=0,underlineThickness:o=0,isFixedPitch:c=0,minMemType42:h=0,maxMemType42:d=0,minMemType1:B=0,maxMemType1:w=0}=t.tables.post||{};return new $.Table("post",[{name:"version",type:"FIXED",value:196608},{name:"italicAngle",type:"FIXED",value:n},{name:"underlinePosition",type:"FWORD",value:s},{name:"underlineThickness",type:"FWORD",value:o},{name:"isFixedPitch",type:"ULONG",value:c},{name:"minMemType42",type:"ULONG",value:h},{name:"maxMemType42",type:"ULONG",value:d},{name:"minMemType1",type:"ULONG",value:B},{name:"maxMemType1",type:"ULONG",value:w}])}var pc={parse:RB,make:GB},ir=new Array(9);ir[1]=function(){let n=this.offset+this.relativeOffset,s=this.parseUShort();if(s===1)return{substFormat:1,coverage:this.parsePointer(V.coverage),deltaGlyphId:this.parseShort()};if(s===2)return{substFormat:2,coverage:this.parsePointer(V.coverage),substitute:this.parseOffset16List()};G.assert(!1,"0x"+n.toString(16)+": lookup type 1 format must be 1 or 2.")},ir[2]=function(){let n=this.parseUShort();return G.argument(n===1,"GSUB Multiple Substitution Subtable identifier-format must be 1"),{substFormat:n,coverage:this.parsePointer(V.coverage),sequences:this.parseListOfLists()}},ir[3]=function(){let n=this.parseUShort();return G.argument(n===1,"GSUB Alternate Substitution Subtable identifier-format must be 1"),{substFormat:n,coverage:this.parsePointer(V.coverage),alternateSets:this.parseListOfLists()}},ir[4]=function(){let n=this.parseUShort();return G.argument(n===1,"GSUB ligature table identifier-format must be 1"),{substFormat:n,coverage:this.parsePointer(V.coverage),ligatureSets:this.parseListOfLists(function(){return{ligGlyph:this.parseUShort(),components:this.parseUShortList(this.parseUShort()-1)}})}};var Oi={sequenceIndex:V.uShort,lookupListIndex:V.uShort};ir[5]=function(){let n=this.offset+this.relativeOffset,s=this.parseUShort();if(s===1)return{substFormat:s,coverage:this.parsePointer(V.coverage),ruleSets:this.parseListOfLists(function(){let o=this.parseUShort(),c=this.parseUShort();return{input:this.parseUShortList(o-1),lookupRecords:this.parseRecordList(c,Oi)}})};if(s===2)return{substFormat:s,coverage:this.parsePointer(V.coverage),classDef:this.parsePointer(V.classDef),classSets:this.parseListOfLists(function(){let o=this.parseUShort(),c=this.parseUShort();return{classes:this.parseUShortList(o-1),lookupRecords:this.parseRecordList(c,Oi)}})};if(s===3){let o=this.parseUShort(),c=this.parseUShort();return{substFormat:s,coverages:this.parseList(o,V.pointer(V.coverage)),lookupRecords:this.parseRecordList(c,Oi)}}G.assert(!1,"0x"+n.toString(16)+": lookup type 5 format must be 1, 2 or 3.")},ir[6]=function(){let n=this.offset+this.relativeOffset,s=this.parseUShort();if(s===1)return{substFormat:1,coverage:this.parsePointer(V.coverage),chainRuleSets:this.parseListOfLists(function(){return{backtrack:this.parseUShortList(),input:this.parseUShortList(this.parseShort()-1),lookahead:this.parseUShortList(),lookupRecords:this.parseRecordList(Oi)}})};if(s===2)return{substFormat:2,coverage:this.parsePointer(V.coverage),backtrackClassDef:this.parsePointer(V.classDef),inputClassDef:this.parsePointer(V.classDef),lookaheadClassDef:this.parsePointer(V.classDef),chainClassSet:this.parseListOfLists(function(){return{backtrack:this.parseUShortList(),input:this.parseUShortList(this.parseShort()-1),lookahead:this.parseUShortList(),lookupRecords:this.parseRecordList(Oi)}})};if(s===3)return{substFormat:3,backtrackCoverage:this.parseList(V.pointer(V.coverage)),inputCoverage:this.parseList(V.pointer(V.coverage)),lookaheadCoverage:this.parseList(V.pointer(V.coverage)),lookupRecords:this.parseRecordList(Oi)};G.assert(!1,"0x"+n.toString(16)+": lookup type 6 format must be 1, 2 or 3.")},ir[7]=function(){let n=this.parseUShort();G.argument(n===1,"GSUB Extension Substitution subtable identifier-format must be 1");let s=this.parseUShort(),o=new V(this.data,this.offset+this.parseULong());return{substFormat:1,lookupType:s,extension:ir[s].call(o)}},ir[8]=function(){let n=this.parseUShort();return G.argument(n===1,"GSUB Reverse Chaining Contextual Single Substitution Subtable identifier-format must be 1"),{substFormat:n,coverage:this.parsePointer(V.coverage),backtrackCoverage:this.parseList(V.pointer(V.coverage)),lookaheadCoverage:this.parseList(V.pointer(V.coverage)),substitutes:this.parseUShortList()}};function LB(t,n){n=n||0;let s=new V(t,n),o=s.parseVersion(1);return G.argument(o===1||o===1.1,"Unsupported GSUB table version."),o===1?{version:o,scripts:s.parseScriptList(),features:s.parseFeatureList(),lookups:s.parseLookupList(ir)}:{version:o,scripts:s.parseScriptList(),features:s.parseFeatureList(),lookups:s.parseLookupList(ir),variations:s.parseFeatureVariationsList()}}var fi=new Array(9);fi[1]=function(n){if(n.substFormat===1)return new $.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new $.Coverage(n.coverage)},{name:"deltaGlyphID",type:"SHORT",value:n.deltaGlyphId}]);if(n.substFormat===2)return new $.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:2},{name:"coverage",type:"TABLE",value:new $.Coverage(n.coverage)}].concat($.ushortList("substitute",n.substitute)));G.fail("Lookup type 1 substFormat must be 1 or 2.")},fi[2]=function(n){return G.assert(n.substFormat===1,"Lookup type 2 substFormat must be 1."),new $.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new $.Coverage(n.coverage)}].concat($.tableList("seqSet",n.sequences,function(s){return new $.Table("sequenceSetTable",$.ushortList("sequence",s))})))},fi[3]=function(n){return G.assert(n.substFormat===1,"Lookup type 3 substFormat must be 1."),new $.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new $.Coverage(n.coverage)}].concat($.tableList("altSet",n.alternateSets,function(s){return new $.Table("alternateSetTable",$.ushortList("alternate",s))})))},fi[4]=function(n){return G.assert(n.substFormat===1,"Lookup type 4 substFormat must be 1."),new $.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new $.Coverage(n.coverage)}].concat($.tableList("ligSet",n.ligatureSets,function(s){return new $.Table("ligatureSetTable",$.tableList("ligature",s,function(o){return new $.Table("ligatureTable",[{name:"ligGlyph",type:"USHORT",value:o.ligGlyph}].concat($.ushortList("component",o.components,o.components.length+1)))}))})))},fi[5]=function(n){if(n.substFormat===1)return new $.Table("contextualSubstitutionTable",[{name:"substFormat",type:"USHORT",value:n.substFormat},{name:"coverage",type:"TABLE",value:new $.Coverage(n.coverage)}].concat($.tableList("sequenceRuleSet",n.ruleSets,function(s){return s?new $.Table("sequenceRuleSetTable",$.tableList("sequenceRule",s,function(o){let c=$.ushortList("seqLookup",[],o.lookupRecords.length).concat($.ushortList("inputSequence",o.input,o.input.length+1));[c[0],c[1]]=[c[1],c[0]];for(let h=0;h<o.lookupRecords.length;h++){let d=o.lookupRecords[h];c=c.concat({name:"sequenceIndex"+h,type:"USHORT",value:d.sequenceIndex}).concat({name:"lookupListIndex"+h,type:"USHORT",value:d.lookupListIndex})}return new $.Table("sequenceRuleTable",c)})):new $.Table("NULL",null)})));if(n.substFormat===2)return new $.Table("contextualSubstitutionTable",[{name:"substFormat",type:"USHORT",value:n.substFormat},{name:"coverage",type:"TABLE",value:new $.Coverage(n.coverage)},{name:"classDef",type:"TABLE",value:new $.ClassDef(n.classDef)}].concat($.tableList("classSeqRuleSet",n.classSets,function(s){return s?new $.Table("classSeqRuleSetTable",$.tableList("classSeqRule",s,function(o){let c=$.ushortList("classes",o.classes,o.classes.length+1).concat($.ushortList("seqLookupCount",[],o.lookupRecords.length));for(let h=0;h<o.lookupRecords.length;h++){let d=o.lookupRecords[h];c=c.concat({name:"sequenceIndex"+h,type:"USHORT",value:d.sequenceIndex}).concat({name:"lookupListIndex"+h,type:"USHORT",value:d.lookupListIndex})}return new $.Table("classSeqRuleTable",c)})):new $.Table("NULL",null)})));if(n.substFormat===3){let s=[{name:"substFormat",type:"USHORT",value:n.substFormat}];s.push({name:"inputGlyphCount",type:"USHORT",value:n.coverages.length}),s.push({name:"substitutionCount",type:"USHORT",value:n.lookupRecords.length});for(let c=0;c<n.coverages.length;c++){let h=n.coverages[c];s.push({name:"inputCoverage"+c,type:"TABLE",value:new $.Coverage(h)})}for(let c=0;c<n.lookupRecords.length;c++){let h=n.lookupRecords[c];s=s.concat({name:"sequenceIndex"+c,type:"USHORT",value:h.sequenceIndex}).concat({name:"lookupListIndex"+c,type:"USHORT",value:h.lookupListIndex})}return new $.Table("contextualSubstitutionTable",s)}G.assert(!1,"lookup type 5 format must be 1, 2 or 3.")},fi[6]=function(n){if(n.substFormat===1)return new $.Table("chainContextTable",[{name:"substFormat",type:"USHORT",value:n.substFormat},{name:"coverage",type:"TABLE",value:new $.Coverage(n.coverage)}].concat($.tableList("chainRuleSet",n.chainRuleSets,function(o){return new $.Table("chainRuleSetTable",$.tableList("chainRule",o,function(c){let h=$.ushortList("backtrackGlyph",c.backtrack,c.backtrack.length).concat($.ushortList("inputGlyph",c.input,c.input.length+1)).concat($.ushortList("lookaheadGlyph",c.lookahead,c.lookahead.length)).concat($.ushortList("substitution",[],c.lookupRecords.length));for(let d=0;d<c.lookupRecords.length;d++){let B=c.lookupRecords[d];h=h.concat({name:"sequenceIndex"+d,type:"USHORT",value:B.sequenceIndex}).concat({name:"lookupListIndex"+d,type:"USHORT",value:B.lookupListIndex})}return new $.Table("chainRuleTable",h)}))})));if(n.substFormat===2)G.assert(!1,"lookup type 6 format 2 is not yet supported.");else if(n.substFormat===3){let s=[{name:"substFormat",type:"USHORT",value:n.substFormat}];s.push({name:"backtrackGlyphCount",type:"USHORT",value:n.backtrackCoverage.length});for(let c=0;c<n.backtrackCoverage.length;c++){let h=n.backtrackCoverage[c];s.push({name:"backtrackCoverage"+c,type:"TABLE",value:new $.Coverage(h)})}s.push({name:"inputGlyphCount",type:"USHORT",value:n.inputCoverage.length});for(let c=0;c<n.inputCoverage.length;c++){let h=n.inputCoverage[c];s.push({name:"inputCoverage"+c,type:"TABLE",value:new $.Coverage(h)})}s.push({name:"lookaheadGlyphCount",type:"USHORT",value:n.lookaheadCoverage.length});for(let c=0;c<n.lookaheadCoverage.length;c++){let h=n.lookaheadCoverage[c];s.push({name:"lookaheadCoverage"+c,type:"TABLE",value:new $.Coverage(h)})}s.push({name:"substitutionCount",type:"USHORT",value:n.lookupRecords.length});for(let c=0;c<n.lookupRecords.length;c++){let h=n.lookupRecords[c];s=s.concat({name:"sequenceIndex"+c,type:"USHORT",value:h.sequenceIndex}).concat({name:"lookupListIndex"+c,type:"USHORT",value:h.lookupListIndex})}return new $.Table("chainContextTable",s)}G.assert(!1,"lookup type 6 format must be 1, 2 or 3.")};function PB(t){return new $.Table("GSUB",[{name:"version",type:"ULONG",value:65536},{name:"scripts",type:"TABLE",value:new $.ScriptList(t.scripts)},{name:"features",type:"TABLE",value:new $.FeatureList(t.features)},{name:"lookups",type:"TABLE",value:new $.LookupList(t.lookups,fi)}])}var fc={parse:LB,make:PB};function HB(t,n){let s=new he.Parser(t,n),o=s.parseULong();G.argument(o===1,"Unsupported META table version."),s.parseULong(),s.parseULong();let c=s.parseULong(),h={};for(let d=0;d<c;d++){let B=s.parseTag(),w=s.parseULong(),x=s.parseULong();if(B==="appl"||B==="bild")continue;let C=Qe.UTF8(t,n+w,x);h[B]=C}return h}function WB(t){let n=Object.keys(t).length,s="",o=16+n*12,c=new $.Table("meta",[{name:"version",type:"ULONG",value:1},{name:"flags",type:"ULONG",value:0},{name:"offset",type:"ULONG",value:o},{name:"numTags",type:"ULONG",value:n}]);for(let h in t){let d=s.length;s+=t[h],c.fields.push({name:"tag "+h,type:"TAG",value:h}),c.fields.push({name:"offset "+h,type:"ULONG",value:o+d}),c.fields.push({name:"length "+h,type:"ULONG",value:t[h].length})}return c.fields.push({name:"stringPool",type:"CHARARRAY",value:s}),c}var dc={parse:HB,make:WB};function JB(t,n){let s=new V(t,n),o=s.parseUShort();o!==0&&console.warn("Only COLRv0 is currently fully supported. A subset of color glyphs might be available in this font if provided in the v0 format.");let c=s.parseUShort(),h=s.parseOffset32(),d=s.parseOffset32(),B=s.parseUShort();s.relativeOffset=h;let w=s.parseRecordList(c,{glyphID:V.uShort,firstLayerIndex:V.uShort,numLayers:V.uShort});s.relativeOffset=d;let x=s.parseRecordList(B,{glyphID:V.uShort,paletteIndex:V.uShort});return{version:o,baseGlyphRecords:w,layerRecords:x}}function VB({version:t=0,baseGlyphRecords:n=[],layerRecords:s=[]}){G.argument(t===0,"Only COLRv0 supported.");let o=14,c=o+n.length*6;return new $.Table("COLR",[{name:"version",type:"USHORT",value:t},{name:"numBaseGlyphRecords",type:"USHORT",value:n.length},{name:"baseGlyphRecordsOffset",type:"ULONG",value:o},{name:"layerRecordsOffset",type:"ULONG",value:c},{name:"numLayerRecords",type:"USHORT",value:s.length},...n.map((h,d)=>[{name:"glyphID_"+d,type:"USHORT",value:h.glyphID},{name:"firstLayerIndex_"+d,type:"USHORT",value:h.firstLayerIndex},{name:"numLayers_"+d,type:"USHORT",value:h.numLayers}]).flat(),...s.map((h,d)=>[{name:"LayerGlyphID_"+d,type:"USHORT",value:h.glyphID},{name:"paletteIndex_"+d,type:"USHORT",value:h.paletteIndex}]).flat()])}var gc={parse:JB,make:VB};function jB(t,n){return[{name:"tag_"+t,type:"TAG",value:n.tag},{name:"minValue_"+t,type:"FIXED",value:n.minValue<<16},{name:"defaultValue_"+t,type:"FIXED",value:n.defaultValue<<16},{name:"maxValue_"+t,type:"FIXED",value:n.maxValue<<16},{name:"flags_"+t,type:"USHORT",value:0},{name:"nameID_"+t,type:"USHORT",value:n.axisNameID}]}function _B(t,n,s){let o={},c=new he.Parser(t,n);o.tag=c.parseTag(),o.minValue=c.parseFixed(),o.defaultValue=c.parseFixed(),o.maxValue=c.parseFixed(),c.skip("uShort",1);let h=c.parseUShort();return o.axisNameID=h,o.name=ui(s,h),o}function ZB(t,n,s,o={}){let c=[{name:"nameID_"+t,type:"USHORT",value:n.subfamilyNameID},{name:"flags_"+t,type:"USHORT",value:0}];for(let h=0;h<s.length;++h){let d=s[h].tag;c.push({name:"axis_"+t+" "+d,type:"FIXED",value:n.coordinates[d]<<16})}return o&&o.postScriptNameID&&c.push({name:"postScriptNameID_",type:"USHORT",value:n.postScriptNameID!==void 0?n.postScriptNameID:65535}),c}function zB(t,n,s,o,c){let h={},d=new he.Parser(t,n),B=d.parseUShort();h.subfamilyNameID=B,h.name=ui(o,B,[2,17]),d.skip("uShort",1),h.coordinates={};for(let x=0;x<s.length;++x)h.coordinates[s[x].tag]=d.parseFixed();if(d.relativeOffset===c)return h.postScriptNameID=void 0,h.postScriptName=void 0,h;let w=d.parseUShort();return h.postScriptNameID=w==65535?void 0:w,h.postScriptName=h.postScriptNameID!==void 0?ui(o,w,[6]):"",h}function XB(t,n){let s=new $.Table("fvar",[{name:"version",type:"ULONG",value:65536},{name:"offsetToData",type:"USHORT",value:0},{name:"countSizePairs",type:"USHORT",value:2},{name:"axisCount",type:"USHORT",value:t.axes.length},{name:"axisSize",type:"USHORT",value:20},{name:"instanceCount",type:"USHORT",value:t.instances.length},{name:"instanceSize",type:"USHORT",value:4+t.axes.length*4}]);s.offsetToData=s.sizeOf();for(let c=0;c<t.axes.length;c++)s.fields=s.fields.concat(jB(c,t.axes[c],n));let o={};for(let c=0;c<t.instances.length;c++)if(t.instances[c].postScriptNameID!==void 0){s.instanceSize+=2,o.postScriptNameID=!0;break}for(let c=0;c<t.instances.length;c++)s.fields=s.fields.concat(ZB(c,t.instances[c],t.axes,o));return s}function qB(t,n,s){let o=new he.Parser(t,n),c=o.parseULong();G.argument(c===65536,"Unsupported fvar table version.");let h=o.parseOffset16();o.skip("uShort",1);let d=o.parseUShort(),B=o.parseUShort(),w=o.parseUShort(),x=o.parseUShort(),C=[];for(let k=0;k<d;k++)C.push(_B(t,n+h+k*B,s));let S=[],T=n+h+d*B;for(let k=0;k<w;k++)S.push(zB(t,T+k*x,C,s,x));return{axes:C,instances:S}}var mc={make:XB,parse:qB},KB={tag:V.tag,nameID:V.uShort,ordering:V.uShort},mn=new Array(5);mn[1]=function(){return{axisIndex:this.parseUShort(),flags:this.parseUShort(),valueNameID:this.parseUShort(),value:this.parseFixed()}},mn[2]=function(){return{axisIndex:this.parseUShort(),flags:this.parseUShort(),valueNameID:this.parseUShort(),nominalValue:this.parseFixed(),rangeMinValue:this.parseFixed(),rangeMaxValue:this.parseFixed()}},mn[3]=function(){return{axisIndex:this.parseUShort(),flags:this.parseUShort(),valueNameID:this.parseUShort(),value:this.parseFixed(),linkedValue:this.parseFixed()}},mn[4]=function(){let n=this.parseUShort();return{flags:this.parseUShort(),valueNameID:this.parseUShort(),axisValues:this.parseList(n,function(){return{axisIndex:this.parseUShort(),value:this.parseFixed()}})}};function $B(){let t=this.parseUShort(),n=mn[t],s={format:t};return n===void 0?(console.warn(`Unknown axis value table format ${t}`),s):Object.assign(s,this.parseStruct(n.bind(this)))}function eE(t,n,s){n||(n=0);let o=new he.Parser(t,n),c=o.parseUShort(),h=o.parseUShort();c!==1&&console.warn(`Unsupported STAT table version ${c}.${h}`);let d=[c,h],B=o.parseUShort(),w=o.parseUShort(),x=o.parseOffset32(),C=o.parseUShort(),S=o.parseOffset32(),T=c>1||h>0?o.parseUShort():void 0;s!==void 0&&G.argument(w>=s.axes.length,"STAT axis count must be greater than or equal to fvar axis count"),C>0&&G.argument(w>=0,"STAT axis count must be greater than 0 if STAT axis value count is greater than 0");let k=[];for(let ee=0;ee<w;ee++)o.offset=n+x,o.relativeOffset=ee*B,k.push(o.parseStruct(KB));o.offset=n,o.relativeOffset=S;let U=o.parseUShortList(C),L=[];for(let ee=0;ee<C;ee++)o.offset=n+S,o.relativeOffset=U[ee],L.push($B.apply(o));return{version:d,axes:k,values:L,elidedFallbackNameID:T}}var Bn=new Array(5);Bn[1]=function(n,s){return[{name:`format${n}`,type:"USHORT",value:1},{name:`axisIndex${n}`,type:"USHORT",value:s.axisIndex},{name:`flags${n}`,type:"USHORT",value:s.flags},{name:`valueNameID${n}`,type:"USHORT",value:s.valueNameID},{name:`value${n}`,type:"FLOAT",value:s.value}]},Bn[2]=function(n,s){return[{name:`format${n}`,type:"USHORT",value:2},{name:`axisIndex${n}`,type:"USHORT",value:s.axisIndex},{name:`flags${n}`,type:"USHORT",value:s.flags},{name:`valueNameID${n}`,type:"USHORT",value:s.valueNameID},{name:`nominalValue${n}`,type:"FLOAT",value:s.nominalValue},{name:`rangeMinValue${n}`,type:"FLOAT",value:s.rangeMinValue},{name:`rangeMaxValue${n}`,type:"FLOAT",value:s.rangeMaxValue}]},Bn[3]=function(n,s){return[{name:`format${n}`,type:"USHORT",value:3},{name:`axisIndex${n}`,type:"USHORT",value:s.axisIndex},{name:`flags${n}`,type:"USHORT",value:s.flags},{name:`valueNameID${n}`,type:"USHORT",value:s.valueNameID},{name:`value${n}`,type:"FLOAT",value:s.value},{name:`linkedValue${n}`,type:"FLOAT",value:s.linkedValue}]},Bn[4]=function(n,s){let o=[{name:`format${n}`,type:"USHORT",value:4},{name:`axisCount${n}`,type:"USHORT",value:s.axisValues.length},{name:`flags${n}`,type:"USHORT",value:s.flags},{name:`valueNameID${n}`,type:"USHORT",value:s.valueNameID}];for(let c=0;c<s.axisValues.length;c++)o=o.concat([{name:`format${n}axisIndex${c}`,type:"USHORT",value:s.axisValues[c].axisIndex},{name:`format${n}value${c}`,type:"FLOAT",value:s.axisValues[c].value}]);return o};function tE(t,n){return new $.Record("axisRecord_"+t,[{name:"axisTag_"+t,type:"TAG",value:n.tag},{name:"axisNameID_"+t,type:"USHORT",value:n.nameID},{name:"axisOrdering_"+t,type:"USHORT",value:n.ordering}])}function rE(t,n){let s=n.format,o=Bn[s];G.argument(o!==void 0,`Unknown axis value table format ${s}`);let c=o(t,n);return new $.Table("axisValueTable_"+t,c)}function iE(t){let n=new $.Table("STAT",[{name:"majorVersion",type:"USHORT",value:1},{name:"minorVersion",type:"USHORT",value:2},{name:"designAxisSize",type:"USHORT",value:8},{name:"designAxisCount",type:"USHORT",value:t.axes.length},{name:"designAxesOffset",type:"ULONG",value:0},{name:"axisValueCount",type:"USHORT",value:t.values.length},{name:"offsetToAxisValueOffsets",type:"ULONG",value:0},{name:"elidedFallbackNameID",type:"USHORT",value:t.elidedFallbackNameID}]);n.designAxesOffset=n.offsetToAxisValueOffsets=n.sizeOf();for(let h=0;h<t.axes.length;h++){let d=tE(h,t.axes[h]);n.offsetToAxisValueOffsets+=d.sizeOf(),n.fields=n.fields.concat(d.fields)}let s=[],o=[],c=t.values.length*2;for(let h=0;h<t.values.length;h++){let d=rE(h,t.values[h]);s.push({name:"offset_"+h,type:"USHORT",value:c}),c+=d.sizeOf(),o=o.concat(d.fields)}return n.fields=n.fields.concat(s),n.fields=n.fields.concat(o),n}var Bc={make:iE,parse:eE};function nE(t,n){return new $.Record("axisValueMap_"+t,[{name:"fromCoordinate_"+t,type:"F2DOT14",value:n.fromCoordinate},{name:"toCoordinate_"+t,type:"F2DOT14",value:n.toCoordinate}])}function sE(t,n){let s=new $.Record("segmentMap_"+t,[{name:"positionMapCount_"+t,type:"USHORT",value:n.axisValueMaps.length}]),o=[];for(let c=0;c<n.axisValueMaps.length;c++){let h=nE(`${t}_${c}`,n.axisValueMaps[c]);o=o.concat(h.fields)}return s.fields=s.fields.concat(o),s}function aE(t,n){G.argument(t.axisSegmentMaps.length===n.axes.length,"avar axis count must correspond to fvar axis count");let s=new $.Table("avar",[{name:"majorVersion",type:"USHORT",value:1},{name:"minorVersion",type:"USHORT",value:0},{name:"reserved",type:"USHORT",value:0},{name:"axisCount",type:"USHORT",value:t.axisSegmentMaps.length}]);for(let o=0;o<t.axisSegmentMaps.length;o++){let c=sE(o,t.axisSegmentMaps[o]);s.fields=s.fields.concat(c.fields)}return s}function oE(t,n,s){n||(n=0);let o=new V(t,n),c=o.parseUShort(),h=o.parseUShort();c!==1&&console.warn(`Unsupported avar table version ${c}.${h}`),o.skip("uShort",1);let d=o.parseUShort();G.argument(d===s.axes.length,"avar axis count must correspond to fvar axis count");let B=[];for(let w=0;w<d;w++){let x=[],C=o.parseUShort();for(let S=0;S<C;S++){let T=o.parseF2Dot14(),k=o.parseF2Dot14();x.push({fromCoordinate:T,toCoordinate:k})}B.push({axisValueMaps:x})}return{version:[c,h],axisSegmentMaps:B}}var Ec={make:aE,parse:oE};function AE(t,n,s,o){let c=new he.Parser(t,n),h=c.parseTupleVariationStore(c.relativeOffset,s.axes.length,"cvar",o),d=c.parseUShort(),B=c.parseUShort();return d!==1&&console.warn(`Unsupported cvar table version ${d}.${B}`),{version:[d,B],...h}}function lE(){console.warn("Writing of cvar tables is not yet supported.")}var wc={make:lE,parse:AE};function cE(t,n,s,o){let c=new he.Parser(t,n),h=c.parseUShort(),d=c.parseUShort();h!==1&&console.warn(`Unsupported gvar table version ${h}.${d}`);let B=c.parseUShort();B!==s.axes.length&&console.warn(`axisCount ${B} in gvar table does not match the number of axes ${s.axes.length} in the fvar table!`);let w=c.parseUShort(),x=c.parsePointer32(function(){return this.parseTupleRecords(w,B)}),C=c.parseTupleVariationStoreList(B,"gvar",o);return{version:[h,d],sharedTuples:x,glyphVariations:C}}function uE(){console.warn("Writing of gvar tables is not yet supported.")}var yc={make:uE,parse:cE};function hE(t,n){let s={},o=new he.Parser(t,n);s.version=o.parseUShort(),G.argument(s.version<=1,"Unsupported gasp table version."),s.numRanges=o.parseUShort(),s.gaspRanges=[];for(let c=0;c<s.numRanges;c++)s.gaspRanges[c]={rangeMaxPPEM:o.parseUShort(),rangeGaspBehavior:o.parseUShort()};return s}function pE(t){let n=new $.Table("gasp",[{name:"version",type:"USHORT",value:1},{name:"numRanges",type:"USHORT",value:t.numRanges}]);for(let s in t.gaspRanges)n.fields.push({name:"rangeMaxPPEM",type:"USHORT",value:t.gaspRanges[s].rangeMaxPPEM}),n.fields.push({name:"rangeGaspBehavior",type:"USHORT",value:t.gaspRanges[s].rangeGaspBehavior});return n}var Cc={parse:hE,make:pE};function fE(t,n){let s=new Map,o=t.buffer,c=new V(t,n);if(c.parseUShort()!==0)return s;c.relativeOffset=c.parseOffset32();let d=t.byteOffset+n+c.relativeOffset,B=c.parseUShort(),w=new Map;for(let x=0;x<B;x++){let C=c.parseUShort(),S=c.parseUShort(),T=d+c.parseOffset32(),k=c.parseULong(),U=w.get(T);U===void 0&&(U=new Uint8Array(o,T,k),w.set(T,U));for(let L=C;L<=S;L++)s.set(L,U)}return s}function dE(t){let n=Array.from(t.keys()).sort(),s=[],o=[],c=new Map,h=0,d={endGlyphID:null};for(let T=0,k=n.length;T<k;T++){let U=n[T],L=t.get(U),ee=c.get(L);ee===void 0&&(ee=h,o.push(L),c.set(L,ee),h+=L.byteLength),U-1===d.endGlyphID&&ee===d.svgDocOffset?d.endGlyphID=U:(d={startGlyphID:U,endGlyphID:U,svgDocOffset:ee,svgDocLength:L.byteLength},s.push(d))}let B=s.length,w=o.length,x=2+B*12,C=new Array(4+B*4+w),S=0;C[S++]={name:"version",type:"USHORT",value:0},C[S++]={name:"svgDocumentListOffset",type:"ULONG",value:10},C[S++]={name:"reserved",type:"ULONG",value:0},C[S++]={name:"numEntries",type:"USHORT",value:B};for(let T=0;T<B;T++){let k="documentRecord_"+T,{startGlyphID:U,endGlyphID:L,svgDocOffset:ee,svgDocLength:Te}=s[T];C[S++]={name:k+"_startGlyphID",type:"USHORT",value:U},C[S++]={name:k+"_endGlyphID",type:"USHORT",value:L},C[S++]={name:k+"_svgDocOffset",type:"ULONG",value:x+ee},C[S++]={name:k+"_svgDocLength",type:"ULONG",value:Te}}for(let T=0;T<w;T++)C[S++]={name:"svgDoc_"+T,type:"LITERAL",value:o[T]};return new $.Table("SVG ",C)}var bc={make:dE,parse:fE};function xc(t){return Math.log(t)/Math.log(2)|0}function ja(t){for(;t.length%4!==0;)t.push(0);let n=0;for(let s=0;s<t.length;s+=4)n+=(t[s]<<24)+(t[s+1]<<16)+(t[s+2]<<8)+t[s+3];return n%=Math.pow(2,32),n}function Qc(t,n,s,o){return new $.Record("Table Record",[{name:"tag",type:"TAG",value:t!==void 0?t:""},{name:"checkSum",type:"ULONG",value:n!==void 0?n:0},{name:"offset",type:"ULONG",value:s!==void 0?s:0},{name:"length",type:"ULONG",value:o!==void 0?o:0}])}function vc(t){let n=new $.Table("sfnt",[{name:"version",type:"TAG",value:"OTTO"},{name:"numTables",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0}]);n.tables=t,n.numTables=t.length;let s=Math.pow(2,xc(n.numTables));n.searchRange=16*s,n.entrySelector=xc(s),n.rangeShift=n.numTables*16-n.searchRange;let o=[],c=[],h=n.sizeOf()+Qc().sizeOf()*n.numTables;for(;h%4!==0;)h+=1,c.push({name:"padding",type:"BYTE",value:0});for(let d=0;d<t.length;d+=1){let B=t[d];G.argument(B.tableName.length===4,"Table name"+B.tableName+" is invalid.");let w=B.sizeOf(),x=Qc(B.tableName,ja(B.encode()),h,w);for(o.push({name:x.tag+" Table Record",type:"RECORD",value:x}),c.push({name:B.tableName+" table",type:"RECORD",value:B}),h+=w,G.argument(!isNaN(h),"Something went wrong calculating the offset.");h%4!==0;)h+=1,c.push({name:"padding",type:"BYTE",value:0})}return o.sort(function(d,B){return d.value.tag>B.value.tag?1:-1}),n.fields=n.fields.concat(o),n.fields=n.fields.concat(c),n}function Ic(t,n,s){for(let o=0;o<n.length;o+=1){let c=t.charToGlyphIndex(n[o]);if(c>0)return t.glyphs.get(c).getMetrics()}return s}function gE(t){let n=0;for(let s=0;s<t.length;s+=1)n+=t[s];return n/t.length}function mE(t){let n=[],s=[],o=[],c=[],h=[],d=[],B=[],w,x=0,C=0,S=0,T=0,k=0;for(let at=0;at<t.glyphs.length;at+=1){let Yt=t.glyphs.get(at),Xt=Yt.unicode|0;if(isNaN(Yt.advanceWidth))throw new Error("Glyph "+Yt.name+" ("+at+"): advanceWidth is not a number.");(w>Xt||w===void 0)&&Xt>0&&(w=Xt),x<Xt&&(x=Xt);let or=Va.getUnicodeRange(Xt);if(or<32)C|=1<<or;else if(or<64)S|=1<<or-32;else if(or<96)T|=1<<or-64;else if(or<123)k|=1<<or-96;else throw new Error("Unicode ranges bits > 123 are reserved for internal usage");if(Yt.name===".notdef")continue;let Mr=Yt.getMetrics();n.push(Mr.xMin),s.push(Mr.yMin),o.push(Mr.xMax),c.push(Mr.yMax),d.push(Mr.leftSideBearing),B.push(Mr.rightSideBearing),h.push(Yt.advanceWidth)}let U={xMin:Math.min.apply(null,n),yMin:Math.min.apply(null,s),xMax:Math.max.apply(null,o),yMax:Math.max.apply(null,c),advanceWidthMax:Math.max.apply(null,h),advanceWidthAvg:gE(h),minLeftSideBearing:Math.min.apply(null,d),maxLeftSideBearing:Math.max.apply(null,d),minRightSideBearing:Math.min.apply(null,B)};U.ascender=t.ascender,U.descender=t.descender;let L=0;t.weightClass>=600&&(L|=t.macStyleValues.BOLD),t.italicAngle<0&&(L|=t.macStyleValues.ITALIC);let ee=Ac.make({flags:3,unitsPerEm:t.unitsPerEm,xMin:U.xMin,yMin:U.yMin,xMax:U.xMax,yMax:U.yMax,lowestRecPPEM:3,macStyle:L,createdTimestamp:t.createdTimestamp}),Te=lc.make({ascender:U.ascender,descender:U.descender,advanceWidthMax:U.advanceWidthMax,minLeftSideBearing:U.minLeftSideBearing,minRightSideBearing:U.minRightSideBearing,xMaxExtent:U.maxLeftSideBearing+(U.xMax-U.xMin),numberOfHMetrics:t.glyphs.length}),xe=hc.make(t.glyphs.length),Re=Va.make(Object.assign({xAvgCharWidth:Math.round(U.advanceWidthAvg),usFirstCharIndex:w,usLastCharIndex:x,ulUnicodeRange1:C,ulUnicodeRange2:S,ulUnicodeRange3:T,ulUnicodeRange4:k,sTypoAscender:U.ascender,sTypoDescender:U.descender,sTypoLineGap:0,usWinAscent:U.yMax,usWinDescent:Math.abs(U.yMin),ulCodePageRange1:1,sxHeight:Ic(t,"xyvw",{yMax:Math.round(U.ascender/2)}).yMax,sCapHeight:Ic(t,"HIKLEFJMNTZBDPRAGOQSUVWXY",U).yMax,usDefaultChar:t.hasChar(" ")?32:0,usBreakChar:t.hasChar(" ")?32:0},t.tables.os2)),Je=cc.make(t.glyphs),$e=Wl.make(t.glyphs),nt=t.getEnglishName("fontFamily"),st=t.getEnglishName("fontSubfamily"),Bt=nt+" "+st,sr=t.getEnglishName("postScriptName");sr||(sr=nt.replace(/\s/g,"")+"-"+st);let Ve={};for(let at in t.names)Ve[at]=t.names[at];Ve.unicode=Ve.unicode||{},Ve.macintosh=Ve.macintosh||{},Ve.windows=Ve.windows||{};let Vt=t.names.unicode||{},Dt=t.names.macintosh||{},Se=t.names.windows||{};for(let at in Ve){if(Ve[at]=Ve[at]||{},!Ve[at].uniqueID){let Yt=t.getEnglishName("manufacturer")||"";Ve[at].uniqueID={en:`${Yt}: ${Bt}`}}Ve[at].postScriptName||(Ve[at].postScriptName={en:sr})}Ve.unicode.preferredFamily||(Ve.unicode.preferredFamily=Vt.fontFamily||Dt.fontFamily||Se.fontFamily),Ve.macintosh.preferredFamily||(Ve.macintosh.preferredFamily=Dt.fontFamily||Vt.fontFamily||Se.fontFamily),Ve.windows.preferredFamily||(Ve.windows.preferredFamily=Se.fontFamily||Vt.fontFamily||Dt.fontFamily),Ve.unicode.preferredSubfamily||(Ve.unicode.preferredSubfamily=Vt.fontSubfamily||Dt.fontSubfamily||Se.fontSubfamily),Ve.macintosh.preferredSubfamily||(Ve.macintosh.preferredSubfamily=Dt.fontSubfamily||Vt.fontSubfamily||Se.fontSubfamily),Ve.windows.preferredSubfamily||(Ve.windows.preferredSubfamily=Se.fontSubfamily||Vt.fontSubfamily||Dt.fontSubfamily);let we=[],Ce=dn.make(Ve,we),vt=we.length>0?uc.make(we):void 0,$r=pc.make(t),vs=Wa.make(t.glyphs,{version:t.getEnglishName("version"),fullName:Bt,familyName:nt,weightName:st,postScriptName:sr,unitsPerEm:t.unitsPerEm,fontBBox:[0,U.yMin,U.ascender,U.advanceWidthMax],topDict:t.tables.cff&&t.tables.cff.topDict||{}}),mi=t.metas&&Object.keys(t.metas).length>0?dc.make(t.metas):void 0,ar=[ee,Te,xe,Re,Ce,$e,$r,vs,Je];vt&&ar.push(vt);let Mt={gsub:fc,cpal:zl,colr:gc,stat:Bc,avar:Ec,cvar:wc,fvar:mc,gvar:yc,gasp:Cc,svg:bc},zt={avar:[t.tables.fvar],fvar:[t.names]};for(let at in Mt){let Yt=t.tables[at];if(Yt){let Xt=Mt[at].make.call(t,Yt,...zt[at]||[]);Xt&&ar.push(Xt)}}mi&&ar.push(mi);let It=vc(ar),jt=It.encode(),Ut=ja(jt),Nt=It.fields,gt=!1;for(let at=0;at<Nt.length;at+=1)if(Nt[at].name==="head table"){Nt[at].value.checkSumAdjustment=2981146554-Ut,gt=!0;break}if(!gt)throw new Error("Could not find head table with checkSum to adjust.");return It}var BE={make:vc,fontToTable:mE,computeCheckSum:ja};function _a(t,n){let s=0,o=t.length-1;for(;s<=o;){let c=s+o>>>1,h=t[c].tag;if(h===n)return c;h<n?s=c+1:o=c-1}return-s-1}function Fc(t,n){let s=0,o=t.length-1;for(;s<=o;){let c=s+o>>>1,h=t[c];if(h===n)return c;h<n?s=c+1:o=c-1}return-s-1}function Tc(t,n){let s,o=0,c=t.length-1;for(;o<=c;){let h=o+c>>>1;s=t[h];let d=s.start;if(d===n)return s;d<n?o=h+1:c=h-1}if(o>0)return s=t[o-1],n>s.end?0:s}function Sc(t,n){this.font=t,this.tableName=n}Sc.prototype={searchTag:_a,binSearch:Fc,getTable:function(t){let n=this.font.tables[this.tableName];return!n&&t&&(n=this.font.tables[this.tableName]=this.createDefaultTable()),n},getScriptNames:function(){let t=this.getTable();return t?t.scripts.map(function(n){return n.tag}):[]},getDefaultScriptName:function(){let t=this.getTable();if(!t)return;let n=!1;for(let s=0;s<t.scripts.length;s++){let o=t.scripts[s].tag;if(o==="DFLT")return o;o==="latn"&&(n=!0)}if(n)return"latn"},getScriptTable:function(t,n){let s=this.getTable(n);if(s){t=t||"DFLT";let o=s.scripts,c=_a(s.scripts,t);if(c>=0)return o[c].script;if(n){let h={tag:t,script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}};return o.splice(-1-c,0,h),h.script}}},getLangSysTable:function(t,n,s){let o=this.getScriptTable(t,s);if(o){if(!n||n==="dflt"||n==="DFLT")return o.defaultLangSys;let c=_a(o.langSysRecords,n);if(c>=0)return o.langSysRecords[c].langSys;if(s){let h={tag:n,langSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]}};return o.langSysRecords.splice(-1-c,0,h),h.langSys}}},getFeatureTable:function(t,n,s,o){let c=this.getLangSysTable(t,n,o);if(c){let h,d=c.featureIndexes,B=this.font.tables[this.tableName].features;for(let w=0;w<d.length;w++)if(h=B[d[w]],h.tag===s)return h.feature;if(o){let w=B.length;return G.assert(w===0||s>=B[w-1].tag,"Features must be added in alphabetical order."),h={tag:s,feature:{params:0,lookupListIndexes:[]}},B.push(h),d.push(w),h.feature}}},getLookupTables:function(t,n,s,o,c){let h=this.getFeatureTable(t,n,s,c),d=[];if(h){let B,w=h.lookupListIndexes,x=this.font.tables[this.tableName].lookups;for(let C=0;C<w.length;C++)B=x[w[C]],B.lookupType===o&&d.push(B);if(d.length===0&&c){B={lookupType:o,lookupFlag:0,subtables:[],markFilteringSet:void 0};let C=x.length;return x.push(B),w.push(C),[B]}}return d},getGlyphClass:function(t,n){switch(t.format){case 1:return t.startGlyph<=n&&n<t.startGlyph+t.classes.length?t.classes[n-t.startGlyph]:0;case 2:{let s=Tc(t.ranges,n);return s?s.classId:0}}},getCoverageIndex:function(t,n){switch(t.format){case 1:{let s=Fc(t.glyphs,n);return s>=0?s:-1}case 2:{let s=Tc(t.ranges,n);return s?s.index+n-s.start:-1}}},expandCoverage:function(t){if(t.format===1)return t.glyphs;{let n=[],s=t.ranges;for(let o=0;o<s.length;o++){let c=s[o],h=c.start,d=c.end;for(let B=h;B<=d;B++)n.push(B)}return n}}};var ms=Sc;function En(t){ms.call(this,t,"gpos")}En.prototype=ms.prototype,En.prototype.init=function(){let t=this.getDefaultScriptName();this.defaultKerningTables=this.getKerningTables(t)},En.prototype.getKerningValue=function(t,n,s){for(let o=0;o<t.length;o++){let c=t[o].subtables;for(let h=0;h<c.length;h++){let d=c[h],B=this.getCoverageIndex(d.coverage,n);if(!(B<0))switch(d.posFormat){case 1:{let w=d.pairSets[B];for(let x=0;x<w.length;x++){let C=w[x];if(C.secondGlyph===s)return C.value1&&C.value1.xAdvance||0}break}case 2:{let w=this.getGlyphClass(d.classDef1,n),x=this.getGlyphClass(d.classDef2,s),C=d.classRecords[w][x];return C.value1&&C.value1.xAdvance||0}}}}return 0},En.prototype.getKerningTables=function(t,n){if(this.font.tables.gpos)return this.getLookupTables(t,n,"kern",2)};var EE=En;function wE(t,n){let s=t.length;if(s!==n.length)return!1;for(let o=0;o<s;o++)if(t[o]!==n[o])return!1;return!0}function yE(t,n,s){let o=0,c=t.length-1,h=null;for(;o<=c;){let d=Math.floor((o+c)/2),B=t[d],w=B[n];if(w<s)o=d+1;else if(w>s)c=d-1;else{h=B;break}}return h}function CE(t,n,s){let o=0,c=t.length-1;for(;o<=c;){let h=Math.floor((o+c)/2),d=t[h];if(d[n]<s)o=h+1;else if(d[n]>s)c=h-1;else return h}return-1}function bE(t,n,s){let o=0,c=t.length,h=(d,B)=>d[n]-B[n];for(;o<c;){let d=o+c>>>1;h(t[d],s)<0?o=d+1:c=d}return t.splice(o,0,s),o}function Dc(t){return t[0]===31&&t[1]===139&&t[2]===8}function xE(t){let n=new DataView(t.buffer,t.byteOffset,t.byteLength),s=10,o=t.byteLength-8,c=n.getInt8(3);if(c&4&&(s+=2+n.getUint16(s,!0)),c&8)for(;s<o&&t[s++]!==0;);if(c&16)for(;s<o&&t[s++]!==0;);if(c&2&&(s+=2),s>=o)throw new Error("Can't find compressed blocks");let h=n.getUint32(n.byteLength-4,!0);return pe(t.subarray(s,o),new Uint8Array(h))}function Mc(t){return{x:t.x,y:t.y,onCurve:t.onCurve,lastPointOfContour:t.lastPointOfContour}}function QE(t){return{glyphIndex:t.glyphIndex,xScale:t.xScale,scale01:t.scale01,scale10:t.scale10,yScale:t.yScale,dx:t.dx,dy:t.dy}}function Wt(t){ms.call(this,t,"gsub")}function Za(t,n,s){let o=t.subtables;for(let c=0;c<o.length;c++){let h=o[c];if(h.substFormat===n)return h}if(s)return o.push(s),s}Wt.prototype=ms.prototype,Wt.prototype.createDefaultTable=function(){return{version:1,scripts:[{tag:"DFLT",script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}}],features:[],lookups:[]}},Wt.prototype.getSingle=function(t,n,s){let o=[],c=this.getLookupTables(n,s,t,1);for(let h=0;h<c.length;h++){let d=c[h].subtables;for(let B=0;B<d.length;B++){let w=d[B],x=this.expandCoverage(w.coverage),C;if(w.substFormat===1){let S=w.deltaGlyphId;for(C=0;C<x.length;C++){let T=x[C];o.push({sub:T,by:T+S})}}else{let S=w.substitute;for(C=0;C<x.length;C++)o.push({sub:x[C],by:S[C]})}}}return o},Wt.prototype.getMultiple=function(t,n,s){let o=[],c=this.getLookupTables(n,s,t,2);for(let h=0;h<c.length;h++){let d=c[h].subtables;for(let B=0;B<d.length;B++){let w=d[B],x=this.expandCoverage(w.coverage),C;for(C=0;C<x.length;C++){let S=x[C],T=w.sequences[C];o.push({sub:S,by:T})}}}return o},Wt.prototype.getAlternates=function(t,n,s){let o=[],c=this.getLookupTables(n,s,t,3);for(let h=0;h<c.length;h++){let d=c[h].subtables;for(let B=0;B<d.length;B++){let w=d[B],x=this.expandCoverage(w.coverage),C=w.alternateSets;for(let S=0;S<x.length;S++)o.push({sub:x[S],by:C[S]})}}return o},Wt.prototype.getLigatures=function(t,n,s){let o=[],c=this.getLookupTables(n,s,t,4);for(let h=0;h<c.length;h++){let d=c[h].subtables;for(let B=0;B<d.length;B++){let w=d[B],x=this.expandCoverage(w.coverage),C=w.ligatureSets;for(let S=0;S<x.length;S++){let T=x[S],k=C[S];for(let U=0;U<k.length;U++){let L=k[U];o.push({sub:[T].concat(L.components),by:L.ligGlyph})}}}}return o},Wt.prototype.addSingle=function(t,n,s,o){let c=this.getLookupTables(s,o,t,1,!0)[0],h=Za(c,2,{substFormat:2,coverage:{format:1,glyphs:[]},substitute:[]});G.assert(h.coverage.format===1,"Single: unable to modify coverage table format "+h.coverage.format);let d=n.sub,B=this.binSearch(h.coverage.glyphs,d);B<0&&(B=-1-B,h.coverage.glyphs.splice(B,0,d),h.substitute.splice(B,0,0)),h.substitute[B]=n.by},Wt.prototype.addMultiple=function(t,n,s,o){G.assert(n.by instanceof Array&&n.by.length>1,'Multiple: "by" must be an array of two or more ids');let c=this.getLookupTables(s,o,t,2,!0)[0],h=Za(c,1,{substFormat:1,coverage:{format:1,glyphs:[]},sequences:[]});G.assert(h.coverage.format===1,"Multiple: unable to modify coverage table format "+h.coverage.format);let d=n.sub,B=this.binSearch(h.coverage.glyphs,d);B<0&&(B=-1-B,h.coverage.glyphs.splice(B,0,d),h.sequences.splice(B,0,0)),h.sequences[B]=n.by},Wt.prototype.addAlternate=function(t,n,s,o){let c=this.getLookupTables(s,o,t,3,!0)[0],h=Za(c,1,{substFormat:1,coverage:{format:1,glyphs:[]},alternateSets:[]});G.assert(h.coverage.format===1,"Alternate: unable to modify coverage table format "+h.coverage.format);let d=n.sub,B=this.binSearch(h.coverage.glyphs,d);B<0&&(B=-1-B,h.coverage.glyphs.splice(B,0,d),h.alternateSets.splice(B,0,0)),h.alternateSets[B]=n.by},Wt.prototype.addLigature=function(t,n,s,o){let c=this.getLookupTables(s,o,t,4,!0)[0],h=c.subtables[0];h||(h={substFormat:1,coverage:{format:1,glyphs:[]},ligatureSets:[]},c.subtables[0]=h),G.assert(h.coverage.format===1,"Ligature: unable to modify coverage table format "+h.coverage.format);let d=n.sub[0],B=n.sub.slice(1),w={ligGlyph:n.by,components:B},x=this.binSearch(h.coverage.glyphs,d);if(x>=0){let C=h.ligatureSets[x];for(let S=0;S<C.length;S++)if(wE(C[S].components,B))return;C.push(w)}else x=-1-x,h.coverage.glyphs.splice(x,0,d),h.ligatureSets.splice(x,0,[w])},Wt.prototype.getFeature=function(t,n,s){if(/ss\d\d/.test(t))return this.getSingle(t,n,s);switch(t){case"aalt":case"salt":return this.getSingle(t,n,s).concat(this.getAlternates(t,n,s));case"dlig":case"liga":case"rlig":return this.getLigatures(t,n,s);case"ccmp":return this.getMultiple(t,n,s).concat(this.getLigatures(t,n,s));case"stch":return this.getMultiple(t,n,s)}},Wt.prototype.add=function(t,n,s,o){if(/ss\d\d/.test(t))return this.addSingle(t,n,s,o);switch(t){case"aalt":case"salt":return typeof n.by=="number"?this.addSingle(t,n,s,o):this.addAlternate(t,n,s,o);case"dlig":case"liga":case"rlig":return this.addLigature(t,n,s,o);case"ccmp":return n.by instanceof Array?this.addMultiple(t,n,s,o):this.addLigature(t,n,s,o)}};var vE=Wt,Uc=class{constructor(t){this.defaultValue=255,this.font=t}cpal(){return this.font.tables&&this.font.tables.cpal?this.font.tables.cpal:!1}getAll(t){let n=[],s=this.cpal();if(!s)return n;for(let o=0;o<s.colorRecordIndices.length;o++){let c=s.colorRecordIndices[o],h=[];for(let d=c;d<c+s.numPaletteEntries;d++)h.push(Ui(s.colorRecords[d],t||"hexa"));n.push(h)}return n}toCPALcolor(t){return Array.isArray(t)?t.map(n=>fs(n,"raw")):fs(t,"raw")}fillPalette(t,n=[],s=this.cpal().numPaletteEntries){return t=Number.isInteger(t)?this.get(t,"raw"):t,Object.assign(Array(s).fill(this.defaultValue),this.toCPALcolor(t).concat(this.toCPALcolor(n)))}extend(t){if(this.ensureCPAL(Array(t).fill(this.defaultValue)))return;let n=this.cpal(),s=n.numPaletteEntries+t,o=this.getAll().map(c=>this.fillPalette(c,[],s));n.numPaletteEntries=s,n.colorRecords=this.toCPALcolor(o.flat()),this.updateIndices()}get(t,n="hexa"){return this.getAll(n)[t]||null}getColor(t,n=0,s="hexa"){return Ya(this.font,t,n,s)}setColor(t,n,s=0){t=parseInt(t),s=parseInt(s);let o=this.getAll("raw"),c=o[s];if(!c)throw Error(`paletteIndex ${s} out of range`);let h=this.cpal(),d=h.numPaletteEntries;Array.isArray(n)||(n=[n]),n.length+t>d&&(this.extend(n.length+t-d),o=this.getAll("raw"),c=o[s]);for(let B=0;B<n.length;B++)c[B+t]=this.toCPALcolor(n[B]);h.colorRecords=o.flat(),this.updateIndices()}add(t){if(this.ensureCPAL(t))return;let n=this.cpal(),s=n.numPaletteEntries;t&&t.length?(t=this.toCPALcolor(t),t.length>s?this.extend(t.length-s):t.length<s&&(t=this.fillPalette(t)),n.colorRecordIndices.push(n.colorRecords.length),n.colorRecords.push(...t)):(n.colorRecordIndices.push(n.colorRecords.length),n.colorRecords.push(...Array(s).fill(this.defaultValue)))}delete(t){let n=this.getAll("raw");delete n[t];let s=this.cpal();s.colorRecordIndices.pop(),s.colorRecords=n.flat()}deleteColor(t,n){if(t===n)throw Error("replacementIndex cannot be the same as colorIndex");let s=this.cpal(),o=this.getAll("raw"),c=[];if(n>s.numPaletteEntries-1)throw Error(`Replacement index out of range: numPaletteEntries after deletion: ${s.numPaletteEntries-1}, replacementIndex: ${n})`);for(let B=0;B<o.length;B++){let x=o[B].filter((C,S)=>S!==t);c.push(x)}let h=this.font.tables.colr;if(h){let B=h.layerRecords;for(let w=0;w<B.length;w++){let x=B[w].paletteIndex;if(x>t)B[w].paletteIndex-=1;else if(x===t){let C=0;for(let S=0;S<o.length;S++)if(n>t&&n<=t+o[S].length){C++;break}B[w].paletteIndex=n-C}}this.font.tables.colr={...h,layerRecords:B}}let d=c.flat();for(let B=0;B<o.length;B++)s.colorRecordIndices[B]-=B;s.numPaletteEntries=Math.max(0,s.numPaletteEntries-1),s.colorRecords=this.toCPALcolor(d)}ensureCPAL(t){return this.cpal()?!1:(!t||!t.length?t=[this.defaultValue]:t=this.toCPALcolor(t),this.font.tables.cpal={version:0,numPaletteEntries:t.length,colorRecords:t,colorRecordIndices:[0]},!0)}updateIndices(){let t=this.cpal(),n=Math.ceil(t.colorRecords.length/t.numPaletteEntries);t.colorRecordIndices=[];for(let s=0;s<n;s++)t.colorRecordIndices.push(s*t.numPaletteEntries)}},IE=class{constructor(t){this.font=t}ensureCOLR(){return this.font.tables.colr||(this.font.tables.colr={version:0,baseGlyphRecords:[],layerRecords:[]}),this.font}get(t){let n=this.font,s=[],o=n.tables.colr,c=n.tables.cpal;if(!o||!c)return s;let h=yE(o.baseGlyphRecords,"glyphID",t);if(!h)return s;let d=h.firstLayerIndex,B=h.numLayers;for(let w=0;w<B;w++){let x=o.layerRecords[d+w];s.push({glyph:n.glyphs.get(x.glyphID),paletteIndex:x.paletteIndex})}return s}add(t,n,s){let o=this.get(t);n=Array.isArray(n)?n:[n],s===void 0||s===1/0||s>o.length?s=o.length:s<0&&(s=o.length+1+s%(o.length+1),s>=o.length+1&&(s-=o.length+1));let c=[];for(let h=0;h<s;h++){let d=Number.isInteger(o[h].glyph)?o[h].glyph:o[h].glyph.index;c.push({glyphID:d,paletteIndex:o[h].paletteIndex})}for(let h of n){let d=Number.isInteger(h.glyph)?h.glyph:h.glyph.index;c.push({glyphID:d,paletteIndex:h.paletteIndex})}for(let h=s;h<o.length;h++){let d=Number.isInteger(o[h].glyph)?o[h].glyph:o[h].glyph.index;c.push({glyphID:d,paletteIndex:o[h].paletteIndex})}this.updateColrTable(t,c)}setPaletteIndex(t,n,s){let o=this.get(t);o[n]?(o=o.map((c,h)=>({glyphID:c.glyph.index,paletteIndex:h===n?s:c.paletteIndex})),this.updateColrTable(t,o)):console.error("Invalid layer index")}remove(t,n,s=n){let o=this.get(t);o=o.map(c=>({glyphID:c.glyph.index,paletteIndex:c.paletteIndex})),o.splice(n,s-n+1),this.updateColrTable(t,o)}updateColrTable(t,n){this.ensureCOLR();let o=this.font.tables.colr,c=CE(o.baseGlyphRecords,"glyphID",t);if(c===-1){let C={glyphID:t,firstLayerIndex:o.layerRecords.length,numLayers:0};c=bE(o.baseGlyphRecords,"glyphID",C)}let d=o.baseGlyphRecords[c],B=d.numLayers,w=n.length,x=w-B;if(x>0){let C=n.slice(B).map(S=>({glyphID:S.glyphID,paletteIndex:S.paletteIndex}));o.layerRecords.splice(d.firstLayerIndex+B,0,...C)}else x<0&&o.layerRecords.splice(d.firstLayerIndex+w,-x);for(let C=0;C<Math.min(B,w);C++)o.layerRecords[d.firstLayerIndex+C]={glyphID:n[C].glyphID,paletteIndex:n[C].paletteIndex};if(d.numLayers=w,x!==0)for(let C=0;C<o.baseGlyphRecords.length;C++){let S=o.baseGlyphRecords[C];C===c||S.firstLayerIndex<d.firstLayerIndex||(o.baseGlyphRecords[C].firstLayerIndex+=x)}}},FE=class{constructor(t){this.font=t,this.cache=new WeakMap}get(t){let n=this.getOrCreateSvgImageCacheEntry(t);return n&&n.image}getAsync(t){let n=this.getOrCreateSvgImageCacheEntry(t);return n&&n.promise}getOrCreateSvgImageCacheEntry(t){let n=this.font.tables.svg;if(n===void 0)return;let s=n.get(t);if(s===void 0)return;let o=this.cache.get(s);o===void 0&&(o=TE(s),this.cache.set(s,o));let c=o.images.get(t);return c===void 0&&(c=SE(this.font,o.template,t),c.promise.then(h=>{if(c.image=h,typeof this.font.onGlyphUpdated=="function")try{this.font.onGlyphUpdated(t)}catch(d){console.error("font.onGlyphUpdated",t,d)}}),o.images.set(t,c)),c}};function TE(t){return{template:DE(t).then(NE),images:new Map}}function SE(t,n,s){return{promise:n.then(o=>{let c;typeof o=="string"?c=o:(o[4]=s,c=o.join(""));let h=kE(c,t.unitsPerEm);return h.image.decode().then(()=>h)}),image:void 0}}var DE=typeof DecompressionStream=="function"?UE:ME;function ME(t){try{return Promise.resolve(new TextDecoder().decode(Dc(t)?xE(t):t))}catch(n){return Promise.reject(n)}}function UE(t){if(Dc(t))return new Response(new Response(t).body.pipeThrough(new DecompressionStream("gzip"))).text();try{return Promise.resolve(new TextDecoder().decode(t))}catch(n){return Promise.reject(n)}}function NE(t){let n=t.indexOf("<svg"),s=t.indexOf(">",n+4)+1;if(/ id=['"]glyph\d+['"]/.test(t.substring(n,s)))return t;let o=t.lastIndexOf("</svg>");return[t.substring(0,s),"<defs>",t.substring(s,o),'</defs><use href="#glyph',"",'"/>',t.substring(o)]}function kE(t,n){let o=new DOMParser().parseFromString(t,"image/svg+xml").documentElement,c=o.viewBox.baseVal,h=o.width.baseVal,d=o.height.baseVal,B=1,w=1;c.width>0&&c.height>0&&(h.unitType===1?(B=h.valueInSpecifiedUnits/c.width,w=d.unitType===1?d.valueInSpecifiedUnits/c.height:B):d.unitType===1?(w=d.valueInSpecifiedUnits/c.height,B=w):n&&(B=n/c.width,w=n/c.height));let x=document.createElement("div");x.style.position="fixed",x.style.visibility="hidden",x.appendChild(o),document.body.appendChild(x);let C=o.getBBox();document.body.removeChild(x);let S=(C.x-c.x)*B,T=(c.y-C.y)*w,k=C.width*B,U=C.height*w;o.setAttribute("viewBox",[C.x,C.y,C.width,C.height].join(" ")),B!==1&&o.setAttribute("width",k),w!==1&&o.setAttribute("height",U);let L=new Image(k,U);return L.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(o.outerHTML),{leftSideBearing:S,baseline:T,image:L}}var za=new WeakMap;function Nc(t,n,s,o,c){let h;return(n&o)>0?(h=t.parseByte(),(n&c)===0&&(h=-h),h=s+h):(n&c)>0?h=s:h=s+t.parseShort(),h}function kc(t,n,s){let o=new he.Parser(n,s);t._numberOfContours=o.parseShort(),t._xMin=o.parseShort(),t._yMin=o.parseShort(),t._xMax=o.parseShort(),t._yMax=o.parseShort();let c,h;if(t._numberOfContours>0){let d=t.endPointIndices=[];for(let w=0;w<t._numberOfContours;w+=1)d.push(o.parseUShort());t.instructionLength=o.parseUShort(),t.instructions=[];for(let w=0;w<t.instructionLength;w+=1)t.instructions.push(o.parseByte());let B=d[d.length-1]+1;c=[];for(let w=0;w<B;w+=1)if(h=o.parseByte(),c.push(h),(h&8)>0){let x=o.parseByte();for(let C=0;C<x;C+=1)c.push(h),w+=1}if(G.argument(c.length===B,"Bad flags."),d.length>0){let w=[],x;if(B>0){for(let T=0;T<B;T+=1)h=c[T],x={},x.onCurve=!!(h&1),x.lastPointOfContour=d.indexOf(T)>=0,w.push(x);let C=0;for(let T=0;T<B;T+=1)h=c[T],x=w[T],x.x=Nc(o,h,C,2,16),C=x.x;let S=0;for(let T=0;T<B;T+=1)h=c[T],x=w[T],x.y=Nc(o,h,S,4,32),S=x.y}t.points=w}else t.points=[]}else if(t._numberOfContours===0)t.points=[];else{t.isComposite=!0,t.points=[],t.components=[];let d=!0;for(;d;){c=o.parseUShort();let B={glyphIndex:o.parseUShort(),xScale:1,scale01:0,scale10:0,yScale:1,dx:0,dy:0};(c&1)>0?(c&2)>0?(B.dx=o.parseShort(),B.dy=o.parseShort()):B.matchedPoints=[o.parseUShort(),o.parseUShort()]:(c&2)>0?(B.dx=o.parseChar(),B.dy=o.parseChar()):B.matchedPoints=[o.parseByte(),o.parseByte()],(c&8)>0?B.xScale=B.yScale=o.parseF2Dot14():(c&64)>0?(B.xScale=o.parseF2Dot14(),B.yScale=o.parseF2Dot14()):(c&128)>0&&(B.xScale=o.parseF2Dot14(),B.scale01=o.parseF2Dot14(),B.scale10=o.parseF2Dot14(),B.yScale=o.parseF2Dot14()),t.components.push(B),d=!!(c&32)}if(c&256){t.instructionLength=o.parseUShort(),t.instructions=[];for(let B=0;B<t.instructionLength;B+=1)t.instructions.push(o.parseByte())}}}function Bs(t,n){let s=[];for(let o=0;o<t.length;o+=1){let c=t[o],h={x:n.xScale*c.x+n.scale10*c.y+n.dx,y:n.scale01*c.x+n.yScale*c.y+n.dy,onCurve:c.onCurve,lastPointOfContour:c.lastPointOfContour};s.push(h)}return s}function OE(t){let n=[],s=[];for(let o=0;o<t.length;o+=1){let c=t[o];s.push(c),c.lastPointOfContour&&(n.push(s),s=[])}return G.argument(s.length===0,"There are still points left in the current contour."),n}function Xa(t){let n=new X;if(!t)return n;let s=OE(t);for(let o=0;o<s.length;++o){let c=s[o],h=c[c.length-1],d=c[0];if(h.onCurve)n.moveTo(h.x,h.y);else if(d.onCurve)n.moveTo(d.x,d.y);else{let B={x:(h.x+d.x)*.5,y:(h.y+d.y)*.5};n.moveTo(B.x,B.y)}for(let B=0;B<c.length;++B)if(h=d,d=c[(B+1)%c.length],h.onCurve)n.lineTo(h.x,h.y);else{let w=d;d.onCurve||(w={x:(h.x+d.x)*.5,y:(h.y+d.y)*.5}),n.quadraticCurveTo(h.x,h.y,w.x,w.y)}n.closePath()}return n}function Oc(t,n){if(n.isComposite){za.has(t)||za.set(t,new Set);let s=za.get(t);s.add(n.index);try{for(let o=0;o<n.components.length;o+=1){let c=n.components[o];if(s.has(c.glyphIndex))continue;let h=t.get(c.glyphIndex);if(h.getPath(),h.points){let d;if(c.matchedPoints===void 0)d=Bs(h.points,c);else{if(c.matchedPoints[0]>n.points.length-1||c.matchedPoints[1]>h.points.length-1)throw Error("Matched points out of range in "+n.name);let B=n.points[c.matchedPoints[0]],w=h.points[c.matchedPoints[1]],x={xScale:c.xScale,scale01:c.scale01,scale10:c.scale10,yScale:c.yScale,dx:0,dy:0};w=Bs([w],x)[0],x.dx=B.x-w.x,x.dy=B.y-w.y,d=Bs(h.points,x)}n.points=n.points.concat(d)}}}finally{s.delete(n.index)}}return Xa(n.points)}function YE(t,n,s,o){let c=new dr.GlyphSet(o);for(let h=0;h<s.length-1;h+=1){let d=s[h],B=s[h+1];d!==B?c.push(h,dr.ttfGlyphLoader(o,h,kc,t,n+d,Oc)):c.push(h,dr.glyphLoader(o,h))}return c}function RE(t,n,s,o){let c=new dr.GlyphSet(o);return o._push=function(h){let d=s[h],B=s[h+1];d!==B?c.push(h,dr.ttfGlyphLoader(o,h,kc,t,n+d,Oc)):c.push(h,dr.glyphLoader(o,h))},c}function GE(t,n,s,o,c){return c.lowMemory?RE(t,n,s,o):YE(t,n,s,o)}var Yc={getPath:Xa,parse:GE},LE=class{constructor(t){this.font=t}normalizeCoordTags(t){for(let n in t)if(n.length<4){let s=n.padEnd(4," ");t[s]===void 0&&(t[s]=t[n]),delete t[n]}}getNormalizedCoords(t){t||(t=this.font.variation.get());let n=[];this.normalizeCoordTags(t);for(let s=0;s<this.fvar().axes.length;s++){let o=this.fvar().axes[s],c=t[o.tag];c===void 0&&(c=o.defaultValue),c<o.defaultValue?n.push((c-o.defaultValue+Number.EPSILON)/(o.defaultValue-o.minValue+Number.EPSILON)):n.push((c-o.defaultValue+Number.EPSILON)/(o.maxValue-o.defaultValue+Number.EPSILON))}if(this.avar())for(let s=0;s<this.avar().axisSegmentMaps.length;s++){let o=this.avar().axisSegmentMaps[s];for(let c=0;c<o.axisValueMaps.length;c++){let h=o.axisValueMaps[c];if(c>=1&&n[s]<h.fromCoordinate){let d=o.axisValueMaps[c-1];n[s]=((n[s]-d.fromCoordinate)*(h.toCoordinate-d.toCoordinate)+Number.EPSILON)/(h.fromCoordinate-d.fromCoordinate+Number.EPSILON)+d.toCoordinate;break}}}return n}interpolatePoints(t,n,s){if(t.length===0)return;let o=0;for(;o<t.length;){let c=o,h=o,d=t[h];for(;!d.lastPointOfContour;)d=t[++h];for(;o<=h&&!s[o];)o++;if(o>h)continue;let B=o,w=o;for(o++;o<=h;)s[o]&&(this.deltaInterpolate(w+1,o-1,w,o,n,t),w=o),o++;w===B?this.deltaShift(c,h,w,n,t):(this.deltaInterpolate(w+1,h,w,B,n,t),B>0&&this.deltaInterpolate(c,B-1,w,B,n,t)),o=h+1}}deltaInterpolate(t,n,s,o,c,h){if(t>n)return;let d=["x","y"];for(let w=0;w<d.length;w++){let x=d[w];if(c[s][x]>c[o][x]){var B=s;s=o,o=B}let C=c[s][x],S=c[o][x],T=h[s][x],k=h[o][x];if(C!==S||T===k){let U=C===S?0:(k-T)/(S-C);for(let L=t;L<=n;L++){let ee=c[L][x];ee<=C?ee+=T-C:ee>=S?ee+=k-S:ee=T+(ee-C)*U,h[L][x]=ee}}}}deltaShift(t,n,s,o,c){let h=c[s].x-o[s].x,d=c[s].y-o[s].y;if(!(h===0&&d===0))for(let B=t;B<=n;B++)B!==s&&(c[B].x+=h,c[B].y+=d)}transformComponents(t,n,s,o,c,h){let d=0;for(let B=0;B<t.components.length;B++){let w=t.components[B],x=this.font.glyphs.get(w.glyphIndex),C=QE(w),S=o.indexOf(B);S>-1&&(C.dx+=Math.round(c.deltas[S]*h),C.dy+=Math.round(c.deltasY[S]*h));let T=Bs(this.getTransform(x,s).points,C);n.splice(d,T.length,...T),d+=x.points.length}}applyTupleVariationStore(t,n,s,o="gvar",c={}){s||(s=this.font.variation.get());let h=this.getNormalizedCoords(s),{headers:d,sharedPoints:B}=t,w=this.fvar().axes.length,x;o==="gvar"?x=n.map(Mc):o==="cvar"&&(x=[...n]);for(let C=0;C<d.length;C++){let S=d[C],T=1;for(let U=0;U<w;U++){let L=[0];switch(o){case"gvar":L=S.peakTuple?S.peakTuple:this.gvar().sharedTuples[S.sharedTupleRecordsIndex];break;case"cvar":L=S.peakTuple;break}if(L[U]!==0){if(h[U]===0){T=0;break}if(S.intermediateStartTuple)if(h[U]<S.intermediateStartTuple[U]||h[U]>S.intermediateEndTuple[U]){T=0;break}else h[U]<L[U]?T=T*(h[U]-S.intermediateStartTuple[U]+Number.EPSILON)/(L[U]-S.intermediateStartTuple[U]+Number.EPSILON):T=T*(S.intermediateEndTuple[U]-h[U]+Number.EPSILON)/(S.intermediateEndTuple[U]-L[U]+Number.EPSILON);else{if(h[U]<Math.min(0,L[U])||h[U]>Math.max(0,L[U])){T=0;break}T=(T*h[U]+Number.EPSILON)/(L[U]+Number.EPSILON)}}}if(T===0)continue;let k=S.privatePoints.length?S.privatePoints:B;if(o==="gvar"&&c.glyph&&c.glyph.isComposite)this.transformComponents(c.glyph,x,s,k,S,T);else if(k.length===0)for(let U=0;U<x.length;U++){let L=x[U];o==="gvar"?x[U]={x:Math.round(L.x+S.deltas[U]*T),y:Math.round(L.y+S.deltasY[U]*T),onCurve:L.onCurve,lastPointOfContour:L.lastPointOfContour}:o==="cvar"&&(x[U]=Math.round(L+S.deltas[U]*T))}else{let U;o==="gvar"?U=x.map(Mc):o==="cvar"&&(U=x);let L=Array(n.length).fill(!1);for(let ee=0;ee<k.length;ee++){let Te=k[ee];if(Te<n.length){let xe=U[Te];o==="gvar"?(L[Te]=!0,xe.x+=S.deltas[ee]*T,xe.y+=S.deltasY[ee]*T):o==="cvar"&&(x[Te]=Math.round(xe+S.deltas[ee]*T))}}if(o==="gvar"){this.interpolatePoints(U,x,L);for(let ee=0;ee<n.length;ee++){let Te=U[ee].x-x[ee].x,xe=U[ee].y-x[ee].y;x[ee].x=Math.round(x[ee].x+Te),x[ee].y=Math.round(x[ee].y+xe)}}}}return x}getTransform(t,n){Number.isInteger(t)&&(t=this.font.glyphs.get(t));let s=t.getBlendPath,o=!!(t.points&&t.points.length),c=t;if(s||o){if(n||(n=this.font.variation.get()),o){let h=this.gvar()&&this.gvar().glyphVariations[t.index];if(h){let d=t.points,B=this.applyTupleVariationStore(h,d,n,"gvar",{glyph:t});c=new Ni(Object.assign({},t,{points:B,path:Xa(B)}))}}else if(s){let h=t.getBlendPath(n);c=new Ni(Object.assign({},t,{path:h}))}}return this.font.tables.hvar&&(t._advanceWidth=typeof t._advanceWidth<"u"?t._advanceWidth:t.advanceWidth,t.advanceWidth=c.advanceWidth=Math.round(t._advanceWidth+this.getVariableAdjustment(c.index,"hvar","advanceWidth",n)),t._leftSideBearing=typeof t._leftSideBearing<"u"?t._leftSideBearing:t.leftSideBearing,t.leftSideBearing=c.leftSideBearing=Math.round(t._leftSideBearing+this.getVariableAdjustment(c.index,"hvar","lsb",n))),c}getCvarTransform(t){let n=this.font.tables.cvt,s=this.cvar();return!n||!n.length||!s||!s.headers.length?n:this.applyTupleVariationStore(s,n,t,"cvar")}getVariableAdjustment(t,n,s,o){o=o||this.font.variation.get();let c,h,d=this.font.tables[n];if(!d)throw Error(`trying to get variation adjustment from non-existent table "${d}"`);if(!d.itemVariationStore)throw Error(`trying to get variation adjustment from table "${d}" which does not have an itemVariationStore`);let B=d[s]&&d[s].map.length;if(B){let w=t;w>=B&&(w=B-1),{outerIndex:c,innerIndex:h}=d[s].map[w]}else c=0,h=t;return this.getDelta(d.itemVariationStore,c,h,o)}getDelta(t,n,s,o){if(n>=t.itemVariationSubtables.length)return 0;let c=t.itemVariationSubtables[n];if(s>=c.deltaSets.length)return 0;let h=c.deltaSets[s],d=this.getBlendVector(t,n,o),B=0;for(let w=0;w<c.regionIndexes.length;w++)B+=h[w]*d[w];return B}getBlendVector(t,n,s){s||(s=this.font.variation.get());let o=t.itemVariationSubtables[n],c=this.getNormalizedCoords(s),h=[];for(let d=0;d<o.regionIndexes.length;d++){let B=1,w=o.regionIndexes[d],x=t.variationRegions[w].regionAxes;for(let C=0;C<x.length;C++){let S=x[C],T;S.startCoord>S.peakCoord||S.peakCoord>S.endCoord||S.startCoord<0&&S.endCoord>0&&S.peakCoord!==0||S.peakCoord===0?T=1:c[C]<S.startCoord||c[C]>S.endCoord?T=0:c[C]===S.peakCoord?T=1:c[C]<S.peakCoord?T=(c[C]-S.startCoord+Number.EPSILON)/(S.peakCoord-S.startCoord+Number.EPSILON):T=(S.endCoord-c[C]+Number.EPSILON)/(S.endCoord-S.peakCoord+Number.EPSILON),B*=T}h[d]=B}return h}avar(){return this.font.tables.avar}cvar(){return this.font.tables.cvar}fvar(){return this.font.tables.fvar}gvar(){return this.font.tables.gvar}hvar(){return this.font.tables.hvar}},PE=class{constructor(t){this.font=t,this.process=new LE(this.font),this.activateDefaultVariation(),this.getTransform=this.process.getTransform.bind(this.process)}activateDefaultVariation(){let t=this.getDefaultInstanceIndex();t>-1?this.set(t):this.set(this.getDefaultCoordinates())}getDefaultCoordinates(){return this.fvar().axes.reduce((t,n)=>(t[n.tag]=n.defaultValue,t),{})}getDefaultInstanceIndex(){let t=this.getDefaultCoordinates(),n=this.getInstanceIndex(t);return n<0&&(n=this.fvar().instances.findIndex(s=>s.name&&s.name.en==="Regular")),n}getInstanceIndex(t){return this.fvar().instances.findIndex(n=>Object.keys(t).every(s=>n.coordinates[s]===t[s]))}getInstance(t){return this.fvar().instances&&this.fvar().instances[t]}set(t){let n;if(Number.isInteger(t)){let s=this.getInstance(t);if(!s)throw Error(`Invalid instance index ${t}`);n={...s.coordinates}}else n=t,this.process.normalizeCoordTags(n);n=Object.assign({},this.font.defaultRenderOptions.variation,n),this.font.defaultRenderOptions=Object.assign({},this.font.defaultRenderOptions,{variation:n})}get(){return Object.assign({},this.font.defaultRenderOptions.variation)}avar(){return this.font.tables.avar}cvar(){return this.font.tables.cvar}fvar(){return this.font.tables.fvar}gvar(){return this.font.tables.gvar}hvar(){return this.font.tables.hvar}},Rc=1e6,Es=64,ws=1e4,Gc,di,Lc,qa;function Pc(t){this.font=t,this.getCommands=function(n){return Yc.getPath(n).commands},this._fpgmState=this._prepState=void 0,this._errorState=0}function HE(t){return t}function Hc(t){return Math.sign(t)*Math.round(Math.abs(t))}function WE(t){return Math.sign(t)*Math.round(Math.abs(t*2))/2}function JE(t){return Math.sign(t)*(Math.round(Math.abs(t)+.5)-.5)}function VE(t){return Math.sign(t)*Math.ceil(Math.abs(t))}function jE(t){return Math.sign(t)*Math.floor(Math.abs(t))}var Wc=function(t){let n=this.srPeriod,s=this.srPhase,o=this.srThreshold,c=1;return t<0&&(t=-t,c=-1),t+=o-s,t=Math.trunc(t/n)*n,t+=s,t<0?s*c:t*c},mr={x:1,y:0,axis:"x",distance:function(t,n,s,o){return(s?t.xo:t.x)-(o?n.xo:n.x)},interpolate:function(t,n,s,o){let c,h,d,B,w,x,C;if(!o||o===this){if(c=t.xo-n.xo,h=t.xo-s.xo,w=n.x-n.xo,x=s.x-s.xo,d=Math.abs(c),B=Math.abs(h),C=d+B,C===0){t.x=t.xo+(w+x)/2;return}t.x=t.xo+(w*B+x*d)/C;return}if(c=o.distance(t,n,!0,!0),h=o.distance(t,s,!0,!0),w=o.distance(n,n,!1,!0),x=o.distance(s,s,!1,!0),d=Math.abs(c),B=Math.abs(h),C=d+B,C===0){mr.setRelative(t,t,(w+x)/2,o,!0);return}mr.setRelative(t,t,(w*B+x*d)/C,o,!0)},normalSlope:Number.NEGATIVE_INFINITY,setRelative:function(t,n,s,o,c){if(!o||o===this){t.x=(c?n.xo:n.x)+s;return}let h=c?n.xo:n.x,d=c?n.yo:n.y,B=h+s*o.x,w=d+s*o.y;t.x=B+(t.y-w)/o.normalSlope},slope:0,touch:function(t){t.xTouched=!0},touched:function(t){return t.xTouched},untouch:function(t){t.xTouched=!1}},Sr={x:0,y:1,axis:"y",distance:function(t,n,s,o){return(s?t.yo:t.y)-(o?n.yo:n.y)},interpolate:function(t,n,s,o){let c,h,d,B,w,x,C;if(!o||o===this){if(c=t.yo-n.yo,h=t.yo-s.yo,w=n.y-n.yo,x=s.y-s.yo,d=Math.abs(c),B=Math.abs(h),C=d+B,C===0){t.y=t.yo+(w+x)/2;return}t.y=t.yo+(w*B+x*d)/C;return}if(c=o.distance(t,n,!0,!0),h=o.distance(t,s,!0,!0),w=o.distance(n,n,!1,!0),x=o.distance(s,s,!1,!0),d=Math.abs(c),B=Math.abs(h),C=d+B,C===0){Sr.setRelative(t,t,(w+x)/2,o,!0);return}Sr.setRelative(t,t,(w*B+x*d)/C,o,!0)},normalSlope:0,setRelative:function(t,n,s,o,c){if(!o||o===this){t.y=(c?n.yo:n.y)+s;return}let h=c?n.xo:n.x,d=c?n.yo:n.y,B=h+s*o.x,w=d+s*o.y;t.y=w+o.normalSlope*(t.x-B)},slope:Number.POSITIVE_INFINITY,touch:function(t){t.yTouched=!0},touched:function(t){return t.yTouched},untouch:function(t){t.yTouched=!1}};Object.freeze(mr),Object.freeze(Sr);function wn(t,n){this.x=t,this.y=n,this.axis=void 0,this.slope=n/t,this.normalSlope=-t/n,Object.freeze(this)}wn.prototype.distance=function(t,n,s,o){return this.x*mr.distance(t,n,s,o)+this.y*Sr.distance(t,n,s,o)},wn.prototype.interpolate=function(t,n,s,o){let c,h,d,B,w,x,C;if(d=o.distance(t,n,!0,!0),B=o.distance(t,s,!0,!0),c=o.distance(n,n,!1,!0),h=o.distance(s,s,!1,!0),w=Math.abs(d),x=Math.abs(B),C=w+x,C===0){this.setRelative(t,t,(c+h)/2,o,!0);return}this.setRelative(t,t,(c*x+h*w)/C,o,!0)},wn.prototype.setRelative=function(t,n,s,o,c){o=o||this;let h=c?n.xo:n.x,d=c?n.yo:n.y,B=h+s*o.x,w=d+s*o.y,x=o.normalSlope,C=this.slope,S=t.x,T=t.y;t.x=(C*S-x*B+w-T)/(C-x),t.y=C*(t.x-S)+T},wn.prototype.touch=function(t){t.xTouched=!0,t.yTouched=!0};function yn(t,n){let s=Math.sqrt(t*t+n*n);return t/=s,n/=s,t===1&&n===0?mr:t===0&&n===1?Sr:new wn(t,n)}function Dr(t,n,s,o){this.x=this.xo=Math.round(t*64)/64,this.y=this.yo=Math.round(n*64)/64,this.lastPointOfContour=s,this.onCurve=o,this.prevPointOnContour=void 0,this.nextPointOnContour=void 0,this.xTouched=!1,this.yTouched=!1,Object.preventExtensions(this)}Dr.prototype.nextTouched=function(t){let n=this.nextPointOnContour;for(;!t.touched(n)&&n!==this;)n=n.nextPointOnContour;return n},Dr.prototype.prevTouched=function(t){let n=this.prevPointOnContour;for(;!t.touched(n)&&n!==this;)n=n.prevPointOnContour;return n};var Cn=Object.freeze(new Dr(0,0)),_E={cvCutIn:17/16,deltaBase:9,deltaShift:.125,loop:1,minDis:1,autoFlip:!0};function jr(t,n){switch(this.env=t,this.stack=[],this.prog=n,t){case"glyf":this.zp0=this.zp1=this.zp2=1,this.rp0=this.rp1=this.rp2=0;case"prep":this.fv=this.pv=this.dpv=mr,this.round=Hc}}Pc.prototype.exec=function(t,n){if(typeof n!="number")throw new Error("Point size is not a number!");if(this._errorState>2)return;let s=this.font,o=this._prepState;if(!o||o.ppem!==n){let c=this._fpgmState;if(!c){jr.prototype=_E,c=this._fpgmState=new jr("fpgm",s.tables.fpgm),c.funcs=[],c.font=s,c.instructionCount=0,c.callDepth=0;try{di(c)}catch(d){console.log("Hinting error in FPGM:"+d),this._errorState=3;return}}jr.prototype=c,o=this._prepState=new jr("prep",s.tables.prep),o.ppem=n,o.instructionCount=0,o.callDepth=0;let h=s.variation&&s.variation.process.getCvarTransform()||s.tables.cvt;if(h){let d=o.cvt=new Array(h.length),B=n/s.unitsPerEm;for(let w=0;w<h.length;w++)d[w]=h[w]*B}else o.cvt=[];try{di(o)}catch(d){this._errorState<2&&console.log("Hinting error in PREP:"+d),this._errorState=2}}if(!(this._errorState>1))try{return Lc(t,o)}catch(c){this._errorState<1&&(console.log("Hinting error:"+c),console.log("Note: further hinting errors are silenced")),this._errorState=1;return}},Lc=function(t,n){let s=n.ppem/n.font.unitsPerEm,o=s,c=t.components,h,d,B;if(jr.prototype=n,!c)B=new jr("glyf",t.instructions),B.instructionCount=0,B.callDepth=0,qa(t,B,s,o),d=B.gZone;else{let w=n.font;d=[],h=[];for(let x=0;x<c.length;x++){let C=c[x],S=w.glyphs.get(C.glyphIndex);B=new jr("glyf",S.instructions),B.instructionCount=0,B.callDepth=0,qa(S,B,s,o);let T=Math.round(C.dx*s),k=Math.round(C.dy*o),U=B.gZone,L=B.contours;for(let Te=0;Te<U.length;Te++){let xe=U[Te];xe.xTouched=xe.yTouched=!1,xe.xo=xe.x=xe.x+T,xe.yo=xe.y=xe.y+k}let ee=d.length;d.push.apply(d,U);for(let Te=0;Te<L.length;Te++)h.push(L[Te]+ee)}t.instructions&&!B.inhibitGridFit&&(B=new jr("glyf",t.instructions),B.gZone=B.z0=B.z1=B.z2=d,B.contours=h,d.push(new Dr(0,0),new Dr(Math.round(t.advanceWidth*s),0)),di(B),d.length-=2)}return d},qa=function(t,n,s,o){let c=t.points||[],h=c.length,d=n.gZone=n.z0=n.z1=n.z2=[],B=n.contours=[],w;for(let S=0;S<h;S++)w=c[S],d[S]=new Dr(w.x*s,w.y*o,w.lastPointOfContour,w.onCurve);let x,C;for(let S=0;S<h;S++)w=d[S],x||(x=w,B.push(S)),w.lastPointOfContour?(w.nextPointOnContour=x,x.prevPointOnContour=w,x=void 0):(C=d[S+1],w.nextPointOnContour=C,C.prevPointOnContour=w);n.inhibitGridFit||(d.push(new Dr(0,0),new Dr(Math.round(t.advanceWidth*s),0)),di(n),d.length-=2)},di=function(t){let n=t.prog;if(!n)return;let s=n.length,o;for(t.ip=0;t.ip<s;t.ip++){if(++t.instructionCount>Rc)throw new Error("Hinting instructions exceeded maximum of "+Rc);if(o=Gc[n[t.ip]],!o)throw new Error("unknown instruction: 0x"+Number(n[t.ip]).toString(16));o(t)}};function ys(t){let n=t.tZone=new Array(t.gZone.length);for(let s=0;s<n.length;s++)n[s]=new Dr(0,0)}function Jc(t,n){let s=t.prog,o=t.ip,c=1,h;do if(h=s[++o],h===88)c++;else if(h===89)c--;else if(h===64)o+=s[o+1]+1;else if(h===65)o+=2*s[o+1]+1;else if(h>=176&&h<=183)o+=h-176+1;else if(h>=184&&h<=191)o+=(h-184+1)*2;else if(n&&c===1&&h===27)break;while(c>0);t.ip=o}function Vc(t,n){n.fv=n.pv=n.dpv=t}function jc(t,n){n.pv=n.dpv=t}function _c(t,n){n.fv=t}function Zc(t,n){let s=n.stack,o=s.pop(),c=s.pop(),h=n.z2[o],d=n.z1[c],B,w;t?(B=h.y-d.y,w=d.x-h.x):(B=d.x-h.x,w=d.y-h.y),n.pv=n.dpv=yn(B,w)}function zc(t,n){let s=n.stack,o=s.pop(),c=s.pop(),h=n.z2[o],d=n.z1[c],B,w;t?(B=h.y-d.y,w=d.x-h.x):(B=d.x-h.x,w=d.y-h.y),n.fv=yn(B,w)}function ZE(t){let n=t.stack,s=n.pop(),o=n.pop();t.pv=t.dpv=yn(o,s)}function zE(t){let n=t.stack,s=n.pop(),o=n.pop();t.fv=yn(o,s)}function XE(t){let n=t.stack,s=t.pv;n.push(s.x*16384),n.push(s.y*16384)}function qE(t){let n=t.stack,s=t.fv;n.push(s.x*16384),n.push(s.y*16384)}function KE(t){t.fv=t.pv}function $E(t){let n=t.stack,s=n.pop(),o=n.pop(),c=n.pop(),h=n.pop(),d=n.pop(),B=t.z0,w=t.z1,x=B[s],C=B[o],S=w[c],T=w[h],k=t.z2[d],U=x.x,L=x.y,ee=C.x,Te=C.y,xe=S.x,Re=S.y,Je=T.x,$e=T.y,nt=(U-ee)*(Re-$e)-(L-Te)*(xe-Je),st=U*Te-L*ee,Bt=xe*$e-Re*Je;k.x=(st*(xe-Je)-Bt*(U-ee))/nt,k.y=(st*(Re-$e)-Bt*(L-Te))/nt}function e1(t){t.rp0=t.stack.pop()}function t1(t){t.rp1=t.stack.pop()}function r1(t){t.rp2=t.stack.pop()}function i1(t){let n=t.stack.pop();switch(t.zp0=n,n){case 0:t.tZone||ys(t),t.z0=t.tZone;break;case 1:t.z0=t.gZone;break;default:throw new Error("Invalid zone pointer")}}function n1(t){let n=t.stack.pop();switch(t.zp1=n,n){case 0:t.tZone||ys(t),t.z1=t.tZone;break;case 1:t.z1=t.gZone;break;default:throw new Error("Invalid zone pointer")}}function s1(t){let n=t.stack.pop();switch(t.zp2=n,n){case 0:t.tZone||ys(t),t.z2=t.tZone;break;case 1:t.z2=t.gZone;break;default:throw new Error("Invalid zone pointer")}}function a1(t){let n=t.stack.pop();switch(t.zp0=t.zp1=t.zp2=n,n){case 0:t.tZone||ys(t),t.z0=t.z1=t.z2=t.tZone;break;case 1:t.z0=t.z1=t.z2=t.gZone;break;default:throw new Error("Invalid zone pointer")}}function o1(t){t.loop=t.stack.pop(),t.loop>ws&&(t.loop=ws)}function A1(t){t.round=Hc}function l1(t){t.round=JE}function c1(t){let n=t.stack.pop();t.minDis=n/64}function u1(t){Jc(t,!1)}function h1(t){let n=t.stack.pop();t.ip+=n-1}function p1(t){let n=t.stack.pop();t.cvCutIn=n/64}function f1(t){let n=t.stack;n.push(n[n.length-1])}function Ka(t){t.stack.pop()}function d1(t){t.stack.length=0}function g1(t){let n=t.stack,s=n.pop(),o=n.pop();n.push(s),n.push(o)}function m1(t){let n=t.stack;n.push(n.length)}function B1(t){let n=t.stack,s=n.pop(),o=n.pop();if(o>ws&&(o=ws),++t.callDepth>Es)throw new Error("Hinting call depth exceeded maximum of "+Es);let c=t.ip,h=t.prog;t.prog=t.funcs[s];for(let d=0;d<o;d++)di(t);t.ip=c,t.prog=h,t.callDepth--}function E1(t){let n=t.stack.pop();if(++t.callDepth>Es)throw new Error("Hinting call depth exceeded maximum of "+Es);let s=t.ip,o=t.prog;t.prog=t.funcs[n],di(t),t.ip=s,t.prog=o,t.callDepth--}function w1(t){let n=t.stack,s=n.pop();n.push(n[n.length-s])}function y1(t){let n=t.stack,s=n.pop();n.push(n.splice(n.length-s,1)[0])}function C1(t){if(t.env!=="fpgm")throw new Error("FDEF not allowed here");let n=t.stack,s=t.prog,o=t.ip,c=n.pop(),h=o;for(;s[++o]!==45;);t.ip=o,t.funcs[c]=s.slice(h+1,o)}function Xc(t,n){let s=n.stack.pop(),o=n.z0[s],c=n.fv,h=n.pv,d=h.distance(o,Cn);t&&(d=n.round(d)),c.setRelative(o,Cn,d,h),c.touch(o),n.rp0=n.rp1=s}function qc(t,n){let s=n.z2,o=s.length-2,c,h,d;for(let B=0;B<o;B++)c=s[B],!t.touched(c)&&(h=c.prevTouched(t),h!==c&&(d=c.nextTouched(t),h===d&&t.setRelative(c,c,t.distance(h,h,!1,!0),t,!0),t.interpolate(c,h,d,t)))}function Kc(t,n){let s=n.stack,o=t?n.rp1:n.rp2,c=(t?n.z0:n.z1)[o],h=n.fv,d=n.pv,B=n.loop,w=n.z2;for(;B--;){let x=s.pop(),C=w[x],S=d.distance(c,c,!1,!0);h.setRelative(C,C,S,d),h.touch(C)}n.loop=1}function $c(t,n){let s=n.stack,o=t?n.rp1:n.rp2,c=(t?n.z0:n.z1)[o],h=n.fv,d=n.pv,B=s.pop(),w=n.z2[n.contours[B]],x=w,C=d.distance(c,c,!1,!0);do x!==c&&h.setRelative(x,x,C,d),x=x.nextPointOnContour;while(x!==w)}function eu(t,n){let s=n.stack,o=t?n.rp1:n.rp2,c=(t?n.z0:n.z1)[o],h=n.fv,d=n.pv,B=s.pop(),w;switch(B){case 0:w=n.tZone;break;case 1:w=n.gZone;break;default:throw new Error("Invalid zone")}let x,C=d.distance(c,c,!1,!0),S=w.length-2;for(let T=0;T<S;T++)x=w[T],h.setRelative(x,x,C,d)}function b1(t){let n=t.stack,s=t.loop,o=t.fv,c=n.pop()/64,h=t.z2;for(;s--;){let d=n.pop(),B=h[d];o.setRelative(B,B,c),o.touch(B)}t.loop=1}function x1(t){let n=t.stack,s=t.rp1,o=t.rp2,c=t.loop,h=t.z0[s],d=t.z1[o],B=t.fv,w=t.dpv,x=t.z2;for(;c--;){let C=n.pop(),S=x[C];B.interpolate(S,h,d,w),B.touch(S)}t.loop=1}function tu(t,n){let s=n.stack,o=s.pop()/64,c=s.pop(),h=n.z1[c],d=n.z0[n.rp0],B=n.fv,w=n.pv;B.setRelative(h,d,o,w),B.touch(h),n.rp1=n.rp0,n.rp2=c,t&&(n.rp0=c)}function Q1(t){let n=t.stack,s=t.rp0,o=t.z0[s],c=t.loop,h=t.fv,d=t.pv,B=t.z1;for(;c--;){let w=n.pop(),x=B[w];h.setRelative(x,o,0,d),h.touch(x)}t.loop=1}function v1(t){t.round=WE}function ru(t,n){let s=n.stack,o=s.pop(),c=s.pop(),h=n.z0[c],d=n.fv,B=n.pv,w=n.cvt[o],x=B.distance(h,Cn);t&&(Math.abs(x-w)<n.cvCutIn&&(x=w),x=n.round(x)),d.setRelative(h,Cn,x,B),n.zp0===0&&(h.xo=h.x,h.yo=h.y),d.touch(h),n.rp0=n.rp1=c}function I1(t){let n=t.prog,s=t.ip,o=t.stack,c=n[++s];for(let h=0;h<c;h++)o.push(n[++s]);t.ip=s}function F1(t){let n=t.ip,s=t.prog,o=t.stack,c=s[++n];for(let h=0;h<c;h++){let d=s[++n]<<8|s[++n];d&32768&&(d=-((d^65535)+1)),o.push(d)}t.ip=n}function T1(t){let n=t.stack,s=t.store;s||(s=t.store=[]);let o=n.pop(),c=n.pop();s[c]=o}function S1(t){let n=t.stack,s=t.store,o=n.pop(),c=s&&s[o]||0;n.push(c)}function D1(t){let n=t.stack,s=n.pop(),o=n.pop();t.cvt[o]=s/64}function M1(t){let n=t.stack,s=n.pop();n.push(t.cvt[s]*64)}function iu(t,n){let s=n.stack,o=s.pop(),c=n.z2[o];s.push(n.dpv.distance(c,Cn,t,!1)*64)}function nu(t,n){let s=n.stack,o=s.pop(),c=s.pop(),h=n.z1[o],d=n.z0[c],B=n.dpv.distance(d,h,t,t);n.stack.push(Math.round(B*64))}function U1(t){t.stack.push(t.ppem)}function N1(t){t.autoFlip=!0}function k1(t){let n=t.stack,s=n.pop(),o=n.pop();n.push(o<s?1:0)}function O1(t){let n=t.stack,s=n.pop(),o=n.pop();n.push(o<=s?1:0)}function Y1(t){let n=t.stack,s=n.pop(),o=n.pop();n.push(o>s?1:0)}function R1(t){let n=t.stack,s=n.pop(),o=n.pop();n.push(o>=s?1:0)}function G1(t){let n=t.stack,s=n.pop(),o=n.pop();n.push(s===o?1:0)}function L1(t){let n=t.stack,s=n.pop(),o=n.pop();n.push(s!==o?1:0)}function P1(t){let n=t.stack,s=n.pop();n.push(Math.trunc(s)&1?1:0)}function H1(t){let n=t.stack,s=n.pop();n.push(Math.trunc(s)&1?0:1)}function W1(t){let n=t.stack.pop(),s;n||Jc(t,!0)}function J1(t){}function V1(t){let n=t.stack,s=n.pop(),o=n.pop();n.push(s&&o?1:0)}function j1(t){let n=t.stack,s=n.pop(),o=n.pop();n.push(s||o?1:0)}function _1(t){let n=t.stack,s=n.pop();n.push(s?0:1)}function $a(t,n){let s=n.stack,o=s.pop(),c=n.fv,h=n.pv,d=n.ppem,B=n.deltaBase+(t-1)*16,w=n.deltaShift,x=n.z0;for(let C=0;C<o;C++){let S=s.pop(),T=s.pop();if(B+((T&240)>>4)!==d)continue;let U=(T&15)-8;U>=0&&U++;let L=x[S];c.setRelative(L,L,U*w,h)}}function Z1(t){let s=t.stack.pop();t.deltaBase=s}function z1(t){let s=t.stack.pop();t.deltaShift=Math.pow(.5,s)}function X1(t){let n=t.stack,s=n.pop(),o=n.pop();n.push(o+s)}function q1(t){let n=t.stack,s=n.pop(),o=n.pop();n.push(o-s)}function K1(t){let n=t.stack,s=n.pop(),o=n.pop();n.push(o*64/s)}function $1(t){let n=t.stack,s=n.pop(),o=n.pop();n.push(o*s/64)}function ew(t){let n=t.stack,s=n.pop();n.push(Math.abs(s))}function tw(t){let n=t.stack,s=n.pop();n.push(-s)}function rw(t){let n=t.stack,s=n.pop();n.push(Math.floor(s/64)*64)}function iw(t){let n=t.stack,s=n.pop();n.push(Math.ceil(s/64)*64)}function Cs(t,n){let s=n.stack,o=s.pop();s.push(n.round(o/64)*64)}function nw(t){let n=t.stack,s=n.pop(),o=n.pop();t.cvt[o]=s*t.ppem/t.font.unitsPerEm}function eo(t,n){let s=n.stack,o=s.pop(),c=n.ppem,h=n.deltaBase+(t-1)*16,d=n.deltaShift;for(let B=0;B<o;B++){let w=s.pop(),x=s.pop();if(h+((x&240)>>4)!==c)continue;let S=(x&15)-8;S>=0&&S++;let T=S*d;n.cvt[w]+=T}}function sw(t){let n=t.stack.pop();t.round=Wc;let s;switch(n&192){case 0:s=.5;break;case 64:s=1;break;case 128:s=2;break;default:throw new Error("invalid SROUND value")}switch(t.srPeriod=s,n&48){case 0:t.srPhase=0;break;case 16:t.srPhase=.25*s;break;case 32:t.srPhase=.5*s;break;case 48:t.srPhase=.75*s;break;default:throw new Error("invalid SROUND value")}n&=15,n===0?t.srThreshold=0:t.srThreshold=(n/8-.5)*s}function aw(t){let n=t.stack.pop();t.round=Wc;let s;switch(n&192){case 0:s=Math.sqrt(2)/2;break;case 64:s=Math.sqrt(2);break;case 128:s=2*Math.sqrt(2);break;default:throw new Error("invalid S45ROUND value")}switch(t.srPeriod=s,n&48){case 0:t.srPhase=0;break;case 16:t.srPhase=.25*s;break;case 32:t.srPhase=.5*s;break;case 48:t.srPhase=.75*s;break;default:throw new Error("invalid S45ROUND value")}n&=15,n===0?t.srThreshold=0:t.srThreshold=(n/8-.5)*s}function ow(t){t.round=HE}function Aw(t){t.round=VE}function lw(t){t.round=jE}function cw(t){let n=t.stack.pop()}function su(t,n){let s=n.stack,o=s.pop(),c=s.pop(),h=n.z2[o],d=n.z1[c],B,w;t?(B=h.y-d.y,w=d.x-h.x):(B=d.x-h.x,w=d.y-h.y),n.dpv=yn(B,w)}function uw(t){let n=t.stack,s=n.pop(),o=0;s&1&&(o=35),s&32&&(o|=4096),n.push(o)}function hw(t){let n=t.stack,s=n.pop(),o=n.pop(),c=n.pop();n.push(o),n.push(s),n.push(c)}function pw(t){let n=t.stack,s=n.pop(),o=n.pop();n.push(Math.max(o,s))}function fw(t){let n=t.stack,s=n.pop(),o=n.pop();n.push(Math.min(o,s))}function dw(t){let n=t.stack.pop()}function gw(t){let n=t.stack.pop(),s=t.stack.pop();switch(n){case 1:t.inhibitGridFit=!!s;return;case 2:t.ignoreCvt=!!s;return;default:throw new Error("invalid INSTCTRL[] selector")}}function _r(t,n){let s=n.stack,o=n.prog,c=n.ip;for(let h=0;h<t;h++)s.push(o[++c]);n.ip=c}function Zr(t,n){let s=n.ip,o=n.prog,c=n.stack;for(let h=0;h<t;h++){let d=o[++s]<<8|o[++s];d&32768&&(d=-((d^65535)+1)),c.push(d)}n.ip=s}function Ie(t,n,s,o,c,h){let d=h.stack,B=t&&d.pop(),w=d.pop(),x=h.rp0,C=h.z0[x],S=h.z1[w],T=h.minDis,k=h.fv,U=h.dpv,L,ee,Te,xe;ee=L=U.distance(S,C,!0,!0),Te=ee>=0?1:-1,ee=Math.abs(ee),t&&(xe=h.cvt[B],o&&Math.abs(ee-xe)<h.cvCutIn&&(ee=xe)),s&&ee<T&&(ee=T),o&&(ee=h.round(ee)),k.setRelative(S,C,Te*ee,U),k.touch(S),h.rp1=h.rp0,h.rp2=w,n&&(h.rp0=w)}Gc=[Vc.bind(void 0,Sr),Vc.bind(void 0,mr),jc.bind(void 0,Sr),jc.bind(void 0,mr),_c.bind(void 0,Sr),_c.bind(void 0,mr),Zc.bind(void 0,0),Zc.bind(void 0,1),zc.bind(void 0,0),zc.bind(void 0,1),ZE,zE,XE,qE,KE,$E,e1,t1,r1,i1,n1,s1,a1,o1,A1,l1,c1,u1,h1,p1,void 0,void 0,f1,Ka,d1,g1,m1,w1,y1,void 0,void 0,void 0,B1,E1,C1,void 0,Xc.bind(void 0,0),Xc.bind(void 0,1),qc.bind(void 0,Sr),qc.bind(void 0,mr),Kc.bind(void 0,0),Kc.bind(void 0,1),$c.bind(void 0,0),$c.bind(void 0,1),eu.bind(void 0,0),eu.bind(void 0,1),b1,x1,tu.bind(void 0,0),tu.bind(void 0,1),Q1,v1,ru.bind(void 0,0),ru.bind(void 0,1),I1,F1,T1,S1,D1,M1,iu.bind(void 0,0),iu.bind(void 0,1),void 0,nu.bind(void 0,0),nu.bind(void 0,1),U1,void 0,N1,void 0,void 0,k1,O1,Y1,R1,G1,L1,P1,H1,W1,J1,V1,j1,_1,$a.bind(void 0,1),Z1,z1,X1,q1,K1,$1,ew,tw,rw,iw,Cs.bind(void 0,0),Cs.bind(void 0,1),Cs.bind(void 0,2),Cs.bind(void 0,3),void 0,void 0,void 0,void 0,nw,$a.bind(void 0,2),$a.bind(void 0,3),eo.bind(void 0,1),eo.bind(void 0,2),eo.bind(void 0,3),sw,aw,void 0,void 0,ow,void 0,Aw,lw,Ka,Ka,void 0,void 0,void 0,void 0,void 0,cw,su.bind(void 0,0),su.bind(void 0,1),uw,void 0,hw,pw,fw,dw,gw,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,_r.bind(void 0,1),_r.bind(void 0,2),_r.bind(void 0,3),_r.bind(void 0,4),_r.bind(void 0,5),_r.bind(void 0,6),_r.bind(void 0,7),_r.bind(void 0,8),Zr.bind(void 0,1),Zr.bind(void 0,2),Zr.bind(void 0,3),Zr.bind(void 0,4),Zr.bind(void 0,5),Zr.bind(void 0,6),Zr.bind(void 0,7),Zr.bind(void 0,8),Ie.bind(void 0,0,0,0,0,0),Ie.bind(void 0,0,0,0,0,1),Ie.bind(void 0,0,0,0,0,2),Ie.bind(void 0,0,0,0,0,3),Ie.bind(void 0,0,0,0,1,0),Ie.bind(void 0,0,0,0,1,1),Ie.bind(void 0,0,0,0,1,2),Ie.bind(void 0,0,0,0,1,3),Ie.bind(void 0,0,0,1,0,0),Ie.bind(void 0,0,0,1,0,1),Ie.bind(void 0,0,0,1,0,2),Ie.bind(void 0,0,0,1,0,3),Ie.bind(void 0,0,0,1,1,0),Ie.bind(void 0,0,0,1,1,1),Ie.bind(void 0,0,0,1,1,2),Ie.bind(void 0,0,0,1,1,3),Ie.bind(void 0,0,1,0,0,0),Ie.bind(void 0,0,1,0,0,1),Ie.bind(void 0,0,1,0,0,2),Ie.bind(void 0,0,1,0,0,3),Ie.bind(void 0,0,1,0,1,0),Ie.bind(void 0,0,1,0,1,1),Ie.bind(void 0,0,1,0,1,2),Ie.bind(void 0,0,1,0,1,3),Ie.bind(void 0,0,1,1,0,0),Ie.bind(void 0,0,1,1,0,1),Ie.bind(void 0,0,1,1,0,2),Ie.bind(void 0,0,1,1,0,3),Ie.bind(void 0,0,1,1,1,0),Ie.bind(void 0,0,1,1,1,1),Ie.bind(void 0,0,1,1,1,2),Ie.bind(void 0,0,1,1,1,3),Ie.bind(void 0,1,0,0,0,0),Ie.bind(void 0,1,0,0,0,1),Ie.bind(void 0,1,0,0,0,2),Ie.bind(void 0,1,0,0,0,3),Ie.bind(void 0,1,0,0,1,0),Ie.bind(void 0,1,0,0,1,1),Ie.bind(void 0,1,0,0,1,2),Ie.bind(void 0,1,0,0,1,3),Ie.bind(void 0,1,0,1,0,0),Ie.bind(void 0,1,0,1,0,1),Ie.bind(void 0,1,0,1,0,2),Ie.bind(void 0,1,0,1,0,3),Ie.bind(void 0,1,0,1,1,0),Ie.bind(void 0,1,0,1,1,1),Ie.bind(void 0,1,0,1,1,2),Ie.bind(void 0,1,0,1,1,3),Ie.bind(void 0,1,1,0,0,0),Ie.bind(void 0,1,1,0,0,1),Ie.bind(void 0,1,1,0,0,2),Ie.bind(void 0,1,1,0,0,3),Ie.bind(void 0,1,1,0,1,0),Ie.bind(void 0,1,1,0,1,1),Ie.bind(void 0,1,1,0,1,2),Ie.bind(void 0,1,1,0,1,3),Ie.bind(void 0,1,1,1,0,0),Ie.bind(void 0,1,1,1,0,1),Ie.bind(void 0,1,1,1,0,2),Ie.bind(void 0,1,1,1,0,3),Ie.bind(void 0,1,1,1,1,0),Ie.bind(void 0,1,1,1,1,1),Ie.bind(void 0,1,1,1,1,2),Ie.bind(void 0,1,1,1,1,3)];var mw=Pc;function Yi(t){this.char=t,this.state={},this.activeState=null}function to(t,n,s){this.contextName=s,this.startIndex=t,this.endOffset=n}function Bw(t,n,s){this.contextName=t,this.openRange=null,this.ranges=[],this.checkStart=n,this.checkEnd=s}function St(t,n){this.context=t,this.index=n,this.length=t.length,this.current=t[n],this.backtrack=t.slice(0,n),this.lookahead=t.slice(n+1)}function bs(t){this.eventId=t,this.subscribers=[]}function Ew(t){let n=["start","end","next","newToken","contextStart","contextEnd","insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD","updateContextsRanges"];for(let o=0;o<n.length;o++){let c=n[o];Object.defineProperty(this.events,c,{value:new bs(c)})}if(t)for(let o=0;o<n.length;o++){let c=n[o],h=t[c];typeof h=="function"&&this.events[c].subscribe(h)}let s=["insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD"];for(let o=0;o<s.length;o++){let c=s[o];this.events[c].subscribe(this.updateContextsRanges)}}function dt(t){this.tokens=[],this.registeredContexts={},this.contextCheckers=[],this.events={},this.registeredModifiers=[],Ew.call(this,t)}Yi.prototype.setState=function(t,n){return this.state[t]=n,this.activeState={key:t,value:this.state[t]},this.activeState},Yi.prototype.getState=function(t){return this.state[t]||null},dt.prototype.inboundIndex=function(t){return t>=0&&t<this.tokens.length},dt.prototype.composeRUD=function(t){let s=t.map(c=>this[c[0]].apply(this,c.slice(1).concat(!0))),o=c=>typeof c=="object"&&Object.prototype.hasOwnProperty.call(c,"FAIL");if(s.every(o))return{FAIL:"composeRUD: one or more operations hasn't completed successfully",report:s.filter(o)};this.dispatch("composeRUD",[s.filter(c=>!o(c))])},dt.prototype.replaceRange=function(t,n,s,o){n=n!==null?n:this.tokens.length;let c=s.every(h=>h instanceof Yi);if(!isNaN(t)&&this.inboundIndex(t)&&c){let h=this.tokens.splice.apply(this.tokens,[t,n].concat(s));return o||this.dispatch("replaceToken",[t,n,s]),[h,s]}else return{FAIL:"replaceRange: invalid tokens or startIndex."}},dt.prototype.replaceToken=function(t,n,s){if(!isNaN(t)&&this.inboundIndex(t)&&n instanceof Yi){let o=this.tokens.splice(t,1,n);return s||this.dispatch("replaceToken",[t,n]),[o[0],n]}else return{FAIL:"replaceToken: invalid token or index."}},dt.prototype.removeRange=function(t,n,s){n=isNaN(n)?this.tokens.length:n;let o=this.tokens.splice(t,n);return s||this.dispatch("removeRange",[o,t,n]),o},dt.prototype.removeToken=function(t,n){if(!isNaN(t)&&this.inboundIndex(t)){let s=this.tokens.splice(t,1);return n||this.dispatch("removeToken",[s,t]),s}else return{FAIL:"removeToken: invalid token index."}},dt.prototype.insertToken=function(t,n,s){return t.every(c=>c instanceof Yi)?(this.tokens.splice.apply(this.tokens,[n,0].concat(t)),s||this.dispatch("insertToken",[t,n]),t):{FAIL:"insertToken: invalid token(s)."}},dt.prototype.registerModifier=function(t,n,s){this.events.newToken.subscribe(function(o,c){let h=[o,c],d=n===null||n.apply(this,h)===!0,B=[o,c];if(d){let w=s.apply(this,B);o.setState(t,w)}}),this.registeredModifiers.push(t)},bs.prototype.subscribe=function(t){return typeof t=="function"?this.subscribers.push(t)-1:{FAIL:`invalid '${this.eventId}' event handler`}},bs.prototype.unsubscribe=function(t){this.subscribers.splice(t,1)},St.prototype.setCurrentIndex=function(t){this.index=t,this.current=this.context[t],this.backtrack=this.context.slice(0,t),this.lookahead=this.context.slice(t+1)},St.prototype.get=function(t){switch(!0){case t===0:return this.current;case(t<0&&Math.abs(t)<=this.backtrack.length):return this.backtrack.slice(t)[0];case(t>0&&t<=this.lookahead.length):return this.lookahead[t-1];default:return null}},dt.prototype.rangeToText=function(t){if(t instanceof to)return this.getRangeTokens(t).map(n=>n.char).join("")},dt.prototype.getText=function(){return this.tokens.map(t=>t.char).join("")},dt.prototype.getContext=function(t){let n=this.registeredContexts[t];return n||null},dt.prototype.on=function(t,n){let s=this.events[t];return s?s.subscribe(n):null},dt.prototype.dispatch=function(t,n){let s=this.events[t];if(s instanceof bs)for(let o=0;o<s.subscribers.length;o++)s.subscribers[o].apply(this,n||[])},dt.prototype.registerContextChecker=function(t,n,s){if(this.getContext(t))return{FAIL:`context name '${t}' is already registered.`};if(typeof n!="function")return{FAIL:"missing context start check."};if(typeof s!="function")return{FAIL:"missing context end check."};let o=new Bw(t,n,s);return this.registeredContexts[t]=o,this.contextCheckers.push(o),o},dt.prototype.getRangeTokens=function(t){let n=t.startIndex+t.endOffset;return[].concat(this.tokens.slice(t.startIndex,n))},dt.prototype.getContextRanges=function(t){let n=this.getContext(t);return n?n.ranges:{FAIL:`context checker '${t}' is not registered.`}},dt.prototype.resetContextsRanges=function(){let t=this.registeredContexts;for(let n in t)if(Object.prototype.hasOwnProperty.call(t,n)){let s=t[n];s.ranges=[]}},dt.prototype.updateContextsRanges=function(){this.resetContextsRanges();let t=this.tokens.map(n=>n.char);for(let n=0;n<t.length;n++){let s=new St(t,n);this.runContextCheck(s)}this.dispatch("updateContextsRanges",[this.registeredContexts])},dt.prototype.setEndOffset=function(t,n){let s=this.getContext(n).openRange.startIndex,o=new to(s,t,n),c=this.getContext(n).ranges;return o.rangeId=`${n}.${c.length}`,c.push(o),this.getContext(n).openRange=null,o},dt.prototype.runContextCheck=function(t){let n=t.index;for(let s=0;s<this.contextCheckers.length;s++){let o=this.contextCheckers[s],c=o.contextName,h=this.getContext(c).openRange;if(!h&&o.checkStart(t)&&(h=new to(n,null,c),this.getContext(c).openRange=h,this.dispatch("contextStart",[c,n])),h&&o.checkEnd(t)){let d=n-h.startIndex+1,B=this.setEndOffset(d,c);this.dispatch("contextEnd",[c,B])}}},dt.prototype.tokenize=function(t){this.tokens=[],this.resetContextsRanges();let n=Array.from(t);this.dispatch("start");for(let s=0;s<n.length;s++){let o=n[s],c=new St(n,s);this.dispatch("next",[c]),this.runContextCheck(c);let h=new Yi(o);this.tokens.push(h),this.dispatch("newToken",[h,c])}return this.dispatch("end",[this.tokens]),this.tokens};var ww=dt;function zr(t){return/[\u0600-\u065F\u066A-\u06D2\u06FA-\u06FF]/.test(t)}function au(t){return/[\u0630\u0690\u0621\u0631\u0661\u0671\u0622\u0632\u0672\u0692\u06C2\u0623\u0673\u0693\u06C3\u0624\u0694\u06C4\u0625\u0675\u0695\u06C5\u06E5\u0676\u0696\u06C6\u0627\u0677\u0697\u06C7\u0648\u0688\u0698\u06C8\u0689\u0699\u06C9\u068A\u06CA\u066B\u068B\u06CB\u068C\u068D\u06CD\u06FD\u068E\u06EE\u06FE\u062F\u068F\u06CF\u06EF]/.test(t)}function Xr(t){return/[\u0600-\u0605\u060C-\u060E\u0610-\u061B\u061E\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED]/.test(t)}function xs(t){return/[\u0E00-\u0E7F]/.test(t)}function Qs(t){return/[A-z]/.test(t)}function yw(t){return/\s/.test(t)}function Jt(t){this.font=t,this.features={}}function qr(t){this.id=t.id,this.tag=t.tag,this.substitution=t.substitution}function Kr(t,n){if(!t)return-1;switch(n.format){case 1:return n.glyphs.indexOf(t);case 2:{let s=n.ranges;for(let o=0;o<s.length;o++){let c=s[o];if(t>=c.start&&t<=c.end){let h=t-c.start;return c.index+h}}break}default:return-1}return-1}function Cw(t,n){return Kr(t,n.coverage)===-1?null:t+n.deltaGlyphId}function bw(t,n){let s=Kr(t,n.coverage);return s===-1?null:n.substitute[s]}function ro(t,n){let s=[];for(let o=0;o<t.length;o++){let c=t[o],h=n.current;h=Array.isArray(h)?h[0]:h;let d=Kr(h,c);d!==-1&&s.push(d)}return s.length!==t.length?-1:s}function xw(t,n){let s=n.inputCoverage.length+n.lookaheadCoverage.length+n.backtrackCoverage.length;if(t.context.length<s)return[];let o=ro(n.inputCoverage,t);if(o===-1)return[];let c=n.inputCoverage.length-1;if(t.lookahead.length<n.lookaheadCoverage.length)return[];let h=t.lookahead.slice(c);for(;h.length&&Xr(h[0].char);)h.shift();let d=new St(h,0),B=ro(n.lookaheadCoverage,d),w=[].concat(t.backtrack);for(w.reverse();w.length&&Xr(w[0].char);)w.shift();if(w.length<n.backtrackCoverage.length)return[];let x=new St(w,0),C=ro(n.backtrackCoverage,x),S=o.length===n.inputCoverage.length&&B.length===n.lookaheadCoverage.length&&C.length===n.backtrackCoverage.length,T=[];if(S)for(let k=0;k<n.lookupRecords.length;k++){let U=n.lookupRecords[k],L=U.lookupListIndex,ee=this.getLookupByIndex(L);for(let Te=0;Te<ee.subtables.length;Te++){let xe=ee.subtables[Te],Re,Je=this.getSubstitutionType(ee,xe);if(Je==="71"?(Je=this.getSubstitutionType(xe,xe.extension),Re=this.getLookupMethod(xe,xe.extension),xe=xe.extension):Re=this.getLookupMethod(ee,xe),Je==="12"){let $e=t.get(U.sequenceIndex),nt=Re($e);nt&&T.push(nt)}else if(Je==="21"){let $e=t.get(U.sequenceIndex),nt=Re($e);nt&&T.push(nt)}else throw new Error(`Substitution type ${Je} is not supported in chaining substitution`)}}return T}function Qw(t,n){let s=t.current,o=Kr(s,n.coverage);if(o===-1)return null;let c,h=n.ligatureSets[o];for(let d=0;d<h.length;d++){c=h[d];for(let B=0;B<c.components.length;B++){let w=t.lookahead[B],x=c.components[B];if(w!==x)break;if(B===c.components.length-1)return c}}return null}function vw(t,n){let s=t.current;if(Kr(s,n.coverage)===-1)return null;for(let c of n.ruleSets)for(let h of c){let d=!0;for(let B=0;B<h.input.length;B++)if(t.lookahead[B]!==h.input[B]){d=!1;break}if(d){let B=[];B.push(s);for(let x=0;x<h.input.length;x++)B.push(h.input[x]);let w=(x,C)=>{let{lookupListIndex:S,sequenceIndex:T}=C,{subtables:k}=this.getLookupByIndex(S);for(let U of k)Kr(x[T],U.coverage)!==-1&&(x[T]=U.deltaGlyphId)};for(let x=0;x<h.lookupRecords.length;x++){let C=h.lookupRecords[x];w(B,C)}return B}}return null}function Iw(t,n){if(t.context.length<n.coverages.length)return[];for(let o=0;o<n.coverages.length;o++){let c=t.get(o);if(c=Array.isArray(c)?c[0]:c,Kr(c,n.coverages[o])===-1)return[]}let s=[];for(let o=0;o<n.lookupRecords.length;o++){let c=n.lookupRecords[o],h=c.lookupListIndex,d=this.getLookupByIndex(h);for(let B=0;B<d.subtables.length;B++){let w=d.subtables[B],x,C=this.getSubstitutionType(d,w);if(C==="71"?(C=this.getSubstitutionType(w,w.extension),x=this.getLookupMethod(w,w.extension),w=w.extension):x=this.getLookupMethod(d,w),C==="12"){let S=t.get(c.sequenceIndex),T=x(S);T&&s.push(T)}else if(C==="21"){let S=t.get(c.sequenceIndex),T=x(S);T&&s.push(T)}}}return s}function Fw(t,n){let s=Kr(t,n.coverage);return s===-1?null:n.sequences[s]}Jt.prototype.getDefaultScriptFeaturesIndexes=function(){let t=this.font.tables.gsub.scripts;for(let n=0;n<t.length;n++){let s=t[n];if(s.tag==="DFLT")return s.script.defaultLangSys.featureIndexes}return[]},Jt.prototype.getScriptFeaturesIndexes=function(t){if(!this.font.tables.gsub)return[];if(!t)return this.getDefaultScriptFeaturesIndexes();let s=this.font.tables.gsub.scripts;for(let o=0;o<s.length;o++){let c=s[o];if(c.tag===t&&c.script.defaultLangSys)return c.script.defaultLangSys.featureIndexes;{let h=c.langSysRecords;if(h)for(let d=0;d<h.length;d++){let B=h[d];if(B.tag===t)return B.langSys.featureIndexes}}}return this.getDefaultScriptFeaturesIndexes()},Jt.prototype.mapTagsToFeatures=function(t,n){let s={};for(let o=0;o<t.length;o++){let c=t[o].tag,h=t[o].feature;s[c]=h}this.features[n].tags=s},Jt.prototype.getScriptFeatures=function(t){let n=this.features[t];if(Object.prototype.hasOwnProperty.call(this.features,t))return n;let s=this.getScriptFeaturesIndexes(t);if(!s)return null;let o=this.font.tables.gsub;return n=s.map(c=>o.features[c]),this.features[t]=n,this.mapTagsToFeatures(n,t),n},Jt.prototype.getSubstitutionType=function(t,n){let s=t.lookupType.toString(),o=n.substFormat.toString();return s+o},Jt.prototype.getLookupMethod=function(t,n){let s=this.getSubstitutionType(t,n);switch(s){case"11":return o=>Cw.apply(this,[o,n]);case"12":return o=>bw.apply(this,[o,n]);case"63":return o=>xw.apply(this,[o,n]);case"41":return o=>Qw.apply(this,[o,n]);case"21":return o=>Fw.apply(this,[o,n]);case"51":return o=>vw.apply(this,[o,n]);case"53":return o=>Iw.apply(this,[o,n]);default:throw new Error(`substitutionType : ${s} lookupType: ${t.lookupType} - substFormat: ${n.substFormat} is not yet supported`)}},Jt.prototype.lookupFeature=function(t){let n=t.contextParams,s=n.index,o=this.getFeature({tag:t.tag,script:t.script});if(!o)return new Error(`font '${(this.font.names.unicode||this.font.names.windows||this.font.names.macintosh).fullName.en}' doesn't support feature '${t.tag}' for script '${t.script}'.`);let c=this.getFeatureLookups(o),h=[].concat(n.context);for(let d=0;d<c.length;d++){let B=c[d],w=this.getLookupSubtables(B);for(let x=0;x<w.length;x++){let C=w[x],S=this.getSubstitutionType(B,C),T;S==="71"?(S=this.getSubstitutionType(C,C.extension),T=this.getLookupMethod(C,C.extension),C=C.extension):T=this.getLookupMethod(B,C);let k;switch(S){case"11":k=T(n.current),k&&h.splice(s,1,new qr({id:11,tag:t.tag,substitution:k}));break;case"12":k=T(n.current),k&&h.splice(s,1,new qr({id:12,tag:t.tag,substitution:k}));break;case"63":k=T(n),Array.isArray(k)&&k.length&&h.splice(s,1,new qr({id:63,tag:t.tag,substitution:k}));break;case"41":k=T(n),k&&h.splice(s,1,new qr({id:41,tag:t.tag,substitution:k}));break;case"21":k=T(n.current),k&&h.splice(s,1,new qr({id:21,tag:t.tag,substitution:k}));break;case"51":case"53":k=T(n),Array.isArray(k)&&k.length&&h.splice(s,1,new qr({id:parseInt(S),tag:t.tag,substitution:k}));break}n=new St(h,s),!(Array.isArray(k)&&!k.length)&&(k=null)}}return h.length?h:null},Jt.prototype.supports=function(t){if(!t.script)return!1;this.getScriptFeatures(t.script);let n=Object.prototype.hasOwnProperty.call(this.features,t.script);if(!t.tag)return n;let s=this.features[t.script].some(o=>o.tag===t.tag);return n&&s},Jt.prototype.getLookupSubtables=function(t){return t.subtables||null},Jt.prototype.getLookupByIndex=function(t){return this.font.tables.gsub.lookups[t]||null},Jt.prototype.getFeatureLookups=function(t){return t.lookupListIndexes.map(this.getLookupByIndex.bind(this))},Jt.prototype.getFeature=function(n){if(!this.font)return{FAIL:"No font was found"};Object.prototype.hasOwnProperty.call(this.features,n.script)||this.getScriptFeatures(n.script);let s=this.features[n.script];return s?s.tags[n.tag]?this.features[n.script].tags[n.tag]:null:{FAIL:`No feature for script ${n.script}`}};var Tw=Jt;function Sw(t){let n=t.current,s=t.get(-1);return s===null&&zr(n)||!zr(s)&&zr(n)}function Dw(t){let n=t.get(1);return n===null||!zr(n)}var Mw={startCheck:Sw,endCheck:Dw};function Uw(t){let n=t.current,s=t.get(-1);return(zr(n)||Xr(n))&&!zr(s)}function Nw(t){let n=t.get(1);switch(!0){case n===null:return!0;case(!zr(n)&&!Xr(n)):{let s=yw(n);if(!s)return!0;if(s){let o=!1;if(o=t.lookahead.some(c=>zr(c)||Xr(c)),!o)return!0}break}default:return!1}}var kw={startCheck:Uw,endCheck:Nw};function Ow(t,n,s){n[s].setState(t.tag,t.substitution)}function Yw(t,n,s){n[s].setState(t.tag,t.substitution)}function io(t,n,s){for(let o=0;o<t.substitution.length;o++){let c=t.substitution[o],h=n[s+o];if(Array.isArray(c)){c.length?h.setState(t.tag,c[0]):h.setState("deleted",!0);continue}h.setState(t.tag,c)}}function Rw(t,n,s){let o=n[s];o.setState(t.tag,t.substitution.ligGlyph);let c=t.substitution.components.length;for(let h=0;h<c;h++)o=n[s+h+1],o.setState("deleted",!0)}var ou={11:Ow,12:Yw,63:io,41:Rw,51:io,53:io};function Gw(t,n,s){t instanceof qr&&ou[t.id]&&ou[t.id](t,n,s)}var gi=Gw;function Lw(t){let n=[].concat(t.backtrack);for(let s=n.length-1;s>=0;s--){let o=n[s],c=au(o),h=Xr(o);if(!c&&!h)return!0;if(c)return!1}return!1}function Pw(t){if(au(t.current))return!1;for(let n=0;n<t.lookahead.length;n++){let s=t.lookahead[n];if(!Xr(s))return!0}return!1}function Hw(t){let n="arab",s=this.featuresTags[n],o=this.tokenizer.getRangeTokens(t);if(o.length===1)return;let c=new St(o.map(d=>d.getState("glyphIndex")),0),h=new St(o.map(d=>d.char),0);for(let d=0;d<o.length;d++){let B=o[d];if(Xr(B.char))continue;c.setCurrentIndex(d),h.setCurrentIndex(d);let w=0;Lw(h)&&(w|=1),Pw(h)&&(w|=2);let x;switch(w){case 1:x="fina";break;case 2:x="init";break;case 3:x="medi";break}if(s.indexOf(x)===-1)continue;let C=this.query.lookupFeature({tag:x,script:n,contextParams:c});if(C instanceof Error){console.info(C.message);continue}for(let S=0;S<C.length;S++){let T=C[S];T instanceof qr&&(gi(T,o,S),c.context[S]=T.substitution)}}}var Ww=Hw;function Au(t,n){let s=t.map(o=>o.activeState.value);return new St(s,n||0)}function Jw(t){let n="arab",s=this.tokenizer.getRangeTokens(t),o=Au(s);for(let c=0;c<o.context.length;c++){o.setCurrentIndex(c);let h=this.query.lookupFeature({tag:"rlig",script:n,contextParams:o});if(h.length){for(let d=0;d<h.length;d++){let B=h[d];gi(B,s,c)}o=Au(s)}}}var Vw=Jw;function jw(t){return t.index===0&&t.context.length>1}function _w(t){return t.index===t.context.length-1}var Zw={startCheck:jw,endCheck:_w};function lu(t,n){let s=t.map(o=>o.activeState.value);return new St(s,n||0)}function zw(t){let n="delf",s="ccmp",o=this.tokenizer.getRangeTokens(t),c=lu(o);for(let h=0;h<c.context.length;h++){if(!this.query.getFeature({tag:s,script:n,contextParams:c}))continue;c.setCurrentIndex(h);let d=this.query.lookupFeature({tag:s,script:n,contextParams:c});if(d.length){for(let B=0;B<d.length;B++){let w=d[B];gi(w,o,h)}c=lu(o)}}}var Xw=zw;function qw(t){let n=t.current,s=t.get(-1);return s===null&&Qs(n)||!Qs(s)&&Qs(n)}function Kw(t){let n=t.get(1);return n===null||!Qs(n)}var $w={startCheck:qw,endCheck:Kw};function cu(t,n){let s=t.map(o=>o.activeState.value);return new St(s,n||0)}function ey(t){let n="latn",s=this.tokenizer.getRangeTokens(t),o=cu(s);for(let c=0;c<o.context.length;c++){o.setCurrentIndex(c);let h=this.query.lookupFeature({tag:"liga",script:n,contextParams:o});if(h.length){for(let d=0;d<h.length;d++){let B=h[d];gi(B,s,c)}o=cu(s)}}}var ty=ey;function ry(t){let n=t.current,s=t.get(-1);return s===null&&xs(n)||!xs(s)&&xs(n)}function iy(t){let n=t.get(1);return n===null||!xs(n)}var ny={startCheck:ry,endCheck:iy};function uu(t,n){let s=t.map(o=>o.activeState.value);return new St(s,n||0)}function sy(t){let n="thai",s=this.tokenizer.getRangeTokens(t),o=uu(s,0);for(let c=0;c<o.context.length;c++){o.setCurrentIndex(c);let h=this.query.lookupFeature({tag:"ccmp",script:n,contextParams:o});if(h.length){for(let d=0;d<h.length;d++){let B=h[d];gi(B,s,c)}o=uu(s,c)}}}var ay=sy;function hu(t,n){let s=t.map(o=>o.activeState.value);return new St(s,n||0)}function oy(t){let n="thai",s=this.tokenizer.getRangeTokens(t),o=hu(s,0);for(let c=0;c<o.context.length;c++){o.setCurrentIndex(c);let h=this.query.lookupFeature({tag:"liga",script:n,contextParams:o});if(h.length){for(let d=0;d<h.length;d++){let B=h[d];gi(B,s,c)}o=hu(s,c)}}}var Ay=oy;function pu(t,n){let s=t.map(o=>o.activeState.value);return new St(s,n||0)}function ly(t){let n="thai",s=this.tokenizer.getRangeTokens(t),o=pu(s,0);for(let c=0;c<o.context.length;c++){o.setCurrentIndex(c);let h=this.query.lookupFeature({tag:"rlig",script:n,contextParams:o});if(h.length){for(let d=0;d<h.length;d++){let B=h[d];gi(B,s,c)}o=pu(s,c)}}}var cy=ly;function no(t){if(t===null)return!1;let n=t.codePointAt(0);return n>=6155&&n<=6157||n>=65024&&n<=65039||n>=917760&&n<=917999}function uy(t){let n=t.current,s=t.get(1);return s===null&&no(n)||no(s)}function hy(t){let n=t.get(1);return n===null||!no(n)}var py={startCheck:uy,endCheck:hy};function fy(t){let n=this.query.font,s=this.tokenizer.getRangeTokens(t);if(s[1].setState("deleted",!0),n.tables.cmap&&n.tables.cmap.varSelectorList){let o=s[0].char.codePointAt(0),c=s[1].char.codePointAt(0),h=n.tables.cmap.varSelectorList[c];if(h!==void 0&&h.nonDefaultUVS){let d=h.nonDefaultUVS.uvsMappings;if(d[o]){let B=d[o].glyphID;n.glyphs.glyphs[B]!==void 0&&s[0].setState("glyphIndex",B)}}}}var dy=fy;function Zt(t){this.baseDir=t||"ltr",this.tokenizer=new ww,this.featuresTags={}}Zt.prototype.setText=function(t){this.text=t},Zt.prototype.contextChecks={ccmpReplacementCheck:Zw,latinWordCheck:$w,arabicWordCheck:Mw,arabicSentenceCheck:kw,thaiWordCheck:ny,unicodeVariationSequenceCheck:py};function Ri(t){let n=this.contextChecks[`${t}Check`];return this.tokenizer.registerContextChecker(t,n.startCheck,n.endCheck)}function gy(){return Ri.call(this,"ccmpReplacement"),Ri.call(this,"latinWord"),Ri.call(this,"arabicWord"),Ri.call(this,"arabicSentence"),Ri.call(this,"thaiWord"),Ri.call(this,"unicodeVariationSequence"),this.tokenizer.tokenize(this.text)}function my(){let t=this.tokenizer.getContextRanges("arabicSentence");for(let n=0;n<t.length;n++){let s=t[n],o=this.tokenizer.getRangeTokens(s);this.tokenizer.replaceRange(s.startIndex,s.endOffset,o.reverse())}}Zt.prototype.registerFeatures=function(t,n){let s=n.filter(o=>this.query.supports({script:t,tag:o}));Object.prototype.hasOwnProperty.call(this.featuresTags,t)?this.featuresTags[t]=this.featuresTags[t].concat(s):this.featuresTags[t]=s},Zt.prototype.applyFeatures=function(t,n){if(!t)throw new Error("No valid font was provided to apply features");this.query||(this.query=new Tw(t));for(let s=0;s<n.length;s++){let o=n[s];this.query.supports({script:o.script})&&this.registerFeatures(o.script,o.tags)}},Zt.prototype.registerModifier=function(t,n,s){this.tokenizer.registerModifier(t,n,s)};function bn(){if(this.tokenizer.registeredModifiers.indexOf("glyphIndex")===-1)throw new Error("glyphIndex modifier is required to apply arabic presentation features.")}function By(){if(!Object.prototype.hasOwnProperty.call(this.featuresTags,"arab"))return;bn.call(this);let n=this.tokenizer.getContextRanges("arabicWord");for(let s=0;s<n.length;s++){let o=n[s];Ww.call(this,o)}}function Ey(){bn.call(this);let t=this.tokenizer.getContextRanges("ccmpReplacement");for(let n=0;n<t.length;n++){let s=t[n];Xw.call(this,s)}}function wy(){if(!this.hasFeatureEnabled("arab","rlig"))return;bn.call(this);let t=this.tokenizer.getContextRanges("arabicWord");for(let n=0;n<t.length;n++){let s=t[n];Vw.call(this,s)}}function yy(){if(!this.hasFeatureEnabled("latn","liga"))return;bn.call(this);let t=this.tokenizer.getContextRanges("latinWord");for(let n=0;n<t.length;n++){let s=t[n];ty.call(this,s)}}function Cy(){let t=this.tokenizer.getContextRanges("unicodeVariationSequence");for(let n=0;n<t.length;n++){let s=t[n];dy.call(this,s)}}function by(){bn.call(this);let t=this.tokenizer.getContextRanges("thaiWord");for(let n=0;n<t.length;n++){let s=t[n];this.hasFeatureEnabled("thai","liga")&&Ay.call(this,s),this.hasFeatureEnabled("thai","rlig")&&cy.call(this,s),this.hasFeatureEnabled("thai","ccmp")&&ay.call(this,s)}}Zt.prototype.checkContextReady=function(t){return!!this.tokenizer.getContext(t)},Zt.prototype.applyFeaturesToContexts=function(){this.checkContextReady("ccmpReplacement")&&Ey.call(this),this.checkContextReady("arabicWord")&&(By.call(this),wy.call(this)),this.checkContextReady("latinWord")&&yy.call(this),this.checkContextReady("arabicSentence")&&my.call(this),this.checkContextReady("thaiWord")&&by.call(this),this.checkContextReady("unicodeVariationSequence")&&Cy.call(this)},Zt.prototype.hasFeatureEnabled=function(t,n){return(this.featuresTags[t]||[]).indexOf(n)!==-1},Zt.prototype.processText=function(t){(!this.text||this.text!==t)&&(this.setText(t),gy.call(this),this.applyFeaturesToContexts())},Zt.prototype.getBidiText=function(t){return this.processText(t),this.tokenizer.getText()},Zt.prototype.getTextGlyphs=function(t){this.processText(t);let n=[];for(let s=0;s<this.tokenizer.tokens.length;s++){let o=this.tokenizer.tokens[s];if(o.state.deleted)continue;let c=o.activeState.value;n.push(Array.isArray(c)?c[0]:c)}return n};var xy=Zt;function so(t){return{fontFamily:{en:t.familyName||" "},fontSubfamily:{en:t.styleName||" "},fullName:{en:t.fullName||t.familyName+" "+t.styleName},postScriptName:{en:t.postScriptName||(t.familyName+t.styleName).replace(/\s/g,"")},designer:{en:t.designer||" "},designerURL:{en:t.designerURL||" "},manufacturer:{en:t.manufacturer||" "},manufacturerURL:{en:t.manufacturerURL||" "},license:{en:t.license||" "},licenseURL:{en:t.licenseURL||" "},version:{en:t.version||"Version 0.1"},description:{en:t.description||" "},copyright:{en:t.copyright||" "},trademark:{en:t.trademark||" "}}}function et(t){if(t=t||{},t.tables=t.tables||{},!t.empty){if(!t.familyName)throw new Error("When creating a new Font object, familyName is required.");if(!t.styleName)throw new Error("When creating a new Font object, styleName is required.");if(!t.unitsPerEm)throw new Error("When creating a new Font object, unitsPerEm is required.");if(!t.ascender)throw new Error("When creating a new Font object, ascender is required.");if(t.descender>0)throw new Error("When creating a new Font object, negative descender value is required.");this.names={},this.names.unicode=so(t),this.names.macintosh=so(t),this.names.windows=so(t),this.unitsPerEm=t.unitsPerEm||1e3,this.ascender=t.ascender,this.descender=t.descender,this.createdTimestamp=t.createdTimestamp,this.italicAngle=t.italicAngle||0,this.weightClass=t.weightClass||0;let n=0;t.fsSelection?n=t.fsSelection:(this.italicAngle<0?n|=this.fsSelectionValues.ITALIC:this.italicAngle>0&&(n|=this.fsSelectionValues.OBLIQUE),this.weightClass>=600&&(n|=this.fsSelectionValues.BOLD),n===0&&(n=this.fsSelectionValues.REGULAR)),(!t.panose||!Array.isArray(t.panose))&&(t.panose=[0,0,0,0,0,0,0,0,0]),this.tables=Object.assign(t.tables,{os2:Object.assign({usWeightClass:t.weightClass||this.usWeightClasses.MEDIUM,usWidthClass:t.widthClass||this.usWidthClasses.MEDIUM,bFamilyType:t.panose[0]||0,bSerifStyle:t.panose[1]||0,bWeight:t.panose[2]||0,bProportion:t.panose[3]||0,bContrast:t.panose[4]||0,bStrokeVariation:t.panose[5]||0,bArmStyle:t.panose[6]||0,bLetterform:t.panose[7]||0,bMidline:t.panose[8]||0,bXHeight:t.panose[9]||0,fsSelection:n},t.tables.os2)})}this.supported=!0,this.glyphs=new dr.GlyphSet(this,t.glyphs||[]),this.encoding=new Jl(this),this.position=new EE(this),this.substitution=new vE(this),this.tables=this.tables||{},this.tables=new Proxy(this.tables,{set:(n,s,o)=>(n[s]=o,n.fvar&&(n.gvar||n.cff2)&&!this.variation&&(this.variation=new PE(this)),!0)}),this.palettes=new Uc(this),this.layers=new IE(this),this.svgImages=new FE(this),this._push=null,this._hmtxTableData={},Object.defineProperty(this,"hinting",{get:function(){return this._hinting?this._hinting:this.outlinesFormat==="truetype"?this._hinting=new mw(this):null}})}et.prototype.hasChar=function(t){return this.encoding.charToGlyphIndex(t)>0},et.prototype.charToGlyphIndex=function(t){return this.encoding.charToGlyphIndex(t)},et.prototype.charToGlyph=function(t){let n=this.charToGlyphIndex(t),s=this.glyphs.get(n);return s||(s=this.glyphs.get(0)),s},et.prototype.updateFeatures=function(t){return this.defaultRenderOptions.features.map(n=>n.script==="latn"?{script:"latn",tags:n.tags.filter(s=>t[s])}:n)},et.prototype.stringToGlyphIndexes=function(t,n){let s=new xy,o=h=>this.charToGlyphIndex(h.char);s.registerModifier("glyphIndex",null,o);let c=n?this.updateFeatures(n.features):this.defaultRenderOptions.features;return s.applyFeatures(this,c),s.getTextGlyphs(t)},et.prototype.stringToGlyphs=function(t,n){let s=this.stringToGlyphIndexes(t,n),o=s.length,c=new Array(o),h=this.glyphs.get(0);for(let d=0;d<o;d+=1)c[d]=this.glyphs.get(s[d])||h;return c},et.prototype.nameToGlyphIndex=function(t){return this.glyphNames.nameToGlyphIndex(t)},et.prototype.nameToGlyph=function(t){let n=this.nameToGlyphIndex(t),s=this.glyphs.get(n);return s||(s=this.glyphs.get(0)),s},et.prototype.glyphIndexToName=function(t){return this.glyphNames.glyphIndexToName?this.glyphNames.glyphIndexToName(t):""},et.prototype.getKerningValue=function(t,n){t=t.index||t,n=n.index||n;let s=this.position.defaultKerningTables;return s?this.position.getKerningValue(s,t,n):this.kerningPairs[t+","+n]||0},et.prototype.defaultRenderOptions={kerning:!0,features:[{script:"arab",tags:["init","medi","fina","rlig"]},{script:"latn",tags:["liga","rlig"]},{script:"thai",tags:["liga","rlig","ccmp"]}],hinting:!1,usePalette:0,drawLayers:!0,drawSVG:!0},et.prototype.forEachGlyph=function(t,n,s,o,c,h){n=n!==void 0?n:0,s=s!==void 0?s:0,o=o!==void 0?o:72,c=Object.assign({},this.defaultRenderOptions,c);let d=1/this.unitsPerEm*o,B=this.stringToGlyphs(t,c),w;if(c.kerning){let x=c.script||this.position.getDefaultScriptName();w=this.position.getKerningTables(x,c.language)}for(let x=0;x<B.length;x+=1){let C=B[x];if(h.call(this,C,n,s,o,c),C.advanceWidth&&(n+=C.advanceWidth*d),c.kerning&&x<B.length-1){let S=w?this.position.getKerningValue(w,C.index,B[x+1].index):this.getKerningValue(C,B[x+1]);n+=S*d}c.letterSpacing?n+=c.letterSpacing*o:c.tracking&&(n+=c.tracking/1e3*o)}return n},et.prototype.getPath=function(t,n,s,o,c){c=Object.assign({},this.defaultRenderOptions,c);let h=new X;if(h._layers=[],rc(this,h,o),h.stroke){let d=1/(h.unitsPerEm||1e3)*o;h.strokeWidth*=d}return this.forEachGlyph(t,n,s,o,c,(d,B,w,x)=>{let C=d.getPath(B,w,x,c,this);if(c.drawSVG||c.drawLayers){let S=C._layers;if(S&&S.length){for(let T=0;T<S.length;T++){let k=S[T];h._layers.push(k)}return}}h.extend(C)}),h},et.prototype.getPaths=function(t,n,s,o,c){c=Object.assign({},this.defaultRenderOptions,c);let h=[];return this.forEachGlyph(t,n,s,o,c,function(d,B,w,x){let C=d.getPath(B,w,x,c,this);h.push(C)}),h},et.prototype.getAdvanceWidth=function(t,n,s){return s=Object.assign({},this.defaultRenderOptions,s),this.forEachGlyph(t,0,0,n,s,function(){})},et.prototype.draw=function(t,n,s,o,c,h){this.getPath(n,s,o,c,h).draw(t)},et.prototype.drawPoints=function(t,n,s,o,c,h){h=Object.assign({},this.defaultRenderOptions,h),this.forEachGlyph(n,s,o,c,h,function(d,B,w,x){d.drawPoints(t,B,w,x,h,this)})},et.prototype.drawMetrics=function(t,n,s,o,c,h){h=Object.assign({},this.defaultRenderOptions,h),this.forEachGlyph(n,s,o,c,h,function(d,B,w,x){d.drawMetrics(t,B,w,x)})},et.prototype.getEnglishName=function(t){let n=(this.names.unicode||this.names.macintosh||this.names.windows)[t];if(n)return n.en},et.prototype.validate=function(){let t=[],n=this;function s(c,h){c||(console.warn(`[opentype.js] ${h}`),t.push(h))}function o(c){let h=n.getEnglishName(c);s(h&&h.trim().length>0,"No English "+c+" specified.")}if(o("fontFamily"),o("weightName"),o("manufacturer"),o("copyright"),o("version"),s(this.unitsPerEm>0,"No unitsPerEm specified."),this.tables.colr){let c=this.tables.colr.baseGlyphRecords,h=-1;for(let d=0;d<c.length;d++){let B=c[d].glyphID;if(s(h<c[d].glyphID,`baseGlyphs must be sorted by GlyphID in ascending order, but glyphID ${B} comes after ${h}`),h>c[d].glyphID)break;h=B}}return t},et.prototype.toTables=function(){return BE.fontToTable(this)},et.prototype.toBuffer=function(){return console.warn("Font.toBuffer is deprecated. Use Font.toArrayBuffer instead."),this.toArrayBuffer()},et.prototype.toArrayBuffer=function(){let n=this.toTables().encode(),s=new ArrayBuffer(n.length),o=new Uint8Array(s);for(let c=0;c<n.length;c++)o[c]=n[c];return s},et.prototype.download=function(){console.error("DEPRECATED: platform-specific actions are to be implemented on user-side")},et.prototype.fsSelectionValues={ITALIC:1,UNDERSCORE:2,NEGATIVE:4,OUTLINED:8,STRIKEOUT:16,BOLD:32,REGULAR:64,USER_TYPO_METRICS:128,WWS:256,OBLIQUE:512},et.prototype.macStyleValues={BOLD:1,ITALIC:2,UNDERLINE:4,OUTLINED:8,SHADOW:16,CONDENSED:32,EXTENDED:64},et.prototype.usWidthClasses={ULTRA_CONDENSED:1,EXTRA_CONDENSED:2,CONDENSED:3,SEMI_CONDENSED:4,MEDIUM:5,SEMI_EXPANDED:6,EXPANDED:7,EXTRA_EXPANDED:8,ULTRA_EXPANDED:9},et.prototype.usWeightClasses={THIN:100,EXTRA_LIGHT:200,LIGHT:300,NORMAL:400,MEDIUM:500,SEMI_BOLD:600,BOLD:700,EXTRA_BOLD:800,BLACK:900};var fu=et;function Qy(t,n){let s=new he.Parser(t,n),o=s.parseUShort(),c=s.parseUShort();o!==1&&console.warn(`Unsupported hvar table version ${o}.${c}`);let h=[o,c],d=s.parsePointer32(function(){return this.parseItemVariationStore()}),B=s.parsePointer32(function(){return this.parseDeltaSetIndexMap()}),w=s.parsePointer32(function(){return this.parseDeltaSetIndexMap()}),x=s.parsePointer32(function(){return this.parseDeltaSetIndexMap()});return{version:h,itemVariationStore:d,advanceWidth:B,lsb:w,rsb:x}}function vy(){console.warn("Writing of hvar tables is not yet supported.")}var Iy={make:vy,parse:Qy},Fy=function(){return{coverage:this.parsePointer(V.coverage),attachPoints:this.parseList(V.pointer(V.uShortList))}},Ty=function(){var t=this.parseUShort();if(G.argument(t===1||t===2||t===3,"Unsupported CaretValue table version."),t===1)return{coordinate:this.parseShort()};if(t===2)return{pointindex:this.parseShort()};if(t===3)return{coordinate:this.parseShort()}},Sy=function(){return this.parseList(V.pointer(Ty))},Dy=function(){return{coverage:this.parsePointer(V.coverage),ligGlyphs:this.parseList(V.pointer(Sy))}},My=function(){return this.parseUShort(),this.parseList(V.pointer(V.coverage))};function Uy(t,n){n=n||0;let s=new V(t,n),o=s.parseVersion(1);G.argument(o===1||o===1.2||o===1.3,"Unsupported GDEF table version.");var c={version:o,classDef:s.parsePointer(V.classDef),attachList:s.parsePointer(Fy),ligCaretList:s.parsePointer(Dy),markAttachClassDef:s.parsePointer(V.classDef)};return o>=1.2&&(c.markGlyphSets=s.parsePointer(My)),c}var Ny={parse:Uy},nr=new Array(10);nr[1]=function(){let n=this.offset+this.relativeOffset,s=this.parseUShort();if(s===1)return{posFormat:1,coverage:this.parsePointer(V.coverage),value:this.parseValueRecord()};if(s===2)return{posFormat:2,coverage:this.parsePointer(V.coverage),values:this.parseValueRecordList()};G.assert(!1,"0x"+n.toString(16)+": GPOS lookup type 1 format must be 1 or 2.")},nr[2]=function(){let n=this.offset+this.relativeOffset,s=this.parseUShort();G.assert(s===1||s===2,"0x"+n.toString(16)+": GPOS lookup type 2 format must be 1 or 2.");let o=this.parsePointer(V.coverage),c=this.parseUShort(),h=this.parseUShort();if(s===1)return{posFormat:s,coverage:o,valueFormat1:c,valueFormat2:h,pairSets:this.parseList(V.pointer(V.list(function(){return{secondGlyph:this.parseUShort(),value1:this.parseValueRecord(c),value2:this.parseValueRecord(h)}})))};if(s===2){let d=this.parsePointer(V.classDef),B=this.parsePointer(V.classDef),w=this.parseUShort(),x=this.parseUShort();return{posFormat:s,coverage:o,valueFormat1:c,valueFormat2:h,classDef1:d,classDef2:B,class1Count:w,class2Count:x,classRecords:this.parseList(w,V.list(x,function(){return{value1:this.parseValueRecord(c),value2:this.parseValueRecord(h)}}))}}},nr[3]=function(){return{error:"GPOS Lookup 3 not supported"}},nr[4]=function(){return{error:"GPOS Lookup 4 not supported"}},nr[5]=function(){return{error:"GPOS Lookup 5 not supported"}},nr[6]=function(){return{error:"GPOS Lookup 6 not supported"}},nr[7]=function(){return{error:"GPOS Lookup 7 not supported"}},nr[8]=function(){return{error:"GPOS Lookup 8 not supported"}},nr[9]=function(){return{error:"GPOS Lookup 9 not supported"}};function ky(t,n){n=n||0;let s=new V(t,n),o=s.parseVersion(1);return G.argument(o===1||o===1.1,"Unsupported GPOS table version "+o),o===1?{version:o,scripts:s.parseScriptList(),features:s.parseFeatureList(),lookups:s.parseLookupList(nr)}:{version:o,scripts:s.parseScriptList(),features:s.parseFeatureList(),lookups:s.parseLookupList(nr),variations:s.parseFeatureVariationsList()}}var Oy=new Array(10);function Yy(t){return new $.Table("GPOS",[{name:"version",type:"ULONG",value:65536},{name:"scripts",type:"TABLE",value:new $.ScriptList(t.scripts)},{name:"features",type:"TABLE",value:new $.FeatureList(t.features)},{name:"lookups",type:"TABLE",value:new $.LookupList(t.lookups,Oy)}])}var Ry={parse:ky,make:Yy};function Gy(t){let n={};t.skip("uShort");let s=t.parseUShort();G.argument(s===0,"Unsupported kern sub-table version."),t.skip("uShort",2);let o=t.parseUShort();t.skip("uShort",3);for(let c=0;c<o;c+=1){let h=t.parseUShort(),d=t.parseUShort(),B=t.parseShort();n[h+","+d]=B}return n}function Ly(t){let n={};t.skip("uShort"),t.parseULong()>1&&console.warn("Only the first kern subtable is supported."),t.skip("uLong");let c=t.parseUShort()&255;if(t.skip("uShort"),c===0){let h=t.parseUShort();t.skip("uShort",3);for(let d=0;d<h;d+=1){let B=t.parseUShort(),w=t.parseUShort(),x=t.parseShort();n[B+","+w]=x}}return n}function Py(t,n){let s=new he.Parser(t,n),o=s.parseUShort();if(o===0)return Gy(s);if(o===1)return Ly(s);throw new Error("Unsupported kern table version ("+o+").")}var Hy={parse:Py};function Wy(t,n,s,o){let c=new he.Parser(t,n),h=o?c.parseUShort:c.parseULong,d=[];for(let B=0;B<s+1;B+=1){let w=h.call(c);o&&(w*=2),d.push(w)}return d}var Jy={parse:Wy};function du(t,n){let s=[],o=12;for(let c=0;c<n;c+=1){let h=he.getTag(t,o),d=he.getULong(t,o+4),B=he.getULong(t,o+8),w=he.getULong(t,o+12);s.push({tag:h,checksum:d,offset:B,length:w,compression:!1}),o+=16}return s}function Vy(t,n){let s=[],o=44;for(let c=0;c<n;c+=1){let h=he.getTag(t,o),d=he.getULong(t,o+4),B=he.getULong(t,o+8),w=he.getULong(t,o+12),x;B<w?x="WOFF":x=!1,s.push({tag:h,offset:d,compression:x,compressedLength:B,length:w}),o+=20}return s}function Xe(t,n){if(n.compression==="WOFF"){let s=new Uint8Array(t.buffer,n.offset+2,n.compressedLength-2),o=new Uint8Array(n.length);if(pe(s,o),o.byteLength!==n.length)throw new Error("Decompression error: "+n.tag+" decompressed length doesn't match recorded length");return{data:new DataView(o.buffer,0),offset:0}}else return{data:t,offset:n.offset}}function jy(t,n={}){let s,o,c=new fu({empty:!0});t.constructor!==ArrayBuffer&&(t=new Uint8Array(t).buffer);let h=new DataView(t,0),d,B=[],w=he.getTag(h,0);if(w==="\0\0\0"||w==="true"||w==="typ1")c.outlinesFormat="truetype",d=he.getUShort(h,4),B=du(h,d);else if(w==="OTTO")c.outlinesFormat="cff",d=he.getUShort(h,4),B=du(h,d);else if(w==="wOFF"){let Se=he.getTag(h,4);if(Se==="\0\0\0")c.outlinesFormat="truetype";else if(Se==="OTTO")c.outlinesFormat="cff";else throw new Error("Unsupported OpenType flavor "+w);d=he.getUShort(h,12),B=Vy(h,d)}else if(w==="wOF2"){let Se="https://github.com/opentypejs/opentype.js/issues/183#issuecomment-1147228025";throw new Error("WOFF2 require an external decompressor library, see examples at: "+Se)}else throw new Error("Unsupported OpenType signature "+w);let x,C,S,T,k,U,L,ee,Te,xe,Re,Je,$e,nt,st,Bt,sr,Ve;for(let Se=0;Se<d;Se+=1){let we=B[Se],Ce;switch(we.tag){case"avar":L=we;break;case"cmap":Ce=Xe(h,we),c.tables.cmap=Wl.parse(Ce.data,Ce.offset),c.encoding=new Vl(c.tables.cmap);break;case"cvt ":Ce=Xe(h,we),Ve=new he.Parser(Ce.data,Ce.offset),c.tables.cvt=Ve.parseShortList(we.length/2);break;case"fvar":S=we;break;case"STAT":T=we;break;case"gvar":k=we;break;case"cvar":U=we;break;case"fpgm":Ce=Xe(h,we),Ve=new he.Parser(Ce.data,Ce.offset),c.tables.fpgm=Ve.parseByteList(we.length);break;case"head":Ce=Xe(h,we),c.tables.head=Ac.parse(Ce.data,Ce.offset),c.unitsPerEm=c.tables.head.unitsPerEm,s=c.tables.head.indexToLocFormat;break;case"hhea":Ce=Xe(h,we),c.tables.hhea=lc.parse(Ce.data,Ce.offset),c.ascender=c.tables.hhea.ascender,c.descender=c.tables.hhea.descender,c.numberOfHMetrics=c.tables.hhea.numberOfHMetrics;break;case"HVAR":$e=we;break;case"hmtx":Je=we;break;case"ltag":Ce=Xe(h,we),o=uc.parse(Ce.data,Ce.offset);break;case"COLR":Ce=Xe(h,we),c.tables.colr=gc.parse(Ce.data,Ce.offset);break;case"CPAL":Ce=Xe(h,we),c.tables.cpal=zl.parse(Ce.data,Ce.offset);break;case"maxp":Ce=Xe(h,we),c.tables.maxp=hc.parse(Ce.data,Ce.offset),c.numGlyphs=c.tables.maxp.numGlyphs;break;case"name":Bt=we;break;case"OS/2":Ce=Xe(h,we),c.tables.os2=Va.parse(Ce.data,Ce.offset);break;case"post":Ce=Xe(h,we),c.tables.post=pc.parse(Ce.data,Ce.offset),c.glyphNames=new Oa(c.tables.post);break;case"prep":Ce=Xe(h,we),Ve=new he.Parser(Ce.data,Ce.offset),c.tables.prep=Ve.parseByteList(we.length);break;case"glyf":ee=we;break;case"loca":st=we;break;case"CFF ":x=we;break;case"CFF2":C=we;break;case"kern":nt=we;break;case"GDEF":Te=we;break;case"GPOS":xe=we;break;case"GSUB":Re=we;break;case"meta":sr=we;break;case"gasp":try{Ce=Xe(h,we),c.tables.gasp=Cc.parse(Ce.data,Ce.offset)}catch(vt){console.warn("Failed to parse gasp table, skipping."),console.warn(vt)}break;case"SVG ":Ce=Xe(h,we),c.tables.svg=bc.parse(Ce.data,Ce.offset);break;default:break}}let Vt=Xe(h,Bt);if(c.tables.name=dn.parse(Vt.data,Vt.offset,o),c.names=c.tables.name,ee&&st){let Se=s===0,we=Xe(h,st),Ce=Jy.parse(we.data,we.offset,c.numGlyphs,Se),vt=Xe(h,ee);c.glyphs=Yc.parse(vt.data,vt.offset,Ce,c,n)}else if(x){let Se=Xe(h,x);Wa.parse(Se.data,Se.offset,c,n)}else if(C){let Se=Xe(h,C);Wa.parse(Se.data,Se.offset,c,n)}else throw new Error("Font doesn't contain TrueType, CFF or CFF2 outlines.");let Dt=Xe(h,Je);if(cc.parse(c,Dt.data,Dt.offset,c.numberOfHMetrics,c.numGlyphs,c.glyphs,n),J0(c,n),nt){let Se=Xe(h,nt);c.kerningPairs=Hy.parse(Se.data,Se.offset)}else c.kerningPairs={};if(Te){let Se=Xe(h,Te);c.tables.gdef=Ny.parse(Se.data,Se.offset)}if(xe){let Se=Xe(h,xe);c.tables.gpos=Ry.parse(Se.data,Se.offset),c.position.init()}if(Re){let Se=Xe(h,Re);c.tables.gsub=fc.parse(Se.data,Se.offset)}if(S){let Se=Xe(h,S);c.tables.fvar=mc.parse(Se.data,Se.offset,c.names)}if(T){let Se=Xe(h,T);c.tables.stat=Bc.parse(Se.data,Se.offset,c.tables.fvar)}if(k){S||console.warn("This font provides a gvar table, but no fvar table, which is required for variable fonts."),ee||console.warn("This font provides a gvar table, but no glyf table. Glyph variation only works with TrueType outlines.");let Se=Xe(h,k);c.tables.gvar=yc.parse(Se.data,Se.offset,c.tables.fvar,c.glyphs)}if(U){S||console.warn("This font provides a cvar table, but no fvar table, which is required for variable fonts."),c.tables.cvt||console.warn("This font provides a cvar table, but no cvt table which could be made variable."),ee||console.warn("This font provides a gvar table, but no glyf table. Glyph variation only works with TrueType outlines.");let Se=Xe(h,U);c.tables.cvar=wc.parse(Se.data,Se.offset,c.tables.fvar,c.tables.cvt||[])}if(L){S||console.warn("This font provides an avar table, but no fvar table, which is required for variable fonts.");let Se=Xe(h,L);c.tables.avar=Ec.parse(Se.data,Se.offset,c.tables.fvar)}if($e){S||console.warn("This font provides an HVAR table, but no fvar table, which is required for variable fonts."),Je||console.warn("This font provides an HVAR table, but no hmtx table to vary.");let Se=Xe(h,$e);c.tables.hvar=Iy.parse(Se.data,Se.offset,c.tables.fvar)}if(sr){let Se=Xe(h,sr);c.tables.meta=dc.parse(Se.data,Se.offset),c.metas=c.tables.meta}return c.palettes=new Uc(c),c}function _y(){console.error("DEPRECATED! migrate to: opentype.parse(buffer, opt) See: https://github.com/opentypejs/opentype.js/issues/675")}function Zy(){console.error('DEPRECATED! migrate to: opentype.parse(require("fs").readFileSync(url), opt)')}return u(p)})();(function(r,e){typeof define=="function"&&define.amd?define(e):typeof Qa=="object"&&Qa.exports?Qa.exports=e():r.opentype=e()})(typeof self<"u"?self:Q0,()=>({...x0,default:x0}))});var Mu=xn(Du(),1),{program:PT,createCommand:HT,createArgument:WT,createOption:JT,CommanderError:VT,InvalidArgumentError:jT,InvalidOptionArgumentError:_T,Command:Li,Argument:ZT,Option:Pi,Help:zT}=Mu.default;var Ms=["https://meta.fabricmc.net","https://meta2.fabricmc.net","https://meta3.fabricmc.net"],mC=["https://maven.fabricmc.net","https://maven2.fabricmc.net","https://maven3.fabricmc.net"],BC=0;async function Hi(){return ks(Ms,"/v2/versions/game")}async function Us(){return ks(Ms,"/v2/versions/loader")}function Uu(r,e){return r.stable?e.find(i=>i.stable).version:e[0].version}async function Nu(){return ks(Ms,"/v2/versions/yarn")}async function ku(r){return ks(Ms,"/v2/versions/yarn/"+r)}function EC(){return Gu("/net/fabricmc/fabric-api/fabric-api/maven-metadata.xml")}function Ou(){return Gu("/net/fabricmc/fabric-language-kotlin/maven-metadata.xml")}async function Ns(r){let i=(await EC()).filter(a=>CC(a,r)).pop();if(!i)throw new Error(`Could not find a valid Fabric API version for Minecraft ${r}`);return i}function wC(r){return yC(r)[0]}function yC(r){return r.split("-")[0].split(".").map(i=>parseInt(i))}function CC(r,e){if(!e)return!1;if(e=="1.18")return r=="0.44.0+1.18";let i=e;if(["1.14","1.15","1.16","1.17","1.18","1.19","1.20","20w14infinite","1.18_experimental"].forEach(u=>{e.startsWith(u)&&(i=u)}),wC(e)>=26){let u=e.indexOf("-");var l=e.substring(0,u===-1?e.length:u);i=l}return e.endsWith("_unobfuscated")?i="1.21.11_unobfuscated":e.startsWith("25w14craftmine")?i="25w14craftmine":e.startsWith("22w13oneblockatatime")?i="22w13oneblockatatime":e.startsWith("25w")?i="1.21.11":e.startsWith("24w")?i="1.21.4":e.startsWith("23w")?i="1.20.5":e.startsWith("22w")?i="1.19.3":e.startsWith("1.18.2")?i="1.18.2":e.startsWith("1.19.1")?i="1.19.1":e.startsWith("1.19.2")?i="1.19.2":e.startsWith("1.19.3")?i="1.19.3":e.startsWith("1.19.4")?i="1.19.4":e.startsWith("1.20.1")?i="1.20.1":e.startsWith("1.20.2")?i="1.20.2":e.startsWith("1.20.3")?i="1.20.3":e.startsWith("1.20.4")?i="1.20.4":e.startsWith("1.20.5")?i="1.20.5":e.startsWith("1.20.6")?i="1.20.6":e.startsWith("1.21.6")?i="1.21.6":e.startsWith("1.21.7")?i="1.21.7":e.startsWith("1.21.8")?i="1.21.8":e.startsWith("1.21.9")?i="1.21.9":e.startsWith("1.21.10")?i="1.21.10":e.startsWith("1.21.11")?i="1.21.11":e.startsWith("1.21.5")?i="1.21.5":e.startsWith("1.21.4")?i="1.21.4":e.startsWith("1.21.3")?i="1.21.3":e.startsWith("1.21.2")?i="1.21.2":e.startsWith("1.21.1")?i="1.21.1":e.startsWith("1.21")?i="1.21":e.startsWith("21w")?i="1.18":e.startsWith("20w")?i="1.17":(e.startsWith("19w")||e.startsWith("18w"))&&(i="1.14"),r.endsWith("-"+i)||r.endsWith("+"+i)}var Yu=r=>{let i=new DOMParser().parseFromString(r,"text/xml");return Array.from(i.getElementsByTagName("version")).map(a=>a.childNodes[0].nodeValue)};function Ru(r){Yu=r}async function Gu(r){let e=await bC(mC,r);return Yu(e)}async function ks(r,e){return await(await Lu(r,e)).json()}async function bC(r,e){return await(await Lu(r,e)).text()}async function Lu(r,e){let i;for(var a of[5e3,3e4])for(var A of r){let l=A+e;try{let u=await fetch(l,{signal:AbortSignal.timeout(a)});if(u.ok)return BC=r.indexOf(A),u;throw new Error(`HTTP ${u.status} ${u.statusText}`.trim())}catch(u){i??=u instanceof Error?u.message:String(u),console.error(u)}}throw new Error(`Failed to fetch: ${r[0]+e}. ${i}`)}var Ls=class extends Error{constructor(r){super(r),this.name="Eta Error"}},Wu=class extends Ls{constructor(r){super(r),this.name="EtaParser Error"}},xC=class extends Ls{constructor(r){super(r),this.name="EtaRuntime Error"}};var QC=class extends Ls{constructor(r){super(r),this.name="EtaNameResolution Error"}};function vn(r,e,i){let a=e.slice(0,i).split(/\n/),A=a.length,l=a[A-1].length+1;throw r+=" at line "+A+" col "+l+`:
|
|
131
131
|
|
|
132
132
|
`+e.split(/\n/)[A-1]+`
|
|
133
133
|
`+Array(l).join(" ")+"^",new Wu(r)}function vC(r,e,i,a){let A=e.split(`
|
|
@@ -170,9 +170,9 @@ return __eta.res;
|
|
|
170
170
|
`):u==="i"?(e.autoFilter&&(p="__eta.f("+p+")"),e.autoEscape&&(p="__eta.e("+p+")"),A+="__eta.res+="+p+`;
|
|
171
171
|
`):u==="e"?A+=p+`
|
|
172
172
|
`:Object.hasOwn(e.customTags,u)&&(A+=`__eta.res+=this.config.customTags[${JSON.stringify(u)}](${JSON.stringify(p)},${e.varName});
|
|
173
|
-
`)}}return A}function DC(r,e,i,a){let A,l;return Array.isArray(e.autoTrim)?(A=e.autoTrim[1],l=e.autoTrim[0]):A=l=e.autoTrim,(i||i===!1)&&(A=i),(a||a===!1)&&(l=a),!l&&!A?r:A==="slurp"&&l==="slurp"?r.trim():(A==="_"||A==="slurp"?r=r.trimStart():(A==="-"||A==="nl")&&(r=r.replace(/^(?:\r\n|\n|\r)/,"")),l==="_"||l==="slurp"?r=r.trimEnd():(l==="-"||l==="nl")&&(r=r.replace(/(?:\r\n|\n|\r)$/,"")),r)}var MC={"&":"&","<":"<",">":">",'"':""","'":"'"};function UC(r){return MC[r]}function NC(r){let e=String(r);return/[&<>"']/.test(e)?e.replace(/[&<>"']/g,UC):e}var Pu={autoEscape:!0,autoFilter:!1,autoTrim:[!1,"nl"],cache:!1,cacheFilepaths:!0,customTags:{},debug:!1,escapeFunction:NC,filterFunction:r=>String(r),outputFunctionName:"output",functionHeader:"",parse:{exec:"",interpolate:"=",raw:"~"},plugins:[],rmWhitespace:!1,tags:["<%","%>"],useWith:!1,varName:"it",defaultExtension:".eta"},
|
|
174
|
-
`).length}function
|
|
175
|
-
`).replace(/^\s+|\s+$/gm,"")),
|
|
173
|
+
`)}}return A}function DC(r,e,i,a){let A,l;return Array.isArray(e.autoTrim)?(A=e.autoTrim[1],l=e.autoTrim[0]):A=l=e.autoTrim,(i||i===!1)&&(A=i),(a||a===!1)&&(l=a),!l&&!A?r:A==="slurp"&&l==="slurp"?r.trim():(A==="_"||A==="slurp"?r=r.trimStart():(A==="-"||A==="nl")&&(r=r.replace(/^(?:\r\n|\n|\r)/,"")),l==="_"||l==="slurp"?r=r.trimEnd():(l==="-"||l==="nl")&&(r=r.replace(/(?:\r\n|\n|\r)$/,"")),r)}var MC={"&":"&","<":"<",">":">",'"':""","'":"'"};function UC(r){return MC[r]}function NC(r){let e=String(r);return/[&<>"']/.test(e)?e.replace(/[&<>"']/g,UC):e}var Pu={autoEscape:!0,autoFilter:!1,autoTrim:[!1,"nl"],cache:!1,cacheFilepaths:!0,customTags:{},debug:!1,escapeFunction:NC,filterFunction:r=>String(r),outputFunctionName:"output",functionHeader:"",parse:{exec:"",interpolate:"=",raw:"~"},plugins:[],rmWhitespace:!1,tags:["<%","%>"],useWith:!1,varName:"it",defaultExtension:".eta"},Os=/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})*}|(?!\${)[^\\`])*`/g,Ys=/'(?:\\[\s\w"'\\`]|[^\n\r'\\])*?'/g,Rs=/"(?:\\[\s\w"'\\`]|[^\n\r"\\])*?"/g;function Gs(r){return r.replace(/[.*+\-?^${}()|[\]\\]/g,"\\$&")}function kC(r,e){return r.slice(0,e).split(`
|
|
174
|
+
`).length}function OC(r){let e=this.config,i=[],a=!1,A=0,l=e.parse,u=Object.keys(e.customTags);if(e.plugins)for(let b=0;b<e.plugins.length;b++){let y=e.plugins[b];y.processTemplate&&(r=y.processTemplate(r,e))}e.rmWhitespace&&(r=r.replace(/[\r\n]+/g,`
|
|
175
|
+
`).replace(/^\s+|\s+$/gm,"")),Os.lastIndex=0,Ys.lastIndex=0,Rs.lastIndex=0;function p(b,y){b&&(b=DC(b,e,a,y),b&&(b=b.replace(/\\|'/g,"\\$&").replace(/\r\n|\n|\r/g,"\\n"),i.push(b)))}let f=[l.exec,l.interpolate,l.raw,...u].reduce((b,y)=>b&&y?b+"|"+Gs(y):y?Gs(y):b,""),g=RegExp(Gs(e.tags[0])+"(-|_)?\\s*("+f+")?\\s*","g"),m=RegExp("'|\"|`|\\/\\*|(\\s*(-|_)?"+Gs(e.tags[1])+")","g"),E;for(;E=g.exec(r);){let b=r.slice(A,E.index);A=E[0].length+E.index;let y=E[1],Q=E[2]||"";p(b,y),m.lastIndex=A;let v,I=!1;for(;v=m.exec(r);)if(v[1]){let F=r.slice(A,v.index);g.lastIndex=A=m.lastIndex,a=v[2],I={t:Q===l.exec?"e":Q===l.raw?"r":Q===l.interpolate?"i":u.includes(Q)?Q:"",val:F};break}else{let F=v[0];if(F==="/*"){let N=r.indexOf("*/",m.lastIndex);N===-1&&vn("unclosed comment",r,v.index),m.lastIndex=N}else F==="'"?(Ys.lastIndex=v.index,Ys.exec(r)?m.lastIndex=Ys.lastIndex:vn("unclosed string",r,v.index)):F==='"'?(Rs.lastIndex=v.index,Rs.exec(r)?m.lastIndex=Rs.lastIndex:vn("unclosed string",r,v.index)):F==="`"&&(Os.lastIndex=v.index,Os.exec(r)?m.lastIndex=Os.lastIndex:vn("unclosed string",r,v.index))}I?(e.debug&&(I.lineNo=kC(r,E.index)),i.push(I)):vn("unclosed tag",r,E.index)}if(p(r.slice(A,r.length),!1),e.plugins)for(let b=0;b<e.plugins.length;b++){let y=e.plugins[b];y.processAST&&(i=y.processAST(i,e))}return i}function Ju(r,e){let i=e?.async?this.templatesAsync:this.templatesSync;if(this.resolvePath&&this.readFile&&!r.startsWith("@")){let a=e.filepath,A=i.get(a);if(this.config.cache&&A)return A;{let l=this.readFile(a),u=this.compile(l,e);return this.config.cache&&i.define(a,u),u}}else{let a=i.get(r);if(a)return a;throw new QC(`Failed to get template '${r}'`)}}function Vu(r,e,i){let a,A={...i,async:!1};return typeof r=="string"?(this.resolvePath&&this.readFile&&!r.startsWith("@")&&(A.filepath=this.resolvePath(r,A)),a=Ju.call(this,r,A)):a=r,a.call(this,e,A)}function ju(r,e,i){let a,A={...i,async:!0};typeof r=="string"?(this.resolvePath&&this.readFile&&!r.startsWith("@")&&(A.filepath=this.resolvePath(r,A)),a=Ju.call(this,r,A)):a=r;let l=a.call(this,e,A);return Promise.resolve(l)}function YC(r,e){let i=this.compile(r,{async:!1});return Vu.call(this,i,e)}function RC(r,e){let i=this.compile(r,{async:!0});return ju.call(this,i,e)}var Hu=class{constructor(r){this.cache=r}define(r,e){this.cache[r]=e}get(r){return this.cache[r]}remove(r){delete this.cache[r]}reset(){this.cache={}}load(r){this.cache={...this.cache,...r}}},GC=class{constructor(r){r?this.config={...Pu,...r}:this.config={...Pu};let e=[this.config.parse.exec,this.config.parse.interpolate,this.config.parse.raw,"-","_"];for(let i of Object.keys(this.config.customTags))if(e.includes(i))throw new Ls(`Custom tag prefix "${i}" conflicts with a built-in prefix`)}config;RuntimeErr=vC;compile=FC;compileToString=TC;compileBody=SC;parse=OC;render=Vu;renderAsync=ju;renderString=YC;renderStringAsync=RC;filepathCache={};templatesSync=new Hu({});templatesAsync=new Hu({});resolvePath=null;readFile=null;configure(r){this.config={...this.config,...r}}withConfig(r){return{...this,config:{...this.config,...r}}}loadTemplate(r,e,i){if(typeof e=="string")(i?.async?this.templatesAsync:this.templatesSync).define(r,this.compile(e,i));else{let a=this.templatesSync;(e.constructor.name==="AsyncFunction"||i?.async)&&(a=this.templatesAsync),a.define(r,e)}}},_u=class extends GC{};var LC=new _u({autoTrim:!1});function Et(r,e){return LC.renderString(r,e)}var Zu=`<% if (it.kotlin) { -%>
|
|
176
176
|
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
|
177
177
|
|
|
178
178
|
<% } -%>
|
|
@@ -1021,7 +1021,7 @@ import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator
|
|
|
1021
1021
|
object <%= it.className %> : DataGeneratorEntrypoint {
|
|
1022
1022
|
override fun onInitializeDataGenerator(fabricDataGenerator: FabricDataGenerator) {
|
|
1023
1023
|
}
|
|
1024
|
-
}`;function fb(r,e){let i=Nr(e),a=ei(e);return i>1||a>20?{name:`${r.class}.${r.factoryName}`,isConstructor:!1}:{name:r.class,isConstructor:!0}}function db(r){if(!(r.unobfuscated||r.mojmap))return{package:"net.minecraft.util",class:"Identifier",factoryName:"of"};let e=Nr(r.minecraftVersion),i=ei(r.minecraftVersion),a=Ws(r.minecraftVersion);return{package:"net.minecraft.resources",class:e>1||i==21&&a==11?"Identifier":"ResourceLocation",factoryName:"fromNamespaceAndPath"}}function gb(r){let e=db(r),i=fb(e,r.minecraftVersion);return{...e,factory:i}}async function yh(r,e){let i=eh(e.projectName),a={package:e.packageName,clientPackage:e.packageName+".client",className:i,classFullName:e.packageName+"."+i,clientClassFullName:e.packageName+".client."+i,path:e.packageName.replaceAll(".","/")+"/"+i,clientPath:e.packageName.replaceAll(".","/")+"/client/"+i,modid:e.modid,slf4j:Xu(e.minecraftVersion),clientEntrypoint:e.splitSources,dataEntrypoint:e.dataGeneration,identifier:gb(e)};return e.kotlin?await Bb(r,a):await mb(r,a)}async function mb(r,e){var i={main:[e.classFullName]};if(await r.write(`src/main/java/${e.path}.java`,Et(dh,e)),e.clientEntrypoint&&(await r.write(`src/client/java/${e.clientPath}Client.java`,Et(mh,{...e,className:e.className+"Client",package:e.clientPackage})),i={...i,client:[e.clientClassFullName+"Client"]}),e.dataEntrypoint){let a=e.clientEntrypoint?"client":"main",A=e.clientEntrypoint?e.clientPath:e.path,l=e.clientEntrypoint?e.clientClassFullName:e.classFullName;await r.write(`src/${a}/java/${A}DataGenerator.java`,Et(Eh,{...e,className:e.className+"DataGenerator",package:e.clientEntrypoint?e.clientPackage:e.package})),i={...i,"fabric-datagen":[l+"DataGenerator"]}}return i}async function Bb(r,e){var i={main:[{value:e.classFullName,adapter:"kotlin"}]};if(await r.write(`src/main/kotlin/${e.path}.kt`,Et(gh,e)),e.clientEntrypoint&&(await r.write(`src/client/kotlin/${e.clientPath}Client.kt`,Et(Bh,{...e,className:e.className+"Client",package:e.clientPackage})),i={...i,client:[{value:e.clientClassFullName+"Client",adapter:"kotlin"}]}),e.dataEntrypoint){let a=e.clientEntrypoint?"client":"main",A=e.clientEntrypoint?e.clientPath:e.path,l=e.clientEntrypoint?e.clientClassFullName:e.classFullName;await r.write(`src/${a}/kotlin/${A}DataGenerator.kt`,Et(wh,{...e,className:e.className+"DataGenerator",package:e.clientEntrypoint?e.clientPackage:e.package})),i={...i,"fabric-datagen":[{value:l+"DataGenerator",adapter:"kotlin"}]}}return i}var Ch="iVBORw0KGgoAAAANSUhEUgAAAIAAAACAAQMAAAD58POIAAAABlBMVEUAAAD///+l2Z/dAAABeklEQVRIx9XTsW1cMQwGYAoKIlfWbaAVUroKbxSPcBtIQRaTN9EILFkI+l3ovXuSLvYZCK4wK+IrWBD/T1iGHg41fBUcygwWKY7QLGiCuoLaNoOY+1BnKFfQDUhnyGeZIZ3lNEO+LFBef01gyutlAlvOEzRb6MIDVCskDAD01MEJCTeKjWgHI1wp1A3Ui9Wg5HSHoFaDkN1BgroOzwN4ORkJuQNXX738NsKFAULpEI2wdIhAdRLTCM1JzBIHsMJZokSAkK/ApQMAbMADhCycDzASsoQObwDwR31Sn154AFJHpwPqT6NENACZOgIambYBNrCYAOSQflAcIEDCmPXEDyrQ42GP9wBuBXuAMqBENxBneCGegVNYIPsFygrqFqh2gXYDZoG+j5BuIC6QVyh8D444aPgXBKi/B9XtUD+ANkH9CsAuNz4D/wH8/Rx4gPZIsP8DDlAeHrRBXUFXkCugQ/YLUJhBiCeg3o8JsICdAKm38OhtGio2zveBd37Jm8IEWUmfAAAAAElFTkSuQmCC";function bh(r,e,i){if(!e)return Fn(Ch);let a=i.create(128,128);return a!=null&&Eb(a,r)?a.getPng():Fn(Ch)}function Eb(r,e){let i=r.getContext("2d");if(i==null)return!1;i.fillStyle="#ffffff",i.fillRect(0,0,128,128);let a=e.split(/\s+/),A=0,l=Array(a.length),u=65;for(;;){A=0;for(let f of a){let g=u;do g--,i.font=`${g}px ${
|
|
1024
|
+
}`;function fb(r,e){let i=Nr(e),a=ei(e);return i>1||a>20?{name:`${r.class}.${r.factoryName}`,isConstructor:!1}:{name:r.class,isConstructor:!0}}function db(r){if(!(r.unobfuscated||r.mojmap))return{package:"net.minecraft.util",class:"Identifier",factoryName:"of"};let e=Nr(r.minecraftVersion),i=ei(r.minecraftVersion),a=Ws(r.minecraftVersion);return{package:"net.minecraft.resources",class:e>1||i==21&&a==11?"Identifier":"ResourceLocation",factoryName:"fromNamespaceAndPath"}}function gb(r){let e=db(r),i=fb(e,r.minecraftVersion);return{...e,factory:i}}async function yh(r,e){let i=eh(e.projectName),a={package:e.packageName,clientPackage:e.packageName+".client",className:i,classFullName:e.packageName+"."+i,clientClassFullName:e.packageName+".client."+i,path:e.packageName.replaceAll(".","/")+"/"+i,clientPath:e.packageName.replaceAll(".","/")+"/client/"+i,modid:e.modid,slf4j:Xu(e.minecraftVersion),clientEntrypoint:e.splitSources,dataEntrypoint:e.dataGeneration,identifier:gb(e)};return e.kotlin?await Bb(r,a):await mb(r,a)}async function mb(r,e){var i={main:[e.classFullName]};if(await r.write(`src/main/java/${e.path}.java`,Et(dh,e)),e.clientEntrypoint&&(await r.write(`src/client/java/${e.clientPath}Client.java`,Et(mh,{...e,className:e.className+"Client",package:e.clientPackage})),i={...i,client:[e.clientClassFullName+"Client"]}),e.dataEntrypoint){let a=e.clientEntrypoint?"client":"main",A=e.clientEntrypoint?e.clientPath:e.path,l=e.clientEntrypoint?e.clientClassFullName:e.classFullName;await r.write(`src/${a}/java/${A}DataGenerator.java`,Et(Eh,{...e,className:e.className+"DataGenerator",package:e.clientEntrypoint?e.clientPackage:e.package})),i={...i,"fabric-datagen":[l+"DataGenerator"]}}return i}async function Bb(r,e){var i={main:[{value:e.classFullName,adapter:"kotlin"}]};if(await r.write(`src/main/kotlin/${e.path}.kt`,Et(gh,e)),e.clientEntrypoint&&(await r.write(`src/client/kotlin/${e.clientPath}Client.kt`,Et(Bh,{...e,className:e.className+"Client",package:e.clientPackage})),i={...i,client:[{value:e.clientClassFullName+"Client",adapter:"kotlin"}]}),e.dataEntrypoint){let a=e.clientEntrypoint?"client":"main",A=e.clientEntrypoint?e.clientPath:e.path,l=e.clientEntrypoint?e.clientClassFullName:e.classFullName;await r.write(`src/${a}/kotlin/${A}DataGenerator.kt`,Et(wh,{...e,className:e.className+"DataGenerator",package:e.clientEntrypoint?e.clientPackage:e.package})),i={...i,"fabric-datagen":[{value:l+"DataGenerator",adapter:"kotlin"}]}}return i}var Ch="iVBORw0KGgoAAAANSUhEUgAAAIAAAACAAQMAAAD58POIAAAABlBMVEUAAAD///+l2Z/dAAABeklEQVRIx9XTsW1cMQwGYAoKIlfWbaAVUroKbxSPcBtIQRaTN9EILFkI+l3ovXuSLvYZCK4wK+IrWBD/T1iGHg41fBUcygwWKY7QLGiCuoLaNoOY+1BnKFfQDUhnyGeZIZ3lNEO+LFBef01gyutlAlvOEzRb6MIDVCskDAD01MEJCTeKjWgHI1wp1A3Ui9Wg5HSHoFaDkN1BgroOzwN4ORkJuQNXX738NsKFAULpEI2wdIhAdRLTCM1JzBIHsMJZokSAkK/ApQMAbMADhCycDzASsoQObwDwR31Sn154AFJHpwPqT6NENACZOgIambYBNrCYAOSQflAcIEDCmPXEDyrQ42GP9wBuBXuAMqBENxBneCGegVNYIPsFygrqFqh2gXYDZoG+j5BuIC6QVyh8D444aPgXBKi/B9XtUD+ANkH9CsAuNz4D/wH8/Rx4gPZIsP8DDlAeHrRBXUFXkCugQ/YLUJhBiCeg3o8JsICdAKm38OhtGio2zveBd37Jm8IEWUmfAAAAAElFTkSuQmCC";function bh(r,e,i){if(!e)return Fn(Ch);let a=i.create(128,128);return a!=null&&Eb(a,r)?a.getPng():Fn(Ch)}function Eb(r,e){let i=r.getContext("2d");if(i==null)return!1;i.fillStyle="#ffffff",i.fillRect(0,0,128,128);let a=e.split(/\s+/),A=0,l=Array(a.length),u=65;for(;;){A=0;for(let f of a){let g=u;do g--,i.font=`${g}px ${Wi}`;while(i.measureText(f).width>124);u=Math.min(u,g)}for(let f=0;f<a.length;f++){let g=a[f];i.font=`${u}px ${Wi}`;let m=r.measureText(i,g);l[f]=m.ascent+m.descent,A+=l[f]}if(A+=(a.length-1)*2,A<=124)break}let p=(128-A)/2;for(let f=0;f<a.length;f++){let g=0;for(let b of l.slice(0,f))g+=b+2;let m=a[f];i.font=`${u}px ${Wi}`,i.fillStyle="#000000",i.textAlign="center";let E=r.measureText(i,m);i.fillText(m,64,p+g+E.ascent)}return!0}function wb(r){return Number(r.split(".")[1])>=59}async function xh(r,e,i){let a=[...await ph(r,i),...i.splitSources?await fh(r,i):[]],A=i.minecraftVersion.indexOf("-");var l=i.minecraftVersion.substring(0,A===-1?i.minecraftVersion.length:A+1);let u={schemaVersion:1,id:i.modid,version:"${version}",name:i.projectName,description:"This is an example description! Tell everyone what your mod is about!",authors:["Me!"],contact:{homepage:"https://fabricmc.net/",sources:"https://github.com/FabricMC/fabric-example-mod"},license:"CC0-1.0",icon:`assets/${i.modid}/icon.png`,environment:"*",entrypoints:await yh(r,i),mixins:a,depends:{fabricloader:">="+i.loaderVersion,minecraft:"~"+l,java:">="+kr(i.minecraftVersion).release}};u.depends[wb(i.fabricVersion)?"fabric-api":"fabric"]="*",i.kotlin&&(u.depends={...u.depends,"fabric-language-kotlin":"*"}),await r.write("src/main/resources/fabric.mod.json",JSON.stringify(u,null," ")),await r.write(`src/main/resources/assets/${i.modid}/icon.png`,bh(i.projectName,i.uniqueModIcon,e))}var Qh=`#
|
|
1025
1025
|
# https://help.github.com/articles/dealing-with-line-endings/
|
|
1026
1026
|
#
|
|
1027
1027
|
# Linux start script should use lf
|
|
@@ -1159,12 +1159,12 @@ For setup instructions, please see the [Fabric Documentation page](https://docs.
|
|
|
1159
1159
|
## License
|
|
1160
1160
|
|
|
1161
1161
|
This template is available under the CC0 license. Feel free to learn from it and incorporate it in your own projects.
|
|
1162
|
-
`;async function Fh(r,e){await r.write(".gitattributes",Qh),await r.write(".gitignore",Vs),await r.write(".github/workflows/build.yml",js),await r.write("LICENSE",vh),await r.write("README.md",Et(Ih,e))}async function So(){let r=await
|
|
1163
|
-
`&&r[l]!=="\r";l++)f+=r[l];if(f=f.trim(),f[f.length-1]==="/"&&(f=f.substring(0,f.length-1),l--),!Lv(f)){let E;return f.trim().length===0?E="Invalid space after '<'.":E="Tag '"+f+"' is an invalid name.",mt("InvalidTag",E,kt(r,l))}let g=kv(r,l);if(g===!1)return mt("InvalidAttr","Attributes for '"+f+"' have open quote.",kt(r,l));let m=g.value;if(l=g.index,m[m.length-1]==="/"){let E=l-m.length;m=m.substring(0,m.length-1);let b=pg(m,e);if(b===!0)a=!0;else return mt(b.err.code,b.err.msg,kt(r,E+b.err.line))}else if(p)if(g.tagClosed){if(m.trim().length>0)return mt("InvalidTag","Closing tag '"+f+"' can't have attributes or invalid starting.",kt(r,u));if(i.length===0)return mt("InvalidTag","Closing tag '"+f+"' has not been opened.",kt(r,u));{let E=i.pop();if(f!==E.tagName){let b=kt(r,E.tagStartPos);return mt("InvalidTag","Expected closing tag '"+E.tagName+"' (opened in line "+b.line+", col "+b.col+") instead of closing tag '"+f+"'.",kt(r,u))}i.length==0&&(A=!0)}}else return mt("InvalidTag","Closing tag '"+f+"' doesn't have proper closing.",kt(r,l));else{let E=pg(m,e);if(E!==!0)return mt(E.err.code,E.err.msg,kt(r,l-m.length+E.err.line));if(A===!0)return mt("InvalidXml","Multiple possible root nodes found.",kt(r,l));e.unpairedTags.indexOf(f)!==-1||i.push({tagName:f,tagStartPos:u}),a=!0}for(l++;l<r.length;l++)if(r[l]==="<")if(r[l+1]==="!"){l++,l=hg(r,l);continue}else if(r[l+1]==="?"){if(l=ug(r,++l),l.err)return l}else break;else if(r[l]==="&"){let E=Rv(r,l);if(E==-1)return mt("InvalidChar","char '&' is not expected.",kt(r,l));l=E}else if(A===!0&&!
|
|
1164
|
-
`||r==="\r"}function ug(r,e){let i=e;for(;e<r.length;e++)if(r[e]=="?"||r[e]==" "){let a=r.substr(i,e-i);if(e>5&&a==="xml")return mt("InvalidXml","XML declaration allowed only at the start of the document.",kt(r,e));if(r[e]=="?"&&r[e+1]==">"){e++;break}else continue}return e}function hg(r,e){if(r.length>e+5&&r[e+1]==="-"&&r[e+2]==="-"){for(e+=3;e<r.length;e++)if(r[e]==="-"&&r[e+1]==="-"&&r[e+2]===">"){e+=2;break}}else if(r.length>e+8&&r[e+1]==="D"&&r[e+2]==="O"&&r[e+3]==="C"&&r[e+4]==="T"&&r[e+5]==="Y"&&r[e+6]==="P"&&r[e+7]==="E"){let i=1;for(e+=8;e<r.length;e++)if(r[e]==="<")i++;else if(r[e]===">"&&(i--,i===0))break}else if(r.length>e+9&&r[e+1]==="["&&r[e+2]==="C"&&r[e+3]==="D"&&r[e+4]==="A"&&r[e+5]==="T"&&r[e+6]==="A"&&r[e+7]==="["){for(e+=8;e<r.length;e++)if(r[e]==="]"&&r[e+1]==="]"&&r[e+2]===">"){e+=2;break}}return e}var Uv='"',Nv="'";function kv(r,e){let i="",a="",A=!1;for(;e<r.length;e++){if(r[e]===Uv||r[e]===Nv)a===""?a=r[e]:a!==r[e]||(a="");else if(r[e]===">"&&a===""){A=!0;break}i+=r[e]}return a!==""?!1:{value:i,index:e,tagClosed:A}}function Yv(r){let e=[],i=r.length,a=0;for(;a<i;){let A=a;for(;a<i&&_i(r[a]);)a++;if(a>=i)break;if(r[a]==="="){a=A+1;continue}let l=r.slice(A,a),u=a;for(;a<i&&!_i(r[a])&&r[a]!=="=";)a++;let p=r.slice(u,a),f,g=a;for(;g<i&&_i(r[g]);)g++;g<i&&r[g]==="="&&(f=r.slice(a,g+1),a=g+1);let m,E,b=a;for(;b<i&&_i(r[b]);)b++;if(b<i&&(r[b]==='"'||r[b]==="'")){let Q=b+1,v=r.indexOf(r[b],Q);v!==-1&&(m=r[b],E=r.slice(Q,v),a=v+1)}let y={startIndex:A};y[1]=l,y[2]=p,y[3]=f,y[4]=m!==void 0?!0:void 0,y[5]=m,y[6]=E,e.push(y)}return e}function pg(r,e){let i=Yv(r),a={};for(let A=0;A<i.length;A++){if(i[A][1].length===0)return mt("InvalidAttr","Attribute '"+i[A][2]+"' has no space in starting.",Pn(i[A]));if(i[A][3]!==void 0&&i[A][4]===void 0)return mt("InvalidAttr","Attribute '"+i[A][2]+"' is without value.",Pn(i[A]));if(i[A][3]===void 0&&!e.allowBooleanAttributes)return mt("InvalidAttr","boolean attribute '"+i[A][2]+"' is not allowed.",Pn(i[A]));let l=i[A][2];if(!Gv(l))return mt("InvalidAttr","Attribute '"+l+"' is an invalid name.",Pn(i[A]));if(!Object.prototype.hasOwnProperty.call(a,l))a[l]=1;else return mt("InvalidAttr","Attribute '"+l+"' is repeated.",Pn(i[A]))}return!0}function Ov(r,e){let i=/\d/;for(r[e]==="x"&&(e++,i=/[\da-fA-F]/);e<r.length;e++){if(r[e]===";")return e;if(!r[e].match(i))break}return-1}function Rv(r,e){if(e++,r[e]===";")return-1;if(r[e]==="#")return e++,Ov(r,e);let i=0;for(;e<r.length;e++,i++)if(!(r[e].match(/\w/)&&i<20)){if(r[e]===";")break;return-1}return e}function mt(r,e,i){return{err:{code:r,msg:e,line:i.line||i,col:i.col}}}function Gv(r){return PA(r)}function Lv(r){return PA(r)}function kt(r,e){let i=r.substring(0,e).split(/\r?\n/);return{line:i.length,col:i[i.length-1].length+1}}function Pn(r){return r.startIndex+r[1].length}var HA={cent:"\xA2",pound:"\xA3",curren:"\xA4",yen:"\xA5",euro:"\u20AC",dollar:"$",fnof:"\u0192",inr:"\u20B9",af:"\u060B",birr:"\u1265\u122D",peso:"\u20B1",rub:"\u20BD",won:"\u20A9",yuan:"\xA5",cedil:"\xB8"};var Hn={amp:"&",apos:"'",gt:">",lt:"<",quot:'"'},WA={nbsp:"\xA0",copy:"\xA9",reg:"\xAE",trade:"\u2122",mdash:"\u2014",ndash:"\u2013",hellip:"\u2026",laquo:"\xAB",raquo:"\xBB",lsquo:"\u2018",rsquo:"\u2019",ldquo:"\u201C",rdquo:"\u201D",bull:"\u2022",para:"\xB6",sect:"\xA7",deg:"\xB0",frac12:"\xBD",frac14:"\xBC",frac34:"\xBE"};var Zi=Object.freeze({ALLOW:"allow",BLOCK:"block",THROW:"throw"}),Pv=new Set("!?\\\\/[]$%{}^&*()<>|+");function dg(r){if(r[0]==="#")throw new Error(`[EntityReplacer] Invalid character '#' in entity name: "${r}"`);for(let e of r)if(Pv.has(e))throw new Error(`[EntityReplacer] Invalid character '${e}' in entity name: "${r}"`);return r}function Wn(...r){let e=Object.create(null);for(let i of r)if(i)for(let a of Object.keys(i)){let A=i[a];if(typeof A=="string")e[a]=A;else if(A&&typeof A=="object"&&A.val!==void 0){let l=A.val;typeof l=="string"&&(e[a]=l)}}return e}var Ci="external",ca="base",JA="all";function Hv(r){return!r||r===Ci?new Set([Ci]):r===JA?new Set([JA]):r===ca?new Set([ca]):Array.isArray(r)?new Set(r):new Set([Ci])}var Lt=Object.freeze({allow:0,leave:1,remove:2,throw:3}),Wv=new Set([9,10,13]);function Jv(r){if(!r)return{xmlVersion:1,onLevel:Lt.allow,nullLevel:Lt.remove};let e=r.xmlVersion===1.1?1.1:1,i=Lt[r.onNCR]??Lt.allow,a=Lt[r.nullNCR]??Lt.remove,A=Math.max(a,Lt.remove);return{xmlVersion:e,onLevel:i,nullLevel:A}}var zi=class{constructor(e={}){this._limit=e.limit||{},this._maxTotalExpansions=this._limit.maxTotalExpansions||0,this._maxExpandedLength=this._limit.maxExpandedLength||0,this._postCheck=typeof e.postCheck=="function"?e.postCheck:a=>a,this._limitTiers=Hv(this._limit.applyLimitsTo??Ci),this._numericAllowed=e.numericAllowed??!0,this._baseMap=Wn(Hn,e.namedEntities||null),this._externalMap=Object.create(null),this._inputMap=Object.create(null),this._totalExpansions=0,this._expandedLength=0,this._removeSet=new Set(e.remove&&Array.isArray(e.remove)?e.remove:[]),this._leaveSet=new Set(e.leave&&Array.isArray(e.leave)?e.leave:[]);let i=Jv(e.ncr);this._ncrXmlVersion=i.xmlVersion,this._ncrOnLevel=i.onLevel,this._ncrNullLevel=i.nullLevel,this._onExternalEntity=typeof e.onExternalEntity=="function"?e.onExternalEntity:null,this._onInputEntity=typeof e.onInputEntity=="function"?e.onInputEntity:null}_applyRegistrationHook(e,i,a,A){if(!e)return!0;let l=e(i,a);if(l===Zi.BLOCK)return!1;if(l===Zi.THROW)throw new Error(`[EntityDecoder] Registration of ${A} entity "&${i};" was rejected by hook`);return!0}setExternalEntities(e){if(e)for(let A of Object.keys(e))dg(A);if(!this._onExternalEntity){this._externalMap=Wn(e);return}let i=Wn(e),a=Object.create(null);for(let[A,l]of Object.entries(i))this._applyRegistrationHook(this._onExternalEntity,A,l,"external")&&(a[A]=l);this._externalMap=a}addExternalEntity(e,i){dg(e),typeof i=="string"&&i.indexOf("&")===-1&&this._applyRegistrationHook(this._onExternalEntity,e,i,"external")&&(this._externalMap[e]=i)}addInputEntities(e){if(this._totalExpansions=0,this._expandedLength=0,!this._onInputEntity){this._inputMap=Wn(e);return}let i=Wn(e),a=Object.create(null);for(let[A,l]of Object.entries(i))this._applyRegistrationHook(this._onInputEntity,A,l,"input")&&(a[A]=l);this._inputMap=a}reset(){return this._inputMap=Object.create(null),this._totalExpansions=0,this._expandedLength=0,this}setXmlVersion(e){this._ncrXmlVersion=e===1.1?1.1:1}decode(e){if(typeof e!="string"||e.length===0||e.indexOf("&")===-1)return e;let i=e,a=[],A=e.length,l=0,u=0,p=this._maxTotalExpansions>0,f=this._maxExpandedLength>0,g=p||f;for(;u<A;){if(e.charCodeAt(u)!==38){u++;continue}let E=u+1;for(;E<A&&e.charCodeAt(E)!==59&&E-u<=32;)E++;if(E>=A||e.charCodeAt(E)!==59){u++;continue}let b=e.slice(u+1,E);if(b.length===0){u++;continue}let y,Q;if(this._removeSet.has(b))y="",Q===void 0&&(Q=Ci);else if(this._leaveSet.has(b)){u++;continue}else if(b.charCodeAt(0)===35){let v=this._resolveNCR(b);if(v===void 0){u++;continue}y=v,Q=ca}else{let v=this._resolveName(b);y=v?.value,Q=v?.tier}if(y===void 0){u++;continue}if(u>l&&a.push(e.slice(l,u)),a.push(y),l=E+1,u=l,g&&this._tierCounts(Q)){if(p&&(this._totalExpansions++,this._totalExpansions>this._maxTotalExpansions))throw new Error(`[EntityReplacer] Entity expansion count limit exceeded: ${this._totalExpansions} > ${this._maxTotalExpansions}`);if(f){let v=y.length-(b.length+2);if(v>0&&(this._expandedLength+=v,this._expandedLength>this._maxExpandedLength))throw new Error(`[EntityReplacer] Expanded content length limit exceeded: ${this._expandedLength} > ${this._maxExpandedLength}`)}}}l<A&&a.push(e.slice(l));let m=a.length===0?e:a.join("");return this._postCheck(m,i)}_tierCounts(e){return this._limitTiers.has(JA)?!0:this._limitTiers.has(e)}_resolveName(e){if(e in this._inputMap)return{value:this._inputMap[e],tier:Ci};if(e in this._externalMap)return{value:this._externalMap[e],tier:Ci};if(e in this._baseMap)return{value:this._baseMap[e],tier:ca}}_classifyNCR(e){return e===0?this._ncrNullLevel:e>=55296&&e<=57343||this._ncrXmlVersion===1&&e>=1&&e<=31&&!Wv.has(e)?Lt.remove:-1}_applyNCRAction(e,i,a){switch(e){case Lt.allow:return String.fromCodePoint(a);case Lt.remove:return"";case Lt.leave:return;case Lt.throw:throw new Error(`[EntityDecoder] Prohibited numeric character reference &${i}; (U+${a.toString(16).toUpperCase().padStart(4,"0")})`);default:return String.fromCodePoint(a)}}_resolveNCR(e){let i=e.charCodeAt(1),a;if(i===120||i===88?a=parseInt(e.slice(2),16):a=parseInt(e.slice(1),10),Number.isNaN(a)||a<0||a>1114111)return;let A=this._classifyNCR(a);if(!this._numericAllowed&&A<Lt.remove)return;let l=A===-1?this._ncrOnLevel:Math.max(this._ncrOnLevel,A);return this._applyNCRAction(l,e,a)}};var gg=r=>Ln.includes(r)?"__"+r:r,Vv={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0,unicode:!1},tagValueProcessor:function(r,e){return e},attributeValueProcessor:function(r,e){return e},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,entityDecoder:null,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(r,e,i){return r},captureMetaData:!1,maxNestedTags:100,strictReservedNames:!0,jPath:!0,onDangerousProperty:gg};function jv(r,e){if(typeof r!="string")return;let i=r.toLowerCase();if(Ln.some(a=>i===a.toLowerCase()))throw new Error(`[SECURITY] Invalid ${e}: "${r}" is a reserved JavaScript keyword that could cause prototype pollution`);if(la.some(a=>i===a.toLowerCase()))throw new Error(`[SECURITY] Invalid ${e}: "${r}" is a reserved JavaScript keyword that could cause prototype pollution`)}function mg(r,e){return typeof r=="boolean"?{enabled:r,maxEntitySize:1e4,maxExpansionDepth:1e4,maxTotalExpansions:1/0,maxExpandedLength:1e5,maxEntityCount:1e3,allowedTags:null,tagFilter:null,appliesTo:"all"}:typeof r=="object"&&r!==null?{enabled:r.enabled!==!1,maxEntitySize:Math.max(1,r.maxEntitySize??1e4),maxExpansionDepth:Math.max(1,r.maxExpansionDepth??1e4),maxTotalExpansions:Math.max(1,r.maxTotalExpansions??1/0),maxExpandedLength:Math.max(1,r.maxExpandedLength??1e5),maxEntityCount:Math.max(1,r.maxEntityCount??1e3),allowedTags:r.allowedTags??null,tagFilter:r.tagFilter??null,appliesTo:r.appliesTo??"all"}:mg(!0)}var Bg=function(r){let e=Object.assign({},Vv,r),i=[{value:e.attributeNamePrefix,name:"attributeNamePrefix"},{value:e.attributesGroupName,name:"attributesGroupName"},{value:e.textNodeName,name:"textNodeName"},{value:e.cdataPropName,name:"cdataPropName"},{value:e.commentPropName,name:"commentPropName"}];for(let{value:a,name:A}of i)a&&jv(a,A);return e.onDangerousProperty===null&&(e.onDangerousProperty=gg),e.processEntities=mg(e.processEntities,e.htmlEntities),e.unpairedTagsSet=new Set(e.unpairedTags),e.stopNodes&&Array.isArray(e.stopNodes)&&(e.stopNodes=e.stopNodes.map(a=>typeof a=="string"&&a.startsWith("*.")?".."+a.substring(2):a)),e};var bi;typeof Symbol!="function"?bi="@@xmlMetadata":bi=Symbol("XML Node Metadata");var Pt=class{constructor(e){this.tagname=e,this.child=[],this[":@"]=Object.create(null)}add(e,i){e==="__proto__"&&(e="#__proto__"),this.child.push({[e]:i})}addChild(e,i){e.tagname==="__proto__"&&(e.tagname="#__proto__"),e[":@"]&&Object.keys(e[":@"]).length>0?this.child.push({[e.tagname]:e.child,":@":e[":@"]}):this.child.push({[e.tagname]:e.child}),this.addStartIndex(i)}addStartIndex(e){e!==void 0&&(this.child[this.child.length-1][bi]={startIndex:e})}addEndIndex(e){let i=this.child[this.child.length-1];i!==void 0&&i[bi]!==void 0&&i[bi].endIndex===void 0&&(i[bi].endIndex=e)}static getMetaDataSymbol(){return bi}};var Eg=":A-Za-z_\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u0486\u0488-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD",_v=Eg+"\\-\\.\\d\xB7\u0300-\u036F\u203F-\u2040",wg=":A-Za-z_\xC0-\u02FF\u0370-\u037D\u037F-\u0486\u0488-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}",Zv=wg+"\\-\\.\\d\xB7\u0300-\u036F\u0487\u203F-\u2040",VA=(r,e,i="")=>{let a=r.replace(":",""),A=e.replace(":",""),l=`[${a}][${A}]*`;return{name:new RegExp(`^[${r}][${e}]*$`,i),ncName:new RegExp(`^${l}$`,i),qName:new RegExp(`^${l}(?::${l})?$`,i),nmToken:new RegExp(`^[${e}]+$`,i),nmTokens:new RegExp(`^[${e}]+(?:\\s+[${e}]+)*$`,i)}},zv=VA(Eg,_v),Xv=VA(wg,Zv,"u"),yg=":A-Za-z_",qv=yg+"\\-\\.\\d",Kv=VA(yg,qv),$v=(r="1.0",e=!1)=>e?Kv:r==="1.1"?Xv:zv;var jA=(r,{xmlVersion:e="1.0",asciiOnly:i=!1}={})=>$v(e,i).qName.test(r);var Vn=class{constructor(e,i){this.suppressValidationErr=!e,this.options=e,this.xmlVersion=i||1}setXmlVersion(e=1){this.xmlVersion=e}readDocType(e,i){let a=Object.create(null),A=0;if(e[i+3]==="O"&&e[i+4]==="C"&&e[i+5]==="T"&&e[i+6]==="Y"&&e[i+7]==="P"&&e[i+8]==="E"){i=i+9;let l=1,u=!1,p=!1,f=null,g="";for(;i<e.length;i++){if(f!==null){e[i]===f&&(f=null),g+=e[i];continue}if(!u&&!p&&(e[i]==='"'||e[i]==="'")){f=e[i],g+=e[i];continue}if(e[i]==="<"&&!p){if(u&&xi(e,"!ENTITY",i)){i+=7;let m,E;if([m,E,i]=this.readEntityExp(e,i+1,this.suppressValidationErr),E.indexOf("&")===-1){if(this.options.enabled!==!1&&this.options.maxEntityCount!=null&&A>=this.options.maxEntityCount)throw new Error(`Entity count (${A+1}) exceeds maximum allowed (${this.options.maxEntityCount})`);a[m]=E,A++}}else if(u&&xi(e,"!ELEMENT",i)){i+=8;let{index:m}=this.readElementExp(e,i+1);i=m}else if(u&&xi(e,"!ATTLIST",i))i+=8;else if(u&&xi(e,"!NOTATION",i)){i+=9;let{index:m}=this.readNotationExp(e,i+1,this.suppressValidationErr);i=m}else if(xi(e,"!--",i))p=!0;else throw new Error("Invalid DOCTYPE");l++,g=""}else if(e[i]===">"){if(p?e[i-1]==="-"&&e[i-2]==="-"&&(p=!1,l--):l--,l===0)break}else e[i]==="["?u=!0:g+=e[i]}if(f!==null||l!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:a,i}}readEntityExp(e,i){i=Ht(e,i);let a=i;for(;i<e.length&&!/\s/.test(e[i])&&e[i]!=='"'&&e[i]!=="'";)i++;let A=e.substring(a,i);if(Jn(A,{xmlVersion:this.xmlVersion}),i=Ht(e,i),!this.suppressValidationErr){if(e.substring(i,i+6).toUpperCase()==="SYSTEM")throw new Error("External entities are not supported");if(e[i]==="%")throw new Error("Parameter entities are not supported")}let l="";if([i,l]=this.readIdentifierVal(e,i,"entity"),this.options.enabled!==!1&&this.options.maxEntitySize!=null&&l.length>this.options.maxEntitySize)throw new Error(`Entity "${A}" size (${l.length}) exceeds maximum allowed size (${this.options.maxEntitySize})`);return i--,[A,l,i]}readNotationExp(e,i){i=Ht(e,i);let a=i;for(;i<e.length&&!/\s/.test(e[i]);)i++;let A=e.substring(a,i);!this.suppressValidationErr&&Jn(A,{xmlVersion:this.xmlVersion}),i=Ht(e,i);let l=e.substring(i,i+6).toUpperCase();if(!this.suppressValidationErr&&l!=="SYSTEM"&&l!=="PUBLIC")throw new Error(`Expected SYSTEM or PUBLIC, found "${l}"`);i+=l.length,i=Ht(e,i);let u=null,p=null;if(l==="PUBLIC")[i,u]=this.readIdentifierVal(e,i,"publicIdentifier"),i=Ht(e,i),(e[i]==='"'||e[i]==="'")&&([i,p]=this.readIdentifierVal(e,i,"systemIdentifier"));else if(l==="SYSTEM"&&([i,p]=this.readIdentifierVal(e,i,"systemIdentifier"),!this.suppressValidationErr&&!p))throw new Error("Missing mandatory system identifier for SYSTEM notation");return{notationName:A,publicIdentifier:u,systemIdentifier:p,index:--i}}readIdentifierVal(e,i,a){let A="",l=e[i];if(l!=='"'&&l!=="'")throw new Error(`Expected quoted string, found "${l}"`);i++;let u=i;for(;i<e.length&&e[i]!==l;)i++;if(A=e.substring(u,i),e[i]!==l)throw new Error(`Unterminated ${a} value`);return i++,[i,A]}readElementExp(e,i){i=Ht(e,i);let a=i;for(;i<e.length&&!/\s/.test(e[i]);)i++;let A=e.substring(a,i);if(!this.suppressValidationErr&&!jA(A,{xmlVersion:this.xmlVersion}))throw new Error(`Invalid element name: "${A}"`);i=Ht(e,i);let l="";if(e[i]==="E"&&xi(e,"MPTY",i))i+=4;else if(e[i]==="A"&&xi(e,"NY",i))i+=2;else if(e[i]==="("){i++;let u=i;for(;i<e.length&&e[i]!==")";)i++;if(l=e.substring(u,i),e[i]!==")")throw new Error("Unterminated content model")}else if(!this.suppressValidationErr)throw new Error(`Invalid Element Expression, found "${e[i]}"`);return{elementName:A,contentModel:l.trim(),index:i}}readAttlistExp(e,i){i=Ht(e,i);let a=i;for(;i<e.length&&!/\s/.test(e[i]);)i++;let A=e.substring(a,i);for(Jn(A,{xmlVersion:this.xmlVersion}),i=Ht(e,i),a=i;i<e.length&&!/\s/.test(e[i]);)i++;let l=e.substring(a,i);if(!Jn(l,{xmlVersion:this.xmlVersion}))throw new Error(`Invalid attribute name: "${l}"`);i=Ht(e,i);let u="";if(e.substring(i,i+8).toUpperCase()==="NOTATION"){if(u="NOTATION",i+=8,i=Ht(e,i),e[i]!=="(")throw new Error(`Expected '(', found "${e[i]}"`);i++;let f=[];for(;i<e.length&&e[i]!==")";){let g=i;for(;i<e.length&&e[i]!=="|"&&e[i]!==")";)i++;let m=e.substring(g,i);if(m=m.trim(),!Jn(m,{xmlVersion:this.xmlVersion}))throw new Error(`Invalid notation name: "${m}"`);f.push(m),e[i]==="|"&&(i++,i=Ht(e,i))}if(e[i]!==")")throw new Error("Unterminated list of notations");i++,u+=" ("+f.join("|")+")"}else{let f=i;for(;i<e.length&&!/\s/.test(e[i]);)i++;u+=e.substring(f,i);let g=["CDATA","ID","IDREF","IDREFS","ENTITY","ENTITIES","NMTOKEN","NMTOKENS"];if(!this.suppressValidationErr&&!g.includes(u.toUpperCase()))throw new Error(`Invalid attribute type: "${u}"`)}i=Ht(e,i);let p="";return e.substring(i,i+8).toUpperCase()==="#REQUIRED"?(p="#REQUIRED",i+=8):e.substring(i,i+7).toUpperCase()==="#IMPLIED"?(p="#IMPLIED",i+=7):[i,p]=this.readIdentifierVal(e,i,"ATTLIST"),{elementName:A,attributeName:l,attributeType:u,defaultValue:p,index:i}}},Ht=(r,e)=>{for(;e<r.length&&/\s/.test(r[e]);)e++;return e};function xi(r,e,i){for(let a=0;a<e.length;a++)if(e[a]!==r[i+a+1])return!1;return!0}function Jn(r,e){if(jA(r,{xmlVersion:e}))return r;throw new Error(`Invalid entity name ${r}`)}var e2=[48,1632,1776,2406,2534,2662,2790,2918,3046,3174,3302,3430,3558,3664,3792,3872,4160,4240,6112,6160,6470,6608,6784,6800,6992,7088,7232,7248,65296,120782,120792,120802,120812,120822,66720,68912,69734,69872,69942,70096,70384,70736,70864,71248,71360,71472,71904,72016,72688,72784,73040,73120,73552,92768,92864,93008,123200,123632,124144,125264,130032],ua=255,ha=new Map,Cg=65535,bg=1632,Xi=bg,t2=Cg-bg+1,pa=new Uint8Array(t2).fill(ua);for(let r of e2)for(let e=0;e<10;e++){let i=r+e;i<=Cg?pa[i-Xi]=e:ha.set(i,e)}var xg=48,Qg=57,vg=45,fa=new Set([8722,65293,65123]);function r2(r){if(typeof r!="string")return r;let e=r.length;if(e===0)return r;let i=-1;for(let A=0;A<e;A++){let l=r.charCodeAt(A);if(!(l>=xg&&l<=Qg||l===vg)){if(l<Xi){if(fa.has(l)){i=A;break}continue}if(l>=55296&&l<=56319){if(A+1<e){let u=r.charCodeAt(A+1);if(u>=56320&&u<=57343){let p=65536+(l-55296<<10)+(u-56320);if(ha.has(p)){i=A;break}}}continue}if(pa[l-Xi]!==ua||fa.has(l)){i=A;break}}}if(i===-1)return r;let a=[];i>0&&a.push(r.slice(0,i));for(let A=i;A<e;A++){let l=r.charCodeAt(A);if(l>=xg&&l<=Qg||l===vg){a.push(r[A]);continue}if(l<Xi){a.push(fa.has(l)?"-":r[A]);continue}if(l>=55296&&l<=56319){if(A+1<e){let p=r.charCodeAt(A+1);if(p>=56320&&p<=57343){let f=65536+(l-55296<<10)+(p-56320),g=ha.get(f);if(g!==void 0){a.push(String.fromCharCode(g+48)),A++;continue}}}a.push(r[A]);continue}if(fa.has(l)){a.push("-");continue}let u=pa[l-Xi];a.push(u!==ua?String.fromCharCode(u+48):r[A])}return a.join("")}var Ig=r2;var i2=/^[-+]?0x[a-fA-F0-9]+$/,n2=/^0b[01]+$/,s2=/^0o[0-7]+$/,a2=/^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/,o2={hex:!0,binary:!1,octal:!1,leadingZeros:!0,decimalPoint:".",eNotation:!0,infinity:"original",unicode:!1};function ZA(r,e={}){if(e=Object.assign({},o2,e),!r||typeof r!="string")return r;let i=r.trim();if(i.length===0)return r;if(e.skipLike!==void 0&&e.skipLike.test(i))return r;if(i==="0"||e.unicode&&(i=Ig(i),i==="0"))return 0;if(e.hex&&i2.test(i))return _A(i,16);if(e.binary&&n2.test(i))return _A(i,2);if(e.octal&&s2.test(i))return _A(i,8);if(isFinite(i)){if(i.includes("e")||i.includes("E"))return l2(r,i,e);{let a=a2.exec(i);if(a){let A=a[1]||"",l=a[2],u=c2(a[3]),p=A?r[l.length+1]===".":r[l.length]===".";if(!e.leadingZeros&&(l.length>1||l.length===1&&!p))return r;{let f=Number(i),g=String(f);if(f===0)return f;if(g.search(/[eE]/)!==-1)return e.eNotation?f:r;if(i.indexOf(".")!==-1)return g==="0"||g===u||g===`${A}${u}`?f:r;let m=l?u:i;return l?m===g||A+m===g?f:r:m===g||m===A+g?f:r}}else return r}}else return u2(r,Number(i),e)}var A2=/^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/;function l2(r,e,i){if(!i.eNotation)return r;let a=e.match(A2);if(a){let A=a[1]||"",l=a[3].indexOf("e")===-1?"E":"e",u=a[2],p=A?r[u.length+1]===l:r[u.length]===l;return u.length>1&&p?r:u.length===1&&(a[3].startsWith(`.${l}`)||a[3][0]===l)?Number(e):u.length>0?i.leadingZeros&&!p?(e=(a[1]||"")+a[3],Number(e)):r:Number(e)}else return r}function c2(r){if(r&&r.indexOf(".")!==-1){let e=r.length;for(;e>0&&r.charCodeAt(e-1)===48;)e--;return r=r.slice(0,e),r==="."?r="0":r[0]==="."?r="0"+r:r[r.length-1]==="."&&(r=r.substring(0,r.length-1)),r}return r}function _A(r,e){let i=r.trim();if((e===2||e===8)&&(r=i.substring(2)),parseInt)return parseInt(r,e);if(Number.parseInt)return Number.parseInt(r,e);if(window&&window.parseInt)return window.parseInt(r,e);throw new Error("parseInt, Number.parseInt, window.parseInt are not supported")}function u2(r,e,i){let a=e===1/0;switch(i.infinity.toLowerCase()){case"null":return null;case"infinity":return e;case"string":return a?"Infinity":"-Infinity";default:return r}}function zA(r){return typeof r=="function"?r:Array.isArray(r)?e=>{for(let i of r)if(typeof i=="string"&&e===i||i instanceof RegExp&&i.test(e))return!0}:()=>!1}var Qi=class{constructor(e,i={},a){this.pattern=e,this.separator=i.separator||".",this.segments=this._parse(e),this.data=a,this._hasDeepWildcard=this.segments.some(A=>A.type==="deep-wildcard"),this._hasAttributeCondition=this.segments.some(A=>A.attrName!==void 0),this._hasPositionSelector=this.segments.some(A=>A.position!==void 0)}_parse(e){let i=[],a=0,A="";for(;a<e.length;)e[a]===this.separator?a+1<e.length&&e[a+1]===this.separator?(A.trim()&&(i.push(this._parseSegment(A.trim())),A=""),i.push({type:"deep-wildcard"}),a+=2):(A.trim()&&i.push(this._parseSegment(A.trim())),A="",a++):(A+=e[a],a++);return A.trim()&&i.push(this._parseSegment(A.trim())),i}_parseSegment(e){let i={type:"tag"},a=null,A=e,l=e.match(/^([^\[]+)(\[[^\]]*\])(.*)$/);if(l&&(A=l[1]+l[3],l[2])){let m=l[2].slice(1,-1);m&&(a=m)}let u,p=A;if(A.includes("::")){let m=A.indexOf("::");if(u=A.substring(0,m).trim(),p=A.substring(m+2).trim(),!u)throw new Error(`Invalid namespace in pattern: ${e}`)}let f,g=null;if(p.includes(":")){let m=p.lastIndexOf(":"),E=p.substring(0,m).trim(),b=p.substring(m+1).trim();["first","last","odd","even"].includes(b)||/^nth\(\d+\)$/.test(b)?(f=E,g=b):f=p}else f=p;if(!f)throw new Error(`Invalid segment pattern: ${e}`);if(i.tag=f,u&&(i.namespace=u),a)if(a.includes("=")){let m=a.indexOf("=");i.attrName=a.substring(0,m).trim(),i.attrValue=a.substring(m+1).trim()}else i.attrName=a.trim();if(g){let m=g.match(/^nth\((\d+)\)$/);m?(i.position="nth",i.positionValue=parseInt(m[1],10)):i.position=g}return i}get length(){return this.segments.length}hasDeepWildcard(){return this._hasDeepWildcard}hasAttributeCondition(){return this._hasAttributeCondition}hasPositionSelector(){return this._hasPositionSelector}toString(){return this.pattern}};var qi=class{constructor(){this._byDepthAndTag=new Map,this._wildcardByDepth=new Map,this._deepWildcards=[],this._deepByTerminalTag=new Map,this._patterns=new Set,this._sealed=!1}add(e){if(this._sealed)throw new TypeError("ExpressionSet is sealed. Create a new ExpressionSet to add more expressions.");if(this._patterns.has(e.pattern))return this;if(this._patterns.add(e.pattern),e.hasDeepWildcard()){let l=e.segments[e.segments.length-1];if(l&&l.type!=="deep-wildcard"&&l.tag!=="*"){let u=l.tag;this._deepByTerminalTag.has(u)||this._deepByTerminalTag.set(u,[]),this._deepByTerminalTag.get(u).push(e)}else this._deepWildcards.push(e);return this}let i=e.length,A=e.segments[e.segments.length-1]?.tag;if(!A||A==="*")this._wildcardByDepth.has(i)||this._wildcardByDepth.set(i,[]),this._wildcardByDepth.get(i).push(e);else{let l=`${i}:${A}`;this._byDepthAndTag.has(l)||this._byDepthAndTag.set(l,[]),this._byDepthAndTag.get(l).push(e)}return this}addAll(e){for(let i of e)this.add(i);return this}has(e){return this._patterns.has(e.pattern)}get size(){return this._patterns.size}seal(){return this._sealed=!0,this}get isSealed(){return this._sealed}matchesAny(e){return this.findMatch(e)!==null}findMatch(e){let i=e.getDepth(),a=e.getCurrentTag(),A=`${i}:${a}`,l=this._byDepthAndTag.get(A);if(l){for(let f=0;f<l.length;f++)if(e.matches(l[f]))return l[f]}let u=this._wildcardByDepth.get(i);if(u){for(let f=0;f<u.length;f++)if(e.matches(u[f]))return u[f]}let p=this._deepByTerminalTag.get(a);if(p){for(let f=0;f<p.length;f++)if(e.matches(p[f]))return p[f]}for(let f=0;f<this._deepWildcards.length;f++)if(e.matches(this._deepWildcards[f]))return this._deepWildcards[f];return null}};var XA=class{constructor(e){this._matcher=e}get separator(){return this._matcher.separator}getCurrentTag(){let e=this._matcher.path;return e.length>0?e[e.length-1].tag:void 0}getCurrentNamespace(){let e=this._matcher.path;return e.length>0?e[e.length-1].namespace:void 0}getAttrValue(e){let i=this._matcher.path;if(i.length!==0)return i[i.length-1].values?.[e]}hasAttr(e){let i=this._matcher.path;if(i.length===0)return!1;let a=i[i.length-1];return a.values!==void 0&&e in a.values}getAnyParentAttr(e){return this._matcher.getAnyParentAttr(e)}hasAnyParentAttr(e){return this._matcher.hasAnyParentAttr(e)}getPosition(){let e=this._matcher.path;return e.length===0?-1:e[e.length-1].position??0}getCounter(){let e=this._matcher.path;return e.length===0?-1:e[e.length-1].counter??0}getIndex(){return this.getPosition()}getDepth(){return this._matcher.path.length}toString(e,i=!0){return this._matcher.toString(e,i)}toArray(){return this._matcher.path.map(e=>e.tag)}matches(e){return this._matcher.matches(e)}matchesAny(e){return e.matchesAny(this._matcher)}},Ki=class{constructor(e={}){this.separator=e.separator||".",this.path=[],this.siblingStacks=[],this._pathStringCache=null,this._view=new XA(this),this._keptAttrs=[]}push(e,i=null,a=null,A=null){this._pathStringCache=null,this.path.length>0&&(this.path[this.path.length-1].values=void 0);let l=this.path.length,u=this.siblingStacks[l];u||(u={counts:new Map,total:0},this.siblingStacks[l]=u);let p=a?`${a}:${e}`:e,f=u.counts.get(p)||0,g=u.total;u.counts.set(p,f+1),u.total++;let m={tag:e,position:g,counter:f};a!=null&&(m.namespace=a),i!=null&&(m.values=i),this.path.push(m);let E=this.path.length,b=A!==null?A.keep:null;if(b!=null&&b.length>0&&i)for(let y=0;y<b.length;y++){let Q=b[y];i[Q]!==void 0&&this._keptAttrs.push({depth:E,name:Q,value:i[Q]})}}pop(){if(this.path.length===0)return;this._pathStringCache=null;let e=this.path.pop();this.siblingStacks.length>this.path.length+1&&(this.siblingStacks.length=this.path.length+1);let i=this.path.length+1;for(;this._keptAttrs.length>0&&this._keptAttrs[this._keptAttrs.length-1].depth>=i;)this._keptAttrs.pop();return e}updateCurrent(e){if(this.path.length>0){let i=this.path[this.path.length-1];e!=null&&(i.values=e)}}getCurrentTag(){return this.path.length>0?this.path[this.path.length-1].tag:void 0}getCurrentNamespace(){return this.path.length>0?this.path[this.path.length-1].namespace:void 0}getAttrValue(e){if(this.path.length!==0)return this.path[this.path.length-1].values?.[e]}hasAttr(e){if(this.path.length===0)return!1;let i=this.path[this.path.length-1];return i.values!==void 0&&e in i.values}getAnyParentAttr(e){let i=this._keptAttrs;for(let a=i.length-1;a>=0;a--)if(i[a].name===e)return i[a].value}hasAnyParentAttr(e){let i=this._keptAttrs;for(let a=i.length-1;a>=0;a--)if(i[a].name===e)return!0;return!1}getPosition(){return this.path.length===0?-1:this.path[this.path.length-1].position??0}getCounter(){return this.path.length===0?-1:this.path[this.path.length-1].counter??0}getIndex(){return this.getPosition()}getDepth(){return this.path.length}toString(e,i=!0){let a=e||this.separator;if(a===this.separator&&i===!0){if(this._pathStringCache!==null)return this._pathStringCache;let l=this.path.map(u=>u.namespace?`${u.namespace}:${u.tag}`:u.tag).join(a);return this._pathStringCache=l,l}return this.path.map(l=>i&&l.namespace?`${l.namespace}:${l.tag}`:l.tag).join(a)}toArray(){return this.path.map(e=>e.tag)}reset(){this._pathStringCache=null,this.path=[],this.siblingStacks=[],this._keptAttrs=[]}matches(e){let i=e.segments;return i.length===0?!1:e.hasDeepWildcard()?this._matchWithDeepWildcard(i):this._matchSimple(i)}_matchSimple(e){if(this.path.length!==e.length)return!1;for(let i=0;i<e.length;i++)if(!this._matchSegment(e[i],this.path[i],i===this.path.length-1))return!1;return!0}_matchWithDeepWildcard(e){let i=this.path.length-1,a=e.length-1;for(;a>=0&&i>=0;){let A=e[a];if(A.type==="deep-wildcard"){if(a--,a<0)return!0;let l=e[a],u=!1;for(let p=i;p>=0;p--)if(this._matchSegment(l,this.path[p],p===this.path.length-1)){i=p-1,a--,u=!0;break}if(!u)return!1}else{if(!this._matchSegment(A,this.path[i],i===this.path.length-1))return!1;i--,a--}}return a<0}_matchSegment(e,i,a){if(e.tag!=="*"&&e.tag!==i.tag||e.namespace!==void 0&&e.namespace!=="*"&&e.namespace!==i.namespace||e.attrName!==void 0&&(!a||!i.values||!(e.attrName in i.values)||e.attrValue!==void 0&&String(i.values[e.attrName])!==String(e.attrValue)))return!1;if(e.position!==void 0){if(!a)return!1;let A=i.counter??0;if(e.position==="first"&&A!==0)return!1;if(e.position==="odd"&&A%2!==1)return!1;if(e.position==="even"&&A%2!==0)return!1;if(e.position==="nth"&&A!==e.positionValue)return!1}return!0}matchesAny(e){return e.matchesAny(this)}snapshot(){return{path:this.path.map(e=>({...e})),siblingStacks:this.siblingStacks.map(e=>e&&{counts:new Map(e.counts),total:e.total}),keptAttrs:this._keptAttrs.map(e=>({...e}))}}restore(e){this._pathStringCache=null,this.path=e.path.map(i=>({...i})),this.siblingStacks=e.siblingStacks.map(i=>i&&{counts:new Map(i.counts),total:i.total}),this._keptAttrs=(e.keptAttrs||[]).map(i=>({...i}))}readOnly(){return this._view}};var h2=[{id:"html-script-open",description:"<script opening tag",pattern:/<script[\s>/]/i},{id:"html-script-close",description:"</script closing tag",pattern:/<\/script[\s>]/i},{id:"html-javascript-protocol",description:"javascript: URI scheme (with optional whitespace/encoding)",pattern:/j[\t\n\r ]*a[\t\n\r ]*v[\t\n\r ]*a[\t\n\r ]*s[\t\n\r ]*c[\t\n\r ]*r[\t\n\r ]*i[\t\n\r ]*p[\t\n\r ]*t[\t\n\r ]*:/i},{id:"html-vbscript-protocol",description:"vbscript: URI scheme",pattern:/vbscript[\t\n\r ]*:/i},{id:"html-data-html",description:"data:text/html URI \u2014 can execute scripts in browsers",pattern:/data[\t\n\r ]*:[\t\n\r ]*text\/html/i},{id:"html-data-xhtml",description:"data:application/xhtml+xml URI",pattern:/data[\t\n\r ]*:[\t\n\r ]*application\/xhtml/i},{id:"html-data-svg",description:"data:image/svg+xml URI \u2014 can execute scripts",pattern:/data[\t\n\r ]*:[\t\n\r ]*image\/svg\+xml/i},{id:"html-inline-event-handler",description:"Inline event handler attributes: onclick=, onerror=, onload=, etc.",pattern:/\bon\w{1,30}\s*=/i},{id:"html-entity-obfuscated-script",description:"HTML-entity-encoded <script (e.g. <script or <script)",pattern:/(?:�*3[Cc];?|�*60;?|<)\s*script/i},{id:"html-entity-obfuscated-javascript",description:'HTML-entity-encoded javascript: (partial \u2014 catches common j or j for "j")',pattern:/(?:�*6[Aa];?|�*106;?)\s*(?:�*61;?|a)[\s\S]{0,80}script\s*:/i},{id:"html-style-expression",description:"CSS expression() \u2014 IE-era code execution in style attributes",pattern:/style[\s\S]{0,20}expression\s*\(/i},{id:"html-object-embed",description:"<object or <embed tags that can load active content",pattern:/<(?:object|embed)[\s>/]/i},{id:"html-base-tag",description:"<base href= \u2014 can hijack all relative URLs on a page",pattern:/<base[\s>]/i},{id:"html-meta-refresh",description:'<meta http-equiv="refresh" \u2014 can redirect users',pattern:/<meta[\s\S]{0,40}http-equiv[\s\S]{0,20}refresh/i},{id:"html-srcdoc",description:"srcdoc= attribute on iframes \u2014 embeds HTML that can run scripts",pattern:/srcdoc\s*=/i},{id:"html-iframe",description:"<iframe tag",pattern:/<iframe[\s>/]/i},{id:"html-form",description:"<form tag \u2014 can be used for phishing / credential harvesting injection",pattern:/<form[\s>/]/i}],$i=h2;var p2=[{id:"xml-cdata-injection",description:"CDATA section injection: <![CDATA[ breaks out of text node context",pattern:/<!\[CDATA\[/i},{id:"xml-cdata-close",description:"CDATA close sequence: ]]> can terminate an enclosing CDATA section",pattern:/\]\]>/},{id:"xml-processing-instruction",description:"XML processing instruction: <?xml-stylesheet or <?php etc.",pattern:/<\?(?:xml[\- ]|php|asp)/i},{id:"xml-doctype-injection",description:"DOCTYPE declaration embedded in content \u2014 can define entities",pattern:/<!DOCTYPE(?:[\s[]|$)/i},{id:"xml-entity-system",description:"SYSTEM keyword \u2014 used in external entity declarations (XXE)",pattern:/\bSYSTEM\s+["']/i},{id:"xml-entity-public",description:"PUBLIC keyword \u2014 used in external entity declarations (XXE)",pattern:/\bPUBLIC\s+["']/i},{id:"xml-entity-declaration",description:"<!ENTITY declaration \u2014 defines entities, potential XXE or entity expansion",pattern:/<!ENTITY[\s%]/i},{id:"xml-billion-laughs",description:"Entity reference chaining / billion laughs: repeated &eX; style references",pattern:/(?:&\w{1,20};){3,}/},{id:"xml-namespace-confusion",description:"xmlns: attribute injection \u2014 can redefine namespaces to confuse parsers",pattern:/\bxmlns(?::\w{1,40})?\s*=/i},{id:"xml-comment-injection",description:"<!-- comment injection \u2014 can hide content from some parsers",pattern:/<!--/},{id:"xml-comment-close",description:"--> closes an enclosing XML comment",pattern:/-->/},{id:"xml-pi-close",description:"?> closes an enclosing processing instruction",pattern:/\?>/}],en=p2;var f2=[{id:"svg-script-element",description:"<script element inside SVG executes JavaScript",pattern:/<script[\s>/]/i},{id:"svg-xlink-href-javascript",description:"xlink:href with javascript: \u2014 classic SVG XSS via <a> or <use>",pattern:/xlink\s*:\s*href\s*=\s*["']?\s*javascript\s*:/i},{id:"svg-href-javascript",description:"href= with javascript: in SVG context (<a>, <animate>, etc.)",pattern:/href\s*=\s*["']?\s*javascript\s*:/i},{id:"svg-foreignobject",description:"<foreignObject embeds HTML inside SVG \u2014 can execute scripts",pattern:/<foreignObject[\s>/]/i},{id:"svg-use-external",description:"<use xlink:href or href pointing to external resource (non-fragment URL)",pattern:/<use[\s\S]{0,60}(?:xlink\s*:\s*)?href\s*=\s*(?:["'][^#]|[^"'#\s>])/i},{id:"svg-animate-href",description:'<animate attributeName="href" \u2014 can dynamically change href to javascript:',pattern:/<animate[\s\S]{0,80}attributeName\s*=\s*["'][\s]*href["']/i},{id:"svg-animate-xlinkhref",description:'<animate attributeName="xlink:href"',pattern:/<animate[\s\S]{0,80}attributeName\s*=\s*["'][\s]*xlink\s*:\s*href["']/i},{id:"svg-set-javascript",description:'<set to="javascript:..." \u2014 sets an attribute to a javascript: URI',pattern:/<set[\s\S]{0,80}to\s*=\s*["']?\s*javascript\s*:/i},{id:"svg-event-handler",description:"SVG-specific event handler attributes: onload=, onerror=, onactivate=, etc.",pattern:/\bon(?:load|error|activate|begin|end|repeat|focus|blur|click|mouse\w{1,20}|key\w{1,20})\s*=/i},{id:"svg-handler-generic",description:"Generic on* handler catch-all for SVG attributes",pattern:/\bon\w{1,30}\s*=/i},{id:"svg-filter-feimage",description:"<feImage href= \u2014 filter primitive that can load external resources",pattern:/<feImage[\s\S]{0,80}(?:xlink\s*:\s*)?href\s*=/i},{id:"svg-image-external",description:"<image xlink:href with http/https or javascript protocol",pattern:/<image[\s\S]{0,80}(?:xlink\s*:\s*)?href\s*=\s*["']?\s*(?:https?|javascript)\s*:/i},{id:"svg-style-javascript",description:"style= attribute containing javascript: (e.g. background:url(javascript:...))",pattern:/style\s*=[\s\S]{0,60}javascript\s*:/i}],qA=f2;var d2=[{id:"sql-block-comment-open",description:"SQL block comment open: /* ... */ \u2014 unusual in legitimate user text",pattern:/\/\*/},{id:"sql-union-select",description:"UNION SELECT \u2014 most common SQL injection aggregation attack",pattern:/\bUNION\s{1,20}(?:ALL\s{1,20})?SELECT\b/i},{id:"sql-drop-table",description:"DROP TABLE \u2014 destructive DDL injection",pattern:/\bDROP\s{1,20}TABLE\b/i},{id:"sql-drop-database",description:"DROP DATABASE \u2014 destructive DDL injection",pattern:/\bDROP\s{1,20}DATABASE\b/i},{id:"sql-insert-into",description:"INSERT INTO \u2014 data injection",pattern:/\bINSERT\s{1,20}INTO\b/i},{id:"sql-delete-from",description:"DELETE FROM \u2014 data deletion injection",pattern:/\bDELETE\s{1,20}FROM\b/i},{id:"sql-update-set",description:"UPDATE ... SET \u2014 data modification injection",pattern:/\bUPDATE\b[\s\S]{1,60}\bSET\b/i},{id:"sql-exec-xp",description:"EXEC xp_ \u2014 MSSQL extended stored procedure execution",pattern:/\bEXEC(?:UTE)?\s{1,20}xp_/i},{id:"sql-tautology-string",description:`Classic string tautology: ' OR '1'='1 or " OR "1"="1"`,pattern:/'\s{0,10}OR\s{0,10}'[^']{0,20}'\s*=\s*'[^']{0,20}/i},{id:"sql-tautology-numeric",description:"Numeric tautology: OR 1=1",pattern:/\bOR\s{1,10}1\s*=\s*1\b/i},{id:"sql-always-true-zero",description:"Numeric tautology: OR 0=0",pattern:/\bOR\s{1,10}0\s*=\s*0\b/i},{id:"sql-sleep-benchmark",description:"Time-based blind injection: SLEEP() or BENCHMARK()",pattern:/\b(?:SLEEP|BENCHMARK)\s*\(/i},{id:"sql-waitfor-delay",description:"MSSQL time-based blind injection: WAITFOR DELAY",pattern:/\bWAITFOR\s{1,20}DELAY\b/i},{id:"sql-char-function",description:"CHAR() function \u2014 used to obfuscate injected strings",pattern:/\bCHAR\s*\(\s*\d{1,3}/i},{id:"sql-information-schema",description:"INFORMATION_SCHEMA \u2014 reconnaissance query for table/column enumeration",pattern:/\bINFORMATION_SCHEMA\b/i}],jn=d2;var g2=[{id:"shell-path-traversal-unix",description:"Unix path traversal: ../ \u2014 climbing the directory tree",pattern:/\.\.\//},{id:"shell-path-traversal-windows",description:"Windows path traversal: ..\\ \u2014 climbing the directory tree",pattern:/\.\.\\/},{id:"shell-path-traversal-encoded",description:"URL-encoded path traversal: %2e%2e or %2f variants",pattern:/%2e%2e|%2f\.\.|\.\.%2f/i},{id:"shell-null-byte",description:"Null byte injection: \\x00 or %00 \u2014 truncates strings in C-backed functions",pattern:/\x00|%00/},{id:"shell-semicolon",description:"Semicolon command separator: cmd1; cmd2",pattern:/;/},{id:"shell-pipe",description:"Pipe operator: cmd1 | cmd2",pattern:/\|/},{id:"shell-and-operator",description:"AND operator: cmd1 && cmd2",pattern:/&&/},{id:"shell-or-operator",description:"OR operator: cmd1 || cmd2",pattern:/\|\|/},{id:"shell-backtick",description:"Backtick command substitution: `cmd`",pattern:/`/},{id:"shell-dollar-paren",description:"Dollar-paren command substitution: $(cmd)",pattern:/\$\(/},{id:"shell-dollar-brace",description:"Dollar-brace variable expansion: ${var} \u2014 can be abused for injection",pattern:/\$\{/},{id:"shell-redirect-out",description:"Output redirection: cmd > file or cmd >> file",pattern:/>{1,2}/},{id:"shell-redirect-in",description:"Input redirection: cmd < file",pattern:/</},{id:"shell-newline-injection",description:"Newline injection: \\n or \\r \u2014 can inject new shell commands",pattern:/[\n\r]/},{id:"shell-glob-star",description:"Glob expansion: * or ? \u2014 can expand to unintended files",pattern:/[/\\][*?]/},{id:"shell-absolute-root",description:"Absolute root path injection: string starting with / or \\ (Windows UNC)",pattern:/^(?:\/|\\\\)/},{id:"shell-windows-drive",description:"Windows drive letter path injection: C:\\ or D:/",pattern:/^[a-zA-Z]:[/\\]/},{id:"shell-curl-wget",description:"curl/wget with URL or flags \u2014 can exfiltrate data or download payloads",pattern:/\b(?:curl|wget)\s+(?:https?:\/\/|ftp:\/\/|-)/i}],KA=g2;var m2=[{id:"redos-nested-quantifier-plus",description:"Nested + quantifier inside a group with outer quantifier: (a+)+, (.+b)*, etc.",pattern:/\([^)]*\+[^)]*\)[+*]/},{id:"redos-nested-quantifier-star",description:"Nested * quantifier: (a*)* or (a*)+ \u2014 catastrophic backtracking",pattern:/\([^)]*\*[^)]*\)[*+]/},{id:"redos-nested-groups",description:"Doubly nested quantified groups: ((a+)+) \u2014 guaranteed catastrophic",pattern:/\(\([^)]{0,40}\)[+*]\)[+*]/},{id:"redos-alternation-overlap",description:"Overlapping alternation under quantifier: (a|a)+ \u2014 ambiguous NFA paths",pattern:/\(([^|()]{1,20})\|(?:\1)(?:\|[^|()]{1,20}){0,5}\)[+*?]{1,2}/},{id:"redos-star-plus-concat",description:"(x*x)+ pattern \u2014 triggers super-linear backtracking",pattern:/\([^)]{0,10}\*[^)]{0,10}\)[+*]/},{id:"redos-dot-star-greedy",description:"(.*){n,} or (.+){n,} \u2014 repeated greedy dot quantifiers",pattern:/\(\.[*+]\)\{?\d/},{id:"redos-large-repetition",description:"Very large fixed or range repetition count {1000,} or {1000,n} \u2014 denial of service via backtracking",pattern:/\{\d{4,}(?:,\d*)?\}/},{id:"redos-catastrophic-alternation",description:"Long alternation with many similar branches \u2014 polynomial backtracking risk",pattern:/\([^)]{0,200}(?:\|[^|)]{0,50}){9,}\)/}],$A=m2;var _t=`["'\\s]*:`,B2=[{id:"nosql-where-operator",description:"$where \u2014 executes arbitrary JavaScript server-side in MongoDB",pattern:new RegExp(`\\$where${_t}`,"i")},{id:"nosql-ne-operator",description:'$ne \u2014 "not equal" operator used to bypass equality checks',pattern:new RegExp(`\\$ne${_t}`,"i")},{id:"nosql-gt-operator",description:'$gt \u2014 "greater than" used to bypass password/value checks',pattern:new RegExp(`\\$gte?${_t}`,"i")},{id:"nosql-lt-operator",description:'$lt / $lte \u2014 "less than" bypass variants',pattern:new RegExp(`\\$lte?${_t}`,"i")},{id:"nosql-regex-operator",description:"$regex \u2014 can be used to extract data character by character (blind injection)",pattern:new RegExp(`\\$regex${_t}`,"i")},{id:"nosql-or-operator",description:"$or \u2014 logical OR; used to create always-true conditions",pattern:new RegExp(`\\$or${_t}\\s*\\[`,"i")},{id:"nosql-and-operator",description:"$and \u2014 logical AND operator injection",pattern:new RegExp(`\\$and${_t}\\s*\\[`,"i")},{id:"nosql-nor-operator",description:"$nor \u2014 logical NOR operator injection",pattern:new RegExp(`\\$nor${_t}\\s*\\[`,"i")},{id:"nosql-exists-operator",description:"$exists \u2014 can enumerate fields to determine schema",pattern:new RegExp(`\\$exists${_t}`,"i")},{id:"nosql-in-operator",description:"$in \u2014 matches any value in a list; can enumerate values",pattern:new RegExp(`\\$in${_t}\\s*\\[`,"i")},{id:"nosql-expr-operator",description:"$expr \u2014 allows aggregation expressions in queries (MongoDB 3.6+)",pattern:new RegExp(`\\$expr${_t}`,"i")},{id:"nosql-function-operator",description:"$function \u2014 executes arbitrary JavaScript in MongoDB 4.4+",pattern:new RegExp(`\\$function${_t}`,"i")},{id:"nosql-accumulator-operator",description:"$accumulator \u2014 custom aggregation with arbitrary JS execution",pattern:new RegExp(`\\$accumulator${_t}`,"i")},{id:"nosql-proto-pollution",description:"__proto__ \u2014 prototype pollution via object key injection",pattern:/__proto__/},{id:"nosql-constructor-prototype",description:"constructor.prototype \u2014 alternative prototype pollution vector (dot notation or JSON key)",pattern:/constructor[\s"':.,{\[]*prototype/i},{id:"nosql-proto-bracket",description:'["__proto__"] \u2014 bracket-notation prototype pollution',pattern:/\[["']__proto__["']\]/}],el=B2;var E2=[{id:"log-crlf-injection",description:"CRLF injection: literal \\r or \\n embeds fake log lines",pattern:/[\r\n]/},{id:"log-url-encoded-crlf",description:"URL-encoded CRLF: %0d, %0a, %0D, %0A \u2014 decoded by some log parsers",pattern:/%0[dDaA]/},{id:"log-unicode-newline",description:"Unicode newline variants: U+2028 (line separator), U+2029 (paragraph separator)",pattern:/[\u2028\u2029]/},{id:"log-log4shell-jndi",description:"Log4Shell: ${jndi:...} triggers remote code execution in Apache Log4j",pattern:/\$\{jndi\s*:/i},{id:"log-log4shell-obfuscated",description:"Obfuscated Log4Shell: ${::-j}... lookup-bypass prefix used to evade WAF detection",pattern:/\$\{::-/},{id:"log-log4j-lookup",description:"Log4j lookup syntax: ${env:...}, ${sys:...}, ${ctx:...} \u2014 data exfiltration",pattern:/\$\{(?:env|sys|ctx|main|map|sd|web|docker|k8s|spring)\s*:/i},{id:"log-ssti-double-brace",description:"SSTI double-brace: {{expression}} \u2014 Jinja2, Twig, Handlebars, etc.",pattern:/\{\{[\s\S]{0,80}\}\}/},{id:"log-ssti-hash-brace",description:"SSTI hash-brace: #{expression} \u2014 Thymeleaf, Velocity, Ruby ERB",pattern:/#\{[\s\S]{0,80}\}/},{id:"log-ssti-dollar-brace",description:"SSTI/EL injection: ${expression with operators or method calls} \u2014 JSP EL, Freemarker, SpEL",pattern:/\$\{[^}]*(?:\.|\(|\*|\+|\bclass\b|\bruntime\b|\bprocess\b|\bexec\b)[^}]{0,80}\}/i},{id:"log-ssti-percent-tag",description:"SSTI ERB/ASP tag: <%= expression %> \u2014 Ruby ERB, ASP",pattern:/<%=[\s\S]{0,80}%>/},{id:"log-null-byte",description:"Null byte: \\x00 or %00 \u2014 can truncate log entries in C-backed loggers",pattern:/\x00|%00/},{id:"log-ansi-escape",description:"ANSI escape sequence: ESC[ \u2014 can manipulate terminal output when logs are tailed",pattern:/\x1b\[/}],tl=E2;var w2=[{id:"sql-line-comment",description:"SQL line comment: -- followed by whitespace or end of string",pattern:/--(?:\s|$)/},{id:"sql-stacked-query",description:"Stacked queries: semicolon immediately followed by a SQL keyword",pattern:/;\s{0,10}(?:SELECT|INSERT|UPDATE|DELETE|DROP|CREATE|ALTER|EXEC)\b/i},{id:"sql-hex-encoding",description:"Hex-encoded string injection: 0x41414141 style (MySQL)",pattern:/\b0x[0-9a-f]{4,}/i}],y2=[...jn,...w2],rl=y2;$i.label="HTML";en.label="XML";qA.label="SVG";jn.label="SQL";rl.label="SQL-STRICT";KA.label="SHELL";$A.label="REDOS";el.label="NOSQL";tl.label="LOG";var AN=Object.freeze({HTML:$i,XML:en,SVG:qA,SQL:jn,"SQL-STRICT":rl,SHELL:KA,REDOS:$A,NOSQL:el,LOG:tl});function C2(r){if(typeof r!="string")throw new TypeError(`is-unsafe: first argument must be a string, got ${typeof r}`)}function b2(r){if(!(r instanceof RegExp)){if(Array.isArray(r)){if(r.length===0)throw new TypeError("is-unsafe: context must not be an empty array");if(Array.isArray(r[0])){for(let e of r)if(!Array.isArray(e)||e.length===0)throw new TypeError("is-unsafe: each context in the array must be a non-empty pattern array (PatternList)")}return}throw new TypeError(`is-unsafe: second argument must be a PatternList (e.g. HTML), an array of PatternLists (e.g. [HTML, XML]), or a RegExp. Got: ${typeof r}`)}}function x2(r){return r instanceof RegExp?{lists:null,regex:r}:Array.isArray(r[0])?{lists:r,regex:null}:{lists:[r],regex:null}}function Q2(r,e){let i=e.label??"CUSTOM";for(let a of e)if(a.pattern.test(r))return{context:i,id:a.id,description:a.description,pattern:a.pattern};return null}function Fg(r,e){C2(r),b2(e);let{lists:i,regex:a}=x2(e);if(a)return a.test(r);for(let A of i)if(Q2(r,A)!==null)return!0;return!1}function v2(r,e){if(!r)return{};let i=e.attributesGroupName?r[e.attributesGroupName]:r;if(!i)return{};let a={};for(let A in i)if(A.startsWith(e.attributeNamePrefix)){let l=A.substring(e.attributeNamePrefix.length);a[l]=i[A]}else a[A]=i[A];return a}function I2(r){if(!r||typeof r!="string")return;let e=r.indexOf(":");if(e!==-1&&e>0){let i=r.substring(0,e);if(i!=="xmlns")return i}}var _n=class{constructor(e,i){this.options=e,this.currentNode=null,this.tagsNodeStack=[],this.parseXml=M2,this.parseTextData=F2,this.resolveNameSpace=T2,this.buildAttributesMap=D2,this.isItStopNode=Y2,this.replaceEntitiesValue=N2,this.readStopNodeData=G2,this.saveTextToParentTag=k2,this.addChild=U2,this.ignoreAttributesFn=zA(this.options.ignoreAttributes),this.entityExpansionCount=0,this.currentExpandedLength=0,this.doctypefound=!1;let a={...Hn};this.options.entityDecoder?this.entityDecoder=this.options.entityDecoder:(typeof this.options.htmlEntities=="object"?a=this.options.htmlEntities:this.options.htmlEntities===!0&&(a={...WA,...HA}),this.entityDecoder=new zi({namedEntities:{...a,...i},numericAllowed:this.options.htmlEntities,limit:{maxTotalExpansions:this.options.processEntities.maxTotalExpansions,maxExpandedLength:this.options.processEntities.maxExpandedLength,applyLimitsTo:this.options.processEntities.appliesTo},onInputEntity:(l,u)=>Fg(u,[$i,en])?Zi.BLOCK:Zi.ALLOW})),this.matcher=new Ki,this.readonlyMatcher=this.matcher.readOnly(),this.isCurrentNodeStopNode=!1,this.stopNodeExpressionsSet=new qi;let A=this.options.stopNodes;if(A&&A.length>0){for(let l=0;l<A.length;l++){let u=A[l];typeof u=="string"?this.stopNodeExpressionsSet.add(new Qi(u)):u instanceof Qi&&this.stopNodeExpressionsSet.add(u)}this.stopNodeExpressionsSet.seal()}}};function F2(r,e,i,a,A,l,u){let p=this.options;if(r!==void 0&&(p.trimValues&&!a&&(r=r.trim()),r.length>0)){u||(r=this.replaceEntitiesValue(r,e,i));let f=p.jPath?i.toString():i,g=p.tagValueProcessor(e,r,f,A,l);return g==null?r:typeof g!=typeof r||g!==r?g:p.trimValues||r.trim()===r?sl(r,p.parseTagValue,p.numberParseOptions):r}}function T2(r){if(this.options.removeNSPrefix){let e=r.split(":"),i=r.charAt(0)==="/"?"/":"";if(e[0]==="xmlns")return"";e.length===2&&(r=i+e[1])}return r}var S2=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function D2(r,e,i,a=!1){let A=this.options;if(a===!0||A.ignoreAttributes!==!0&&typeof r=="string"){let l=lg(r,S2),u=l.length,p={},f=new Array(u),g=!1,m={};for(let y=0;y<u;y++){let Q=this.resolveNameSpace(l[y][1]),v=l[y][4];if(Q.length&&v!==void 0){let I=v;A.trimValues&&(I=I.trim()),I=this.replaceEntitiesValue(I,i,this.readonlyMatcher),f[y]=I,m[Q]=I,g=!0}}g&&typeof e=="object"&&e.updateCurrent&&e.updateCurrent(m);let E=A.jPath?e.toString():this.readonlyMatcher,b=!1;for(let y=0;y<u;y++){let Q=this.resolveNameSpace(l[y][1]);if(this.ignoreAttributesFn(Q,E))continue;let v=A.attributeNamePrefix+Q;if(Q.length)if(A.transformAttributeName&&(v=A.transformAttributeName(v)),v=Tg(v,A),l[y][4]!==void 0){let I=f[y],F=A.attributeValueProcessor(Q,I,E);F==null?p[v]=I:typeof F!=typeof I||F!==I?p[v]=F:p[v]=sl(I,A.parseAttributeValue,A.numberParseOptions),b=!0}else A.allowBooleanAttributes&&(p[v]=!0,b=!0)}if(!b)return;if(A.attributesGroupName&&!A.preserveOrder){let y={};return y[A.attributesGroupName]=p,y}return p}}var M2=function(r){r=r.replace(/\r\n?/g,`
|
|
1165
|
-
`);let e=new Pt("!xml"),i=e,a="";this.matcher.reset(),this.entityDecoder.reset(),this.entityExpansionCount=0,this.currentExpandedLength=0,this.doctypefound=!1;let A=this.options,l=new Vn(A.processEntities),u=r.length;for(let p=0;p<u;p++)if(r[p]==="<"){let g=r.charCodeAt(p+1);if(g===47){let m=tn(r,">",p,"Closing Tag is not closed."),E=r.substring(p+2,m).trim();if(A.removeNSPrefix){let y=E.indexOf(":");y!==-1&&(E=E.substr(y+1))}E=il(A.transformTagName,E,"",A).tagName,i&&(a=this.saveTextToParentTag(a,i,this.readonlyMatcher));let b=this.matcher.getCurrentTag();if(E&&A.unpairedTagsSet.has(E))throw new Error(`Unpaired tag can not be used as closing tag: </${E}>`);b&&A.unpairedTagsSet.has(b)&&(this.matcher.pop(),this.tagsNodeStack.pop()),this.matcher.pop(),this.isCurrentNodeStopNode=!1,i=this.tagsNodeStack.pop()||e,A.captureMetaData&&i&&i.addEndIndex(m+1),a="",p=m}else if(g===63){let m=nl(r,p,!1,"?>");if(!m)throw new Error("Pi Tag is not closed.");a=this.saveTextToParentTag(a,i,this.readonlyMatcher);let E=this.buildAttributesMap(m.tagExp,this.matcher,m.tagName,!0);if(E){let b=E[this.options.attributeNamePrefix+"version"];this.entityDecoder.setXmlVersion(Number(b)||1),l.setXmlVersion(Number(b)||1)}if(!(A.ignoreDeclaration&&m.tagName==="?xml"||A.ignorePiTags)){let b=new Pt(m.tagName);b.add(A.textNodeName,""),m.tagName!==m.tagExp&&m.attrExpPresent&&A.ignoreAttributes!==!0&&(b[":@"]=E),this.addChild(i,b,this.readonlyMatcher,p),A.captureMetaData&&i.addEndIndex(m.closeIndex+2)}p=m.closeIndex+1}else if(g===33&&r.charCodeAt(p+2)===45&&r.charCodeAt(p+3)===45){let m=tn(r,"-->",p+4,"Comment is not closed.");if(A.commentPropName){let E=r.substring(p+4,m-2);a=this.saveTextToParentTag(a,i,this.readonlyMatcher),i.add(A.commentPropName,[{[A.textNodeName]:E}])}p=m}else if(g===33&&r.charCodeAt(p+2)===68){if(this.doctypefound)throw new Error("Multiple DOCTYPE declarations found.");this.doctypefound=!0;let m=l.readDocType(r,p);this.entityDecoder.addInputEntities(m.entities),p=m.i}else if(g===33&&r.charCodeAt(p+2)===91){let m=tn(r,"]]>",p,"CDATA is not closed.")-2,E=r.substring(p+9,m);a=this.saveTextToParentTag(a,i,this.readonlyMatcher);let b=this.parseTextData(E,i.tagname,this.readonlyMatcher,!0,!1,!0,!0);b==null&&(b=""),A.cdataPropName?i.add(A.cdataPropName,[{[A.textNodeName]:E}]):i.add(A.textNodeName,b),p=m+2}else{let m=nl(r,p,A.removeNSPrefix);if(!m){let P=r.substring(Math.max(0,p-50),Math.min(u,p+50));throw new Error(`readTagExp returned undefined at position ${p}. Context: "${P}"`)}let E=m.tagName,b=m.rawTagName,y=m.tagExp,Q=m.attrExpPresent,v=m.closeIndex;if({tagName:E,tagExp:y}=il(A.transformTagName,E,y,A),A.strictReservedNames&&(E===A.commentPropName||E===A.cdataPropName||E===A.textNodeName||E===A.attributesGroupName))throw new Error(`Invalid tag name: ${E}`);i&&a&&i.tagname!=="!xml"&&(a=this.saveTextToParentTag(a,i,this.readonlyMatcher,!1));let I=i;I&&A.unpairedTagsSet.has(I.tagname)&&(i=this.tagsNodeStack.pop(),this.matcher.pop());let F=!1;y.length>0&&y.lastIndexOf("/")===y.length-1&&(F=!0,E[E.length-1]==="/"?(E=E.substr(0,E.length-1),y=E):y=y.substr(0,y.length-1),Q=E!==y);let N=null,_={},M;M=I2(b),E!==e.tagname&&this.matcher.push(E,{},M),E!==y&&Q&&(N=this.buildAttributesMap(y,this.matcher,E),N&&(_=v2(N,A))),E!==e.tagname&&(this.isCurrentNodeStopNode=this.isItStopNode());let Y=p;if(this.isCurrentNodeStopNode){let P="";if(F)p=m.closeIndex;else if(A.unpairedTagsSet.has(E))p=m.closeIndex;else{let re=this.readStopNodeData(r,b,v+1);if(!re)throw new Error(`Unexpected end of ${b}`);p=re.i,P=re.tagContent}let R=new Pt(E);N&&(R[":@"]=N),R.add(A.textNodeName,P),this.matcher.pop(),this.isCurrentNodeStopNode=!1,this.addChild(i,R,this.readonlyMatcher,Y),A.captureMetaData&&i.addEndIndex(p+1)}else{if(F){({tagName:E,tagExp:y}=il(A.transformTagName,E,y,A));let P=new Pt(E);N&&(P[":@"]=N),this.addChild(i,P,this.readonlyMatcher,Y),A.captureMetaData&&i.addEndIndex(v+1),this.matcher.pop(),this.isCurrentNodeStopNode=!1}else if(A.unpairedTagsSet.has(E)){let P=new Pt(E);N&&(P[":@"]=N),this.addChild(i,P,this.readonlyMatcher,Y),A.captureMetaData&&i.addEndIndex(m.closeIndex+1),this.matcher.pop(),this.isCurrentNodeStopNode=!1,p=m.closeIndex;continue}else{let P=new Pt(E);if(this.tagsNodeStack.length>A.maxNestedTags)throw new Error("Maximum nested tags exceeded");this.tagsNodeStack.push(i),N&&(P[":@"]=N),this.addChild(i,P,this.readonlyMatcher,Y),i=P}a="",p=v}}}else a+=r[p];return e.child};function U2(r,e,i,a){this.options.captureMetaData||(a=void 0);let A=this.options.jPath?i.toString():i,l=this.options.updateTag(e.tagname,A,e[":@"]);l===!1||(typeof l=="string"&&(e.tagname=l),r.addChild(e,a))}function N2(r,e,i){let a=this.options.processEntities;if(!a||!a.enabled)return r;if(a.allowedTags){let A=this.options.jPath?i.toString():i;if(!(Array.isArray(a.allowedTags)?a.allowedTags.includes(e):a.allowedTags(e,A)))return r}if(a.tagFilter){let A=this.options.jPath?i.toString():i;if(!a.tagFilter(e,A))return r}return this.entityDecoder.decode(r)}function k2(r,e,i,a){return r&&(a===void 0&&(a=e.child.length===0),r=this.parseTextData(r,e.tagname,i,!1,e[":@"]?Object.keys(e[":@"]).length!==0:!1,a),r!==void 0&&r!==""&&e.add(this.options.textNodeName,r),r=""),r}function Y2(){return this.stopNodeExpressionsSet.size===0?!1:this.matcher.matchesAny(this.stopNodeExpressionsSet)}function O2(r,e,i=">"){let a=0,A=r.length,l=i.charCodeAt(0),u=i.length>1?i.charCodeAt(1):-1,p="",f=e;for(let g=e;g<A;g++){let m=r.charCodeAt(g);if(a)m===a&&(a=0);else if(m===34||m===39)a=m;else if(m===l)if(u!==-1){if(r.charCodeAt(g+1)===u)return p+=r.substring(f,g),{data:p,index:g}}else return p+=r.substring(f,g),{data:p,index:g};else m===9&&!a&&(p+=r.substring(f,g)+" ",f=g+1)}}function tn(r,e,i,a){let A=r.indexOf(e,i);if(A===-1)throw new Error(a);return A+e.length-1}function R2(r,e,i,a){let A=r.indexOf(e,i);if(A===-1)throw new Error(a);return A}function nl(r,e,i,a=">"){let A=O2(r,e+1,a);if(!A)return;let l=A.data,u=A.index,p=l.search(/\s/),f=l,g=!0;p!==-1&&(f=l.substring(0,p),l=l.substring(p+1).trimStart());let m=f;if(i){let E=f.indexOf(":");E!==-1&&(f=f.substr(E+1),g=f!==A.data.substr(E+1))}return{tagName:f,tagExp:l,closeIndex:u,attrExpPresent:g,rawTagName:m}}function G2(r,e,i){let a=i,A=1,l=r.length;for(;i<l;i++)if(r[i]==="<"){let u=r.charCodeAt(i+1);if(u===47){let p=R2(r,">",i,`${e} is not closed`);if(r.substring(i+2,p).trim()===e&&(A--,A===0))return{tagContent:r.substring(a,i),i:p};i=p}else if(u===63)i=tn(r,"?>",i+1,"StopNode is not closed.");else if(u===33&&r.charCodeAt(i+2)===45&&r.charCodeAt(i+3)===45)i=tn(r,"-->",i+3,"StopNode is not closed.");else if(u===33&&r.charCodeAt(i+2)===91)i=tn(r,"]]>",i,"StopNode is not closed.")-2;else{let p=nl(r,i,!1);p&&((p&&p.tagName)===e&&p.tagExp[p.tagExp.length-1]!=="/"&&A++,i=p.closeIndex)}}}function sl(r,e,i){if(e&&typeof r=="string"){let a=r.trim();return a==="true"?!0:a==="false"?!1:ZA(r,i)}else return cg(r)?r:""}function il(r,e,i,a){if(r){let A=r(e);i===e&&(i=A),e=A}return e=Tg(e,a),{tagName:e,tagExp:i}}function Tg(r,e){if(la.includes(r))throw new Error(`[SECURITY] Invalid name: "${r}" is a reserved JavaScript keyword that could cause prototype pollution`);return Ln.includes(r)?e.onDangerousProperty(r):r}var al=Pt.getMetaDataSymbol();function L2(r,e){if(!r||typeof r!="object")return{};if(!e)return r;let i={};for(let a in r)if(a.startsWith(e)){let A=a.substring(e.length);i[A]=r[a]}else i[a]=r[a];return i}function ol(r,e,i,a){return Sg(r,e,i,a)}function Sg(r,e,i,a){let A,l={};for(let u=0;u<r.length;u++){let p=r[u],f=P2(p);if(f!==void 0&&f!==e.textNodeName){let g=L2(p[":@"]||{},e.attributeNamePrefix);i.push(f,g)}if(f===e.textNodeName)A===void 0?A=p[f]:A+=""+p[f];else{if(f===void 0)continue;if(p[f]){let g=Sg(p[f],e,i,a),m=W2(g,e);if(Object.keys(g).length===0&&e.alwaysCreateTextNode&&(g[e.textNodeName]=""),p[":@"]?H2(g,p[":@"],a,e):Object.keys(g).length===1&&g[e.textNodeName]!==void 0&&!e.alwaysCreateTextNode?g=g[e.textNodeName]:Object.keys(g).length===0&&(e.alwaysCreateTextNode?g[e.textNodeName]="":g=""),p[al]!==void 0&&typeof g=="object"&&g!==null&&(g[al]=p[al]),l[f]!==void 0&&Object.prototype.hasOwnProperty.call(l,f))Array.isArray(l[f])||(l[f]=[l[f]]),l[f].push(g);else{let E=e.jPath?a.toString():a;e.isArray(f,E,m)?l[f]=[g]:l[f]=g}f!==void 0&&f!==e.textNodeName&&i.pop()}}}return typeof A=="string"?A.length>0&&(l[e.textNodeName]=A):A!==void 0&&(l[e.textNodeName]=A),l}function P2(r){let e=Object.keys(r);for(let i=0;i<e.length;i++){let a=e[i];if(a!==":@")return a}}function H2(r,e,i,a){if(e){let A=Object.keys(e),l=A.length;for(let u=0;u<l;u++){let p=A[u],f=p.startsWith(a.attributeNamePrefix)?p.substring(a.attributeNamePrefix.length):p,g=a.jPath?i.toString()+"."+f:i;a.isArray(p,g,!0,!0)?r[p]=[e[p]]:r[p]=e[p]}}}function W2(r,e){let{textNodeName:i}=e,a=Object.keys(r).length;return!!(a===0||a===1&&(r[i]||typeof r[i]=="boolean"||r[i]===0))}var rn=class{constructor(e){this.externalEntities={},this.options=Bg(e)}parse(e,i){if(typeof e!="string"&&e.toString)e instanceof Uint8Array&&!(typeof Buffer<"u"&&Buffer.isBuffer(e))?e=new TextDecoder("utf-8",{ignoreBOM:!0}).decode(e):e=e.toString();else if(typeof e!="string")throw new Error("XML data is accepted in String or Bytes[] form.");if(i){i===!0&&(i={});let l=fg(e,i);if(l!==!0)throw Error(`${l.err.msg}:${l.err.line}:${l.err.col}`)}let a=new _n(this.options,this.externalEntities),A=a.parseXml(e);return this.options.preserveOrder||A===void 0?A:ol(A,this.options,a.matcher,a.readonlyMatcher)}addEntity(e,i){if(i.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(e.indexOf("&")!==-1||e.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '
'");if(i==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[e]=i}static getMetaDataSymbol(){return Pt.getMetaDataSymbol()}};import*as Jr from"node:path";import{mkdir as T0,writeFile as uT}from"node:fs/promises";import{cwd as hT,env as pT,exit as fT}from"node:process";function Dg(r,e,i){let a=r.indexOf(e);if(a===-1)return r;let A=e.length,l=0,u="";do u+=r.slice(l,a)+e+i,l=a+A,a=r.indexOf(e,l);while(a!==-1);return u+=r.slice(l),u}function Mg(r,e,i,a){let A=0,l="";do{let u=r[a-1]==="\r";l+=r.slice(A,u?a-1:a)+e+(u?`\r
|
|
1162
|
+
`;async function Fh(r,e){await r.write(".gitattributes",Qh),await r.write(".gitignore",Vs),await r.write(".github/workflows/build.yml",js),await r.write("LICENSE",vh),await r.write("README.md",Et(Ih,e))}async function So(){let r=await Hi();return r.filter(e=>{let i=e.version;return i.startsWith("1.14")&&i!="1.14.4"?!1:e.stable?!0:r[0].version==i})}var Wi="Comic Relief";async function Th(r){let e=await xb(r.config);await hh(r),await oh(r.writer,e),await xh(r.writer,r.canvas,e),await Fh(r.writer,e)}async function xb(r){let e=Ei(r.minecraftVersion),[i,a]=await Promise.all([Hi(),Us()]),A=i.find(l=>l.version===r.minecraftVersion);return{...r,splitSources:Hs(r.minecraftVersion)&&r.splitSources,dataGeneration:Ps(r.minecraftVersion)&&r.dataGeneration,loaderVersion:Uu(A,a),fabricVersion:await Ns(r.minecraftVersion),yarnVersion:e?void 0:(await ku(r.minecraftVersion))[0].version,kotlin:await Qb(r),unobfuscated:e}}async function Qb(r){if(!r.useKotlin)return;let i=(await Ou()).pop(),a=i.split("+kotlin.")[1];return{fabricKotlinAdapterVersion:i,kotlinVersion:a}}var F0=xn(og(),1);var Ag=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",Tv=Ag+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",Sv="["+Ag+"]["+Tv+"]*",Dv=new RegExp("^"+Sv+"$");function lg(r,e){let i=[],a=e.exec(r);for(;a;){let A=[];A.startIndex=e.lastIndex-a[0].length;let l=a.length;for(let u=0;u<l;u++)A.push(a[u]);i.push(A),a=e.exec(r)}return i}var PA=function(r){let e=Dv.exec(r);return!(e===null||typeof e>"u")};function cg(r){return typeof r<"u"}var Ln=["hasOwnProperty","toString","valueOf","__defineGetter__","__defineSetter__","__lookupGetter__","__lookupSetter__"],la=["__proto__","constructor","prototype"];var Mv={allowBooleanAttributes:!1,unpairedTags:[]};function fg(r,e){e=Object.assign({},Mv,e);let i=[],a=!1,A=!1;r[0]==="\uFEFF"&&(r=r.substr(1));for(let l=0;l<r.length;l++)if(r[l]==="<"&&r[l+1]==="?"){if(l+=2,l=ug(r,l),l.err)return l}else if(r[l]==="<"){let u=l;if(l++,r[l]==="!"){l=hg(r,l);continue}else{let p=!1;r[l]==="/"&&(p=!0,l++);let f="";for(;l<r.length&&r[l]!==">"&&r[l]!==" "&&r[l]!==" "&&r[l]!==`
|
|
1163
|
+
`&&r[l]!=="\r";l++)f+=r[l];if(f=f.trim(),f[f.length-1]==="/"&&(f=f.substring(0,f.length-1),l--),!Lv(f)){let E;return f.trim().length===0?E="Invalid space after '<'.":E="Tag '"+f+"' is an invalid name.",mt("InvalidTag",E,kt(r,l))}let g=kv(r,l);if(g===!1)return mt("InvalidAttr","Attributes for '"+f+"' have open quote.",kt(r,l));let m=g.value;if(l=g.index,m[m.length-1]==="/"){let E=l-m.length;m=m.substring(0,m.length-1);let b=pg(m,e);if(b===!0)a=!0;else return mt(b.err.code,b.err.msg,kt(r,E+b.err.line))}else if(p)if(g.tagClosed){if(m.trim().length>0)return mt("InvalidTag","Closing tag '"+f+"' can't have attributes or invalid starting.",kt(r,u));if(i.length===0)return mt("InvalidTag","Closing tag '"+f+"' has not been opened.",kt(r,u));{let E=i.pop();if(f!==E.tagName){let b=kt(r,E.tagStartPos);return mt("InvalidTag","Expected closing tag '"+E.tagName+"' (opened in line "+b.line+", col "+b.col+") instead of closing tag '"+f+"'.",kt(r,u))}i.length==0&&(A=!0)}}else return mt("InvalidTag","Closing tag '"+f+"' doesn't have proper closing.",kt(r,l));else{let E=pg(m,e);if(E!==!0)return mt(E.err.code,E.err.msg,kt(r,l-m.length+E.err.line));if(A===!0)return mt("InvalidXml","Multiple possible root nodes found.",kt(r,l));e.unpairedTags.indexOf(f)!==-1||i.push({tagName:f,tagStartPos:u}),a=!0}for(l++;l<r.length;l++)if(r[l]==="<")if(r[l+1]==="!"){l++,l=hg(r,l);continue}else if(r[l+1]==="?"){if(l=ug(r,++l),l.err)return l}else break;else if(r[l]==="&"){let E=Rv(r,l);if(E==-1)return mt("InvalidChar","char '&' is not expected.",kt(r,l));l=E}else if(A===!0&&!Zi(r[l]))return mt("InvalidXml","Extra text at the end",kt(r,l));r[l]==="<"&&l--}}else{if(Zi(r[l]))continue;return mt("InvalidChar","char '"+r[l]+"' is not expected.",kt(r,l))}if(a){if(i.length==1)return mt("InvalidTag","Unclosed tag '"+i[0].tagName+"'.",kt(r,i[0].tagStartPos));if(i.length>0)return mt("InvalidXml","Invalid '"+JSON.stringify(i.map(l=>l.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return mt("InvalidXml","Start tag expected.",1);return!0}function Zi(r){return r===" "||r===" "||r===`
|
|
1164
|
+
`||r==="\r"}function ug(r,e){let i=e;for(;e<r.length;e++)if(r[e]=="?"||r[e]==" "){let a=r.substr(i,e-i);if(e>5&&a==="xml")return mt("InvalidXml","XML declaration allowed only at the start of the document.",kt(r,e));if(r[e]=="?"&&r[e+1]==">"){e++;break}else continue}return e}function hg(r,e){if(r.length>e+5&&r[e+1]==="-"&&r[e+2]==="-"){for(e+=3;e<r.length;e++)if(r[e]==="-"&&r[e+1]==="-"&&r[e+2]===">"){e+=2;break}}else if(r.length>e+8&&r[e+1]==="D"&&r[e+2]==="O"&&r[e+3]==="C"&&r[e+4]==="T"&&r[e+5]==="Y"&&r[e+6]==="P"&&r[e+7]==="E"){let i=1;for(e+=8;e<r.length;e++)if(r[e]==="<")i++;else if(r[e]===">"&&(i--,i===0))break}else if(r.length>e+9&&r[e+1]==="["&&r[e+2]==="C"&&r[e+3]==="D"&&r[e+4]==="A"&&r[e+5]==="T"&&r[e+6]==="A"&&r[e+7]==="["){for(e+=8;e<r.length;e++)if(r[e]==="]"&&r[e+1]==="]"&&r[e+2]===">"){e+=2;break}}return e}var Uv='"',Nv="'";function kv(r,e){let i="",a="",A=!1;for(;e<r.length;e++){if(r[e]===Uv||r[e]===Nv)a===""?a=r[e]:a!==r[e]||(a="");else if(r[e]===">"&&a===""){A=!0;break}i+=r[e]}return a!==""?!1:{value:i,index:e,tagClosed:A}}function Ov(r){let e=[],i=r.length,a=0;for(;a<i;){let A=a;for(;a<i&&Zi(r[a]);)a++;if(a>=i)break;if(r[a]==="="){a=A+1;continue}let l=r.slice(A,a),u=a;for(;a<i&&!Zi(r[a])&&r[a]!=="=";)a++;let p=r.slice(u,a),f,g=a;for(;g<i&&Zi(r[g]);)g++;g<i&&r[g]==="="&&(f=r.slice(a,g+1),a=g+1);let m,E,b=a;for(;b<i&&Zi(r[b]);)b++;if(b<i&&(r[b]==='"'||r[b]==="'")){let Q=b+1,v=r.indexOf(r[b],Q);v!==-1&&(m=r[b],E=r.slice(Q,v),a=v+1)}let y={startIndex:A};y[1]=l,y[2]=p,y[3]=f,y[4]=m!==void 0?!0:void 0,y[5]=m,y[6]=E,e.push(y)}return e}function pg(r,e){let i=Ov(r),a={};for(let A=0;A<i.length;A++){if(i[A][1].length===0)return mt("InvalidAttr","Attribute '"+i[A][2]+"' has no space in starting.",Pn(i[A]));if(i[A][3]!==void 0&&i[A][4]===void 0)return mt("InvalidAttr","Attribute '"+i[A][2]+"' is without value.",Pn(i[A]));if(i[A][3]===void 0&&!e.allowBooleanAttributes)return mt("InvalidAttr","boolean attribute '"+i[A][2]+"' is not allowed.",Pn(i[A]));let l=i[A][2];if(!Gv(l))return mt("InvalidAttr","Attribute '"+l+"' is an invalid name.",Pn(i[A]));if(!Object.prototype.hasOwnProperty.call(a,l))a[l]=1;else return mt("InvalidAttr","Attribute '"+l+"' is repeated.",Pn(i[A]))}return!0}function Yv(r,e){let i=/\d/;for(r[e]==="x"&&(e++,i=/[\da-fA-F]/);e<r.length;e++){if(r[e]===";")return e;if(!r[e].match(i))break}return-1}function Rv(r,e){if(e++,r[e]===";")return-1;if(r[e]==="#")return e++,Yv(r,e);let i=0;for(;e<r.length;e++,i++)if(!(r[e].match(/\w/)&&i<20)){if(r[e]===";")break;return-1}return e}function mt(r,e,i){return{err:{code:r,msg:e,line:i.line||i,col:i.col}}}function Gv(r){return PA(r)}function Lv(r){return PA(r)}function kt(r,e){let i=r.substring(0,e).split(/\r?\n/);return{line:i.length,col:i[i.length-1].length+1}}function Pn(r){return r.startIndex+r[1].length}var HA={cent:"\xA2",pound:"\xA3",curren:"\xA4",yen:"\xA5",euro:"\u20AC",dollar:"$",fnof:"\u0192",inr:"\u20B9",af:"\u060B",birr:"\u1265\u122D",peso:"\u20B1",rub:"\u20BD",won:"\u20A9",yuan:"\xA5",cedil:"\xB8"};var Hn={amp:"&",apos:"'",gt:">",lt:"<",quot:'"'},WA={nbsp:"\xA0",copy:"\xA9",reg:"\xAE",trade:"\u2122",mdash:"\u2014",ndash:"\u2013",hellip:"\u2026",laquo:"\xAB",raquo:"\xBB",lsquo:"\u2018",rsquo:"\u2019",ldquo:"\u201C",rdquo:"\u201D",bull:"\u2022",para:"\xB6",sect:"\xA7",deg:"\xB0",frac12:"\xBD",frac14:"\xBC",frac34:"\xBE"};var zi=Object.freeze({ALLOW:"allow",BLOCK:"block",THROW:"throw"}),Pv=new Set("!?\\\\/[]$%{}^&*()<>|+");function dg(r){if(r[0]==="#")throw new Error(`[EntityReplacer] Invalid character '#' in entity name: "${r}"`);for(let e of r)if(Pv.has(e))throw new Error(`[EntityReplacer] Invalid character '${e}' in entity name: "${r}"`);return r}function Wn(...r){let e=Object.create(null);for(let i of r)if(i)for(let a of Object.keys(i)){let A=i[a];if(typeof A=="string")e[a]=A;else if(A&&typeof A=="object"&&A.val!==void 0){let l=A.val;typeof l=="string"&&(e[a]=l)}}return e}var Ci="external",ca="base",JA="all";function Hv(r){return!r||r===Ci?new Set([Ci]):r===JA?new Set([JA]):r===ca?new Set([ca]):Array.isArray(r)?new Set(r):new Set([Ci])}var Lt=Object.freeze({allow:0,leave:1,remove:2,throw:3}),Wv=new Set([9,10,13]);function Jv(r){if(!r)return{xmlVersion:1,onLevel:Lt.allow,nullLevel:Lt.remove};let e=r.xmlVersion===1.1?1.1:1,i=Lt[r.onNCR]??Lt.allow,a=Lt[r.nullNCR]??Lt.remove,A=Math.max(a,Lt.remove);return{xmlVersion:e,onLevel:i,nullLevel:A}}var Xi=class{constructor(e={}){this._limit=e.limit||{},this._maxTotalExpansions=this._limit.maxTotalExpansions||0,this._maxExpandedLength=this._limit.maxExpandedLength||0,this._postCheck=typeof e.postCheck=="function"?e.postCheck:a=>a,this._limitTiers=Hv(this._limit.applyLimitsTo??Ci),this._numericAllowed=e.numericAllowed??!0,this._baseMap=Wn(Hn,e.namedEntities||null),this._externalMap=Object.create(null),this._inputMap=Object.create(null),this._totalExpansions=0,this._expandedLength=0,this._removeSet=new Set(e.remove&&Array.isArray(e.remove)?e.remove:[]),this._leaveSet=new Set(e.leave&&Array.isArray(e.leave)?e.leave:[]);let i=Jv(e.ncr);this._ncrXmlVersion=i.xmlVersion,this._ncrOnLevel=i.onLevel,this._ncrNullLevel=i.nullLevel,this._onExternalEntity=typeof e.onExternalEntity=="function"?e.onExternalEntity:null,this._onInputEntity=typeof e.onInputEntity=="function"?e.onInputEntity:null}_applyRegistrationHook(e,i,a,A){if(!e)return!0;let l=e(i,a);if(l===zi.BLOCK)return!1;if(l===zi.THROW)throw new Error(`[EntityDecoder] Registration of ${A} entity "&${i};" was rejected by hook`);return!0}setExternalEntities(e){if(e)for(let A of Object.keys(e))dg(A);if(!this._onExternalEntity){this._externalMap=Wn(e);return}let i=Wn(e),a=Object.create(null);for(let[A,l]of Object.entries(i))this._applyRegistrationHook(this._onExternalEntity,A,l,"external")&&(a[A]=l);this._externalMap=a}addExternalEntity(e,i){dg(e),typeof i=="string"&&i.indexOf("&")===-1&&this._applyRegistrationHook(this._onExternalEntity,e,i,"external")&&(this._externalMap[e]=i)}addInputEntities(e){if(this._totalExpansions=0,this._expandedLength=0,!this._onInputEntity){this._inputMap=Wn(e);return}let i=Wn(e),a=Object.create(null);for(let[A,l]of Object.entries(i))this._applyRegistrationHook(this._onInputEntity,A,l,"input")&&(a[A]=l);this._inputMap=a}reset(){return this._inputMap=Object.create(null),this._totalExpansions=0,this._expandedLength=0,this}setXmlVersion(e){this._ncrXmlVersion=e===1.1?1.1:1}decode(e){if(typeof e!="string"||e.length===0||e.indexOf("&")===-1)return e;let i=e,a=[],A=e.length,l=0,u=0,p=this._maxTotalExpansions>0,f=this._maxExpandedLength>0,g=p||f;for(;u<A;){if(e.charCodeAt(u)!==38){u++;continue}let E=u+1;for(;E<A&&e.charCodeAt(E)!==59&&E-u<=32;)E++;if(E>=A||e.charCodeAt(E)!==59){u++;continue}let b=e.slice(u+1,E);if(b.length===0){u++;continue}let y,Q;if(this._removeSet.has(b))y="",Q===void 0&&(Q=Ci);else if(this._leaveSet.has(b)){u++;continue}else if(b.charCodeAt(0)===35){let v=this._resolveNCR(b);if(v===void 0){u++;continue}y=v,Q=ca}else{let v=this._resolveName(b);y=v?.value,Q=v?.tier}if(y===void 0){u++;continue}if(u>l&&a.push(e.slice(l,u)),a.push(y),l=E+1,u=l,g&&this._tierCounts(Q)){if(p&&(this._totalExpansions++,this._totalExpansions>this._maxTotalExpansions))throw new Error(`[EntityReplacer] Entity expansion count limit exceeded: ${this._totalExpansions} > ${this._maxTotalExpansions}`);if(f){let v=y.length-(b.length+2);if(v>0&&(this._expandedLength+=v,this._expandedLength>this._maxExpandedLength))throw new Error(`[EntityReplacer] Expanded content length limit exceeded: ${this._expandedLength} > ${this._maxExpandedLength}`)}}}l<A&&a.push(e.slice(l));let m=a.length===0?e:a.join("");return this._postCheck(m,i)}_tierCounts(e){return this._limitTiers.has(JA)?!0:this._limitTiers.has(e)}_resolveName(e){if(e in this._inputMap)return{value:this._inputMap[e],tier:Ci};if(e in this._externalMap)return{value:this._externalMap[e],tier:Ci};if(e in this._baseMap)return{value:this._baseMap[e],tier:ca}}_classifyNCR(e){return e===0?this._ncrNullLevel:e>=55296&&e<=57343||this._ncrXmlVersion===1&&e>=1&&e<=31&&!Wv.has(e)?Lt.remove:-1}_applyNCRAction(e,i,a){switch(e){case Lt.allow:return String.fromCodePoint(a);case Lt.remove:return"";case Lt.leave:return;case Lt.throw:throw new Error(`[EntityDecoder] Prohibited numeric character reference &${i}; (U+${a.toString(16).toUpperCase().padStart(4,"0")})`);default:return String.fromCodePoint(a)}}_resolveNCR(e){let i=e.charCodeAt(1),a;if(i===120||i===88?a=parseInt(e.slice(2),16):a=parseInt(e.slice(1),10),Number.isNaN(a)||a<0||a>1114111)return;let A=this._classifyNCR(a);if(!this._numericAllowed&&A<Lt.remove)return;let l=A===-1?this._ncrOnLevel:Math.max(this._ncrOnLevel,A);return this._applyNCRAction(l,e,a)}};var gg=r=>Ln.includes(r)?"__"+r:r,Vv={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0,unicode:!1},tagValueProcessor:function(r,e){return e},attributeValueProcessor:function(r,e){return e},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,entityDecoder:null,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(r,e,i){return r},captureMetaData:!1,maxNestedTags:100,strictReservedNames:!0,jPath:!0,onDangerousProperty:gg};function jv(r,e){if(typeof r!="string")return;let i=r.toLowerCase();if(Ln.some(a=>i===a.toLowerCase()))throw new Error(`[SECURITY] Invalid ${e}: "${r}" is a reserved JavaScript keyword that could cause prototype pollution`);if(la.some(a=>i===a.toLowerCase()))throw new Error(`[SECURITY] Invalid ${e}: "${r}" is a reserved JavaScript keyword that could cause prototype pollution`)}function mg(r,e){return typeof r=="boolean"?{enabled:r,maxEntitySize:1e4,maxExpansionDepth:1e4,maxTotalExpansions:1/0,maxExpandedLength:1e5,maxEntityCount:1e3,allowedTags:null,tagFilter:null,appliesTo:"all"}:typeof r=="object"&&r!==null?{enabled:r.enabled!==!1,maxEntitySize:Math.max(1,r.maxEntitySize??1e4),maxExpansionDepth:Math.max(1,r.maxExpansionDepth??1e4),maxTotalExpansions:Math.max(1,r.maxTotalExpansions??1/0),maxExpandedLength:Math.max(1,r.maxExpandedLength??1e5),maxEntityCount:Math.max(1,r.maxEntityCount??1e3),allowedTags:r.allowedTags??null,tagFilter:r.tagFilter??null,appliesTo:r.appliesTo??"all"}:mg(!0)}var Bg=function(r){let e=Object.assign({},Vv,r),i=[{value:e.attributeNamePrefix,name:"attributeNamePrefix"},{value:e.attributesGroupName,name:"attributesGroupName"},{value:e.textNodeName,name:"textNodeName"},{value:e.cdataPropName,name:"cdataPropName"},{value:e.commentPropName,name:"commentPropName"}];for(let{value:a,name:A}of i)a&&jv(a,A);return e.onDangerousProperty===null&&(e.onDangerousProperty=gg),e.processEntities=mg(e.processEntities,e.htmlEntities),e.unpairedTagsSet=new Set(e.unpairedTags),e.stopNodes&&Array.isArray(e.stopNodes)&&(e.stopNodes=e.stopNodes.map(a=>typeof a=="string"&&a.startsWith("*.")?".."+a.substring(2):a)),e};var bi;typeof Symbol!="function"?bi="@@xmlMetadata":bi=Symbol("XML Node Metadata");var Pt=class{constructor(e){this.tagname=e,this.child=[],this[":@"]=Object.create(null)}add(e,i){e==="__proto__"&&(e="#__proto__"),this.child.push({[e]:i})}addChild(e,i){e.tagname==="__proto__"&&(e.tagname="#__proto__"),e[":@"]&&Object.keys(e[":@"]).length>0?this.child.push({[e.tagname]:e.child,":@":e[":@"]}):this.child.push({[e.tagname]:e.child}),this.addStartIndex(i)}addStartIndex(e){e!==void 0&&(this.child[this.child.length-1][bi]={startIndex:e})}addEndIndex(e){let i=this.child[this.child.length-1];i!==void 0&&i[bi]!==void 0&&i[bi].endIndex===void 0&&(i[bi].endIndex=e)}static getMetaDataSymbol(){return bi}};var Eg=":A-Za-z_\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u0486\u0488-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD",_v=Eg+"\\-\\.\\d\xB7\u0300-\u036F\u203F-\u2040",wg=":A-Za-z_\xC0-\u02FF\u0370-\u037D\u037F-\u0486\u0488-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}",Zv=wg+"\\-\\.\\d\xB7\u0300-\u036F\u0487\u203F-\u2040",VA=(r,e,i="")=>{let a=r.replace(":",""),A=e.replace(":",""),l=`[${a}][${A}]*`;return{name:new RegExp(`^[${r}][${e}]*$`,i),ncName:new RegExp(`^${l}$`,i),qName:new RegExp(`^${l}(?::${l})?$`,i),nmToken:new RegExp(`^[${e}]+$`,i),nmTokens:new RegExp(`^[${e}]+(?:\\s+[${e}]+)*$`,i)}},zv=VA(Eg,_v),Xv=VA(wg,Zv,"u"),yg=":A-Za-z_",qv=yg+"\\-\\.\\d",Kv=VA(yg,qv),$v=(r="1.0",e=!1)=>e?Kv:r==="1.1"?Xv:zv;var jA=(r,{xmlVersion:e="1.0",asciiOnly:i=!1}={})=>$v(e,i).qName.test(r);var Vn=class{constructor(e,i){this.suppressValidationErr=!e,this.options=e,this.xmlVersion=i||1}setXmlVersion(e=1){this.xmlVersion=e}readDocType(e,i){let a=Object.create(null),A=0;if(e[i+3]==="O"&&e[i+4]==="C"&&e[i+5]==="T"&&e[i+6]==="Y"&&e[i+7]==="P"&&e[i+8]==="E"){i=i+9;let l=1,u=!1,p=!1,f=null,g="";for(;i<e.length;i++){if(f!==null){e[i]===f&&(f=null),g+=e[i];continue}if(!u&&!p&&(e[i]==='"'||e[i]==="'")){f=e[i],g+=e[i];continue}if(e[i]==="<"&&!p){if(u&&xi(e,"!ENTITY",i)){i+=7;let m,E;if([m,E,i]=this.readEntityExp(e,i+1,this.suppressValidationErr),E.indexOf("&")===-1){if(this.options.enabled!==!1&&this.options.maxEntityCount!=null&&A>=this.options.maxEntityCount)throw new Error(`Entity count (${A+1}) exceeds maximum allowed (${this.options.maxEntityCount})`);a[m]=E,A++}}else if(u&&xi(e,"!ELEMENT",i)){i+=8;let{index:m}=this.readElementExp(e,i+1);i=m}else if(u&&xi(e,"!ATTLIST",i))i+=8;else if(u&&xi(e,"!NOTATION",i)){i+=9;let{index:m}=this.readNotationExp(e,i+1,this.suppressValidationErr);i=m}else if(xi(e,"!--",i))p=!0;else throw new Error("Invalid DOCTYPE");l++,g=""}else if(e[i]===">"){if(p?e[i-1]==="-"&&e[i-2]==="-"&&(p=!1,l--):l--,l===0)break}else e[i]==="["?u=!0:g+=e[i]}if(f!==null||l!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:a,i}}readEntityExp(e,i){i=Ht(e,i);let a=i;for(;i<e.length&&!/\s/.test(e[i])&&e[i]!=='"'&&e[i]!=="'";)i++;let A=e.substring(a,i);if(Jn(A,{xmlVersion:this.xmlVersion}),i=Ht(e,i),!this.suppressValidationErr){if(e.substring(i,i+6).toUpperCase()==="SYSTEM")throw new Error("External entities are not supported");if(e[i]==="%")throw new Error("Parameter entities are not supported")}let l="";if([i,l]=this.readIdentifierVal(e,i,"entity"),this.options.enabled!==!1&&this.options.maxEntitySize!=null&&l.length>this.options.maxEntitySize)throw new Error(`Entity "${A}" size (${l.length}) exceeds maximum allowed size (${this.options.maxEntitySize})`);return i--,[A,l,i]}readNotationExp(e,i){i=Ht(e,i);let a=i;for(;i<e.length&&!/\s/.test(e[i]);)i++;let A=e.substring(a,i);!this.suppressValidationErr&&Jn(A,{xmlVersion:this.xmlVersion}),i=Ht(e,i);let l=e.substring(i,i+6).toUpperCase();if(!this.suppressValidationErr&&l!=="SYSTEM"&&l!=="PUBLIC")throw new Error(`Expected SYSTEM or PUBLIC, found "${l}"`);i+=l.length,i=Ht(e,i);let u=null,p=null;if(l==="PUBLIC")[i,u]=this.readIdentifierVal(e,i,"publicIdentifier"),i=Ht(e,i),(e[i]==='"'||e[i]==="'")&&([i,p]=this.readIdentifierVal(e,i,"systemIdentifier"));else if(l==="SYSTEM"&&([i,p]=this.readIdentifierVal(e,i,"systemIdentifier"),!this.suppressValidationErr&&!p))throw new Error("Missing mandatory system identifier for SYSTEM notation");return{notationName:A,publicIdentifier:u,systemIdentifier:p,index:--i}}readIdentifierVal(e,i,a){let A="",l=e[i];if(l!=='"'&&l!=="'")throw new Error(`Expected quoted string, found "${l}"`);i++;let u=i;for(;i<e.length&&e[i]!==l;)i++;if(A=e.substring(u,i),e[i]!==l)throw new Error(`Unterminated ${a} value`);return i++,[i,A]}readElementExp(e,i){i=Ht(e,i);let a=i;for(;i<e.length&&!/\s/.test(e[i]);)i++;let A=e.substring(a,i);if(!this.suppressValidationErr&&!jA(A,{xmlVersion:this.xmlVersion}))throw new Error(`Invalid element name: "${A}"`);i=Ht(e,i);let l="";if(e[i]==="E"&&xi(e,"MPTY",i))i+=4;else if(e[i]==="A"&&xi(e,"NY",i))i+=2;else if(e[i]==="("){i++;let u=i;for(;i<e.length&&e[i]!==")";)i++;if(l=e.substring(u,i),e[i]!==")")throw new Error("Unterminated content model")}else if(!this.suppressValidationErr)throw new Error(`Invalid Element Expression, found "${e[i]}"`);return{elementName:A,contentModel:l.trim(),index:i}}readAttlistExp(e,i){i=Ht(e,i);let a=i;for(;i<e.length&&!/\s/.test(e[i]);)i++;let A=e.substring(a,i);for(Jn(A,{xmlVersion:this.xmlVersion}),i=Ht(e,i),a=i;i<e.length&&!/\s/.test(e[i]);)i++;let l=e.substring(a,i);if(!Jn(l,{xmlVersion:this.xmlVersion}))throw new Error(`Invalid attribute name: "${l}"`);i=Ht(e,i);let u="";if(e.substring(i,i+8).toUpperCase()==="NOTATION"){if(u="NOTATION",i+=8,i=Ht(e,i),e[i]!=="(")throw new Error(`Expected '(', found "${e[i]}"`);i++;let f=[];for(;i<e.length&&e[i]!==")";){let g=i;for(;i<e.length&&e[i]!=="|"&&e[i]!==")";)i++;let m=e.substring(g,i);if(m=m.trim(),!Jn(m,{xmlVersion:this.xmlVersion}))throw new Error(`Invalid notation name: "${m}"`);f.push(m),e[i]==="|"&&(i++,i=Ht(e,i))}if(e[i]!==")")throw new Error("Unterminated list of notations");i++,u+=" ("+f.join("|")+")"}else{let f=i;for(;i<e.length&&!/\s/.test(e[i]);)i++;u+=e.substring(f,i);let g=["CDATA","ID","IDREF","IDREFS","ENTITY","ENTITIES","NMTOKEN","NMTOKENS"];if(!this.suppressValidationErr&&!g.includes(u.toUpperCase()))throw new Error(`Invalid attribute type: "${u}"`)}i=Ht(e,i);let p="";return e.substring(i,i+8).toUpperCase()==="#REQUIRED"?(p="#REQUIRED",i+=8):e.substring(i,i+7).toUpperCase()==="#IMPLIED"?(p="#IMPLIED",i+=7):[i,p]=this.readIdentifierVal(e,i,"ATTLIST"),{elementName:A,attributeName:l,attributeType:u,defaultValue:p,index:i}}},Ht=(r,e)=>{for(;e<r.length&&/\s/.test(r[e]);)e++;return e};function xi(r,e,i){for(let a=0;a<e.length;a++)if(e[a]!==r[i+a+1])return!1;return!0}function Jn(r,e){if(jA(r,{xmlVersion:e}))return r;throw new Error(`Invalid entity name ${r}`)}var e2=[48,1632,1776,2406,2534,2662,2790,2918,3046,3174,3302,3430,3558,3664,3792,3872,4160,4240,6112,6160,6470,6608,6784,6800,6992,7088,7232,7248,65296,120782,120792,120802,120812,120822,66720,68912,69734,69872,69942,70096,70384,70736,70864,71248,71360,71472,71904,72016,72688,72784,73040,73120,73552,92768,92864,93008,123200,123632,124144,125264,130032],ua=255,ha=new Map,Cg=65535,bg=1632,qi=bg,t2=Cg-bg+1,pa=new Uint8Array(t2).fill(ua);for(let r of e2)for(let e=0;e<10;e++){let i=r+e;i<=Cg?pa[i-qi]=e:ha.set(i,e)}var xg=48,Qg=57,vg=45,fa=new Set([8722,65293,65123]);function r2(r){if(typeof r!="string")return r;let e=r.length;if(e===0)return r;let i=-1;for(let A=0;A<e;A++){let l=r.charCodeAt(A);if(!(l>=xg&&l<=Qg||l===vg)){if(l<qi){if(fa.has(l)){i=A;break}continue}if(l>=55296&&l<=56319){if(A+1<e){let u=r.charCodeAt(A+1);if(u>=56320&&u<=57343){let p=65536+(l-55296<<10)+(u-56320);if(ha.has(p)){i=A;break}}}continue}if(pa[l-qi]!==ua||fa.has(l)){i=A;break}}}if(i===-1)return r;let a=[];i>0&&a.push(r.slice(0,i));for(let A=i;A<e;A++){let l=r.charCodeAt(A);if(l>=xg&&l<=Qg||l===vg){a.push(r[A]);continue}if(l<qi){a.push(fa.has(l)?"-":r[A]);continue}if(l>=55296&&l<=56319){if(A+1<e){let p=r.charCodeAt(A+1);if(p>=56320&&p<=57343){let f=65536+(l-55296<<10)+(p-56320),g=ha.get(f);if(g!==void 0){a.push(String.fromCharCode(g+48)),A++;continue}}}a.push(r[A]);continue}if(fa.has(l)){a.push("-");continue}let u=pa[l-qi];a.push(u!==ua?String.fromCharCode(u+48):r[A])}return a.join("")}var Ig=r2;var i2=/^[-+]?0x[a-fA-F0-9]+$/,n2=/^0b[01]+$/,s2=/^0o[0-7]+$/,a2=/^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/,o2={hex:!0,binary:!1,octal:!1,leadingZeros:!0,decimalPoint:".",eNotation:!0,infinity:"original",unicode:!1};function ZA(r,e={}){if(e=Object.assign({},o2,e),!r||typeof r!="string")return r;let i=r.trim();if(i.length===0)return r;if(e.skipLike!==void 0&&e.skipLike.test(i))return r;if(i==="0"||e.unicode&&(i=Ig(i),i==="0"))return 0;if(e.hex&&i2.test(i))return _A(i,16);if(e.binary&&n2.test(i))return _A(i,2);if(e.octal&&s2.test(i))return _A(i,8);if(isFinite(i)){if(i.includes("e")||i.includes("E"))return l2(r,i,e);{let a=a2.exec(i);if(a){let A=a[1]||"",l=a[2],u=c2(a[3]),p=A?r[l.length+1]===".":r[l.length]===".";if(!e.leadingZeros&&(l.length>1||l.length===1&&!p))return r;{let f=Number(i),g=String(f);if(f===0)return f;if(g.search(/[eE]/)!==-1)return e.eNotation?f:r;if(i.indexOf(".")!==-1)return g==="0"||g===u||g===`${A}${u}`?f:r;let m=l?u:i;return l?m===g||A+m===g?f:r:m===g||m===A+g?f:r}}else return r}}else return u2(r,Number(i),e)}var A2=/^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/;function l2(r,e,i){if(!i.eNotation)return r;let a=e.match(A2);if(a){let A=a[1]||"",l=a[3].indexOf("e")===-1?"E":"e",u=a[2],p=A?r[u.length+1]===l:r[u.length]===l;return u.length>1&&p?r:u.length===1&&(a[3].startsWith(`.${l}`)||a[3][0]===l)?Number(e):u.length>0?i.leadingZeros&&!p?(e=(a[1]||"")+a[3],Number(e)):r:Number(e)}else return r}function c2(r){if(r&&r.indexOf(".")!==-1){let e=r.length;for(;e>0&&r.charCodeAt(e-1)===48;)e--;return r=r.slice(0,e),r==="."?r="0":r[0]==="."?r="0"+r:r[r.length-1]==="."&&(r=r.substring(0,r.length-1)),r}return r}function _A(r,e){let i=r.trim();if((e===2||e===8)&&(r=i.substring(2)),parseInt)return parseInt(r,e);if(Number.parseInt)return Number.parseInt(r,e);if(window&&window.parseInt)return window.parseInt(r,e);throw new Error("parseInt, Number.parseInt, window.parseInt are not supported")}function u2(r,e,i){let a=e===1/0;switch(i.infinity.toLowerCase()){case"null":return null;case"infinity":return e;case"string":return a?"Infinity":"-Infinity";default:return r}}function zA(r){return typeof r=="function"?r:Array.isArray(r)?e=>{for(let i of r)if(typeof i=="string"&&e===i||i instanceof RegExp&&i.test(e))return!0}:()=>!1}var Qi=class{constructor(e,i={},a){this.pattern=e,this.separator=i.separator||".",this.segments=this._parse(e),this.data=a,this._hasDeepWildcard=this.segments.some(A=>A.type==="deep-wildcard"),this._hasAttributeCondition=this.segments.some(A=>A.attrName!==void 0),this._hasPositionSelector=this.segments.some(A=>A.position!==void 0)}_parse(e){let i=[],a=0,A="";for(;a<e.length;)e[a]===this.separator?a+1<e.length&&e[a+1]===this.separator?(A.trim()&&(i.push(this._parseSegment(A.trim())),A=""),i.push({type:"deep-wildcard"}),a+=2):(A.trim()&&i.push(this._parseSegment(A.trim())),A="",a++):(A+=e[a],a++);return A.trim()&&i.push(this._parseSegment(A.trim())),i}_parseSegment(e){let i={type:"tag"},a=null,A=e,l=e.match(/^([^\[]+)(\[[^\]]*\])(.*)$/);if(l&&(A=l[1]+l[3],l[2])){let m=l[2].slice(1,-1);m&&(a=m)}let u,p=A;if(A.includes("::")){let m=A.indexOf("::");if(u=A.substring(0,m).trim(),p=A.substring(m+2).trim(),!u)throw new Error(`Invalid namespace in pattern: ${e}`)}let f,g=null;if(p.includes(":")){let m=p.lastIndexOf(":"),E=p.substring(0,m).trim(),b=p.substring(m+1).trim();["first","last","odd","even"].includes(b)||/^nth\(\d+\)$/.test(b)?(f=E,g=b):f=p}else f=p;if(!f)throw new Error(`Invalid segment pattern: ${e}`);if(i.tag=f,u&&(i.namespace=u),a)if(a.includes("=")){let m=a.indexOf("=");i.attrName=a.substring(0,m).trim(),i.attrValue=a.substring(m+1).trim()}else i.attrName=a.trim();if(g){let m=g.match(/^nth\((\d+)\)$/);m?(i.position="nth",i.positionValue=parseInt(m[1],10)):i.position=g}return i}get length(){return this.segments.length}hasDeepWildcard(){return this._hasDeepWildcard}hasAttributeCondition(){return this._hasAttributeCondition}hasPositionSelector(){return this._hasPositionSelector}toString(){return this.pattern}};var Ki=class{constructor(){this._byDepthAndTag=new Map,this._wildcardByDepth=new Map,this._deepWildcards=[],this._deepByTerminalTag=new Map,this._patterns=new Set,this._sealed=!1}add(e){if(this._sealed)throw new TypeError("ExpressionSet is sealed. Create a new ExpressionSet to add more expressions.");if(this._patterns.has(e.pattern))return this;if(this._patterns.add(e.pattern),e.hasDeepWildcard()){let l=e.segments[e.segments.length-1];if(l&&l.type!=="deep-wildcard"&&l.tag!=="*"){let u=l.tag;this._deepByTerminalTag.has(u)||this._deepByTerminalTag.set(u,[]),this._deepByTerminalTag.get(u).push(e)}else this._deepWildcards.push(e);return this}let i=e.length,A=e.segments[e.segments.length-1]?.tag;if(!A||A==="*")this._wildcardByDepth.has(i)||this._wildcardByDepth.set(i,[]),this._wildcardByDepth.get(i).push(e);else{let l=`${i}:${A}`;this._byDepthAndTag.has(l)||this._byDepthAndTag.set(l,[]),this._byDepthAndTag.get(l).push(e)}return this}addAll(e){for(let i of e)this.add(i);return this}has(e){return this._patterns.has(e.pattern)}get size(){return this._patterns.size}seal(){return this._sealed=!0,this}get isSealed(){return this._sealed}matchesAny(e){return this.findMatch(e)!==null}findMatch(e){let i=e.getDepth(),a=e.getCurrentTag(),A=`${i}:${a}`,l=this._byDepthAndTag.get(A);if(l){for(let f=0;f<l.length;f++)if(e.matches(l[f]))return l[f]}let u=this._wildcardByDepth.get(i);if(u){for(let f=0;f<u.length;f++)if(e.matches(u[f]))return u[f]}let p=this._deepByTerminalTag.get(a);if(p){for(let f=0;f<p.length;f++)if(e.matches(p[f]))return p[f]}for(let f=0;f<this._deepWildcards.length;f++)if(e.matches(this._deepWildcards[f]))return this._deepWildcards[f];return null}};var XA=class{constructor(e){this._matcher=e}get separator(){return this._matcher.separator}getCurrentTag(){let e=this._matcher.path;return e.length>0?e[e.length-1].tag:void 0}getCurrentNamespace(){let e=this._matcher.path;return e.length>0?e[e.length-1].namespace:void 0}getAttrValue(e){let i=this._matcher.path;if(i.length!==0)return i[i.length-1].values?.[e]}hasAttr(e){let i=this._matcher.path;if(i.length===0)return!1;let a=i[i.length-1];return a.values!==void 0&&e in a.values}getAnyParentAttr(e){return this._matcher.getAnyParentAttr(e)}hasAnyParentAttr(e){return this._matcher.hasAnyParentAttr(e)}getPosition(){let e=this._matcher.path;return e.length===0?-1:e[e.length-1].position??0}getCounter(){let e=this._matcher.path;return e.length===0?-1:e[e.length-1].counter??0}getIndex(){return this.getPosition()}getDepth(){return this._matcher.path.length}toString(e,i=!0){return this._matcher.toString(e,i)}toArray(){return this._matcher.path.map(e=>e.tag)}matches(e){return this._matcher.matches(e)}matchesAny(e){return e.matchesAny(this._matcher)}},$i=class{constructor(e={}){this.separator=e.separator||".",this.path=[],this.siblingStacks=[],this._pathStringCache=null,this._view=new XA(this),this._keptAttrs=[]}push(e,i=null,a=null,A=null){this._pathStringCache=null,this.path.length>0&&(this.path[this.path.length-1].values=void 0);let l=this.path.length,u=this.siblingStacks[l];u||(u={counts:new Map,total:0},this.siblingStacks[l]=u);let p=a?`${a}:${e}`:e,f=u.counts.get(p)||0,g=u.total;u.counts.set(p,f+1),u.total++;let m={tag:e,position:g,counter:f};a!=null&&(m.namespace=a),i!=null&&(m.values=i),this.path.push(m);let E=this.path.length,b=A!==null?A.keep:null;if(b!=null&&b.length>0&&i)for(let y=0;y<b.length;y++){let Q=b[y];i[Q]!==void 0&&this._keptAttrs.push({depth:E,name:Q,value:i[Q]})}}pop(){if(this.path.length===0)return;this._pathStringCache=null;let e=this.path.pop();this.siblingStacks.length>this.path.length+1&&(this.siblingStacks.length=this.path.length+1);let i=this.path.length+1;for(;this._keptAttrs.length>0&&this._keptAttrs[this._keptAttrs.length-1].depth>=i;)this._keptAttrs.pop();return e}updateCurrent(e){if(this.path.length>0){let i=this.path[this.path.length-1];e!=null&&(i.values=e)}}getCurrentTag(){return this.path.length>0?this.path[this.path.length-1].tag:void 0}getCurrentNamespace(){return this.path.length>0?this.path[this.path.length-1].namespace:void 0}getAttrValue(e){if(this.path.length!==0)return this.path[this.path.length-1].values?.[e]}hasAttr(e){if(this.path.length===0)return!1;let i=this.path[this.path.length-1];return i.values!==void 0&&e in i.values}getAnyParentAttr(e){let i=this._keptAttrs;for(let a=i.length-1;a>=0;a--)if(i[a].name===e)return i[a].value}hasAnyParentAttr(e){let i=this._keptAttrs;for(let a=i.length-1;a>=0;a--)if(i[a].name===e)return!0;return!1}getPosition(){return this.path.length===0?-1:this.path[this.path.length-1].position??0}getCounter(){return this.path.length===0?-1:this.path[this.path.length-1].counter??0}getIndex(){return this.getPosition()}getDepth(){return this.path.length}toString(e,i=!0){let a=e||this.separator;if(a===this.separator&&i===!0){if(this._pathStringCache!==null)return this._pathStringCache;let l=this.path.map(u=>u.namespace?`${u.namespace}:${u.tag}`:u.tag).join(a);return this._pathStringCache=l,l}return this.path.map(l=>i&&l.namespace?`${l.namespace}:${l.tag}`:l.tag).join(a)}toArray(){return this.path.map(e=>e.tag)}reset(){this._pathStringCache=null,this.path=[],this.siblingStacks=[],this._keptAttrs=[]}matches(e){let i=e.segments;return i.length===0?!1:e.hasDeepWildcard()?this._matchWithDeepWildcard(i):this._matchSimple(i)}_matchSimple(e){if(this.path.length!==e.length)return!1;for(let i=0;i<e.length;i++)if(!this._matchSegment(e[i],this.path[i],i===this.path.length-1))return!1;return!0}_matchWithDeepWildcard(e){let i=this.path.length-1,a=e.length-1;for(;a>=0&&i>=0;){let A=e[a];if(A.type==="deep-wildcard"){if(a--,a<0)return!0;let l=e[a],u=!1;for(let p=i;p>=0;p--)if(this._matchSegment(l,this.path[p],p===this.path.length-1)){i=p-1,a--,u=!0;break}if(!u)return!1}else{if(!this._matchSegment(A,this.path[i],i===this.path.length-1))return!1;i--,a--}}return a<0}_matchSegment(e,i,a){if(e.tag!=="*"&&e.tag!==i.tag||e.namespace!==void 0&&e.namespace!=="*"&&e.namespace!==i.namespace||e.attrName!==void 0&&(!a||!i.values||!(e.attrName in i.values)||e.attrValue!==void 0&&String(i.values[e.attrName])!==String(e.attrValue)))return!1;if(e.position!==void 0){if(!a)return!1;let A=i.counter??0;if(e.position==="first"&&A!==0)return!1;if(e.position==="odd"&&A%2!==1)return!1;if(e.position==="even"&&A%2!==0)return!1;if(e.position==="nth"&&A!==e.positionValue)return!1}return!0}matchesAny(e){return e.matchesAny(this)}snapshot(){return{path:this.path.map(e=>({...e})),siblingStacks:this.siblingStacks.map(e=>e&&{counts:new Map(e.counts),total:e.total}),keptAttrs:this._keptAttrs.map(e=>({...e}))}}restore(e){this._pathStringCache=null,this.path=e.path.map(i=>({...i})),this.siblingStacks=e.siblingStacks.map(i=>i&&{counts:new Map(i.counts),total:i.total}),this._keptAttrs=(e.keptAttrs||[]).map(i=>({...i}))}readOnly(){return this._view}};var h2=[{id:"html-script-open",description:"<script opening tag",pattern:/<script[\s>/]/i},{id:"html-script-close",description:"</script closing tag",pattern:/<\/script[\s>]/i},{id:"html-javascript-protocol",description:"javascript: URI scheme (with optional whitespace/encoding)",pattern:/j[\t\n\r ]*a[\t\n\r ]*v[\t\n\r ]*a[\t\n\r ]*s[\t\n\r ]*c[\t\n\r ]*r[\t\n\r ]*i[\t\n\r ]*p[\t\n\r ]*t[\t\n\r ]*:/i},{id:"html-vbscript-protocol",description:"vbscript: URI scheme",pattern:/vbscript[\t\n\r ]*:/i},{id:"html-data-html",description:"data:text/html URI \u2014 can execute scripts in browsers",pattern:/data[\t\n\r ]*:[\t\n\r ]*text\/html/i},{id:"html-data-xhtml",description:"data:application/xhtml+xml URI",pattern:/data[\t\n\r ]*:[\t\n\r ]*application\/xhtml/i},{id:"html-data-svg",description:"data:image/svg+xml URI \u2014 can execute scripts",pattern:/data[\t\n\r ]*:[\t\n\r ]*image\/svg\+xml/i},{id:"html-inline-event-handler",description:"Inline event handler attributes: onclick=, onerror=, onload=, etc.",pattern:/\bon\w{1,30}\s*=/i},{id:"html-entity-obfuscated-script",description:"HTML-entity-encoded <script (e.g. <script or <script)",pattern:/(?:�*3[Cc];?|�*60;?|<)\s*script/i},{id:"html-entity-obfuscated-javascript",description:'HTML-entity-encoded javascript: (partial \u2014 catches common j or j for "j")',pattern:/(?:�*6[Aa];?|�*106;?)\s*(?:�*61;?|a)[\s\S]{0,80}script\s*:/i},{id:"html-style-expression",description:"CSS expression() \u2014 IE-era code execution in style attributes",pattern:/style[\s\S]{0,20}expression\s*\(/i},{id:"html-object-embed",description:"<object or <embed tags that can load active content",pattern:/<(?:object|embed)[\s>/]/i},{id:"html-base-tag",description:"<base href= \u2014 can hijack all relative URLs on a page",pattern:/<base[\s>]/i},{id:"html-meta-refresh",description:'<meta http-equiv="refresh" \u2014 can redirect users',pattern:/<meta[\s\S]{0,40}http-equiv[\s\S]{0,20}refresh/i},{id:"html-srcdoc",description:"srcdoc= attribute on iframes \u2014 embeds HTML that can run scripts",pattern:/srcdoc\s*=/i},{id:"html-iframe",description:"<iframe tag",pattern:/<iframe[\s>/]/i},{id:"html-form",description:"<form tag \u2014 can be used for phishing / credential harvesting injection",pattern:/<form[\s>/]/i}],en=h2;var p2=[{id:"xml-cdata-injection",description:"CDATA section injection: <![CDATA[ breaks out of text node context",pattern:/<!\[CDATA\[/i},{id:"xml-cdata-close",description:"CDATA close sequence: ]]> can terminate an enclosing CDATA section",pattern:/\]\]>/},{id:"xml-processing-instruction",description:"XML processing instruction: <?xml-stylesheet or <?php etc.",pattern:/<\?(?:xml[\- ]|php|asp)/i},{id:"xml-doctype-injection",description:"DOCTYPE declaration embedded in content \u2014 can define entities",pattern:/<!DOCTYPE(?:[\s[]|$)/i},{id:"xml-entity-system",description:"SYSTEM keyword \u2014 used in external entity declarations (XXE)",pattern:/\bSYSTEM\s+["']/i},{id:"xml-entity-public",description:"PUBLIC keyword \u2014 used in external entity declarations (XXE)",pattern:/\bPUBLIC\s+["']/i},{id:"xml-entity-declaration",description:"<!ENTITY declaration \u2014 defines entities, potential XXE or entity expansion",pattern:/<!ENTITY[\s%]/i},{id:"xml-billion-laughs",description:"Entity reference chaining / billion laughs: repeated &eX; style references",pattern:/(?:&\w{1,20};){3,}/},{id:"xml-namespace-confusion",description:"xmlns: attribute injection \u2014 can redefine namespaces to confuse parsers",pattern:/\bxmlns(?::\w{1,40})?\s*=/i},{id:"xml-comment-injection",description:"<!-- comment injection \u2014 can hide content from some parsers",pattern:/<!--/},{id:"xml-comment-close",description:"--> closes an enclosing XML comment",pattern:/-->/},{id:"xml-pi-close",description:"?> closes an enclosing processing instruction",pattern:/\?>/}],tn=p2;var f2=[{id:"svg-script-element",description:"<script element inside SVG executes JavaScript",pattern:/<script[\s>/]/i},{id:"svg-xlink-href-javascript",description:"xlink:href with javascript: \u2014 classic SVG XSS via <a> or <use>",pattern:/xlink\s*:\s*href\s*=\s*["']?\s*javascript\s*:/i},{id:"svg-href-javascript",description:"href= with javascript: in SVG context (<a>, <animate>, etc.)",pattern:/href\s*=\s*["']?\s*javascript\s*:/i},{id:"svg-foreignobject",description:"<foreignObject embeds HTML inside SVG \u2014 can execute scripts",pattern:/<foreignObject[\s>/]/i},{id:"svg-use-external",description:"<use xlink:href or href pointing to external resource (non-fragment URL)",pattern:/<use[\s\S]{0,60}(?:xlink\s*:\s*)?href\s*=\s*(?:["'][^#]|[^"'#\s>])/i},{id:"svg-animate-href",description:'<animate attributeName="href" \u2014 can dynamically change href to javascript:',pattern:/<animate[\s\S]{0,80}attributeName\s*=\s*["'][\s]*href["']/i},{id:"svg-animate-xlinkhref",description:'<animate attributeName="xlink:href"',pattern:/<animate[\s\S]{0,80}attributeName\s*=\s*["'][\s]*xlink\s*:\s*href["']/i},{id:"svg-set-javascript",description:'<set to="javascript:..." \u2014 sets an attribute to a javascript: URI',pattern:/<set[\s\S]{0,80}to\s*=\s*["']?\s*javascript\s*:/i},{id:"svg-event-handler",description:"SVG-specific event handler attributes: onload=, onerror=, onactivate=, etc.",pattern:/\bon(?:load|error|activate|begin|end|repeat|focus|blur|click|mouse\w{1,20}|key\w{1,20})\s*=/i},{id:"svg-handler-generic",description:"Generic on* handler catch-all for SVG attributes",pattern:/\bon\w{1,30}\s*=/i},{id:"svg-filter-feimage",description:"<feImage href= \u2014 filter primitive that can load external resources",pattern:/<feImage[\s\S]{0,80}(?:xlink\s*:\s*)?href\s*=/i},{id:"svg-image-external",description:"<image xlink:href with http/https or javascript protocol",pattern:/<image[\s\S]{0,80}(?:xlink\s*:\s*)?href\s*=\s*["']?\s*(?:https?|javascript)\s*:/i},{id:"svg-style-javascript",description:"style= attribute containing javascript: (e.g. background:url(javascript:...))",pattern:/style\s*=[\s\S]{0,60}javascript\s*:/i}],qA=f2;var d2=[{id:"sql-block-comment-open",description:"SQL block comment open: /* ... */ \u2014 unusual in legitimate user text",pattern:/\/\*/},{id:"sql-union-select",description:"UNION SELECT \u2014 most common SQL injection aggregation attack",pattern:/\bUNION\s{1,20}(?:ALL\s{1,20})?SELECT\b/i},{id:"sql-drop-table",description:"DROP TABLE \u2014 destructive DDL injection",pattern:/\bDROP\s{1,20}TABLE\b/i},{id:"sql-drop-database",description:"DROP DATABASE \u2014 destructive DDL injection",pattern:/\bDROP\s{1,20}DATABASE\b/i},{id:"sql-insert-into",description:"INSERT INTO \u2014 data injection",pattern:/\bINSERT\s{1,20}INTO\b/i},{id:"sql-delete-from",description:"DELETE FROM \u2014 data deletion injection",pattern:/\bDELETE\s{1,20}FROM\b/i},{id:"sql-update-set",description:"UPDATE ... SET \u2014 data modification injection",pattern:/\bUPDATE\b[\s\S]{1,60}\bSET\b/i},{id:"sql-exec-xp",description:"EXEC xp_ \u2014 MSSQL extended stored procedure execution",pattern:/\bEXEC(?:UTE)?\s{1,20}xp_/i},{id:"sql-tautology-string",description:`Classic string tautology: ' OR '1'='1 or " OR "1"="1"`,pattern:/'\s{0,10}OR\s{0,10}'[^']{0,20}'\s*=\s*'[^']{0,20}/i},{id:"sql-tautology-numeric",description:"Numeric tautology: OR 1=1",pattern:/\bOR\s{1,10}1\s*=\s*1\b/i},{id:"sql-always-true-zero",description:"Numeric tautology: OR 0=0",pattern:/\bOR\s{1,10}0\s*=\s*0\b/i},{id:"sql-sleep-benchmark",description:"Time-based blind injection: SLEEP() or BENCHMARK()",pattern:/\b(?:SLEEP|BENCHMARK)\s*\(/i},{id:"sql-waitfor-delay",description:"MSSQL time-based blind injection: WAITFOR DELAY",pattern:/\bWAITFOR\s{1,20}DELAY\b/i},{id:"sql-char-function",description:"CHAR() function \u2014 used to obfuscate injected strings",pattern:/\bCHAR\s*\(\s*\d{1,3}/i},{id:"sql-information-schema",description:"INFORMATION_SCHEMA \u2014 reconnaissance query for table/column enumeration",pattern:/\bINFORMATION_SCHEMA\b/i}],jn=d2;var g2=[{id:"shell-path-traversal-unix",description:"Unix path traversal: ../ \u2014 climbing the directory tree",pattern:/\.\.\//},{id:"shell-path-traversal-windows",description:"Windows path traversal: ..\\ \u2014 climbing the directory tree",pattern:/\.\.\\/},{id:"shell-path-traversal-encoded",description:"URL-encoded path traversal: %2e%2e or %2f variants",pattern:/%2e%2e|%2f\.\.|\.\.%2f/i},{id:"shell-null-byte",description:"Null byte injection: \\x00 or %00 \u2014 truncates strings in C-backed functions",pattern:/\x00|%00/},{id:"shell-semicolon",description:"Semicolon command separator: cmd1; cmd2",pattern:/;/},{id:"shell-pipe",description:"Pipe operator: cmd1 | cmd2",pattern:/\|/},{id:"shell-and-operator",description:"AND operator: cmd1 && cmd2",pattern:/&&/},{id:"shell-or-operator",description:"OR operator: cmd1 || cmd2",pattern:/\|\|/},{id:"shell-backtick",description:"Backtick command substitution: `cmd`",pattern:/`/},{id:"shell-dollar-paren",description:"Dollar-paren command substitution: $(cmd)",pattern:/\$\(/},{id:"shell-dollar-brace",description:"Dollar-brace variable expansion: ${var} \u2014 can be abused for injection",pattern:/\$\{/},{id:"shell-redirect-out",description:"Output redirection: cmd > file or cmd >> file",pattern:/>{1,2}/},{id:"shell-redirect-in",description:"Input redirection: cmd < file",pattern:/</},{id:"shell-newline-injection",description:"Newline injection: \\n or \\r \u2014 can inject new shell commands",pattern:/[\n\r]/},{id:"shell-glob-star",description:"Glob expansion: * or ? \u2014 can expand to unintended files",pattern:/[/\\][*?]/},{id:"shell-absolute-root",description:"Absolute root path injection: string starting with / or \\ (Windows UNC)",pattern:/^(?:\/|\\\\)/},{id:"shell-windows-drive",description:"Windows drive letter path injection: C:\\ or D:/",pattern:/^[a-zA-Z]:[/\\]/},{id:"shell-curl-wget",description:"curl/wget with URL or flags \u2014 can exfiltrate data or download payloads",pattern:/\b(?:curl|wget)\s+(?:https?:\/\/|ftp:\/\/|-)/i}],KA=g2;var m2=[{id:"redos-nested-quantifier-plus",description:"Nested + quantifier inside a group with outer quantifier: (a+)+, (.+b)*, etc.",pattern:/\([^)]*\+[^)]*\)[+*]/},{id:"redos-nested-quantifier-star",description:"Nested * quantifier: (a*)* or (a*)+ \u2014 catastrophic backtracking",pattern:/\([^)]*\*[^)]*\)[*+]/},{id:"redos-nested-groups",description:"Doubly nested quantified groups: ((a+)+) \u2014 guaranteed catastrophic",pattern:/\(\([^)]{0,40}\)[+*]\)[+*]/},{id:"redos-alternation-overlap",description:"Overlapping alternation under quantifier: (a|a)+ \u2014 ambiguous NFA paths",pattern:/\(([^|()]{1,20})\|(?:\1)(?:\|[^|()]{1,20}){0,5}\)[+*?]{1,2}/},{id:"redos-star-plus-concat",description:"(x*x)+ pattern \u2014 triggers super-linear backtracking",pattern:/\([^)]{0,10}\*[^)]{0,10}\)[+*]/},{id:"redos-dot-star-greedy",description:"(.*){n,} or (.+){n,} \u2014 repeated greedy dot quantifiers",pattern:/\(\.[*+]\)\{?\d/},{id:"redos-large-repetition",description:"Very large fixed or range repetition count {1000,} or {1000,n} \u2014 denial of service via backtracking",pattern:/\{\d{4,}(?:,\d*)?\}/},{id:"redos-catastrophic-alternation",description:"Long alternation with many similar branches \u2014 polynomial backtracking risk",pattern:/\([^)]{0,200}(?:\|[^|)]{0,50}){9,}\)/}],$A=m2;var _t=`["'\\s]*:`,B2=[{id:"nosql-where-operator",description:"$where \u2014 executes arbitrary JavaScript server-side in MongoDB",pattern:new RegExp(`\\$where${_t}`,"i")},{id:"nosql-ne-operator",description:'$ne \u2014 "not equal" operator used to bypass equality checks',pattern:new RegExp(`\\$ne${_t}`,"i")},{id:"nosql-gt-operator",description:'$gt \u2014 "greater than" used to bypass password/value checks',pattern:new RegExp(`\\$gte?${_t}`,"i")},{id:"nosql-lt-operator",description:'$lt / $lte \u2014 "less than" bypass variants',pattern:new RegExp(`\\$lte?${_t}`,"i")},{id:"nosql-regex-operator",description:"$regex \u2014 can be used to extract data character by character (blind injection)",pattern:new RegExp(`\\$regex${_t}`,"i")},{id:"nosql-or-operator",description:"$or \u2014 logical OR; used to create always-true conditions",pattern:new RegExp(`\\$or${_t}\\s*\\[`,"i")},{id:"nosql-and-operator",description:"$and \u2014 logical AND operator injection",pattern:new RegExp(`\\$and${_t}\\s*\\[`,"i")},{id:"nosql-nor-operator",description:"$nor \u2014 logical NOR operator injection",pattern:new RegExp(`\\$nor${_t}\\s*\\[`,"i")},{id:"nosql-exists-operator",description:"$exists \u2014 can enumerate fields to determine schema",pattern:new RegExp(`\\$exists${_t}`,"i")},{id:"nosql-in-operator",description:"$in \u2014 matches any value in a list; can enumerate values",pattern:new RegExp(`\\$in${_t}\\s*\\[`,"i")},{id:"nosql-expr-operator",description:"$expr \u2014 allows aggregation expressions in queries (MongoDB 3.6+)",pattern:new RegExp(`\\$expr${_t}`,"i")},{id:"nosql-function-operator",description:"$function \u2014 executes arbitrary JavaScript in MongoDB 4.4+",pattern:new RegExp(`\\$function${_t}`,"i")},{id:"nosql-accumulator-operator",description:"$accumulator \u2014 custom aggregation with arbitrary JS execution",pattern:new RegExp(`\\$accumulator${_t}`,"i")},{id:"nosql-proto-pollution",description:"__proto__ \u2014 prototype pollution via object key injection",pattern:/__proto__/},{id:"nosql-constructor-prototype",description:"constructor.prototype \u2014 alternative prototype pollution vector (dot notation or JSON key)",pattern:/constructor[\s"':.,{\[]*prototype/i},{id:"nosql-proto-bracket",description:'["__proto__"] \u2014 bracket-notation prototype pollution',pattern:/\[["']__proto__["']\]/}],el=B2;var E2=[{id:"log-crlf-injection",description:"CRLF injection: literal \\r or \\n embeds fake log lines",pattern:/[\r\n]/},{id:"log-url-encoded-crlf",description:"URL-encoded CRLF: %0d, %0a, %0D, %0A \u2014 decoded by some log parsers",pattern:/%0[dDaA]/},{id:"log-unicode-newline",description:"Unicode newline variants: U+2028 (line separator), U+2029 (paragraph separator)",pattern:/[\u2028\u2029]/},{id:"log-log4shell-jndi",description:"Log4Shell: ${jndi:...} triggers remote code execution in Apache Log4j",pattern:/\$\{jndi\s*:/i},{id:"log-log4shell-obfuscated",description:"Obfuscated Log4Shell: ${::-j}... lookup-bypass prefix used to evade WAF detection",pattern:/\$\{::-/},{id:"log-log4j-lookup",description:"Log4j lookup syntax: ${env:...}, ${sys:...}, ${ctx:...} \u2014 data exfiltration",pattern:/\$\{(?:env|sys|ctx|main|map|sd|web|docker|k8s|spring)\s*:/i},{id:"log-ssti-double-brace",description:"SSTI double-brace: {{expression}} \u2014 Jinja2, Twig, Handlebars, etc.",pattern:/\{\{[\s\S]{0,80}\}\}/},{id:"log-ssti-hash-brace",description:"SSTI hash-brace: #{expression} \u2014 Thymeleaf, Velocity, Ruby ERB",pattern:/#\{[\s\S]{0,80}\}/},{id:"log-ssti-dollar-brace",description:"SSTI/EL injection: ${expression with operators or method calls} \u2014 JSP EL, Freemarker, SpEL",pattern:/\$\{[^}]*(?:\.|\(|\*|\+|\bclass\b|\bruntime\b|\bprocess\b|\bexec\b)[^}]{0,80}\}/i},{id:"log-ssti-percent-tag",description:"SSTI ERB/ASP tag: <%= expression %> \u2014 Ruby ERB, ASP",pattern:/<%=[\s\S]{0,80}%>/},{id:"log-null-byte",description:"Null byte: \\x00 or %00 \u2014 can truncate log entries in C-backed loggers",pattern:/\x00|%00/},{id:"log-ansi-escape",description:"ANSI escape sequence: ESC[ \u2014 can manipulate terminal output when logs are tailed",pattern:/\x1b\[/}],tl=E2;var w2=[{id:"sql-line-comment",description:"SQL line comment: -- followed by whitespace or end of string",pattern:/--(?:\s|$)/},{id:"sql-stacked-query",description:"Stacked queries: semicolon immediately followed by a SQL keyword",pattern:/;\s{0,10}(?:SELECT|INSERT|UPDATE|DELETE|DROP|CREATE|ALTER|EXEC)\b/i},{id:"sql-hex-encoding",description:"Hex-encoded string injection: 0x41414141 style (MySQL)",pattern:/\b0x[0-9a-f]{4,}/i}],y2=[...jn,...w2],rl=y2;en.label="HTML";tn.label="XML";qA.label="SVG";jn.label="SQL";rl.label="SQL-STRICT";KA.label="SHELL";$A.label="REDOS";el.label="NOSQL";tl.label="LOG";var lN=Object.freeze({HTML:en,XML:tn,SVG:qA,SQL:jn,"SQL-STRICT":rl,SHELL:KA,REDOS:$A,NOSQL:el,LOG:tl});function C2(r){if(typeof r!="string")throw new TypeError(`is-unsafe: first argument must be a string, got ${typeof r}`)}function b2(r){if(!(r instanceof RegExp)){if(Array.isArray(r)){if(r.length===0)throw new TypeError("is-unsafe: context must not be an empty array");if(Array.isArray(r[0])){for(let e of r)if(!Array.isArray(e)||e.length===0)throw new TypeError("is-unsafe: each context in the array must be a non-empty pattern array (PatternList)")}return}throw new TypeError(`is-unsafe: second argument must be a PatternList (e.g. HTML), an array of PatternLists (e.g. [HTML, XML]), or a RegExp. Got: ${typeof r}`)}}function x2(r){return r instanceof RegExp?{lists:null,regex:r}:Array.isArray(r[0])?{lists:r,regex:null}:{lists:[r],regex:null}}function Q2(r,e){let i=e.label??"CUSTOM";for(let a of e)if(a.pattern.test(r))return{context:i,id:a.id,description:a.description,pattern:a.pattern};return null}function Fg(r,e){C2(r),b2(e);let{lists:i,regex:a}=x2(e);if(a)return a.test(r);for(let A of i)if(Q2(r,A)!==null)return!0;return!1}function v2(r,e){if(!r)return{};let i=e.attributesGroupName?r[e.attributesGroupName]:r;if(!i)return{};let a={};for(let A in i)if(A.startsWith(e.attributeNamePrefix)){let l=A.substring(e.attributeNamePrefix.length);a[l]=i[A]}else a[A]=i[A];return a}function I2(r){if(!r||typeof r!="string")return;let e=r.indexOf(":");if(e!==-1&&e>0){let i=r.substring(0,e);if(i!=="xmlns")return i}}var _n=class{constructor(e,i){this.options=e,this.currentNode=null,this.tagsNodeStack=[],this.parseXml=M2,this.parseTextData=F2,this.resolveNameSpace=T2,this.buildAttributesMap=D2,this.isItStopNode=O2,this.replaceEntitiesValue=N2,this.readStopNodeData=G2,this.saveTextToParentTag=k2,this.addChild=U2,this.ignoreAttributesFn=zA(this.options.ignoreAttributes),this.entityExpansionCount=0,this.currentExpandedLength=0,this.doctypefound=!1;let a={...Hn};this.options.entityDecoder?this.entityDecoder=this.options.entityDecoder:(typeof this.options.htmlEntities=="object"?a=this.options.htmlEntities:this.options.htmlEntities===!0&&(a={...WA,...HA}),this.entityDecoder=new Xi({namedEntities:{...a,...i},numericAllowed:this.options.htmlEntities,limit:{maxTotalExpansions:this.options.processEntities.maxTotalExpansions,maxExpandedLength:this.options.processEntities.maxExpandedLength,applyLimitsTo:this.options.processEntities.appliesTo},onInputEntity:(l,u)=>Fg(u,[en,tn])?zi.BLOCK:zi.ALLOW})),this.matcher=new $i,this.readonlyMatcher=this.matcher.readOnly(),this.isCurrentNodeStopNode=!1,this.stopNodeExpressionsSet=new Ki;let A=this.options.stopNodes;if(A&&A.length>0){for(let l=0;l<A.length;l++){let u=A[l];typeof u=="string"?this.stopNodeExpressionsSet.add(new Qi(u)):u instanceof Qi&&this.stopNodeExpressionsSet.add(u)}this.stopNodeExpressionsSet.seal()}}};function F2(r,e,i,a,A,l,u){let p=this.options;if(r!==void 0&&(p.trimValues&&!a&&(r=r.trim()),r.length>0)){u||(r=this.replaceEntitiesValue(r,e,i));let f=p.jPath?i.toString():i,g=p.tagValueProcessor(e,r,f,A,l);return g==null?r:typeof g!=typeof r||g!==r?g:p.trimValues||r.trim()===r?sl(r,p.parseTagValue,p.numberParseOptions):r}}function T2(r){if(this.options.removeNSPrefix){let e=r.split(":"),i=r.charAt(0)==="/"?"/":"";if(e[0]==="xmlns")return"";e.length===2&&(r=i+e[1])}return r}var S2=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function D2(r,e,i,a=!1){let A=this.options;if(a===!0||A.ignoreAttributes!==!0&&typeof r=="string"){let l=lg(r,S2),u=l.length,p={},f=new Array(u),g=!1,m={};for(let y=0;y<u;y++){let Q=this.resolveNameSpace(l[y][1]),v=l[y][4];if(Q.length&&v!==void 0){let I=v;A.trimValues&&(I=I.trim()),I=this.replaceEntitiesValue(I,i,this.readonlyMatcher),f[y]=I,m[Q]=I,g=!0}}g&&typeof e=="object"&&e.updateCurrent&&e.updateCurrent(m);let E=A.jPath?e.toString():this.readonlyMatcher,b=!1;for(let y=0;y<u;y++){let Q=this.resolveNameSpace(l[y][1]);if(this.ignoreAttributesFn(Q,E))continue;let v=A.attributeNamePrefix+Q;if(Q.length)if(A.transformAttributeName&&(v=A.transformAttributeName(v)),v=Tg(v,A),l[y][4]!==void 0){let I=f[y],F=A.attributeValueProcessor(Q,I,E);F==null?p[v]=I:typeof F!=typeof I||F!==I?p[v]=F:p[v]=sl(I,A.parseAttributeValue,A.numberParseOptions),b=!0}else A.allowBooleanAttributes&&(p[v]=!0,b=!0)}if(!b)return;if(A.attributesGroupName&&!A.preserveOrder){let y={};return y[A.attributesGroupName]=p,y}return p}}var M2=function(r){r=r.replace(/\r\n?/g,`
|
|
1165
|
+
`);let e=new Pt("!xml"),i=e,a="";this.matcher.reset(),this.entityDecoder.reset(),this.entityExpansionCount=0,this.currentExpandedLength=0,this.doctypefound=!1;let A=this.options,l=new Vn(A.processEntities),u=r.length;for(let p=0;p<u;p++)if(r[p]==="<"){let g=r.charCodeAt(p+1);if(g===47){let m=rn(r,">",p,"Closing Tag is not closed."),E=r.substring(p+2,m).trim();if(A.removeNSPrefix){let y=E.indexOf(":");y!==-1&&(E=E.substr(y+1))}E=il(A.transformTagName,E,"",A).tagName,i&&(a=this.saveTextToParentTag(a,i,this.readonlyMatcher));let b=this.matcher.getCurrentTag();if(E&&A.unpairedTagsSet.has(E))throw new Error(`Unpaired tag can not be used as closing tag: </${E}>`);b&&A.unpairedTagsSet.has(b)&&(this.matcher.pop(),this.tagsNodeStack.pop()),this.matcher.pop(),this.isCurrentNodeStopNode=!1,i=this.tagsNodeStack.pop()||e,A.captureMetaData&&i&&i.addEndIndex(m+1),a="",p=m}else if(g===63){let m=nl(r,p,!1,"?>");if(!m)throw new Error("Pi Tag is not closed.");a=this.saveTextToParentTag(a,i,this.readonlyMatcher);let E=this.buildAttributesMap(m.tagExp,this.matcher,m.tagName,!0);if(E){let b=E[this.options.attributeNamePrefix+"version"];this.entityDecoder.setXmlVersion(Number(b)||1),l.setXmlVersion(Number(b)||1)}if(!(A.ignoreDeclaration&&m.tagName==="?xml"||A.ignorePiTags)){let b=new Pt(m.tagName);b.add(A.textNodeName,""),m.tagName!==m.tagExp&&m.attrExpPresent&&A.ignoreAttributes!==!0&&(b[":@"]=E),this.addChild(i,b,this.readonlyMatcher,p),A.captureMetaData&&i.addEndIndex(m.closeIndex+2)}p=m.closeIndex+1}else if(g===33&&r.charCodeAt(p+2)===45&&r.charCodeAt(p+3)===45){let m=rn(r,"-->",p+4,"Comment is not closed.");if(A.commentPropName){let E=r.substring(p+4,m-2);a=this.saveTextToParentTag(a,i,this.readonlyMatcher),i.add(A.commentPropName,[{[A.textNodeName]:E}])}p=m}else if(g===33&&r.charCodeAt(p+2)===68){if(this.doctypefound)throw new Error("Multiple DOCTYPE declarations found.");this.doctypefound=!0;let m=l.readDocType(r,p);this.entityDecoder.addInputEntities(m.entities),p=m.i}else if(g===33&&r.charCodeAt(p+2)===91){let m=rn(r,"]]>",p,"CDATA is not closed.")-2,E=r.substring(p+9,m);a=this.saveTextToParentTag(a,i,this.readonlyMatcher);let b=this.parseTextData(E,i.tagname,this.readonlyMatcher,!0,!1,!0,!0);b==null&&(b=""),A.cdataPropName?i.add(A.cdataPropName,[{[A.textNodeName]:E}]):i.add(A.textNodeName,b),p=m+2}else{let m=nl(r,p,A.removeNSPrefix);if(!m){let P=r.substring(Math.max(0,p-50),Math.min(u,p+50));throw new Error(`readTagExp returned undefined at position ${p}. Context: "${P}"`)}let E=m.tagName,b=m.rawTagName,y=m.tagExp,Q=m.attrExpPresent,v=m.closeIndex;if({tagName:E,tagExp:y}=il(A.transformTagName,E,y,A),A.strictReservedNames&&(E===A.commentPropName||E===A.cdataPropName||E===A.textNodeName||E===A.attributesGroupName))throw new Error(`Invalid tag name: ${E}`);i&&a&&i.tagname!=="!xml"&&(a=this.saveTextToParentTag(a,i,this.readonlyMatcher,!1));let I=i;I&&A.unpairedTagsSet.has(I.tagname)&&(i=this.tagsNodeStack.pop(),this.matcher.pop());let F=!1;y.length>0&&y.lastIndexOf("/")===y.length-1&&(F=!0,E[E.length-1]==="/"?(E=E.substr(0,E.length-1),y=E):y=y.substr(0,y.length-1),Q=E!==y);let N=null,_={},M;M=I2(b),E!==e.tagname&&this.matcher.push(E,{},M),E!==y&&Q&&(N=this.buildAttributesMap(y,this.matcher,E),N&&(_=v2(N,A))),E!==e.tagname&&(this.isCurrentNodeStopNode=this.isItStopNode());let O=p;if(this.isCurrentNodeStopNode){let P="";if(F)p=m.closeIndex;else if(A.unpairedTagsSet.has(E))p=m.closeIndex;else{let re=this.readStopNodeData(r,b,v+1);if(!re)throw new Error(`Unexpected end of ${b}`);p=re.i,P=re.tagContent}let R=new Pt(E);N&&(R[":@"]=N),R.add(A.textNodeName,P),this.matcher.pop(),this.isCurrentNodeStopNode=!1,this.addChild(i,R,this.readonlyMatcher,O),A.captureMetaData&&i.addEndIndex(p+1)}else{if(F){({tagName:E,tagExp:y}=il(A.transformTagName,E,y,A));let P=new Pt(E);N&&(P[":@"]=N),this.addChild(i,P,this.readonlyMatcher,O),A.captureMetaData&&i.addEndIndex(v+1),this.matcher.pop(),this.isCurrentNodeStopNode=!1}else if(A.unpairedTagsSet.has(E)){let P=new Pt(E);N&&(P[":@"]=N),this.addChild(i,P,this.readonlyMatcher,O),A.captureMetaData&&i.addEndIndex(m.closeIndex+1),this.matcher.pop(),this.isCurrentNodeStopNode=!1,p=m.closeIndex;continue}else{let P=new Pt(E);if(this.tagsNodeStack.length>A.maxNestedTags)throw new Error("Maximum nested tags exceeded");this.tagsNodeStack.push(i),N&&(P[":@"]=N),this.addChild(i,P,this.readonlyMatcher,O),i=P}a="",p=v}}}else a+=r[p];return e.child};function U2(r,e,i,a){this.options.captureMetaData||(a=void 0);let A=this.options.jPath?i.toString():i,l=this.options.updateTag(e.tagname,A,e[":@"]);l===!1||(typeof l=="string"&&(e.tagname=l),r.addChild(e,a))}function N2(r,e,i){let a=this.options.processEntities;if(!a||!a.enabled)return r;if(a.allowedTags){let A=this.options.jPath?i.toString():i;if(!(Array.isArray(a.allowedTags)?a.allowedTags.includes(e):a.allowedTags(e,A)))return r}if(a.tagFilter){let A=this.options.jPath?i.toString():i;if(!a.tagFilter(e,A))return r}return this.entityDecoder.decode(r)}function k2(r,e,i,a){return r&&(a===void 0&&(a=e.child.length===0),r=this.parseTextData(r,e.tagname,i,!1,e[":@"]?Object.keys(e[":@"]).length!==0:!1,a),r!==void 0&&r!==""&&e.add(this.options.textNodeName,r),r=""),r}function O2(){return this.stopNodeExpressionsSet.size===0?!1:this.matcher.matchesAny(this.stopNodeExpressionsSet)}function Y2(r,e,i=">"){let a=0,A=r.length,l=i.charCodeAt(0),u=i.length>1?i.charCodeAt(1):-1,p="",f=e;for(let g=e;g<A;g++){let m=r.charCodeAt(g);if(a)m===a&&(a=0);else if(m===34||m===39)a=m;else if(m===l)if(u!==-1){if(r.charCodeAt(g+1)===u)return p+=r.substring(f,g),{data:p,index:g}}else return p+=r.substring(f,g),{data:p,index:g};else m===9&&!a&&(p+=r.substring(f,g)+" ",f=g+1)}}function rn(r,e,i,a){let A=r.indexOf(e,i);if(A===-1)throw new Error(a);return A+e.length-1}function R2(r,e,i,a){let A=r.indexOf(e,i);if(A===-1)throw new Error(a);return A}function nl(r,e,i,a=">"){let A=Y2(r,e+1,a);if(!A)return;let l=A.data,u=A.index,p=l.search(/\s/),f=l,g=!0;p!==-1&&(f=l.substring(0,p),l=l.substring(p+1).trimStart());let m=f;if(i){let E=f.indexOf(":");E!==-1&&(f=f.substr(E+1),g=f!==A.data.substr(E+1))}return{tagName:f,tagExp:l,closeIndex:u,attrExpPresent:g,rawTagName:m}}function G2(r,e,i){let a=i,A=1,l=r.length;for(;i<l;i++)if(r[i]==="<"){let u=r.charCodeAt(i+1);if(u===47){let p=R2(r,">",i,`${e} is not closed`);if(r.substring(i+2,p).trim()===e&&(A--,A===0))return{tagContent:r.substring(a,i),i:p};i=p}else if(u===63)i=rn(r,"?>",i+1,"StopNode is not closed.");else if(u===33&&r.charCodeAt(i+2)===45&&r.charCodeAt(i+3)===45)i=rn(r,"-->",i+3,"StopNode is not closed.");else if(u===33&&r.charCodeAt(i+2)===91)i=rn(r,"]]>",i,"StopNode is not closed.")-2;else{let p=nl(r,i,!1);p&&((p&&p.tagName)===e&&p.tagExp[p.tagExp.length-1]!=="/"&&A++,i=p.closeIndex)}}}function sl(r,e,i){if(e&&typeof r=="string"){let a=r.trim();return a==="true"?!0:a==="false"?!1:ZA(r,i)}else return cg(r)?r:""}function il(r,e,i,a){if(r){let A=r(e);i===e&&(i=A),e=A}return e=Tg(e,a),{tagName:e,tagExp:i}}function Tg(r,e){if(la.includes(r))throw new Error(`[SECURITY] Invalid name: "${r}" is a reserved JavaScript keyword that could cause prototype pollution`);return Ln.includes(r)?e.onDangerousProperty(r):r}var al=Pt.getMetaDataSymbol();function L2(r,e){if(!r||typeof r!="object")return{};if(!e)return r;let i={};for(let a in r)if(a.startsWith(e)){let A=a.substring(e.length);i[A]=r[a]}else i[a]=r[a];return i}function ol(r,e,i,a){return Sg(r,e,i,a)}function Sg(r,e,i,a){let A,l={};for(let u=0;u<r.length;u++){let p=r[u],f=P2(p);if(f!==void 0&&f!==e.textNodeName){let g=L2(p[":@"]||{},e.attributeNamePrefix);i.push(f,g)}if(f===e.textNodeName)A===void 0?A=p[f]:A+=""+p[f];else{if(f===void 0)continue;if(p[f]){let g=Sg(p[f],e,i,a),m=W2(g,e);if(Object.keys(g).length===0&&e.alwaysCreateTextNode&&(g[e.textNodeName]=""),p[":@"]?H2(g,p[":@"],a,e):Object.keys(g).length===1&&g[e.textNodeName]!==void 0&&!e.alwaysCreateTextNode?g=g[e.textNodeName]:Object.keys(g).length===0&&(e.alwaysCreateTextNode?g[e.textNodeName]="":g=""),p[al]!==void 0&&typeof g=="object"&&g!==null&&(g[al]=p[al]),l[f]!==void 0&&Object.prototype.hasOwnProperty.call(l,f))Array.isArray(l[f])||(l[f]=[l[f]]),l[f].push(g);else{let E=e.jPath?a.toString():a;e.isArray(f,E,m)?l[f]=[g]:l[f]=g}f!==void 0&&f!==e.textNodeName&&i.pop()}}}return typeof A=="string"?A.length>0&&(l[e.textNodeName]=A):A!==void 0&&(l[e.textNodeName]=A),l}function P2(r){let e=Object.keys(r);for(let i=0;i<e.length;i++){let a=e[i];if(a!==":@")return a}}function H2(r,e,i,a){if(e){let A=Object.keys(e),l=A.length;for(let u=0;u<l;u++){let p=A[u],f=p.startsWith(a.attributeNamePrefix)?p.substring(a.attributeNamePrefix.length):p,g=a.jPath?i.toString()+"."+f:i;a.isArray(p,g,!0,!0)?r[p]=[e[p]]:r[p]=e[p]}}}function W2(r,e){let{textNodeName:i}=e,a=Object.keys(r).length;return!!(a===0||a===1&&(r[i]||typeof r[i]=="boolean"||r[i]===0))}var nn=class{constructor(e){this.externalEntities={},this.options=Bg(e)}parse(e,i){if(typeof e!="string"&&e.toString)e instanceof Uint8Array&&!(typeof Buffer<"u"&&Buffer.isBuffer(e))?e=new TextDecoder("utf-8",{ignoreBOM:!0}).decode(e):e=e.toString();else if(typeof e!="string")throw new Error("XML data is accepted in String or Bytes[] form.");if(i){i===!0&&(i={});let l=fg(e,i);if(l!==!0)throw Error(`${l.err.msg}:${l.err.line}:${l.err.col}`)}let a=new _n(this.options,this.externalEntities),A=a.parseXml(e);return this.options.preserveOrder||A===void 0?A:ol(A,this.options,a.matcher,a.readonlyMatcher)}addEntity(e,i){if(i.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(e.indexOf("&")!==-1||e.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '
'");if(i==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[e]=i}static getMetaDataSymbol(){return Pt.getMetaDataSymbol()}};import*as Jr from"node:path";import{mkdir as T0,writeFile as uT}from"node:fs/promises";import{cwd as hT,env as pT,exit as fT}from"node:process";function Dg(r,e,i){let a=r.indexOf(e);if(a===-1)return r;let A=e.length,l=0,u="";do u+=r.slice(l,a)+e+i,l=a+A,a=r.indexOf(e,l);while(a!==-1);return u+=r.slice(l),u}function Mg(r,e,i,a){let A=0,l="";do{let u=r[a-1]==="\r";l+=r.slice(A,u?a-1:a)+e+(u?`\r
|
|
1166
1166
|
`:`
|
|
1167
1167
|
`)+i,A=a+1,a=r.indexOf(`
|
|
1168
|
-
`,A)}while(a!==-1);return l+=r.slice(A),l}var Ug=(r=0)=>e=>`\x1B[${e+r}m`,Al=(r=0)=>e=>`\x1B[${38+r};5;${e}m`,ll=(r=0)=>(e,i,a)=>`\x1B[${38+r};2;${e};${i};${a}m`,J2=r=>`\x1B[58;5;${r<90?r-30:r-90+8}m`,rt={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],underlineDouble:["4:2",24],underlineCurly:["4:3",24],underlineDotted:["4:4",24],underlineDashed:["4:5",24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]},underlineColor:{underlineBlack:["58;5;0",59],underlineRed:["58;5;1",59],underlineGreen:["58;5;2",59],underlineYellow:["58;5;3",59],underlineBlue:["58;5;4",59],underlineMagenta:["58;5;5",59],underlineCyan:["58;5;6",59],underlineWhite:["58;5;7",59],underlineBlackBright:["58;5;8",59],underlineGray:["58;5;8",59],underlineGrey:["58;5;8",59],underlineRedBright:["58;5;9",59],underlineGreenBright:["58;5;10",59],underlineYellowBright:["58;5;11",59],underlineBlueBright:["58;5;12",59],underlineMagentaBright:["58;5;13",59],underlineCyanBright:["58;5;14",59],underlineWhiteBright:["58;5;15",59]}},
|
|
1169
|
-
`);return l!==-1&&(e=Mg(e,A,a,l)),a+e+A};Object.defineProperties(qn.prototype,{...Xn,level:eI});var aI=qn(),JN=qn({level:Gg?Gg.level:0});var Ba=aI;import{readdir as oI,stat as _N}from"node:fs/promises";async function Hg(r){return(await oI(r)).length===0}var Wg="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BxAAVAZgAH8GYwBzBCoAXAcDAJgFBwCABYwAjAVwAHUF5f21BTMAYQhRAFsFygA/BRX//QWMAFwDAwCuBGYAawMDALIEpgCyBQT/3QRzAHAEGAAxBL8AiAQcAF8EswBaBGIAWQQRAFUEP//dBJ8AkQI+ALUDOv+nBFIAogIxAKwGNwBwBDAAggQ1AFIERwB6BCkAQgPYAIID5QAmA8UAPwQpAGgD5AAiBXkAPgS5ACcEKv/YBE4AegLuAAADXwFiAu4ABgTIAFQCZAAAAecAYAT8AH0GWQAnBOUAOQUWAHADPAFOBRQAcgRzAN4GXQBjBDcAgwSfABQD2AAwA1UAcAZdAGMFBP/dA0YARAPYAEcFNQFVBTUBmgRzAMEEKQAABY0AQAH+AI8EcwFoBTUBdwQ1AC8En//7BTUAoAU1AKAFNQCgBDEATgXaAGgF2gBoBdoAaAXaAGgF2gBoBdoAaAiyAAkE0gBMBP8AogT/AKIE/wCiBP8AogRfAEMEXwBDBF8AQwRfAEMFxv/RBmAAfwZjAHMGYwBzBmMAcwZjAHMGYwBzA9gAMQZjACkF5f21BeX9tQXl/bUF5f21BRX//QQqAGADjAAuBBgAMQQYADEEGAAxBBgAMQQYADEEGAAxB0sAPwQcAF8EYgBZBGIAWQRiAFkEYgBZAj7/6AI+AGcCPv+CAj7/wAQSAFYEMAB4BDUAUgQ1AFIENQBSBDUAUgQ1AFID2AAyBDUAFgQpAGgEKQBoBCkAaAQpAGgEKv/YBEcAkgQq/9gF2gBoBBgAMQXaAGgEGAAxBdoAaAQYADEE0gBMBBwAXwTSAEwEHABfBNIATAQcAF8E0gBMBBwAXwXGALUGogBaBcb/0QTSAFoE/wCiBGIAWQT/AKIEYgBZBP8AogRiAFkE/wCiBGIAWQT/AKIEYgBZBXAATAQ//90FcABMBD//3QVwAEwEP//dBXAATAQ//90GJQCcBJ8AkQYl/9wEn//+BF8AQwI+/1wEXwBDAj7/2wRfAEMCPv9kBF8AQwI+/9QEXwBDAj4AtQkDAEMEPgCkBVIARQM6/7kE4wDSBFIAogRSAIAEaABmAjEArARoAGYCMQBjBGgAZgO3AKwEaABmAykArARo/14B0f+GBmAAfwQwAIIGYAB/BDAAggZgAH8EMACCBPgATgZgAH8EMACCBmMAcwQ1AFIGYwBzBDUAUgZjAHMENQBSCY0AgwctAFIFBwCAA9gAggUHAIAD2AA/BQcAgAPYAIIFjACMA+UAJgWMAIwD5QAmBYwAjAPlACYFjACMA+UAJgVwAHUDxQA/BXAAdQUdAD8FcAAkA8UAPwXl/bUEKQBNBeX9tQQpAGgF5f21BCkAVQXl/bUEKQBoBeX9tQQpAGgF5f21BCkAaAhRAFsFeQA+BRX//QQq/9gFFf/9BYwAXAROAHoFjABcBE4AegWMAFwETgB6BBEBPgNq/4cF2gBnBBgAPwiyAAkHSwA/BmMAKQQ1ABYFjACMA+UAJgVwAHUDxQA/Azr/uQSmALIEcwDzBHMBGARzAKoEcwE3BHMA+gRzAQcEcwCkBHMAtARzAdIEcwB8BdoAaAH+AI4GUACPB90AwwYNAEkHAwBkBs0AMQeuAEUCPv9nBdoAaAULAMEE7gC4BlsAQwT/AKIFjABcBiUAnAZjAHMEXwBDBOMA0gWE//MHEABUBmAAfwXDAFwGYwBzB0QAaQQqAFwF+gCGBXAAdQUV//0FGwBeBcoAPwVkACUHrgA/BF8AQwUV//0EQwAxA+8AlAQwAIICPgC0BCkATgRDADEEsQBtA+QAIgQ1AFID7wCUBBwAAAQwAIIE4gBBAj4AtQRSAHoD5AAnBCkAbwPkACIEHP/1BDUAUgUGABAENQAfBBwAAgQ1AFIDxQBCBCkATgTsAFUEuQAnBK8AKwYVACwCPv/ABCkATgQ1AFIEKQBOBhUALAT/AKIGzQAqBO4AuATSAE0FjACMBF8AQwRfAEMFUgBFCAAAEgfRACwGxgAqBREAqAUV//oF1gBwBdoAaATWALAFCwDBBO4AuAYlAF4E/wCiBuD/+gTPADwF+wCEBfsAhAURAKgF6QAKBxAAVAYlAJwGYwBzB0QAaQQqAFwE0gBMBXAAdQUV//oFGwBeBcoAPwYwAHAE8ABwB0AAcAeoAHAGFAAmCJoAsATWALAFPABzCQsAnAUHAEYEGAAxBDUAOwQIAIADwwCGBL4AIgRiAFkFdgAiA4QAPgUYAGIFGABiA/AAlAUtAAoF4AASBHoATwS7AFIFLQDaBEcAegQcAF8DxQA/BCr/2AZ7AEgEuQAnBPMArwRFAEwGLQB0BlgAdAT4ABQGUwCHA+8AhwQbAF4HOABLBAv/8ARiAFkEe/+4A8MAhgQbAE8D5QAmAj4AtQI+/8ADOv+nBx4ADAYxAFsEn/+4A/AAlAQq/9gE8wCKBO4AuAPDAIYIUQBbBXkAPghRAFsFeQA+CFEAWwV5AD4FFf/9BCr/2AOIAC0HEABEBxAARAUE/90BcQA2AXEANgJkADYDJgBPAyYAfwNLADYExgA3BMYAOwMZALoFZwCqCe4AnQFxACQCpgAkAw0AFAMNAFUDmQBsBOL/ZAZ9//kENwDOB+oAqgZZAGwJgwBcBOL/2AaQAFID6f/yCUIAfwlQACYHEABOB64APwRlADsFNQCgBTUAoAU1AKAFNQCgBBIAcQZbAEMHRABpBfoAhgPYADIE3AAMBrIAjwWZADgE9QB0BBUAWgMNABQDDQAhBav/6QWrAoIFqwJ+Bav/6wWrAn4Fq//oBeABbAUkAYIFJAFyBccAOAUkAXoFJAFlBAAAHAVFAEwFPwBMBAAAgANVAHAB/gCNAxsBEAMbAU0DGwFNAj4AtQU1APYCZABKBTUBcAABAAACTwDEAAcAcgAFAAIAHgBFAI0AAACKDgwABAABAAAAJgHOAAMAAQQDAAIADAAAAAMAAQQFAAIAEAAMAAMAAQQGAAIADAAcAAMAAQQHAAIAEAAoAAMAAQQIAAIAEAA4AAMAAQQJAAAA1ABIAAMAAQQJAAEAGAEcAAMAAQQJAAIADgE0AAMAAQQJAAMAOAFCAAMAAQQJAAQAKAF6AAMAAQQJAAUAcAGiAAMAAQQJAAYAJgISAAMAAQQJAAgAEgI4AAMAAQQJAAkAFAJKAAMAAQQJAAoBOAJeAAMAAQQJAAsAUgOWAAMAAQQJAAwAUgOWAAMAAQQJAA0BIgPoAAMAAQQJAA4ANgUKAAMAAQQKAAIADAAAAAMAAQQLAAIAEAVAAAMAAQQMAAIADAAAAAMAAQQOAAIADAVQAAMAAQQQAAIADgVcAAMAAQQTAAIAEgVqAAMAAQQUAAIADAAAAAMAAQQVAAIAEAV8AAMAAQQWAAIADAAAAAMAAQQZAAIADgWMAAMAAQQbAAIAEAWaAAMAAQQdAAIADAAAAAMAAQQfAAIADAAAAAMAAQQkAAIADgWqAAMAAQQtAAIADgW4AAMAAQgKAAIADAAAAAMAAQgWAAIADAAAAAMAAQwKAAIADAAAAAMAAQwMAAIADAAAAE4AbwByAG0AYQBsAG8AYgB5AQ0AZQBqAG4A6QBuAG8AcgBtAGEAbABTAHQAYQBuAGQAYQByAGQDmgOxA70DvwO9A7kDugOsAEMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEAMwAgAEoAZQBmAGYAIABEAGEAdgBpAHMAIAAoAGgAdAB0AHAAcwA6AC8ALwBnAGkAdABoAHUAYgAuAGMAbwBtAC8AbABvAHUAZABpAGYAaQBlAHIALwBDAG8AbQBpAGMALQBSAGUAbABpAGUAZgApACAAdwBpAHQAaAAgAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlACAAQwBvAG0AaQBjACAAUgBlAGwAaQBlAGYAQwBvAG0AaQBjACAAUgBlAGwAaQBlAGYAUgBlAGcAdQBsAGEAcgAxAC4AMQA7AEwATwBVAEQAOwBDAG8AbQBpAGMAUgBlAGwAaQBlAGYALQBSAGUAZwB1AGwAYQByAEMAbwBtAGkAYwAgAFIAZQBsAGkAZQBmACAAUgBlAGcAdQBsAGEAcgBWAGUAcgBzAGkAbwBuACAAMQAuADEAOwAgAHQAdABmAGEAdQB0AG8AaABpAG4AdAAgACgAdgAxAC4AOAAuADQALgA3AC0ANQBkADUAYgApADsAZwBmAHQAbwBvAGwAcwBbADAALgA5AC4AMwAyAF0AQwBvAG0AaQBjAFIAZQBsAGkAZQBmAC0AUgBlAGcAdQBsAGEAcgBMAG8AdQBkAGkAZgBpAGUAcgBKAGUAZgBmACAARABhAHYAaQBzAEMAbwBtAGkAYwAgAFIAZQBsAGkAZQBmACAAaQBzACAAYQAgAHQAeQBwAGUAZgBhAGMAZQAgAGQAZQBzAGkAZwBuAGUAZAAgAHQAbwAgAGIAZQAgAG0AZQB0AHIAaQBjAGEAbABsAHkAIABlAHEAdQBpAHYAYQBsAGUAbgB0ACAAdABvACAAdABoAGUAIABwAG8AcAB1AGwAYQByACAAQwBvAG0AaQBjACAAUwBhAG4AcwAgAE0AUwAuACAARwBvACAAdABvACAAaAB0AHQAcABzADoALwAvAGcAaQB0AGgAdQBiAC4AYwBvAG0ALwBsAG8AdQBkAGkAZgBpAGUAcgAvAEMAbwBtAGkAYwAtAFIAZQBsAGkAZQBmACAAZgBvAHIAIABtAG8AcgBlACAAaQBuAGYAbwAuAGgAdAB0AHAAcwA6AC8ALwBnAGkAdABoAHUAYgAuAGMAbwBtAC8AbABvAHUAZABpAGYAaQBlAHIALwBDAG8AbQBpAGMALQBSAGUAbABpAGUAZgBUAGgAaQBzACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAGkAcwAgAGwAaQBjAGUAbgBzAGUAZAAgAHUAbgBkAGUAcgAgAHQAaABlACAAUwBJAEwAIABPAHAAZQBuACAARgBvAG4AdAAgAEwAaQBjAGUAbgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAxAC4AMQAuACAAVABoAGkAcwAgAGwAaQBjAGUAbgBzAGUAIABpAHMAIABhAHYAYQBpAGwAYQBiAGwAZQAgAHcAaQB0AGgAIABhACAARgBBAFEAIABhAHQAOgAgAGgAdAB0AHAAcwA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAGgAdAB0AHAAcwA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAE4AbwByAG0AYQBhAGwAaQBOAG8AcgBtAOEAbABOAG8AcgBtAGEAbABlAFMAdABhAG4AZABhAGEAcgBkAE4AbwByAG0AYQBsAG4AeQQeBDEESwRHBD0ESwQ5AE4AbwByAG0A4QBsAG4AZQBOAGEAdgBhAGQAbgBvAEEAcgByAHUAbgB0AGEAAgAAAAAAAP+fAK8AAAAAAAAAAAAAAAAAAAAAAAAAAAJPAAABAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEArACjAIQAhQC9AJYA6ACGAI4AiwCdAKkApAEDAIoBBACDAJMA8gDzAI0BBQCIAMMA3gDxAJ4AqgD1APQA9gCiAK0AyQDHAK4AYgBjAJAAZADLAGUAyADKAM8AzADNAM4A6QBmANMA0ADRAK8AZwDwAJEA1gDUANUAaADrAO0AiQBqAGkAawBtAGwAbgCgAG8AcQBwAHIAcwB1AHQAdgB3AOoAeAB6AHkAewB9AHwAuAChAH8AfgCAAIEA7ADuALoBBgEHAQgBCQEKAQsA/QD+AQwBDQEOAQ8A/wEAARABEQESAQEBEwEUARUBFgEXARgBGQEaARsBHAEdAR4A+AD5AR8BIAEhASIBIwEkASUBJgEnASgBKQEqASsBLAEtAS4A+gDXAS8BMAExATIBMwE0ATUBNgE3ATgBOQE6ATsBPAE9AOIA4wE+AT8BQAFBAUIBQwFEAUUBRgFHAUgBSQFKAUsBTACwALEBTQFOAU8BUAFRAVIBUwFUAVUBVgD7APwA5ADlAVcBWAFZAVoBWwFcAV0BXgFfAWABYQFiAWMBZAFlAWYBZwFoAWkBagFrAWwAuwFtAW4BbwFwAOYA5wFxAKYBcgFzAXQBdQF2AXcBeAF5AXoBewF8ANgA4QDaANsA3ADdAOAA2QDfAX0BfgF/AYABgQGCAYMBhAGFAYYBhwGIAYkBigGLAYwBjQGOAY8BkAGRAZIBkwGUAZUBlgGXAZgBmQGaAZsBnAGdAZ4AnwGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsACXAbEBsgGzAJsBtAG1AbYBtwG4AbkBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgHHAcgByQHKAcsBzAHNAc4BzwHQAdEB0gHTAdQB1QHWAdcB2AHZAdoB2wHcAd0B3gHfAeAB4QHiAeMB5AHlAeYB5wHoAekB6gHrAewB7QHuAe8B8AHxAfIB8wH0AfUB9gH3AfgB+QH6AfsB/AH9Af4B/wIAAgECAgIDAgQCBQIGAgcCCAIJAgoCCwIMAg0CDgIPAhACEQISAhMCFAIVAhYCFwIYAhkCGgIbAhwCHQIeAh8CIAIhAiICIwIkAiUCJgInALIAswIoAikAtgC3AMQAtAC1AMUAggDCAIcAqwDGAioCKwC+AL8CLAItALwCLgD3Ai8CMAIxAjICMwI0AjUAjAI2AjcCOAI5AjoCOwCYAKgAmgCZAO8ApQCSAJwApwCPAJQAlQI8Aj0CPgI/AkACQQJCAkMCRAC5AkUCRgJHAMAAwQJIAkkCSgJLAkwCTQJOAk8CUAJRBmdseXBoMgtoeXBoZW5taW51cwlvdmVyc2NvcmUDbXUxB0FtYWNyb24HYW1hY3JvbgZBYnJldmUGYWJyZXZlB0FvZ29uZWsHYW9nb25lawtDY2lyY3VtZmxleAtjY2lyY3VtZmxleARDZG90BGNkb3QGRGNhcm9uBmRjYXJvbgZEc2xhc2gHRW1hY3JvbgdlbWFjcm9uBkVicmV2ZQZlYnJldmUERWRvdARlZG90B0VvZ29uZWsHZW9nb25lawZFY2Fyb24GZWNhcm9uC0djaXJjdW1mbGV4C2djaXJjdW1mbGV4BEdkb3QEZ2RvdAhHY2VkaWxsYQhnY2VkaWxsYQtIY2lyY3VtZmxleAtoY2lyY3VtZmxleARIYmFyBGhiYXIGSXRpbGRlBml0aWxkZQdJbWFjcm9uB2ltYWNyb24GSWJyZXZlBmlicmV2ZQdJb2dvbmVrB2lvZ29uZWsCSUoCaWoLSmNpcmN1bWZsZXgLamNpcmN1bWZsZXgIS2NlZGlsbGEIa2NlZGlsbGEMa2dyZWVubGFuZGljBkxhY3V0ZQZsYWN1dGUITGNlZGlsbGEIbGNlZGlsbGEGTGNhcm9uBmxjYXJvbgRMZG90BGxkb3QGTmFjdXRlBm5hY3V0ZQhOY2VkaWxsYQhuY2VkaWxsYQZOY2Fyb24GbmNhcm9uC25hcG9zdHJvcGhlA0VuZwNlbmcHT21hY3JvbgdvbWFjcm9uBk9icmV2ZQZvYnJldmUJT2RibGFjdXRlCW9kYmxhY3V0ZQZSYWN1dGUGcmFjdXRlCFJjZWRpbGxhCHJjZWRpbGxhBlJjYXJvbgZyY2Fyb24GU2FjdXRlBnNhY3V0ZQtTY2lyY3VtZmxleAtzY2lyY3VtZmxleAhUY2VkaWxsYQh0Y2VkaWxsYQZUY2Fyb24GdGNhcm9uBFRiYXIEdGJhcgZVdGlsZGUGdXRpbGRlB1VtYWNyb24HdW1hY3JvbgZVYnJldmUGdWJyZXZlBVVyaW5nBXVyaW5nCVVkYmxhY3V0ZQl1ZGJsYWN1dGUHVW9nb25lawd1b2dvbmVrC1djaXJjdW1mbGV4C3djaXJjdW1mbGV4C1ljaXJjdW1mbGV4C3ljaXJjdW1mbGV4BlphY3V0ZQZ6YWN1dGUEWmRvdAR6ZG90BWxvbmdzCkFyaW5nYWN1dGUKYXJpbmdhY3V0ZQdBRWFjdXRlB2FlYWN1dGULT3NsYXNoYWN1dGULb3NsYXNoYWN1dGUMU2NvbW1hYWNjZW50DHNjb21tYWFjY2VudAxUY29tbWFhY2NlbnQMdGNvbW1hYWNjZW50B3VuaTAyMzcFdG9ub3MNZGllcmVzaXN0b25vcwpBbHBoYXRvbm9zCWFub3RlbGVpYQxFcHNpbG9udG9ub3MIRXRhdG9ub3MJSW90YXRvbm9zDE9taWNyb250b25vcwxVcHNpbG9udG9ub3MKT21lZ2F0b25vcxFpb3RhZGllcmVzaXN0b25vcwVBbHBoYQRCZXRhBUdhbW1hB3VuaTAzOTQHRXBzaWxvbgRaZXRhA0V0YQVUaGV0YQRJb3RhBUthcHBhBkxhbWJkYQJNdQJOdQJYaQdPbWljcm9uAlBpA1JobwVTaWdtYQNUYXUHVXBzaWxvbgNQaGkDQ2hpA1BzaQxJb3RhZGllcmVzaXMPVXBzaWxvbmRpZXJlc2lzCmFscGhhdG9ub3MMZXBzaWxvbnRvbm9zCGV0YXRvbm9zCWlvdGF0b25vcxR1cHNpbG9uZGllcmVzaXN0b25vcwVhbHBoYQRiZXRhBWdhbW1hBWRlbHRhB2Vwc2lsb24EemV0YQNldGEFdGhldGEEaW90YQVrYXBwYQZsYW1iZGECbnUCeGkHb21pY3JvbgNyaG8Gc2lnbWExBXNpZ21hA3RhdQd1cHNpbG9uA3BoaQNjaGkDcHNpBW9tZWdhDGlvdGFkaWVyZXNpcw91cHNpbG9uZGllcmVzaXMMb21pY3JvbnRvbm9zDHVwc2lsb250b25vcwpvbWVnYXRvbm9zCWFmaWkxMDAyMwlhZmlpMTAwNTEJYWZpaTEwMDUyCWFmaWkxMDA1MwlhZmlpMTAwNTQJYWZpaTEwMDU1CWFmaWkxMDA1NglhZmlpMTAwNTcJYWZpaTEwMDU4CWFmaWkxMDA1OQlhZmlpMTAwNjAJYWZpaTEwMDYxCWFmaWkxMDA2MglhZmlpMTAxNDUJYWZpaTEwMDE3CWFmaWkxMDAxOAlhZmlpMTAwMTkJYWZpaTEwMDIwCWFmaWkxMDAyMQlhZmlpMTAwMjIJYWZpaTEwMDI0CWFmaWkxMDAyNQlhZmlpMTAwMjYJYWZpaTEwMDI3CWFmaWkxMDAyOAlhZmlpMTAwMjkJYWZpaTEwMDMwCWFmaWkxMDAzMQlhZmlpMTAwMzIJYWZpaTEwMDMzCWFmaWkxMDAzNAlhZmlpMTAwMzUJYWZpaTEwMDM2CWFmaWkxMDAzNwlhZmlpMTAwMzgJYWZpaTEwMDM5CWFmaWkxMDA0MAlhZmlpMTAwNDEJYWZpaTEwMDQyCWFmaWkxMDA0MwlhZmlpMTAwNDQJYWZpaTEwMDQ1CWFmaWkxMDA0NglhZmlpMTAwNDcJYWZpaTEwMDQ4CWFmaWkxMDA0OQlhZmlpMTAwNjUJYWZpaTEwMDY2CWFmaWkxMDA2NwlhZmlpMTAwNjgJYWZpaTEwMDY5CWFmaWkxMDA3MAlhZmlpMTAwNzIJYWZpaTEwMDczCWFmaWkxMDA3NAlhZmlpMTAwNzUJYWZpaTEwMDc2CWFmaWkxMDA3NwlhZmlpMTAwNzgJYWZpaTEwMDc5CWFmaWkxMDA4MAlhZmlpMTAwODEJYWZpaTEwMDgyCWFmaWkxMDA4MwlhZmlpMTAwODQJYWZpaTEwMDg1CWFmaWkxMDA4NglhZmlpMTAwODcJYWZpaTEwMDg4CWFmaWkxMDA4OQlhZmlpMTAwOTAJYWZpaTEwMDkxCWFmaWkxMDA5MglhZmlpMTAwOTMJYWZpaTEwMDk0CWFmaWkxMDA5NQlhZmlpMTAwOTYJYWZpaTEwMDk3CWFmaWkxMDA3MQlhZmlpMTAwOTkJYWZpaTEwMTAwCWFmaWkxMDEwMQlhZmlpMTAxMDIJYWZpaTEwMTAzCWFmaWkxMDEwNAlhZmlpMTAxMDUJYWZpaTEwMTA2CWFmaWkxMDEwNwlhZmlpMTAxMDgJYWZpaTEwMTA5CWFmaWkxMDExMAlhZmlpMTAxOTMJYWZpaTEwMDUwCWFmaWkxMDA5OAZXZ3JhdmUGd2dyYXZlBldhY3V0ZQZ3YWN1dGUJV2RpZXJlc2lzCXdkaWVyZXNpcwZZZ3JhdmUGeWdyYXZlCWFmaWkwMDIwOA11bmRlcnNjb3JlZGJsBm1pbnV0ZQZzZWNvbmQJZXhjbGFtZGJsCXJhZGljYWxleAluc3VwZXJpb3IJYWZpaTA4OTQxBnBlc2V0YQRFdXJvCWFmaWk2MTI0OAlhZmlpNjEyODkJYWZpaTYxMzUyB3VuaTIxMjADT2htCWVzdGltYXRlZAlvbmVlaWdodGgMdGhyZWVlaWdodGhzC2ZpdmVlaWdodGhzDHNldmVuZWlnaHRocwd1bmkyNTAwB3VuaTI1MDIHdW5pMjUwQwd1bmkyNTEwB3VuaTI1MTQHdW5pMjUxOAZIMjIwNzMGSDE4NTQzBkgxODU1MQZIMTg1MzMKb3BlbmJ1bGxldAd1bmkyNjZBBmdseXBoMAlzZnRoeXBoZW4GbWlkZG90BXVGMDAzBXVGMDA0BXVGMDA1DGRvdHRlZGlhY3V0ZQpOYW1lTWUuNTkxCk5hbWVNZS4zMzkKTmFtZU1lLjU1OQBLuADIUlixAQGOWbABuQgACABjcLEAB0K1AD4uHgQAKrEAB0JACkMEMwgjCBUHBAoqsQAHQkAKRwI7BisGHAUECiqxAAtCvREADQAJAAWAAAQACyqxAA9CvQBAAEAAQABAAAQACyq5AAMAAESxJAGIUViwQIhYuQADAGREsSgBiFFYuAgAiFi5AAMAAERZG7EnAYhRWLoIgAABBECIY1RYuQADAABEWVlZWVlACkUCNQYlBhcFBA4quAH/hbAEjbECAESzBWQGAEREAA==";var Ll=xn(Rm(),1),Ma=xn(b0(),1),D0=xn(v0(),1);import{Buffer as S0}from"node:buffer";var dT=Ba.bold.red,gT=Ba.bold.yellow,mT=Ba.bold.green,Ia="Mojang Mappings",Pl="Generate Unique Mod Icon",Fa="Kotlin Programming Language",Ta="Data Generation",Sa="Split client and common sources",Da="Gradle Kotlin DSL",va=new Map([["kotlin",Fa],["datagen",Ta],["splitSources",Sa],["mojangMappings",Ia],["gradleKotlin",Da]]);function M0(){return new Gi().name("init").description("Generate a new fabric project").option("-y, --defaultOptions","Use defaults for options that are not specified").option("--allow-non-empty-dir","Allow generating into a directory that already contains files. Existing files with the same path will be overwritten").addOption(new Li("-n, --name <name>","The name of the mod")).addOption(new Li("-m, --modid <modid>","The modid of the mod")).addOption(new Li("-p, --packageName <packageName>","The package name of the mod")).addOption(new Li("-v, --version <version>","The minecraft version")).addOption(new Li("-o, --option <advancedOption>","Specify an advanced option, one of: "+Array.from(va.keys()).join(", ")).argParser((r,e=[])=>[...e,r]).hideHelp()).argument("[dir]","The output directory").action(async(r,e)=>{await wT(e,r)})}Ru(r=>new rn({parseTagValue:!1,isArray:i=>i==="version"}).parse(r).metadata.versioning.versions.version);var Hl=Ma.registerFont("",Hi),BT=Uint8Array.from(S0.from(Wg,"base64"));Hl.font=D0.parse(BT.buffer);Hl.loaded=!0;function ET(r,e){return{config:e,writer:{write:async(i,a,A)=>{await xT(r,i,a,A)}},canvas:{create(i,a){let A=Ma.make(i,a);return{getContext:l=>A.getContext(l),getPng:()=>{let l=new Ll.PNG({width:A.width,height:A.height});return l.data=S0.from(A.data),Uint8Array.from(Ll.PNG.sync.write(l)).buffer},measureText(l,u){let p=Hl.font,f=l._font.size,g=0,m=0,E=0,b=p.stringToGlyphs(u);for(let y of b){let Q=y.getMetrics();g+=y.advanceWidth,m=Math.max(m,Q.yMax),E=Math.min(E,Q.yMin)}return{width:g/p.unitsPerEm*f,ascent:Math.abs(m/p.unitsPerEm*f),descent:Math.abs(E/p.unitsPerEm*f)}}}}}}}async function wT(r,e){let i=await yT(e);r.allowNonEmptyDir||await Hg(i)||un("The target directory must be empty (use --allow-non-empty-dir to generate into it anyway)");let a=await CT(Jr.basename(i),r);console.log(gT("Generating mod template...")),await Th(ET(i,a)),console.log(mT("Done!"))}async function yT(r){if(r==null)return Jr.resolve(hT());let e=Jr.resolve(r);return await T0(e,{recursive:!0}),e}async function CT(r,e){let i=So();bT(e);let a=e.name??(e.defaultOptions?r:await rs({type:"text",message:"Choose a name",initial:r,validate:E=>E.length>=2||"The name must have at least 2 characters"})),A=e.modid??(e.defaultOptions?Fo(a):await rs({type:"text",message:"Choose a unique modid",initial:Fo(a),validate:E=>{if(E.length<2||E.length>64)return"The modid must have between 2 and 64 characters";let b=Io(E);return b==null?!0:b.join(", ")}})),l=e.packageName??(e.defaultOptions?In(A):await rs({type:"text",message:"Choose a package name",initial:th((pT.FABRIC_MOD_GENERATOR_GLOBAL_PACKAGE_PREFIX??"")+A),format:E=>In(E),validate:E=>{let b=In(E),y=Js(b);return y.length==0?!0:y.join(", ")}})),u=await i,p;e.version!=null?(p=e.version,u.map(E=>E.version).includes(p)||un(`The minecraft version ${p} does not exist.`)):e.defaultOptions?p=u.find(E=>E.stable).version:p=await rs({type:"select",message:"Select the minecraft version",choices:u.map(E=>({title:E.version,value:E.version})),initial:Math.max(0,u.findIndex(E=>E.stable))});let f=e.option?.map(E=>(va.has(E)||un(`Unknown option ${E} must be one of: ${Array.from(va.keys()).join(", ")}`),va.get(E))),g=I0(p).filter(E=>E.selected).map(E=>E.value),m=e.defaultOptions?[...g,...f??[]]:f??await rs({type:"multiselect",message:"Advanced options",choices:I0(p)});return{modid:A,minecraftVersion:p,projectName:a,packageName:l,mojmap:Ei(p)||m.includes(Ia),useKotlin:m.includes(Fa),dataGeneration:m.includes(Ta),splitSources:m.includes(Sa),gradleKotlin:m.includes(Da),uniqueModIcon:m.includes(Pl)}}function bT(r){if(r.modid!=null){let e=Io(r.modid);e!=null&&un(e.join(", "))}if(r.packageName!=null){let e=Js(r.packageName);e.length>0&&un(e.join(", "))}}async function rs(r){return(await(0,F0.default)({...r,name:"value"},{onCancel:()=>un("Project generation cancelled")})).value}function I0(r){let e=[];return e.push({title:Pl,value:Pl,selected:!0}),e.push({title:Fa,value:Fa}),Ei(r)||e.push({title:Ia,value:Ia,selected:!0}),Ps(r)&&e.push({title:Ta,value:Ta}),Hs(r)&&e.push({title:Sa,value:Sa,selected:!0}),e.push({title:Da,value:Da}),e}async function xT(r,e,i,a){let A=Jr.join(r,e);await T0(Jr.dirname(A),{recursive:!0}),await uT(A,typeof i=="string"?i:new Uint8Array(i),{mode:a?.executable?484:void 0})}function un(r){console.error(dT(r)),fT(1)}var QT="1.19-SNAPSHOT",vT={getGameVersions:Pi,getLoaderVersions:Us,getYarnVersions:Nu,getApiVersionForMinecraft:Ns,minecraftIsUnobfuscated:Ei};function U0(){return new Gi().name("versions").description("Show the recommended Fabric versions for a Minecraft version").option("--json","Print the recommended versions as JSON").argument("[minecraftVersion]","The Minecraft version").action(async(r,e)=>{let i=await IT(r);console.log(e.json?TT(i):FT(i))})}async function IT(r,e=vT){let[i,a,A]=await Promise.all([e.getGameVersions(),e.getLoaderVersions(),e.getYarnVersions()]),l=i.find(E=>E.stable);if(!l)throw new Error("Could not find a stable Minecraft version.");let u=i[0]?.stable?void 0:i[0],p=r??l.version;ST(p,i,u?.version);let f=a.find(E=>E.stable);if(!f)throw new Error("Could not find a stable Fabric Loader version.");let g=e.minecraftIsUnobfuscated(p),m={minecraft_version:p,loader_version:f.version,loom_version:QT,fabric_api_version:await e.getApiVersionForMinecraft(p)};return g||(m.yarn_mappings=A.find(E=>E.gameVersion===p)?.version??"unknown"),m}function FT(r){let e=[`minecraft_version=${r.minecraft_version}`];return r.yarn_mappings&&e.push(`yarn_mappings=${r.yarn_mappings}`),e.push(`loader_version=${r.loader_version}`),e.push(`loom_version=${r.loom_version}`),e.push(`fabric_api_version=${r.fabric_api_version}`),e.join(`
|
|
1170
|
-
`)}function
|
|
1168
|
+
`,A)}while(a!==-1);return l+=r.slice(A),l}var Ug=(r=0)=>e=>`\x1B[${e+r}m`,Al=(r=0)=>e=>`\x1B[${38+r};5;${e}m`,ll=(r=0)=>(e,i,a)=>`\x1B[${38+r};2;${e};${i};${a}m`,J2=r=>`\x1B[58;5;${r<90?r-30:r-90+8}m`,rt={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],underlineDouble:["4:2",24],underlineCurly:["4:3",24],underlineDotted:["4:4",24],underlineDashed:["4:5",24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]},underlineColor:{underlineBlack:["58;5;0",59],underlineRed:["58;5;1",59],underlineGreen:["58;5;2",59],underlineYellow:["58;5;3",59],underlineBlue:["58;5;4",59],underlineMagenta:["58;5;5",59],underlineCyan:["58;5;6",59],underlineWhite:["58;5;7",59],underlineBlackBright:["58;5;8",59],underlineGray:["58;5;8",59],underlineGrey:["58;5;8",59],underlineRedBright:["58;5;9",59],underlineGreenBright:["58;5;10",59],underlineYellowBright:["58;5;11",59],underlineBlueBright:["58;5;12",59],underlineMagentaBright:["58;5;13",59],underlineCyanBright:["58;5;14",59],underlineWhiteBright:["58;5;15",59]}},NN=Object.keys(rt.modifier),V2=Object.keys(rt.color),j2=Object.keys(rt.bgColor),kN=Object.keys(rt.underlineColor),ON=[...V2,...j2];function _2(){let r=new Map;for(let[e,i]of Object.entries(rt)){for(let[a,A]of Object.entries(i))rt[a]={open:`\x1B[${A[0]}m`,close:`\x1B[${A[1]}m`},i[a]=rt[a],r.set(Number.parseInt(A[0],10),A[1]);Object.defineProperty(rt,e,{value:i,enumerable:!1})}return Object.defineProperty(rt,"codes",{value:r,enumerable:!1}),rt.color.close="\x1B[39m",rt.bgColor.close="\x1B[49m",rt.underlineColor.close="\x1B[59m",rt.color.ansi=Ug(),rt.color.ansi256=Al(),rt.color.ansi16m=ll(),rt.bgColor.ansi=Ug(10),rt.bgColor.ansi256=Al(10),rt.bgColor.ansi16m=ll(10),rt.underlineColor.ansi=J2,rt.underlineColor.ansi256=Al(20),rt.underlineColor.ansi16m=ll(20),Object.defineProperties(rt,{rgbToAnsi256:{value(e,i,a){return e===i&&i===a?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(i/255*5)+Math.round(a/255*5)},enumerable:!1},hexToRgb:{value(e){let i=/[\da-f]{6}|[\da-f]{3}/i.exec(e.toString(16));if(!i)return[0,0,0];let[a]=i;a.length===3&&(a=[...a].map(l=>l+l).join(""));let A=Number.parseInt(a,16);return[A>>16&255,A>>8&255,A&255]},enumerable:!1},hexToAnsi256:{value:e=>rt.rgbToAnsi256(...rt.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return 90+(e-8);let i,a,A;if(e>=232)i=((e-232)*10+8)/255,a=i,A=i;else{e-=16;let p=e%36;i=Math.floor(e/36)/5,a=Math.floor(p/6)/5,A=p%6/5}let l=Math.max(i,a,A)*2;if(l===0)return 30;let u=30+(Math.round(A)<<2|Math.round(a)<<1|Math.round(i));return l===2&&(u+=60),u},enumerable:!1},rgbToAnsi:{value:(e,i,a)=>rt.ansi256ToAnsi(rt.rgbToAnsi256(e,i,a)),enumerable:!1},hexToAnsi:{value:e=>rt.ansi256ToAnsi(rt.hexToAnsi256(e)),enumerable:!1}}),rt}var Z2=_2(),Qr=Z2;import cl from"node:process";import z2 from"node:os";import Ng from"node:tty";function $t(r,e=globalThis.Deno?globalThis.Deno.args:cl.argv){let i=r.startsWith("-")?"":r.length===1?"-":"--",a=e.indexOf(i+r),A=e.indexOf("--");return a!==-1&&(A===-1||a<A)}var{env:ct}=cl,da;$t("no-color")||$t("no-colors")||$t("color=false")||$t("color=never")?da=0:($t("color")||$t("colors")||$t("color=true")||$t("color=always"))&&(da=1);function Og(){return/^\d+$/.test(ct.FORCE_COLOR)}function X2(){if("FORCE_COLOR"in ct){if(ct.FORCE_COLOR==="false")return 0;if(ct.FORCE_COLOR==="true"||ct.FORCE_COLOR.length===0)return 1;if(Og())return Math.min(Number.parseInt(ct.FORCE_COLOR,10),3)}}function q2(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function K2(r,{streamIsTTY:e,sniffFlags:i=!0}={}){let a=X2();a!==void 0&&(da=a);let A=i?da:a;if(A===0)return 0;if(i){if($t("color=16m")||$t("color=full")||$t("color=truecolor"))return 3;if($t("color=256"))return 2}if(A!==void 0&&Og())return A;if("TF_BUILD"in ct&&"AGENT_NAME"in ct)return 1;if(r&&!e&&A===void 0)return 0;let l=A||0;if(ct.TERM==="dumb")return l;if(cl.platform==="win32"){let u=z2.release().split(".");return Number(u[0])>=10&&Number(u[2])>=10586?Number(u[2])>=14931?3:2:1}if("CI"in ct)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(u=>u in ct)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(u=>u in ct)||ct.CI_NAME==="codeship"?1:l;if("TEAMCITY_VERSION"in ct)return/^(?:9\.0*[1-9]\d*\.|\d{2,}\.)/.test(ct.TEAMCITY_VERSION)?1:0;if(ct.COLORTERM==="truecolor"||ct.TERM==="xterm-kitty"||ct.TERM==="xterm-ghostty"||ct.TERM==="wezterm")return 3;if("TERM_PROGRAM"in ct){let u=Number.parseInt((ct.TERM_PROGRAM_VERSION||"").split(".",1)[0],10);switch(ct.TERM_PROGRAM){case"iTerm.app":return u>=3?3:2;case"Apple_Terminal":return 2}}return/-256(?:color)?$/i.test(ct.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(ct.TERM)||"COLORTERM"in ct?1:l}function kg(r,e={}){let i=K2(r,{streamIsTTY:r&&r.isTTY,...e});return q2(i)}var $2={stdout:kg({isTTY:Ng.isatty(1)}),stderr:kg({isTTY:Ng.isatty(2)})},Yg=$2;var{stdout:Rg,stderr:Gg}=Yg,Zn=Symbol("GENERATOR"),zn=Symbol("STYLER"),ma=Symbol("IS_EMPTY"),ga=Symbol("LEVEL"),Xn=Object.create(null),Lg=r=>{if(!Number.isSafeInteger(r)||r<0||r>3)throw new Error("The `level` should be an integer from 0 to 3")},eI={enumerable:!0,get(){return this[ga]},set(r){Lg(r),this[ga]=r}},tI=(r,e={})=>{e.level!==void 0&&Lg(e.level);let i=Rg?Rg.level:0;r[ga]=e.level===void 0?i:e.level};var rI=r=>{let e=(...i)=>i.join(" ");return tI(e,r),Object.setPrototypeOf(e,qn.prototype),e};function qn(r){return rI(r)}Object.setPrototypeOf(qn.prototype,Function.prototype);for(let[r,e]of Object.entries(Qr))Xn[r]={get(){let i=hl(this,Pg(e.open,e.close,this[zn]),this[ma]);return Object.defineProperty(this,r,{value:i}),i}};Xn.visible={get(){let r=hl(this,this[zn],!0);return Object.defineProperty(this,"visible",{value:r}),r}};var iI=(r,e)=>{let i=Qr[e];if(r==="rgb"){let A=(u,p,f)=>i.ansi(Qr.rgbToAnsi(u,p,f));return[A,A,(u,p,f)=>i.ansi256(Qr.rgbToAnsi256(u,p,f)),i.ansi16m]}if(r==="hex"){let A=u=>i.ansi(Qr.hexToAnsi(u));return[A,A,u=>i.ansi256(Qr.hexToAnsi256(u)),u=>i.ansi16m(...Qr.hexToRgb(u))]}let a=A=>i.ansi(Qr.ansi256ToAnsi(A));return[a,a,i.ansi256,i.ansi256]},nI=["rgb","hex","ansi256"];for(let r of nI){let e=r[0].toUpperCase()+r.slice(1);for(let[i,a]of[[r,"color"],["bg"+e,"bgColor"],["underline"+e,"underlineColor"]]){let{close:A}=Qr[a],l=iI(r,a);Xn[i]={get(){let u=function(p,f,g){let m=l[this.level](p,f,g);return hl(this,Pg(m,A,this[zn]),this[ma])};return Object.defineProperty(this,i,{value:u}),u}}}}var sI=Object.defineProperties(()=>{},{...Xn,level:{enumerable:!0,get(){return this[Zn].level},set(r){this[Zn].level=r}}}),Pg=(r,e,i)=>{let a,A;return i===void 0?(a=r,A=e):(a=i.openAll+r,A=e+i.closeAll),{open:r,close:e,openAll:a,closeAll:A,parent:i}},hl=(r,e,i)=>{let a=(...A)=>A.length===1?ul(a,""+A[0]):A.length===2?ul(a,`${A[0]??""} ${A[1]??""}`):ul(a,A.join(" "));return Object.setPrototypeOf(a,sI),a[Zn]=r[Zn]??r,a[zn]=e,a[ma]=i,a},ul=(r,e)=>{if(r[Zn][ga]<=0||!e)return r[ma]?"":e;let i=r[zn];if(i===void 0)return e;let{openAll:a,closeAll:A}=i;if(e.includes("\x1B"))for(;i!==void 0;)e=Dg(e,i.close,i.open),i=i.parent;let l=e.indexOf(`
|
|
1169
|
+
`);return l!==-1&&(e=Mg(e,A,a,l)),a+e+A};Object.defineProperties(qn.prototype,{...Xn,level:eI});var aI=qn(),VN=qn({level:Gg?Gg.level:0});var Ba=aI;import{readdir as oI,stat as ZN}from"node:fs/promises";async function Hg(r){return(await oI(r)).length===0}var Wg="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BxAAVAZgAH8GYwBzBCoAXAcDAJgFBwCABYwAjAVwAHUF5f21BTMAYQhRAFsFygA/BRX//QWMAFwDAwCuBGYAawMDALIEpgCyBQT/3QRzAHAEGAAxBL8AiAQcAF8EswBaBGIAWQQRAFUEP//dBJ8AkQI+ALUDOv+nBFIAogIxAKwGNwBwBDAAggQ1AFIERwB6BCkAQgPYAIID5QAmA8UAPwQpAGgD5AAiBXkAPgS5ACcEKv/YBE4AegLuAAADXwFiAu4ABgTIAFQCZAAAAecAYAT8AH0GWQAnBOUAOQUWAHADPAFOBRQAcgRzAN4GXQBjBDcAgwSfABQD2AAwA1UAcAZdAGMFBP/dA0YARAPYAEcFNQFVBTUBmgRzAMEEKQAABY0AQAH+AI8EcwFoBTUBdwQ1AC8En//7BTUAoAU1AKAFNQCgBDEATgXaAGgF2gBoBdoAaAXaAGgF2gBoBdoAaAiyAAkE0gBMBP8AogT/AKIE/wCiBP8AogRfAEMEXwBDBF8AQwRfAEMFxv/RBmAAfwZjAHMGYwBzBmMAcwZjAHMGYwBzA9gAMQZjACkF5f21BeX9tQXl/bUF5f21BRX//QQqAGADjAAuBBgAMQQYADEEGAAxBBgAMQQYADEEGAAxB0sAPwQcAF8EYgBZBGIAWQRiAFkEYgBZAj7/6AI+AGcCPv+CAj7/wAQSAFYEMAB4BDUAUgQ1AFIENQBSBDUAUgQ1AFID2AAyBDUAFgQpAGgEKQBoBCkAaAQpAGgEKv/YBEcAkgQq/9gF2gBoBBgAMQXaAGgEGAAxBdoAaAQYADEE0gBMBBwAXwTSAEwEHABfBNIATAQcAF8E0gBMBBwAXwXGALUGogBaBcb/0QTSAFoE/wCiBGIAWQT/AKIEYgBZBP8AogRiAFkE/wCiBGIAWQT/AKIEYgBZBXAATAQ//90FcABMBD//3QVwAEwEP//dBXAATAQ//90GJQCcBJ8AkQYl/9wEn//+BF8AQwI+/1wEXwBDAj7/2wRfAEMCPv9kBF8AQwI+/9QEXwBDAj4AtQkDAEMEPgCkBVIARQM6/7kE4wDSBFIAogRSAIAEaABmAjEArARoAGYCMQBjBGgAZgO3AKwEaABmAykArARo/14B0f+GBmAAfwQwAIIGYAB/BDAAggZgAH8EMACCBPgATgZgAH8EMACCBmMAcwQ1AFIGYwBzBDUAUgZjAHMENQBSCY0AgwctAFIFBwCAA9gAggUHAIAD2AA/BQcAgAPYAIIFjACMA+UAJgWMAIwD5QAmBYwAjAPlACYFjACMA+UAJgVwAHUDxQA/BXAAdQUdAD8FcAAkA8UAPwXl/bUEKQBNBeX9tQQpAGgF5f21BCkAVQXl/bUEKQBoBeX9tQQpAGgF5f21BCkAaAhRAFsFeQA+BRX//QQq/9gFFf/9BYwAXAROAHoFjABcBE4AegWMAFwETgB6BBEBPgNq/4cF2gBnBBgAPwiyAAkHSwA/BmMAKQQ1ABYFjACMA+UAJgVwAHUDxQA/Azr/uQSmALIEcwDzBHMBGARzAKoEcwE3BHMA+gRzAQcEcwCkBHMAtARzAdIEcwB8BdoAaAH+AI4GUACPB90AwwYNAEkHAwBkBs0AMQeuAEUCPv9nBdoAaAULAMEE7gC4BlsAQwT/AKIFjABcBiUAnAZjAHMEXwBDBOMA0gWE//MHEABUBmAAfwXDAFwGYwBzB0QAaQQqAFwF+gCGBXAAdQUV//0FGwBeBcoAPwVkACUHrgA/BF8AQwUV//0EQwAxA+8AlAQwAIICPgC0BCkATgRDADEEsQBtA+QAIgQ1AFID7wCUBBwAAAQwAIIE4gBBAj4AtQRSAHoD5AAnBCkAbwPkACIEHP/1BDUAUgUGABAENQAfBBwAAgQ1AFIDxQBCBCkATgTsAFUEuQAnBK8AKwYVACwCPv/ABCkATgQ1AFIEKQBOBhUALAT/AKIGzQAqBO4AuATSAE0FjACMBF8AQwRfAEMFUgBFCAAAEgfRACwGxgAqBREAqAUV//oF1gBwBdoAaATWALAFCwDBBO4AuAYlAF4E/wCiBuD/+gTPADwF+wCEBfsAhAURAKgF6QAKBxAAVAYlAJwGYwBzB0QAaQQqAFwE0gBMBXAAdQUV//oFGwBeBcoAPwYwAHAE8ABwB0AAcAeoAHAGFAAmCJoAsATWALAFPABzCQsAnAUHAEYEGAAxBDUAOwQIAIADwwCGBL4AIgRiAFkFdgAiA4QAPgUYAGIFGABiA/AAlAUtAAoF4AASBHoATwS7AFIFLQDaBEcAegQcAF8DxQA/BCr/2AZ7AEgEuQAnBPMArwRFAEwGLQB0BlgAdAT4ABQGUwCHA+8AhwQbAF4HOABLBAv/8ARiAFkEe/+4A8MAhgQbAE8D5QAmAj4AtQI+/8ADOv+nBx4ADAYxAFsEn/+4A/AAlAQq/9gE8wCKBO4AuAPDAIYIUQBbBXkAPghRAFsFeQA+CFEAWwV5AD4FFf/9BCr/2AOIAC0HEABEBxAARAUE/90BcQA2AXEANgJkADYDJgBPAyYAfwNLADYExgA3BMYAOwMZALoFZwCqCe4AnQFxACQCpgAkAw0AFAMNAFUDmQBsBOL/ZAZ9//kENwDOB+oAqgZZAGwJgwBcBOL/2AaQAFID6f/yCUIAfwlQACYHEABOB64APwRlADsFNQCgBTUAoAU1AKAFNQCgBBIAcQZbAEMHRABpBfoAhgPYADIE3AAMBrIAjwWZADgE9QB0BBUAWgMNABQDDQAhBav/6QWrAoIFqwJ+Bav/6wWrAn4Fq//oBeABbAUkAYIFJAFyBccAOAUkAXoFJAFlBAAAHAVFAEwFPwBMBAAAgANVAHAB/gCNAxsBEAMbAU0DGwFNAj4AtQU1APYCZABKBTUBcAABAAACTwDEAAcAcgAFAAIAHgBFAI0AAACKDgwABAABAAAAJgHOAAMAAQQDAAIADAAAAAMAAQQFAAIAEAAMAAMAAQQGAAIADAAcAAMAAQQHAAIAEAAoAAMAAQQIAAIAEAA4AAMAAQQJAAAA1ABIAAMAAQQJAAEAGAEcAAMAAQQJAAIADgE0AAMAAQQJAAMAOAFCAAMAAQQJAAQAKAF6AAMAAQQJAAUAcAGiAAMAAQQJAAYAJgISAAMAAQQJAAgAEgI4AAMAAQQJAAkAFAJKAAMAAQQJAAoBOAJeAAMAAQQJAAsAUgOWAAMAAQQJAAwAUgOWAAMAAQQJAA0BIgPoAAMAAQQJAA4ANgUKAAMAAQQKAAIADAAAAAMAAQQLAAIAEAVAAAMAAQQMAAIADAAAAAMAAQQOAAIADAVQAAMAAQQQAAIADgVcAAMAAQQTAAIAEgVqAAMAAQQUAAIADAAAAAMAAQQVAAIAEAV8AAMAAQQWAAIADAAAAAMAAQQZAAIADgWMAAMAAQQbAAIAEAWaAAMAAQQdAAIADAAAAAMAAQQfAAIADAAAAAMAAQQkAAIADgWqAAMAAQQtAAIADgW4AAMAAQgKAAIADAAAAAMAAQgWAAIADAAAAAMAAQwKAAIADAAAAAMAAQwMAAIADAAAAE4AbwByAG0AYQBsAG8AYgB5AQ0AZQBqAG4A6QBuAG8AcgBtAGEAbABTAHQAYQBuAGQAYQByAGQDmgOxA70DvwO9A7kDugOsAEMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEAMwAgAEoAZQBmAGYAIABEAGEAdgBpAHMAIAAoAGgAdAB0AHAAcwA6AC8ALwBnAGkAdABoAHUAYgAuAGMAbwBtAC8AbABvAHUAZABpAGYAaQBlAHIALwBDAG8AbQBpAGMALQBSAGUAbABpAGUAZgApACAAdwBpAHQAaAAgAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlACAAQwBvAG0AaQBjACAAUgBlAGwAaQBlAGYAQwBvAG0AaQBjACAAUgBlAGwAaQBlAGYAUgBlAGcAdQBsAGEAcgAxAC4AMQA7AEwATwBVAEQAOwBDAG8AbQBpAGMAUgBlAGwAaQBlAGYALQBSAGUAZwB1AGwAYQByAEMAbwBtAGkAYwAgAFIAZQBsAGkAZQBmACAAUgBlAGcAdQBsAGEAcgBWAGUAcgBzAGkAbwBuACAAMQAuADEAOwAgAHQAdABmAGEAdQB0AG8AaABpAG4AdAAgACgAdgAxAC4AOAAuADQALgA3AC0ANQBkADUAYgApADsAZwBmAHQAbwBvAGwAcwBbADAALgA5AC4AMwAyAF0AQwBvAG0AaQBjAFIAZQBsAGkAZQBmAC0AUgBlAGcAdQBsAGEAcgBMAG8AdQBkAGkAZgBpAGUAcgBKAGUAZgBmACAARABhAHYAaQBzAEMAbwBtAGkAYwAgAFIAZQBsAGkAZQBmACAAaQBzACAAYQAgAHQAeQBwAGUAZgBhAGMAZQAgAGQAZQBzAGkAZwBuAGUAZAAgAHQAbwAgAGIAZQAgAG0AZQB0AHIAaQBjAGEAbABsAHkAIABlAHEAdQBpAHYAYQBsAGUAbgB0ACAAdABvACAAdABoAGUAIABwAG8AcAB1AGwAYQByACAAQwBvAG0AaQBjACAAUwBhAG4AcwAgAE0AUwAuACAARwBvACAAdABvACAAaAB0AHQAcABzADoALwAvAGcAaQB0AGgAdQBiAC4AYwBvAG0ALwBsAG8AdQBkAGkAZgBpAGUAcgAvAEMAbwBtAGkAYwAtAFIAZQBsAGkAZQBmACAAZgBvAHIAIABtAG8AcgBlACAAaQBuAGYAbwAuAGgAdAB0AHAAcwA6AC8ALwBnAGkAdABoAHUAYgAuAGMAbwBtAC8AbABvAHUAZABpAGYAaQBlAHIALwBDAG8AbQBpAGMALQBSAGUAbABpAGUAZgBUAGgAaQBzACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAGkAcwAgAGwAaQBjAGUAbgBzAGUAZAAgAHUAbgBkAGUAcgAgAHQAaABlACAAUwBJAEwAIABPAHAAZQBuACAARgBvAG4AdAAgAEwAaQBjAGUAbgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAxAC4AMQAuACAAVABoAGkAcwAgAGwAaQBjAGUAbgBzAGUAIABpAHMAIABhAHYAYQBpAGwAYQBiAGwAZQAgAHcAaQB0AGgAIABhACAARgBBAFEAIABhAHQAOgAgAGgAdAB0AHAAcwA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAGgAdAB0AHAAcwA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAE4AbwByAG0AYQBhAGwAaQBOAG8AcgBtAOEAbABOAG8AcgBtAGEAbABlAFMAdABhAG4AZABhAGEAcgBkAE4AbwByAG0AYQBsAG4AeQQeBDEESwRHBD0ESwQ5AE4AbwByAG0A4QBsAG4AZQBOAGEAdgBhAGQAbgBvAEEAcgByAHUAbgB0AGEAAgAAAAAAAP+fAK8AAAAAAAAAAAAAAAAAAAAAAAAAAAJPAAABAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEArACjAIQAhQC9AJYA6ACGAI4AiwCdAKkApAEDAIoBBACDAJMA8gDzAI0BBQCIAMMA3gDxAJ4AqgD1APQA9gCiAK0AyQDHAK4AYgBjAJAAZADLAGUAyADKAM8AzADNAM4A6QBmANMA0ADRAK8AZwDwAJEA1gDUANUAaADrAO0AiQBqAGkAawBtAGwAbgCgAG8AcQBwAHIAcwB1AHQAdgB3AOoAeAB6AHkAewB9AHwAuAChAH8AfgCAAIEA7ADuALoBBgEHAQgBCQEKAQsA/QD+AQwBDQEOAQ8A/wEAARABEQESAQEBEwEUARUBFgEXARgBGQEaARsBHAEdAR4A+AD5AR8BIAEhASIBIwEkASUBJgEnASgBKQEqASsBLAEtAS4A+gDXAS8BMAExATIBMwE0ATUBNgE3ATgBOQE6ATsBPAE9AOIA4wE+AT8BQAFBAUIBQwFEAUUBRgFHAUgBSQFKAUsBTACwALEBTQFOAU8BUAFRAVIBUwFUAVUBVgD7APwA5ADlAVcBWAFZAVoBWwFcAV0BXgFfAWABYQFiAWMBZAFlAWYBZwFoAWkBagFrAWwAuwFtAW4BbwFwAOYA5wFxAKYBcgFzAXQBdQF2AXcBeAF5AXoBewF8ANgA4QDaANsA3ADdAOAA2QDfAX0BfgF/AYABgQGCAYMBhAGFAYYBhwGIAYkBigGLAYwBjQGOAY8BkAGRAZIBkwGUAZUBlgGXAZgBmQGaAZsBnAGdAZ4AnwGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsACXAbEBsgGzAJsBtAG1AbYBtwG4AbkBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgHHAcgByQHKAcsBzAHNAc4BzwHQAdEB0gHTAdQB1QHWAdcB2AHZAdoB2wHcAd0B3gHfAeAB4QHiAeMB5AHlAeYB5wHoAekB6gHrAewB7QHuAe8B8AHxAfIB8wH0AfUB9gH3AfgB+QH6AfsB/AH9Af4B/wIAAgECAgIDAgQCBQIGAgcCCAIJAgoCCwIMAg0CDgIPAhACEQISAhMCFAIVAhYCFwIYAhkCGgIbAhwCHQIeAh8CIAIhAiICIwIkAiUCJgInALIAswIoAikAtgC3AMQAtAC1AMUAggDCAIcAqwDGAioCKwC+AL8CLAItALwCLgD3Ai8CMAIxAjICMwI0AjUAjAI2AjcCOAI5AjoCOwCYAKgAmgCZAO8ApQCSAJwApwCPAJQAlQI8Aj0CPgI/AkACQQJCAkMCRAC5AkUCRgJHAMAAwQJIAkkCSgJLAkwCTQJOAk8CUAJRBmdseXBoMgtoeXBoZW5taW51cwlvdmVyc2NvcmUDbXUxB0FtYWNyb24HYW1hY3JvbgZBYnJldmUGYWJyZXZlB0FvZ29uZWsHYW9nb25lawtDY2lyY3VtZmxleAtjY2lyY3VtZmxleARDZG90BGNkb3QGRGNhcm9uBmRjYXJvbgZEc2xhc2gHRW1hY3JvbgdlbWFjcm9uBkVicmV2ZQZlYnJldmUERWRvdARlZG90B0VvZ29uZWsHZW9nb25lawZFY2Fyb24GZWNhcm9uC0djaXJjdW1mbGV4C2djaXJjdW1mbGV4BEdkb3QEZ2RvdAhHY2VkaWxsYQhnY2VkaWxsYQtIY2lyY3VtZmxleAtoY2lyY3VtZmxleARIYmFyBGhiYXIGSXRpbGRlBml0aWxkZQdJbWFjcm9uB2ltYWNyb24GSWJyZXZlBmlicmV2ZQdJb2dvbmVrB2lvZ29uZWsCSUoCaWoLSmNpcmN1bWZsZXgLamNpcmN1bWZsZXgIS2NlZGlsbGEIa2NlZGlsbGEMa2dyZWVubGFuZGljBkxhY3V0ZQZsYWN1dGUITGNlZGlsbGEIbGNlZGlsbGEGTGNhcm9uBmxjYXJvbgRMZG90BGxkb3QGTmFjdXRlBm5hY3V0ZQhOY2VkaWxsYQhuY2VkaWxsYQZOY2Fyb24GbmNhcm9uC25hcG9zdHJvcGhlA0VuZwNlbmcHT21hY3JvbgdvbWFjcm9uBk9icmV2ZQZvYnJldmUJT2RibGFjdXRlCW9kYmxhY3V0ZQZSYWN1dGUGcmFjdXRlCFJjZWRpbGxhCHJjZWRpbGxhBlJjYXJvbgZyY2Fyb24GU2FjdXRlBnNhY3V0ZQtTY2lyY3VtZmxleAtzY2lyY3VtZmxleAhUY2VkaWxsYQh0Y2VkaWxsYQZUY2Fyb24GdGNhcm9uBFRiYXIEdGJhcgZVdGlsZGUGdXRpbGRlB1VtYWNyb24HdW1hY3JvbgZVYnJldmUGdWJyZXZlBVVyaW5nBXVyaW5nCVVkYmxhY3V0ZQl1ZGJsYWN1dGUHVW9nb25lawd1b2dvbmVrC1djaXJjdW1mbGV4C3djaXJjdW1mbGV4C1ljaXJjdW1mbGV4C3ljaXJjdW1mbGV4BlphY3V0ZQZ6YWN1dGUEWmRvdAR6ZG90BWxvbmdzCkFyaW5nYWN1dGUKYXJpbmdhY3V0ZQdBRWFjdXRlB2FlYWN1dGULT3NsYXNoYWN1dGULb3NsYXNoYWN1dGUMU2NvbW1hYWNjZW50DHNjb21tYWFjY2VudAxUY29tbWFhY2NlbnQMdGNvbW1hYWNjZW50B3VuaTAyMzcFdG9ub3MNZGllcmVzaXN0b25vcwpBbHBoYXRvbm9zCWFub3RlbGVpYQxFcHNpbG9udG9ub3MIRXRhdG9ub3MJSW90YXRvbm9zDE9taWNyb250b25vcwxVcHNpbG9udG9ub3MKT21lZ2F0b25vcxFpb3RhZGllcmVzaXN0b25vcwVBbHBoYQRCZXRhBUdhbW1hB3VuaTAzOTQHRXBzaWxvbgRaZXRhA0V0YQVUaGV0YQRJb3RhBUthcHBhBkxhbWJkYQJNdQJOdQJYaQdPbWljcm9uAlBpA1JobwVTaWdtYQNUYXUHVXBzaWxvbgNQaGkDQ2hpA1BzaQxJb3RhZGllcmVzaXMPVXBzaWxvbmRpZXJlc2lzCmFscGhhdG9ub3MMZXBzaWxvbnRvbm9zCGV0YXRvbm9zCWlvdGF0b25vcxR1cHNpbG9uZGllcmVzaXN0b25vcwVhbHBoYQRiZXRhBWdhbW1hBWRlbHRhB2Vwc2lsb24EemV0YQNldGEFdGhldGEEaW90YQVrYXBwYQZsYW1iZGECbnUCeGkHb21pY3JvbgNyaG8Gc2lnbWExBXNpZ21hA3RhdQd1cHNpbG9uA3BoaQNjaGkDcHNpBW9tZWdhDGlvdGFkaWVyZXNpcw91cHNpbG9uZGllcmVzaXMMb21pY3JvbnRvbm9zDHVwc2lsb250b25vcwpvbWVnYXRvbm9zCWFmaWkxMDAyMwlhZmlpMTAwNTEJYWZpaTEwMDUyCWFmaWkxMDA1MwlhZmlpMTAwNTQJYWZpaTEwMDU1CWFmaWkxMDA1NglhZmlpMTAwNTcJYWZpaTEwMDU4CWFmaWkxMDA1OQlhZmlpMTAwNjAJYWZpaTEwMDYxCWFmaWkxMDA2MglhZmlpMTAxNDUJYWZpaTEwMDE3CWFmaWkxMDAxOAlhZmlpMTAwMTkJYWZpaTEwMDIwCWFmaWkxMDAyMQlhZmlpMTAwMjIJYWZpaTEwMDI0CWFmaWkxMDAyNQlhZmlpMTAwMjYJYWZpaTEwMDI3CWFmaWkxMDAyOAlhZmlpMTAwMjkJYWZpaTEwMDMwCWFmaWkxMDAzMQlhZmlpMTAwMzIJYWZpaTEwMDMzCWFmaWkxMDAzNAlhZmlpMTAwMzUJYWZpaTEwMDM2CWFmaWkxMDAzNwlhZmlpMTAwMzgJYWZpaTEwMDM5CWFmaWkxMDA0MAlhZmlpMTAwNDEJYWZpaTEwMDQyCWFmaWkxMDA0MwlhZmlpMTAwNDQJYWZpaTEwMDQ1CWFmaWkxMDA0NglhZmlpMTAwNDcJYWZpaTEwMDQ4CWFmaWkxMDA0OQlhZmlpMTAwNjUJYWZpaTEwMDY2CWFmaWkxMDA2NwlhZmlpMTAwNjgJYWZpaTEwMDY5CWFmaWkxMDA3MAlhZmlpMTAwNzIJYWZpaTEwMDczCWFmaWkxMDA3NAlhZmlpMTAwNzUJYWZpaTEwMDc2CWFmaWkxMDA3NwlhZmlpMTAwNzgJYWZpaTEwMDc5CWFmaWkxMDA4MAlhZmlpMTAwODEJYWZpaTEwMDgyCWFmaWkxMDA4MwlhZmlpMTAwODQJYWZpaTEwMDg1CWFmaWkxMDA4NglhZmlpMTAwODcJYWZpaTEwMDg4CWFmaWkxMDA4OQlhZmlpMTAwOTAJYWZpaTEwMDkxCWFmaWkxMDA5MglhZmlpMTAwOTMJYWZpaTEwMDk0CWFmaWkxMDA5NQlhZmlpMTAwOTYJYWZpaTEwMDk3CWFmaWkxMDA3MQlhZmlpMTAwOTkJYWZpaTEwMTAwCWFmaWkxMDEwMQlhZmlpMTAxMDIJYWZpaTEwMTAzCWFmaWkxMDEwNAlhZmlpMTAxMDUJYWZpaTEwMTA2CWFmaWkxMDEwNwlhZmlpMTAxMDgJYWZpaTEwMTA5CWFmaWkxMDExMAlhZmlpMTAxOTMJYWZpaTEwMDUwCWFmaWkxMDA5OAZXZ3JhdmUGd2dyYXZlBldhY3V0ZQZ3YWN1dGUJV2RpZXJlc2lzCXdkaWVyZXNpcwZZZ3JhdmUGeWdyYXZlCWFmaWkwMDIwOA11bmRlcnNjb3JlZGJsBm1pbnV0ZQZzZWNvbmQJZXhjbGFtZGJsCXJhZGljYWxleAluc3VwZXJpb3IJYWZpaTA4OTQxBnBlc2V0YQRFdXJvCWFmaWk2MTI0OAlhZmlpNjEyODkJYWZpaTYxMzUyB3VuaTIxMjADT2htCWVzdGltYXRlZAlvbmVlaWdodGgMdGhyZWVlaWdodGhzC2ZpdmVlaWdodGhzDHNldmVuZWlnaHRocwd1bmkyNTAwB3VuaTI1MDIHdW5pMjUwQwd1bmkyNTEwB3VuaTI1MTQHdW5pMjUxOAZIMjIwNzMGSDE4NTQzBkgxODU1MQZIMTg1MzMKb3BlbmJ1bGxldAd1bmkyNjZBBmdseXBoMAlzZnRoeXBoZW4GbWlkZG90BXVGMDAzBXVGMDA0BXVGMDA1DGRvdHRlZGlhY3V0ZQpOYW1lTWUuNTkxCk5hbWVNZS4zMzkKTmFtZU1lLjU1OQBLuADIUlixAQGOWbABuQgACABjcLEAB0K1AD4uHgQAKrEAB0JACkMEMwgjCBUHBAoqsQAHQkAKRwI7BisGHAUECiqxAAtCvREADQAJAAWAAAQACyqxAA9CvQBAAEAAQABAAAQACyq5AAMAAESxJAGIUViwQIhYuQADAGREsSgBiFFYuAgAiFi5AAMAAERZG7EnAYhRWLoIgAABBECIY1RYuQADAABEWVlZWVlACkUCNQYlBhcFBA4quAH/hbAEjbECAESzBWQGAEREAA==";var Ll=xn(Rm(),1),Ma=xn(b0(),1),D0=xn(v0(),1);import{Buffer as S0}from"node:buffer";var dT=Ba.bold.red,gT=Ba.bold.yellow,mT=Ba.bold.green,Ia="Mojang Mappings",Pl="Generate Unique Mod Icon",Fa="Kotlin Programming Language",Ta="Data Generation",Sa="Split client and common sources",Da="Gradle Kotlin DSL",va=new Map([["kotlin",Fa],["datagen",Ta],["splitSources",Sa],["mojangMappings",Ia],["gradleKotlin",Da]]);function M0(){return new Li().name("init").description("Generate a new fabric project").option("-y, --defaultOptions","Use defaults for options that are not specified").option("--allow-non-empty-dir","Allow generating into a directory that already contains files. Existing files with the same path will be overwritten").addOption(new Pi("-n, --name <name>","The name of the mod")).addOption(new Pi("-m, --modid <modid>","The modid of the mod")).addOption(new Pi("-p, --packageName <packageName>","The package name of the mod")).addOption(new Pi("-v, --version <version>","The minecraft version")).addOption(new Pi("-o, --option <advancedOption>","Enable or disable an advanced option using <option> or <option>=<true|false>, one of: "+Array.from(va.keys()).join(", ")).argParser((r,e=[])=>[...e,r]).hideHelp()).argument("[dir]","The output directory").action(async(r,e)=>{await wT(e,r)})}Ru(r=>new nn({parseTagValue:!1,isArray:i=>i==="version"}).parse(r).metadata.versioning.versions.version);var Hl=Ma.registerFont("",Wi),BT=Uint8Array.from(S0.from(Wg,"base64"));Hl.font=D0.parse(BT.buffer);Hl.loaded=!0;function ET(r,e){return{config:e,writer:{write:async(i,a,A)=>{await QT(r,i,a,A)}},canvas:{create(i,a){let A=Ma.make(i,a);return{getContext:l=>A.getContext(l),getPng:()=>{let l=new Ll.PNG({width:A.width,height:A.height});return l.data=S0.from(A.data),Uint8Array.from(Ll.PNG.sync.write(l)).buffer},measureText(l,u){let p=Hl.font,f=l._font.size,g=0,m=0,E=0,b=p.stringToGlyphs(u);for(let y of b){let Q=y.getMetrics();g+=y.advanceWidth,m=Math.max(m,Q.yMax),E=Math.min(E,Q.yMin)}return{width:g/p.unitsPerEm*f,ascent:Math.abs(m/p.unitsPerEm*f),descent:Math.abs(E/p.unitsPerEm*f)}}}}}}}async function wT(r,e){let i=await yT(e);r.allowNonEmptyDir||await Hg(i)||Fi("The target directory must be empty (use --allow-non-empty-dir to generate into it anyway)");let a=await CT(Jr.basename(i),r);console.log(gT("Generating mod template...")),await Th(ET(i,a)),console.log(mT("Done!"))}async function yT(r){if(r==null)return Jr.resolve(hT());let e=Jr.resolve(r);return await T0(e,{recursive:!0}),e}async function CT(r,e){let i=So();xT(e);let a=e.name??(e.defaultOptions?r:await rs({type:"text",message:"Choose a name",initial:r,validate:y=>y.length>=2||"The name must have at least 2 characters"})),A=e.modid??(e.defaultOptions?Fo(a):await rs({type:"text",message:"Choose a unique modid",initial:Fo(a),validate:y=>{if(y.length<2||y.length>64)return"The modid must have between 2 and 64 characters";let Q=Io(y);return Q==null?!0:Q.join(", ")}})),l=e.packageName??(e.defaultOptions?In(A):await rs({type:"text",message:"Choose a package name",initial:th((pT.FABRIC_MOD_GENERATOR_GLOBAL_PACKAGE_PREFIX??"")+A),format:y=>In(y),validate:y=>{let Q=In(y),v=Js(Q);return v.length==0?!0:v.join(", ")}})),u=await i,p;e.version!=null?(p=e.version,u.map(y=>y.version).includes(p)||Fi(`The minecraft version ${p} does not exist.`)):e.defaultOptions?p=u.find(y=>y.stable).version:p=await rs({type:"select",message:"Select the minecraft version",choices:u.map(y=>({title:y.version,value:y.version})),initial:Math.max(0,u.findIndex(y=>y.stable))});let f=e.option?.map(bT),g=f?.filter(y=>y.enabled).map(y=>y.option),m=f?.filter(y=>!y.enabled).map(y=>y.option)??[],E=I0(p).filter(y=>y.selected).map(y=>y.value),b=e.defaultOptions?[...E,...g??[]].filter(y=>!m.includes(y)):g??await rs({type:"multiselect",message:"Advanced options",choices:I0(p)});return{modid:A,minecraftVersion:p,projectName:a,packageName:l,mojmap:Ei(p)||b.includes(Ia),useKotlin:b.includes(Fa),dataGeneration:b.includes(Ta),splitSources:b.includes(Sa),gradleKotlin:b.includes(Da),uniqueModIcon:b.includes(Pl)}}function bT(r){let[e,i]=r.split("=",2);return va.has(e)||Fi(`Unknown option ${e} must be one of: ${Array.from(va.keys()).join(", ")}`),i!=null&&i!="true"&&i!="false"&&Fi(`Invalid value ${i} for option ${e} must be true or false`),{option:va.get(e),enabled:i!="false"}}function xT(r){if(r.modid!=null){let e=Io(r.modid);e!=null&&Fi(e.join(", "))}if(r.packageName!=null){let e=Js(r.packageName);e.length>0&&Fi(e.join(", "))}}async function rs(r){return(await(0,F0.default)({...r,name:"value"},{onCancel:()=>Fi("Project generation cancelled")})).value}function I0(r){let e=[];return e.push({title:Pl,value:Pl,selected:!0}),e.push({title:Fa,value:Fa}),Ei(r)||e.push({title:Ia,value:Ia,selected:!0}),Ps(r)&&e.push({title:Ta,value:Ta}),Hs(r)&&e.push({title:Sa,value:Sa,selected:!0}),e.push({title:Da,value:Da}),e}async function QT(r,e,i,a){let A=Jr.join(r,e);await T0(Jr.dirname(A),{recursive:!0}),await uT(A,typeof i=="string"?i:new Uint8Array(i),{mode:a?.executable?484:void 0})}function Fi(r){console.error(dT(r)),fT(1)}var vT="1.19-SNAPSHOT",IT={getGameVersions:Hi,getLoaderVersions:Us,getYarnVersions:Nu,getApiVersionForMinecraft:Ns,minecraftIsUnobfuscated:Ei};function U0(){return new Li().name("versions").description("Show the recommended Fabric versions for a Minecraft version").option("--json","Print the recommended versions as JSON").argument("[minecraftVersion]","The Minecraft version").action(async(r,e)=>{let i=await FT(r);console.log(e.json?ST(i):TT(i))})}async function FT(r,e=IT){let[i,a,A]=await Promise.all([e.getGameVersions(),e.getLoaderVersions(),e.getYarnVersions()]),l=i.find(E=>E.stable);if(!l)throw new Error("Could not find a stable Minecraft version.");let u=i[0]?.stable?void 0:i[0],p=r??l.version;DT(p,i,u?.version);let f=a.find(E=>E.stable);if(!f)throw new Error("Could not find a stable Fabric Loader version.");let g=e.minecraftIsUnobfuscated(p),m={minecraft_version:p,loader_version:f.version,loom_version:vT,fabric_api_version:await e.getApiVersionForMinecraft(p)};return g||(m.yarn_mappings=A.find(E=>E.gameVersion===p)?.version??"unknown"),m}function TT(r){let e=[`minecraft_version=${r.minecraft_version}`];return r.yarn_mappings&&e.push(`yarn_mappings=${r.yarn_mappings}`),e.push(`loader_version=${r.loader_version}`),e.push(`loom_version=${r.loom_version}`),e.push(`fabric_api_version=${r.fabric_api_version}`),e.join(`
|
|
1170
|
+
`)}function ST(r){return JSON.stringify(r,null,2)}function DT(r,e,i){let a=e.find(A=>A.version===r);if(!a)throw new Error(`Unknown Minecraft version: ${r}`);if(!a.stable&&a.version!==i)throw new Error(`Minecraft version ${r} is not supported. Only stable versions and the latest snapshot are supported.`)}var MT="0.1.498",Ua=new Li().name("fabric").version(MT).description("A set of command line tools to aid Fabric mod development").action(()=>{Ua.outputHelp()});Ua.addCommand(M0());Ua.addCommand(U0());await Ua.parseAsync();
|