1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4311],{99927:(e,t,r)=>{var n,a,o,s,i,u=r(88220).Buffer;function l(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}String.prototype.codePointAt||function(){var e=function(){try{var e={},t=Object.defineProperty,r=t(e,e,e)&&t}catch(e){}return r}(),t=function(e){if(this==null)throw TypeError();var t,r=String(this),n=r.length,a=e?Number(e):0;if(a!=a&&(a=0),!(a<0)&&!(a>=n)){var o=r.charCodeAt(a);return o>=55296&&o<=56319&&n>a+1&&(t=r.charCodeAt(a+1))>=56320&&t<=57343?(o-55296)*1024+t-56320+65536:o}};e?e(String.prototype,"codePointAt",{value:t,configurable:!0,writable:!0}):String.prototype.codePointAt=t}();var p=new l,c=new l,h=new Uint8Array(30),f=new Uint16Array(30),d=new Uint8Array(30),g=new Uint16Array(30),v=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),m=new l,y=new Uint8Array(320);function b(e,t,r,n){var a,o;for(a=0;a<r;++a)e[a]=0;for(a=0;a<30-r;++a)e[a+r]=a/r|0;for(o=n,a=0;a<30;++a)t[a]=o,o+=1<<e[a]}new Uint16Array(16);!function(e,t){var r;for(r=0;r<7;++r)e.table[r]=0;for(r=0,e.table[7]=24,e.table[8]=152,e.table[9]=112;r<24;++r)e.trans[r]=256+r;for(r=0;r<144;++r)e.trans[24+r]=r;for(r=0;r<8;++r)e.trans[168+r]=280+r;for(r=0;r<112;++r)e.trans[176+r]=144+r;for(r=0;r<5;++r)t.table[r]=0;for(r=0,t.table[5]=32;r<32;++r)t.trans[r]=r}(p,c),b(h,f,4,3),b(d,g,2,1),h[28]=0,f[28]=258;function x(e,t,r,n,a){return Math.pow(1-a,3)*e+3*Math.pow(1-a,2)*a*t+3*(1-a)*Math.pow(a,2)*r+Math.pow(a,3)*n}function S(){this.x1=NaN,this.y1=NaN,this.x2=NaN,this.y2=NaN}function T(){this.commands=[],this.fill="black",this.stroke=null,this.strokeWidth=1}function k(e,t){e||function(e){throw Error(e)}(t)}S.prototype.isEmpty=function(){return isNaN(this.x1)||isNaN(this.y1)||isNaN(this.x2)||isNaN(this.y2)},S.prototype.addPoint=function(e,t){"number"==typeof e&&((isNaN(this.x1)||isNaN(this.x2))&&(this.x1=e,this.x2=e),e<this.x1&&(this.x1=e),e>this.x2&&(this.x2=e)),"number"==typeof t&&((isNaN(this.y1)||isNaN(this.y2))&&(this.y1=t,this.y2=t),t<this.y1&&(this.y1=t),t>this.y2&&(this.y2=t))},S.prototype.addX=function(e){this.addPoint(e,null)},S.prototype.addY=function(e){this.addPoint(null,e)},S.prototype.addBezier=function(e,t,r,n,a,o,s,i){var u=[e,t],l=[r,n],p=[a,o],c=[s,i];this.addPoint(e,t),this.addPoint(s,i);for(var h=0;h<=1;h++){var f=6*u[h]-12*l[h]+6*p[h],d=-3*u[h]+9*l[h]-9*p[h]+3*c[h],g=3*l[h]-3*u[h];if(0===d){if(0===f)continue;var v=-g/f;0<v&&v<1&&(0===h&&this.addX(x(u[h],l[h],p[h],c[h],v)),1===h&&this.addY(x(u[h],l[h],p[h],c[h],v)));continue}var m=Math.pow(f,2)-4*g*d;if(!(m<0)){var y=(-f+Math.sqrt(m))/(2*d);0<y&&y<1&&(0===h&&this.addX(x(u[h],l[h],p[h],c[h],y)),1===h&&this.addY(x(u[h],l[h],p[h],c[h],y)));var b=(-f-Math.sqrt(m))/(2*d);0<b&&b<1&&(0===h&&this.addX(x(u[h],l[h],p[h],c[h],b)),1===h&&this.addY(x(u[h],l[h],p[h],c[h],b)))}}},S.prototype.addQuad=function(e,t,r,n,a,o){var s=e+2/3*(r-e),i=t+2/3*(n-t);this.addBezier(e,t,s,i,s+1/3*(a-e),i+1/3*(o-t),a,o)},T.prototype.moveTo=function(e,t){this.commands.push({type:"M",x:e,y:t})},T.prototype.lineTo=function(e,t){this.commands.push({type:"L",x:e,y:t})},T.prototype.curveTo=T.prototype.bezierCurveTo=function(e,t,r,n,a,o){this.commands.push({type:"C",x1:e,y1:t,x2:r,y2:n,x:a,y:o})},T.prototype.quadTo=T.prototype.quadraticCurveTo=function(e,t,r,n){this.commands.push({type:"Q",x1:e,y1:t,x:r,y:n})},T.prototype.close=T.prototype.closePath=function(){this.commands.push({type:"Z"})},T.prototype.extend=function(e){if(e.commands)e=e.commands;else if(e instanceof S){var t=e;this.moveTo(t.x1,t.y1),this.lineTo(t.x2,t.y1),this.lineTo(t.x2,t.y2),this.lineTo(t.x1,t.y2),this.close();return}Array.prototype.push.apply(this.commands,e)},T.prototype.getBoundingBox=function(){for(var e=new S,t=0,r=0,n=0,a=0,o=0;o<this.commands.length;o++){var s=this.commands[o];switch(s.type){case"M":e.addPoint(s.x,s.y),t=n=s.x,r=a=s.y;break;case"L":e.addPoint(s.x,s.y),n=s.x,a=s.y;break;case"Q":e.addQuad(n,a,s.x1,s.y1,s.x,s.y),n=s.x,a=s.y;break;case"C":e.addBezier(n,a,s.x1,s.y1,s.x2,s.y2,s.x,s.y),n=s.x,a=s.y;break;case"Z":n=t,a=r;break;default:throw Error("Unexpected path command "+s.type)}}return e.isEmpty()&&e.addPoint(0,0),e},T.prototype.draw=function(e){e.beginPath();for(var t=0;t<this.commands.length;t+=1){var r=this.commands[t];"M"===r.type?e.moveTo(r.x,r.y):"L"===r.type?e.lineTo(r.x,r.y):"C"===r.type?e.bezierCurveTo(r.x1,r.y1,r.x2,r.y2,r.x,r.y):"Q"===r.type?e.quadraticCurveTo(r.x1,r.y1,r.x,r.y):"Z"===r.type&&e.closePath()}this.fill&&(e.fillStyle=this.fill,e.fill()),this.stroke&&(e.strokeStyle=this.stroke,e.lineWidth=this.strokeWidth,e.stroke())},T.prototype.toPathData=function(e){function t(){for(var t=arguments,r="",n=0;n<arguments.length;n+=1){var a=t[n];a>=0&&n>0&&(r+=" "),r+=Math.round(a)===a?""+Math.round(a):a.toFixed(e)}return r}e=void 0!==e?e:2;for(var r="",n=0;n<this.commands.length;n+=1){var a=this.commands[n];"M"===a.type?r+="M"+t(a.x,a.y):"L"===a.type?r+="L"+t(a.x,a.y):"C"===a.type?r+="C"+t(a.x1,a.y1,a.x2,a.y2,a.x,a.y):"Q"===a.type?r+="Q"+t(a.x1,a.y1,a.x,a.y):"Z"===a.type&&(r+="Z")}return r},T.prototype.toSVG=function(e){var t='<path d="';return t+=this.toPathData(e),t+='"',this.fill&&"black"!==this.fill&&(null===this.fill?t+=' fill="none"':t+=' fill="'+this.fill+'"'),this.stroke&&(t+=' stroke="'+this.stroke+'" stroke-width="'+this.strokeWidth+'"'),t+="/>"},T.prototype.toDOMElement=function(e){var t=this.toPathData(e),r=document.createElementNS("http://www.w3.org/2000/svg","path");return r.setAttribute("d",t),r};var U={argument:k,assert:k},O={},E={},R={};function C(e){return function(){return e}}E.BYTE=function(e){return U.argument(e>=0&&e<=255,"Byte value should be between 0 and 255."),[e]},R.BYTE=C(1),E.CHAR=function(e){return[e.charCodeAt(0)]},R.CHAR=C(1),E.CHARARRAY=function(e){void 0===e&&(e="",console.warn("Undefined CHARARRAY encountered and treated as an empty string. This is probably caused by a missing glyph name."));for(var t=[],r=0;r<e.length;r+=1)t[r]=e.charCodeAt(r);return t},R.CHARARRAY=function(e){return void 0===e?0:e.length},E.USHORT=function(e){return[e>>8&255,255&e]},R.USHORT=C(2),E.SHORT=function(e){return e>=32768&&(e=-(65536-e)),[e>>8&255,255&e]},R.SHORT=C(2),E.UINT24=function(e){return[e>>16&255,e>>8&255,255&e]},R.UINT24=C(3),E.ULONG=function(e){return[e>>24&255,e>>16&255,e>>8&255,255&e]},R.ULONG=C(4),E.LONG=function(e){return e>=0x80000000&&(e=-(0x100000000-e)),[e>>24&255,e>>16&255,e>>8&255,255&e]},R.LONG=C(4),E.FIXED=E.ULONG,R.FIXED=R.ULONG,E.FWORD=E.SHORT,R.FWORD=R.SHORT,E.UFWORD=E.USHORT,R.UFWORD=R.USHORT,E.LONGDATETIME=function(e){return[0,0,0,0,e>>24&255,e>>16&255,e>>8&255,255&e]},R.LONGDATETIME=C(8),E.TAG=function(e){return U.argument(4===e.length,"Tag should be exactly 4 ASCII characters."),[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]},R.TAG=C(4),E.Card8=E.BYTE,R.Card8=R.BYTE,E.Card16=E.USHORT,R.Card16=R.USHORT,E.OffSize=E.BYTE,R.OffSize=R.BYTE,E.SID=E.USHORT,R.SID=R.USHORT,E.NUMBER=function(e){return e>=-107&&e<=107?[e+139]:e>=108&&e<=1131?[((e-=108)>>8)+247,255&e]:e>=-1131&&e<=-108?[((e=-e-108)>>8)+251,255&e]:e>=-32768&&e<=32767?E.NUMBER16(e):E.NUMBER32(e)},R.NUMBER=function(e){return E.NUMBER(e).length},E.NUMBER16=function(e){return[28,e>>8&255,255&e]},R.NUMBER16=C(3),E.NUMBER32=function(e){return[29,e>>24&255,e>>16&255,e>>8&255,255&e]},R.NUMBER32=C(5),E.REAL=function(e){var t=e.toString(),r=/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/.exec(t);if(r){var n=parseFloat("1e"+((r[2]?+r[2]:0)+r[1].length));t=(Math.round(e*n)/n).toString()}for(var a="",o=0,s=t.length;o<s;o+=1){var i=t[o];"e"===i?a+="-"===t[++o]?"c":"b":"."===i?a+="a":"-"===i?a+="e":a+=i}a+=1&a.length?"f":"ff";for(var u=[30],l=0,p=a.length;l<p;l+=2)u.push(parseInt(a.substr(l,2),16));return u},R.REAL=function(e){return E.REAL(e).length},E.NAME=E.CHARARRAY,R.NAME=R.CHARARRAY,E.STRING=E.CHARARRAY,R.STRING=R.CHARARRAY,O.UTF8=function(e,t,r){for(var n=[],a=0;a<r;a++,t+=1)n[a]=e.getUint8(t);return String.fromCharCode.apply(null,n)},O.UTF16=function(e,t,r){for(var n=[],a=r/2,o=0;o<a;o++,t+=2)n[o]=e.getUint16(t);return String.fromCharCode.apply(null,n)},E.UTF16=function(e){for(var t=[],r=0;r<e.length;r+=1){var n=e.charCodeAt(r);t[t.length]=n>>8&255,t[t.length]=255&n}return t},R.UTF16=function(e){return 2*e.length};var L={"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â \xb0\xa2\xa3\xa7â¢\xb6\xdf\xaeÅ â¢\xb4\xa8â Ž\xd8â\xb1â¤â¥â\xb5âââÅ¡â«\xaa\xbaΩž\xf8\xbf\xa1\xacâÆâÄ\xabÄâ¦\xa0\xc0\xc3\xd5ÅÅÄâââââ\xf7â\xa9ââ¬â¹âº\xc6\xbbâ\xb7âââ°\xc2Ä\xc1Ä\xc8\xcd\xce\xcf\xcc\xd3\xd4Ä\xd2\xda\xdb\xd9ıËË\xafÏ\xcbË\xb8\xca\xe6Ë","x-mac-cyrillic":"ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐРСТУФХЦЧШЩЪЫЬÐЮЯâ \xb0Ò\xa3\xa7â¢\xb6Ð\xae\xa9â¢ÐÑâ ÐÑâ\xb1â¤â¥Ñ\xb5ÒÐÐÑÐÑÐÑÐÑÑÐ
\xacâÆââ\xab\xbbâ¦\xa0ÐÑÐÑÑââââââ\xf7âÐÑÐÑâÐÑÑабвгдежзийклмнопÑÑÑÑÑÑ
ÑÑÑÑÑÑÑÑÑ","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â \xb0\xa2\xa3\xa7â¢\xb6\xdf\xae\xa9â¢\xb4\xa8â \xc6\xd8á¸\xb1â¤â¥á¸ÄÄá¸á¸á¸á¸Ä Ä¡á¹\xe6\xf8á¹á¹á¹É¼ÆÅ¿á¹ \xab\xbbâ¦\xa0\xc0\xc3\xd5ÅÅââââââṡáº\xffŸṪâ¬â¹âºÅ¶Å·á¹«\xb7Ỳỳâ\xc2\xca\xc1\xcb\xc8\xcd\xce\xcf\xcc\xd3\xd4â£\xd2\xda\xdb\xd9ı\xdd\xfdŴŵáºáº
áºáºáºáº","x-mac-greek":"\xc4\xb9\xb2\xc9\xb3\xd6\xdcÎ
\xe0\xe2\xe4Î\xa8\xe7\xe9\xe8\xea\xeb\xa3â¢\xee\xefâ¢\xbdâ°\xf4\xf6\xa6â¬\xf9\xfb\xfcâ ÎÎÎÎÎÎ \xdf\xae\xa9ΣΪ\xa7â \xb0\xb7Î\xb1â¤â¥\xa5ÎÎÎÎÎÎÎΦΫΨΩάÎ\xacÎΡâΤ\xab\xbbâ¦\xa0ΥΧÎÎÅââââââ\xf7ÎÎÎÎÎήίÏÎÏαβÏδεÏγηιξκλμνοÏÏÏÏÏθÏÏÏÏ
ζÏÏÎΰ\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â¢\xb6\xdf\xae\xa9â¢\xb4\xa8â \xc6\xd8â\xb1â¤â¥\xa5\xb5âââÏâ«\xaa\xbaΩ\xe6\xf8\xbf\xa1\xacâÆââ\xab\xbbâ¦\xa0\xc0\xc3\xd5ÅÅââââââ\xf7â\xffŸââ¬\xd0\xf0\xde\xfe\xfd\xb7âââ°\xc2\xca\xc1\xcb\xc8\xcd\xce\xcf\xcc\xd3\xd4\xd2\xda\xdb\xd9ıËË\xafËËË\xb8ËËË","x-mac-inuit":"ááá
áááá±á²á³á´á¸á¹áááááááá¦áá®á¯á°á²á³ááááááá\xb0á¡á¥á¦â¢\xb6á§\xae\xa9â¢á¨áªá«á»áááá
áááá¯á°á±á²á´áµá
áááááááªá¨á©áªá«áâ¦\xa0á®á¾áááââââââáááááááááááá¿áááááá
áááááááá±á²á³á´áµá¶áá á¡á¢á£á¤á¥á¦á¼ÅÅ","x-mac-ce":"\xc4ÄÄ\xc9Ä\xd6\xdc\xe1Ä
Ä\xe4ÄÄÄ\xe9ŹźÄ\xedÄÄÄÄ\xf3Ä\xf4\xf6\xf5\xfaÄÄ\xfcâ \xb0Ä\xa3\xa7â¢\xb6\xdf\xae\xa9â¢Ä\xa8â ģĮįĪâ¤â¥Ä«Ä¶ââÅĻļĽľĹĺÅ
ÅÅ\xacâÅÅâ\xab\xbbâ¦\xa0ÅÅ\xd5ÅÅââââââ\xf7âÅÅÅÅâ¹âºÅÅÅÅ ââÅ¡ÅÅ\xc1Ťť\xcdŽžŪ\xd3\xd4ūŮ\xdaůŰűŲų\xdd\xfdÄ·Å»ÅżĢË",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â \xb0\xa2\xa3\xa7â¢\xb6\xdf\xae\xa9â¢\xb4\xa8â \xc6\xd8â\xb1â¤â¥\xa5\xb5âââÏâ«\xaa\xbaΩ\xe6\xf8\xbf\xa1\xacâÆââ\xab\xbbâ¦\xa0\xc0\xc3\xd5ÅÅââââââ\xf7â\xffŸââ¬â¹âºï¬ï¬â¡\xb7âââ°\xc2\xca\xc1\xcb\xc8\xcd\xce\xcf\xcc\xd3\xd4\xd2\xda\xdb\xd9ıËË\xafËËË\xb8ËËË","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â \xb0\xa2\xa3\xa7â¢\xb6\xdf\xae\xa9â¢\xb4\xa8â ÄÈâ\xb1â¤â¥\xa5\xb5âââÏâ«\xaa\xbaΩÄÈ\xbf\xa1\xacâÆââ\xab\xbbâ¦\xa0\xc0\xc3\xd5ÅÅââââââ\xf7â\xffŸââ¬â¹âºÈÈâ¡\xb7âââ°\xc2\xca\xc1\xcb\xc8\xcd\xce\xcf\xcc\xd3\xd4\xd2\xda\xdb\xd9ıËË\xafËËË\xb8ËËË","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â \xb0\xa2\xa3\xa7â¢\xb6\xdf\xae\xa9â¢\xb4\xa8â \xc6\xd8â\xb1â¤â¥\xa5\xb5âââÏâ«\xaa\xbaΩ\xe6\xf8\xbf\xa1\xacâÆââ\xab\xbbâ¦\xa0\xc0\xc3\xd5ÅÅââââââ\xf7â\xffŸÄÄİıÅÅâ¡\xb7âââ°\xc2\xca\xc1\xcb\xc8\xcd\xce\xcf\xcc\xd3\xd4\xd2\xda\xdb\xd9ï¢ ËË\xafËËË\xb8ËËË"};O.MACSTRING=function(e,t,r,n){var a=L[n];if(void 0!==a){for(var o="",s=0;s<r;s++){var i=e.getUint8(t+s);i<=127?o+=String.fromCharCode(i):o+=a[127&i]}return o}};var D="function"==typeof WeakMap&&new WeakMap,w=function(e){if(!n)for(var t in n={},L)n[t]=new String(t);var r=n[e];if(void 0!==r){if(D){var a=D.get(r);if(void 0!==a)return a}var o=L[e];if(void 0!==o){for(var s={},i=0;i<o.length;i++)s[o.charCodeAt(i)]=i+128;return D&&D.set(r,s),s}}};function I(e){return e>=-128&&e<=127}E.MACSTRING=function(e,t){var r=w(t);
1if(void 0!==r){for(var n=[],a=0;a<e.length;a++){var o=e.charCodeAt(a);if(o>=128&&void 0===(o=r[o]))return;n[a]=o}return n}},R.MACSTRING=function(e,t){var r=E.MACSTRING(e,t);return void 0!==r?r.length:0},E.VARDELTAS=function(e){for(var t=0,r=[];t<e.length;){var n=e[t];t=0===n?function(e,t,r){for(var n=0,a=e.length;t<a&&n<64&&0===e[t];)++t,++n;return r.push(128|n-1),t}(e,t,r):n>=-128&&n<=127?function(e,t,r){for(var n=0,a=e.length,o=t;o<a&&n<64;){var s=e[o];if(!I(s)||0===s&&o+1<a&&0===e[o+1])break;++o,++n}r.push(n-1);for(var i=t;i<o;++i)r.push(e[i]+256&255);return o}(e,t,r):function(e,t,r){for(var n=0,a=e.length,o=t;o<a&&n<64;){var s=e[o];if(0===s||I(s)&&o+1<a&&I(e[o+1]))break;++o,++n}r.push(64|n-1);for(var i=t;i<o;++i){var u=e[i];r.push(u+65536>>8&255,u+256&255)}return o}(e,t,r)}return r},E.INDEX=function(e){for(var t=1,r=[1],n=[],a=0;a<e.length;a+=1){var o=E.OBJECT(e[a]);Array.prototype.push.apply(n,o),t+=o.length,r.push(t)}if(0===n.length)return[0,0];for(var s=[],i=1+Math.floor(Math.log(t)/Math.log(2))/8|0,u=[void 0,E.BYTE,E.USHORT,E.UINT24,E.ULONG][i],l=0;l<r.length;l+=1){var p=u(r[l]);Array.prototype.push.apply(s,p)}return Array.prototype.concat(E.Card16(e.length),E.OffSize(i),s,n)},R.INDEX=function(e){return E.INDEX(e).length},E.DICT=function(e){for(var t=[],r=Object.keys(e),n=r.length,a=0;a<n;a+=1){var o=parseInt(r[a],0),s=e[o];t=(t=t.concat(E.OPERAND(s.value,s.type))).concat(E.OPERATOR(o))}return t},R.DICT=function(e){return E.DICT(e).length},E.OPERATOR=function(e){return e<1200?[e]:[12,e-1200]},E.OPERAND=function(e,t){var r=[];if(Array.isArray(t))for(var n=0;n<t.length;n+=1)U.argument(e.length===t.length,"Not enough arguments given for type"+t),r=r.concat(E.OPERAND(e[n],t[n]));else if("SID"===t)r=r.concat(E.NUMBER(e));else if("offset"===t)r=r.concat(E.NUMBER32(e));else if("number"===t)r=r.concat(E.NUMBER(e));else if("real"===t)r=r.concat(E.REAL(e));else throw Error("Unknown operand type "+t);return r},E.OP=E.BYTE,R.OP=R.BYTE;var M="function"==typeof WeakMap&&new WeakMap;function B(e,t,r){if(t.length&&("coverageFormat"!==t[0].name||1===t[0].value))for(var n=0;n<t.length;n+=1){var a=t[n];this[a.name]=a.value}if(this.tableName=e,this.fields=t,r)for(var o=Object.keys(r),s=0;s<o.length;s+=1){var i=o[s],u=r[i];void 0!==this[i]&&(this[i]=u)}}function G(e,t,r){void 0===r&&(r=t.length);var n=Array(t.length+1);n[0]={name:e+"Count",type:"USHORT",value:r};for(var a=0;a<t.length;a++)n[a+1]={name:e+a,type:"USHORT",value:t[a]};return n}function A(e,t,r){var n=t.length,a=Array(n+1);a[0]={name:e+"Count",type:"USHORT",value:n};for(var o=0;o<n;o++)a[o+1]={name:e+o,type:"TABLE",value:r(t[o],o)};return a}function N(e,t,r){var n=t.length,a=[];a[0]={name:e+"Count",type:"USHORT",value:n};for(var o=0;o<n;o++)a=a.concat(r(t[o],o));return a}function P(e){1===e.format?B.call(this,"coverageTable",[{name:"coverageFormat",type:"USHORT",value:1}].concat(G("glyph",e.glyphs))):2===e.format?B.call(this,"coverageTable",[{name:"coverageFormat",type:"USHORT",value:2}].concat(N("rangeRecord",e.ranges,function(e){return[{name:"startGlyphID",type:"USHORT",value:e.start},{name:"endGlyphID",type:"USHORT",value:e.end},{name:"startCoverageIndex",type:"USHORT",value:e.index}]}))):U.assert(!1,"Coverage format must be 1 or 2.")}function F(e){B.call(this,"scriptListTable",N("scriptRecord",e,function(e,t){var r=e.script,n=r.defaultLangSys;return U.assert(!!n,"Unable to write GSUB: script "+e.tag+" has no default language system."),[{name:"scriptTag"+t,type:"TAG",value:e.tag},{name:"script"+t,type:"TABLE",value:new B("scriptTable",[{name:"defaultLangSys",type:"TABLE",value:new B("defaultLangSys",[{name:"lookupOrder",type:"USHORT",value:0},{name:"reqFeatureIndex",type:"USHORT",value:n.reqFeatureIndex}].concat(G("featureIndex",n.featureIndexes)))}].concat(N("langSys",r.langSysRecords,function(e,t){var r=e.langSys;return[{name:"langSysTag"+t,type:"TAG",value:e.tag},{name:"langSys"+t,type:"TABLE",value:new B("langSys",[{name:"lookupOrder",type:"USHORT",value:0},{name:"reqFeatureIndex",type:"USHORT",value:r.reqFeatureIndex}].concat(G("featureIndex",r.featureIndexes)))}]})))}]}))}function H(e){B.call(this,"featureListTable",N("featureRecord",e,function(e,t){var r=e.feature;return[{name:"featureTag"+t,type:"TAG",value:e.tag},{name:"feature"+t,type:"TABLE",value:new B("featureTable",[{name:"featureParam
1s",type:"USHORT",value:r.featureParams}].concat(G("lookupListIndex",r.lookupListIndexes)))}]}))}function z(e,t){B.call(this,"lookupListTable",A("lookup",e,function(e){var r=t[e.lookupType];return U.assert(!!r,"Unable to write GSUB lookup type "+e.lookupType+" tables."),new B("lookupTable",[{name:"lookupType",type:"USHORT",value:e.lookupType},{name:"lookupFlag",type:"USHORT",value:e.lookupFlag}].concat(A("subtable",e.subtables,r)))}))}E.CHARSTRING=function(e){if(M){var t=M.get(e);if(void 0!==t)return t}for(var r=[],n=e.length,a=0;a<n;a+=1){var o=e[a];r=r.concat(E[o.type](o.value))}return M&&M.set(e,r),r},R.CHARSTRING=function(e){return E.CHARSTRING(e).length},E.OBJECT=function(e){var t=E[e.type];return U.argument(void 0!==t,"No encoding function for type "+e.type),t(e.value)},R.OBJECT=function(e){var t=R[e.type];return U.argument(void 0!==t,"No sizeOf function for type "+e.type),t(e.value)},E.TABLE=function(e){for(var t=[],r=e.fields.length,n=[],a=[],o=0;o<r;o+=1){var s=e.fields[o],i=E[s.type];U.argument(void 0!==i,"No encoding function for field type "+s.type+" ("+s.name+")");var u=e[s.name];void 0===u&&(u=s.value);var l=i(u);"TABLE"===s.type?(a.push(t.length),t=t.concat([0,0]),n.push(l)):t=t.concat(l)}for(var p=0;p<n.length;p+=1){var c=a[p],h=t.length;U.argument(h<65536,"Table "+e.tableName+" too big."),t[c]=h>>8,t[c+1]=255&h,t=t.concat(n[p])}return t},R.TABLE=function(e){for(var t=0,r=e.fields.length,n=0;n<r;n+=1){var a=e.fields[n],o=R[a.type];U.argument(void 0!==o,"No sizeOf function for field type "+a.type+" ("+a.name+")");var s=e[a.name];void 0===s&&(s=a.value),t+=o(s),"TABLE"===a.type&&(t+=2)}return t},E.RECORD=E.TABLE,R.RECORD=R.TABLE,E.LITERAL=function(e){return e},R.LITERAL=function(e){return e.length},B.prototype.encode=function(){return E.TABLE(this)},B.prototype.sizeOf=function(){return R.TABLE(this)},P.prototype=Object.create(B.prototype),P.prototype.constructor=P,F.prototype=Object.create(B.prototype),F.prototype.constructor=F,H.prototype=Object.create(B.prototype),H.prototype.constructor=H,z.prototype=Object.create(B.prototype),z.prototype.constructor=z;var W={Table:B,Record:B,Coverage:P,ScriptList:F,FeatureList:H,LookupList:z,ushortList:G,tableList:A};function q(e,t){return e.getUint8(t)}function _(e,t){return e.getUint16(t,!1)}function X(e,t){return e.getUint32(t,!1)}var Y={byte:1,uShort:2,short:2,uLong:4,fixed:4,longDateTime:8,tag:4};function j(e,t){this.data=e,this.offset=t,this.relativeOffset=0}j.prototype.parseByte=function(){var e=this.data.getUint8(this.offset+this.relativeOffset);return this.relativeOffset+=1,e},j.prototype.parseChar=function(){var e=this.data.getInt8(this.offset+this.relativeOffset);return this.relativeOffset+=1,e},j.prototype.parseCard8=j.prototype.parseByte,j.prototype.parseUShort=function(){var e=this.data.getUint16(this.offset+this.relativeOffset);return this.relativeOffset+=2,e},j.prototype.parseCard16=j.prototype.parseUShort,j.prototype.parseSID=j.prototype.parseUShort,j.prototype.parseOffset16=j.prototype.parseUShort,j.prototype.parseShort=function(){var e=this.data.getInt16(this.offset+this.relativeOffset);return this.relativeOffset+=2,e},j.prototype.parseF2Dot14=function(){var e=this.data.getInt16(this.offset+this.relativeOffset)/16384;return this.relativeOffset+=2,e},j.prototype.parseULong=function(){var e=X(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,e},j.prototype.parseOffset32=j.prototype.parseULong,j.prototype.parseFixed=function(){var e,t,r=(e=this.data,t=this.offset+this.relativeOffset,e.getInt16(t,!1)+e.getUint16(t+2,!1)/65535);return this.relativeOffset+=4,r},j.prototype.parseString=function(e){var t=this.data,r=this.offset+this.relativeOffset,n="";this.relativeOffset+=e;for(var a=0;a<e;a++)n+=String.fromCharCode(t.getUint8(r+a));return n},j.prototype.parseTag=function(){return this.parseString(4)},j.prototype.parseLongDateTime=function(){var e=X(this.data,this.offset+this.relativeOffset+4);return e-=0x7c25b080,this.relativeOffset+=8,e},j.prototype.parseVersion=function(e){var t=_(this.data,this.offset+this.relativeOffset),r=_(this.data,this.offset+this.relativeOffset+2);return this.relativeOffset+=4,void 0===e&&(e=4096),t+r/e/10},j.prototype.skip=function(e,t){void 0===t&&(t=1),this.relativeOffset+=Y[e]*t},j.prototype.parseULongList=function(e){void 0===e&&(e=this.parseULong());for(var t=Array(e),r=this.data,n=this.offset+this.relativeOffset,a=0;a<e;a++)t[a]=r.getUint32(n),n+=4;return this.relativeOffset+=4*e,t},j.prototype.parseOffset16List=j.prototype.parseUShortList=function(e){void 0===e&&(e=this.parseUShort());for(var t=Array(e),r=this.data,n=this.offset+this.relativeOffset,a=0;a<e;a++)t[a]=r.getUint16(n),n+=2;return this.relativeOffset+=2*e,t},j.prototype.parseShortList=function(e){for(var t=Array(e),r=this.data,n=this.offset+this.relativeOffset,a=0;a<e;a++)t[a]=r.getInt16(n),n+=2;return this.relativeOffset+=2*e,t},j.prototype.parseByteList=function(e){for(var t=Array(e),r=this.data,n=this.offset+this.relativeOffset,a=0;a<e;a++)t[a]=r.getUint8(n++);return this.relativeOffset+=e,t},j.prototype.parseList=function(e,t){t||(t=e,e=this.parseUShort());for(var r=Array(e),n=0;n<e;n++)r[n]=t.call(this);return r},j.prototype.parseList32=function(e,t){t||(t=e,e=this.parseULong());for(var r=Array(e),n=0;n<e;n++)r[n]=t.call(this);return r},j.prototype.parseRecordList=function(e,t){t||(t=e,e=this.parseUShort());for(var r=Array(e),n=Object.keys(t),a=0;a<e;a++){for(var o={},s=0;s<n.length;s++){var i=n[s],u=t[i];o[i]=u.call(this)}r[a]=o}return r},j.prototype.parseRecordList32=function(e,t){t||(t=e,e=this.parseULong());for(var r=Array(e),n=Object.keys(t),a=0;a<e;a++){for(var o={},s=0;s<n.length;s++){var i=n[s],u=t[i];o[i]=u.call(this)}r[a]=o}return r},j.prototype.parseStruct=function(e){if("function"==typeof e)return e.call(this);for(var t=Object.keys(e),r={},n=0;n<t.length;n++){var a=t[n],o=e[a];r[a]=o.call(this)}return r},j.prototype.parseValueRecord=function(e){if(void 0===e&&(e=this.parseUShort()),0!==e){var t={};return 1&e&&(t.xPlacement=this.parseShort()),2&e&&(t.yPlacement=this.parseShort()),4&e&&(t.xAdvance=this.parseShort()),8&e&&(t.yAdvance=this.parseShort()),16&e&&(t.xPlaDevice=void 0,this.parseShort()),32&e&&(t.yPlaDevice=void 0,this.parseShort()),64&e&&(t.xAdvDevice=void 0,this.parseShort()),128&e&&(t.yAdvDevice=void 0,this.parseShort()),t}},j.prototype.parseValueRecordList=function(){for(var e=this.parseUShort(),t=this.parseUShort(),r=Array(t),n=0;n<t;n++)r[n]=this.parseValueRecord(e);return r},j.prototype.parsePointer=function(e){var t=this.parseOffset16();if(t>0)return new j(this.data,this.offset+t).parseStruct(e)},j.prototype.parsePointer32=function(e){var t=this.parseOffset32();if(t>0)return new j(this.data,this.offset+t).parseStruct(e)},j.prototype.parseListOfLists=function(e){for(var t=this.parseOffset16List(),r=t.length,n=this.relativeOffset,a=Array(r),o=0;o<r;o++){var s=t[o];if(0===s){a[o]=void 0;continue}if(this.relativeOffset=s,e){for(var i=this.parseOffset16List(),u=Array(i.length),l=0;l<i.length;l++)this.relativeOffset=s+i[l],u[l]=e.call(this);a[o]=u}else a[o]=this.parseUShortList()}return this.relativeOffset=n,a}
1,j.prototype.parseCoverage=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort(),r=this.parseUShort();if(1===t)return{format:1,glyphs:this.parseUShortList(r)};if(2===t){for(var n=Array(r),a=0;a<r;a++)n[a]={start:this.parseUShort(),end:this.parseUShort(),index:this.parseUShort()};return{format:2,ranges:n}}throw Error("0x"+e.toString(16)+": Coverage format must be 1 or 2.")},j.prototype.parseClassDef=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort();if(1===t)return{format:1,startGlyph:this.parseUShort(),classes:this.parseUShortList()};if(2===t)return{format:2,ranges:this.parseRecordList({start:j.uShort,end:j.uShort,classId:j.uShort})};throw Error("0x"+e.toString(16)+": ClassDef format must be 1 or 2.")},j.list=function(e,t){return function(){return this.parseList(e,t)}},j.list32=function(e,t){return function(){return this.parseList32(e,t)}},j.recordList=function(e,t){return function(){return this.parseRecordList(e,t)}},j.recordList32=function(e,t){return function(){return this.parseRecordList32(e,t)}},j.pointer=function(e){return function(){return this.parsePointer(e)}},j.pointer32=function(e){return function(){return this.parsePointer32(e)}},j.tag=j.prototype.parseTag,j.byte=j.prototype.parseByte,j.uShort=j.offset16=j.prototype.parseUShort,j.uShortList=j.prototype.parseUShortList,j.uLong=j.offset32=j.prototype.parseULong,j.uLongList=j.prototype.parseULongList,j.struct=j.prototype.parseStruct,j.coverage=j.prototype.parseCoverage,j.classDef=j.prototype.parseClassDef;var V={reserved:j.uShort,reqFeatureIndex:j.uShort,featureIndexes:j.uShortList};j.prototype.parseScriptList=function(){return this.parsePointer(j.recordList({tag:j.tag,script:j.pointer({defaultLangSys:j.pointer(V),langSysRecords:j.recordList({tag:j.tag,langSys:j.pointer(V)})})}))||[]},j.prototype.parseFeatureList=function(){return this.parsePointer(j.recordList({tag:j.tag,feature:j.pointer({featureParams:j.offset16,lookupListIndexes:j.uShortList})}))||[]},j.prototype.parseLookupList=function(e){return this.parsePointer(j.list(j.pointer(function(){var t=this.parseUShort();U.argument(1<=t&&t<=9,"GPOS/GSUB lookup type "+t+" unknown.");var r=this.parseUShort();return{lookupType:t,lookupFlag:r,subtables:this.parseList(j.pointer(e[t])),markFilteringSet:16&r?this.parseUShort():void 0}})))||[]},j.prototype.parseFeatureVariationsList=function(){return this.parsePointer32(function(){var e=this.parseUShort(),t=this.parseUShort();return U.argument(1===e&&t<1,"GPOS/GSUB feature variations table unknown."),this.parseRecordList32({conditionSetOffset:j.offset32,featureTableSubstitutionOffset:j.offset32})})||[]};var Z={getByte:q,getCard8:q,getUShort:_,getCard16:_,getULong:X,getTag:function(e,t){for(var r="",n=t;n<t+4;n+=1)r+=String.fromCharCode(e.getInt8(n));return r},getOffset:function(e,t,r){for(var n=0,a=0;a<r;a+=1)n<<=8,n+=e.getUint8(t+a);return n},getBytes:function(e,t,r){for(var n=[],a=t;a<r;a+=1)n.push(e.getUint8(a));return n},bytesToString:function(e){for(var t="",r=0;r<e.length;r+=1)t+=String.fromCharCode(e[r]);return t},Parser:j},Q={parse:function(e,t){var r={};r.version=Z.getUShort(e,t),U.argument(0===r.version,"cmap table version should be 0."),r.numTables=Z.getUShort(e,t+2);for(var n=-1,a=r.numTables-1;a>=0;a-=1){var o=Z.getUShort(e,t+4+8*a),s=Z.getUShort(e,t+4+8*a+2);if(3===o&&(0===s||1===s||10===s)||0===o&&(0===s||1===s||2===s||3===s||4===s)){n=Z.getULong(e,t+4+8*a+4);break}}if(-1===n)throw Error("No valid cmap sub-tables found.");var i=new Z.Parser(e,t+n);if(r.format=i.parseUShort(),12===r.format)!function(e,t){t.parseUShort(),e.length=t.parseULong(),e.language=t.parseULong(),e.groupCount=r=t.parseULong(),e.glyphIndexMap={};for(var r,n=0;n<r;n+=1)for(var a=t.parseULong(),o=t.parseULong(),s=t.parseULong(),i=a;i<=o;i+=1)e.glyphIndexMap[i]=s,s++}(r,i);else if(4===r.format)!function(e,t,r,n,a){e.length=t.parseUShort(),e.language=t.parseUShort(),e.segCount=o=t.parseUShort()>>1,t.skip("uShort",3),e.glyphIndexMap={};for(var o,s=new Z.Parser(r,n+a+14),i=new Z.Parser(r,n+a+16+2*o),u=new Z.Parser(r,n+a+16+4*o),l=new Z.Parser(r,n+a+16+6*o),p=n+a+16+8*o,c=0;c<o-1;c+=1)for(var h=void 0,f=s.parseUShort(),d=i.parseUShort(),g=u.parseShort(),v=l.parseUShort(),m=d;m<=f;m+=1)0!==v?(p=l.offset+l.relativeOffset-2+v+(m-d)*2,0!==(h=Z.getUShort(r,p))&&(h=h+g&65535)):h=m+g&65535,e.glyphIndexMap[m]=h}(r,i,e,t,n);else throw Error("Only format 4 and 12 cmap tables are supported (found format "+r.format+").");return r},make:function(e){var t,r=!0;for(t=e.length-1;t>0;t-=1)if(e.get(t).unicode>65535){console.log("Adding CMAP format 12 (needed!)"),r=!1;break}var n=[{name:"version",type:"USHORT",value:0},{name:"numTables",type:"USHORT",value:r?1:2},{name:"platformID",type:"USHORT",value:3},{name:"encodingID",type:"USHORT",value:1},{name:"offset",type:"ULONG",value:r?12:20}];r||(n=n.concat([{name:"cmap12PlatformID",type:"USHORT",value:3},{name:"cmap12EncodingID",type:"USHORT",value:10},{name:"cmap12Offset",type:"ULONG",value:0}])),n=n.concat([{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}]);var a=new W.Table("cmap",n);for(t=0,a.segments=[];t<e.length;t+=1){for(var o,s,i=e.get(t),u=0;u<i.unicodes.length;u+=1)o=i.unicodes[u],s=t,a.segments.push({end:o,start:o,delta:-(o-s),offset:0,glyphIndex:s});a.segments=a.segments.sort(function(e,t){return e.start-t.start})}a.segments.push({end:65535,start:65535,delta:1,offset:0});var l=a.segments.length,p=0,c=[],h=[],f=[],d=[],g=[],v=[];for(t=0;t<l;t+=1){var m=a.segments[t];m.end<=65535&&m.start<=65535?(c=c.concat({name:"end_"+t,type:"USHORT",value:m.end}),h=h.concat({name:"start_"+t,type:"USHORT",value:m.start}),f=f.concat({name:"idDelta_"+t,type:"SHORT",value:m.delta}),d=d.concat({name:"idRangeOffset_"+t,type:"USHORT",value:m.offset}),void 0!==m.glyphId&&(g=g.concat({name:"glyph_"+t,type:"USHORT",value:m.glyphId}))):p+=1,r||void 0===m.glyphIndex||(v=(v=(v=v.concat({name:"cmap12Start_"+t,type:"ULONG",value:m.start})).concat({name:"cmap12End_"+t,type:"ULONG",value:m.end})).concat({name:"cmap12Glyph_"+t,type:"ULONG",value:m.glyphIndex}))}if(a.segCountX2=(l-p)*2,a.searchRange=2*Math.pow(2,Math.floor(Math.log(l-p)/Math.log(2))),a.entrySelector=Math.log(a.searchRange/2)/Math.log(2),a.rangeShift=a.segCountX2-a.searchRange,a.fields=a.fields.concat(c),a.fields.push({name:"reservedPad",type:"USHORT",value:0}),a.fields=a.fields.concat(h),a.fields=a.fields.concat(f),a.fields=a.fields.concat(d),a.fields=a.fields.concat(g),a.cmap4Length=14+2*c.length+2+2*h.length+2*f.length+2*d.length+2*g.length,!r){var y=16+4*v.length;a.cmap12Offset=20+a.cmap4Length,a.fields=a.fields.concat([{name:"cmap12Format",type:"USHORT",value:12},{name:"cmap12Reserved",type:"USHORT",value:0},{name:"cmap12Length",type:"ULONG",value:y},{name:"cmap12Language",type:"ULONG",value:0},{name:"cmap12nGroups",type:"ULONG",value:v.length/3}]),a.fields=a.fields.concat(v)}return a}},K=[".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","periodce
1ntered","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"],J=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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","","end
1ash","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"],$=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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"],ee=[".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","oslas
1h","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 et(e){this.font=e}function er(e){this.cmap=e}function en(e,t){this.encoding=e,this.charset=t}function ea(e){switch(e.version){case 1:this.names=ee.slice();break;case 2:this.names=Array(e.numberOfGlyphs);for(var t=0;t<e.numberOfGlyphs;t++)e.glyphNameIndex[t]<ee.length?this.names[t]=ee[e.glyphNameIndex[t]]:this.names[t]=e.names[e.glyphNameIndex[t]-ee.length];break;case 2.5:this.names=Array(e.numberOfGlyphs);for(var r=0;r<e.numberOfGlyphs;r++)this.names[r]=ee[r+e.glyphNameIndex[r]];break;default:this.names=[]}}et.prototype.charToGlyphIndex=function(e){var t=e.codePointAt(0),r=this.font.glyphs;if(r){for(var n=0;n<r.length;n+=1)for(var a=r.get(n),o=0;o<a.unicodes.length;o+=1)if(a.unicodes[o]===t)return n}return null},er.prototype.charToGlyphIndex=function(e){return this.cmap.glyphIndexMap[e.codePointAt(0)]||0},en.prototype.charToGlyphIndex=function(e){var t=e.codePointAt(0),r=this.encoding[t];return this.charset.indexOf(r)},ea.prototype.nameToGlyphIndex=function(e){return this.names.indexOf(e)},ea.prototype.glyphIndexToName=function(e){return this.names[e]};var eo={line:function(e,t,r,n,a){e.beginPath(),e.moveTo(t,r),e.lineTo(n,a),e.stroke()}};function es(e){this.bindConstructorValues(e)}function ei(e,t,r){Object.defineProperty(e,t,{get:function(){return e.path,e[r]},set:function(t){e[r]=t},enumerable:!0,configurable:!0})}function eu(e,t){if(this.font=e,this.glyphs={},Array.isArray(t))for(var r=0;r<t.length;r++){var n=t[r];n.path.unitsPerEm=e.unitsPerEm,this.glyphs[r]=n}this.length=t&&t.length||0}es.prototype.bindConstructorValues=function(e){var t;this.index=e.index||0,this.name=e.name||null,this.unicode=e.unicode||void 0,this.unicodes=e.unicodes||void 0!==e.unicode?[e.unicode]:[],"xMin"in e&&(this.xMin=e.xMin),"yMin"in e&&(this.yMin=e.yMin),"xMax"in e&&(this.xMax=e.xMax),"yMax"in e&&(this.yMax=e.yMax),"advanceWidth"in e&&(this.advanceWidth=e.advanceWidth),Object.defineProperty(this,"path",(t=e.path||new T,{configurable:!0,get:function(){return"function"==typeof t&&(t=t()),t},set:function(e){t=e}}))},es.prototype.addUnicode=function(e){0===this.unicodes.length&&(this.unicode=e),this.unicodes.push(e)},es.prototype.getBoundingBox=function(){return this.path.getBoundingBox()},es.prototype.getPath=function(e,t,r,n,a){e=void 0!==e?e:0,t=void 0!==t?t:0,r=void 0!==r?r:72,n||(n={});var o,s,i=n.xScale,u=n.yScale;if(n.hinting&&a&&a.hinting&&(s=this.path&&a.hinting.exec(this,r)),s)o=a.hinting.getCommands(s),e=Math.round(e),t=Math.round(t),i=u=1;else{o=this.path.commands;var l=1/(this.path.unitsPerEm||1e3)*r;void 0===i&&(i=l),void 0===u&&(u=l)}for(var p=new T,c=0;c<o.length;c+=1){var h=o[c];"M"===h.type?p.moveTo(e+h.x*i,t+-h.y*u):"L"===h.type?p.lineTo(e+h.x*i,t+-h.y*u):"Q"===h.type?p.quadraticCurveTo(e+h.x1*i,t+-h.y1*u,e+h.x*i,t+-h.y*u):"C"===h.type?p.curveTo(e+h.x1*i,t+-h.y1*u,e+h.x2*i,t+-h.y2*u,e+h.x*i,t+-h.y*u):"Z"===h.type&&p.closePath()}return p},es.prototype.getContours=function(){if(void 0===this.points)return[];for(var e=[],t=[],r=0;r<this.points.length;r+=1){var n=this.points[r];t.push(n),n.lastPointOfContour&&(e.push(t),t=[])}return U.argument(0===t.length,"There are still points left in the current contour."),e},es.prototype.getMetrics=function(){for(var e=this.path.commands,t=[],r=[],n=0;n<e.length;n+=1){var a=e[n];"Z"!==a.type&&(t.push(a.x),r.push(a.y)),("Q"===a.type||"C"===a.type)&&(t.push(a.x1),r.push(a.y1)),"C"===a.type&&(t.push(a.x2),r.push(a.y2))}var o={xMin:Math.min.apply(null,t),yMin:Math.min.apply(null,r),xMax:Math.max.apply(null,t),yMax:Math.max.apply(null,r),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},es.prototype.draw=function(e,t,r,n,a){this.getPath(t,r,n,a).draw(e)},es.prototype.drawPoints=function(e,t,r,n){function a(t,r,n,a){e.beginPath();for(var o=0;o<t.length;o+=1)e.moveTo(r+t[o].x*a,n+t[o].y*a),e.arc(r+t[o].x*a,n+t[o].y*a,2,0,2*Math.PI,!1);e.closePath(),e.fill()}t=void 0!==t?t:0,r=void 0!==r?r:0,n=void 0!==n?n:24;for(var o=1/this.path.unitsPerEm*n,s=[],i=[],u=this.path,l=0;l<u.commands.length;l+=1){var p=u.commands[l];void 0!==p.x&&s.push({x:p.x,y:-p.y}),void 0!==p.x1&&i.push({x:p.x1,y:-p.y1}),void 0!==p.x2&&i.push({x:p.x2,y:-p.y2})}e.fillStyle="blue",a(s,t,r,o),e.fillStyle="red",a(i,t,r,o)},es.prototype.drawMetrics=function(e,t,r,n){t=void 0!==t?t:0,r=void 0!==r?r:0,n=void 0!==n?n:24,a=1/this.path.unitsPerEm*n,e.lineWidth=1,e.strokeStyle="black",eo.line(e,t,-1e4,t,1e4),eo.line(e,-1e4,r,1e4,r);var a,o=this.xMin||0,s=this.yMin||0,i=this.xMax||0,u=this.yMax||0,l=this.advanceWidth||0;e.strokeStyle="blue",eo.line(e,t+o*a,-1e4,t+o*a,1e4),eo.line(e,t+i*a,-1e4,t+i*a,1e4),eo.line(e,-1e4,r+-s*a,1e4,r+-s*a),eo.line(e,-1e4,r+-u*a,1e4,r+-u*a),e.strokeStyle="green",eo.line(e,t+l*a,-1e4,t+l*a,1e4)},eu.prototype.get=function(e){if(void 0===this.glyphs[e]){this.font._push(e),"function"==typeof this.glyphs[e]&&(this.glyphs[e]=this.glyphs[e]());var t=this.glyphs[e],r=this.font._IndexToUnicodeMap[e];if(r)for(var n=0;n<r.unicodes.length;n++)t.addUnicode(r.unicodes[n]);this.font.cffEncoding?this.font.isCIDFont?t.name="gid"+e:t.name=this.font.cffEncoding.charset[e]:this.font.glyphNames.names&&(t.name=this.font.glyphNames.glyphIndexToName(e)),this.glyphs[e].advanceWidth=this.font._hmtxTableData[e].advanceWidth,this.glyphs[e].leftSideBearing=this.font._hmtxTableData[e].leftSideBearing}else"function"==typeof this.glyphs[e]&&(this.glyphs[e]=this.glyphs[e]());return this.glyphs[e]},eu.prototype.push=function(e,t){this.glyphs[e]=t,this.length++};var el={GlyphSet:eu,glyphLoader:function(e,t){return new es({index:t,font:e})},ttfGlyphLoader:function(e,t,r,n,a,o){return function(){var s=new es({index:t,font:e});return s.path=function(){r(s,n,a);var t=o(e.glyphs,s);return t.unitsPerEm=e.unitsPerEm,t},ei(s,"xMin","_xMin"),ei(s,"xMax","_xMax"),ei(s,"yMin","_yMin"),ei(s,"yMax","_yMax"),s}},cffGlyphLoader:function(e,t,r,n){return function(){var a=new es({index:t,font:e});return a.path=function(){var t=r(e,a,n);return t.unitsPerEm=e.unitsPerEm,t},a}}};function ep(e){return e.length<1240?107:e.length<33900?1131:32768}function ec(e,t,r){var n,a,o=[],s=[],i=Z.getCard16(e,t);if(0!==i){var u=Z.getByte(e,t+2);n=t+(i+1)*u+2;for(var l=t+3,p=0;p<i+1;p+=1)o.push(Z.getOffset(e,l,u)),l+=u;a=n+o[i]}else a=t+2;for(var c=0;c<o.length-1;c+=1){var h=Z.getBytes(e,n+o[c],n+o[c+1]);r&&(h=r(h)),s.push(h)}return{objects:s,startOffset:t,endOffset:a}}function eh(e,t,r){t=void 0!==t?t:0;var n=new Z.Parser(e,t),a=[],o=[];for(r=void 0!==r?r:e.length;n.relativeOffset<r;){var s=n.parseByte();
1s<=21?(12===s&&(s=1200+n.parseByte()),a.push([s,o]),o=[]):o.push(function(e,t){var r,n;if(28===t)return(r=e.parseByte())<<8|(n=e.parseByte());if(29===t)return r=e.parseByte(),n=e.parseByte(),r<<24|n<<16|e.parseByte()<<8|e.parseByte();if(30===t)return function(e){for(var t="",r=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"];;){var n=e.parseByte(),a=n>>4,o=15&n;if(15===a||(t+=r[a],15===o))break;t+=r[o]}return parseFloat(t)}(e);if(t>=32&&t<=246)return t-139;if(t>=247&&t<=250)return(t-247)*256+(r=e.parseByte())+108;if(t>=251&&t<=254)return-(256*(t-251))-(r=e.parseByte())-108;throw Error("Invalid b0 "+t)}(n,s))}return function(e){for(var t={},r=0;r<e.length;r+=1){var n=e[r][0],a=e[r][1],o=void 0;if(o=1===a.length?a[0]:a,t.hasOwnProperty(n)&&!isNaN(t[n]))throw Error("Object "+t+" already has key "+n);t[n]=o}return t}(a)}function ef(e,t){return t<=390?K[t]:e[t-391]}function ed(e,t,r){for(var n,a={},o=0;o<t.length;o+=1){var s=t[o];if(Array.isArray(s.type)){var i=[];i.length=s.type.length;for(var u=0;u<s.type.length;u++)void 0===(n=void 0!==e[s.op]?e[s.op][u]:void 0)&&(n=void 0!==s.value&&void 0!==s.value[u]?s.value[u]:null),"SID"===s.type[u]&&(n=ef(r,n)),i[u]=n;a[s.name]=i}else void 0===(n=e[s.op])&&(n=void 0!==s.value?s.value:null),"SID"===s.type&&(n=ef(r,n)),a[s.name]=n}return a}var eg=[{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"}],ev=[{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 em(e,t,r,n){for(var a=[],o=0;o<r.length;o+=1){var s=(l=new DataView(new Uint8Array(r[o]).buffer),ed(eh(l,0,l.byteLength),eg,n));s._subrs=[],s._subrsBias=0,s._defaultWidthX=0,s._nominalWidthX=0;var i=s.private[0],u=s.private[1];if(0!==i&&0!==u){var l,p=ed(eh(e,u+t,i),ev,n);s._defaultWidthX=p.defaultWidthX,s._nominalWidthX=p.nominalWidthX,0!==p.subrs&&(s._subrs=ec(e,u+p.subrs+t).objects,s._subrsBias=ep(s._subrs)),s._privateDict=p}a.push(s)}return a}function ey(e,t,r){var n,a,o,s,i,u,l,p,c=new T,h=[],f=0,d=!1,g=!1,v=0,m=0;if(e.isCIDFont){var y=e.tables.cff.topDict._fdSelect[t.index],b=e.tables.cff.topDict._fdArray[y];i=b._subrs,u=b._subrsBias,l=b._defaultWidthX,p=b._nominalWidthX}else i=e.tables.cff.topDict._subrs,u=e.tables.cff.topDict._subrsBias,l=e.tables.cff.topDict._defaultWidthX,p=e.tables.cff.topDict._nominalWidthX;var x=l;function S(e,t){g&&c.closePath(),c.moveTo(e,t),g=!0}function k(){h.length%2==0||d||(x=h.shift()+p),f+=h.length>>1,h.length=0,d=!0}return!function r(l){for(var y,b,T,U,O,E,R,C,L,D,w,I,M=0;M<l.length;){var B=l[M];switch(M+=1,B){case 1:case 3:case 18:case 23:k();break;case 4:h.length>1&&!d&&(x=h.shift()+p,d=!0),m+=h.pop(),S(v,m);break;case 5:for(;h.length>0;)v+=h.shift(),m+=h.shift(),c.lineTo(v,m);break;case 6:for(;h.length>0&&(v+=h.shift(),c.lineTo(v,m),0!==h.length);)m+=h.shift(),c.lineTo(v,m);break;case 7:for(;h.length>0&&(m+=h.shift(),c.lineTo(v,m),0!==h.length);)v+=h.shift(),c.lineTo(v,m);break;case 8:for(;h.length>0;)n=v+h.shift(),a=m+h.shift(),o=n+h.shift(),s=a+h.shift(),v=o+h.shift(),m=s+h.shift(),c.curveTo(n,a,o,s,v,m);break;case 10:(E=i[O=h.pop()+u])&&r(E);break;case 11:return;case 12:switch(B=l[M],M+=1,B){case 35:n=v+h.shift(),a=m+h.shift(),o=n+h.shift(),s=a+h.shift(),R=o+h.shift(),C=s+h.shift(),L=R+h.shift(),D=C+h.shift(),w=L+h.shift(),I=D+h.shift(),v=w+h.shift(),m=I+h.shift(),h.shift(),c.curveTo(n,a,o,s,R,C),c.curveTo(L,D,w,I,v,m);break;case 34:n=v+h.shift(),a=m,o=n+h.shift(),s=a+h.shift(),R=o+h.shift(),C=s,L=R+h.shift(),D=s,w=L+h.shift(),I=m,v=w+h.shift(),c.curveTo(n,a,o,s,R,C),c.curveTo(L,D,w,I,v,m);break;case 36:n=v+h.shift(),a=m+h.shift(),o=n+h.shift(),s=a+h.shift(),R=o+h.shift(),C=s,L=R+h.shift(),D=s,w=L+h.shift(),I=D+h.shift(),v=w+h.shift(),c.curveTo(n,a,o,s,R,C),c.curveTo(L,D,w,I,v,m);break;case 37:n=v+h.shift(),a=m+h.shift(),o=n+h.shift(),s=a+h.shift(),R=o+h.shift(),C=s+h.shift(),L=R+h.shift(),D=C+h.shift(),w=L+h.shift(),I=D+h.shift(),Math.abs(w-v)>
1Math.abs(I-m)?v=w+h.shift():m=I+h.shift(),c.curveTo(n,a,o,s,R,C),c.curveTo(L,D,w,I,v,m);break;default:console.log("Glyph "+t.index+": unknown operator 1200"+B),h.length=0}break;case 14:h.length>0&&!d&&(x=h.shift()+p,d=!0),g&&(c.closePath(),g=!1);break;case 19:case 20:k(),M+=f+7>>3;break;case 21:h.length>2&&!d&&(x=h.shift()+p,d=!0),m+=h.pop(),S(v+=h.pop(),m);break;case 22:h.length>1&&!d&&(x=h.shift()+p,d=!0),S(v+=h.pop(),m);break;case 24:for(;h.length>2;)n=v+h.shift(),a=m+h.shift(),o=n+h.shift(),s=a+h.shift(),v=o+h.shift(),m=s+h.shift(),c.curveTo(n,a,o,s,v,m);v+=h.shift(),m+=h.shift(),c.lineTo(v,m);break;case 25:for(;h.length>6;)v+=h.shift(),m+=h.shift(),c.lineTo(v,m);n=v+h.shift(),a=m+h.shift(),o=n+h.shift(),s=a+h.shift(),v=o+h.shift(),m=s+h.shift(),c.curveTo(n,a,o,s,v,m);break;case 26:for(h.length%2&&(v+=h.shift());h.length>0;)n=v,a=m+h.shift(),o=n+h.shift(),s=a+h.shift(),v=o,m=s+h.shift(),c.curveTo(n,a,o,s,v,m);break;case 27:for(h.length%2&&(m+=h.shift());h.length>0;)n=v+h.shift(),a=m,o=n+h.shift(),s=a+h.shift(),v=o+h.shift(),m=s,c.curveTo(n,a,o,s,v,m);break;case 28:y=l[M],b=l[M+1],h.push((y<<24|b<<16)>>16),M+=2;break;case 29:O=h.pop()+e.gsubrsBias,(E=e.gsubrs[O])&&r(E);break;case 30:for(;h.length>0&&(n=v,a=m+h.shift(),o=n+h.shift(),s=a+h.shift(),v=o+h.shift(),m=s+(1===h.length?h.shift():0),c.curveTo(n,a,o,s,v,m),0!==h.length);)n=v+h.shift(),a=m,o=n+h.shift(),m=(s=a+h.shift())+h.shift(),v=o+(1===h.length?h.shift():0),c.curveTo(n,a,o,s,v,m);break;case 31:for(;h.length>0&&(n=v+h.shift(),a=m,o=n+h.shift(),m=(s=a+h.shift())+h.shift(),v=o+(1===h.length?h.shift():0),c.curveTo(n,a,o,s,v,m),0!==h.length);)n=v,a=m+h.shift(),o=n+h.shift(),s=a+h.shift(),v=o+h.shift(),m=s+(1===h.length?h.shift():0),c.curveTo(n,a,o,s,v,m);break;default:B<32?console.log("Glyph "+t.index+": unknown operator "+B):B<247?h.push(B-139):B<251?(y=l[M],M+=1,h.push((B-247)*256+y+108)):B<255?(y=l[M],M+=1,h.push(-(256*(B-251))-y-108)):(y=l[M],b=l[M+1],T=l[M+2],U=l[M+3],M+=4,h.push((y<<24|b<<16|T<<8|U)/65536))}}}(r),t.advanceWidth=x,c}function eb(e,t){var r,n=K.indexOf(e);return n>=0&&(r=n),(n=t.indexOf(e))>=0?r=n+K.length:(r=K.length+t.length,t.push(e)),r}function ex(e,t,r){for(var n={},a=0;a<e.length;a+=1){var o=e[a],s=t[o.name];void 0!==s&&!function e(t,r){if(t===r)return!0;if(!(Array.isArray(t)&&Array.isArray(r))||t.length!==r.length)return!1;for(var n=0;n<t.length;n+=1)if(!e(t[n],r[n]))return!1;return!0}(s,o.value)&&("SID"===o.type&&(s=eb(s,r)),n[o.op]={name:o.name,type:o.type,value:s})}return n}function eS(e,t){var r=new W.Record("Top DICT",[{name:"dict",type:"DICT",value:{}}]);return r.dict=ex(eg,e,t),r}function eT(e){var t=new W.Record("Top DICT INDEX",[{name:"topDicts",type:"INDEX",value:[]}]);return t.topDicts=[{name:"topDict_0",type:"TABLE",value:e}],t}var ek={parse:function(e,t,r,n){r.tables.cff={};var a,o,s,i,u=((s={}).formatMajor=Z.getCard8(e,t),s.formatMinor=Z.getCard8(e,t+1),s.size=Z.getCard8(e,t+2),s.offsetSize=Z.getCard8(e,t+3),s.startOffset=t,s.endOffset=t+4,s),l=ec(e,u.endOffset,Z.bytesToString),p=ec(e,l.endOffset),c=ec(e,p.endOffset,Z.bytesToString);r.gsubrs=ec(e,c.endOffset).objects,r.gsubrsBias=ep(r.gsubrs);var h=em(e,t,p.objects,c.objects);if(1!==h.length)throw Error("CFF table has too many fonts in 'FontSet' - count of fonts NameIndex.length = "+h.length);var f=h[0];if(r.tables.cff.topDict=f,f._privateDict&&(r.defaultWidthX=f._privateDict.defaultWidthX,r.nominalWidthX=f._privateDict.nominalWidthX),void 0!==f.ros[0]&&void 0!==f.ros[1]&&(r.isCIDFont=!0),r.isCIDFont){var d=f.fdArray,g=f.fdSelect;if(0===d||0===g)throw Error("Font is marked as a CID font, but FDArray and/or FDSelect information is missing");var v=ec(e,d+=t),m=em(e,t,v.objects,c.objects);f._fdArray=m,f._fdSelect=function(e,t,r,n){var a=[],o=new Z.Parser(e,t),s=o.parseCard8();if(0===s)for(var i=0;i<r;i++){if((u=o.parseCard8())>=n)throw Error("CFF table CID Font FDSelect has bad FD index value "+u+" (FD count "+n+")");a.push(u)}else if(3===s){var u,l,p=o.parseCard16(),c=o.parseCard16();if(0!==c)throw Error("CFF Table CID Font FDSelect format 3 range has bad initial GID "+c);for(var h=0;h<p;h++){if(u=o.parseCard8(),l=o.parseCard16(),u>=n)throw Error("CFF table CID Font FDSelect has bad FD index value "+u+" (FD count "+n+")");if(l>r)throw Error("CFF Table CID Font FDSelect format 3 range has bad GID "+l);for(;c<l;c++)a.push(u);c=l}if(l!==r)throw Error("CFF Table CID Font FDSelect format 3 range has bad final GID "+l)}else throw Error("CFF Table CID Font FDSelect table has unsupported format "+s);return a}(e,g+=t,r.numGlyphs,m.length)}var y=t+f.private[1],b=(a=f.private[0],o=c.objects,ed(eh(e,y,a),ev,o));r.defaultWidthX=b.defaultWidthX,r.nominalWidthX=b.nominalWidthX,0!==b.subrs?(r.subrs=ec(e,y+b.subrs).objects,r.subrsBias=ep(r.subrs)):(r.subrs=[],r.subrsBias=0),n.lowMemory?r.nGlyphs=(i=function(e,t){var r,n,a=[],o=Z.getCard16(e,t);if(0!==o){var s=Z.getByte(e,t+2);r=t+(o+1)*s+2;
1for(var i=t+3,u=0;u<o+1;u+=1)a.push(Z.getOffset(e,i,s)),i+=s;n=r+a[o]}else n=t+2;return{offsets:a,startOffset:t,endOffset:n}}(e,t+f.charStrings)).offsets.length:r.nGlyphs=(i=ec(e,t+f.charStrings)).objects.length;var x=function(e,t,r,n){var a,o,s=new Z.Parser(e,t);r-=1;var i=[".notdef"],u=s.parseCard8();if(0===u)for(var l=0;l<r;l+=1)a=s.parseSID(),i.push(ef(n,a));else if(1===u)for(;i.length<=r;){a=s.parseSID(),o=s.parseCard8();for(var p=0;p<=o;p+=1)i.push(ef(n,a)),a+=1}else if(2===u)for(;i.length<=r;){a=s.parseSID(),o=s.parseCard16();for(var c=0;c<=o;c+=1)i.push(ef(n,a)),a+=1}else throw Error("Unknown charset format "+u);return i}(e,t+f.charset,r.nGlyphs,c.objects);if(0===f.encoding?r.cffEncoding=new en(J,x):1===f.encoding?r.cffEncoding=new en($,x):r.cffEncoding=function(e,t,r){var n,a={},o=new Z.Parser(e,t),s=o.parseCard8();if(0===s)for(var i=o.parseCard8(),u=0;u<i;u+=1)a[n=o.parseCard8()]=u;else if(1===s){var l=o.parseCard8();n=1;for(var p=0;p<l;p+=1)for(var c=o.parseCard8(),h=o.parseCard8(),f=c;f<=c+h;f+=1)a[f]=n,n+=1}else throw Error("Unknown encoding format "+s);return new en(a,r)}(e,t+f.encoding,x),r.encoding=r.encoding||r.cffEncoding,r.glyphs=new el.GlyphSet(r),n.lowMemory)r._push=function(n){var a=function(e,t,r,n,a){var o=Z.getCard16(r,n),s=0;if(0!==o){var i=Z.getByte(r,n+2);s=n+(o+1)*i+2}return Z.getBytes(r,s+t[e],s+t[e+1])}(n,i.offsets,e,t+f.charStrings);r.glyphs.push(n,el.cffGlyphLoader(r,n,ey,a))};else for(var S=0;S<r.nGlyphs;S+=1){var T=i.objects[S];r.glyphs.push(S,el.cffGlyphLoader(r,S,ey,T))}},make:function(e,t){for(var r,n,a,o=new W.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"}]),s=1/t.unitsPerEm,i={version:t.version,fullName:t.fullName,familyName:t.familyName,weight:t.weightName,fontBBox:t.fontBBox||[0,0,0,0],fontMatrix:[s,0,0,s,0,0],charset:999,encoding:0,charStrings:999,private:[0,999]},u=[],l=1;l<e.length;l+=1)a=e.get(l),u.push(a.name);var p=[];o.header=new W.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}]),o.nameIndex=function(e){var t=new W.Record("Name INDEX",[{name:"names",type:"INDEX",value:[]}]);t.names=[];for(var r=0;r<e.length;r+=1)t.names.push({name:"name_"+r,type:"NAME",value:e[r]});return t}([t.postScriptName]);var c=eS(i,p);return o.topDictIndex=eT(c),o.globalSubrIndex=new W.Record("Global Subr INDEX",[{name:"subrs",type:"INDEX",value:[]}]),o.charsets=function(e,t){for(var r=new W.Record("Charsets",[{name:"format",type:"Card8",value:0}]),n=0;n<e.length;n+=1){var a=eb(e[n],t);r.fields.push({name:"glyph_"+n,type:"SID",value:a})}return r}(u,p),o.charStringsIndex=function(e){for(var t=new W.Record("CharStrings INDEX",[{name:"charStrings",type:"INDEX",value:[]}]),r=0;r<e.length;r+=1){var n=e.get(r),a=function(e){var t=[],r=e.path;t.push({name:"width",type:"NUMBER",value:e.advanceWidth});for(var n=0,a=0,o=0;o<r.commands.length;o+=1){var s=void 0,i=void 0,u=r.commands[o];if("Q"===u.type){var l=1/3,p=2/3;u={type:"C",x:u.x,y:u.y,x1:Math.round(l*n+p*u.x1),y1:Math.round(l*a+p*u.y1),x2:Math.round(l*u.x+p*u.x1),y2:Math.round(l*u.y+p*u.y1)}}if("M"===u.type)s=Math.round(u.x-n),i=Math.round(u.y-a),t.push({name:"dx",type:"NUMBER",value:s}),t.push({name:"dy",type:"NUMBER",value:i}),t.push({name:"rmoveto",type:"OP",value:21}),n=Math.round(u.x),a=Math.round(u.y);else if("L"===u.type)s=Math.round(u.x-n),i=Math.round(u.y-a),t.push({name:"dx",type:"NUMBER",value:s}),t.push({name:"dy",type:"NUMBER",value:i}),t.push({name:"rlineto",type:"OP",value:5}),n=Math.round(u.x),a=Math.round(u.y);else if("C"===u.type){var c=Math.round(u.x1-n),h=Math.round(u.y1-a),f=Math.round(u.x2-u.x1),d=Math.round(u.y2-u.y1);s=Math.round(u.x-u.x2),i=Math.round(u.y-u.y2),t.push({name:"dx1",type:"NUMBER",value:c}),t.push({name:"dy1",type:"NUMBER",value:h}),t.push({name:"dx2",type:"NUMBER",value:f}),t.push({name:"dy2",type:"NUMBER",value:d}),t.push({name:"dx",type:"NUMBER",value:s}),t.push({name:"dy",type:"NUMBER",value:i}),t.push({name:"rrcurveto",type:"OP",value:8}),n=Math.round(u.x),a=Math.round(u.y)}}return t.push({name:"endchar",type:"OP",value:14}),t}(n);t.charStrings.push({name:n.name,type:"CHARSTRING",value:a})}return t}(e),r={},(n=new W.Record("Private DICT",[{name:"dict",type:"DICT",value:{}}])).dict=ex(ev,r,p),o.privateDict=n,o.stringIndex=function(e){var t=new W.Record("String INDEX",[{name:"strings",type:"INDEX",value:[]}]);t.strings=[];for(var r=0;r<e.length;r+=1)t.strings.push({name:"string_"+r,type:"STRING",value:e[r]});return t}(p),i.charset=o.header.sizeOf()+o.nameIndex.sizeOf()+o.topDictIndex.sizeOf()+o.stringIndex.sizeOf()+o.globalSubrIndex.sizeOf(),i.encoding=0,i.charStrings=i.charset+o.charsets.sizeOf(),i.private[1]=i.charStrings+o.charStringsIndex.sizeOf(),o.topDictIndex=eT(c=eS(i,p)),o}},eU={parse:function(e,t){var r={},n=new Z.Parser(e,t);return r.version=n.parseVersion(),r.fontRevision=Math.round(1e3*n.parseFixed())/1e3,r.checkSumAdjustment=n.parseULong(),r.magicNumber=n.parseULong(),U.argument(0x5f0f3cf5===r.magicNumber,"Font header has wrong magic number."),r.flags=n.parseUShort(),r.unitsPerEm=n.parseUShort(),r.created=n.parseLongDateTime(),r.modified=n.parseLongDateTime(),r.xMin=n.parseShort(),r.yMin=n.parseShort(),r.xMax=n.parseShort(),r.yMax=n.parseShort(),r.macStyle=n.parseUShort(),r.lowestRecPPEM=n.parseUShort(),r.fontDirectionHint=n.parseShort(),r.indexToLocFormat=n.parseShort(),r.glyphDataFormat=n.parseShort(),r},make:function(e){var t=Math.round(new Date().getTime()/1e3)+0x7c25b080,r=t;return e.createdTimestamp&&(r=e.createdTimestamp+0x7c25b080),new W.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:0x5f0f3cf5},{name:"flags",type:"USHORT",value:0},{name:"unitsPerEm",type:"USHORT",value:1e3},{name:"created",type:"LONGDATETIME",value:r},{name:"modified",type:"LONGDATETIME",value:t},{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}],e)}},eO={parse:function(e,t){var r={},n=new Z.Parser(e,t);return r.version=n.parseVersion(),r.ascender=n.parseShort(),r.desce
1nder=n.parseShort(),r.lineGap=n.parseShort(),r.advanceWidthMax=n.parseUShort(),r.minLeftSideBearing=n.parseShort(),r.minRightSideBearing=n.parseShort(),r.xMaxExtent=n.parseShort(),r.caretSlopeRise=n.parseShort(),r.caretSlopeRun=n.parseShort(),r.caretOffset=n.parseShort(),n.relativeOffset+=8,r.metricDataFormat=n.parseShort(),r.numberOfHMetrics=n.parseUShort(),r},make:function(e){return new W.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}],e)}},eE={parse:function(e,t,r,n,a,o,s){if(s.lowMemory){e._hmtxTableData={};for(var i,u,l=new Z.Parser(t,r),p=0;p<a;p+=1)p<n&&(i=l.parseUShort(),u=l.parseShort()),e._hmtxTableData[p]={advanceWidth:i,leftSideBearing:u}}else!function(e,t,r,n,a){for(var o,s,i=new Z.Parser(e,t),u=0;u<n;u+=1){u<r&&(o=i.parseUShort(),s=i.parseShort());var l=a.get(u);l.advanceWidth=o,l.leftSideBearing=s}}(t,r,n,a,o)},make:function(e){for(var t=new W.Table("hmtx",[]),r=0;r<e.length;r+=1){var n=e.get(r),a=n.advanceWidth||0,o=n.leftSideBearing||0;t.fields.push({name:"advanceWidth_"+r,type:"USHORT",value:a}),t.fields.push({name:"leftSideBearing_"+r,type:"SHORT",value:o})}return t}},eR={make:function(e){for(var t=new W.Table("ltag",[{name:"version",type:"ULONG",value:1},{name:"flags",type:"ULONG",value:0},{name:"numTags",type:"ULONG",value:e.length}]),r="",n=12+4*e.length,a=0;a<e.length;++a){var o=r.indexOf(e[a]);o<0&&(o=r.length,r+=e[a]),t.fields.push({name:"offset "+a,type:"USHORT",value:n+o}),t.fields.push({name:"length "+a,type:"USHORT",value:e[a].length})}return t.fields.push({name:"stringPool",type:"CHARARRAY",value:r}),t},parse:function(e,t){var r=new Z.Parser(e,t),n=r.parseULong();U.argument(1===n,"Unsupported ltag table version."),r.skip("uLong",1);for(var a=r.parseULong(),o=[],s=0;s<a;s++){for(var i="",u=t+r.parseUShort(),l=r.parseUShort(),p=u;p<u+l;++p)i+=String.fromCharCode(e.getInt8(p));o.push(i)}return o}},eC={parse:function(e,t){var r={},n=new Z.Parser(e,t);return r.version=n.parseVersion(),r.numGlyphs=n.parseUShort(),1===r.version&&(r.maxPoints=n.parseUShort(),r.maxContours=n.parseUShort(),r.maxCompositePoints=n.parseUShort(),r.maxCompositeContours=n.parseUShort(),r.maxZones=n.parseUShort(),r.maxTwilightPoints=n.parseUShort(),r.maxStorage=n.parseUShort(),r.maxFunctionDefs=n.parseUShort(),r.maxInstructionDefs=n.parseUShort(),r.maxStackElements=n.parseUShort(),r.maxSizeOfInstructions=n.parseUShort(),r.maxComponentElements=n.parseUShort(),r.maxComponentDepth=n.parseUShort()),r},make:function(e){return new W.Table("maxp",[{name:"version",type:"FIXED",value:20480},{name:"numGlyphs",type:"USHORT",value:e}])}},eL=["copyright","fontFamily","fontSubfamily","uniqueID","fullName","version","postScriptName","trademark","manufacturer","designer","description","manufacturerURL","designerURL","license","licenseURL","reserved","preferredFamily","preferredSubfamily","compatibleFullName","sampleText","postScriptFindFontName","wwsFamily","wwsSubfamily"],eD={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
1:"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"},ew={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},eI={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",104
10:"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"},eM="utf-16",eB={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"},eG={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 eA(e,t,r){switch(e){case 0:return eM;case 1:return eG[r]||eB[t];case 3:if(1===t||10===t)return eM}}function eN(e){var t={};for(var r in e)t[e[r]]=parseInt(r);return t}function eP(e,t,r,n,a,o){return new W.Record("NameRecord",[{name:"platformID",type:"USHORT",value:e},{name:"encodingID",type:"USHORT",value:t},{name:"languageID",type:"USHORT",value:r},{name:"nameID",type:"USHORT",value:n},{name:"length",type:"USHORT",value:a},{name:"offset",type:"USHORT",value:o}])}function eF(e,t){var r=function(e,t){var r=e.length,n=t.length-r+1;e:for(var a=0;a<n;a++)for(;a<n;a++){for(var o=0;o<r;o++)if(t[a+o]!==e[o])continue e;return a}return -1}(e,t);if(r<0){r=t.length;for(var n=0,a=e.length;n<a;++n)t.push(e[n])}return r}var eH={parse:function(e,t,r){for(var n={},a=new Z.Parser(e,t),o=a.parseUShort(),s=a.parseUShort(),i=a.offset+a.parseUShort(),u=0;u<s;u++){var l=a.parseUShort(),p=a.parseUShort(),c=a.parseUShort(),h=a.parseUShort(),f=eL[h]||h,d=a.parseUShort(),g=a.parseUShort(),v=function(e,t,r){switch(e){case 0:if(65535===t)return"und";if(r)return r[t];break;case 1:return eD[t];case 3:return eI[t]}}(l,c,r),m=eA(l,p,c);if(void 0!==m&&void 0!==v){var y=void 0;if(y=m===eM?O.UTF16(e,i+g,d):O.MACSTRING(e,i+g,d,m)){var b=n[f];void 0===b&&(b=n[f]={}),b[v]=y}}}return 1===o&&a.parseUShort(),n},make:function(e,t){var r,n=[],a={},o=eN(eL);for(var s in e){var i=o[s];if(void 0===i&&(i=s),isNaN(r=parseInt(i)))throw Error('Name table entry "'+s+'" does not exist, see nameTableNames for complete list.');a[r]=e[s],n.push(r)}for(var u=eN(eD),l=eN(eI),p=[],c=[],h=0;h<n.length;h++){var f=a[r=n[h]];for(var d in f){var g=f[d],v=1,m=u[d],y=ew[m],b=eA(v,y,m),x=E.MACSTRING(g,b);void 0===x&&(v=0,(m=t.indexOf(d))<0&&(m=t.length,t.push(d)),y=4,x=E.UTF16(g));var S=eF(x,c);p.push(eP(v,y,m,r,x.length,S));var T=l[d];if(void 0!==T){var k=E.UTF16(g),U=eF(k,c);p.push(eP(3,1,T,r,k.length,U))}}}p.sort(function(e,t){return e.platformID-t.platformID||e.encodingID-t.encodingID||e.languageID-t.languageID||e.nameID-t.nameID});for(var O=new W.Table("name",[{name:"format",type:"USHORT",value:0},{name:"count",type:"USHORT",value:p.length},{name:"stringOffset",type:"USHORT",value:6+12*p.length}]),R=0;R<p.length;R++)O.fields.push({name:"record_"+R,type:"RECORD",value:p[R]});return O.fields.push({name:"strings",type:"LITERAL",value:c}),O}},ez=[{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}],eW={parse:function(e,t){var r={},n=new Z.Parser(e,t);r.version=n.parseUShort(),r.xAvgCharWidth=n.parseShort(),r.usWeightClass=n.parseUShort(),r.usWidthClass=n.parseUShort(),r.fsType=n.parseUShort(),r.ySubscriptXSize=n.parseShort(),r.ySubscriptYSize=n.parseShort(),r.ySubscriptXOffset=n.parseShort(),r.ySubscriptYOffset=n.parseShort(),r.ySuperscriptXSize=n.parseShort(),r.ySuperscriptYSize=n.parseShort(),r.ySuperscriptXOffset=n.parseShort(),r.ySuperscriptYOffset=n.parseShort(),r.yStrikeoutSize=n.parseShort(),r.yStrikeoutPosition=n.parseShort(),r.sFamilyClass=n.parseShort(),r.panose=[];for(var a=0;a<10;a++)r.panose[a]=n.parseByte();return r.ulUnicodeRange1=n.parseULong(),r.ulUnicodeRange2=n.parseULong(),r.ulUnicodeRange3=n.parseULong(),r.ulUnicodeRange4=n.parseULong(),r.achVendID=String.fromCharCode(n.parseByte(),n.parseByte(),n.parseByte(),n.parseByte()),r.fsSelection=n.parseUShort(),r.usFirstCharIndex=n.parseUShort(),r.usLastCharIndex=n.parseUShort(),r.sTypoAscender=n.parseShort(),r.sTypoDescender=n.parseShort(),r.sTypoLineGap=n.parseShort(),r.usWinAscent=n.parseUShort(),r.usWinDescent=n.parseUShort(),r.version>
1=1&&(r.ulCodePageRange1=n.parseULong(),r.ulCodePageRange2=n.parseULong()),r.version>=2&&(r.sxHeight=n.parseShort(),r.sCapHeight=n.parseShort(),r.usDefaultChar=n.parseUShort(),r.usBreakChar=n.parseUShort(),r.usMaxContent=n.parseUShort()),r},make:function(e){return new W.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}],e)},getUnicodeRange:function(e){for(var t=0;t<ez.length;t+=1){var r=ez[t];if(e>=r.begin&&e<r.end)return t}return -1}},eq={parse:function(e,t){var r={},n=new Z.Parser(e,t);switch(r.version=n.parseVersion(),r.italicAngle=n.parseFixed(),r.underlinePosition=n.parseShort(),r.underlineThickness=n.parseShort(),r.isFixedPitch=n.parseULong(),r.minMemType42=n.parseULong(),r.maxMemType42=n.parseULong(),r.minMemType1=n.parseULong(),r.maxMemType1=n.parseULong(),r.version){case 1:r.names=ee.slice();break;case 2:r.numberOfGlyphs=n.parseUShort(),r.glyphNameIndex=Array(r.numberOfGlyphs);for(var a=0;a<r.numberOfGlyphs;a++)r.glyphNameIndex[a]=n.parseUShort();r.names=[];for(var o=0;o<r.numberOfGlyphs;o++)if(r.glyphNameIndex[o]>=ee.length){var s=n.parseChar();r.names.push(n.parseString(s))}break;case 2.5:r.numberOfGlyphs=n.parseUShort(),r.offset=Array(r.numberOfGlyphs);for(var i=0;i<r.numberOfGlyphs;i++)r.offset[i]=n.parseChar()}return r},make:function(){return new W.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}])}},e_=Array(9);e_[1]=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort();return 1===t?{substFormat:1,coverage:this.parsePointer(j.coverage),deltaGlyphId:this.parseUShort()}:2===t?{substFormat:2,coverage:this.parsePointer(j.coverage),substitute:this.parseOffset16List()}:void U.assert(!1,"0x"+e.toString(16)+": lookup type 1 format must be 1 or 2.")},e_[2]=function(){var e=this.parseUShort();return U.argument(1===e,"GSUB Multiple Substitution Subtable identifier-format must be 1"),{substFormat:e,coverage:this.parsePointer(j.coverage),sequences:this.parseListOfLists()}},e_[3]=function(){var e=this.parseUShort();return U.argument(1===e,"GSUB Alternate Substitution Subtable identifier-format must be 1"),{substFormat:e,coverage:this.parsePointer(j.coverage),alternateSets:this.parseListOfLists()}},e_[4]=function(){var e=this.parseUShort();return U.argument(1===e,"GSUB ligature table identifier-format must be 1"),{substFormat:e,coverage:this.parsePointer(j.coverage),ligatureSets:this.parseListOfLists(function(){return{ligGlyph:this.parseUShort(),components:this.parseUShortList(this.parseUShort()-1)}})}};var eX={sequenceIndex:j.uShort,lookupListIndex:j.uShort};e_[5]=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort();if(1===t)return{substFormat:t,coverage:this.parsePointer(j.coverage),ruleSets:this.parseListOfLists(function(){var e=this.parseUShort(),t=this.parseUShort();return{input:this.parseUShortList(e-1),lookupRecords:this.parseRecordList(t,eX)}})};if(2===t)return{substFormat:t,coverage:this.parsePointer(j.coverage),classDef:this.parsePointer(j.classDef),classSets:this.parseListOfLists(function(){var e=this.parseUShort(),t=this.parseUShort();return{classes:this.parseUShortList(e-1),lookupRecords:this.parseRecordList(t,eX)}})};if(3===t){var r=this.parseUShort(),n=this.parseUShort();return{substFormat:t,coverages:this.parseList(r,j.pointer(j.coverage)),lookupRecords:this.parseRecordList(n,eX)}}U.assert(!1,"0x"+e.toString(16)+": lookup type 5 format must be 1, 2 or 3.")},e_[6]=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort();return 1===t?{substFormat:1,coverage:this.parsePointer(j.coverage),chainRuleSets:this.parseListOfLists(function(){return{backtrack:this.parseUShortList(),input
1:this.parseUShortList(this.parseShort()-1),lookahead:this.parseUShortList(),lookupRecords:this.parseRecordList(eX)}})}:2===t?{substFormat:2,coverage:this.parsePointer(j.coverage),backtrackClassDef:this.parsePointer(j.classDef),inputClassDef:this.parsePointer(j.classDef),lookaheadClassDef:this.parsePointer(j.classDef),chainClassSet:this.parseListOfLists(function(){return{backtrack:this.parseUShortList(),input:this.parseUShortList(this.parseShort()-1),lookahead:this.parseUShortList(),lookupRecords:this.parseRecordList(eX)}})}:3===t?{substFormat:3,backtrackCoverage:this.parseList(j.pointer(j.coverage)),inputCoverage:this.parseList(j.pointer(j.coverage)),lookaheadCoverage:this.parseList(j.pointer(j.coverage)),lookupRecords:this.parseRecordList(eX)}:void U.assert(!1,"0x"+e.toString(16)+": lookup type 6 format must be 1, 2 or 3.")},e_[7]=function(){var e=this.parseUShort();U.argument(1===e,"GSUB Extension Substitution subtable identifier-format must be 1");var t=this.parseUShort(),r=new j(this.data,this.offset+this.parseULong());return{substFormat:1,lookupType:t,extension:e_[t].call(r)}},e_[8]=function(){var e=this.parseUShort();return U.argument(1===e,"GSUB Reverse Chaining Contextual Single Substitution Subtable identifier-format must be 1"),{substFormat:e,coverage:this.parsePointer(j.coverage),backtrackCoverage:this.parseList(j.pointer(j.coverage)),lookaheadCoverage:this.parseList(j.pointer(j.coverage)),substitutes:this.parseUShortList()}};var eY=Array(9);eY[1]=function(e){return 1===e.substFormat?new W.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new W.Coverage(e.coverage)},{name:"deltaGlyphID",type:"USHORT",value:e.deltaGlyphId}]):new W.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:2},{name:"coverage",type:"TABLE",value:new W.Coverage(e.coverage)}].concat(W.ushortList("substitute",e.substitute)))},eY[2]=function(e){return U.assert(1===e.substFormat,"Lookup type 2 substFormat must be 1."),new W.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new W.Coverage(e.coverage)}].concat(W.tableList("seqSet",e.sequences,function(e){return new W.Table("sequenceSetTable",W.ushortList("sequence",e))})))},eY[3]=function(e){return U.assert(1===e.substFormat,"Lookup type 3 substFormat must be 1."),new W.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new W.Coverage(e.coverage)}].concat(W.tableList("altSet",e.alternateSets,function(e){return new W.Table("alternateSetTable",W.ushortList("alternate",e))})))},eY[4]=function(e){return U.assert(1===e.substFormat,"Lookup type 4 substFormat must be 1."),new W.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new W.Coverage(e.coverage)}].concat(W.tableList("ligSet",e.ligatureSets,function(e){return new W.Table("ligatureSetTable",W.tableList("ligature",e,function(e){return new W.Table("ligatureTable",[{name:"ligGlyph",type:"USHORT",value:e.ligGlyph}].concat(W.ushortList("component",e.components,e.components.length+1)))}))})))},eY[6]=function(e){if(1===e.substFormat)return new W.Table("chainContextTable",[{name:"substFormat",type:"USHORT",value:e.substFormat},{name:"coverage",type:"TABLE",value:new W.Coverage(e.coverage)}].concat(W.tableList("chainRuleSet",e.chainRuleSets,function(e){return new W.Table("chainRuleSetTable",W.tableList("chainRule",e,function(e){var t=W.ushortList("backtrackGlyph",e.backtrack,e.backtrack.length).concat(W.ushortList("inputGlyph",e.input,e.input.length+1)).concat(W.ushortList("lookaheadGlyph",e.lookahead,e.lookahead.length)).concat(W.ushortList("substitution",[],e.lookupRecords.length));return e.lookupRecords.forEach(function(e,r){t=t.concat({name:"sequenceIndex"+r,type:"USHORT",value:e.sequenceIndex}).concat({name:"lookupListIndex"+r,type:"USHORT",value:e.lookupListIndex})}),new W.Table("chainRuleTable",t)}))})));if(2===e.substFormat)U.assert(!1,"lookup type 6 format 2 is not yet supported.");else if(3===e.substFormat){var t=[{name:"substFormat",type:"USHORT",value:e.substFormat}];return t.push({name:"backtrackGlyphCount",type:"USHORT",value:e.backtrackCoverage.length}),e.backtrackCoverage.forEach(function(e,r){t.push({name:"backtrackCoverage"+r,type:"TABLE",value:new W.Coverage(e)})}),t.push({name:"inputGlyphCount",type:"USHORT",value:e.inputCoverage.length}),e.inputCoverage.forEach(function(e,r){t.push({name:"inputCoverage"+r,type:"TABLE",value:new W.Coverage(e)})}),t.push({name:"lookaheadGlyphCount",type:"USHORT",value:e.lookaheadCoverage.length}),e.lookaheadCoverage.forEach(function(e,r){t.push({name:"lookaheadCoverage"+r,type:"TABLE",value:new W.Coverage(e)})}),t.push({name:"substitutionCount",type:"USHORT",value:e.lookupRecords.length}),e.lookupRecords.forEach(function(e,r){t=t.concat({name:"sequenceIndex"+r,type:"USHORT",value:e.sequenceIndex}).concat({name:"lookupListIndex"+r,type:"USHORT",value:e.lookupListIndex})}),new W.Table("chainContextTable",t)}U.assert(!1,"lookup type 6 format must be 1, 2 or 3.")};var ej={parse:function(e,t){var r=new j(e,t=t||0),n=r.parseVersion(1);
1return(U.argument(1===n||1.1===n,"Unsupported GSUB table version."),1===n)?{version:n,scripts:r.parseScriptList(),features:r.parseFeatureList(),lookups:r.parseLookupList(e_)}:{version:n,scripts:r.parseScriptList(),features:r.parseFeatureList(),lookups:r.parseLookupList(e_),variations:r.parseFeatureVariationsList()}},make:function(e){return new W.Table("GSUB",[{name:"version",type:"ULONG",value:65536},{name:"scripts",type:"TABLE",value:new W.ScriptList(e.scripts)},{name:"features",type:"TABLE",value:new W.FeatureList(e.features)},{name:"lookups",type:"TABLE",value:new W.LookupList(e.lookups,eY)}])}},eV={parse:function(e,t){var r=new Z.Parser(e,t),n=r.parseULong();U.argument(1===n,"Unsupported META table version."),r.parseULong(),r.parseULong();for(var a=r.parseULong(),o={},s=0;s<a;s++){var i=r.parseTag(),u=r.parseULong(),l=r.parseULong(),p=O.UTF8(e,t+u,l);o[i]=p}return o},make:function(e){var t=Object.keys(e).length,r="",n=16+12*t,a=new W.Table("meta",[{name:"version",type:"ULONG",value:1},{name:"flags",type:"ULONG",value:0},{name:"offset",type:"ULONG",value:n},{name:"numTags",type:"ULONG",value:t}]);for(var o in e){var s=r.length;r+=e[o],a.fields.push({name:"tag "+o,type:"TAG",value:o}),a.fields.push({name:"offset "+o,type:"ULONG",value:n+s}),a.fields.push({name:"length "+o,type:"ULONG",value:e[o].length})}return a.fields.push({name:"stringPool",type:"CHARARRAY",value:r}),a}};function eZ(e){return Math.log(e)/Math.log(2)|0}function eQ(e){for(;e.length%4!=0;)e.push(0);for(var t=0,r=0;r<e.length;r+=4)t+=(e[r]<<24)+(e[r+1]<<16)+(e[r+2]<<8)+e[r+3];return t%0x100000000}function eK(e,t,r,n){return new W.Record("Table Record",[{name:"tag",type:"TAG",value:void 0!==e?e:""},{name:"checkSum",type:"ULONG",value:void 0!==t?t:0},{name:"offset",type:"ULONG",value:void 0!==r?r:0},{name:"length",type:"ULONG",value:void 0!==n?n:0}])}function eJ(e,t,r){for(var n=0;n<t.length;n+=1){var a=e.charToGlyphIndex(t[n]);if(a>0)return e.glyphs.get(a).getMetrics()}return r}var e$={fontToTable:function(e){for(var t,r=[],n=[],a=[],o=[],s=[],i=[],u=[],l=0,p=0,c=0,h=0,f=0,d=0;d<e.glyphs.length;d+=1){var g=e.glyphs.get(d),v=0|g.unicode;if(isNaN(g.advanceWidth))throw Error("Glyph "+g.name+" ("+d+"): advanceWidth is not a number.");(t>v||void 0===t)&&v>0&&(t=v),l<v&&(l=v);var m=eW.getUnicodeRange(v);if(m<32)p|=1<<m;else if(m<64)c|=1<<m-32;else if(m<96)h|=1<<m-64;else if(m<123)f|=1<<m-96;else throw Error("Unicode ranges bits > 123 are reserved for internal usage");if(".notdef"!==g.name){var y=g.getMetrics();r.push(y.xMin),n.push(y.yMin),a.push(y.xMax),o.push(y.yMax),i.push(y.leftSideBearing),u.push(y.rightSideBearing),s.push(g.advanceWidth)}}var b={xMin:Math.min.apply(null,r),yMin:Math.min.apply(null,n),xMax:Math.max.apply(null,a),yMax:Math.max.apply(null,o),advanceWidthMax:Math.max.apply(null,s),advanceWidthAvg:function(e){for(var t=0,r=0;r<e.length;r+=1)t+=e[r];return t/e.length}(s),minLeftSideBearing:Math.min.apply(null,i),maxLeftSideBearing:Math.max.apply(null,i),minRightSideBearing:Math.min.apply(null,u)};b.ascender=e.ascender,b.descender=e.descender;var x=eU.make({flags:3,unitsPerEm:e.unitsPerEm,xMin:b.xMin,yMin:b.yMin,xMax:b.xMax,yMax:b.yMax,lowestRecPPEM:3,createdTimestamp:e.createdTimestamp}),S=eO.make({ascender:b.ascender,descender:b.descender,advanceWidthMax:b.advanceWidthMax,minLeftSideBearing:b.minLeftSideBearing,minRightSideBearing:b.minRightSideBearing,xMaxExtent:b.maxLeftSideBearing+(b.xMax-b.xMin),numberOfHMetrics:e.glyphs.length}),T=eC.make(e.glyphs.length),k=eW.make(Object.assign({xAvgCharWidth:Math.round(b.advanceWidthAvg),usFirstCharIndex:t,usLastCharIndex:l,ulUnicodeRange1:p,ulUnicodeRange2:c,ulUnicodeRange3:h,ulUnicodeRange4:f,sTypoAscender:b.ascender,sTypoDescender:b.descender,sTypoLineGap:0,usWinAscent:b.yMax,usWinDescent:Math.abs(b.yMin),ulCodePageRange1:1,sxHeight:eJ(e,"xyvw",{yMax:Math.round(b.ascender/2)}).yMax,sCapHeight:eJ(e,"HIKLEFJMNTZBDPRAGOQSUVWXY",b).yMax,usDefaultChar:32*!!e.hasChar(" "),usBreakChar:32*!!e.hasChar(" ")},e.tables.os2)),O=eE.make(e.glyphs),E=Q.make(e.glyphs),R=e.getEnglishName("fontFamily"),C=e.getEnglishName("fontSubfam
1ily"),L=R+" "+C,D=e.getEnglishName("postScriptName");D||(D=R.replace(/\s/g,"")+"-"+C);var w={};for(var I in e.names)w[I]=e.names[I];w.uniqueID||(w.uniqueID={en:e.getEnglishName("manufacturer")+":"+L}),w.postScriptName||(w.postScriptName={en:D}),w.preferredFamily||(w.preferredFamily=e.names.fontFamily),w.preferredSubfamily||(w.preferredSubfamily=e.names.fontSubfamily);var M=[],B=eH.make(w,M),G=M.length>0?eR.make(M):void 0,A=eq.make(),N=ek.make(e.glyphs,{version:e.getEnglishName("version"),fullName:L,familyName:R,weightName:C,postScriptName:D,unitsPerEm:e.unitsPerEm,fontBBox:[0,b.yMin,b.ascender,b.advanceWidthMax]}),P=e.metas&&Object.keys(e.metas).length>0?eV.make(e.metas):void 0,F=[x,S,T,k,B,E,A,N,O];G&&F.push(G),e.tables.gsub&&F.push(ej.make(e.tables.gsub)),P&&F.push(P);for(var H=function(e){var t=new W.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}]);t.tables=e,t.numTables=e.length;var r=Math.pow(2,eZ(t.numTables));t.searchRange=16*r,t.entrySelector=eZ(r),t.rangeShift=16*t.numTables-t.searchRange;for(var n=[],a=[],o=t.sizeOf()+eK().sizeOf()*t.numTables;o%4!=0;)o+=1,a.push({name:"padding",type:"BYTE",value:0});for(var s=0;s<e.length;s+=1){var i=e[s];U.argument(4===i.tableName.length,"Table name"+i.tableName+" is invalid.");var u=i.sizeOf(),l=eK(i.tableName,eQ(i.encode()),o,u);for(n.push({name:l.tag+" Table Record",type:"RECORD",value:l}),a.push({name:i.tableName+" table",type:"RECORD",value:i}),o+=u,U.argument(!isNaN(o),"Something went wrong calculating the offset.");o%4!=0;)o+=1,a.push({name:"padding",type:"BYTE",value:0})}return n.sort(function(e,t){return e.value.tag>t.value.tag?1:-1}),t.fields=t.fields.concat(n),t.fields=t.fields.concat(a),t}(F),z=eQ(H.encode()),q=H.fields,_=!1,X=0;X<q.length;X+=1)if("head table"===q[X].name){q[X].value.checkSumAdjustment=0xb1b0afba-z,_=!0;break}if(!_)throw Error("Could not find head table with checkSum to adjust.");return H}};function e0(e,t){for(var r=0,n=e.length-1;r<=n;){var a=r+n>>>1,o=e[a].tag;if(o===t)return a;o<t?r=a+1:n=a-1}return-r-1}function e1(e,t){for(var r=0,n=e.length-1;r<=n;){var a=r+n>>>1,o=e[a];if(o===t)return a;o<t?r=a+1:n=a-1}return-r-1}function e2(e,t){for(var r,n=0,a=e.length-1;n<=a;){var o=n+a>>>1,s=(r=e[o]).start;if(s===t)return r;s<t?n=o+1:a=o-1}if(n>0)return t>(r=e[n-1]).end?0:r}function e6(e,t){this.font=e,this.tableName=t}function e3(e){e6.call(this,e,"gpos")}function e5(e){e6.call(this,e,"gsub")}function e4(e,t,r){for(var n=e.subtables,a=0;a<n.length;a++){var o=n[a];if(o.substFormat===t)return o}if(r)return n.push(r),r}e6.prototype={searchTag:e0,binSearch:e1,getTable:function(e){var t=this.font.tables[this.tableName];return!t&&e&&(t=this.font.tables[this.tableName]=this.createDefaultTable()),t},getScriptNames:function(){var e=this.getTable();return e?e.scripts.map(function(e){return e.tag}):[]},getDefaultScriptName:function(){var e=this.getTable();if(e){for(var t=!1,r=0;r<e.scripts.length;r++){var n=e.scripts[r].tag;if("DFLT"===n)return n;"latn"===n&&(t=!0)}if(t)return"latn"}},getScriptTable:function(e,t){var r=this.getTable(t);if(r){e=e||"DFLT";var n=r.scripts,a=e0(r.scripts,e);if(a>=0)return n[a].script;if(t){var o={tag:e,script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}};return n.splice(-1-a,0,o),o.script}}},getLangSysTable:function(e,t,r){var n=this.getScriptTable(e,r);if(n){if(!t||"dflt"===t||"DFLT"===t)return n.defaultLangSys;var a=e0(n.langSysRecords,t);if(a>=0)return n.langSysRecords[a].langSys;if(r){var o={tag:t,langSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]}};return n.langSysRecords.splice(-1-a,0,o),o.langSys}}},getFeatureTable:function(e,t,r,n){var a=this.getLangSysTable(e,t,n);if(a){for(var o,s=a.featureIndexes,i=this.font.tables[this.tableName].features,u=0;u<s.length;u++)if((o=i[s[u]]).tag===r)return o.feature;if(n){var l=i.length;return U.assert(0===l||r>=i[l-1].tag,"Features must be added in alphabetical order."),o={tag:r,feature:{params:0,lookupListIndexes:[]}},i.push(o),s.push(l),o.feature}}},getLookupTables:function(e,t,r,n,a){var o=this.getFeatureTable(e,t,r,a),s=[];if(o){for(var i,u=o.lookupListIndexes,l=this.font.tables[this.tableName].lookups,p=0;p<u.length;p++)(i=l[u[p]]).lookupType===n&&s.push(i);if(0===s.length&&a){i={lookupType:n,lookupFlag:0,subtables:[],markFilteringSet:void 0};var c=l.length;return l.push(i),u.push(c),[i]}}return s},getGlyphClass:function(e,t){switch(e.format){case 1:if(e.startGlyph<=t&&t<e.startGlyph+e.classes.length)return e.classes[t-e.startGlyph];return 0;case 2:var r=e2(e.ranges,t);return r?r.classId:0}},getCoverageIndex:function(e,t){switch(e.format){case 1:var r=e1(e.glyphs,t);return r>=0?r:-1;case 2:var n=e2(e.ranges,t);return n?n.index+t-n.start:-1}},expandCoverage:function(e){if(1===e.format)return e.glyphs;for(var t=[],r=e.ranges,n=0;n<r.length;n++)for(var a=r[n],o=a.start,s=a.end,i=o;i<=s;i++)t.push(i);return t}},e3.prototype=e6.prototype,e3.prototype.init=function(){var e=this.getDefaultScriptName();this.defaultKerningTables=this.getKerningTables(e)},e3.prototype.getKerningValue=function(e,t,r){for(var n=0;n<e.length;n++)for(var a=e[n].subtables,o=0;o<a.length;o++){var s=a[o],i=this.getCoverageIndex(s.coverage,t);if(!(i<0))switch(s.posFormat){case 1:for(var u=s.pairSets[i],l=0;l<u.length;l++){var p=u[l];
1if(p.secondGlyph===r)return p.value1&&p.value1.xAdvance||0}break;case 2:var c=this.getGlyphClass(s.classDef1,t),h=this.getGlyphClass(s.classDef2,r),f=s.classRecords[c][h];return f.value1&&f.value1.xAdvance||0}}return 0},e3.prototype.getKerningTables=function(e,t){if(this.font.tables.gpos)return this.getLookupTables(e,t,"kern",2)},e5.prototype=e6.prototype,e5.prototype.createDefaultTable=function(){return{version:1,scripts:[{tag:"DFLT",script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}}],features:[],lookups:[]}},e5.prototype.getSingle=function(e,t,r){for(var n=[],a=this.getLookupTables(t,r,e,1),o=0;o<a.length;o++)for(var s=a[o].subtables,i=0;i<s.length;i++){var u=s[i],l=this.expandCoverage(u.coverage),p=void 0;if(1===u.substFormat){var c=u.deltaGlyphId;for(p=0;p<l.length;p++){var h=l[p];n.push({sub:h,by:h+c})}}else{var f=u.substitute;for(p=0;p<l.length;p++)n.push({sub:l[p],by:f[p]})}}return n},e5.prototype.getMultiple=function(e,t,r){for(var n=[],a=this.getLookupTables(t,r,e,2),o=0;o<a.length;o++)for(var s=a[o].subtables,i=0;i<s.length;i++){var u=s[i],l=this.expandCoverage(u.coverage),p=void 0;for(p=0;p<l.length;p++){var c=l[p],h=u.sequences[p];n.push({sub:c,by:h})}}return n},e5.prototype.getAlternates=function(e,t,r){for(var n=[],a=this.getLookupTables(t,r,e,3),o=0;o<a.length;o++)for(var s=a[o].subtables,i=0;i<s.length;i++)for(var u=s[i],l=this.expandCoverage(u.coverage),p=u.alternateSets,c=0;c<l.length;c++)n.push({sub:l[c],by:p[c]});return n},e5.prototype.getLigatures=function(e,t,r){for(var n=[],a=this.getLookupTables(t,r,e,4),o=0;o<a.length;o++)for(var s=a[o].subtables,i=0;i<s.length;i++)for(var u=s[i],l=this.expandCoverage(u.coverage),p=u.ligatureSets,c=0;c<l.length;c++)for(var h=l[c],f=p[c],d=0;d<f.length;d++){var g=f[d];n.push({sub:[h].concat(g.components),by:g.ligGlyph})}return n},e5.prototype.addSingle=function(e,t,r,n){var a=e4(this.getLookupTables(r,n,e,1,!0)[0],2,{substFormat:2,coverage:{format:1,glyphs:[]},substitute:[]});U.assert(1===a.coverage.format,"Single: unable to modify coverage table format "+a.coverage.format);var o=t.sub,s=this.binSearch(a.coverage.glyphs,o);s<0&&(s=-1-s,a.coverage.glyphs.splice(s,0,o),a.substitute.splice(s,0,0)),a.substitute[s]=t.by},e5.prototype.addMultiple=function(e,t,r,n){U.assert(t.by instanceof Array&&t.by.length>1,'Multiple: "by" must be an array of two or more ids');var a=e4(this.getLookupTables(r,n,e,2,!0)[0],1,{substFormat:1,coverage:{format:1,glyphs:[]},sequences:[]});U.assert(1===a.coverage.format,"Multiple: unable to modify coverage table format "+a.coverage.format);var o=t.sub,s=this.binSearch(a.coverage.glyphs,o);s<0&&(s=-1-s,a.coverage.glyphs.splice(s,0,o),a.sequences.splice(s,0,0)),a.sequences[s]=t.by},e5.prototype.addAlternate=function(e,t,r,n){var a=e4(this.getLookupTables(r,n,e,3,!0)[0],1,{substFormat:1,coverage:{format:1,glyphs:[]},alternateSets:[]});U.assert(1===a.coverage.format,"Alternate: unable to modify coverage table format "+a.coverage.format);var o=t.sub,s=this.binSearch(a.coverage.glyphs,o);s<0&&(s=-1-s,a.coverage.glyphs.splice(s,0,o),a.alternateSets.splice(s,0,0)),a.alternateSets[s]=t.by},e5.prototype.addLigature=function(e,t,r,n){var a=this.getLookupTables(r,n,e,4,!0)[0],o=a.subtables[0];o||(o={substFormat:1,coverage:{format:1,glyphs:[]},ligatureSets:[]},a.subtables[0]=o),U.assert(1===o.coverage.format,"Ligature: unable to modify coverage table format "+o.coverage.format);var s=t.sub[0],i=t.sub.slice(1),u={ligGlyph:t.by,components:i},l=this.binSearch(o.coverage.glyphs,s);if(l>=0){for(var p=o.ligatureSets[l],c=0;c<p.length;c++)if(function(e,t){var r=e.length;if(r!==t.length)return!1;for(var n=0;n<r;n++)if(e[n]!==t[n])return!1;return!0}(p[c].components,i))return;p.push(u)}else l=-1-l,o.coverage.glyphs.splice(l,0,s),o.ligatureSets.splice(l,0,[u])},e5.prototype.getFeature=function(e,t,r){if(/ss\d\d/.test(e))return this.getSingle(e,t,r);switch(e){case"aalt":case"salt":return this.getSingle(e,t,r).concat(this.getAlternates(e,t,r));case"dlig":case"liga":case"rlig":return this.getLigatures(e,t,r);case"ccmp":return this.getMultiple(e,t,r).concat(this.getLigatures(e,t,r));case"stch":return this.getMultiple(e,t,r)}},e5.prototype.add=function(e,t,r,n){if(/ss\d\d/.test(e))return this.addSingle(e,t,r,n);switch(e){case"aalt":case"salt":if("number"==typeof t.by)return this.addSingle(e,t,r,n);return this.addAlternate(e,t,r,n);case"dlig":case"liga":case"rlig":return this.addLigature(e,t,r,n);case"ccmp":if(t.by instanceof Array)return this.addMultiple(e,t,r,n);return this.addLigature(e,t,r,n)}};function e8(e,t){if(!e)throw t}function e7(e,t,r,n,a){var o;return(t&n)>0?(o=e.parseByte(),(t&a)==0&&(o=-o),o=r+o):o=(t&a)>0?r:r+e.parseShort(),o}function e9(e,t,r){var n=new Z.Parser(t,r);
1if(e.numberOfContours=n.parseShort(),e._xMin=n.parseShort(),e._yMin=n.parseShort(),e._xMax=n.parseShort(),e._yMax=n.parseShort(),e.numberOfContours>0){for(var a=e.endPointIndices=[],o=0;o<e.numberOfContours;o+=1)a.push(n.parseUShort());e.instructionLength=n.parseUShort(),e.instructions=[];for(var s=0;s<e.instructionLength;s+=1)e.instructions.push(n.parseByte());var i=a[a.length-1]+1;c=[];for(var u=0;u<i;u+=1)if(h=n.parseByte(),c.push(h),(8&h)>0)for(var l=n.parseByte(),p=0;p<l;p+=1)c.push(h),u+=1;if(U.argument(c.length===i,"Bad flags."),a.length>0){var c,h,f,d=[];if(i>0){for(var g=0;g<i;g+=1)h=c[g],(f={}).onCurve=!!(1&h),f.lastPointOfContour=a.indexOf(g)>=0,d.push(f);for(var v=0,m=0;m<i;m+=1)h=c[m],(f=d[m]).x=e7(n,h,v,2,16),v=f.x;for(var y=0,b=0;b<i;b+=1)h=c[b],(f=d[b]).y=e7(n,h,y,4,32),y=f.y}e.points=d}else e.points=[]}else if(0===e.numberOfContours)e.points=[];else{e.isComposite=!0,e.points=[],e.components=[];for(var x=!0;x;){c=n.parseUShort();var S={glyphIndex:n.parseUShort(),xScale:1,scale01:0,scale10:0,yScale:1,dx:0,dy:0};(1&c)>0?(2&c)>0?(S.dx=n.parseShort(),S.dy=n.parseShort()):S.matchedPoints=[n.parseUShort(),n.parseUShort()]:(2&c)>0?(S.dx=n.parseChar(),S.dy=n.parseChar()):S.matchedPoints=[n.parseByte(),n.parseByte()],(8&c)>0?S.xScale=S.yScale=n.parseF2Dot14():(64&c)>0?(S.xScale=n.parseF2Dot14(),S.yScale=n.parseF2Dot14()):(128&c)>0&&(S.xScale=n.parseF2Dot14(),S.scale01=n.parseF2Dot14(),S.scale10=n.parseF2Dot14(),S.yScale=n.parseF2Dot14()),e.components.push(S),x=!!(32&c)}if(256&c){e.instructionLength=n.parseUShort(),e.instructions=[];for(var T=0;T<e.instructionLength;T+=1)e.instructions.push(n.parseByte())}}}function te(e,t){for(var r=[],n=0;n<e.length;n+=1){var a=e[n],o={x:t.xScale*a.x+t.scale01*a.y+t.dx,y:t.scale10*a.x+t.yScale*a.y+t.dy,onCurve:a.onCurve,lastPointOfContour:a.lastPointOfContour};r.push(o)}return r}function tt(e){var t=new T;if(!e)return t;for(var r=function(e){for(var t=[],r=[],n=0;n<e.length;n+=1){var a=e[n];r.push(a),a.lastPointOfContour&&(t.push(r),r=[])}return U.argument(0===r.length,"There are still points left in the current contour."),t}(e),n=0;n<r.length;++n){var a=r[n],o=null,s=a[a.length-1],i=a[0];if(s.onCurve)t.moveTo(s.x,s.y);else if(i.onCurve)t.moveTo(i.x,i.y);else{var u={x:(s.x+i.x)*.5,y:(s.y+i.y)*.5};t.moveTo(u.x,u.y)}for(var l=0;l<a.length;++l)if(o=s,s=i,i=a[(l+1)%a.length],s.onCurve)t.lineTo(s.x,s.y);else{var p=i;o.onCurve||(s.x,o.x,s.y,o.y),i.onCurve||(p={x:(s.x+i.x)*.5,y:(s.y+i.y)*.5}),t.quadraticCurveTo(s.x,s.y,p.x,p.y)}t.closePath()}return t}function tr(e,t){if(t.isComposite)for(var r=0;r<t.components.length;r+=1){var n=t.components[r],a=e.get(n.glyphIndex);if(a.getPath(),a.points){var o=void 0;if(void 0===n.matchedPoints)o=te(a.points,n);else{if(n.matchedPoints[0]>t.points.length-1||n.matchedPoints[1]>a.points.length-1)throw Error("Matched points out of range in "+t.name);var s=t.points[n.matchedPoints[0]],i=a.points[n.matchedPoints[1]],u={xScale:n.xScale,scale01:n.scale01,scale10:n.scale10,yScale:n.yScale,dx:0,dy:0};i=te([i],u)[0],u.dx=s.x-i.x,u.dy=s.y-i.y,o=te(a.points,u)}t.points=t.points.concat(o)}}return tt(t.points)}var tn={getPath:tt,parse:function(e,t,r,n,a){if(a.lowMemory){var o;return o=new el.GlyphSet(n),n._push=function(a){var s=r[a];s!==r[a+1]?o.push(a,el.ttfGlyphLoader(n,a,e9,e,t+s,tr)):o.push(a,el.glyphLoader(n,a))},o}for(var s=new el.GlyphSet(n),i=0;i<r.length-1;i+=1){var u=r[i];u!==r[i+1]?s.push(i,el.ttfGlyphLoader(n,i,e9,e,t+u,tr)):s.push(i,el.glyphLoader(n,i))}return s}};function ta(e){this.font=e,this.getCommands=function(e){return tn.getPath(e).commands},this._fpgmState=this._prepState=void 0,this._errorState=0}function to(e){return e}function ts(e){return Math.sign(e)*Math.round(Math.abs(e))}function ti(e){return Math.sign(e)*Math.round(Math.abs(2*e))/2}function tu(e){return Math.sign(e)*(Math.round(Math.abs(e)+.5)-.5)}function tl(e){return Math.sign(e)*Math.ceil(Math.abs(e))}function tp(e){return Math.sign(e)*Math.floor(Math.abs(e))}var tc=function(e){var t=this.srPeriod,r=this.srPhase,n=this.srThreshold,a=1;return(e<0&&(e=-e,a=-1),e+=n-r,(e=Math.trunc(e/t)*t+r)<0)?r*a:e*a},th={x:1,y:0,axis:"x",distance:function(e,t,r,n){return(r?e.xo:e.x)-(n?t.xo:t.x)},interpolate:function(e,t,r,n){var a,o,s,i,u,l,p;if(!n||n===this){if(a=e.xo-t.xo,o=e.xo-r.xo,u=t.x-t.xo,l=r.x-r.xo,0===(p=(s=Math.abs(a)
1)+(i=Math.abs(o)))){e.x=e.xo+(u+l)/2;return}e.x=e.xo+(u*i+l*s)/p;return}if(a=n.distance(e,t,!0,!0),o=n.distance(e,r,!0,!0),u=n.distance(t,t,!1,!0),l=n.distance(r,r,!1,!0),0===(p=(s=Math.abs(a))+(i=Math.abs(o))))return void th.setRelative(e,e,(u+l)/2,n,!0);th.setRelative(e,e,(u*i+l*s)/p,n,!0)},normalSlope:-1/0,setRelative:function(e,t,r,n,a){if(!n||n===this){e.x=(a?t.xo:t.x)+r;return}var o=a?t.xo:t.x,s=a?t.yo:t.y,i=o+r*n.x,u=s+r*n.y;e.x=i+(e.y-u)/n.normalSlope},slope:0,touch:function(e){e.xTouched=!0},touched:function(e){return e.xTouched},untouch:function(e){e.xTouched=!1}},tf={x:0,y:1,axis:"y",distance:function(e,t,r,n){return(r?e.yo:e.y)-(n?t.yo:t.y)},interpolate:function(e,t,r,n){var a,o,s,i,u,l,p;if(!n||n===this){if(a=e.yo-t.yo,o=e.yo-r.yo,u=t.y-t.yo,l=r.y-r.yo,0===(p=(s=Math.abs(a))+(i=Math.abs(o)))){e.y=e.yo+(u+l)/2;return}e.y=e.yo+(u*i+l*s)/p;return}if(a=n.distance(e,t,!0,!0),o=n.distance(e,r,!0,!0),u=n.distance(t,t,!1,!0),l=n.distance(r,r,!1,!0),0===(p=(s=Math.abs(a))+(i=Math.abs(o))))return void tf.setRelative(e,e,(u+l)/2,n,!0);tf.setRelative(e,e,(u*i+l*s)/p,n,!0)},normalSlope:0,setRelative:function(e,t,r,n,a){if(!n||n===this){e.y=(a?t.yo:t.y)+r;return}var o=a?t.xo:t.x,s=a?t.yo:t.y,i=o+r*n.x;e.y=s+r*n.y+n.normalSlope*(e.x-i)},slope:1/0,touch:function(e){e.yTouched=!0},touched:function(e){return e.yTouched},untouch:function(e){e.yTouched=!1}};function td(e,t){this.x=e,this.y=t,this.axis=void 0,this.slope=t/e,this.normalSlope=-e/t,Object.freeze(this)}function tg(e,t){var r=Math.sqrt(e*e+t*t);return(e/=r,t/=r,1===e&&0===t)?th:0===e&&1===t?tf:new td(e,t)}function tv(e,t,r,n){this.x=this.xo=Math.round(64*e)/64,this.y=this.yo=Math.round(64*t)/64,this.lastPointOfContour=r,this.onCurve=n,this.prevPointOnContour=void 0,this.nextPointOnContour=void 0,this.xTouched=!1,this.yTouched=!1,Object.preventExtensions(this)}Object.freeze(th),Object.freeze(tf),td.prototype.distance=function(e,t,r,n){return this.x*th.distance(e,t,r,n)+this.y*tf.distance(e,t,r,n)},td.prototype.interpolate=function(e,t,r,n){var a,o,s,i,u,l,p;if(s=n.distance(e,t,!0,!0),i=n.distance(e,r,!0,!0),a=n.distance(t,t,!1,!0),o=n.distance(r,r,!1,!0),0===(p=(u=Math.abs(s))+(l=Math.abs(i))))return void this.setRelative(e,e,(a+o)/2,n,!0);this.setRelative(e,e,(a*l+o*u)/p,n,!0)},td.prototype.setRelative=function(e,t,r,n,a){n=n||this;var o=a?t.xo:t.x,s=a?t.yo:t.y,i=o+r*n.x,u=s+r*n.y,l=n.normalSlope,p=this.slope,c=e.x,h=e.y;e.x=(p*c-l*i+u-h)/(p-l),e.y=p*(e.x-c)+h},td.prototype.touch=function(e){e.xTouched=!0,e.yTouched=!0},tv.prototype.nextTouched=function(e){for(var t=this.nextPointOnContour;!e.touched(t)&&t!==this;)t=t.nextPointOnContour;return t},tv.prototype.prevTouched=function(e){for(var t=this.prevPointOnContour;!e.touched(t)&&t!==this;)t=t.prevPointOnContour;return t};var tm=Object.freeze(new tv(0,0)),ty={cvCutIn:17/16,deltaBase:9,deltaShift:.125,loop:1,minDis:1,autoFlip:!0};function tb(e,t){switch(this.env=e,this.stack=[],this.prog=t,e){case"glyf":this.zp0=this.zp1=this.zp2=1,this.rp0=this.rp1=this.rp2=0;case"prep":this.fv=this.pv=this.dpv=th,this.round=ts}}function tx(e){for(var t=e.tZone=Array(e.gZone.length),r=0;r<t.length;r++)t[r]=new tv(0,0)}function tS(e,t){var r,n=e.prog,a=e.ip,o=1;do if(88===(r=n[++a]))o++;else if(89===r)o--;else if(64===r)a+=n[a+1]+1;else if(65===r)a+=2*n[a+1]+1;else if(r>=176&&r<=183)a+=r-176+1;else if(r>=184&&r<=191)a+=(r-184+1)*2;else if(t&&1===o&&27===r)break;while(o>0);e.ip=a}function tT(e,t){exports.DEBUG&&console.log(t.step,"SVTCA["+e.axis+"]"),t.fv=t.pv=t.dpv=e}function tk(e,t){exports.DEBUG&&console.log(t.step,"SPVTCA["+e.axis+"]"),t.pv=t.dpv=e}function tU(e,t){exports.DEBUG&&console.log(t.step,"SFVTCA["+e.axis+"]"),t.fv=e}function tO(e,t){var r,n,a=t.stack,o=a.pop(),s=a.pop(),i=t.z2[o],u=t.z1[s];exports.DEBUG&&console.log("SPVTL["+e+"]",o,s),e?(r=i.y-u.y,n=u.x-i.x):(r=u.x-i.x,n=u.y-i.y),t.pv=t.dpv=tg(r,n)}function tE(e,t){var r,n,a=t.stack,o=a.pop(),s=a.pop(),i=t.z2[o],u=t.z1[s];exports.DEBUG&&console.log("SFVTL["+e+"]",o,s),e?(r=i.y-u.y,n=u.x-i.x):(r=u.x-i.x,n=u.y-i.y),t.fv=tg(r,n)}function tR(e){exports.DEBUG&&console.log(e.step,"POP[]"),e.stack.pop()}function tC(e,t){var r=t.stack.pop(),n=t.z0[r],a=t.fv,o=t.pv;exports.DEBUG&&console.log(t.step,"MDAP["+e+"]",r);var s=o.distance(n,tm);e&&(s=t.round(s)),a.setRelative(n,tm,s,o),a.touch(n),t.rp0=t.rp1=r}function tL(e,t){var r,n,a,o=t.z2,s=o.length-2;exports.DEBUG&&console.log(t.step,"IUP["+e.axis+"]");for(var i=0;i<s;i++)r=o[i],e.touched(r)||(n=r.prevTouched(e))!==r&&(n===(a=r.nextTouched(e))&&e.setRelative(r,r,e.distance(n,n,!1,!0),e,!0),e.interpolate(r,n,a,e))}function tD(e,t){for(var r=t.stack,n=e?t.rp1:t.rp2,a=(e?t.z0:t.z1)[n],o=t.fv,s=t.pv,i=t.loop,u=t.z2;i--;){var l=r.pop(),p=u[l],c=s.distance(a,a,!1,!0);o.setRelative(p,p,c,s),o.touch(p),exports.DEBUG&&console.log(t.step,(t.loop>1?"loop "+(t.loop-i)+": ":"")+"SHP["+(e?"rp1":"rp2")+"]",l)}t.loop=1}
1function tw(e,t){var r=t.stack,n=e?t.rp1:t.rp2,a=(e?t.z0:t.z1)[n],o=t.fv,s=t.pv,i=r.pop(),u=t.z2[t.contours[i]],l=u;exports.DEBUG&&console.log(t.step,"SHC["+e+"]",i);var p=s.distance(a,a,!1,!0);do l!==a&&o.setRelative(l,l,p,s),l=l.nextPointOnContour;while(l!==u)}function tI(e,t){var r,n,a=t.stack,o=e?t.rp1:t.rp2,s=(e?t.z0:t.z1)[o],i=t.fv,u=t.pv,l=a.pop();switch(exports.DEBUG&&console.log(t.step,"SHZ["+e+"]",l),l){case 0:r=t.tZone;break;case 1:r=t.gZone;break;default:throw Error("Invalid zone")}for(var p=u.distance(s,s,!1,!0),c=r.length-2,h=0;h<c;h++)n=r[h],i.setRelative(n,n,p,u)}function tM(e,t){var r=t.stack,n=r.pop()/64,a=r.pop(),o=t.z1[a],s=t.z0[t.rp0],i=t.fv,u=t.pv;i.setRelative(o,s,n,u),i.touch(o),exports.DEBUG&&console.log(t.step,"MSIRP["+e+"]",n,a),t.rp1=t.rp0,t.rp2=a,e&&(t.rp0=a)}function tB(e,t){var r=t.stack,n=r.pop(),a=r.pop(),o=t.z0[a],s=t.fv,i=t.pv,u=t.cvt[n];exports.DEBUG&&console.log(t.step,"MIAP["+e+"]",n,"(",u,")",a);var l=i.distance(o,tm);e&&(Math.abs(l-u)<t.cvCutIn&&(l=u),l=t.round(l)),s.setRelative(o,tm,l,i),0===t.zp0&&(o.xo=o.x,o.yo=o.y),s.touch(o),t.rp0=t.rp1=a}function tG(e,t){var r=t.stack,n=r.pop(),a=t.z2[n];exports.DEBUG&&console.log(t.step,"GC["+e+"]",n),r.push(64*t.dpv.distance(a,tm,e,!1))}function tA(e,t){var r=t.stack,n=r.pop(),a=r.pop(),o=t.z1[n],s=t.z0[a],i=t.dpv.distance(s,o,e,e);exports.DEBUG&&console.log(t.step,"MD["+e+"]",n,a,"->",i),t.stack.push(Math.round(64*i))}function tN(e,t){var r=t.stack,n=r.pop(),a=t.fv,o=t.pv,s=t.ppem,i=t.deltaBase+(e-1)*16,u=t.deltaShift,l=t.z0;exports.DEBUG&&console.log(t.step,"DELTAP["+e+"]",n,r);for(var p=0;p<n;p++){var c=r.pop(),h=r.pop();if(i+((240&h)>>4)===s){var f=(15&h)-8;f>=0&&f++,exports.DEBUG&&console.log(t.step,"DELTAPFIX",c,"by",f*u);var d=l[c];a.setRelative(d,d,f*u,o)}}}function tP(e,t){var r=t.stack,n=r.pop();exports.DEBUG&&console.log(t.step,"ROUND[]"),r.push(64*t.round(n/64))}function tF(e,t){var r=t.stack,n=r.pop(),a=t.ppem,o=t.deltaBase+(e-1)*16,s=t.deltaShift;exports.DEBUG&&console.log(t.step,"DELTAC["+e+"]",n,r);for(var i=0;i<n;i++){var u=r.pop(),l=r.pop();if(o+((240&l)>>4)===a){var p=(15&l)-8;p>=0&&p++;var c=p*s;exports.DEBUG&&console.log(t.step,"DELTACFIX",u,"by",c),t.cvt[u]+=c}}}function tH(e,t){var r,n,a=t.stack,o=a.pop(),s=a.pop(),i=t.z2[o],u=t.z1[s];exports.DEBUG&&console.log(t.step,"SDPVTL["+e+"]",o,s),e?(r=i.y-u.y,n=u.x-i.x):(r=u.x-i.x,n=u.y-i.y),t.dpv=tg(r,n)}function tz(e,t){var r=t.stack,n=t.prog,a=t.ip;exports.DEBUG&&console.log(t.step,"PUSHB["+e+"]");for(var o=0;o<e;o++)r.push(n[++a]);t.ip=a}function tW(e,t){var r=t.ip,n=t.prog,a=t.stack;exports.DEBUG&&console.log(t.ip,"PUSHW["+e+"]");for(var o=0;o<e;o++){var s=n[++r]<<8|n[++r];32768&s&&(s=-((65535^s)+1)),a.push(s)}t.ip=r}function tq(e,t,r,n,a,o){var s,i,u,l,p=o.stack,c=e&&p.pop(),h=p.pop(),f=o.rp0,d=o.z0[f],g=o.z1[h],v=o.minDis,m=o.fv,y=o.dpv;u=(i=s=y.distance(g,d,!0,!0))>=0?1:-1,i=Math.abs(i),e&&(l=o.cvt[c],n&&Math.abs(i-l)<o.cvCutIn&&(i=l)),r&&i<v&&(i=v),n&&(i=o.round(i)),m.setRelative(g,d,u*i,y),m.touch(g),exports.DEBUG&&console.log(o.step,(e?"MIRP[":"MDRP[")+(t?"M":"m")+(r?">":"_")+(n?"R":"_")+(0===a?"Gr":1===a?"Bl":2===a?"Wh":"")+"]",e?c+"("+o.cvt[c]+","+l+")":"",h,"(d =",s,"->",u*i,")"),o.rp1=o.rp0,o.rp2=h,t&&(o.rp0=h)}function t_(e){this.char=e,this.state={},this.activeState=null}function tX(e,t,r){this.contextName=r,this.startIndex=e,this.endOffset=t}function tY(e,t,r){this.contextName=e,this.openRange=null,this.ranges=[],this.checkStart=t,this.checkEnd=r}function tj(e,t){this.context=e,this.index=t,this.length=e.length,this.current=e[t],this.backtrack=e.slice(0,t),this.lookahead=e.slice(t+1)}function tV(e){this.eventId=e,this.subscribers=[]}function tZ(e){var t=this,r=["start","end","next","newToken","contextStart","contextEnd","insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD","updateContextsRanges"];r.forEach(function(e){Object.defineProperty(t.events,e,{value:new tV(e)})}),e&&r.forEach(function(r){var n=e[r];"function"==typeof n&&t.events[r].subscribe(n)}),["insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD"].forEach(function(e){t.events[e].subscribe(t.updateContextsRanges)})}function tQ(e){this.tokens=[],this.registeredContexts={},this.contextCheckers=[],this.events={},this.registeredModifiers=[],tZ.call(this,e)}function tK(e){return/[\u0600-\u065F\u066A-\u06D2\u06FA-\u06FF]/.test(e)}function tJ(e){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(e)}function t$(e){return/[\u0600-\u0605\u060C-\u060E\u0610-\u061B\u061E\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED]/.test(e)}function t0(e){return/[A-z]/.test(e)}function t1(e){this.font=e,this.features={}}function t2(e){this.id=e.id,this.tag=e.tag,this.substitution=e.substitution}function t6(e,t){if(!e)return -1;switch(t.format){case 1:return t.glyphs.indexOf(e);case 2:for(var r=t.ranges,n=0;n<r.length;n++){var a=r[n];if(e>=a.start&&e<=a.end){var o=e-a.start;return a.index+o}}}return -1}function t3(e,t){return -1===t6(e,t.coverage)?null:e+t.deltaGlyphId}function t5(e,t){var r=t6(e,t.coverage);return -1===r?null:t.substitute[r]}function t4(e,t){for(var r=[],n=0;n<e.length;n++){var a=e[n],o=t.current,s=t6(o=Array.isArray(o)?o[0]:o,a);-1!==s&&r.push(s)}return r.length!==e.length?-1:r}function t8(e,t){var r=t.inputCoverage.length+t.lookaheadCoverage.length+t.backtrackCoverage.length;if(e.context.length<r)return[];var n=t4(t.inputCoverage,e);if(-1===n)return[];var a=t.inputCoverage.length-1;if(e.lookahead.length<t.lookaheadCoverage.length)return[];for(var o=e.lookahead.slice(a);o.length&&t$(o[0].char);)o.shift();var s=new tj(o,0),i=t4(t.lookaheadCoverage,s),u=[].concat(e.backtrack);for(u.reverse();u.length&&t$(u[0].char);)u.shift();if(u.length<t.backtrackCoverage.length)return[];var l=new tj(u,0),p=t4(t.backtrackCoverage,l),c=n.length===t.inputCoverage.length&&i.length===t.lookaheadCoverage.length&&p.length===t.backtrackCoverage.length,h=[];if(c)for(var f=0;f<t.lookupRecords.length;f++)for(var d=t.lookupRecords[f].lookupListIndex,g=this.getLookupByIndex(d),v=0;v<g.subtables.length;v++){var m=g.subtables[v],y=this.getLookupMethod(g,m);if("12"===this.getSubstitutionType(g,m))for(var b=0;b<n.length;b++){var x=y(e.get(b));x&&h.push(x)}}return h}function t7(e,t){var r,n=t6(e.current,t.coverage);if(-1===n)return null;for(var a=t.ligatureSets[n],o=0;o<a.length;o++){r=a[o];for(var s=0;s<r.components.length&&e.lookahead[s]===r.components[s];s++)if(s===r.components.length-1)return r}return null}function t9(e,t){var r=t6(e,t.coverage);return -1===r?null:t.sequences[r]}ta.prototype.exec=function(e,t){if("number"!=typeof t)throw Error("Point size is not a number!");if(!(this._errorState>2)){var r=this.font,n=this._prepState;if(!n||n.ppem!==t){var a=this._fpgmState;if(!a){tb.prototype=ty,(a=this._fpgmState=new tb("fpgm",r.tables.fpgm)).funcs=[],a.font=r,exports.DEBUG&&(console.log("---EXEC FPGM---"),a.step=-1);try{o(a)}catch(e){console.log("Hinting error in FPGM:"+e),this._errorState=3;return}}tb.prototype=a,(n=this._prepState=new tb("prep",r.tables.prep)).ppem=t;var i=r.tables.cvt;if(i)for(var u=n.cvt=Array(i.length),l=t/r.unitsPerEm,p=0;p<i.length;p++)u[p]=i[p]*l;else n.cvt=[];exports.DEBUG&&(console.log("---EXEC PREP---"),n.step=-1);try{o(n)}catch(e){this._errorState<2&&console.log("Hinting error in PREP:"+e),this._errorState=2}}if(!(this._errorState>1))try{return s(e,n)}catch(e){this._errorState<1&&(console.log("Hinting error:"+e),console.log("Note: further hinting errors are silenced")),this._errorState=1;return}}},s=function(e,t){var r,n,a,s=t.ppem/t.font.unitsPerEm,u=e.components;if(tb.prototype=t,u){var l=t.font;n=[],r=[];for(var p=0;p<u.length;p++){var c=u[p],h=l.glyphs.get(c.glyphIndex);a=new tb("glyf",h.instructions),exports.DEBUG&&(console.log("---EXEC COMP "+p+"---"),a.step=-1),i(h,a,s,s);for(var f=Math.round(c.dx*s),d=Math.round(c.dy*s),g=a.gZone,v=a.contours,m=0;m<g.length;m++){var y=g[m];y.xTouched=y.yTouched=!1,y.xo=y.x=y.x+f,y.yo=y.y=y.y+d}var b=n.length;n.push.apply(n,g);for(var x=0;x<v.length;x++)r.push(v[x]+b)}e.instructions&&!a.inhibitGridFit&&((a=new tb("glyf",e.instructions)).gZone=a.z0=a.z1=a.z2=n,a.contours=r,n.push(new tv(0,0),new tv(Math.round(e.advanceWidth*s),0)),exports.DEBUG&&(console.log("---EXEC COMPOSITE---"),a.step=-1),o(a),n.length-=2)}else a=new tb("glyf",e.instructions),exports.DEBUG&&(console.log("---EXEC GLYPH---"),a.step=-1),i(e,a,s,s),n=a.gZone;return n},i=function(e,t,r,n){for(var a,s,i,u=e.points||[],l=u.length,p=t.gZone=t.z0=t.z1=t.z2=[],c=t.contours=[],h=0;h<l;h++)a=u[h],p[h]=new tv(a.x*r,a.y*n,a.lastPointOfContour,a.onCurve);for(var f=0;f<l;f++)a=p[f],s||(s=a,c.push(f)),a.lastPointOfContour?(a.nextPointOnContour=s,s.prevPointOnContour=a,s=void 0):(i=p[f+1],a.nextPointOnContour=i,i.prevPointOnContour=a);if(!t.inhibitGridFit){if(exports.DEBUG){console.log("PROCESSING GLYPH",t.stack);for(var d=0;d<l;d++)console.log(d,p[d].x,p[d].y)}if(p.push(new tv(0,0),new tv(Math.round(e.advanceWidth*r),0)),o(t),p.length-=2,exports.DEBUG){console.log("FINISHED GLYPH",t.stack);for(var g=0;g<l;g++)console.log(g,p[g].x,p[g].y)}}},o=function(e){var t,r=e.prog;if(r){var n=r.length;for(e.ip=0;e.ip<n;e.ip++){if(exports.DEBUG&&e.step++,!(t=a[r[e.ip]]))throw Error("unknown instruction: 0x"+Number(r[e.ip]).toString(16));t(e)}}},a=[tT.bind(void 0,tf),tT.bind(void 0,th),tk.bind(void 0,tf),tk.bind(void 0,th),tU.bind(void 0,tf),tU.bind(void 0,th),tO.bind(void 0,0),tO.bind(void 0,1
1),tE.bind(void 0,0),tE.bind(void 0,1),function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"SPVFS[]",r,n),e.pv=e.dpv=tg(n,r)},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"SPVFS[]",r,n),e.fv=tg(n,r)},function(e){var t=e.stack,r=e.pv;exports.DEBUG&&console.log(e.step,"GPV[]"),t.push(16384*r.x),t.push(16384*r.y)},function(e){var t=e.stack,r=e.fv;exports.DEBUG&&console.log(e.step,"GFV[]"),t.push(16384*r.x),t.push(16384*r.y)},function(e){e.fv=e.pv,exports.DEBUG&&console.log(e.step,"SFVTPV[]")},function(e){var t=e.stack,r=t.pop(),n=t.pop(),a=t.pop(),o=t.pop(),s=t.pop(),i=e.z0,u=e.z1,l=i[r],p=i[n],c=u[a],h=u[o],f=e.z2[s];exports.DEBUG&&console.log("ISECT[], ",r,n,a,o,s);var d=l.x,g=l.y,v=p.x,m=p.y,y=c.x,b=c.y,x=h.x,S=h.y,T=(d-v)*(b-S)-(g-m)*(y-x),k=d*m-g*v,U=y*S-b*x;f.x=(k*(y-x)-U*(d-v))/T,f.y=(k*(b-S)-U*(g-m))/T},function(e){e.rp0=e.stack.pop(),exports.DEBUG&&console.log(e.step,"SRP0[]",e.rp0)},function(e){e.rp1=e.stack.pop(),exports.DEBUG&&console.log(e.step,"SRP1[]",e.rp1)},function(e){e.rp2=e.stack.pop(),exports.DEBUG&&console.log(e.step,"SRP2[]",e.rp2)},function(e){var t=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"SZP0[]",t),e.zp0=t,t){case 0:e.tZone||tx(e),e.z0=e.tZone;break;case 1:e.z0=e.gZone;break;default:throw Error("Invalid zone pointer")}},function(e){var t=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"SZP1[]",t),e.zp1=t,t){case 0:e.tZone||tx(e),e.z1=e.tZone;break;case 1:e.z1=e.gZone;break;default:throw Error("Invalid zone pointer")}},function(e){var t=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"SZP2[]",t),e.zp2=t,t){case 0:e.tZone||tx(e),e.z2=e.tZone;break;case 1:e.z2=e.gZone;break;default:throw Error("Invalid zone pointer")}},function(e){var t=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"SZPS[]",t),e.zp0=e.zp1=e.zp2=t,t){case 0:e.tZone||tx(e),e.z0=e.z1=e.z2=e.tZone;break;case 1:e.z0=e.z1=e.z2=e.gZone;break;default:throw Error("Invalid zone pointer")}},function(e){e.loop=e.stack.pop(),exports.DEBUG&&console.log(e.step,"SLOOP[]",e.loop)},function(e){exports.DEBUG&&console.log(e.step,"RTG[]"),e.round=ts},function(e){exports.DEBUG&&console.log(e.step,"RTHG[]"),e.round=tu},function(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"SMD[]",t),e.minDis=t/64},function(e){exports.DEBUG&&console.log(e.step,"ELSE[]"),tS(e,!1)},function(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"JMPR[]",t),e.ip+=t-1},function(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"SCVTCI[]",t),e.cvCutIn=t/64},void 0,void 0,function(e){var t=e.stack;exports.DEBUG&&console.log(e.step,"DUP[]"),t.push(t[t.length-1])},tR,function(e){exports.DEBUG&&console.log(e.step,"CLEAR[]"),e.stack.length=0},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"SWAP[]"),t.push(r),t.push(n)},function(e){var t=e.stack;exports.DEBUG&&console.log(e.step,"DEPTH[]"),t.push(t.length)},function(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"CINDEX[]",r),t.push(t[t.length-r])},function(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"MINDEX[]",r),t.push(t.splice(t.length-r,1)[0])},void 0,void 0,void 0,function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"LOOPCALL[]",r,n);var a=e.ip,s=e.prog;e.prog=e.funcs[r];for(var i=0;i<n;i++)o(e),exports.DEBUG&&console.log(++e.step,i+1<n?"next loopcall":"done loopcall",i);e.ip=a,e.prog=s},function(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"CALL[]",t);var r=e.ip,n=e.prog;e.prog=e.funcs[t],o(e),e.ip=r,e.prog=n,exports.DEBUG&&console.log(++e.step,"returning from",t)},function(e){if("fpgm"!==e.env)throw Error("FDEF not allowed here");var t=e.stack,r=e.prog,n=e.ip,a=t.pop(),o=n;for(exports.DEBUG&&console.log(e.step,"FDEF[]",a);45!==r[++n];);e.ip=n,e.funcs[a]=r.slice(o+1,n)},void 0,tC.bind(void 0,0),tC.bind(void 0,1),tL.bind(void 0,tf),tL.bind(void 0,th),tD.bind(void 0,0),tD.bind(void 0,1),tw.bind(void 0,0),tw.bind(void 0,1),tI.bind(void 0,0),tI.bind(void 0,1),function(e){for(var t=e.stack,r=e.loop,n=e.fv,a=t.pop()/64,o=e.z2;r--;){var s=t.pop(),i=o[s];exports.DEBUG&&console.log(e.step,(e.loop>1?"loop "+(e.loop-r)+": ":"")+"SHPIX[]",s,a),n.setRelative(i,i,a),n.touch(i)}e.loop=1},function(e){for(var t=e.stack,r=e.rp1,n=e.rp2,a=e.loop,o=e.z0[r],s=e.z1[n],i=e.fv,u=e.dpv,l=e.z2;a--;){var p=t.pop(),c=l[p];
1exports.DEBUG&&console.log(e.step,(e.loop>1?"loop "+(e.loop-a)+": ":"")+"IP[]",p,r,"<->",n),i.interpolate(c,o,s,u),i.touch(c)}e.loop=1},tM.bind(void 0,0),tM.bind(void 0,1),function(e){for(var t=e.stack,r=e.rp0,n=e.z0[r],a=e.loop,o=e.fv,s=e.pv,i=e.z1;a--;){var u=t.pop(),l=i[u];exports.DEBUG&&console.log(e.step,(e.loop>1?"loop "+(e.loop-a)+": ":"")+"ALIGNRP[]",u),o.setRelative(l,n,0,s),o.touch(l)}e.loop=1},function(e){exports.DEBUG&&console.log(e.step,"RTDG[]"),e.round=ti},tB.bind(void 0,0),tB.bind(void 0,1),function(e){var t=e.prog,r=e.ip,n=e.stack,a=t[++r];exports.DEBUG&&console.log(e.step,"NPUSHB[]",a);for(var o=0;o<a;o++)n.push(t[++r]);e.ip=r},function(e){var t=e.ip,r=e.prog,n=e.stack,a=r[++t];exports.DEBUG&&console.log(e.step,"NPUSHW[]",a);for(var o=0;o<a;o++){var s=r[++t]<<8|r[++t];32768&s&&(s=-((65535^s)+1)),n.push(s)}e.ip=t},function(e){var t=e.stack,r=e.store;r||(r=e.store=[]);var n=t.pop(),a=t.pop();exports.DEBUG&&console.log(e.step,"WS",n,a),r[a]=n},function(e){var t=e.stack,r=e.store,n=t.pop();exports.DEBUG&&console.log(e.step,"RS",n);var a=r&&r[n]||0;t.push(a)},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"WCVTP",r,n),e.cvt[n]=r/64},function(e){var t=e.stack,r=t.pop();
1exports.DEBUG&&console.log(e.step,"RCVT",r),t.push(64*e.cvt[r])},tG.bind(void 0,0),tG.bind(void 0,1),void 0,tA.bind(void 0,0),tA.bind(void 0,1),function(e){exports.DEBUG&&console.log(e.step,"MPPEM[]"),e.stack.push(e.ppem)},void 0,function(e){exports.DEBUG&&console.log(e.step,"FLIPON[]"),e.autoFlip=!0},void 0,void 0,function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"LT[]",r,n),t.push(+(n<r))},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"LTEQ[]",r,n),t.push(+(n<=r))},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"GT[]",r,n),t.push(+(n>r))},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"GTEQ[]",r,n),t.push(+(n>=r))},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"EQ[]",r,n),t.push(+(r===n))},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"NEQ[]",r,n),t.push(+(r!==n))},function(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"ODD[]",r),t.push(Math.trunc(r)%2?1:0)},function(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"EVEN[]",r),t.push(Math.trunc(r)%2?0:1)},function(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"IF[]",t),!t&&(tS(e,!0),exports.DEBUG&&console.log(e.step,"EIF[]"))},function(e){exports.DEBUG&&console.log(e.step,"EIF[]")},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"AND[]",r,n),t.push(r&&n?1:0)},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"OR[]",r,n),t.push(r||n?1:0)},function(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"NOT[]",r),t.push(+!r)},tN.bind(void 0,1),function(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"SDB[]",t),e.deltaBase=t},function(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"SDS[]",t),e.deltaShift=Math.pow(.5,t)},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"ADD[]",r,n),t.push(n+r)},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"SUB[]",r,n),t.push(n-r)},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"DIV[]",r,n),t.push(64*n/r)},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"MUL[]",r,n),t.push(n*r/64)},function(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"ABS[]",r),t.push(Math.abs(r))},function(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"NEG[]",r),t.push(-r)},function(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"FLOOR[]",r),t.push(64*Math.floor(r/64))},function(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"CEILING[]",r),t.push(64*Math.ceil(r/64))},tP.bind(void 0,0),tP.bind(void 0,1),tP.bind(void 0,2),tP.bind(void 0,3),void 0,void 0,void 0,void 0,function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"WCVTF[]",r,n),e.cvt[n]=r*e.ppem/e.font.unitsPerEm},tN.bind(void 0,2),tN.bind(void 0,3),tF.bind(void 0,1),tF.bind(void 0,2),tF.bind(void 0,3),function(e){var t,r=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"SROUND[]",r),e.round=tc,192&r){case 0:t=.5;break;case 64:t=1;break;case 128:t=2;break;default:throw Error("invalid SROUND value")}switch(e.srPeriod=t,48&r){case 0:e.srPhase=0;break;case 16:e.srPhase=.25*t;break;case 32:e.srPhase=.5*t;break;case 48:e.srPhase=.75*t;break;default:throw Error("invalid SROUND value")}0==(r&=15)?e.srThreshold=0:e.srThreshold=(r/8-.5)*t},function(e){var t,r=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"S45ROUND[]",r),e.round=tc,192&r){case 0:t=Math.sqrt(2)/2;break;case 64:t=Math.sqrt(2);break;case 128:t=2*Math.sqrt(2);break;default:throw Error("invalid S45ROUND value")}switch(e.srPeriod=t,48&r){case 0:e.srPhase=0;break;case 16:e.srPhase=.25*t;break;case 32:e.srPhase=.5*t;break;case 48:e.srPhase=.75*t;break;default:throw Error("invalid S45ROUND value")}0==(r&=15)?e.srThreshold=0:e.srThreshold=(r/8-.5)*t},void 0,void 0,function(e){exports.DEBUG&&console.log(e.step,"ROFF[]"),e.round=to},void 0,function(e){exports.DEBUG&&console.log(e.step,"RUTG[]"),e.round=tl},function(e){exports.DEBUG&&console.log(e.step,"RDTG[]"),e.round=tp},tR,tR,void 0,void 0,void 0,void 0,void 0,function(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"SCANCTRL[]",t)}
1,tH.bind(void 0,0),tH.bind(void 0,1),function(e){var t=e.stack,r=t.pop(),n=0;exports.DEBUG&&console.log(e.step,"GETINFO[]",r),1&r&&(n=35),32&r&&(n|=4096),t.push(n)},void 0,function(e){var t=e.stack,r=t.pop(),n=t.pop(),a=t.pop();exports.DEBUG&&console.log(e.step,"ROLL[]"),t.push(n),t.push(r),t.push(a)},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"MAX[]",r,n),t.push(Math.max(n,r))},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"MIN[]",r,n),t.push(Math.min(n,r))},function(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"SCANTYPE[]",t)},function(e){var t=e.stack.pop(),r=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"INSTCTRL[]",t,r),t){case 1:e.inhibitGridFit=!!r;return;case 2:e.ignoreCvt=!!r;return;default:throw Error("invalid INSTCTRL[] selector")}},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,tz.bind(void 0,1),tz.bind(void 0,2),tz.bind(void 0,3),tz.bind(void 0,4),tz.bind(void 0,5),tz.bind(void 0,6),tz.bind(void 0,7),tz.bind(void 0,8),tW.bind(void 0,1),tW.bind(void 0,2),tW.bind(void 0,3),tW.bind(void 0,4),tW.bind(void 0,5),tW.bind(void 0,6),tW.bind(void 0,7),tW.bind(void 0,8),tq.bind(void 0,0,0,0,0,0),tq.bind(void 0,0,0,0,0,1),tq.bind(void 0,0,0,0,0,2),tq.bind(void 0,0,0,0,0,3),tq.bind(void 0,0,0,0,1,0),tq.bind(void 0,0,0,0,1,1),tq.bind(void 0,0,0,0,1,2),tq.bind(void 0,0,0,0,1,3),tq.bind(void 0,0,0,1,0,0),tq.bind(void 0,0,0,1,0,1),tq.bind(void 0,0,0,1,0,2),tq.bind(void 0,0,0,1,0,3),tq.bind(void 0,0,0,1,1,0),tq.bind(void 0,0,0,1,1,1),tq.bind(void 0,0,0,1,1,2),tq.bind(void 0,0,0,1,1,3),tq.bind(void 0,0,1,0,0,0),tq.bind(void 0,0,1,0,0,1),tq.bind(void 0,0,1,0,0,2),tq.bind(void 0,0,1,0,0,3),tq.bind(void 0,0,1,0,1,0),tq.bind(void 0,0,1,0,1,1),tq.bind(void 0,0,1,0,1,2),tq.bind(void 0,0,1,0,1,3),tq.bind(void 0,0,1,1,0,0),tq.bind(void 0,0,1,1,0,1),tq.bind(void 0,0,1,1,0,2),tq.bind(void 0,0,1,1,0,3),tq.bind(void 0,0,1,1,1,0),tq.bind(void 0,0,1,1,1,1),tq.bind(void 0,0,1,1,1,2),tq.bind(void 0,0,1,1,1,3),tq.bind(void 0,1,0,0,0,0),tq.bind(void 0,1,0,0,0,1),tq.bind(void 0,1,0,0,0,2),tq.bind(void 0,1,0,0,0,3),tq.bind(void 0,1,0,0,1,0),tq.bind(void 0,1,0,0,1,1),tq.bind(void 0,1,0,0,1,2),tq.bind(void 0,1,0,0,1,3),tq.bind(void 0,1,0,1,0,0),tq.bind(void 0,1,0,1,0,1),tq.bind(void 0,1,0,1,0,2),tq.bind(void 0,1,0,1,0,3),tq.bind(void 0,1,0,1,1,0),tq.bind(void 0,1,0,1,1,1),tq.bind(void 0,1,0,1,1,2),tq.bind(void 0,1,0,1,1,3),tq.bind(void 0,1,1,0,0,0),tq.bind(void 0,1,1,0,0,1),tq.bind(void 0,1,1,0,0,2),tq.bind(void 0,1,1,0,0,3),tq.bind(void 0,1,1,0,1,0),tq.bind(void 0,1,1,0,1,1),tq.bind(void 0,1,1,0,1,2),tq.bind(void 0,1,1,0,1,3),tq.bind(void 0,1,1,1,0,0),tq.bind(void 0,1,1,1,0,1),tq.bind(void 0,1,1,1,0,2),tq.bind(void 0,1,1,1,0,3),tq.bind(void 0,1,1,1,1,0),tq.bind(void 0,1,1,1,1,1),tq.bind(void 0,1,1,1,1,2),tq.bind(void 0,1,1,1,1,3)],t_.prototype.setState=function(e,t){return this.state[e]=t,this.activeState={key:e,value:this.state[e]},this.activeState},t_.prototype.getState=function(e){return this.state[e]||null},tQ.prototype.inboundIndex=function(e){return e>=0&&e<this.tokens.length},tQ.prototype.composeRUD=function(e){var t=this,r=e.map(function(e){return t[e[0]].apply(t,e.slice(1).concat(!0))}),n=function(e){return"object"==typeof e&&e.hasOwnProperty("FAIL")};if(r.every(n))return{FAIL:"composeRUD: one or more operations hasn't completed successfully",report:r.filter(n)};this.dispatch("composeRUD",[r.filter(function(e){return!n(e)})])},tQ.prototype.replaceRange=function(e,t,r,n){t=null!==t?t:this.tokens.length;var a=r.every(function(e){return e instanceof t_});if(!(!isNaN(e)&&this.inboundIndex(e))||!a)return{FAIL:"replaceRange: invalid tokens or startIndex."};var o=this.tokens.splice.apply(this.tokens,[e,t].concat(r));return n||this.dispatch("replaceToken",[e,t,r]),[o,r]},tQ.prototype.replaceToken=function(e,t,r){if(!(!isNaN(e)&&this.inboundIndex(e))||!(t instanceof t_))return{FAIL:"replaceToken: invali
1d token or index."};var n=this.tokens.splice(e,1,t);return r||this.dispatch("replaceToken",[e,t]),[n[0],t]},tQ.prototype.removeRange=function(e,t,r){t=isNaN(t)?this.tokens.length:t;var n=this.tokens.splice(e,t);return r||this.dispatch("removeRange",[n,e,t]),n},tQ.prototype.removeToken=function(e,t){if(!(!isNaN(e)&&this.inboundIndex(e)))return{FAIL:"removeToken: invalid token index."};var r=this.tokens.splice(e,1);return t||this.dispatch("removeToken",[r,e]),r},tQ.prototype.insertToken=function(e,t,r){return e.every(function(e){return e instanceof t_})?(this.tokens.splice.apply(this.tokens,[t,0].concat(e)),r||this.dispatch("insertToken",[e,t]),e):{FAIL:"insertToken: invalid token(s)."}},tQ.prototype.registerModifier=function(e,t,r){this.events.newToken.subscribe(function(n,a){var o=[n,a],s=null===t||!0===t.apply(this,o),i=[n,a];if(s){var u=r.apply(this,i);n.setState(e,u)}}),this.registeredModifiers.push(e)},tV.prototype.subscribe=function(e){return"function"==typeof e?this.subscribers.push(e)-1:{FAIL:"invalid '"+this.eventId+"' event handler"}},tV.prototype.unsubscribe=function(e){this.subscribers.splice(e,1)},tj.prototype.setCurrentIndex=function(e){this.index=e,this.current=this.context[e],this.backtrack=this.context.slice(0,e),this.lookahead=this.context.slice(e+1)},tj.prototype.get=function(e){switch(!0){case 0===e:return this.current;case e<0&&Math.abs(e)<=this.backtrack.length:return this.backtrack.slice(e)[0];case e>0&&e<=this.lookahead.length:return this.lookahead[e-1];default:return null}},tQ.prototype.rangeToText=function(e){if(e instanceof tX)return this.getRangeTokens(e).map(function(e){return e.char}).join("")},tQ.prototype.getText=function(){return this.tokens.map(function(e){return e.char}).join("")},tQ.prototype.getContext=function(e){return this.registeredContexts[e]||null},tQ.prototype.on=function(e,t){var r=this.events[e];return r?r.subscribe(t):null},tQ.prototype.dispatch=function(e,t){var r=this,n=this.events[e];n instanceof tV&&n.subscribers.forEach(function(e){e.apply(r,t||[])})},tQ.prototype.registerContextChecker=function(e,t,r){if(this.getContext(e))return{FAIL:"context name '"+e+"' is already registered."};if("function"!=typeof t)return{FAIL:"missing context start check."};if("function"!=typeof r)return{FAIL:"missing context end check."};var n=new tY(e,t,r);return this.registeredContexts[e]=n,this.contextCheckers.push(n),n},tQ.prototype.getRangeTokens=function(e){var t=e.startIndex+e.endOffset;return[].concat(this.tokens.slice(e.startIndex,t))},tQ.prototype.getContextRanges=function(e){var t=this.getContext(e);return t?t.ranges:{FAIL:"context checker '"+e+"' is not registered."}},tQ.prototype.resetContextsRanges=function(){var e=this.registeredContexts;for(var t in e)e.hasOwnProperty(t)&&(e[t].ranges=[])},tQ.prototype.updateContextsRanges=function(){this.resetContextsRanges();for(var e=this.tokens.map(function(e){return e.char}),t=0;t<e.length;t++){var r=new tj(e,t);this.runContextCheck(r)}this.dispatch("updateContextsRanges",[this.registeredContexts])},tQ.prototype.setEndOffset=function(e,t){var r=new tX(this.getContext(t).openRange.startIndex,e,t),n=this.getContext(t).ranges;return r.rangeId=t+"."+n.length,n.push(r),this.getContext(t).openRange=null,r},tQ.prototype.runContextCheck=function(e){var t=this,r=e.index;this.contextCheckers.forEach(function(n){var a=n.contextName,o=t.getContext(a).openRange;if(!o&&n.checkStart(e)&&(o=new tX(r,null,a),t.getContext(a).openRange=o,t.dispatch("contextStart",[a,r])),o&&n.checkEnd(e)){var s=r-o.startIndex+1,i=t.setEndOffset(s,a);t.dispatch("contextEnd",[a,i])}})},tQ.prototype.tokenize=function(e){this.tokens=[],this.resetContextsRanges();var t=Array.from(e);this.dispatch("start");for(var r=0;r<t.length;r++){var n=t[r],a=new tj(t,r);this.dispatch("next",[a]),this.runContextCheck(a);var o=new t_(n);this.tokens.push(o),this.dispatch("newToken",[o,a])}return this.dispatch("end",[this.tokens]),this.tokens},t1.prototype.getDefaultScriptFeaturesIndexes=function(){for(var e=this.font.tables.gsub.scripts,t=0;t<e.length;t++){var r=e[t];if("DFLT"===r.tag)return r.script.defaultLangSys.featureIndexes}return[]},t1.prototype.getScriptFeaturesIndexes=function(e){if(!this.font.tables.gsub)return[];if(!e)return this.getDefaultScriptFeaturesIndexes();for(var t=this.font.tables.gsub.scripts,r=0;r<t.length;r++){var n=t[r];
1if(n.tag===e&&n.script.defaultLangSys)return n.script.defaultLangSys.featureIndexes;var a=n.langSysRecords;if(a)for(var o=0;o<a.length;o++){var s=a[o];if(s.tag===e)return s.langSys.featureIndexes}}return this.getDefaultScriptFeaturesIndexes()},t1.prototype.mapTagsToFeatures=function(e,t){for(var r={},n=0;n<e.length;n++){var a=e[n].tag,o=e[n].feature;r[a]=o}this.features[t].tags=r},t1.prototype.getScriptFeatures=function(e){var t=this.features[e];if(this.features.hasOwnProperty(e))return t;var r=this.getScriptFeaturesIndexes(e);if(!r)return null;var n=this.font.tables.gsub;return t=r.map(function(e){return n.features[e]}),this.features[e]=t,this.mapTagsToFeatures(t,e),t},t1.prototype.getSubstitutionType=function(e,t){return e.lookupType.toString()+t.substFormat.toString()},t1.prototype.getLookupMethod=function(e,t){var r=this;switch(this.getSubstitutionType(e,t)){case"11":return function(e){return t3.apply(r,[e,t])};case"12":return function(e){return t5.apply(r,[e,t])};case"63":return function(e){return t8.apply(r,[e,t])};case"41":return function(e){return t7.apply(r,[e,t])};case"21":return function(e){return t9.apply(r,[e,t])};default:throw Error("lookupType: "+e.lookupType+" - substFormat: "+t.substFormat+" is not yet supported")}},t1.prototype.lookupFeature=function(e){var t=e.contextParams,r=t.index,n=this.getFeature({tag:e.tag,script:e.script});if(!n)return Error("font '"+this.font.names.fullName.en+"' doesn't support feature '"+e.tag+"' for script '"+e.script+"'.");for(var a=this.getFeatureLookups(n),o=[].concat(t.context),s=0;s<a.length;s++)for(var i=a[s],u=this.getLookupSubtables(i),l=0;l<u.length;l++){var p=u[l],c=this.getSubstitutionType(i,p),h=this.getLookupMethod(i,p),f=void 0;switch(c){case"11":(f=h(t.current))&&o.splice(r,1,new t2({id:11,tag:e.tag,substitution:f}));break;case"12":(f=h(t.current))&&o.splice(r,1,new t2({id:12,tag:e.tag,substitution:f}));break;case"63":Array.isArray(f=h(t))&&f.length&&o.splice(r,1,new t2({id:63,tag:e.tag,substitution:f}));break;case"41":(f=h(t))&&o.splice(r,1,new t2({id:41,tag:e.tag,substitution:f}));break;case"21":(f=h(t.current))&&o.splice(r,1,new t2({id:21,tag:e.tag,substitution:f}))}t=new tj(o,r),(!Array.isArray(f)||f.length)&&(f=null)}return o.length?o:null},t1.prototype.supports=function(e){if(!e.script)return!1;this.getScriptFeatures(e.script);var t=this.features.hasOwnProperty(e.script);if(!e.tag)return t;var r=this.features[e.script].some(function(t){return t.tag===e.tag});return t&&r},t1.prototype.getLookupSubtables=function(e){return e.subtables||null},t1.prototype.getLookupByIndex=function(e){return this.font.tables.gsub.lookups[e]||null},t1.prototype.getFeatureLookups=function(e){return e.lookupListIndexes.map(this.getLookupByIndex.bind(this))},t1.prototype.getFeature=function(e){if(!this.font)return{FAIL:"No font was found"};this.features.hasOwnProperty(e.script)||this.getScriptFeatures(e.script);var t=this.features[e.script];return t?t.tags[e.tag]?this.features[e.script].tags[e.tag]:null:{FAIL:"No feature for script "+e.script}};var re={11:function(e,t,r){t[r].setState(e.tag,e.substitution)},12:function(e,t,r){t[r].setState(e.tag,e.substitution)},63:function(e,t,r){e.substitution.forEach(function(n,a){t[r+a].setState(e.tag,n)})},41:function(e,t,r){var n=t[r];n.setState(e.tag,e.substitution.ligGlyph);for(var a=e.substitution.components.length,o=0;o<a;o++)(n=t[r+o+1]).setState("deleted",!0)}};function rt(e,t,r){e instanceof t2&&re[e.id]&&re[e.id](e,t,r)}function rr(e){var t=this,r="arab",n=this.featuresTags[r],a=this.tokenizer.getRangeTokens(e);if(1!==a.length){var o=new tj(a.map(function(e){return e.getState("glyphIndex")}),0),s=new tj(a.map(function(e){return e.char}),0);a.forEach(function(e,i){if(!t$(e.char)){o.setCurrentIndex(i),s.setCurrentIndex(i);var u,l=0;switch(function(e){for(var t=[].concat(e.backtrack),r=t.length-1;r>=0;r--){var n=t[r],a=tJ(n),o=t$(n);if(!a&&!o)return!0;if(a)break}return!1}(s)&&(l|=1),function(e){if(tJ(e.current))return!1;for(var t=0;t<e.lookahead.length;t++)if(!t$(e.lookahead[t]))return!0;return!1}(s)&&(l|=2),l){case 1:u="fina";break;case 2:u="init";break;case 3:u="medi"}if(-1!==n.indexOf(u)){var p=t.query.lookupFeature({tag:u,script:r,contextParams:o});if(p instanceof Error)return console.info(p.message);p.forEach(function(e,t){e instanceof t2&&(rt(e,a,t),o.context[t]=e.substitution)})}}})}}function rn(e,t){return new tj(e.map(function(e){return e.activeState.value}),t||0)}function ra(e){var t=this,r=this.tokenizer.getRangeTokens(e),n=rn(r);n.context.forEach(function(e,a){n.setCurrentIndex(a);var o=t.query.lookupFeature({tag:"rlig",script:"arab",contextParams:n});
1o.length&&(o.forEach(function(e){return rt(e,r,a)}),n=rn(r))})}function ro(e,t){return new tj(e.map(function(e){return e.activeState.value}),t||0)}function rs(e){var t=this,r=this.tokenizer.getRangeTokens(e),n=ro(r);n.context.forEach(function(e,a){n.setCurrentIndex(a);var o=t.query.lookupFeature({tag:"liga",script:"latn",contextParams:n});o.length&&(o.forEach(function(e){return rt(e,r,a)}),n=ro(r))})}function ri(e){this.baseDir=e||"ltr",this.tokenizer=new tQ,this.featuresTags={}}function ru(e){var t=this.contextChecks[e+"Check"];return this.tokenizer.registerContextChecker(e,t.startCheck,t.endCheck)}function rl(){return ru.call(this,"latinWord"),ru.call(this,"arabicWord"),ru.call(this,"arabicSentence"),this.tokenizer.tokenize(this.text)}function rp(){var e=this;this.tokenizer.getContextRanges("arabicSentence").forEach(function(t){var r=e.tokenizer.getRangeTokens(t);e.tokenizer.replaceRange(t.startIndex,t.endOffset,r.reverse())})}function rc(){if(-1===this.tokenizer.registeredModifiers.indexOf("glyphIndex"))throw Error("glyphIndex modifier is required to apply arabic presentation features.")}function rh(){var e=this;this.featuresTags.hasOwnProperty("arab")&&(rc.call(this),this.tokenizer.getContextRanges("arabicWord").forEach(function(t){rr.call(e,t)}))}function rf(){var e=this,t="arab";this.featuresTags.hasOwnProperty(t)&&-1!==this.featuresTags[t].indexOf("rlig")&&(rc.call(this),this.tokenizer.getContextRanges("arabicWord").forEach(function(t){ra.call(e,t)}))}function rd(){var e=this,t="latn";this.featuresTags.hasOwnProperty(t)&&-1!==this.featuresTags[t].indexOf("liga")&&(rc.call(this),this.tokenizer.getContextRanges("latinWord").forEach(function(t){rs.call(e,t)}))}function rg(e){(e=e||{}).tables=e.tables||{},e.empty||(e8(e.familyName,"When creating a new Font object, familyName is required."),e8(e.styleName,"When creating a new Font object, styleName is required."),e8(e.unitsPerEm,"When creating a new Font object, unitsPerEm is required."),e8(e.ascender,"When creating a new Font object, ascender is required."),e8(e.descender<=0,"When creating a new Font object, negative descender value is required."),this.names={fontFamily:{en:e.familyName||" "},fontSubfamily:{en:e.styleName||" "},fullName:{en:e.fullName||e.familyName+" "+e.styleName},postScriptName:{en:e.postScriptName||(e.familyName+e.styleName).replace(/\s/g,"")},designer:{en:e.designer||" "},designerURL:{en:e.designerURL||" "},manufacturer:{en:e.manufacturer||" "},manufacturerURL:{en:e.manufacturerURL||" "},license:{en:e.license||" "},licenseURL:{en:e.licenseURL||" "},version:{en:e.version||"Version 0.1"},description:{en:e.description||" "},copyright:{en:e.copyright||" "},trademark:{en:e.trademark||" "}},this.unitsPerEm=e.unitsPerEm||1e3,this.ascender=e.ascender,this.descender=e.descender,this.createdTimestamp=e.createdTimestamp,this.tables=Object.assign(e.tables,{os2:Object.assign({usWeightClass:e.weightClass||this.usWeightClasses.MEDIUM,usWidthClass:e.widthClass||this.usWidthClasses.MEDIUM,fsSelection:e.fsSelection||this.fsSelectionValues.REGULAR},e.tables.os2)})),this.supported=!0,this.glyphs=new el.GlyphSet(this,e.glyphs||[]),this.encoding=new et(this),this.position=new e3(this),this.substitution=new e5(this),this.tables=this.tables||{},this._push=null,this._hmtxTableData={},Object.defineProperty(this,"hinting",{get:function(){return this._hinting?this._hinting:"truetype"===this.outlinesFormat?this._hinting=new ta(this):void 0}})}ri.prototype.setText=function(e){this.text=e},ri.prototype.contextChecks={latinWordCheck:{startCheck:function(e){var t=e.current,r=e.get(-1);return null===r&&t0(t)||!t0(r)&&t0(t)},endCheck:function(e){var t=e.get(1);return null===t||!t0(t)}},arabicWordCheck:{startCheck:function(e){var t=e.current,r=e.get(-1);return null===r&&tK(t)||!tK(r)&&tK(t)},endCheck:function(e){var t=e.get(1);return null===t||!tK(t)}},arabicSentenceCheck:{startCheck:function(e){var t=e.current,r=e.get(-1);return(tK(t)||t$(t))&&!tK(r)},endCheck:function(e){var t=e.get(1);switch(!0){case null===t:return!0;case!tK(t)&&!t$(t):var r=/\s/.test(t);if(!r)return!0;if(r&&!e.lookahead.some(function(e){return tK(e)||t$(e)}))return!0;break;default:return!1}}}},ri.prototype.registerFeatures=function(e,t){var r=this,n=t.filter(function(t){return r.query.supports({script:e,tag:t})});this.featuresTags.hasOwnProperty(e)?this.featuresTags[e]=this.featuresTags[e].concat(n):this.featuresTags[e]=n},ri.prototype.applyFeatures=function(e,t){if(!e)throw Error("No valid font was provided to apply features");this.query||(this.query=new t1(e));for(var r=0;r<t.length;r++){var n=t[r];this.query.supports({script:n.script})&&this.registerFeatures(n.script,n.tags)}},ri.prototype.registerModifier=function(e,t,r){this.tokenizer.registerModifier(e,t,r)},ri.prototype.checkContextReady=function(e){return!!this.tokenizer.getContext(e)},ri.prototype.applyFeaturesToContexts=function(){this.checkContextReady("arabicWord")&&(rh.call(this),rf.call(this)),this.checkContextReady("latinWord")&&rd.call(this),this.checkContextReady("arabicSentence")&&rp.call(this)},ri.prototype.processText=function(e){this.text&&this.text===e||(this.setText(e),rl.call(this),this.applyFeaturesToContexts())},ri.prototype.getBidiText=function(e){return this.processText(e),this.tokenizer.getText()},ri.prototype.getTextGlyphs=function(e){this.processText(e);for(var t=[],r=0;r<this.tokenizer.tokens.length;r++){var n=this.tokenizer.tokens[r];if(!n.state.deleted){var a=n.activeState.value;t.push(Array.isArray(a)?a[0]:a)}}return t},rg.prototype.hasChar=function(e){return null!==this.encoding.charToGlyphIndex(e)},rg.prototype.charToGlyphIndex=function(e){return this.encoding.charToGlyphIndex(e)},rg.prototype.charToGlyph=function(e){var t=this.charToGlyphIndex(e),r=this.glyphs.get(t);return r||(r=this.glyphs.get(0)),r},rg.prototype.updateFeatures=function(e){return this.defaultRenderOptions.features.map(function(t){return"latn"===t.script?{script:"latn",tags:t.tags.filter(function(t){return e[t]})}:t})},rg.prototype.stringToGlyphs=function(e,t){var r=this,n=new ri;n.registerModifier("glyphIndex",null,function(e){return r.charToGlyphIndex(e.char)});var a=t?this.updateFeatures(t.features):this.defaultRenderOptions.features;n.applyFeatures(this,a);for(var o=n.getTextGlyphs(e),s=o.length,i=Array(s),u=this.glyphs.get(0),l=0;l<s;l+=1)i[l]=this.glyphs.get(o[l])||u;return i},rg.prototype.nameToGlyphIndex=function(e){return this.glyphNames.nameToGlyphIndex(e)},rg.prototype.nameToGlyph=function(e){var t=this.nameToGlyphIndex(e),r=this.glyphs.get(t);return r||(r=this.glyphs.get(0)),r},rg.prototype.glyphIndexToName=function(e){return this.glyphNames.glyphIndexToName?this.glyphNames.glyphIndexToName(e):""},rg.prototype.getKerningValue=function(e,t){e=e.index||e,t=t.index||t;var r=this.position.defaultKerningTables;return r?this.position.getKerningValue(r,e,t):this.kerningPairs[e+","+t]||0},rg.prototype.defaultRenderOptions={kerning:!0,features:[{script:"arab",tags:["init","medi","fina","rlig"]},{script:"latn",tags:["liga","rlig"]}]},rg.prototype.forEachGlyph=function(e,t,r,n,a,o){t=void 0!==t?t:0,r=void 0!==r?r:0,n=void 0!==n?n:72,a=Object.assign({},this.defaultRenderOptions,a);var s,i=1/this.unitsPerEm*n,u=this.stringToGlyphs(e,a);if(a.kerning){var l=a.script||this.position.getDefaultScriptName();s=this.position.getKerningTables(l,a.language)}for(var p=0;p<u.length;p+=1){var c=u[p];o.call(this,c,t,r,n,a),c.advanceWidth&&(t+=c.advanceWidth*i),a.kerning&&p<u.length-1&&(t+=(s?this.position.getKerningValue(s,c.index,u[p+1].index):this.getKerningValue(c,u[p+1]))*i),a.letterSpacing?t+=a.letterSpacing*n:a.tracking&&(t+=a.tracking/1e3*n)}return t},rg.prototype.getPath=function(e,t,r,n,a){var o=new T;return this.forEachGlyph(e,t,r,n,a,function(e,t,r,n){var s=e.getPath(t,r,n,a,this);o.extend(s)}),o},rg.prototype.getPaths=function(e,t,r,n,a){var o=[];return this.forEachGlyph(e,t,r,n,a,function(e,t,r,n){var s=e.getPath(t,r,n,a,this);o.push(s)}),o},rg.prototype.getAdvanceWidth=function(e,t,r){return this.forEachGlyph(e,0,0,t,r,function(){})},rg.prototype.draw=function(e,t,r,n,a,o){this.getPath(t,r,n,a,o).draw(e)},rg.prototype.drawPoints=function(e,t,r,n,a,o){this.forEachGlyph(t,r,n,a,o,function(t,r,n,a){t.drawPoints(e,r,n,a)})},rg.prototype.drawMetrics=function(e,t,r,n,a,o){this.forEachGlyph(t,r,n,a,o,function(t,r,n,a){t.drawMetrics(e,r,n,a)})},rg.prototype.getEnglishName=function(e){var t=this.names[e];if(t)return t.en},rg.prototype.validate=function(){var e=this;function t(t){var r=e.getEnglishName(t);r&&r.trim().length}t("fontFamily"),t("weightName"),t("manufacturer"),t("copyright"),t("version"),this.unitsPerEm},rg.prototype.toTables=function(){return e$.fontToTable(this)},rg.prototype.toBuffer=function(){return console.warn("Font.toBuffer is deprecated. Use Font.toArrayBuffer instead."),this.toArrayBuffer()},rg.prototype.toArrayBuffer=function(){for(var e=this.toTables().encode(),t=new ArrayBuffer(e.length),r=new
1Uint8Array(t),n=0;n<e.length;n++)r[n]=e[n];return t},rg.prototype.download=function(e){var t=this.getEnglishName("fontFamily"),n=this.getEnglishName("fontSubfamily");e=e||t.replace(/\s/g,"")+"-"+n+".otf";var a=this.toArrayBuffer();if("undefined"!=typeof window)if(window.URL=window.URL||window.webkitURL,window.URL){var o=new Blob([new DataView(a)],{type:"font/opentype"}),s=document.createElement("a");s.href=window.URL.createObjectURL(o),s.download=e;var i=document.createEvent("MouseEvents");i.initEvent("click",!0,!1),s.dispatchEvent(i)}else console.warn("Font file could not be downloaded. Try using a different browser.");else{var l=r(47256),p=function(e){for(var t=new u(e.byteLength),r=new Uint8Array(e),n=0;n<t.length;++n)t[n]=r[n];return t}(a);l.writeFileSync(e,p)}},rg.prototype.fsSelectionValues={ITALIC:1,UNDERSCORE:2,NEGATIVE:4,OUTLINED:8,STRIKEOUT:16,BOLD:32,REGULAR:64,USER_TYPO_METRICS:128,WWS:256,OBLIQUE:512},rg.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},rg.prototype.usWeightClasses={THIN:100,EXTRA_LIGHT:200,LIGHT:300,NORMAL:400,MEDIUM:500,SEMI_BOLD:600,BOLD:700,EXTRA_BOLD:800,BLACK:900};var rv=Array(10);rv[1]=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort();return 1===t?{posFormat:1,coverage:this.parsePointer(j.coverage),value:this.parseValueRecord()}:2===t?{posFormat:2,coverage:this.parsePointer(j.coverage),values:this.parseValueRecordList()}:void U.assert(!1,"0x"+e.toString(16)+": GPOS lookup type 1 format must be 1 or 2.")},rv[2]=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort();U.assert(1===t||2===t,"0x"+e.toString(16)+": GPOS lookup type 2 format must be 1 or 2.");var r=this.parsePointer(j.coverage),n=this.parseUShort(),a=this.parseUShort();if(1===t)return{posFormat:t,coverage:r,valueFormat1:n,valueFormat2:a,pairSets:this.parseList(j.pointer(j.list(function(){return{secondGlyph:this.parseUShort(),value1:this.parseValueRecord(n),value2:this.parseValueRecord(a)}})))};if(2===t){var o=this.parsePointer(j.classDef),s=this.parsePointer(j.classDef),i=this.parseUShort(),u=this.parseUShort();return{posFormat:t,coverage:r,valueFormat1:n,valueFormat2:a,classDef1:o,classDef2:s,class1Count:i,class2Count:u,classRecords:this.parseList(i,j.list(u,function(){return{value1:this.parseValueRecord(n),value2:this.parseValueRecord(a)}}))}}},rv[3]=function(){return{error:"GPOS Lookup 3 not supported"}},rv[4]=function(){return{error:"GPOS Lookup 4 not supported"}},rv[5]=function(){return{error:"GPOS Lookup 5 not supported"}}
1,rv[6]=function(){return{error:"GPOS Lookup 6 not supported"}},rv[7]=function(){return{error:"GPOS Lookup 7 not supported"}},rv[8]=function(){return{error:"GPOS Lookup 8 not supported"}},rv[9]=function(){return{error:"GPOS Lookup 9 not supported"}}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.