=o.wsize?(b.arraySet(o.window,e,n-o.wsize,o.wsize,0),o.wnext=0,o.whave=o.wsize):(i=o.wsize-o.wnext,i>r&&(i=r),b.arraySet(o.window,e,n-r,i,o.wnext),r-=i,r?(b.arraySet(o.window,e,n-r,r,0),o.wnext=r,o.whave=o.wsize):(o.wnext+=i,o.wnext===o.wsize&&(o.wnext=0),o.whave>>8&255,n.check=w(n.check,Pt,2,0),h=0,p=0,n.mode=D;break}if(n.flags=0,n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&h)<<8)+(h>>8))%31){t.msg="incorrect header check",n.mode=ht;break}if((15&h)!==F){t.msg="unknown compression method",n.mode=ht;break}if(h>>>=4,p-=4,_t=8+(15&h),0===n.wbits)n.wbits=_t;else if(_t>n.wbits){t.msg="invalid window size",n.mode=ht;break}n.dmax=1<<_t,t.adler=n.check=1,n.mode=512&h?q:Y,h=0,p=0;break;case D:for(;p<16;){if(0===u)break t;u--,h+=i[a++]<>8&1),512&n.flags&&(Pt[0]=255&h,Pt[1]=h>>>8&255,n.check=w(n.check,Pt,2,0)),h=0,p=0,n.mode=N;case N:for(;p<32;){if(0===u)break t;u--,h+=i[a++]<
>>8&255,Pt[2]=h>>>16&255,Pt[3]=h>>>24&255,n.check=w(n.check,Pt,4,0)),h=0,p=0,n.mode=W;case W:for(;p<16;){if(0===u)break t;u--,h+=i[a++]<
>8),512&n.flags&&(Pt[0]=255&h,Pt[1]=h>>>8&255,n.check=w(n.check,Pt,2,0)),h=0,p=0,n.mode=U;case U:if(1024&n.flags){for(;p<16;){if(0===u)break t;u--,h+=i[a++]<
>>8&255,n.check=w(n.check,Pt,2,0)),h=0,p=0}else n.head&&(n.head.extra=null);n.mode=j;case j:if(1024&n.flags&&(y=n.length,y>u&&(y=u),y&&(n.head&&(_t=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Array(n.head.extra_len)),b.arraySet(n.head.extra,i,a,y,_t)),512&n.flags&&(n.check=w(n.check,i,y,a)),u-=y,a+=y,n.length-=y),n.length))break t;n.length=0,n.mode=G;case G:if(2048&n.flags){if(0===u)break t;y=0;do{_t=i[a+y++],n.head&&_t&&n.length<65536&&(n.head.name+=String.fromCharCode(_t))}while(_t&&y>9&1,n.head.done=!0),t.adler=n.check=0,n.mode=Y;break;case q:for(;p<32;){if(0===u)break t;u--,h+=i[a++]<
>>=7&p,p-=7&p,n.mode=lt;break}for(;p<3;){if(0===u)break t;u--,h+=i[a++]<
>>=1,p-=1,3&h){case 0:n.mode=K;break;case 1:if(c(n),n.mode=nt,e===E){h>>>=2,p-=2;break t}break;case 2:n.mode=$;break;case 3:t.msg="invalid block type",n.mode=ht}h>>>=2,p-=2;break;case K:for(h>>>=7&p,p-=7&p;p<32;){if(0===u)break t;u--,h+=i[a++]<
>>16^65535)){t.msg="invalid stored block lengths",n.mode=ht;break}if(n.length=65535&h,h=0,p=0,n.mode=J,e===E)break t;case J:n.mode=Q;case Q:if(y=n.length){if(y>u&&(y=u),y>l&&(y=l),0===y)break t;b.arraySet(o,i,a,y,s),u-=y,a+=y,l-=y,s+=y,n.length-=y;break}n.mode=Y;break;case $:for(;p<14;){if(0===u)break t;u--,h+=i[a++]<
>>=5,p-=5,n.ndist=1+(31&h),h>>>=5,p-=5,n.ncode=4+(15&h),h>>>=4,p-=4,n.nlen>286||n.ndist>30){t.msg="too many length or distance symbols",n.mode=ht;break}n.have=0,n.mode=tt;case tt:for(;n.have>>=3,p-=3}for(;n.have<19;)n.lens[Et[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,St={bits:n.lenbits},kt=_(k,n.lens,0,19,n.lencode,0,n.work,St),n.lenbits=St.bits,kt){t.msg="invalid code lengths set",n.mode=ht;break}n.have=0,n.mode=et;case et:for(;n.have>>24,vt=At>>>16&255,bt=65535&At,!(yt<=p);){if(0===u)break t;u--,h+=i[a++]<>>=yt,p-=yt,n.lens[n.have++]=bt;else{if(16===bt){for(Ct=yt+2;p>>=yt,p-=yt,0===n.have){t.msg="invalid bit length repeat",n.mode=ht;break}_t=n.lens[n.have-1],y=3+(3&h),h>>>=2,p-=2}else if(17===bt){for(Ct=yt+3;p>>=yt,p-=yt,_t=0,y=3+(7&h),h>>>=3,p-=3}else{for(Ct=yt+7;p>>=yt,p-=yt,_t=0,y=11+(127&h),h>>>=7,p-=7}if(n.have+y>n.nlen+n.ndist){t.msg="invalid bit length repeat",n.mode=ht;break}for(;y--;)n.lens[n.have++]=_t}}if(n.mode===ht)break;if(0===n.lens[256]){t.msg="invalid code -- missing end-of-block",n.mode=ht;break}if(n.lenbits=9,St={bits:n.lenbits},kt=_(S,n.lens,0,n.nlen,n.lencode,0,n.work,St),n.lenbits=St.bits,kt){t.msg="invalid literal/lengths set",n.mode=ht;break}if(n.distbits=6,n.distcode=n.distdyn,St={bits:n.distbits},kt=_(C,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,St),n.distbits=St.bits,kt){t.msg="invalid distances set",n.mode=ht;break}if(n.mode=nt,e===E)break t;case nt:n.mode=rt;case rt:if(u>=6&&l>=258){t.next_out=s,t.avail_out=l,t.next_in=a,t.avail_in=u,n.hold=h,n.bits=p,x(t,g),s=t.next_out,o=t.output,l=t.avail_out,a=t.next_in,i=t.input,u=t.avail_in,h=n.hold,p=n.bits,n.mode===Y&&(n.back=-1);break}for(n.back=0;At=n.lencode[h&(1<>>24,vt=At>>>16&255,bt=65535&At,!(yt<=p);){if(0===u)break t;u--,h+=i[a++]<>mt)],yt=At>>>24,
-vt=At>>>16&255,bt=65535&At,!(mt+yt<=p);){if(0===u)break t;u--,h+=i[a++]<
>>=mt,p-=mt,n.back+=mt}if(h>>>=yt,p-=yt,n.back+=yt,n.length=bt,0===vt){n.mode=ut;break}if(32&vt){n.back=-1,n.mode=Y;break}if(64&vt){t.msg="invalid literal/length code",n.mode=ht;break}n.extra=15&vt,n.mode=it;case it:if(n.extra){for(Ct=n.extra;p>>=n.extra,p-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=ot;case ot:for(;At=n.distcode[h&(1<>>24,vt=At>>>16&255,bt=65535&At,!(yt<=p);){if(0===u)break t;u--,h+=i[a++]<>mt)],yt=At>>>24,vt=At>>>16&255,bt=65535&At,!(mt+yt<=p);){if(0===u)break t;u--,h+=i[a++]<
>>=mt,p-=mt,n.back+=mt}if(h>>>=yt,p-=yt,n.back+=yt,64&vt){t.msg="invalid distance code",n.mode=ht;break}n.offset=bt,n.extra=15&vt,n.mode=at;case at:if(n.extra){for(Ct=n.extra;p>>=n.extra,p-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){t.msg="invalid distance too far back",n.mode=ht;break}n.mode=st;case st:if(0===l)break t;if(y=g-l,n.offset>y){if((y=n.offset-y)>n.whave&&n.sane){t.msg="invalid distance too far back",n.mode=ht;break}y>n.wnext?(y-=n.wnext,v=n.wsize-y):v=n.wnext-y,y>n.length&&(y=n.length),gt=n.window}else gt=o,v=s-n.offset,y=n.length;y>l&&(y=l),l-=y,n.length-=y;do{o[s++]=gt[v++]}while(--y);0===n.length&&(n.mode=rt);break;case ut:if(0===l)break t;o[s++]=n.length,l--,n.mode=rt;break;case lt:if(n.wrap){for(;p<32;){if(0===u)break t;u--,h|=i[a++]<>>24,p>>>=w,d-=w,0===(w=m>>>16&255))A[o++]=65535&m;else{if(!(16&w)){if(0==(64&w)){m=g[(65535&m)+(p&(1<>>=w,d-=w),d<15&&(p+=C[r++]<>>24,p>>>=w,d-=w,!(16&(w=m>>>16&255))){if(0==(64&w)){m=y[(65535&m)+(p&(1<u){t.msg="invalid distance too far back",n.mode=30;break t}if(p>>>=w,d-=w,w=o-a,_>w){if((w=_-w)>c&&n.sane){t.msg="invalid distance too far back",n.mode=30;break t}if(k=0,S=h,0===f){if(k+=l-w,w2;)A[o++]=S[k++],A[o++]=S[k++],A[o++]=S[k++],x-=3;x&&(A[o++]=S[k++],x>1&&(A[o++]=S[k++]))}else{k=o-_;do{A[o++]=A[k++],A[o++]=A[k++],A[o++]=A[k++],x-=3}while(x>2);x&&(A[o++]=A[k++],x>1&&(A[o++]=A[k++]))}break}}break}}while(r>3,r-=x,d-=x<<3,p&=(1<=1&&0===M[A];A--);if(P>A&&(P=A),0===A)return l[c++]=20971520,l[c++]=20971520,h.bits=1,0;for(C=1;C0&&(0===t||1!==A))return-1;for(F[1]=0,k=1;k<15;k++)F[k+1]=F[k]+M[k];for(S=0;S852||2===t&&O>592)return 1;for(var N=0;;){N++,m=k-I,f[S]b?(w=z[D+f[S]],x=B[R+f[S]]):(w=96,x=0),p=1<>I)+d]=m<<24|w<<16|x|0}while(0!==d);for(p=1<>=1;if(0!==p?(L&=p-1,L+=p):L=0,S++,0==--M[k]){if(k===A)break;k=e[n+f[S]]}if(k>P&&(L&y)!==g){for(0===I&&(I=P),v+=C,E=k-I,T=1<852||2===t&&O>592)return 1;g=L&y,l[g]=P<<24|E<<16|v-c|0}}return 0!==L&&(l[v+L]=k-I<<24|64<<16|0),h.bits=P,0}},function(t,e){"use strict";t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},function(t,e,n){(function(t,r){function i(t,n){var r={seen:[],stylize:a};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),g(n)?r.showHidden=n:n&&e._extend(r,n),x(r.showHidden)&&(r.showHidden=!1),x(r.depth)&&(r.depth=2),x(r.colors)&&(r.colors=!1),x(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=o),u(r,t,r.depth)}function o(t,e){var n=i.styles[e];return n?"["+i.colors[n][0]+"m"+t+"["+i.colors[n][1]+"m":t}function a(t,e){return t}function s(t){var e={};return t.forEach(function(t,n){e[t]=!0}),e}function u(t,n,r){if(t.customInspect&&n&&A(n.inspect)&&n.inspect!==e.inspect&&(!n.constructor||n.constructor.prototype!==n)){var i=n.inspect(r,t);return m(i)||(i=u(t,i,r)),i}var o=l(t,n);if(o)return o;var a=Object.keys(n),g=s(a);if(t.showHidden&&(a=Object.getOwnPropertyNames(n)),C(n)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return c(n);if(0===a.length){if(A(n)){var y=n.name?": "+n.name:"";return t.stylize("[Function"+y+"]","special")}if(_(n))return t.stylize(RegExp.prototype.toString.call(n),"regexp");if(S(n))return t.stylize(Date.prototype.toString.call(n),"date");if(C(n))return c(n)}var v="",b=!1,w=["{","}"];if(d(n)&&(b=!0,w=["[","]"]),A(n)){v=" [Function"+(n.name?": "+n.name:"")+"]"}if(_(n)&&(v=" "+RegExp.prototype.toString.call(n)),S(n)&&(v=" "+Date.prototype.toUTCString.call(n)),C(n)&&(v=" "+c(n)),0===a.length&&(!b||0==n.length))return w[0]+v+w[1];if(r<0)return _(n)?t.stylize(RegExp.prototype.toString.call(n),"regexp"):t.stylize("[Object]","special");t.seen.push(n);var x;return x=b?f(t,n,r,g,a):a.map(function(e){return h(t,n,r,g,e,b)}),t.seen.pop(),p(x,v,w)}function l(t,e){if(x(e))return t.stylize("undefined","undefined");if(m(e)){var n="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(n,"string")}return b(e)?t.stylize(""+e,"number"):g(e)?t.stylize(""+e,"boolean"):y(e)?t.stylize("null","null"):void 0}function c(t){return"["+Error.prototype.toString.call(t)+"]"}function f(t,e,n,r,i){for(var o=[],a=0,s=e.length;a-1&&(s=o?s.split("\n").map(function(t){return" "+t}).join("\n").substr(2):"\n"+s.split("\n").map(function(t){return" "+t}).join("\n"))):s=t.stylize("[Circular]","special")),x(a)){if(o&&i.match(/^\d+$/))return s;a=JSON.stringify(""+i),a.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=t.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=t.stylize(a,"string"))}return a+": "+s}function p(t,e,n){var r=0;return t.reduce(function(t,e){return r++,e.indexOf("\n")>=0&&r++,t+e.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?n[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+n[1]:n[0]+e+" "+t.join(", ")+" "+n[1]}function d(t){return Array.isArray(t)}function g(t){return"boolean"==typeof t}function y(t){return null===t}function v(t){return null==t}function b(t){return"number"==typeof t}function m(t){return"string"==typeof t}function w(t){return"symbol"==typeof t}function x(t){return void 0===t}function _(t){return k(t)&&"[object RegExp]"===E(t)}function k(t){return"object"==typeof t&&null!==t}function S(t){return k(t)&&"[object Date]"===E(t)}function C(t){return k(t)&&("[object Error]"===E(t)||t instanceof Error)}function A(t){return"function"==typeof t}function P(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t}function E(t){return Object.prototype.toString.call(t)}function I(t,e){return Object.prototype.hasOwnProperty.call(t,e)}var T=/%[sdj%]/g;e.format=function(t){if(!m(t)){for(var e=[],n=0;n=o)return t;switch(t){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(t){return"[Circular]"}default:return t}}),s=r[n];n=0;s--)if(u[s]!==l[s])return!1;for(s=u.length-1;s>=0;s--)if(a=u[s],!p(t[a],e[a],n,r))return!1;return!0}function y(t,e,n){p(t,e,!0)&&f(t,e,n,"notDeepStrictEqual",y)}function v(t,e){if(!t||!e)return!1;if("[object RegExp]"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&!0===e.call({},t)}function b(t){var e;try{t()}catch(t){e=t}return e}function m(t,e,n,r){var i;if("function"!=typeof e)throw new TypeError('"block" argument must be a function');"string"==typeof n&&(r=n,n=null),i=b(e),r=(n&&n.name?" ("+n.name+").":".")+(r?" "+r:"."),t&&!i&&f(i,n,"Missing expected exception"+r);var o="string"==typeof r,a=!t&&w.isError(i),s=!t&&i&&!n;if((a&&o&&v(i,n)||s)&&f(i,n,"Got unwanted exception"+r),t&&i&&n&&!v(i,n)||!t&&i)throw i}var w=n(71),x=Object.prototype.hasOwnProperty,_=Array.prototype.slice,k=function(){return"foo"===function(){}.name}(),S=t.exports=h,C=/\s*function\s+([^\(\s]*)\s*/;S.AssertionError=function(t){this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=c(this),this.generatedMessage=!0);var e=t.stackStartFunction||f;if(Error.captureStackTrace)Error.captureStackTrace(this,e);else{var n=new Error;if(n.stack){var r=n.stack,i=s(e),o=r.indexOf("\n"+i);if(o>=0){var a=r.indexOf("\n",o+1);r=r.substring(a+1)}this.stack=r}}},w.inherits(S.AssertionError,Error),S.fail=f,S.ok=h,S.equal=function(t,e,n){t!=e&&f(t,e,n,"==",S.equal)},S.notEqual=function(t,e,n){t==e&&f(t,e,n,"!=",S.notEqual)},S.deepEqual=function(t,e,n){p(t,e,!1)||f(t,e,n,"deepEqual",S.deepEqual)},S.deepStrictEqual=function(t,e,n){p(t,e,!0)||f(t,e,n,"deepStrictEqual",S.deepStrictEqual)},S.notDeepEqual=function(t,e,n){p(t,e,!1)&&f(t,e,n,"notDeepEqual",S.notDeepEqual)},S.notDeepStrictEqual=y,S.strictEqual=function(t,e,n){t!==e&&f(t,e,n,"===",S.strictEqual)},S.notStrictEqual=function(t,e,n){t===e&&f(t,e,n,"!==",S.notStrictEqual)},S.throws=function(t,e,n){m(!0,t,e,n)},S.doesNotThrow=function(t,e,n){m(!1,t,e,n)},S.ifError=function(t){if(t)throw t};var A=Object.keys||function(t){var e=[];for(var n in t)x.call(t,n)&&e.push(n);return e}}).call(e,function(){return this}())},function(t,e){(function(){var e;e=function(){function t(t,r){var i;this.document=t,null==r&&(r={}),this.size=r.size||"letter",this.layout=r.layout||"portrait","number"==typeof r.margin?this.margins={top:r.margin,left:r.margin,bottom:r.margin,right:r.margin}:this.margins=r.margins||e,i=Array.isArray(this.size)?this.size:n[this.size.toUpperCase()],this.width=i["portrait"===this.layout?0:1],this.height=i["portrait"===this.layout?1:0],this.content=this.document.ref(),this.resources=this.document.ref({ProcSet:["PDF","Text","ImageB","ImageC","ImageI"]}),Object.defineProperties(this,{fonts:{get:function(t){return function(){var e;return null!=(e=t.resources.data).Font?e.Font:e.Font={}}}(this)},xobjects:{get:function(t){return function(){var e;return null!=(e=t.resources.data).XObject?e.XObject:e.XObject={}}}(this)},ext_gstates:{get:function(t){return function(){var e;return null!=(e=t.resources.data).ExtGState?e.ExtGState:e.ExtGState={}}}(this)},patterns:{get:function(t){return function(){var e;return null!=(e=t.resources.data).Pattern?e.Pattern:e.Pattern={}}}(this)},annotations:{get:function(t){return function(){var e;return null!=(e=t.dictionary.data).Annots?e.Annots:e.Annots=[]}}(this)}}),this.dictionary=this.document.ref({Type:"Page",Parent:this.document._root.data.Pages,MediaBox:[0,0,this.width,this.height],Contents:this.content,Resources:this.resources})}var e,n;return t.prototype.maxY=function(){return this.height-this.margins.bottom},t.prototype.write=function(t){return this.content.write(t)},t.prototype.end=function(){return this.dictionary.end(),this.resources.end(),this.content.end()},e={top:72,left:72,bottom:72,right:72},n={"4A0":[4767.87,6740.79],"2A0":[3370.39,4767.87],A0:[2383.94,3370.39],A1:[1683.78,2383.94],A2:[1190.55,1683.78],A3:[841.89,1190.55],A4:[595.28,841.89],A5:[419.53,595.28],A6:[297.64,419.53],A7:[209.76,297.64],A8:[147.4,209.76],A9:[104.88,147.4],A10:[73.7,104.88],B0:[2834.65,4008.19],B1:[2004.09,2834.65],B2:[1417.32,2004.09],B3:[1000.63,1417.32],B4:[708.66,1000.63],B5:[498.9,708.66],B6:[354.33,498.9],B7:[249.45,354.33],B8:[175.75,249.45],B9:[124.72,175.75],B10:[87.87,124.72],C0:[2599.37,3676.54],C1:[1836.85,2599.37],C2:[1298.27,1836.85],C3:[918.43,1298.27],C4:[649.13,918.43],C5:[459.21,649.13],C6:[323.15,459.21],C7:[229.61,323.15],C8:[161.57,229.61],C9:[113.39,161.57],C10:[79.37,113.39],RA0:[2437.8,3458.27],RA1:[1729.13,2437.8],RA2:[1218.9,1729.13],RA3:[864.57,1218.9],RA4:[609.45,864.57],SRA0:[2551.18,3628.35],SRA1:[1814.17,2551.18],SRA2:[1275.59,1814.17],SRA3:[907.09,1275.59],SRA4:[637.8,907.09],EXECUTIVE:[521.86,756],FOLIO:[612,936],LEGAL:[612,1008],LETTER:[612,792],TABLOID:[792,1224]},t}(),t.exports=e}).call(this)},function(t,e,n){(function(){var e,r,i,o,a;a=n(77),e=a.PDFGradient,r=a.PDFLinearGradient,i=a.PDFRadialGradient,t.exports={initColor:function(){return this._opacityRegistry={},this._opacityCount=0,this._gradCount=0},_normalizeColor:function(t){var n,r;return t instanceof e?t:("string"==typeof t&&("#"===t.charAt(0)?(4===t.length&&(t=t.replace(/#([0-9A-F])([0-9A-F])([0-9A-F])/i,"#$1$1$2$2$3$3")),n=parseInt(t.slice(1),16),t=[n>>16,n>>8&255,255&n]):o[t]&&(t=o[t])),Array.isArray(t)?(3===t.length?t=function(){var e,n,i;for(i=[],e=0,n=t.length;eg;s=0<=g?++u:--u)n.push(0,1),s+2!==this.stops.length&&e.push(this.stops[s+1][0]),r=this.doc.ref({FunctionType:2,Domain:[0,1],C0:this.stops[s+0][1],C1:this.stops[s+1][1],N:1}),m.push(r),r.end();if(1===m.length?r=m[0]:(r=this.doc.ref({FunctionType:3,Domain:[0,1],Functions:m,Bounds:e,Encode:n}),r.end()),this.id="Sh"+ ++this.doc._gradCount,v=this.shader(r),v.end(),d=this.doc.ref({Type:"Pattern",PatternType:2,Shading:v,Matrix:function(){var t,e,n,r;for(n=this.matrix,r=[],t=0,e=n.length;t0&&(e[e.length]=+i),c[c.length]={cmd:r,args:e},e=[],i="",a=!1),r=n;else if(" "===n||","===n||"-"===n&&i.length>0&&"e"!==i[i.length-1]||"."===n&&a){if(0===i.length)continue;e.length===l?(c[c.length]={cmd:r,args:e},e=[+i],"M"===r&&(r="L"),"m"===r&&(r="l")):e[e.length]=+i,a="."===n,i="-"===n||"."===n?n:""}else i+=n,"."===n&&(a=!0);return i.length>0&&(e.length===l?(c[c.length]={cmd:r,args:e},e=[+i],"M"===r&&(r="L"),"m"===r&&(r="l")):e[e.length]=+i),c[c.length]={cmd:r,args:e},c},r=i=s=u=h=p=0,e=function(t,e){var n,o,a,c,f;for(r=i=s=u=h=p=0,o=a=0,c=t.length;a1&&(m=Math.sqrt(m),n*=m,r*=m),f=g/n,h=C/n,p=-C/r,d=g/r,L=f*l+h*c,M=p*l+d*c,B=f*t+h*e,F=p*t+d*e,y=(B-L)*(B-L)+(F-M)*(F-M),S=1/y-.25,S<0&&(S=0),k=Math.sqrt(S),o===i&&(k=-k),R=.5*(L+B)-k*(F-M),z=.5*(M+F)+k*(B-L),P=Math.atan2(M-z,L-R),E=Math.atan2(F-z,B-R),O=E-P,O<0&&1===o?O+=2*Math.PI:O>0&&0===o&&(O-=2*Math.PI),_=Math.ceil(Math.abs(O/(.5*Math.PI+.001))),x=[],v=b=0,w=_;0<=w?bw;v=0<=w?++b:--b)I=P+v*O/_,T=P+(v+1)*O/_,x[v]=[R,z,I,T,n,r,C,g];return x},c=function(t,e,n,r,i,o,a,s){var u,l,c,f,h,p,d,g,y,v,b,m;return u=s*i,l=-a*o,c=a*i,f=s*o,p=.5*(r-n),h=8/3*Math.sin(.5*p)*Math.sin(.5*p)/Math.sin(p),d=t+Math.cos(n)-h*Math.sin(n),v=e+Math.sin(n)+h*Math.cos(n),y=t+Math.cos(r),m=e+Math.sin(r),g=y+h*Math.sin(r),b=m-h*Math.cos(r),[u*d+l*v,c*d+f*v,u*g+l*b,c*g+f*b,u*y+l*m,c*y+f*m]},t}(),t.exports=e}).call(this)},function(t,e,n){(function(){var e;e=n(81),t.exports={initFonts:function(){this._fontFamilies={},this._fontCount=0,this._fontSize=12,this._font=null,this._registeredFonts={}},font:function(t,n,r){var i,o,a,s;return"number"==typeof n&&(r=n,n=null),"string"==typeof t&&this._registeredFonts[t]?(i=t,s=this._registeredFonts[t],t=s.src,n=s.family):"string"!=typeof(i=n||t)&&(i=null),null!=r&&this.fontSize(r),(o=this._fontFamilies[i])?(this._font=o,this):(a="F"+ ++this._fontCount,this._font=e.open(this,t,n,a),(o=this._fontFamilies[this._font.name])?(this._font=o,this):(i&&(this._fontFamilies[i]=this._font),this._fontFamilies[this._font.name]=this._font,this))},fontSize:function(t){return this._fontSize=t,this},currentLineHeight:function(t){return null==t&&(t=!1),this._font.lineHeight(this._fontSize,t)},registerFont:function(t,e,n){return this._registeredFonts[t]={src:e,family:n},this}}}).call(this)},function(t,e,n){(function(e){(function(){var r,i,o,a;a=n(82),i=function(){function t(){throw new Error("Cannot construct a PDFFont directly.")}return t.open=function(t,n,i,s){var u;if("string"==typeof n){if(o.isStandardFont(n))return new o(t,n,s);u=a.openSync(n,i)}else e.isBuffer(n)?u=a.create(n,i):n instanceof Uint8Array?u=a.create(new e(n),i):n instanceof ArrayBuffer&&(u=a.create(new e(new Uint8Array(n)),i));if(null==u)throw new Error("Not a supported font format or standard PDF font.");return new r(t,u,s)},t.prototype.encode=function(t){throw new Error("Must be implemented by subclasses")},t.prototype.widthOfString=function(t){throw new Error("Must be implemented by subclasses")},t.prototype.ref=function(){return null!=this.dictionary?this.dictionary:this.dictionary=this.document.ref()},t.prototype.finalize=function(){if(!this.embedded&&null!=this.dictionary)return this.embed(),this.embedded=!0},t.prototype.embed=function(){throw new Error("Must be implemented by subclasses")},t.prototype.lineHeight=function(t,e){var n;return null==e&&(e=!1),n=e?this.lineGap:0,(this.ascender+n-this.descender)/1e3*t},t}(),t.exports=i,o=n(284),r=n(286)}).call(this)}).call(e,n(2).Buffer)},function(t,e,n){(function(e,r){"use strict";function i(t){return t&&"object"==typeof t&&"default"in t?t.default:t}function o(t,e,n){if(n.get){var r=n.get;n.get=function(){var t=r.call(this);return ut(this,e,{value:t}),t}}else if("function"==typeof n.value){var i=n.value;return{get:function(){function t(){for(var t=arguments.length,e=Array(t),r=0;r0?e[0]:"value";if(n.has(o))return n.get(o);var a=i.apply(this,e);return n.set(o,a),a}var n=new ft;return ut(this,e,{value:t}),t}}}}function a(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return 1===t&&qt[n]?qt[n]:Ht[t][e]}function s(t){var e=new nt.Struct({lookupType:nt.uint16,flags:Ie,subTableCount:nt.uint16,subTables:new nt.Array(new nt.Pointer(nt.uint16,t),"subTableCount"),markFilteringSet:new nt.Optional(nt.uint16,function(t){return t.flags.flags.useMarkFilteringSet})});return new nt.LazyArray(new nt.Pointer(nt.uint16,e),nt.uint16)}function u(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:nt.uint16,n=vt({newState:nt.uint16,flags:nt.uint16},t),r=new nt.Struct(n),i=new di(new nt.Array(nt.uint16,function(t){return t.nClasses}));return new nt.Struct({nClasses:nt.uint32,classTable:new nt.Pointer(nt.uint32,new gi(e)),stateArray:new nt.Pointer(nt.uint32,i),entryTable:new nt.Pointer(nt.uint32,new di(r))})}function l(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:nt.uint16,new nt.Struct({version:function(){return 8},firstGlyph:nt.uint16,values:new nt.Array(nt.uint8,nt.uint16)})),n=vt({newStateOffset:nt.uint16,newState:function(t){return(t.newStateOffset-(t.parent.stateArray.base-t.parent._startOffset))/t.parent.nClasses},flags:nt.uint16},t),r=new nt.Struct(n),i=new di(new nt.Array(nt.uint8,function(t){return t.nClasses}));return new nt.Struct({nClasses:nt.uint16,classTable:new nt.Pointer(nt.uint16,e),stateArray:new nt.Pointer(nt.uint16,i),entryTable:new nt.Pointer(nt.uint16,new di(r))})}function c(t,e){for(var n=0,r=t.length-1;n<=r;){var i=n+r>>1,o=e(t[i]);if(o<0)r=i-1;else{if(!(o>0))return i;n=i+1}}return-1}function f(t,e){for(var n=[];t3&&void 0!==arguments[3]&&arguments[3],i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o=t.splice(n[0]-(n[1]-1),n[1]);i&&o.reverse();var a=t.splice.apply(t,[e[0],e[1]].concat(o));return r&&a.reverse(),t.splice.apply(t,[n[0]-(e[1]-1),0].concat(a)),t}function x(t,e,n,r){switch(e){case 0:return t;case 1:return w(t,[n,1],[r,0]);case 2:return w(t,[n,0],[r,1]);case 3:return w(t,[n,1],[r,1]);case 4:return w(t,[n,2],[r,0]);case 5:return w(t,[n,2],[r,0],!0,!1);case 6:return w(t,[n,0],[r,2]);case 7:return w(t,[n,0],[r,2],!1,!0);case 8:return w(t,[n,1],[r,2]);case 9:return w(t,[n,1],[r,2],!1,!0);case 10:return w(t,[n,2],[r,1]);case 11:return w(t,[n,2],[r,1],!0,!1);case 12:return w(t,[n,2],[r,2]);case 13:return w(t,[n,2],[r,2],!0,!1);case 14:return w(t,[n,2],[r,2],!1,!0);case 15:return w(t,[n,2],[r,2],!0,!0);default:throw new Error("Unknown verb: "+e)}}function _(t){var e=Go.get(t);if(e)return e-1;var n=xt.getCategory(t);return"Mn"===n||"Me"===n||"Cf"===n?Ho.Transparent:Ho.Non_Joining}function k(t){return ha(t)?_a:pa(t)?ka:da(t)?Sa:va(t)?Ca:ya(t)?Aa:ga(t)?Pa:xa}function S(t,e,n){return new $o(t,t.glyphForCodePoint(e).id,[e],n)}function C(t,e,n){var r=t[e],i=r.codePoints[0],o=i-ea,a=oa+o%sa;o=o/sa|0;var s=ra+o/aa|0,u=ia+o%aa;if(!n.hasGlyphForCodePoint(s)||!n.hasGlyphForCodePoint(u)||a!==oa&&!n.hasGlyphForCodePoint(a))return e;var l=S(n,s,r.features);l.features.ljmo=!0;var c=S(n,u,r.features);c.features.vjmo=!0;var f=[l,c];if(a>oa){var h=S(n,a,r.features);h.features.tjmo=!0,f.push(h)}return t.splice.apply(t,[e,1].concat(f)),e+f.length-1}function A(t,e,n){var r=t[e],i=t[e].codePoints[0],o=k(i),a=t[e-1].codePoints[0],s=k(a),u=void 0,l=void 0,c=void 0,f=void 0;if(s===Ca&&o===Sa)u=a,f=r;else{o===ka?(l=t[e-1],c=r):(l=t[e-2],c=t[e-1],f=r);var h=l.codePoints[0],p=c.codePoints[0];ba(h)&&ma(p)&&(u=ea+((h-ra)*aa+(p-ia))*sa)}var d=f&&f.codePoints[0]||oa;if(null!=u&&(d===oa||wa(d))){var g=u+(d-oa);if(n.hasGlyphForCodePoint(g)){var y=s===ka?3:2;return t.splice(e-y+1,y,S(n,g,r.features)),e-y+1}}return l&&(l.features.ljmo=!0),c&&(c.features.vjmo=!0),f&&(f.features.tjmo=!0),s===Ca?(C(t,e-1,n),e+1):e}function P(t){switch(k(t)){case Ca:case Aa:return 1;case ka:return 2;case Sa:return 3}}function E(t,e,n){var r=t[e],i=t[e].codePoints[0];if(0!==n.glyphForCodePoint(i).advanceWidth){var o=t[e-1].codePoints[0],a=P(o);return t.splice(e,1),t.splice(e-a,0,r)}}function I(t,e,n){var r=t[e],i=t[e].codePoints[0];if(n.hasGlyphForCodePoint(fa)){var o=S(n,fa,r.features),a=0===n.glyphForCodePoint(i).advanceWidth?e:e+1;t.splice(a,0,o),e++}return e}function T(t){return Ja.get(t.codePoints[0])>>8}function O(t){return 1<<(255&Ja.get(t.codePoints[0]))}function L(t,e){for(var n=0,r=0,i=Qa.match(e.map(T)),o=Array.isArray(i),a=0,i=o?i:it(i);;){var s;if(o){if(a>=i.length)break;s=i[a++]}else{if(a=i.next(),a.done)break;s=a.value}var u=s,l=u[0],c=u[1],f=u[2];if(l>r){++n;for(var h=r;h=n.length)break;a=n[i++]}else{if(i=n.next(),i.done)break;a=i.value}a.features=(o={},o[e]=!0,o)}return t[0]._font._layoutEngine.engine.GSUBProcessor.applyFeatures([e],t),1===t.length}function z(t,e,n){var r=[n,e,n];return F(r.slice(0,2),"blwf")||F(r.slice(1,3),"blwf")?Va.Below_C:F(r.slice(0,2),"pstf")||F(r.slice(1,3),"pstf")?Va.Post_C:F(r.slice(0,2),"pref")||F(r.slice(1,3),"pref")?Va.Post_C:Va.Base_C}function D(t,e,n){var r=n.indicConfig,i=t._layoutEngine.engine.GSUBProcessor.features,o=t.glyphForCodePoint(9676).id,a=t.glyphForCodePoint(r.virama).id;if(a)for(var s=new $o(t,a,[r.virama]),u=0;uy);break;case"First":g=l;for(var _=g+1;_E&&!(B(e[I])||P&&e[I].shaperInfo.category===Ga.H);I--);if(e[I].shaperInfo.category!==Ga.H&&I>E){var L=e[E];e.splice.apply(e,[E,0].concat(e.splice(E+1,I-E))),e[I]=L}break}for(var M=Va.Start,D=l;Dl;U--)if(e[U-1].shaperInfo.position!==Va.Pre_M){N.position=e[U-1].shaperInfo.position;break}}else N.position!==Va.SMVD&&(M=N.position)}for(var j=g,G=g+1;Gl&&!B(e[rt]))}}}}function N(t,e,n){for(var r=n.indicConfig,i=t._layoutEngine.engine.GSUBProcessor.features,o=0,a=W(e,0);o=Va.Base_C){if(s&&u+1Va.Base_C&&u--;break}if(u===a&&oo&&!(e[f].shaperInfo.category&(Ga.M|Za));)f--;M(e[f])&&e[f].shaperInfo.position!==Va.Pre_M?f+1o;h--)if(e[h-1].shaperInfo.position===Va.Pre_M){var p=h-1;po&&e[g].shaperInfo.position===Va.SMVD;)g--;if(M(e[g]))for(var b=u+1;bo&&!(e[x-1].shaperInfo.category&(Ga.M|Za));)x--;if(x>o&&e[x-1].shaperInfo.category===Ga.M)for(var _=w,k=u+1;k<_;k++)if(e[k].shaperInfo.category===Ga.M){x--;break}}x>o&&M(e[x-1])&&x=t.length)return e;for(var n=t[e].shaperInfo.syllable;++e=r.length)break;a=r[o++]}else{if(o=r.next(),o.done)break;a=o.value}var s=a,u=s[0],l=s[1],c=s[2];++n;for(var f=u;f<=l;f++)e[f].shaperInfo=new as(es[U(e[f])],c[0],n);for(var h="R"===e[u].shaperInfo.category?1:Math.min(3,l-u),p=u;p=n.length)break;o=n[i++]}else{if(i=n.next(),i.done)break;o=i.value}o.substituted=!1}}function V(t,e){for(var n=e,r=Array.isArray(n),i=0,n=r?n:it(n);;){var o;if(r){if(i>=n.length)break;o=n[i++]}else{if(i=n.next(),i.done)break;o=i.value}var a=o;a.substituted&&a.features.rphf&&(a.shaperInfo.category="R")}}function H(t,e){for(var n=e,r=Array.isArray(n),i=0,n=r?n:it(n);;){var o;if(r){if(i>=n.length)break;o=n[i++]}else{if(i=n.next(),i.done)break;o=i.value}var a=o;a.substituted&&(a.shaperInfo.category="VPre")}}function q(t,e){for(var n=t.glyphForCodePoint(9676).id,r=0,i=Z(e,0);r1)for(o=r+1;o=t.length)return e;for(var n=t[e].shaperInfo.syllable;++e=e.length)break;i=e[r++]}else{if(r=e.next(),r.done)break;i=r.value}var o=i,a=ss[o];if(a)return a}return jo}function J(t,e,n,r,i){var o={};return Object.keys(r).forEach(function(t){o[t]=r[t]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=n.slice().reverse().reduce(function(n,r){return r(t,e,n)||n},o),i&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(i):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(t,e,o),o=null),o}function Q(t,e,n,r,i){var o={};return Object.keys(r).forEach(function(t){o[t]=r[t]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=n.slice().reverse().reduce(function(n,r){return r(t,e,n)||n},o),i&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(i):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(t,e,o),o=null),o}function $(t){var e=t.readUInt8();return e===Zs?t.readUInt16BE():e===Xs?t.readUInt8()+Ks:e===Ys?t.readUInt8()+2*Ks:e}function tt(t,e){return 1&t?e:-e}function et(t,e,n){for(var r=void 0,i=r=0,o=[],a=0;a>7);if((l&=127)<10)s=0,u=tt(l,((14&l)<<7)+e.readUInt8());else if(l<20)s=tt(l,((l-10&14)<<7)+e.readUInt8()),u=0;else if(l<84){var f=l-20,h=e.readUInt8();s=tt(l,1+(48&f)+(h>>4)),u=tt(l>>1,1+((12&f)<<2)+(15&h))}else if(l<120){var f=l-84;s=tt(l,1+(f/12<<8)+e.readUInt8()),u=tt(l>>1,1+(f%12>>2<<8)+e.readUInt8())}else if(l<124){var h=e.readUInt8(),p=e.readUInt8();s=tt(l,(h<<4)+(p>>4)),u=tt(l>>1,((15&p)<<8)+e.readUInt8())}else s=tt(l,e.readUInt16BE()),u=tt(l>>1,e.readUInt16BE());i+=s,r+=u,o.push(new xs(c,!1,i,r))}return o}var nt=i(n(83)),rt=i(n(121)),it=i(n(147)),ot=i(n(180)),at=i(n(184)),st=i(n(187)),ut=i(n(204)),lt=i(n(207)),ct=i(n(208)),ft=i(n(209)),ht=i(n(226)),pt=i(n(227)),dt=n(109),gt=i(n(235)),yt=i(n(238)),vt=i(n(241)),bt=i(n(245)),mt=i(n(248)),wt=i(n(253)),xt=i(n(257)),_t=i(n(17)),kt=i(n(259)),St=i(n(268)),Ct=i(n(271)),At=i(n(18)),Pt=i(n(272)),Et={};Et.logErrors=!1;var It=[];Et.registerFormat=function(t){It.push(t)},Et.openSync=function(t,e){var r=n(55).readFileSync(t);return Et.create(r,e)},Et.open=function(t,e,r){"function"==typeof e&&(r=e,e=null),n(55).readFile(t,function(t,n){if(t)return r(t);try{var i=Et.create(n,e)}catch(t){return r(t)}return r(null,i)})},Et.create=function(t,e){for(var n=0;n>1},searchRange:nt.uint16,entrySelector:nt.uint16,rangeShift:nt.uint16,endCode:new nt.LazyArray(nt.uint16,"segCount"),reservedPad:new nt.Reserved(nt.uint16),startCode:new nt.LazyArray(nt.uint16,"segCount"),idDelta:new nt.LazyArray(nt.int16,"segCount"),idRangeOffset:new nt.LazyArray(nt.uint16,"segCount"),glyphIndexArray:new nt.LazyArray(nt.uint16,function(t){return(t.length-t._currentOffset)/2})},6:{length:nt.uint16,language:nt.uint16,firstCode:nt.uint16,entryCount:nt.uint16,glyphIndices:new nt.LazyArray(nt.uint16,"entryCount")},8:{reserved:new nt.Reserved(nt.uint16),length:nt.uint32,language:nt.uint16,is32:new nt.LazyArray(nt.uint8,8192),nGroups:nt.uint32,groups:new nt.LazyArray(Ot,"nGroups")},10:{reserved:new nt.Reserved(nt.uint16),length:nt.uint32,language:nt.uint32,firstCode:nt.uint32,entryCount:nt.uint32,glyphIndices:new nt.LazyArray(nt.uint16,"numChars")},12:{reserved:new nt.Reserved(nt.uint16),length:nt.uint32,language:nt.uint32,nGroups:nt.uint32,groups:new nt.LazyArray(Ot,"nGroups")},13:{reserved:new nt.Reserved(nt.uint16),length:nt.uint32,language:nt.uint32,nGroups:nt.uint32,groups:new nt.LazyArray(Ot,"nGroups")},14:{length:nt.uint32,numRecords:nt.uint32,varSelectors:new nt.LazyArray(Ft,"numRecords")}}),Dt=new nt.Struct({platformID:nt.uint16,encodingID:nt.uint16,table:new nt.Pointer(nt.uint32,zt,{type:"parent",lazy:!0})}),Nt=new nt.Struct({version:nt.uint16,numSubtables:nt.uint16,tables:new nt.Array(Dt,"numSubtables")}),Wt=new nt.Struct({version:nt.int32,revision:nt.int32,checkSumAdjustment:nt.uint32,magicNumber:nt.uint32,flags:nt.uint16,unitsPerEm:nt.uint16,created:new nt.Array(nt.int32,2),modified:new nt.Array(nt.int32,2),xMin:nt.int16,yMin:nt.int16,xMax:nt.int16,yMax:nt.int16,macStyle:new nt.Bitfield(nt.uint16,["bold","italic","underline","outline","shadow","condensed","extended"]),lowestRecPPEM:nt.uint16,fontDirectionHint:nt.int16,indexToLocFormat:nt.int16,glyphDataFormat:nt.int16}),Ut=new nt.Struct({version:nt.int32,ascent:nt.int16,descent:nt.int16,lineGap:nt.int16,advanceWidthMax:nt.uint16,minLeftSideBearing:nt.int16,minRightSideBearing:nt.int16,xMaxExtent:nt.int16,caretSlopeRise:nt.int16,caretSlopeRun:nt.int16,caretOffset:nt.int16,reserved:new nt.Reserved(nt.int16,4),metricDataFormat:nt.int16,numberOfMetrics:nt.uint16}),jt=new nt.Struct({advance:nt.uint16,bearing:nt.int16}),Gt=new nt.Struct({metrics:new nt.LazyArray(jt,function(t){return t.parent.hhea.numberOfMetrics}),bearings:new nt.LazyArray(nt.int16,function(t){return t.parent.maxp.numGlyphs-t.parent.hhea.numberOfMetrics})}),Vt=new nt.Struct({version:nt.int32,numGlyphs:nt.uint16,maxPoints:nt.uint16,maxContours:nt.uint16,maxComponentPoints:nt.uint16,maxComponentContours:nt.uint16,maxZones:nt.uint16,maxTwilightPoints:nt.uint16,maxStorage:nt.uint16,maxFunctionDefs:nt.uint16,maxInstructionDefs:nt.uint16,maxStackElements:nt.uint16,maxSizeOfInstructions:nt.uint16,maxComponentElements:nt.uint16,maxComponentDepth:nt.uint16}),Ht=[["utf16be","utf16be","utf16be","utf16be","utf16be","utf16be"],["macroman","shift-jis","big5","euc-kr","iso-8859-6","iso-8859-8","macgreek","maccyrillic","symbol","Devanagari","Gurmukhi","Gujarati","Oriya","Bengali","Tamil","Telugu","Kannada","Malayalam","Sinhalese","Burmese","Khmer","macthai","Laotian","Georgian","Armenian","gb-2312-80","Tibetan","Mongolian","Geez","maccenteuro","Vietnamese","Sindhi"],["ascii"],["symbol","utf16be","shift-jis","gb18030","big5","wansung","johab",null,null,null,"utf16be"]],qt={15:"maciceland",17:"macturkish",18:"maccroatian",24:"maccenteuro",25:"maccenteuro",26:"maccenteuro",27:"maccenteuro",28:"maccenteuro",30:"maciceland",37:"macromania",38:"maccenteuro",39:"maccenteuro",40:"maccenteuro",143:"macinuit",146:"macgaelic"},Zt=[[],{0:"en",30:"fo",60:"ks",90:"rw",1:"fr",31:"fa",61:"ku",91:"rn",2:"de",32:"ru",62:"sd",92:"ny",3:"it",33:"zh",63:"bo",93:"mg",4:"nl",34:"nl-BE",64:"ne",94:"eo",5:"sv",35:"ga",65:"sa",128:"cy",6:"es",36:"sq",66:"mr",129:"eu",7:"da",37:"ro",67:"bn",130:"ca",8:"pt",38:"cz",68:"as",131:"la",9:"no",39:"sk",69:"gu",132:"qu",10:"he",40:"si",70:"pa",133:"gn",11:"ja",41:"yi",71:"or",134:"ay",12:"ar",42:"sr",72:"ml",135:"tt",13:"fi",43:"mk",73:"kn",136:"ug",14:"el",44:"bg",74:"ta",137:"dz",15:"is",45:"uk",75:"te",138:"jv",16:"mt",46:"be",76:"si",139:"su",17:"tr",47:"uz",77:"my",140:"gl",18:"hr",48:"kk",78:"km",141:"af",19:"zh-Hant",49:"az-Cyrl",79:"lo",142:"br",20:"ur",50:"az-Arab",80:"vi",143:"iu",21:"hi",51:"hy",81:"id",144:"gd",22:"th",52:"ka",82:"tl",145:"gv",23:"ko",53:"mo",83:"ms",146:"ga",24:"lt",54:"ky",84:"ms-Arab",147:"to",25:"pl",55:"tg",85:"am",148:"el-polyton",26:"hu",56:"tk",86:"ti",149:"kl",27:"es",57:"mn-CN",87:"om",150:"az",28:"lv",58:"mn",88:"so",151:"nn",29:"se",59:"ps",89:"sw"},[],{1078:"af",16393:"en-IN",1159:"rw",1074:"tn",1052:"sq",6153:"en-IE",1089:"sw",1115:"si",1156:"gsw",8201:"en-JM",1111:"kok",1051:"sk",1118:"am",17417:"en-MY",1042:"ko",1060:"sl",5121:"ar-DZ",5129:"en-NZ",1088:"ky",
-11274:"es-AR",15361:"ar-BH",13321:"en-PH",1108:"lo",16394:"es-BO",3073:"ar",18441:"en-SG",1062:"lv",13322:"es-CL",2049:"ar-IQ",7177:"en-ZA",1063:"lt",9226:"es-CO",11265:"ar-JO",11273:"en-TT",2094:"dsb",5130:"es-CR",13313:"ar-KW",2057:"en-GB",1134:"lb",7178:"es-DO",12289:"ar-LB",1033:"en",1071:"mk",12298:"es-EC",4097:"ar-LY",12297:"en-ZW",2110:"ms-BN",17418:"es-SV",6145:"ary",1061:"et",1086:"ms",4106:"es-GT",8193:"ar-OM",1080:"fo",1100:"ml",18442:"es-HN",16385:"ar-QA",1124:"fil",1082:"mt",2058:"es-MX",1025:"ar-SA",1035:"fi",1153:"mi",19466:"es-NI",10241:"ar-SY",2060:"fr-BE",1146:"arn",6154:"es-PA",7169:"aeb",3084:"fr-CA",1102:"mr",15370:"es-PY",14337:"ar-AE",1036:"fr",1148:"moh",10250:"es-PE",9217:"ar-YE",5132:"fr-LU",1104:"mn",20490:"es-PR",1067:"hy",6156:"fr-MC",2128:"mn-CN",3082:"es",1101:"as",4108:"fr-CH",1121:"ne",1034:"es",2092:"az-Cyrl",1122:"fy",1044:"nb",21514:"es-US",1068:"az",1110:"gl",2068:"nn",14346:"es-UY",1133:"ba",1079:"ka",1154:"oc",8202:"es-VE",1069:"eu",3079:"de-AT",1096:"or",2077:"sv-FI",1059:"be",1031:"de",1123:"ps",1053:"sv",2117:"bn",5127:"de-LI",1045:"pl",1114:"syr",1093:"bn-IN",4103:"de-LU",1046:"pt",1064:"tg",8218:"bs-Cyrl",2055:"de-CH",2070:"pt-PT",2143:"tzm",5146:"bs",1032:"el",1094:"pa",1097:"ta",1150:"br",1135:"kl",1131:"qu-BO",1092:"tt",1026:"bg",1095:"gu",2155:"qu-EC",1098:"te",1027:"ca",1128:"ha",3179:"qu",1054:"th",3076:"zh-HK",1037:"he",1048:"ro",1105:"bo",5124:"zh-MO",1081:"hi",1047:"rm",1055:"tr",2052:"zh",1038:"hu",1049:"ru",1090:"tk",4100:"zh-SG",1039:"is",9275:"smn",1152:"ug",1028:"zh-TW",1136:"ig",4155:"smj-NO",1058:"uk",1155:"co",1057:"id",5179:"smj",1070:"hsb",1050:"hr",1117:"iu",3131:"se-FI",1056:"ur",4122:"hr-BA",2141:"iu-Latn",1083:"se",2115:"uz-Cyrl",1029:"cs",2108:"ga",2107:"se-SE",1091:"uz",1030:"da",1076:"xh",8251:"sms",1066:"vi",1164:"prs",1077:"zu",6203:"sma-NO",1106:"cy",1125:"dv",1040:"it",7227:"sms",1160:"wo",2067:"nl-BE",2064:"it-CH",1103:"sa",1157:"sah",1043:"nl",1041:"ja",7194:"sr-Cyrl-BA",1144:"ii",3081:"en-AU",1099:"kn",3098:"sr",1130:"yo",10249:"en-BZ",1087:"kk",6170:"sr-Latn-BA",4105:"en-CA",1107:"km",2074:"sr-Latn",9225:"en-029",1158:"quc",1132:"nso"}],Yt=new nt.Struct({platformID:nt.uint16,encodingID:nt.uint16,languageID:nt.uint16,nameID:nt.uint16,length:nt.uint16,string:new nt.Pointer(nt.uint16,new nt.String("length",function(t){return a(t.platformID,t.encodingID,t.languageID)}),{type:"parent",relativeTo:"parent.stringOffset",allowNull:!1})}),Xt=new nt.Struct({length:nt.uint16,tag:new nt.Pointer(nt.uint16,new nt.String("length","utf16be"),{type:"parent",relativeTo:"stringOffset"})}),NameTable=new nt.VersionedStruct(nt.uint16,{0:{count:nt.uint16,stringOffset:nt.uint16,records:new nt.Array(Yt,"count")},1:{count:nt.uint16,stringOffset:nt.uint16,records:new nt.Array(Yt,"count"),langTagCount:nt.uint16,langTags:new nt.Array(Xt,"langTagCount")}}),Kt=["copyright","fontFamily","fontSubfamily","uniqueSubfamily","fullName","version","postscriptName","trademark","manufacturer","designer","description","vendorURL","designerURL","license","licenseURL",null,"preferredFamily","preferredSubfamily","compatibleFull","sampleText","postscriptCIDFontName","wwsFamilyName","wwsSubfamilyName"];NameTable.process=function(t){for(var e={},n=this.records,r=Array.isArray(n),i=0,n=r?n:it(n);;){var o;if(r){if(i>=n.length)break;o=n[i++]}else{if(i=n.next(),i.done)break;o=i.value}var a=o,s=Zt[a.platformID][a.languageID];null==s&&null!=this.langTags&&a.languageID>=32768&&(s=this.langTags[a.languageID-32768].tag),null==s&&(s=a.platformID+"-"+a.languageID);var u=a.nameID>=256?"fontFeatures":Kt[a.nameID]||a.nameID;null==e[u]&&(e[u]={});var l=e[u];a.nameID>=256&&(l=l[a.nameID]||(l[a.nameID]={})),"string"!=typeof a.string&&"string"==typeof l[s]||(l[s]=a.string)}this.records=e},NameTable.preEncode=function(){if(!Array.isArray(this.records)){this.version=0;var t=[];for(var n in this.records){var r=this.records[n];"fontFeatures"!==n&&(t.push({platformID:3,encodingID:1,languageID:1033,nameID:Kt.indexOf(n),length:e.byteLength(r.en,"utf16le"),string:r.en}),"postscriptName"===n&&t.push({platformID:1,encodingID:0,languageID:0,nameID:Kt.indexOf(n),length:r.en.length,string:r.en}))}this.records=t,this.count=t.length,this.stringOffset=NameTable.size(this,null,!1)}};var Jt=new nt.VersionedStruct(nt.uint16,{header:{xAvgCharWidth:nt.int16,usWeightClass:nt.uint16,usWidthClass:nt.uint16,fsType:new nt.Bitfield(nt.uint16,[null,"noEmbedding","viewOnly","editable",null,null,null,null,"noSubsetting","bitmapOnly"]),ySubscriptXSize:nt.int16,ySubscriptYSize:nt.int16,ySubscriptXOffset:nt.int16,ySubscriptYOffset:nt.int16,ySuperscriptXSize:nt.int16,ySuperscriptYSize:nt.int16,ySuperscriptXOffset:nt.int16,ySuperscriptYOffset:nt.int16,yStrikeoutSize:nt.int16,yStrikeoutPosition:nt.int16,sFamilyClass:nt.int16,panose:new nt.Array(nt.uint8,10),ulCharRange:new nt.Array(nt.uint32,4),vendorID:new nt.String(4),fsSelection:new nt.Bitfield(nt.uint16,["italic","underscore","negative","outlined","strikeout","bold","regular","useTypoMetrics","wws","oblique"]),usFirstCharIndex:nt.uint16,usLastCharIndex:nt.uint16},0:{},1:{typoAscender:nt.int16,typoDescender:nt.int16,typoLineGap:nt.int16,winAscent:nt.uint16,winDescent:nt.uint16,codePageRange:new nt.Array(nt.uint32,2)},2:{typoAscender:nt.int16,typoDescender:nt.int16,typoLineGap:nt.int16,winAscent:nt.uint16,winDescent:nt.uint16,codePageRange:new nt.Array(nt.uint32,2),xHeight:nt.int16,capHeight:nt.int16,defaultChar:nt.uint16,breakChar:nt.uint16,maxContent:nt.uint16},5:{typoAscender:nt.int16,typoDescender:nt.int16,typoLineGap:nt.int16,winAscent:nt.uint16,winDescent:nt.uint16,codePageRange:new nt.Array(nt.uint32,2),xHeight:nt.int16,capHeight:nt.int16,defaultChar:nt.uint16,breakChar:nt.uint16,maxContent:nt.uint16,usLowerOpticalPointSize:nt.uint16,usUpperOpticalPointSize:nt.uint16}}),Qt=Jt.versions;Qt[3]=Qt[4]=Qt[2];var $t=new nt.VersionedStruct(nt.fixed32,{header:{italicAngle:nt.fixed32,underlinePosition:nt.int16,underlineThickness:nt.int16,isFixedPitch:nt.uint32,minMemType42:nt.uint32,maxMemType42:nt.uint32,minMemType1:nt.uint32,maxMemType1:nt.uint32},1:{},2:{numberOfGlyphs:nt.uint16,glyphNameIndex:new nt.Array(nt.uint16,"numberOfGlyphs"),names:new nt.Array(new nt.String(nt.uint8))},2.5:{numberOfGlyphs:nt.uint16,offsets:new nt.Array(nt.uint8,"numberOfGlyphs")},3:{},4:{map:new nt.Array(nt.uint32,function(t){return t.parent.maxp.numGlyphs})}}),te=new nt.Struct({controlValues:new nt.Array(nt.int16)}),ee=new nt.Struct({instructions:new nt.Array(nt.uint8)}),ne=new nt.VersionedStruct("head.indexToLocFormat",{0:{offsets:new nt.Array(nt.uint16)},1:{offsets:new nt.Array(nt.uint32)}});ne.process=function(){if(0===this.version)for(var t=0;t65535?1:0,0===this.version))for(var t=0;t>>=1};var re,ie=new nt.Struct({controlValueProgram:new nt.Array(nt.uint8)}),oe=new nt.Array(new nt.Buffer),ae=function(){function t(e){lt(this,t),this.type=e}return t.prototype.getCFFVersion=function(t){for(;t&&!t.hdrSize;)t=t.parent;return t?t.version:-1},t.prototype.decode=function(t,e){var n=this.getCFFVersion(e),r=n>=2?t.readUInt32BE():t.readUInt16BE();if(0===r)return[];var i=t.readUInt8(),o=void 0;if(1===i)o=nt.uint8;else if(2===i)o=nt.uint16;else if(3===i)o=nt.uint24;else{if(4!==i)throw new Error("Bad offset size in CFFIndex: "+i+" "+t.pos);o=nt.uint32}for(var a=[],s=t.pos+(r+1)*i-1,u=o.decode(t),l=0;l=a.length)break;l=a[u++]}else{if(u=a.next(),u.done)break;l=u.value}var c=l,f=r.size(c,n);i.push(f),o+=f}var h=void 0;if(o<=255)h=nt.uint8;else if(o<=65535)h=nt.uint16;else if(o<=16777215)h=nt.uint24;else{if(!(o<=4294967295))throw new Error("Bad offset in CFFIndex");h=nt.uint32}t.writeUInt8(h.size()),o=1,h.encode(t,o);for(var p=i,d=Array.isArray(p),g=0,p=d?p:it(p);;){var y;if(d){if(g>=p.length)break;y=p[g++]}else{if(g=p.next(),g.done)break;y=g.value}o+=y,h.encode(t,o)}for(var v=e,b=Array.isArray(v),m=0,v=b?v:it(v);;){var w;if(b){if(m>=v.length)break;w=v[m++]}else{if(m=v.next(),m.done)break;w=m.value}var x=w;r.encode(t,x,n)}}},t}(),se=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"],ue={".":10,E:11,"E-":12,"-":14},le=function(){function t(){lt(this,t)}return t.decode=function(t,e){if(32<=e&&e<=246)return e-139;if(247<=e&&e<=250)return 256*(e-247)+t.readUInt8()+108;if(251<=e&&e<=254)return 256*-(e-251)-t.readUInt8()-108;if(28===e)return t.readInt16BE();if(29===e)return t.readInt32BE();if(30===e){for(var n="";;){var r=t.readUInt8(),i=r>>4;if(15===i)break;n+=se[i];var o=15&r;if(15===o)break;n+=se[o]}return parseFloat(n)}return null},t.size=function(t){if(t.forceLarge&&(t=32768),(0|t)!==t){var e=""+t;return 1+Math.ceil((e.length+1)/2)}return-107<=t&&t<=107?1:108<=t&&t<=1131||-1131<=t&&t<=-108?2:-32768<=t&&t<=32767?3:5},t.encode=function(t,e){var n=Number(e);if(e.forceLarge)return t.writeUInt8(29),t.writeInt32BE(n);if((0|n)===n)return-107<=n&&n<=107?t.writeUInt8(n+139):108<=n&&n<=1131?(n-=108,t.writeUInt8(247+(n>>8)),t.writeUInt8(255&n)):-1131<=n&&n<=-108?(n=-n-108,t.writeUInt8(251+(n>>8)),t.writeUInt8(255&n)):-32768<=n&&n<=32767?(t.writeUInt8(28),t.writeInt16BE(n)):(t.writeUInt8(29),t.writeInt32BE(n));t.writeUInt8(30);for(var r=""+n,i=0;i0&&void 0!==arguments[0]?arguments[0]:[];lt(this,t),this.ops=e,this.fields={};for(var n=e,r=Array.isArray(n),i=0,n=r?n:it(n);;){var o;if(r){if(i>=n.length)break;o=n[i++]}else{if(i=n.next(),i.done)break;o=i.value}var a=o,s=Array.isArray(a[0])?a[0][0]<<8|a[0][1]:a[0];this.fields[s]=a}}return t.prototype.decodeOperands=function(t,e,n,r){var i=this;if(Array.isArray(t))return r.map(function(r,o){return i.decodeOperands(t[o],e,n,[r])});if(null!=t.decode)return t.decode(e,n,r);switch(t){case"number":case"offset":case"sid":return r[0];case"boolean":return!!r[0];default:return r}},t.prototype.encodeOperands=function(t,e,n,r){var i=this;return Array.isArray(t)?r.map(function(r,o){return i.encodeOperands(t[o],e,n,r)[0]}):null!=t.encode?t.encode(e,r,n):"number"==typeof r?[r]:"boolean"==typeof r?[+r]:Array.isArray(r)?r:[r]},t.prototype.decode=function(t,e){var n=t.pos+e.length,r={},i=[];gt(r,{parent:{value:e},_startOffset:{value:t.pos}});for(var o in this.fields){var a=this.fields[o];r[a[1]]=a[3]}for(;t.pos2&&void 0!==arguments[2])||arguments[2],r={parent:e,val:t,pointerSize:0,startOffset:e.startOffset||0},i=0;for(var o in this.fields){var a=this.fields[o],s=t[a[1]];if(null!=s&&!yt(s,a[3])){for(var u=this.encodeOperands(a[2],null,r,s),l=u,c=Array.isArray(l),f=0,l=c?l:it(l);;){var h;if(c){if(f>=l.length)break;h=l[f++]}else{if(f=l.next(),f.done)break;h=f.value}var p=h;i+=le.size(p)}i+=(Array.isArray(a[0])?a[0]:[a[0]]).length}}return n&&(i+=r.pointerSize),i},t.prototype.encode=function(t,e,n){var r={pointers:[],startOffset:t.pos,parent:n,val:e,pointerSize:0};r.pointerOffset=t.pos+this.size(e,r,!1);for(var i=this.ops,o=Array.isArray(i),a=0,i=o?i:it(i);;){var s;if(o){if(a>=i.length)break;s=i[a++]}else{if(a=i.next(),a.done)break;s=a.value}var u=s,l=e[u[1]];if(null!=l&&!yt(l,u[3])){for(var c=this.encodeOperands(u[2],t,r,l),f=c,h=Array.isArray(f),p=0,f=h?f:it(f);;){var d;if(h){if(p>=f.length)break;d=f[p++]}else{if(p=f.next(),p.done)break;d=p.value}var g=d;le.encode(t,g)}for(var y=Array.isArray(u[0])?u[0]:[u[0]],v=y,b=Array.isArray(v),m=0,v=b?v:it(v);;){var w;if(b){if(m>=v.length)break;w=v[m++]}else{if(m=v.next(),m.done)break;w=m.value}var x=w;t.writeUInt8(x)}}}for(var _=0;_1&&void 0!==arguments[1]?arguments[1]:{};return lt(this,e),null==r.type&&(r.type="global"),ht(this,t.call(this,null,n,r))}return pt(e,t),e.prototype.decode=function(e,n,r){return this.offsetType={decode:function(){return r[0]}},t.prototype.decode.call(this,e,n,r)},e.prototype.encode=function(e,n,r){if(!e)return this.offsetType={size:function(){return 0}},this.size(n,r),[new he(0)];var i=null;return this.offsetType={encode:function(t,e){return i=e}},t.prototype.encode.call(this,e,n,r),[new he(i)]},e}(nt.Pointer),he=function(){function t(e){lt(this,t),this.val=e,this.forceLarge=!0}return t.prototype.valueOf=function(){return this.val},t}(),pe=function(){function t(){lt(this,t)}return t.decode=function(t,e,n){for(var r=n.pop();n.length>r;)n.pop()},t}(),de=new ce([[6,"BlueValues","delta",null],[7,"OtherBlues","delta",null],[8,"FamilyBlues","delta",null],[9,"FamilyOtherBlues","delta",null],[[12,9],"BlueScale","number",.039625],[[12,10],"BlueShift","number",7],[[12,11],"BlueFuzz","number",1],[10,"StdHW","number",null],[11,"StdVW","number",null],[[12,12],"StemSnapH","delta",null],[[12,13],"StemSnapV","delta",null],[[12,14],"ForceBold","boolean",!1],[[12,17],"LanguageGroup","number",0],[[12,18],"ExpansionFactor","number",.06],[[12,19],"initialRandomSeed","number",0],[20,"defaultWidthX","number",0],[21,"nominalWidthX","number",0],[22,"vsindex","number",0],[23,"blend",pe,null],[19,"Subrs",new fe(new ae,{type:"local"}),null]]),ge=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","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"],ye=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","","endash","dagger","daggerdbl","periodcentered","","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","","questiondown","","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","","ring","cedilla","","hungarumlaut","ogonek","caron","emdash","","","","","","","","","","","","","","","","","AE","","ordfeminine","","","","","Lslash","Oslash","OE","ordmasculine","","","","","","ae","","","","dotlessi","","","lslash","oslash","oe","germandbls"],ve=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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"],be=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron"],me=[".notdef","space","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],we=[".notdef","space","dollaroldstyle","dollarsuperior","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","hyphensuperior","colonmonetary","onefitted","rupiah","centoldstyle","figuredash","hypheninferior","onequarter","onehalf","threequarters","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior"],xe=new nt.Struct({reserved:new nt.Reserved(nt.uint16),reqFeatureIndex:nt.uint16,featureCount:nt.uint16,featureIndexes:new nt.Array(nt.uint16,"featureCount")}),_e=new nt.Struct({tag:new nt.String(4),langSys:new nt.Pointer(nt.uint16,xe,{type:"parent"})}),ke=new nt.Struct({defaultLangSys:new nt.Pointer(nt.uint16,xe),count:nt.uint16,langSysRecords:new nt.Array(_e,"count")}),Se=new nt.Struct({tag:new nt.String(4),script:new nt.Pointer(nt.uint16,ke,{type:"parent"})}),Ce=new nt.Array(Se,nt.uint16),Ae=new nt.Struct({featureParams:nt.uint16,lookupCount:nt.uint16,lookupListIndexes:new nt.Array(nt.uint16,"lookupCount")}),Pe=new nt.Struct({tag:new nt.String(4),feature:new nt.Pointer(nt.uint16,Ae,{type:"parent"})}),Ee=new nt.Array(Pe,nt.uint16),Ie=new nt.Struct({markAttachmentType:nt.uint8,flags:new nt.Bitfield(nt.uint8,["rightToLeft","ignoreBaseGlyphs","ignoreLigatures","ignoreMarks","useMarkFilteringSet"])}),Te=new nt.Struct({start:nt.uint16,end:nt.uint16,startCoverageIndex:nt.uint16}),Oe=new nt.VersionedStruct(nt.uint16,{1:{glyphCount:nt.uint16,glyphs:new nt.Array(nt.uint16,"glyphCount")},2:{rangeCount:nt.uint16,rangeRecords:new nt.Array(Te,"rangeCount")}}),Le=new nt.Struct({start:nt.uint16,end:nt.uint16,class:nt.uint16}),Be=new nt.VersionedStruct(nt.uint16,{1:{startGlyph:nt.uint16,glyphCount:nt.uint16,classValueArray:new nt.Array(nt.uint16,"glyphCount")},2:{classRangeCount:nt.uint16,classRangeRecord:new nt.Array(Le,"classRangeCount")}}),Re=new nt.Struct({a:nt.uint16,b:nt.uint16,deltaFormat:nt.uint16}),Me=new nt.Struct({sequenceIndex:nt.uint16,lookupListIndex:nt.uint16}),Fe=new nt.Struct({glyphCount:nt.uint16,lookupCount:nt.uint16,input:new nt.Array(nt.uint16,function(t){return t.glyphCount-1}),lookupRecords:new nt.Array(Me,"lookupCount")}),ze=new nt.Array(new nt.Pointer(nt.uint16,Fe),nt.uint16),De=new nt.Struct({glyphCount:nt.uint16,lookupCount:nt.uint16,classes:new nt.Array(nt.uint16,function(t){return t.glyphCount-1}),lookupRecords:new nt.Array(Me,"lookupCount")}),Ne=new nt.Array(new nt.Pointer(nt.uint16,De),nt.uint16),We=new nt.VersionedStruct(nt.uint16,{1:{coverage:new nt.Pointer(nt.uint16,Oe),ruleSetCount:nt.uint16,ruleSets:new nt.Array(new nt.Pointer(nt.uint16,ze),"ruleSetCount")},2:{coverage:new nt.Pointer(nt.uint16,Oe),classDef:new nt.Pointer(nt.uint16,Be),classSetCnt:nt.uint16,classSet:new nt.Array(new nt.Pointer(nt.uint16,Ne),"classSetCnt")},3:{glyphCount:nt.uint16,lookupCount:nt.uint16,coverages:new nt.Array(new nt.Pointer(nt.uint16,Oe),"glyphCount"),lookupRecords:new nt.Array(Me,"lookupCount")}}),Ue=new nt.Struct({backtrackGlyphCount:nt.uint16,backtrack:new nt.Array(nt.uint16,"backtrackGlyphCount"),inputGlyphCount:nt.uint16,input:new nt.Array(nt.uint16,function(t){return t.inputGlyphCount-1}),lookaheadGlyphCount:nt.uint16,lookahead:new nt.Array(nt.uint16,"lookaheadGlyphCount"),lookupCount:nt.uint16,lookupRecords:new nt.Array(Me,"lookupCount")}),je=new nt.Array(new nt.Pointer(nt.uint16,Ue),nt.uint16),Ge=new nt.VersionedStruct(nt.uint16,{1:{coverage:new nt.Pointer(nt.uint16,Oe),chainCount:nt.uint16,chainRuleSets:new nt.Array(new nt.Pointer(nt.uint16,je),"chainCount")},2:{coverage:new nt.Pointer(nt.uint16,Oe),backtrackClassDef:new nt.Pointer(nt.uint16,Be),inputClassDef:new nt.Pointer(nt.uint16,Be),lookaheadClassDef:new nt.Pointer(nt.uint16,Be),chainCount:nt.uint16,chainClassSet:new nt.Array(new nt.Pointer(nt.uint16,je),"chainCount")},3:{backtrackGlyphCount:nt.uint16,backtrackCoverage:new nt.Array(new nt.Pointer(nt.uint16,Oe),"backtrackGlyphCount"),inputGlyphCount:nt.uint16,inputCoverage:new nt.Array(new nt.Pointer(nt.uint16,Oe),"inputGlyphCount"),lookaheadGlyphCount:nt.uint16,lookaheadCoverage:new nt.Array(new nt.Pointer(nt.uint16,Oe),"lookaheadGlyphCount"),lookupCount:nt.uint16,lookupRecords:new nt.Array(Me,"lookupCount")}}),Ve=new nt.Fixed(16,"BE",14),He=new nt.Struct({startCoord:Ve,peakCoord:Ve,endCoord:Ve}),qe=new nt.Struct({
-axisCount:nt.uint16,regionCount:nt.uint16,variationRegions:new nt.Array(new nt.Array(He,"axisCount"),"regionCount")}),Ze=new nt.Struct({shortDeltas:new nt.Array(nt.int16,function(t){return t.parent.shortDeltaCount}),regionDeltas:new nt.Array(nt.int8,function(t){return t.parent.regionIndexCount-t.parent.shortDeltaCount}),deltas:function(t){return t.shortDeltas.concat(t.regionDeltas)}}),Ye=new nt.Struct({itemCount:nt.uint16,shortDeltaCount:nt.uint16,regionIndexCount:nt.uint16,regionIndexes:new nt.Array(nt.uint16,"regionIndexCount"),deltaSets:new nt.Array(Ze,"itemCount")}),Xe=new nt.Struct({format:nt.uint16,variationRegionList:new nt.Pointer(nt.uint32,qe),variationDataCount:nt.uint16,itemVariationData:new nt.Array(new nt.Pointer(nt.uint32,Ye),"variationDataCount")}),Ke=new nt.VersionedStruct(nt.uint16,{1:(re={axisIndex:nt.uint16},re.axisIndex=nt.uint16,re.filterRangeMinValue=Ve,re.filterRangeMaxValue=Ve,re)}),Je=new nt.Struct({conditionCount:nt.uint16,conditionTable:new nt.Array(new nt.Pointer(nt.uint32,Ke),"conditionCount")}),Qe=new nt.Struct({featureIndex:nt.uint16,alternateFeatureTable:new nt.Pointer(nt.uint32,Ae,{type:"parent"})}),$e=new nt.Struct({version:nt.fixed32,substitutionCount:nt.uint16,substitutions:new nt.Array(Qe,"substitutionCount")}),tn=new nt.Struct({conditionSet:new nt.Pointer(nt.uint32,Je,{type:"parent"}),featureTableSubstitution:new nt.Pointer(nt.uint32,$e,{type:"parent"})}),en=new nt.Struct({majorVersion:nt.uint16,minorVersion:nt.uint16,featureVariationRecordCount:nt.uint32,featureVariationRecords:new nt.Array(tn,"featureVariationRecordCount")}),nn=function(){function t(e,n){lt(this,t),this.predefinedOps=e,this.type=n}return t.prototype.decode=function(t,e,n){return this.predefinedOps[n[0]]?this.predefinedOps[n[0]]:this.type.decode(t,e,n)},t.prototype.size=function(t,e){return this.type.size(t,e)},t.prototype.encode=function(t,e,n){var r=this.predefinedOps.indexOf(e);return-1!==r?r:this.type.encode(t,e,n)},t}(),rn=function(t){function e(){return lt(this,e),ht(this,t.call(this,"UInt8"))}return pt(e,t),e.prototype.decode=function(t){return 127&nt.uint8.decode(t)},e}(nt.Number),on=new nt.Struct({first:nt.uint16,nLeft:nt.uint8}),an=new nt.Struct({first:nt.uint16,nLeft:nt.uint16}),sn=new nt.VersionedStruct(new rn,{0:{nCodes:nt.uint8,codes:new nt.Array(nt.uint8,"nCodes")},1:{nRanges:nt.uint8,ranges:new nt.Array(on,"nRanges")}}),un=new nn([ye,ve],new fe(sn,{lazy:!0})),ln=function(t){function e(){return lt(this,e),ht(this,t.apply(this,arguments))}return pt(e,t),e.prototype.decode=function(t,e){for(var n=dt.resolveLength(this.length,t,e),r=0,i=[];r=2?null:t=2)return null;if(this.isCIDFont)return null;var e=this.topDict.charset;if(Array.isArray(e))return e[t];if(0===t)return".notdef";switch(t-=1,e.version){case 0:return this.string(e.glyphs[t]);case 1:case 2:for(var n=0;n>1;if(te[i+1].first))return e[i].fd;n=i+1}}default:throw new Error("Unknown FDSelect version: "+this.topDict.FDSelect.version)}},t.prototype.privateDictForGlyph=function(t){if(this.topDict.FDSelect){var e=this.fdForGlyph(t);return this.topDict.FDArray[e]?this.topDict.FDArray[e].Private:null}return this.version<2?this.topDict.Private:this.topDict.FDArray[0].Private},ct(t,[{key:"postscriptName",get:function(){return this.version<2?this.nameIndex[0]:null}},{key:"fullName",get:function(){return this.string(this.topDict.FullName)}},{key:"familyName",get:function(){return this.string(this.topDict.FamilyName)}}]),t}(),kn=new nt.Struct({glyphIndex:nt.uint16,vertOriginY:nt.int16}),Sn=new nt.Struct({majorVersion:nt.uint16,minorVersion:nt.uint16,defaultVertOriginY:nt.int16,numVertOriginYMetrics:nt.uint16,metrics:new nt.Array(kn,"numVertOriginYMetrics")}),Cn=new nt.Struct({height:nt.uint8,width:nt.uint8,horiBearingX:nt.int8,horiBearingY:nt.int8,horiAdvance:nt.uint8,vertBearingX:nt.int8,vertBearingY:nt.int8,vertAdvance:nt.uint8}),An=new nt.Struct({height:nt.uint8,width:nt.uint8,bearingX:nt.int8,bearingY:nt.int8,advance:nt.uint8}),Pn=new nt.Struct({glyph:nt.uint16,xOffset:nt.int8,yOffset:nt.int8}),En=function t(){lt(this,t)},In=function t(){lt(this,t)},Tn=(new nt.VersionedStruct("version",{1:{metrics:An,data:En},2:{metrics:An,data:In},5:{data:In},6:{metrics:Cn,data:En},7:{metrics:Cn,data:In},8:{metrics:An,pad:new nt.Reserved(nt.uint8),numComponents:nt.uint16,components:new nt.Array(Pn,"numComponents")},9:{metrics:Cn,pad:new nt.Reserved(nt.uint8),numComponents:nt.uint16,components:new nt.Array(Pn,"numComponents")},17:{metrics:An,dataLen:nt.uint32,data:new nt.Buffer("dataLen")},18:{metrics:Cn,dataLen:nt.uint32,data:new nt.Buffer("dataLen")},19:{dataLen:nt.uint32,data:new nt.Buffer("dataLen")}}),new nt.Struct({ascender:nt.int8,descender:nt.int8,widthMax:nt.uint8,caretSlopeNumerator:nt.int8,caretSlopeDenominator:nt.int8,caretOffset:nt.int8,minOriginSB:nt.int8,minAdvanceSB:nt.int8,maxBeforeBL:nt.int8,minAfterBL:nt.int8,pad:new nt.Reserved(nt.int8,2)})),On=new nt.Struct({glyphCode:nt.uint16,offset:nt.uint16}),Ln=new nt.VersionedStruct(nt.uint16,{header:{imageFormat:nt.uint16,imageDataOffset:nt.uint32},1:{offsetArray:new nt.Array(nt.uint32,function(t){return t.parent.lastGlyphIndex-t.parent.firstGlyphIndex+1})},2:{imageSize:nt.uint32,bigMetrics:Cn},3:{offsetArray:new nt.Array(nt.uint16,function(t){return t.parent.lastGlyphIndex-t.parent.firstGlyphIndex+1})},4:{numGlyphs:nt.uint32,glyphArray:new nt.Array(On,function(t){return t.numGlyphs+1})},5:{imageSize:nt.uint32,bigMetrics:Cn,numGlyphs:nt.uint32,glyphCodeArray:new nt.Array(nt.uint16,"numGlyphs")}}),Bn=new nt.Struct({firstGlyphIndex:nt.uint16,lastGlyphIndex:nt.uint16,subtable:new nt.Pointer(nt.uint32,Ln)}),Rn=new nt.Struct({indexSubTableArray:new nt.Pointer(nt.uint32,new nt.Array(Bn,1),{type:"parent"}),indexTablesSize:nt.uint32,numberOfIndexSubTables:nt.uint32,colorRef:nt.uint32,hori:Tn,vert:Tn,startGlyphIndex:nt.uint16,endGlyphIndex:nt.uint16,ppemX:nt.uint8,ppemY:nt.uint8,bitDepth:nt.uint8,flags:new nt.Bitfield(nt.uint8,["horizontal","vertical"])}),Mn=new nt.Struct({version:nt.uint32,numSizes:nt.uint32,sizes:new nt.Array(Rn,"numSizes")}),Fn=new nt.Struct({ppem:nt.uint16,resolution:nt.uint16,imageOffsets:new nt.Array(new nt.Pointer(nt.uint32,"void"),function(t){return t.parent.parent.maxp.numGlyphs+1})}),zn=new nt.Struct({version:nt.uint16,flags:new nt.Bitfield(nt.uint16,["renderOutlines"]),numImgTables:nt.uint32,imageTables:new nt.Array(new nt.Pointer(nt.uint32,Fn),"numImgTables")}),Dn=new nt.Struct({gid:nt.uint16,paletteIndex:nt.uint16}),Nn=new nt.Struct({gid:nt.uint16,firstLayerIndex:nt.uint16,numLayers:nt.uint16}),Wn=new nt.Struct({version:nt.uint16,numBaseGlyphRecords:nt.uint16,baseGlyphRecord:new nt.Pointer(nt.uint32,new nt.Array(Nn,"numBaseGlyphRecords")),layerRecords:new nt.Pointer(nt.uint32,new nt.Array(Dn,"numLayerRecords"),{lazy:!0}),numLayerRecords:nt.uint16}),Un=new nt.Struct({blue:nt.uint8,green:nt.uint8,red:nt.uint8,alpha:nt.uint8}),jn=new nt.Struct({version:nt.uint16,numPaletteEntries:nt.uint16,numPalettes:nt.uint16,numColorRecords:nt.uint16,colorRecords:new nt.Pointer(nt.uint32,new nt.Array(Un,"numColorRecords")),colorRecordIndices:new nt.Array(nt.uint16,"numPalettes")}),Gn=new nt.VersionedStruct(nt.uint16,{1:{coordinate:nt.int16},2:{coordinate:nt.int16,referenceGlyph:nt.uint16,baseCoordPoint:nt.uint16},3:{coordinate:nt.int16,deviceTable:new nt.Pointer(nt.uint16,Re)}}),Vn=new nt.Struct({defaultIndex:nt.uint16,baseCoordCount:nt.uint16,baseCoords:new nt.Array(new nt.Pointer(nt.uint16,Gn),"baseCoordCount")}),Hn=new nt.Struct({tag:new nt.String(4),minCoord:new nt.Pointer(nt.uint16,Gn,{type:"parent"}),maxCoord:new nt.Pointer(nt.uint16,Gn,{type:"parent"})}),qn=new nt.Struct({minCoord:new nt.Pointer(nt.uint16,Gn),maxCoord:new nt.Pointer(nt.uint16,Gn),featMinMaxCount:nt.uint16,featMinMaxRecords:new nt.Array(Hn,"featMinMaxCount")}),Zn=new nt.Struct({tag:new nt.String(4),minMax:new nt.Pointer(nt.uint16,qn,{type:"parent"})}),Yn=new nt.Struct({baseValues:new nt.Pointer(nt.uint16,Vn),defaultMinMax:new nt.Pointer(nt.uint16,qn),baseLangSysCount:nt.uint16,baseLangSysRecords:new nt.Array(Zn,"baseLangSysCount")}),Xn=new nt.Struct({tag:new nt.String(4),script:new nt.Pointer(nt.uint16,Yn,{type:"parent"})}),Kn=new nt.Array(Xn,nt.uint16),Jn=new nt.Array(new nt.String(4),nt.uint16),Qn=new nt.Struct({baseTagList:new nt.Pointer(nt.uint16,Jn),baseScriptList:new nt.Pointer(nt.uint16,Kn)}),$n=new nt.VersionedStruct(nt.uint32,{header:{horizAxis:new nt.Pointer(nt.uint16,Qn),vertAxis:new nt.Pointer(nt.uint16,Qn)},65536:{},65537:{itemVariationStore:new nt.Pointer(nt.uint32,Xe)}}),tr=new nt.Array(nt.uint16,nt.uint16),er=new nt.Struct({coverage:new nt.Pointer(nt.uint16,Oe),glyphCount:nt.uint16,attachPoints:new nt.Array(new nt.Pointer(nt.uint16,tr),"glyphCount")}),nr=new nt.VersionedStruct(nt.uint16,{1:{coordinate:nt.int16},2:{caretValuePoint:nt.uint16},3:{coordinate:nt.int16,deviceTable:new nt.Pointer(nt.uint16,Re)}}),rr=new nt.Array(new nt.Pointer(nt.uint16,nr),nt.uint16),ir=new nt.Struct({coverage:new nt.Pointer(nt.uint16,Oe),ligGlyphCount:nt.uint16,ligGlyphs:new nt.Array(new nt.Pointer(nt.uint16,rr),"ligGlyphCount")}),or=new nt.Struct({markSetTableFormat:nt.uint16,markSetCount:nt.uint16,coverage:new nt.Array(new nt.Pointer(nt.uint32,Oe),"markSetCount")}),ar=new nt.VersionedStruct(nt.uint32,{header:{glyphClassDef:new nt.Pointer(nt.uint16,Be),attachList:new nt.Pointer(nt.uint16,er),ligCaretList:new nt.Pointer(nt.uint16,ir),markAttachClassDef:new nt.Pointer(nt.uint16,Be)},65536:{},65538:{markGlyphSetsDef:new nt.Pointer(nt.uint16,or)},65539:{markGlyphSetsDef:new nt.Pointer(nt.uint16,or),itemVariationStore:new nt.Pointer(nt.uint32,Xe)}}),sr=new nt.Bitfield(nt.uint16,["xPlacement","yPlacement","xAdvance","yAdvance","xPlaDevice","yPlaDevice","xAdvDevice","yAdvDevice"]),ur={xPlacement:nt.int16,yPlacement:nt.int16,xAdvance:nt.int16,yAdvance:nt.int16,xPlaDevice:new nt.Pointer(nt.uint16,Re,{type:"global",relativeTo:"rel"}),yPlaDevice:new nt.Pointer(nt.uint16,Re,{type:"global",relativeTo:"rel"}),xAdvDevice:new nt.Pointer(nt.uint16,Re,{type:"global",relativeTo:"rel"}),yAdvDevice:new nt.Pointer(nt.uint16,Re,{type:"global",relativeTo:"rel"})},lr=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"valueFormat";lt(this,t),this.key=e}return t.prototype.buildStruct=function(t){for(var e=t;!e[this.key]&&e.parent;)e=e.parent;if(e[this.key]){var n={};n.rel=function(){return e._startOffset};var r=e[this.key];for(var i in r)r[i]&&(n[i]=ur[i]);return new nt.Struct(n)}},t.prototype.size=function(t,e){return this.buildStruct(e).size(t,e)},t.prototype.decode=function(t,e){var n=this.buildStruct(e).decode(t,e);return delete n.rel,n},t}(),cr=new nt.Struct({secondGlyph:nt.uint16,value1:new lr("valueFormat1"),value2:new lr("valueFormat2")}),fr=new nt.Array(cr,nt.uint16),hr=new nt.Struct({value1:new lr("valueFormat1"),value2:new lr("valueFormat2")}),pr=new nt.VersionedStruct(nt.uint16,{1:{xCoordinate:nt.int16,yCoordinate:nt.int16},2:{xCoordinate:nt.int16,yCoordinate:nt.int16,anchorPoint:nt.uint16},3:{xCoordinate:nt.int16,yCoordinate:nt.int16,xDeviceTable:new nt.Pointer(nt.uint16,Re),yDeviceTable:new nt.Pointer(nt.uint16,Re)}}),dr=new nt.Struct({entryAnchor:new nt.Pointer(nt.uint16,pr,{type:"parent"}),exitAnchor:new nt.Pointer(nt.uint16,pr,{type:"parent"})}),gr=new nt.Struct({class:nt.uint16,markAnchor:new nt.Pointer(nt.uint16,pr,{type:"parent"})}),yr=new nt.Array(gr,nt.uint16),vr=new nt.Array(new nt.Pointer(nt.uint16,pr),function(t){return t.parent.classCount}),br=new nt.Array(vr,nt.uint16),mr=new nt.Array(new nt.Pointer(nt.uint16,pr),function(t){return t.parent.parent.classCount}),wr=new nt.Array(mr,nt.uint16),xr=new nt.Array(new nt.Pointer(nt.uint16,wr),nt.uint16),_r=new nt.VersionedStruct("lookupType",{1:new nt.VersionedStruct(nt.uint16,{1:{coverage:new nt.Pointer(nt.uint16,Oe),valueFormat:sr,value:new lr},2:{coverage:new nt.Pointer(nt.uint16,Oe),valueFormat:sr,valueCount:nt.uint16,values:new nt.LazyArray(new lr,"valueCount")}}),2:new nt.VersionedStruct(nt.uint16,{1:{coverage:new nt.Pointer(nt.uint16,Oe),valueFormat1:sr,valueFormat2:sr,pairSetCount:nt.uint16,pairSets:new nt.LazyArray(new nt.Pointer(nt.uint16,fr),"pairSetCount")},2:{coverage:new nt.Pointer(nt.uint16,Oe),valueFormat1:sr,valueFormat2:sr,classDef1:new nt.Pointer(nt.uint16,Be),classDef2:new nt.Pointer(nt.uint16,Be),class1Count:nt.uint16,class2Count:nt.uint16,classRecords:new nt.LazyArray(new nt.LazyArray(hr,"class2Count"),"class1Count")}}),3:{format:nt.uint16,coverage:new nt.Pointer(nt.uint16,Oe),entryExitCount:nt.uint16,entryExitRecords:new nt.Array(dr,"entryExitCount")},4:{format:nt.uint16,markCoverage:new nt.Pointer(nt.uint16,Oe),baseCoverage:new nt.Pointer(nt.uint16,Oe),classCount:nt.uint16,markArray:new nt.Pointer(nt.uint16,yr),baseArray:new nt.Pointer(nt.uint16,br)},5:{format:nt.uint16,markCoverage:new nt.Pointer(nt.uint16,Oe),ligatureCoverage:new nt.Pointer(nt.uint16,Oe),classCount:nt.uint16,markArray:new nt.Pointer(nt.uint16,yr),ligatureArray:new nt.Pointer(nt.uint16,xr)},6:{format:nt.uint16,mark1Coverage:new nt.Pointer(nt.uint16,Oe),mark2Coverage:new nt.Pointer(nt.uint16,Oe),classCount:nt.uint16,mark1Array:new nt.Pointer(nt.uint16,yr),mark2Array:new nt.Pointer(nt.uint16,br)},7:We,8:Ge,9:{posFormat:nt.uint16,lookupType:nt.uint16,extension:new nt.Pointer(nt.uint32,_r)}});_r.versions[9].extension.type=_r;var kr=new nt.VersionedStruct(nt.uint32,{header:{scriptList:new nt.Pointer(nt.uint16,Ce),featureList:new nt.Pointer(nt.uint16,Ee),lookupList:new nt.Pointer(nt.uint16,new s(_r))},65536:{},65537:{featureVariations:new nt.Pointer(nt.uint32,en)}}),Sr=new nt.Array(nt.uint16,nt.uint16),Cr=Sr,Ar=new nt.Struct({glyph:nt.uint16,compCount:nt.uint16,components:new nt.Array(nt.uint16,function(t){return t.compCount-1})}),Pr=new nt.Array(new nt.Pointer(nt.uint16,Ar),nt.uint16),Er=new nt.VersionedStruct("lookupType",{1:new nt.VersionedStruct(nt.uint16,{1:{coverage:new nt.Pointer(nt.uint16,Oe),deltaGlyphID:nt.int16},2:{coverage:new nt.Pointer(nt.uint16,Oe),glyphCount:nt.uint16,substitute:new nt.LazyArray(nt.uint16,"glyphCount")}}),2:{substFormat:nt.uint16,coverage:new nt.Pointer(nt.uint16,Oe),count:nt.uint16,sequences:new nt.LazyArray(new nt.Pointer(nt.uint16,Sr),"count")},3:{substFormat:nt.uint16,coverage:new nt.Pointer(nt.uint16,Oe),count:nt.uint16,alternateSet:new nt.LazyArray(new nt.Pointer(nt.uint16,Cr),"count")},4:{substFormat:nt.uint16,coverage:new nt.Pointer(nt.uint16,Oe),count:nt.uint16,ligatureSets:new nt.LazyArray(new nt.Pointer(nt.uint16,Pr),"count")},5:We,6:Ge,7:{substFormat:nt.uint16,lookupType:nt.uint16,extension:new nt.Pointer(nt.uint32,Er)},8:{substFormat:nt.uint16,coverage:new nt.Pointer(nt.uint16,Oe),backtrackCoverage:new nt.Array(new nt.Pointer(nt.uint16,Oe),"backtrackGlyphCount"),lookaheadGlyphCount:nt.uint16,lookaheadCoverage:new nt.Array(new nt.Pointer(nt.uint16,Oe),"lookaheadGlyphCount"),glyphCount:nt.uint16,substitutes:new nt.Array(nt.uint16,"glyphCount")}});Er.versions[7].extension.type=Er;var Ir=new nt.VersionedStruct(nt.uint32,{header:{scriptList:new nt.Pointer(nt.uint16,Ce),featureList:new nt.Pointer(nt.uint16,Ee),lookupList:new nt.Pointer(nt.uint16,new s(Er))},65536:{},65537:{featureVariations:new nt.Pointer(nt.uint32,en)}}),Tr=new nt.Array(nt.uint16,nt.uint16),Or=new nt.Struct({shrinkageEnableGSUB:new nt.Pointer(nt.uint16,Tr),shrinkageDisableGSUB:new nt.Pointer(nt.uint16,Tr),shrinkageEnableGPOS:new nt.Pointer(nt.uint16,Tr),shrinkageDisableGPOS:new nt.Pointer(nt.uint16,Tr),shrinkageJstfMax:new nt.Pointer(nt.uint16,new s(_r)),extensionEnableGSUB:new nt.Pointer(nt.uint16,Tr),extensionDisableGSUB:new nt.Pointer(nt.uint16,Tr),extensionEnableGPOS:new nt.Pointer(nt.uint16,Tr),extensionDisableGPOS:new nt.Pointer(nt.uint16,Tr),extensionJstfMax:new nt.Pointer(nt.uint16,new s(_r))}),Lr=new nt.Array(new nt.Pointer(nt.uint16,Or),nt.uint16),Br=new nt.Struct({tag:new nt.String(4),jstfLangSys:new nt.Pointer(nt.uint16,Lr)}),Rr=new nt.Struct({extenderGlyphs:new nt.Pointer(nt.uint16,new nt.Array(nt.uint16,nt.uint16)),defaultLangSys:new nt.Pointer(nt.uint16,Lr),langSysCount:nt.uint16,langSysRecords:new nt.Array(Br,"langSysCount")}),Mr=new nt.Struct({tag:new nt.String(4),script:new nt.Pointer(nt.uint16,Rr,{type:"parent"})}),Fr=new nt.Struct({version:nt.uint32,scriptCount:nt.uint16,scriptList:new nt.Array(Mr,"scriptCount")}),zr=function(){function t(e){lt(this,t),this._size=e}return t.prototype.decode=function(t,e){switch(this.size(0,e)){case 1:return t.readUInt8();case 2:return t.readUInt16BE();case 3:return t.readUInt24BE();case 4:return t.readUInt32BE()}},t.prototype.size=function(t,e){return dt.resolveLength(this._size,null,e)},t}(),Dr=new nt.Struct({entry:new zr(function(t){return 1+((48&t.parent.entryFormat)>>4)}),outerIndex:function(t){return t.entry>>1+(15&t.parent.entryFormat)},innerIndex:function(t){return t.entry&(1<<1+(15&t.parent.entryFormat))-1}}),Nr=new nt.Struct({entryFormat:nt.uint16,mapCount:nt.uint16,mapData:new nt.Array(Dr,"mapCount")}),Wr=new nt.Struct({majorVersion:nt.uint16,minorVersion:nt.uint16,itemVariationStore:new nt.Pointer(nt.uint32,Xe),advanceWidthMapping:new nt.Pointer(nt.uint32,Nr),LSBMapping:new nt.Pointer(nt.uint32,Nr),RSBMapping:new nt.Pointer(nt.uint32,Nr)}),Ur=new nt.Struct({format:nt.uint32,length:nt.uint32,offset:nt.uint32}),jr=new nt.Struct({reserved:new nt.Reserved(nt.uint16,2),cbSignature:nt.uint32,signature:new nt.Buffer("cbSignature")}),Gr=new nt.Struct({ulVersion:nt.uint32,usNumSigs:nt.uint16,usFlag:nt.uint16,signatures:new nt.Array(Ur,"usNumSigs"),signatureBlocks:new nt.Array(jr,"usNumSigs")}),Vr=new nt.Struct({rangeMaxPPEM:nt.uint16,rangeGaspBehavior:new nt.Bitfield(nt.uint16,["grayscale","gridfit","symmetricSmoothing","symmetricGridfit"])}),Hr=new nt.Struct({version:nt.uint16,numRanges:nt.uint16,gaspRanges:new nt.Array(Vr,"numRanges")}),qr=new nt.Struct({pixelSize:nt.uint8,maximumWidth:nt.uint8,widths:new nt.Array(nt.uint8,function(t){return t.parent.parent.maxp.numGlyphs})}),Zr=new nt.Struct({version:nt.uint16,numRecords:nt.int16,sizeDeviceRecord:nt.int32,records:new nt.Array(qr,"numRecords")}),Yr=new nt.Struct({left:nt.uint16,right:nt.uint16,value:nt.int16}),Xr=new nt.Struct({firstGlyph:nt.uint16,nGlyphs:nt.uint16,offsets:new nt.Array(nt.uint16,"nGlyphs"),max:function(t){return t.offsets.length&&Math.max.apply(Math,t.offsets)}}),Kr=new nt.Struct({off:function(t){return t._startOffset-t.parent.parent._startOffset},len:function(t){return((t.parent.leftTable.max-t.off)/t.parent.rowWidth+1)*(t.parent.rowWidth/2)},values:new nt.LazyArray(nt.int16,"len")}),Jr=new nt.VersionedStruct("format",{0:{nPairs:nt.uint16,searchRange:nt.uint16,entrySelector:nt.uint16,rangeShift:nt.uint16,pairs:new nt.Array(Yr,"nPairs")},2:{rowWidth:nt.uint16,leftTable:new nt.Pointer(nt.uint16,Xr,{type:"parent"}),rightTable:new nt.Pointer(nt.uint16,Xr,{type:"parent"}),array:new nt.Pointer(nt.uint16,Kr,{type:"parent"})},3:{glyphCount:nt.uint16,kernValueCount:nt.uint8,leftClassCount:nt.uint8,rightClassCount:nt.uint8,flags:nt.uint8,kernValue:new nt.Array(nt.int16,"kernValueCount"),leftClass:new nt.Array(nt.uint8,"glyphCount"),rightClass:new nt.Array(nt.uint8,"glyphCount"),kernIndex:new nt.Array(nt.uint8,function(t){return t.leftClassCount*t.rightClassCount})}}),Qr=new nt.VersionedStruct("version",{0:{subVersion:nt.uint16,length:nt.uint16,format:nt.uint8,coverage:new nt.Bitfield(nt.uint8,["horizontal","minimum","crossStream","override"]),subtable:Jr,padding:new nt.Reserved(nt.uint8,function(t){return t.length-t._currentOffset})},1:{length:nt.uint32,coverage:new nt.Bitfield(nt.uint8,[null,null,null,null,null,"variation","crossStream","vertical"]),format:nt.uint8,tupleIndex:nt.uint16,subtable:Jr,padding:new nt.Reserved(nt.uint8,function(t){return t.length-t._currentOffset})}}),$r=new nt.VersionedStruct(nt.uint16,{0:{nTables:nt.uint16,tables:new nt.Array(Qr,"nTables")},1:{reserved:new nt.Reserved(nt.uint16),nTables:nt.uint32,tables:new nt.Array(Qr,"nTables")}}),ti=new nt.Struct({version:nt.uint16,numGlyphs:nt.uint16,yPels:new nt.Array(nt.uint8,"numGlyphs")}),ei=new nt.Struct({version:nt.uint16,fontNumber:nt.uint32,pitch:nt.uint16,xHeight:nt.uint16,style:nt.uint16,typeFamily:nt.uint16,capHeight:nt.uint16,symbolSet:nt.uint16,typeface:new nt.String(16),characterComplement:new nt.String(8),fileName:new nt.String(6),strokeWeight:new nt.String(1),widthType:new nt.String(1),serifStyle:nt.uint8,reserved:new nt.Reserved(nt.uint8)}),ni=new nt.Struct({bCharSet:nt.uint8,xRatio:nt.uint8,yStartRatio:nt.uint8,yEndRatio:nt.uint8}),ri=new nt.Struct({yPelHeight:nt.uint16,yMax:nt.int16,yMin:nt.int16}),ii=new nt.Struct({recs:nt.uint16,startsz:nt.uint8,endsz:nt.uint8,entries:new nt.Array(ri,"recs")}),oi=new nt.Struct({version:nt.uint16,numRecs:nt.uint16,numRatios:nt.uint16,ratioRanges:new nt.Array(ni,"numRatios"),offsets:new nt.Array(nt.uint16,"numRatios"),groups:new nt.Array(ii,"numRecs")}),ai=new nt.Struct({version:nt.uint16,ascent:nt.int16,descent:nt.int16,lineGap:nt.int16,advanceHeightMax:nt.int16,minTopSideBearing:nt.int16,minBottomSideBearing:nt.int16,yMaxExtent:nt.int16,caretSlopeRise:nt.int16,caretSlopeRun:nt.int16,caretOffset:nt.int16,reserved:new nt.Reserved(nt.int16,4),metricDataFormat:nt.int16,numberOfMetrics:nt.uint16}),si=new nt.Struct({advance:nt.uint16,bearing:nt.int16}),ui=new nt.Struct({metrics:new nt.LazyArray(si,function(t){return t.parent.vhea.numberOfMetrics}),bearings:new nt.LazyArray(nt.int16,function(t){return t.parent.maxp.numGlyphs-t.parent.vhea.numberOfMetrics})}),li=new nt.Fixed(16,"BE",14),ci=new nt.Struct({fromCoord:li,toCoord:li}),fi=new nt.Struct({pairCount:nt.uint16,correspondence:new nt.Array(ci,"pairCount")}),hi=new nt.Struct({version:nt.fixed32,axisCount:nt.uint32,segment:new nt.Array(fi,"axisCount")}),pi=function(){function t(e,n,r){lt(this,t),this.type=e,this.stream=n,this.parent=r,this.base=this.stream.pos,this._items=[]}return t.prototype.getItem=function(t){if(null==this._items[t]){var e=this.stream.pos;this.stream.pos=this.base+this.type.size(null,this.parent)*t,this._items[t]=this.type.decode(this.stream,this.parent),this.stream.pos=e}return this._items[t]},t.prototype.inspect=function(){return"[UnboundedArray "+this.type.constructor.name+"]"},t}(),di=function(t){function e(n){return lt(this,e),ht(this,t.call(this,n,0))}return pt(e,t),e.prototype.decode=function(t,e){return new pi(this.type,t,e)},e}(nt.Array),gi=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:nt.uint16;t=new(function(){function t(e){lt(this,t),this.type=e}return t.prototype.decode=function(t,e){return e=e.parent.parent,this.type.decode(t,e)},t.prototype.size=function(t,e){return e=e.parent.parent,this.type.size(t,e)},t.prototype.encode=function(t,e,n){return n=n.parent.parent,this.type.encode(t,e,n)},t}())(t);var e=new nt.Struct({unitSize:nt.uint16,nUnits:nt.uint16,searchRange:nt.uint16,entrySelector:nt.uint16,rangeShift:nt.uint16}),n=new nt.Struct({lastGlyph:nt.uint16,firstGlyph:nt.uint16,value:t}),r=new nt.Struct({lastGlyph:nt.uint16,firstGlyph:nt.uint16,values:new nt.Pointer(nt.uint16,new nt.Array(t,function(t){return t.lastGlyph-t.firstGlyph+1}),{type:"parent"})}),i=new nt.Struct({glyph:nt.uint16,value:t});return new nt.VersionedStruct(nt.uint16,{0:{values:new di(t)},2:{binarySearchHeader:e,segments:new nt.Array(n,function(t){return t.binarySearchHeader.nUnits})},4:{binarySearchHeader:e,segments:new nt.Array(r,function(t){return t.binarySearchHeader.nUnits})},6:{binarySearchHeader:e,segments:new nt.Array(i,function(t){return t.binarySearchHeader.nUnits})},8:{firstGlyph:nt.uint16,count:nt.uint16,values:new nt.Array(t,"count")}})},yi=new nt.VersionedStruct("format",{0:{deltas:new nt.Array(nt.int16,32)},1:{deltas:new nt.Array(nt.int16,32),mappingData:new gi(nt.uint16)},2:{standardGlyph:nt.uint16,controlPoints:new nt.Array(nt.uint16,32)},3:{standardGlyph:nt.uint16,controlPoints:new nt.Array(nt.uint16,32),mappingData:new gi(nt.uint16)}}),vi=new nt.Struct({version:nt.fixed32,format:nt.uint16,defaultBaseline:nt.uint16,subtable:yi}),bi=new nt.Struct({setting:nt.uint16,nameIndex:nt.int16,name:function(t){return t.parent.parent.parent.name.records.fontFeatures[t.nameIndex]}}),mi=new nt.Struct({feature:nt.uint16,nSettings:nt.uint16,settingTable:new nt.Pointer(nt.uint32,new nt.Array(bi,"nSettings"),{type:"parent"}),featureFlags:new nt.Bitfield(nt.uint8,[null,null,null,null,null,null,"hasDefault","exclusive"]),defaultSetting:nt.uint8,nameIndex:nt.int16,name:function(t){return t.parent.parent.name.records.fontFeatures[t.nameIndex]}}),wi=new nt.Struct({version:nt.fixed32,featureNameCount:nt.uint16,reserved1:new nt.Reserved(nt.uint16),reserved2:new nt.Reserved(nt.uint32),featureNames:new nt.Array(mi,"featureNameCount")}),xi=new nt.Struct({axisTag:new nt.String(4),minValue:nt.fixed32,defaultValue:nt.fixed32,maxValue:nt.fixed32,flags:nt.uint16,nameID:nt.uint16,name:function(t){return t.parent.parent.name.records.fontFeatures[t.nameID]}}),_i=new nt.Struct({nameID:nt.uint16,name:function(t){return t.parent.parent.name.records.fontFeatures[t.nameID]},flags:nt.uint16,coord:new nt.Array(nt.fixed32,function(t){return t.parent.axisCount}),postscriptNameID:new nt.Optional(nt.uint16,function(t){return t.parent.instanceSize-t._currentOffset>0})}),ki=new nt.Struct({version:nt.fixed32,offsetToData:nt.uint16,countSizePairs:nt.uint16,axisCount:nt.uint16,axisSize:nt.uint16,instanceCount:nt.uint16,instanceSize:nt.uint16,axis:new nt.Array(xi,"axisCount"),instance:new nt.Array(_i,"instanceCount")}),Si=new nt.Fixed(16,"BE",14),Ci=function(){function t(){lt(this,t)}return t.decode=function(t,e){return e.flags?t.readUInt32BE():2*t.readUInt16BE()},t}(),Ai=new nt.Struct({version:nt.uint16,reserved:new nt.Reserved(nt.uint16),axisCount:nt.uint16,globalCoordCount:nt.uint16,globalCoords:new nt.Pointer(nt.uint32,new nt.Array(new nt.Array(Si,"axisCount"),"globalCoordCount")),glyphCount:nt.uint16,flags:nt.uint16,offsetToData:nt.uint32,offsets:new nt.Array(new nt.Pointer(Ci,"void",{relativeTo:"offsetToData",allowNull:!1}),function(t){return t.glyphCount+1})}),Pi=new nt.Struct({length:nt.uint16,coverage:nt.uint16,subFeatureFlags:nt.uint32,stateTable:new l}),Ei=new nt.Struct({justClass:nt.uint32,beforeGrowLimit:nt.fixed32,beforeShrinkLimit:nt.fixed32,afterGrowLimit:nt.fixed32,afterShrinkLimit:nt.fixed32,growFlags:nt.uint16,shrinkFlags:nt.uint16}),Ii=new nt.Array(Ei,nt.uint32),Ti=new nt.VersionedStruct("actionType",{0:{lowerLimit:nt.fixed32,upperLimit:nt.fixed32,order:nt.uint16,glyphs:new nt.Array(nt.uint16,nt.uint16)},1:{addGlyph:nt.uint16},2:{substThreshold:nt.fixed32,addGlyph:nt.uint16,substGlyph:nt.uint16},3:{},4:{variationAxis:nt.uint32,minimumLimit:nt.fixed32,noStretchValue:nt.fixed32,maximumLimit:nt.fixed32},5:{flags:nt.uint16,glyph:nt.uint16}}),Oi=new nt.Struct({actionClass:nt.uint16,actionType:nt.uint16,actionLength:nt.uint32,actionData:Ti,padding:new nt.Reserved(nt.uint8,function(t){return t.actionLength-t._currentOffset})}),Li=new nt.Array(Oi,nt.uint32),Bi=new nt.Struct({lookupTable:new gi(new nt.Pointer(nt.uint16,Li))}),Ri=new nt.Struct({classTable:new nt.Pointer(nt.uint16,Pi,{type:"parent"}),wdcOffset:nt.uint16,postCompensationTable:new nt.Pointer(nt.uint16,Bi,{type:"parent"}),widthDeltaClusters:new gi(new nt.Pointer(nt.uint16,Ii,{type:"parent",relativeTo:"wdcOffset"}))}),Mi=new nt.Struct({version:nt.uint32,format:nt.uint16,horizontal:new nt.Pointer(nt.uint16,Ri),vertical:new nt.Pointer(nt.uint16,Ri)}),Fi={action:nt.uint16},zi={markIndex:nt.uint16,currentIndex:nt.uint16},Di={currentInsertIndex:nt.uint16,markedInsertIndex:nt.uint16},Ni=new nt.Struct({items:new di(new nt.Pointer(nt.uint32,new gi))}),Wi=new nt.VersionedStruct("type",{0:{stateTable:new u},1:{stateTable:new u(zi),substitutionTable:new nt.Pointer(nt.uint32,Ni)},2:{stateTable:new u(Fi),ligatureActions:new nt.Pointer(nt.uint32,new di(nt.uint32)),components:new nt.Pointer(nt.uint32,new di(nt.uint16)),ligatureList:new nt.Pointer(nt.uint32,new di(nt.uint16))},4:{lookupTable:new gi},5:{stateTable:new u(Di),
-insertionActions:new nt.Pointer(nt.uint32,new di(nt.uint16))}}),Ui=new nt.Struct({length:nt.uint32,coverage:nt.uint24,type:nt.uint8,subFeatureFlags:nt.uint32,table:Wi,padding:new nt.Reserved(nt.uint8,function(t){return t.length-t._currentOffset})}),ji=new nt.Struct({featureType:nt.uint16,featureSetting:nt.uint16,enableFlags:nt.uint32,disableFlags:nt.uint32}),Gi=new nt.Struct({defaultFlags:nt.uint32,chainLength:nt.uint32,nFeatureEntries:nt.uint32,nSubtables:nt.uint32,features:new nt.Array(ji,"nFeatureEntries"),subtables:new nt.Array(Ui,"nSubtables")}),Vi=new nt.Struct({version:nt.uint16,unused:new nt.Reserved(nt.uint16),nChains:nt.uint32,chains:new nt.Array(Gi,"nChains")}),Hi=new nt.Struct({left:nt.int16,top:nt.int16,right:nt.int16,bottom:nt.int16}),qi=new nt.Struct({version:nt.fixed32,format:nt.uint16,lookupTable:new gi(Hi)}),Zi={};Zi.cmap=Nt,Zi.head=Wt,Zi.hhea=Ut,Zi.hmtx=Gt,Zi.maxp=Vt,Zi.name=NameTable,Zi["OS/2"]=Jt,Zi.post=$t,Zi.fpgm=ee,Zi.loca=ne,Zi.prep=ie,Zi["cvt "]=te,Zi.glyf=oe,Zi["CFF "]=_n,Zi.CFF2=_n,Zi.VORG=Sn,Zi.EBLC=Mn,Zi.CBLC=Zi.EBLC,Zi.sbix=zn,Zi.COLR=Wn,Zi.CPAL=jn,Zi.BASE=$n,Zi.GDEF=ar,Zi.GPOS=kr,Zi.GSUB=Ir,Zi.JSTF=Fr,Zi.HVAR=Wr,Zi.DSIG=Gr,Zi.gasp=Hr,Zi.hdmx=Zr,Zi.kern=$r,Zi.LTSH=ti,Zi.PCLT=ei,Zi.VDMX=oi,Zi.vhea=ai,Zi.vmtx=ui,Zi.avar=hi,Zi.bsln=vi,Zi.feat=wi,Zi.fvar=ki,Zi.gvar=Ai,Zi.just=Mi,Zi.morx=Vi,Zi.opbd=qi;var Yi=new nt.Struct({tag:new nt.String(4),checkSum:nt.uint32,offset:new nt.Pointer(nt.uint32,"void",{type:"global"}),length:nt.uint32}),Xi=new nt.Struct({tag:new nt.String(4),numTables:nt.uint16,searchRange:nt.uint16,entrySelector:nt.uint16,rangeShift:nt.uint16,tables:new nt.Array(Yi,"numTables")});Xi.process=function(){for(var t={},e=this.tables,n=Array.isArray(e),r=0,e=n?e:it(e);;){var i;if(n){if(r>=e.length)break;i=e[r++]}else{if(r=e.next(),r.done)break;i=r.value}var o=i;t[o.tag]=o}this.tables=t},Xi.preEncode=function(t){var e=[];for(var n in this.tables){var r=this.tables[n];r&&e.push({tag:n,checkSum:0,offset:new nt.VoidPointer(Zi[n],r),length:Zi[n].size(r)})}this.tag="true",this.numTables=e.length,this.tables=e,this.searchRange=16*Math.floor(Math.log(this.numTables)/Math.LN2),this.entrySelector=Math.floor(this.searchRange/Math.LN2),this.rangeShift=16*this.numTables-this.searchRange};var Ki;try{var Ji=n(86)}catch(t){}var Qi=(Ki=function(){function t(e){if(lt(this,t),this.encoding=null,this.cmap=this.findSubtable(e,[[3,10],[0,6],[0,4],[3,1],[0,3],[0,2],[0,1],[0,0]]),!this.cmap&&Ji)for(var n=e.tables,r=Array.isArray(n),i=0,n=r?n:it(n);;){var o;if(r){if(i>=n.length)break;o=n[i++]}else{if(i=n.next(),i.done)break;o=i.value}var s=o,u=a(s.platformID,s.encodingID,s.table.language-1);Ji.encodingExists(u)&&(this.cmap=s.table,this.encoding=u)}if(!this.cmap)throw new Error("Could not find a supported cmap table");this.uvs=this.findSubtable(e,[[0,5]]),this.uvs&&14!==this.uvs.version&&(this.uvs=null)}return t.prototype.findSubtable=function(t,e){for(var n=e,r=Array.isArray(n),i=0,n=r?n:it(n);;){var o;if(r){if(i>=n.length)break;o=n[i++]}else{if(i=n.next(),i.done)break;o=i.value}for(var a=o,s=a[0],u=a[1],l=t.tables,c=Array.isArray(l),f=0,l=c?l:it(l);;){var h;if(c){if(f>=l.length)break;h=l[f++]}else{if(f=l.next(),f.done)break;h=f.value}var p=h;if(p.platformID===s&&p.encodingID===u)return p.table}}return null},t.prototype.lookup=function(t,e){if(this.encoding){var n=Ji.encode(bt(t),this.encoding);t=0;for(var r=0;r>1;if(to.endCode.get(u))){var l=o.idRangeOffset.get(u),c=void 0;if(0===l)c=t+o.idDelta.get(u);else{var f=l/2+(t-o.startCode.get(u))-(o.segCount-u);c=o.glyphIndexArray.get(f)||0,0!==c&&(c+=o.idDelta.get(u))}return 65535&c}a=u+1}}return 0;case 8:throw new Error("TODO: cmap format 8");case 6:case 10:return o.glyphIndices.get(t-o.firstCode)||0;case 12:case 13:for(var h=0,p=o.nGroups-1;h<=p;){var d=h+p>>1,g=o.groups.get(d);if(tg.endCharCode))return 12===o.version?g.glyphID+(t-g.startCharCode):g.glyphID;h=d+1}}return 0;case 14:throw new Error("TODO: cmap format 14");default:throw new Error("Unknown cmap format "+o.version)}},t.prototype.getVariationSelector=function(t,e){if(!this.uvs)return 0;var n=this.uvs.varSelectors.toArray(),r=c(n,function(t){return e-t.varSelector}),i=n[r];return-1!==r&&i.defaultUVS&&(r=c(i.defaultUVS,function(e){return te.startUnicodeValue+e.additionalCount?1:0})),-1!==r&&i.nonDefaultUVS&&-1!==(r=c(i.nonDefaultUVS,function(e){return t-e.unicodeValue}))?i.nonDefaultUVS[r].glyphID:0},t.prototype.getCharacterSet=function(){var t=this.cmap;switch(t.version){case 0:return f(0,t.codeMap.length);case 4:for(var e=[],n=t.endCode.toArray(),r=0;r=s.length)break;c=s[l++]}else{if(l=s.next(),l.done)break;c=l.value}var h=c;a.push.apply(a,f(h.startCharCode,h.endCharCode+1))}return a;case 14:throw new Error("TODO: cmap format 14");default:throw new Error("Unknown cmap format "+t.version)}},t.prototype.codePointsForGlyph=function(t){var e=this.cmap;switch(e.version){case 0:for(var n=[],r=0;r<256;r++)e.codeMap.get(r)===t&&n.push(r);return n;case 4:for(var i=[],o=0;o=g.length)break;b=g[v++]}else{if(v=g.next(),v.done)break;b=v.value}var m=b;t>=m.glyphID&&t<=m.glyphID+(m.endCharCode-m.startCharCode)&&d.push(m.startCharCode+(t-m.glyphID))}return d;case 13:for(var w=[],x=e.groups.toArray(),_=Array.isArray(x),k=0,x=_?x:it(x);;){var S;if(_){if(k>=x.length)break;S=x[k++]}else{if(k=x.next(),k.done)break;S=k.value}var C=S;t===C.glyphID&&w.push.apply(w,f(C.startCharCode,C.endCharCode+1))}return w;default:throw new Error("Unknown cmap format "+e.version)}},t}(),h(Ki.prototype,"getCharacterSet",[o],rt(Ki.prototype,"getCharacterSet"),Ki.prototype),h(Ki.prototype,"codePointsForGlyph",[o],rt(Ki.prototype,"codePointsForGlyph"),Ki.prototype),Ki),$i=function(){function t(e){lt(this,t),this.kern=e.kern}return t.prototype.process=function(t,e){for(var n=0;n=r.length)break;a=r[o++]}else{if(o=r.next(),o.done)break;a=o.value}var s=a;if(!s.coverage.crossStream){switch(s.version){case 0:if(!s.coverage.horizontal)continue;break;case 1:if(s.coverage.vertical||s.coverage.variation)continue;break;default:throw new Error("Unsupported kerning table version "+s.version)}var u=0,l=s.subtable;switch(s.format){case 0:var f=c(l.pairs,function(n){return t-n.left||e-n.right});f>=0&&(u=l.pairs[f].value);break;case 2:var h=0,p=0;h=t>=l.leftTable.firstGlyph&&t=l.rightTable.firstGlyph&&e=l.glyphCount||e>=l.glyphCount)return 0;u=l.kernValue[l.kernIndex[l.leftClass[t]*l.rightClassCount+l.rightClass[e]]];break;default:throw new Error("Unsupported kerning sub-table format "+s.format)}s.coverage.override?n=u:n+=u}}return n},t}(),to=function(){function t(e){lt(this,t),this.font=e}return t.prototype.positionGlyphs=function(t,e){for(var n=0,r=0,i=0;i1&&(o.minX+=(i.codePoints.length-1)*o.width/i.codePoints.length);for(var a=-e[n].xAdvance,s=0,u=this.font.unitsPerEm/16,l=n+1;l<=r;l++){var c=t[l],f=c.cbox,h=e[l],p=this.getCombiningClass(c.codePoints[0]);if("Not_Reordered"!==p){switch(h.xOffset=h.yOffset=0,p){case"Double_Above":case"Double_Below":h.xOffset+=o.minX-f.width/2-f.minX;break;case"Attached_Below_Left":case"Below_Left":case"Above_Left":h.xOffset+=o.minX-f.minX;break;case"Attached_Above_Right":case"Below_Right":case"Above_Right":h.xOffset+=o.maxX-f.width-f.minX;break;default:h.xOffset+=o.minX+(o.width-f.width)/2-f.minX}switch(p){case"Double_Below":case"Below_Left":case"Below":case"Below_Right":case"Attached_Below_Left":case"Attached_Below":"Attached_Below_Left"!==p&&"Attached_Below"!==p||(o.minY+=u),h.yOffset=-o.minY-f.maxY,o.minY+=f.height;break;case"Double_Above":case"Above_Left":case"Above":case"Above_Right":case"Attached_Above":case"Attached_Above_Right":"Attached_Above"!==p&&"Attached_Above_Right"!==p||(o.maxY+=u),h.yOffset=o.maxY-f.minY,o.maxY+=f.height}h.xAdvance=h.yAdvance=0,h.xOffset+=a,h.yOffset+=s}else a-=h.xAdvance,s-=h.yAdvance}},t.prototype.getCombiningClass=function(t){var e=xt.getCombiningClass(t);if(3584==(-256&t))if("Not_Reordered"===e)switch(t){case 3633:case 3636:case 3637:case 3638:case 3639:case 3655:case 3660:case 3645:case 3662:return"Above_Right";case 3761:case 3764:case 3765:case 3766:case 3767:case 3771:case 3788:case 3789:return"Above";case 3772:return"Below"}else if(3642===t)return"Below_Right";switch(e){case"CCC10":case"CCC11":case"CCC12":case"CCC13":case"CCC14":case"CCC15":case"CCC16":case"CCC17":case"CCC18":case"CCC20":case"CCC22":return"Below";case"CCC23":return"Attached_Above";case"CCC24":return"Above_Right";case"CCC25":case"CCC19":return"Above_Left";case"CCC26":return"Above";case"CCC21":break;case"CCC27":case"CCC28":case"CCC30":case"CCC31":case"CCC33":case"CCC34":case"CCC35":case"CCC36":return"Above";case"CCC29":case"CCC32":return"Below";case"CCC103":return"Below_Right";case"CCC107":return"Above_Right";case"CCC118":return"Below";case"CCC122":return"Above";case"CCC129":case"CCC132":return"Below";case"CCC130":return"Above"}return e},t}(),eo=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1/0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1/0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-1/0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1/0;lt(this,t),this.minX=e,this.minY=n,this.maxX=r,this.maxY=i}return t.prototype.addPoint=function(t,e){tthis.maxX&&(this.maxX=t),e>this.maxY&&(this.maxY=e)},t.prototype.copy=function(){return new t(this.minX,this.minY,this.maxX,this.maxY)},ct(t,[{key:"width",get:function(){return this.maxX-this.minX}},{key:"height",get:function(){return this.maxY-this.minY}}]),t}(),no={Caucasian_Albanian:"aghb",Arabic:"arab",Imperial_Aramaic:"armi",Armenian:"armn",Avestan:"avst",Balinese:"bali",Bamum:"bamu",Bassa_Vah:"bass",Batak:"batk",Bengali:["bng2","beng"],Bopomofo:"bopo",Brahmi:"brah",Braille:"brai",Buginese:"bugi",Buhid:"buhd",Chakma:"cakm",Canadian_Aboriginal:"cans",Carian:"cari",Cham:"cham",Cherokee:"cher",Coptic:"copt",Cypriot:"cprt",Cyrillic:"cyrl",Devanagari:["dev2","deva"],Deseret:"dsrt",Duployan:"dupl",Egyptian_Hieroglyphs:"egyp",Elbasan:"elba",Ethiopic:"ethi",Georgian:"geor",Glagolitic:"glag",Gothic:"goth",Grantha:"gran",Greek:"grek",Gujarati:["gjr2","gujr"],Gurmukhi:["gur2","guru"],Hangul:"hang",Han:"hani",Hanunoo:"hano",Hebrew:"hebr",Hiragana:"hira",Pahawh_Hmong:"hmng",Katakana_Or_Hiragana:"hrkt",Old_Italic:"ital",Javanese:"java",Kayah_Li:"kali",Katakana:"kana",Kharoshthi:"khar",Khmer:"khmr",Khojki:"khoj",Kannada:["knd2","knda"],Kaithi:"kthi",Tai_Tham:"lana",Lao:"lao ",Latin:"latn",Lepcha:"lepc",Limbu:"limb",Linear_A:"lina",Linear_B:"linb",Lisu:"lisu",Lycian:"lyci",Lydian:"lydi",Mahajani:"mahj",Mandaic:"mand",Manichaean:"mani",Mende_Kikakui:"mend",Meroitic_Cursive:"merc",Meroitic_Hieroglyphs:"mero",Malayalam:["mlm2","mlym"],Modi:"modi",Mongolian:"mong",Mro:"mroo",Meetei_Mayek:"mtei",Myanmar:["mym2","mymr"],Old_North_Arabian:"narb",Nabataean:"nbat",Nko:"nko ",Ogham:"ogam",Ol_Chiki:"olck",Old_Turkic:"orkh",Oriya:["ory2","orya"],Osmanya:"osma",Palmyrene:"palm",Pau_Cin_Hau:"pauc",Old_Permic:"perm",Phags_Pa:"phag",Inscriptional_Pahlavi:"phli",Psalter_Pahlavi:"phlp",Phoenician:"phnx",Miao:"plrd",Inscriptional_Parthian:"prti",Rejang:"rjng",Runic:"runr",Samaritan:"samr",Old_South_Arabian:"sarb",Saurashtra:"saur",Shavian:"shaw",Sharada:"shrd",Siddham:"sidd",Khudawadi:"sind",Sinhala:"sinh",Sora_Sompeng:"sora",Sundanese:"sund",Syloti_Nagri:"sylo",Syriac:"syrc",Tagbanwa:"tagb",Takri:"takr",Tai_Le:"tale",New_Tai_Lue:"talu",Tamil:["tml2","taml"],Tai_Viet:"tavt",Telugu:["tel2","telu"],Tifinagh:"tfng",Tagalog:"tglg",Thaana:"thaa",Thai:"thai",Tibetan:"tibt",Tirhuta:"tirh",Ugaritic:"ugar",Vai:"vai ",Warang_Citi:"wara",Old_Persian:"xpeo",Cuneiform:"xsux",Yi:"yi ",Inherited:"zinh",Common:"zyyy",Unknown:"zzzz"},ro={};for(var io in no){var oo=no[io];if(Array.isArray(oo))for(var ao=oo,so=Array.isArray(ao),uo=0,ao=so?ao:it(ao);;){var lo;if(so){if(uo>=ao.length)break;lo=ao[uo++]}else{if(uo=ao.next(),uo.done)break;lo=uo.value}var co=lo;ro[co]=io}else ro[oo]=io}for(var fo={arab:!0,hebr:!0,syrc:!0,thaa:!0,cprt:!0,khar:!0,phnx:!0,"nko ":!0,lydi:!0,avst:!0,armi:!0,phli:!0,prti:!0,sarb:!0,orkh:!0,samr:!0,mand:!0,merc:!0,mero:!0,mani:!0,mend:!0,nbat:!0,narb:!0,palm:!0,phlp:!0},ho=function(){function t(e,n,r,i,o){if(lt(this,t),this.glyphs=e,this.positions=null,this.script=r,this.language=i||null,this.direction=o||y(r),this.features={},Array.isArray(n))for(var a=n,s=Array.isArray(a),u=0,a=s?a:it(a);;){var l;if(s){if(u>=a.length)break;l=a[u++]}else{if(u=a.next(),u.done)break;l=u.value}var c=l;this.features[c]=!0}else"object"===(void 0===n?"undefined":st(n))&&(this.features=n)}return ct(t,[{key:"advanceWidth",get:function(){for(var t=0,e=this.positions,n=Array.isArray(e),r=0,e=n?e:it(e);;){var i;if(n){if(r>=e.length)break;i=e[r++]}else{if(r=e.next(),r.done)break;i=r.value}t+=i.xAdvance}return t}},{key:"advanceHeight",get:function(){for(var t=0,e=this.positions,n=Array.isArray(e),r=0,e=n?e:it(e);;){var i;if(n){if(r>=e.length)break;i=e[r++]}else{if(r=e.next(),r.done)break;i=r.value}t+=i.yAdvance}return t}},{key:"bbox",get:function(){for(var t=new eo,e=0,n=0,r=0;r0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;lt(this,t),this.xAdvance=e,this.yAdvance=n,this.xOffset=r,this.yOffset=i},go={allTypographicFeatures:{code:0,exclusive:!1,allTypeFeatures:0},ligatures:{code:1,exclusive:!1,requiredLigatures:0,commonLigatures:2,rareLigatures:4,rebusPictures:8,diphthongLigatures:10,squaredLigatures:12,abbrevSquaredLigatures:14,symbolLigatures:16,contextualLigatures:18,historicalLigatures:20},cursiveConnection:{code:2,exclusive:!0,unconnected:0,partiallyConnected:1,cursive:2},letterCase:{code:3,exclusive:!0},verticalSubstitution:{code:4,exclusive:!1,substituteVerticalForms:0},linguisticRearrangement:{code:5,exclusive:!1,linguisticRearrangement:0},numberSpacing:{code:6,exclusive:!0,monospacedNumbers:0,proportionalNumbers:1,thirdWidthNumbers:2,quarterWidthNumbers:3},smartSwash:{code:8,exclusive:!1,wordInitialSwashes:0,wordFinalSwashes:2,nonFinalSwashes:8},diacritics:{code:9,exclusive:!0,showDiacritics:0,hideDiacritics:1,decomposeDiacritics:2},verticalPosition:{code:10,exclusive:!0,normalPosition:0,superiors:1,inferiors:2,ordinals:3,scientificInferiors:4},fractions:{code:11,exclusive:!0,noFractions:0,verticalFractions:1,diagonalFractions:2},overlappingCharacters:{code:13,exclusive:!1,preventOverlap:0},typographicExtras:{code:14,exclusive:!1,slashedZero:4},mathematicalExtras:{code:15,exclusive:!1,mathematicalGreek:10},ornamentSets:{code:16,exclusive:!0,noOrnaments:0,dingbats:1,piCharacters:2,fleurons:3,decorativeBorders:4,internationalSymbols:5,mathSymbols:6},characterAlternatives:{code:17,exclusive:!0,noAlternates:0},designComplexity:{code:18,exclusive:!0,designLevel1:0,designLevel2:1,designLevel3:2,designLevel4:3,designLevel5:4},styleOptions:{code:19,exclusive:!0,noStyleOptions:0,displayText:1,engravedText:2,illuminatedCaps:3,titlingCaps:4,tallCaps:5},characterShape:{code:20,exclusive:!0,traditionalCharacters:0,simplifiedCharacters:1,JIS1978Characters:2,JIS1983Characters:3,JIS1990Characters:4,traditionalAltOne:5,traditionalAltTwo:6,traditionalAltThree:7,traditionalAltFour:8,traditionalAltFive:9,expertCharacters:10,JIS2004Characters:11,hojoCharacters:12,NLCCharacters:13,traditionalNamesCharacters:14},numberCase:{code:21,exclusive:!0,lowerCaseNumbers:0,upperCaseNumbers:1},textSpacing:{code:22,exclusive:!0,proportionalText:0,monospacedText:1,halfWidthText:2,thirdWidthText:3,quarterWidthText:4,altProportionalText:5,altHalfWidthText:6},transliteration:{code:23,exclusive:!0,noTransliteration:0},annotation:{code:24,exclusive:!0,noAnnotation:0,boxAnnotation:1,roundedBoxAnnotation:2,circleAnnotation:3,invertedCircleAnnotation:4,parenthesisAnnotation:5,periodAnnotation:6,romanNumeralAnnotation:7,diamondAnnotation:8,invertedBoxAnnotation:9,invertedRoundedBoxAnnotation:10},kanaSpacing:{code:25,exclusive:!0,fullWidthKana:0,proportionalKana:1},ideographicSpacing:{code:26,exclusive:!0,fullWidthIdeographs:0,proportionalIdeographs:1,halfWidthIdeographs:2},unicodeDecomposition:{code:27,exclusive:!1,canonicalComposition:0,compatibilityComposition:2,transcodingComposition:4},rubyKana:{code:28,exclusive:!1,rubyKana:2},CJKSymbolAlternatives:{code:29,exclusive:!0,noCJKSymbolAlternatives:0,CJKSymbolAltOne:1,CJKSymbolAltTwo:2,CJKSymbolAltThree:3,CJKSymbolAltFour:4,CJKSymbolAltFive:5},ideographicAlternatives:{code:30,exclusive:!0,noIdeographicAlternatives:0,ideographicAltOne:1,ideographicAltTwo:2,ideographicAltThree:3,ideographicAltFour:4,ideographicAltFive:5},CJKVerticalRomanPlacement:{code:31,exclusive:!0,CJKVerticalRomanCentered:0,CJKVerticalRomanHBaseline:1},italicCJKRoman:{code:32,exclusive:!1,CJKItalicRoman:2},caseSensitiveLayout:{code:33,exclusive:!1,caseSensitiveLayout:0,caseSensitiveSpacing:2},alternateKana:{code:34,exclusive:!1,alternateHorizKana:0,alternateVertKana:2},stylisticAlternatives:{code:35,exclusive:!1,noStylisticAlternates:0,stylisticAltOne:2,stylisticAltTwo:4,stylisticAltThree:6,stylisticAltFour:8,stylisticAltFive:10,stylisticAltSix:12,stylisticAltSeven:14,stylisticAltEight:16,stylisticAltNine:18,stylisticAltTen:20,stylisticAltEleven:22,stylisticAltTwelve:24,stylisticAltThirteen:26,stylisticAltFourteen:28,stylisticAltFifteen:30,stylisticAltSixteen:32,stylisticAltSeventeen:34,stylisticAltEighteen:36,stylisticAltNineteen:38,stylisticAltTwenty:40},contextualAlternates:{code:36,exclusive:!1,contextualAlternates:0,swashAlternates:2,contextualSwashAlternates:4},lowerCase:{code:37,exclusive:!0,defaultLowerCase:0,lowerCaseSmallCaps:1,lowerCasePetiteCaps:2},upperCase:{code:38,exclusive:!0,defaultUpperCase:0,upperCaseSmallCaps:1,upperCasePetiteCaps:2},languageTag:{code:39,exclusive:!0},CJKRomanSpacing:{code:103,exclusive:!0,halfWidthCJKRoman:0,proportionalCJKRoman:1,defaultCJKRoman:2,fullWidthCJKRoman:3}},yo=function(t,e){return[go[t].code,go[t][e]]},vo={rlig:yo("ligatures","requiredLigatures"),clig:yo("ligatures","contextualLigatures"),dlig:yo("ligatures","rareLigatures"),hlig:yo("ligatures","historicalLigatures"),liga:yo("ligatures","commonLigatures"),hist:yo("ligatures","historicalLigatures"),smcp:yo("lowerCase","lowerCaseSmallCaps"),pcap:yo("lowerCase","lowerCasePetiteCaps"),frac:yo("fractions","diagonalFractions"),dnom:yo("fractions","diagonalFractions"),numr:yo("fractions","diagonalFractions"),afrc:yo("fractions","verticalFractions"),case:yo("caseSensitiveLayout","caseSensitiveLayout"),ccmp:yo("unicodeDecomposition","canonicalComposition"),cpct:yo("CJKVerticalRomanPlacement","CJKVerticalRomanCentered"),valt:yo("CJKVerticalRomanPlacement","CJKVerticalRomanCentered"),swsh:yo("contextualAlternates","swashAlternates"),cswh:yo("contextualAlternates","contextualSwashAlternates"),curs:yo("cursiveConnection","cursive"),c2pc:yo("upperCase","upperCasePetiteCaps"),c2sc:yo("upperCase","upperCaseSmallCaps"),init:yo("smartSwash","wordInitialSwashes"),fin2:yo("smartSwash","wordFinalSwashes"),medi:yo("smartSwash","nonFinalSwashes"),med2:yo("smartSwash","nonFinalSwashes"),fin3:yo("smartSwash","wordFinalSwashes"),fina:yo("smartSwash","wordFinalSwashes"),pkna:yo("kanaSpacing","proportionalKana"),half:yo("textSpacing","halfWidthText"),halt:yo("textSpacing","altHalfWidthText"),hkna:yo("alternateKana","alternateHorizKana"),vkna:yo("alternateKana","alternateVertKana"),ital:yo("italicCJKRoman","CJKItalicRoman"),lnum:yo("numberCase","upperCaseNumbers"),onum:yo("numberCase","lowerCaseNumbers"),mgrk:yo("mathematicalExtras","mathematicalGreek"),calt:yo("contextualAlternates","contextualAlternates"),vrt2:yo("verticalSubstitution","substituteVerticalForms"),vert:yo("verticalSubstitution","substituteVerticalForms"),tnum:yo("numberSpacing","monospacedNumbers"),pnum:yo("numberSpacing","proportionalNumbers"),sups:yo("verticalPosition","superiors"),subs:yo("verticalPosition","inferiors"),ordn:yo("verticalPosition","ordinals"),pwid:yo("textSpacing","proportionalText"),hwid:yo("textSpacing","halfWidthText"),qwid:yo("textSpacing","quarterWidthText"),twid:yo("textSpacing","thirdWidthText"),fwid:yo("textSpacing","proportionalText"),palt:yo("textSpacing","altProportionalText"),trad:yo("characterShape","traditionalCharacters"),smpl:yo("characterShape","simplifiedCharacters"),jp78:yo("characterShape","JIS1978Characters"),jp83:yo("characterShape","JIS1983Characters"),jp90:yo("characterShape","JIS1990Characters"),jp04:yo("characterShape","JIS2004Characters"),expt:yo("characterShape","expertCharacters"),hojo:yo("characterShape","hojoCharacters"),nlck:yo("characterShape","NLCCharacters"),tnam:yo("characterShape","traditionalNamesCharacters"),ruby:yo("rubyKana","rubyKana"),titl:yo("styleOptions","titlingCaps"),zero:yo("typographicExtras","slashedZero"),ss01:yo("stylisticAlternatives","stylisticAltOne"),ss02:yo("stylisticAlternatives","stylisticAltTwo"),ss03:yo("stylisticAlternatives","stylisticAltThree"),ss04:yo("stylisticAlternatives","stylisticAltFour"),ss05:yo("stylisticAlternatives","stylisticAltFive"),ss06:yo("stylisticAlternatives","stylisticAltSix"),ss07:yo("stylisticAlternatives","stylisticAltSeven"),ss08:yo("stylisticAlternatives","stylisticAltEight"),ss09:yo("stylisticAlternatives","stylisticAltNine"),ss10:yo("stylisticAlternatives","stylisticAltTen"),ss11:yo("stylisticAlternatives","stylisticAltEleven"),ss12:yo("stylisticAlternatives","stylisticAltTwelve"),ss13:yo("stylisticAlternatives","stylisticAltThirteen"),ss14:yo("stylisticAlternatives","stylisticAltFourteen"),ss15:yo("stylisticAlternatives","stylisticAltFifteen"),ss16:yo("stylisticAlternatives","stylisticAltSixteen"),ss17:yo("stylisticAlternatives","stylisticAltSeventeen"),ss18:yo("stylisticAlternatives","stylisticAltEighteen"),ss19:yo("stylisticAlternatives","stylisticAltNineteen"),ss20:yo("stylisticAlternatives","stylisticAltTwenty")},bo=1;bo<=99;bo++)vo["cv"+("00"+bo).slice(-2)]=[go.characterAlternatives.code,bo];var mo={};for(var wo in vo){var xo=vo[wo];null==mo[xo[0]]&&(mo[xo[0]]={}),mo[xo[0]][xo[1]]=wo}for(var _o,ko,So,Co,Ao,Po,Eo,Io,To,Oo,Lo=(_o=function(){function t(e){lt(this,t),this.table=e}return t.prototype.lookup=function(t){switch(this.table.version){case 0:return this.table.values.getItem(t);case 2:case 4:for(var e=0,n=this.table.binarySearchHeader.nUnits-1;e<=n;){var r=e+n>>1,i=this.table.segments[r];if(65535===i.firstGlyph)return null;if(ti.lastGlyph))return 2===this.table.version?i.value:i.values[t-i.firstGlyph];e=r+1}}return null;case 6:for(var o=0,a=this.table.binarySearchHeader.nUnits-1;o<=a;){var r=o+a>>1,i=this.table.segments[r];if(65535===i.glyph)return null;if(ti.glyph))return i.value;o=r+1}}return null;case 8:return this.table.values[t-this.table.firstGlyph];default:throw new Error("Unknown lookup table format: "+this.table.version)}},t.prototype.glyphsForValue=function(t){var e=[];switch(this.table.version){case 2:case 4:for(var n=this.table.segments,r=Array.isArray(n),i=0,n=r?n:it(n);;){var o;if(r){if(i>=n.length)break;o=n[i++]}else{if(i=n.next(),i.done)break;o=i.value}var a=o;if(2===this.table.version&&a.value===t)e.push.apply(e,f(a.firstGlyph,a.lastGlyph+1));else for(var s=0;s=u.length)break;h=u[c++]}else{if(c=u.next(),c.done)break;h=c.value}var p=h;p.value===t&&e.push(p.glyph)}break;case 8:for(var d=0;d=-1;){var a=null,s=1,u=!0;i===t.length||-1===i?s=0:(a=t[i],65535===a.id?s=2:null==(s=this.lookupTable.lookup(a.id))&&(s=1));var l=this.stateTable.stateArray.getItem(r),c=l[s],f=this.stateTable.entryTable.getItem(c);0!==s&&2!==s&&(n(a,f,i),u=!(16384&f.flags)),r=f.newState,u&&(i+=o)}return t},t.prototype.traverse=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new wt;if(!n.has(e)){n.add(e);for(var r=this.stateTable,i=r.nClasses,o=r.stateArray,a=r.entryTable,s=o.getItem(e),u=4;u=f.length)break;d=f[p++]}else{if(p=f.next(),p.done)break;d=p.value}var g=d;t.enter&&t.enter(g,c),0!==c.newState&&this.traverse(t,c.newState,n),t.exit&&t.exit(g,c)}}},t}(),Ro=(ko=function(){function t(e){lt(this,t),this.processIndicRearragement=this.processIndicRearragement.bind(this),this.processContextualSubstitution=this.processContextualSubstitution.bind(this),this.processLigature=this.processLigature.bind(this),this.processNoncontextualSubstitutions=this.processNoncontextualSubstitutions.bind(this),this.processGlyphInsertion=this.processGlyphInsertion.bind(this),this.font=e,this.morx=e.morx,this.inputCache=null}return t.prototype.process=function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.morx.chains,r=Array.isArray(n),i=0,n=r?n:it(n);;){var o;if(r){if(i>=n.length)break;o=n[i++]}else{if(i=n.next(),i.done)break;o=i.value}for(var a=o,s=a.defaultFlags,u=a.features,l=Array.isArray(u),c=0,u=l?u:it(u);;){var f;if(l){if(c>=u.length)break;f=u[c++]}else{if(c=u.next(),c.done)break;f=c.value}var h=f,p=void 0;(p=e[h.featureType])&&p[h.featureSetting]&&(s&=h.disableFlags,s|=h.enableFlags)}for(var d=a.subtables,g=Array.isArray(d),y=0,d=g?d:it(d);;){var v;if(g){if(y>=d.length)break;v=d[y++]}else{if(y=d.next(),y.done)break;v=y.value}var b=v;b.subFeatureFlags&s&&this.processSubtable(b,t)}}for(var m=t.length-1;m>=0;)65535===t[m].id&&t.splice(m,1),m--;return t},t.prototype.processSubtable=function(t,e){if(this.subtable=t,this.glyphs=e,4===this.subtable.type)return void this.processNoncontextualSubstitutions(this.subtable,this.glyphs);this.ligatureStack=[],this.markedGlyph=null,this.firstGlyph=null,this.lastGlyph=null,this.markedIndex=null;var n=this.getStateMachine(t),r=this.getProcessor(),i=!!(4194304&this.subtable.coverage);return n.process(this.glyphs,i,r)},t.prototype.getStateMachine=function(t){return new Bo(t.table.stateTable)},t.prototype.getProcessor=function(){switch(this.subtable.type){case 0:return this.processIndicRearragement;case 1:return this.processContextualSubstitution;case 2:return this.processLigature;case 4:return this.processNoncontextualSubstitutions;case 5:return this.processGlyphInsertion;default:throw new Error("Invalid morx subtable type: "+this.subtable.type)}},t.prototype.processIndicRearragement=function(t,e,n){32768&e.flags&&(this.firstGlyph=n),8192&e.flags&&(this.lastGlyph=n),x(this.glyphs,15&e.flags,this.firstGlyph,this.lastGlyph)},t.prototype.processContextualSubstitution=function(t,e,n){var r=this.subtable.table.substitutionTable.items;if(65535!==e.markIndex){var i=r.getItem(e.markIndex),o=new Lo(i);t=this.glyphs[this.markedGlyph];var a=o.lookup(t.id);a&&(this.glyphs[this.markedGlyph]=this.font.getGlyph(a,t.codePoints))}if(65535!==e.currentIndex){var s=r.getItem(e.currentIndex),u=new Lo(s);t=this.glyphs[n];var a=u.lookup(t.id);a&&(this.glyphs[n]=this.font.getGlyph(a,t.codePoints))}32768&e.flags&&(this.markedGlyph=n)},t.prototype.processLigature=function(t,e,n){if(32768&e.flags&&this.ligatureStack.push(n),8192&e.flags){for(var r,i=this.subtable.table.ligatureActions,o=this.subtable.table.components,a=this.subtable.table.ligatureList,s=e.action,u=!1,l=0,c=[],f=[];!u;){var h,p=this.ligatureStack.pop();(h=c).unshift.apply(h,this.glyphs[p].codePoints);var d=i.getItem(s++);u=!!(2147483648&d);var g=!!(1073741824&d),y=(1073741823&d)<<2>>2;y+=this.glyphs[p].id;if(l+=o.getItem(y),u||g){var v=a.getItem(l);this.glyphs[p]=this.font.getGlyph(v,c),f.push(p),l=0,c=[]}else this.glyphs[p]=this.font.getGlyph(65535)}(r=this.ligatureStack).push.apply(r,f)}},t.prototype.processNoncontextualSubstitutions=function(t,e,n){var r=new Lo(t.table.lookupTable);for(n=0;n>>5,i=!!(1024&e.flags);this._insertGlyphs(this.markedIndex,e.markedInsertIndex,r,i)}if(65535!==e.currentInsertIndex){var o=(992&e.flags)>>>5,a=!!(2048&e.flags);this._insertGlyphs(n,e.currentInsertIndex,o,a)}},t.prototype.getSupportedFeatures=function(){for(var t=[],e=this.morx.chains,n=Array.isArray(e),r=0,e=n?e:it(e);;){var i;if(n){if(r>=e.length)break;i=e[r++]}else{if(r=e.next(),r.done)break;i=r.value}for(var o=i,a=o.features,s=Array.isArray(a),u=0,a=s?a:it(a);;){var l;if(s){if(u>=a.length)break;l=a[u++]}else{if(u=a.next(),u.done)break;l=u.value}var c=l;t.push([c.featureType,c.featureSetting])}}return t},t.prototype.generateInputs=function(t){return this.inputCache||this.generateInputCache(),this.inputCache[t]||[]},t.prototype.generateInputCache=function(){this.inputCache={};for(var t=this.morx.chains,e=Array.isArray(t),n=0,t=e?t:it(t);;){var r;if(e){if(n>=t.length)break;r=t[n++]
-}else{if(n=t.next(),n.done)break;r=n.value}for(var i=r,o=i.defaultFlags,a=i.subtables,s=Array.isArray(a),u=0,a=s?a:it(a);;){var l;if(s){if(u>=a.length)break;l=a[u++]}else{if(u=a.next(),u.done)break;l=u.value}var c=l;c.subFeatureFlags&o&&this.generateInputsForSubtable(c)}}},t.prototype.generateInputsForSubtable=function(t){var e=this;if(2===t.type){if(!!(4194304&t.coverage))throw new Error("Reverse subtable, not supported.");this.subtable=t,this.ligatureStack=[];var n=this.getStateMachine(t),r=this.getProcessor(),i=[],o=[];this.glyphs=[],n.traverse({enter:function(t,n){var a=e.glyphs;o.push({glyphs:a.slice(),ligatureStack:e.ligatureStack.slice()});var s=e.font.getGlyph(t);i.push(s),a.push(i[i.length-1]),r(a[a.length-1],n,a.length-1);for(var u=0,l=0,c=0;c=r.length)break;a=r[o++]}else{if(o=r.next(),o.done)break;a=o.value}var s=a;this._addStrings(s,0,n,"")}return n},t.prototype._addStrings=function(t,e,n,r){for(var i=this.font._cmapProcessor.codePointsForGlyph(t[e]),o=i,a=Array.isArray(o),s=0,o=a?o:it(o);;){var u;if(a){if(s>=o.length)break;u=o[s++]}else{if(s=o.next(),s.done)break;u=s.value}var l=u,c=r+bt(l);e=i.length)break;s=i[a++]}else{if(a=i.next(),a.done)break;s=a.value}var u=s;null==this.allFeatures[u]&&(r.push(u),this.allFeatures[u]=n,e&&(this.globalFeatures[u]=!0))}},t.prototype.add=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(0===this.stages.length&&this.stages.push([]),"string"==typeof t&&(t=[t]),Array.isArray(t))this._addFeatures(t,e);else{if("object"!==(void 0===t?"undefined":st(t)))throw new Error("Unsupported argument to ShapingPlan#add");this._addFeatures(t.global||[],!0),this._addFeatures(t.local||[],!1)}},t.prototype.addStage=function(t,e){"function"==typeof t?this.stages.push(t,[]):(this.stages.push([]),this.add(t,e))},t.prototype.setFeatureOverrides=function(t){if(Array.isArray(t))this.add(t);else if("object"===(void 0===t?"undefined":st(t)))for(var e in t)if(t[e])this.add(e);else if(null!=this.allFeatures[e]){var n=this.stages[this.allFeatures[e]];n.splice(n.indexOf(e),1),delete this.allFeatures[e],delete this.globalFeatures[e]}},t.prototype.assignGlobalFeatures=function(t){for(var e=t,n=Array.isArray(e),r=0,e=n?e:it(e);;){var i;if(n){if(r>=e.length)break;i=e[r++]}else{if(r=e.next(),r.done)break;i=r.value}var o=i;for(var a in this.globalFeatures)o.features[a]=!0}},t.prototype.process=function(t,e,n){for(var r=this.stages,i=Array.isArray(r),o=0,r=i?r:it(r);;){var a;if(i){if(o>=r.length)break;a=r[o++]}else{if(o=r.next(),o.done)break;a=o.value}var s=a;"function"==typeof s?n||s(this.font,e,this):s.length>0&&t.applyFeatures(s,e,n)}},t}(),zo=["rvrn"],Do=["ccmp","locl","rlig","mark","mkmk"],No=["frac","numr","dnom"],Wo=["calt","clig","liga","rclt","curs","kern"],Uo={ltr:["ltra","ltrm"],rtl:["rtla","rtlm"]},jo=(Co=So=function(){function t(){lt(this,t)}return t.plan=function(t,e,n){this.planPreprocessing(t),this.planFeatures(t),this.planPostprocessing(t,n),t.assignGlobalFeatures(e),this.assignFeatures(t,e)},t.planPreprocessing=function(t){t.add({global:[].concat(zo,Uo[t.direction]),local:No})},t.planFeatures=function(t){},t.planPostprocessing=function(t,e){t.add([].concat(Do,Wo)),t.setFeatureOverrides(e)},t.assignFeatures=function(t,e){for(var n=0;n=0&&xt.isDigit(e[i].codePoints[0]);)e[i].features.numr=!0,e[i].features.frac=!0,i--;for(;o0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.options=t,this.flags=t.flags||{},this.markAttachmentType=t.markAttachmentType||0,this.index=e},t.prototype.shouldIgnore=function(t){return this.flags.ignoreMarks&&t.isMark||this.flags.ignoreBaseGlyphs&&t.isBase||this.flags.ignoreLigatures&&t.isLigature||this.markAttachmentType&&t.isMark&&t.markAttachmentType!==this.markAttachmentType},t.prototype.move=function(t){for(this.index+=t;0<=this.index&&this.indexthis.index||this.index>=this.glyphs.length?null:this.glyphs[this.index]},t.prototype.next=function(){return this.move(1)},t.prototype.prev=function(){return this.move(-1)},t.prototype.peek=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=this.index,n=this.increment(t);return this.index=e,n},t.prototype.peekIndex=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=this.index;this.increment(t);var n=this.index;return this.index=e,n},t.prototype.increment=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=t<0?-1:1;for(t=Math.abs(t);t--;)this.move(e);return this.glyphs[this.index]},ct(t,[{key:"cur",get:function(){return this.glyphs[this.index]||null}}]),t}(),Jo=["DFLT","dflt","latn"],Qo=(function(){function t(e,n){lt(this,t),this.font=e,this.table=n,this.script=null,this.scriptTag=null,this.language=null,this.languageTag=null,this.features={},this.lookups={},this.variationsIndex=e._variationProcessor?this.findVariationsIndex(e._variationProcessor.normalizedCoords):-1,this.selectScript(),this.glyphs=[],this.positions=[],this.ligatureID=1,this.currentFeature=null}return t.prototype.findScript=function(t){if(null==this.table.scriptList)return null;Array.isArray(t)||(t=[t]);for(var e=t,n=Array.isArray(e),r=0,e=n?e:it(e);;){var i;if(n){if(r>=e.length)break;i=e[r++]}else{if(r=e.next(),r.done)break;i=r.value}for(var o=i,a=this.table.scriptList,s=Array.isArray(a),u=0,a=s?a:it(a);;){var l;if(s){if(u>=a.length)break;l=a[u++]}else{if(u=a.next(),u.done)break;l=u.value}var c=l;if(c.tag===o)return c}}return null},t.prototype.selectScript=function(t,e,n){var r=!1,i=void 0;if(!this.script||t!==this.scriptTag){if(i=this.findScript(t),i||(i=this.findScript(Jo)),!i)return this.scriptTag;this.scriptTag=i.tag,this.script=i.script,this.language=null,this.languageTag=null,r=!0}if(n&&n===this.direction||(this.direction=n||y(t)),!e||e!==this.languageTag){this.language=null;for(var o=this.script.langSysRecords,a=Array.isArray(o),s=0,o=a?o:it(o);;){var u;if(a){if(s>=o.length)break;u=o[s++]}else{if(s=o.next(),s.done)break;u=s.value}var l=u;if(l.tag===e){this.language=l.langSys,this.languageTag=l.tag;break}}this.language||(this.language=this.script.defaultLangSys,this.languageTag=null),r=!0}if(r&&(this.features={},this.language))for(var c=this.language.featureIndexes,f=Array.isArray(c),h=0,c=f?c:it(c);;){var p;if(f){if(h>=c.length)break;p=c[h++]}else{if(h=c.next(),h.done)break;p=h.value}var d=p,g=this.table.featureList[d],v=this.substituteFeatureForVariations(d);this.features[g.tag]=v||g.feature}return this.scriptTag},t.prototype.lookupsForFeatures=function(){for(var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments[1],n=[],r=t,i=Array.isArray(r),o=0,r=i?r:it(r);;){var a;if(i){if(o>=r.length)break;a=r[o++]}else{if(o=r.next(),o.done)break;a=o.value}var s=a,u=this.features[s];if(u)for(var l=u.lookupListIndexes,c=Array.isArray(l),f=0,l=c?l:it(l);;){var h;if(c){if(f>=l.length)break;h=l[f++]}else{if(f=l.next(),f.done)break;h=f.value}var p=h;e&&-1!==e.indexOf(p)||n.push({feature:s,index:p,lookup:this.table.lookupList.get(p)})}}return n.sort(function(t,e){return t.index-e.index}),n},t.prototype.substituteFeatureForVariations=function(t){if(-1===this.variationsIndex)return null;for(var e=this.table.featureVariations.featureVariationRecords[this.variationsIndex],n=e.featureTableSubstitution.substitutions,r=n,i=Array.isArray(r),o=0,r=i?r:it(r);;){var a;if(i){if(o>=r.length)break;a=r[o++]}else{if(o=r.next(),o.done)break;a=o.value}var s=a;if(s.featureIndex===t)return s.alternateFeatureTable}return null},t.prototype.findVariationsIndex=function(t){var e=this.table.featureVariations;if(!e)return-1;for(var n=e.featureVariationRecords,r=0;r=r.length)break;a=r[o++]}else{if(o=r.next(),o.done)break;a=o.value}var s=a,u=s.feature,l=s.lookup;for(this.currentFeature=u,this.glyphIterator.reset(l.flags);this.glyphIterator.index=c.length)break;p=c[h++]}else{if(h=c.next(),h.done)break;p=h.value}var d=p,g=this.applyLookup(l.lookupType,d);if(g)break}this.glyphIterator.next()}else this.glyphIterator.next()}},t.prototype.applyLookup=function(t,e){throw new Error("applyLookup must be implemented by subclasses")},t.prototype.applyLookupList=function(t){for(var e=this.glyphIterator.options,n=this.glyphIterator.index,r=t,i=Array.isArray(r),o=0,r=i?r:it(r);;){var a;if(i){if(o>=r.length)break;a=r[o++]}else{if(o=r.next(),o.done)break;a=o.value}var s=a;this.glyphIterator.reset(e,n),this.glyphIterator.increment(s.sequenceIndex);var u=this.table.lookupList.get(s.lookupListIndex);this.glyphIterator.reset(u.flags,this.glyphIterator.index);for(var l=u.subTables,c=Array.isArray(l),f=0,l=c?l:it(l);;){var h;if(c){if(f>=l.length)break;h=l[f++]}else{if(f=l.next(),f.done)break;h=f.value}var p=h;if(this.applyLookup(u.lookupType,p))break}}return this.glyphIterator.reset(e,n),!0},t.prototype.coverageIndex=function(t,e){switch(null==e&&(e=this.glyphIterator.cur.id),t.version){case 1:return t.glyphs.indexOf(e);case 2:for(var n=t.rangeRecords,r=Array.isArray(n),i=0,n=r?n:it(n);;){var o;if(r){if(i>=n.length)break;o=n[i++]}else{if(i=n.next(),i.done)break;o=i.value}var a=o;if(a.start<=e&&e<=a.end)return a.startCoverageIndex+e-a.start}}return-1},t.prototype.match=function(t,e,n,r){for(var i=this.glyphIterator.index,o=this.glyphIterator.increment(t),a=0;a=0})},t.prototype.getClassID=function(t,e){switch(e.version){case 1:var n=t-e.startGlyph;if(n>=0&&n=r.length)break;a=r[o++]}else{if(o=r.next(),o.done)break;a=o.value}var s=a;if(s.start<=t&&t<=s.end)return s.class}}return 0},t.prototype.classSequenceMatches=function(t,e,n){var r=this;return this.match(t,e,function(t,e){return t===r.getClassID(e.id,n)})},t.prototype.applyContext=function(t){switch(t.version){case 1:var e=this.coverageIndex(t.coverage);if(-1===e)return!1;for(var n=t.ruleSets[e],r=n,i=Array.isArray(r),o=0,r=i?r:it(r);;){var a;if(i){if(o>=r.length)break;a=r[o++]}else{if(o=r.next(),o.done)break;a=o.value}var s=a;if(this.sequenceMatches(1,s.input))return this.applyLookupList(s.lookupRecords)}break;case 2:if(-1===this.coverageIndex(t.coverage))return!1;if(-1===(e=this.getClassID(this.glyphIterator.cur.id,t.classDef)))return!1;n=t.classSet[e];for(var u=n,l=Array.isArray(u),c=0,u=l?u:it(u);;){var f;if(l){if(c>=u.length)break;f=u[c++]}else{if(c=u.next(),c.done)break;f=c.value}var h=f;if(this.classSequenceMatches(1,h.classes,t.classDef))return this.applyLookupList(h.lookupRecords)}break;case 3:if(this.coverageSequenceMatches(0,t.coverages))return this.applyLookupList(t.lookupRecords)}return!1},t.prototype.applyChainingContext=function(t){switch(t.version){case 1:var e=this.coverageIndex(t.coverage);if(-1===e)return!1;for(var n=t.chainRuleSets[e],r=n,i=Array.isArray(r),o=0,r=i?r:it(r);;){var a;if(i){if(o>=r.length)break;a=r[o++]}else{if(o=r.next(),o.done)break;a=o.value}var s=a;if(this.sequenceMatches(-s.backtrack.length,s.backtrack)&&this.sequenceMatches(1,s.input)&&this.sequenceMatches(1+s.input.length,s.lookahead))return this.applyLookupList(s.lookupRecords)}break;case 2:if(-1===this.coverageIndex(t.coverage))return!1;e=this.getClassID(this.glyphIterator.cur.id,t.inputClassDef);var u=t.chainClassSet[e];if(!u)return!1;for(var l=u,c=Array.isArray(l),f=0,l=c?l:it(l);;){var h;if(c){if(f>=l.length)break;h=l[f++]}else{if(f=l.next(),f.done)break;h=f.value}var p=h;if(this.classSequenceMatches(-p.backtrack.length,p.backtrack,t.backtrackClassDef)&&this.classSequenceMatches(1,p.input,t.inputClassDef)&&this.classSequenceMatches(1+p.input.length,p.lookahead,t.lookaheadClassDef))return this.applyLookupList(p.lookupRecords)}break;case 3:if(this.coverageSequenceMatches(-t.backtrackGlyphCount,t.backtrackCoverage)&&this.coverageSequenceMatches(0,t.inputCoverage)&&this.coverageSequenceMatches(t.inputGlyphCount,t.lookaheadCoverage))return this.applyLookupList(t.lookupRecords)}return!1},t}()),$o=function(){function t(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],i=arguments[3];if(lt(this,t),this._font=e,this.codePoints=r,this.id=n,this.features={},Array.isArray(i))for(var o=0;o1,this.markAttachmentType=0}}]),t}(),ta=(Po=Ao=function(t){function e(){return lt(this,e),ht(this,t.apply(this,arguments))}return pt(e,t),e.planFeatures=function(t){t.add(["ljmo","vjmo","tjmo"],!1)},e.assignFeatures=function(t,e){for(var n=0,r=0;r