"undefined"===typeof PDFJS&&(("undefined"!==typeof window?window:this).PDFJS={});PDFJS.version="0.8.505";PDFJS.build="da1c944"; (function(){function L(a){Wd>=Qg&&(za("Info: "+a),PDFJS.LogManager.notify("info",a))}function R(a){Wd>=Xd&&(za("Warning: "+a),PDFJS.LogManager.notify("warn",a))}function r(a){if(1c)return b;switch(a.substr(0,c)){case "http":case "https":case "ftp":case "mailto":return!0;default:return!1}}function E(a,b,c){Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!1});return c}function oc(a){for(var b="",c=a.length,d=0;d=a||127<=a&&a=Hb&&a=g)){j=h.charCodeAt(0);var k=gc[13];j>=k.begin&& j=k.begin&&ja[2]&&(b[0]=a[2],b[2]=a[0]);a[1]>a[3]&&(b[1]=a[3],b[3]=a[1]);return b};F.intersect=function(a,b){function c(a, b){return a-b}var d=[a[0],a[2],b[0],b[2]].sort(c),e=[a[1],a[3],b[1],b[3]].sort(c),f=[];a=F.normalizeRect(a);b=F.normalizeRect(b);if(d[0]===a[0]&&d[1]===b[0]||d[0]===b[0]&&d[1]===a[0])f[0]=d[1],f[2]=d[2];else return!1;if(e[0]===a[1]&&e[1]===b[1]||e[0]===b[1]&&e[1]===a[1])f[1]=e[1],f[3]=e[2];else return!1;return f};F.sign=function(a){return 0>a?-1:1};F.concatenateToArray=function(a,b){Array.prototype.push.apply(a,b)};F.prependToArray=function(a,b){Array.prototype.unshift.apply(a,b)};F.extendObj=function(a, b){for(var c in b)a[c]=b[c]};F.getInheritableProperty=function(a,b){for(;a&&!a.has(b);)a=a.get("Parent");return!a?null:a.get(b)};F.inherit=function(a,b,c){a.prototype=Object.create(b.prototype);a.prototype.constructor=a;for(var d in c)a.prototype[d]=c[d]};F.loadScript=function(a,b){var c=document.createElement("script"),d=!1;c.setAttribute("src",a);b&&(c.onload=function(){d||b();d=!0});document.getElementsByTagName("head")[0].appendChild(c)};var D=Tg.Util=F,Ug=PDFJS,Rc=function(a,b,c,d,e,f){this.viewBox= a;this.scale=b;this.rotation=c;this.offsetX=d;this.offsetY=e;var h=(a[2]+a[0])/2,g=(a[3]+a[1])/2,j,k,l;c%=360;switch(0>c?c+360:c){case 180:c=-1;k=j=0;l=1;break;case 90:c=0;k=j=1;l=0;break;case 270:c=0;k=j=-1;l=0;break;default:c=1,k=j=0,l=-1}f&&(k=-k,l=-l);0===c?(d=Math.abs(g-a[1])*b+d,e=Math.abs(h-a[0])*b+e,f=Math.abs(a[3]-a[1])*b,a=Math.abs(a[2]-a[0])*b):(d=Math.abs(h-a[0])*b+d,e=Math.abs(g-a[1])*b+e,f=Math.abs(a[2]-a[0])*b,a=Math.abs(a[3]-a[1])*b);this.transform=[c*b,j*b,k*b,l*b,d-c*b*h-k*b*g,e- j*b*h-l*b*g];this.width=f;this.height=a;this.fontScale=b};Rc.prototype={clone:function(a){a=a||{};var b="scale"in a?a.scale:this.scale,c="rotation"in a?a.rotation:this.rotation;return new Rc(this.viewBox.slice(),b,c,this.offsetX,this.offsetY,a.dontFlip)},convertToViewportPoint:function(a,b){return D.applyTransform([a,b],this.transform)},convertToViewportRectangle:function(a){var b=D.applyTransform([a[0],a[1]],this.transform);a=D.applyTransform([a[2],a[3]],this.transform);return[b[0],b[1],a[0],a[1]]}, convertToPdfPoint:function(a,b){return D.applyInverseTransform([a,b],this.transform)}};Ug.PageViewport=Rc;var Rg=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,728,711,710,729,733,731,730,732,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8226,8224,8225,8230,8212,8211,402,8260,8249,8250,8722,8240,8222,8220,8221,8216,8217,8218,8482,64257,64258,321,338,352, 376,381,305,322,339,353,382,0,8364],Vg=PDFJS,xb=function(){this._status=ee;this._handlers=[]},ee=0,Ha=2,Sc={handlers:[],running:!1,unhandledRejections:[],pendingRejectionCheck:!1,scheduleHandlers:function(a){a._status!=ee&&(this.handlers=this.handlers.concat(a._handlers),a._handlers=[],this.running||(this.running=!0,setTimeout(this.runHandlers.bind(this),0)))},runHandlers:function(){for(;0=f||0>=g)L("Bad shading domain.");else{for(j=d;j<=f;j+=g)l=b.getRgb(k([j]),0),l=D.makeCssRgb(l),c.push([(j-d)/p,l]);d="transparent";a.has("Background")&&(l=b.getRgb(a.get("Background"),0),d=D.makeCssRgb(l));e||(c.unshift([0,d]),c[1][0]+=Pa.SMALL_NUMBER);h||(c[c.length-1][0]-=Pa.SMALL_NUMBER,c.push([1,d]));this.colorStops=c}};Tc.fromIR= function(a){var b=a[1],c=a[2],d=a[3],e=a[4],f=a[5],h=a[6];return{type:"Pattern",getPattern:function(a){var j;2==b?j=a.createLinearGradient(d[0],d[1],e[0],e[1]):3==b&&(j=a.createRadialGradient(d[0],d[1],f,e[0],e[1],h));a=0;for(var k=c.length;a>b)*g);h&=(1<h?a=h:ac[m+1]&&(l=c[m+1]);k[j]=l}f.set(a,k);return k}}};var ie,je=function(){this.cache={};this.total=0};je.prototype={has:function(a){return a in this.cache},get:function(a){return this.cache[a]},set:function(a, b){1024>this.total&&(this.cache[a]=b,this.total++)}};ie=je;var ke=function(a){this.stack=a||[]};ke.prototype={push:function(a){100<=this.stack.length&&r("PostScript function stack overflow.");this.stack.push(a)},pop:function(){0>=this.stack.length&&r("PostScript function stack underflow.");return this.stack.pop()},copy:function(a){100<=this.stack.length+a&&r("PostScript function stack overflow.");var b=this.stack,c=b.length-a;for(a-=1;0<=a;a--,c++)b.push(b[c])},index:function(a){this.push(this.stack[this.stack.length- a-1])},roll:function(a,b){var c=this.stack,d=c.length-a,e=c.length-1,f=d+(b-Math.floor(b/a)*a),h,g,j;h=d;for(g=e;h>f);break;case "ceiling":e=a.pop();a.push(Math.ceil(e));break;case "copy":e=a.pop();a.copy(e);break;case "cos":e=a.pop();a.push(Math.cos(e));break;case "cvi":e=a.pop()|0;a.push(e);break;case "cvr":break; case "div":f=a.pop();e=a.pop();a.push(e/f);break;case "dup":a.copy(1);break;case "eq":f=a.pop();e=a.pop();a.push(e==f);break;case "exch":a.roll(2,1);break;case "exp":f=a.pop();e=a.pop();a.push(Math.pow(e,f));break;case "false":a.push(!1);break;case "floor":e=a.pop();a.push(Math.floor(e));break;case "ge":f=a.pop();e=a.pop();a.push(e>=f);break;case "gt":f=a.pop();e=a.pop();a.push(e>f);break;case "idiv":f=a.pop();e=a.pop();a.push(e/f|0);break;case "index":e=a.pop();a.index(e);break;case "le":f=a.pop(); e=a.pop();a.push(e<=f);break;case "ln":e=a.pop();a.push(Math.log(e));break;case "log":e=a.pop();a.push(Math.log(e)/Math.LN10);break;case "lt":f=a.pop();e=a.pop();a.push(ee?Math.ceil(e):Math.floor(e);a.push(e);break;case "xor":f=a.pop();e=a.pop();Ua(e)&&Ua(f)?a.push(e!=f):a.push(e^f);break;default:r("Unknown operator "+e)}return a.stack}};he= le;var ge,me=function(a){this.lexer=a;this.operators=[];this.prev=this.token=null};me.prototype={nextToken:function(){this.prev=this.token;this.token=this.lexer.getToken()},accept:function(a){return this.token.type==a?(this.nextToken(),!0):!1},expect:function(a){if(this.accept(a))return!0;r("Unexpected symbol: found "+this.token.type+" expected "+a+".")},parse:function(){this.nextToken();this.expect(la.LBRACE);this.parseBlock();this.expect(la.RBRACE);return this.operators},parseBlock:function(){for(;;)if(this.accept(la.NUMBER))this.operators.push(this.prev.value); else if(this.accept(la.OPERATOR))this.operators.push(this.prev.value);else if(this.accept(la.LBRACE))this.parseCondition();else break},parseCondition:function(){var a=this.operators.length;this.operators.push(null,null);this.parseBlock();this.expect(la.RBRACE);if(this.accept(la.IF))this.operators[a]=this.operators.length,this.operators[a+1]="jz";else if(this.accept(la.LBRACE)){var b=this.operators.length;this.operators.push(null,null);var c=this.operators.length;this.parseBlock();this.expect(la.RBRACE); this.expect(la.IFELSE);this.operators[b]=this.operators.length;this.operators[b+1]="j";this.operators[a]=c;this.operators[a+1]="jz"}else r("PS Function: error parsing conditional.")}};ge=me;var la={LBRACE:0,RBRACE:1,NUMBER:2,OPERATOR:3,IF:4,IFELSE:5},ma=function(a,b){this.type=a;this.value=b},ne={};ma.getOperator=function(a){var b=ne[a];return b?b:ne[a]=new ma(la.OPERATOR,a)};ma.LBRACE=new ma(la.LBRACE,"{");ma.RBRACE=new ma(la.RBRACE,"}");ma.IF=new ma(la.IF,"IF");ma.IFELSE=new ma(la.IFELSE,"IFELSE"); var fe,oe=function(a){this.stream=a;this.nextChar()};oe.prototype={nextChar:function(){return this.currentChar=this.stream.getByte()},getToken:function(){for(var a=!1,b=this.currentChar;;){if(0>b)return U;if(a){if(10===b||13===b)a=!1}else if(37==b)a=!0;else if(!Z.isSpace(b))break;b=this.nextChar()}switch(b|0){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 43:case 45:case 46:return new ma(la.NUMBER,this.getNumber());case 123:return this.nextChar(),ma.LBRACE;case 125:return this.nextChar(), ma.RBRACE}for(a=String.fromCharCode(b);0<=(b=this.nextChar())&&(65<=b&&90>=b||97<=b&&122>=b);)a+=String.fromCharCode(b);switch(a.toLowerCase()){case "if":return ma.IF;case "ifelse":return ma.IFELSE;default:return ma.getOperator(a)}},getNumber:function(){for(var a=this.currentChar,b=String.fromCharCode(a);0<=(a=this.nextChar());)if(48<=a&&57>=a||45===a||46===a)b+=String.fromCharCode(a);else break;a=parseFloat(b);isNaN(a)&&r("Invalid floating point number: "+a);return a}};fe=oe;var ia=function(a){if(a.data)this.data= a.data;else{var b=a.dict;a=this.data={};a.subtype=b.get("Subtype").name;var c=b.get("Rect");a.rect=D.normalizeRect(c);a.annotationFlags=b.get("F");c=b.get("C");a.color=H(c)&&3===c.length?c:[0,0,0];b.has("BS")?(c=b.get("BS"),a.borderWidth=c.has("W")?c.get("W"):1):(c=b.get("Border")||[0,0,1],a.borderWidth=c[2]||0);var d;c=b.get("AP");B(c)?(c=c.get("N"),B(c)?(b=b.get("AS"))&&c.has(b.name)&&(d=c.get(b.name)):d=c):d=void 0;this.appearance=d;a.hasAppearance=!!this.appearance}};ia.prototype={getData:function(){return this.data}, hasHtml:function(){return!1},getHtmlElement:function(){throw new Va("getHtmlElement() should be implemented in subclass");},getEmptyContainer:function(a,b){!Pc||r("getEmptyContainer() should be called from main thread");b=b||this.data.rect;var c=document.createElement(a);c.style.width=Math.ceil(b[2]-b[0])+"px";c.style.height=Math.ceil(b[3]-b[1])+"px";return c},isViewable:function(){var a=this.data;return!(!a||a.annotationFlags&&a.annotationFlags&34||!a.rect)},loadResources:function(a){var b=new G; this.appearance.dict.getAsync("Resources").then(function(c){c?(new Wc(c.map,a,c.xref)).load().then(function(){b.resolve(c)}):b.resolve()}.bind(this));return b},getOperatorList:function(a){var b=new G;if(!this.appearance)return b.resolve(new Qa),b;var c=this.data,d=this.appearance.dict,e=this.loadResources("ExtGState ColorSpace Pattern Shading XObject Font".split(" ")),f=d.get("BBox")||[0,0,1,1],h=d.get("Matrix")||[1,0,0,1,0,0],g;var d=c.rect,j=D.getAxialAlignedBoundingBox(f,h),f=j[0],k=j[1],l=j[2], j=j[3];f===l||k===j?g=[1,0,0,1,d[0],d[1]]:(l=(d[2]-d[0])/(l-f),j=(d[3]-d[1])/(j-k),g=[l,0,0,j,d[0]-f*l,d[1]-k*j]);e.then(function(d){var e=new Qa;e.addOp("beginAnnotation",[c.rect,g,h]);a.getOperatorList(this.appearance,d,e);e.addOp("endAnnotation",[]);b.resolve(e)}.bind(this));return b}};ia.getConstructor=function(a,b){if(a){if("Link"===a)return pe;if("Text"===a)return qe;if("Widget"===a){if(b)return"Tx"===b?re:Mb}else return ia}};ia.fromData=function(a){var b=ia.getConstructor(a.subtype,a.fieldType); if(b)return new b({data:a})};ia.fromRef=function(a,b){var c=a.fetchIfRef(b);if(B(c)){var d=c.get("Subtype");if(d=C(d)?d.name:""){var e=D.getInheritableProperty(c,"FT"),e=C(e)?e.name:"";if(e=ia.getConstructor(d,e)){c=new e({dict:c,ref:b});if(c.isViewable())return c;Aa("unimplemented annotation type: "+d)}}}};ia.appendToOperatorList=function(a,b,c,d){var e=new G;c=[];for(var f=0,h=a.length;fb.fontDirection?"rtl":"ltr";a&&(e.fontWeight=a.black?a.bold?"bolder":"bold":a.bold?"bold":"normal",e.fontStyle=a.italic?"italic":"normal",b=a.loadedName,e.fontFamily=(b?'"'+b+'", ':"")+(a.fallbackName||"Helvetica, sans-serif"));c.appendChild(d);return c},getOperatorList:function(a){if(this.appearance)return ia.prototype.getOperatorList.call(this,a);var b=new G,c=new Qa,d=this.data,e=d.defaultAppearance; if(!e)return b.resolve(c),b;e=new $(ta(e));a.getOperatorList(e,this.fieldResources,c);a=c.fnArray;e=c.argsArray;d.rgb=[0,0,0];for(var f=0;0>f;++f){var h=a[f],g=e[f];"setFont"===h?(d.fontRefName=g[0],h=g[1],0>h?(d.fontDirection=-1,d.fontSize=-h):(d.fontDirection=1,d.fontSize=h)):"setFillRGBColor"===h?d.rgb=g:"setFillGray"===h&&(h=255*g[0],d.rgb=[h,h,h])}b.resolve(c);return b}});re=te;var qe,ue=function(a){ia.call(this,a);if(!a.data){a=a.dict;var b=this.data,c=a.get("Contents"),d=a.get("T");b.content= Na(c||"");b.title=Na(d||"");b.name=!a.has("Name")?"Note":a.get("Name").name}};D.inherit(ue,ia,{getOperatorList:function(){var a=new G;a.resolve(new Qa);return a},hasHtml:function(){return!0},getHtmlElement:function(){!Pc||r("getHtmlElement() shall be called from main thread");var a=this.data,b=a.rect;10>b[3]-b[1]&&(b[3]=b[1]+10);10>b[2]-b[0]&&(b[2]=b[0]+(b[3]-b[1]));var c=this.getEmptyContainer("section",b);c.className="annotText";var d=document.createElement("img");d.style.height=c.style.height; var e=a.name;d.src=PDFJS.imageResourcesPath+"annotation-"+e.toLowerCase()+".svg";d.alt="[{{type}} Annotation]";d.dataset.l10nId="text_annotation_type";d.dataset.l10nArgs=JSON.stringify({type:e});var f=document.createElement("div");f.setAttribute("hidden",!0);var e=document.createElement("h1"),h=document.createElement("p");f.style.left=Math.floor(b[2]-b[0])+"px";f.style.top="0px";e.textContent=a.title;if(!a.content&&!a.title)f.setAttribute("hidden",!0);else{for(var b=document.createElement("span"), a=a.content.split(/(?:\r\n?|\n)/),g=0,j=a.length;gf;++f)e[f]=Math.round(255*d[f]);b.style.borderColor=D.makeCssRgb(e);b.style.borderStyle="solid";d=a[3]-a[1]-2*c;b.style.width=a[2]-a[0]-2*c+"px";b.style.height=d+"px";b.href=this.data.url||"";return b}});pe=ve;var Xc=function(a,b){this.url=a;b=b||{};this.httpHeaders=b.httpHeaders||{};this.getXhr=b.getXhr|| function(){return new XMLHttpRequest};this.currXhrId=0;this.pendingRequests={};this.loadedRequests={}};Xc.prototype={requestRange:function(a,b,c){a={begin:a,end:b};for(var d in c)a[d]=c[d];return this.request(a)},requestFull:function(a){return this.request(a)},request:function(a){var b=this.getXhr(),c=this.currXhrId++,d=this.pendingRequests[c]={xhr:b};b.open("GET",this.url);for(var e in this.httpHeaders){var f=this.httpHeaders[e];"undefined"!==typeof f&&b.setRequestHeader(e,f)}"begin"in a&&"end"in a?(b.setRequestHeader("Range","bytes="+(a.begin+"-"+(a.end-1))),d.expectedStatus=206):d.expectedStatus=200;b.mozResponseType=b.responseType="arraybuffer";a.onProgress&&(b.onprogress=a.onProgress);a.onError&&(b.onerror=function(){a.onError(b.status)});b.onreadystatechange=this.onStateChange.bind(this,c);d.onHeadersReceived=a.onHeadersReceived;d.onDone=a.onDone;d.onError=a.onError;b.send(null);return c},onStateChange:function(a){var b=this.pendingRequests[a];if(b){var c=b.xhr;2<=c.readyState&&b.onHeadersReceived&& (b.onHeadersReceived(),delete b.onHeadersReceived);if(4===c.readyState&&a in this.pendingRequests)if(delete this.pendingRequests[a],0===c.status&&/^https?:/i.test(this.url)){if(b.onError)b.onError(c.status)}else{var d=c.status||200;if(!(200===d&&206===b.expectedStatus)&&d!==b.expectedStatus){if(b.onError)b.onError(c.status)}else{this.loadedRequests[a]=!0;a=c.mozResponseArrayBuffer||c.mozResponse||c.responseArrayBuffer||c.response;if("string"===typeof a){for(var e=a.length,f=new Uint8Array(e),h=0;h< e;h++)f[h]=a.charCodeAt(h)&255;a=f}if(206===d)c=c.getResponseHeader("Content-Range"),c=/bytes (\d+)-(\d+)\/(\d+)/.exec(c),c=parseInt(c[1],10),b.onDone({begin:c,chunk:a});else b.onDone({begin:0,chunk:a})}}}},hasPendingRequests:function(){for(var a in this.pendingRequests)return!0;return!1},getRequestXhr:function(a){return this.pendingRequests[a].xhr},isPendingRequest:function(a){return a in this.pendingRequests},isLoadedRequest:function(a){return a in this.loadedRequests},abortAllRequests:function(){for(var a in this.pendingRequests)this.abortRequest(a| 0)},abortRequest:function(a){var b=this.pendingRequests[a].xhr;delete this.pendingRequests[a];b.abort()}};var Yc=function(a,b,c){this.bytes=new Uint8Array(a);this.pos=this.start=0;this.end=a;this.chunkSize=b;this.loadedChunks=[];this.numChunksLoaded=0;this.numChunks=Math.ceil(a/b);this.manager=c};Yc.prototype={getMissingChunks:function(){for(var a=[],b=0,c=this.numChunks;b=b))for(var c=this.chunkSize,d=Math.floor((b-1)/c)+1,c=Math.floor(a/c);c=this.end)return-1;this.ensureRange(a,a+1);return this.bytes[this.pos++]},getBytes:function(a){var b=this.bytes,c=this.pos,d=this.end;if(!a)return this.ensureRange(c,d),b.subarray(c,d);a=c+a;a>d&& (a=d);this.ensureRange(c,a);this.pos=a;return b.subarray(c,a)},peekBytes:function(a){a=this.getBytes(a);this.pos-=a.length;return a},getByteRange:function(a,b){this.ensureRange(a,b);return this.bytes.subarray(a,b)},skip:function(a){a||(a=1);this.pos+=a},reset:function(){this.pos=this.start},moveStart:function(){this.start=this.pos},makeSubStream:function(a,b,c){function d(){}d.prototype=Object.create(this);d.prototype.getMissingChunks=function(){for(var a=this.chunkSize,b=Math.floor((this.end-1)/ a)+1,c=[],a=Math.floor(this.start/a);ac.indexOf(e)&&c.push(e);c.sort(function(a,b){return a-b});this.requestChunks(c,b)}, groupChunks:function(a){for(var b=[],c,d,e=0;ea&&(a=(a%360+360)%360);return E(this,"rotate",a)},getContentStream:function(){var a=this.content;if(H(a)){var b= this.xref,c,d=a.length,e=[];for(c=0;cf&&(c=f-e);for(f=0;fd&&(d=0),a.pos=d,c=bd(a,"startxref",1024,!0);if(c){a.skip(9);do b=a.getByte();while(Z.isSpace(b));for(c="";32<=b&&57>=b;)c+=String.fromCharCode(b),b=a.getByte();b=parseInt(c,10);isNaN(b)&&(b=0)}}return E(this,"startXRef",b)},get mainXRefEntriesOffset(){var a=0,b=this.linearization;b&&(a=b.mainXRefEntriesOffset);return E(this,"mainXRefEntriesOffset",a)},checkHeader:function(){var a=this.stream;a.reset();if(bd(a,"%PDF-",1024)){a.moveStart(); for(var b="",c;32<(c=a.getByte())&&!(12<=b.length);)b+=String.fromCharCode(c);this.pdfFormatVersion=b.substring(5)}},parseStartXRef:function(){this.xref.setStartXRef(this.startXRef)},setup:function(a){this.xref.parse(a);this.catalog=new De(this.pdfManager,this.xref)},get numPages(){var a=this.linearization;return E(this,"numPages",a?a.numPages:this.catalog.numPages)},get documentInfo(){var a={PDFFormatVersion:this.pdfFormatVersion,IsAcroFormPresent:!!this.acroForm,IsXFAPresent:!!this.xfa},b;try{b= this.xref.trailer.get("Info")}catch(c){L("The document information dictionary is invalid.")}if(b){var d=$g.entries,e;for(e in d)if(b.has(e)){var f=b.get(e);d[e](f)?a[e]="string"!==typeof f?f:Na(f):L('Bad value in document info for "'+e+'"')}}return E(this,"documentInfo",a)},get fingerprint(){var a=this.xref,b;if(a.trailer.has("ID"))b="",a.trailer.get("ID")[0].split("").forEach(function(a){b+=Number(a.charCodeAt(0)).toString(16)});else{a=this.stream.bytes.subarray(0,100);a=Ia(a,0,a.length);b="";for(var c= 0,d=a.length;c=c.length)a.pop();else{var d=c[b.posInKids];ua(d)||r("page dictionary kid is not a reference");var e=this.xref.fetch(d);B(e,"Page")||B(e)&&!e.has("Kids")?(c=this.currPageIndex++,d=new xe(this.pdfManager,this.xref, c,e,d),c in this.pagePromises||(this.pagePromises[c]=new G),this.pagePromises[c].resolve(d)):(B(e)||r("page dictionary kid reference points to wrong type of object"),a.push({pagesDict:e,posInKids:0}));++b.posInKids}}}};De=Je;var Be,Ke=function(a,b){this.stream=a;this.entries=[];this.xrefstms={};this.cache=[];this.password=b};Ke.prototype={setStartXRef:function(a){this.startXRefQueue=[a]},parse:function(a){a?(R("Indexing all PDF objects"),a=this.indexObjects()):a=this.readXRef();a.assignXref(this); this.trailer=a;var b=a.get("Encrypt");if(b){var c=a.get("ID");this.encrypt=new Le(b,c&&c.length?c[0]:"",this.password)}(this.root=a.get("Root"))||r("Invalid root reference")},processXRefTable:function(a){"tableState"in this||(this.tableState={entryNum:0,streamPos:a.lexer.stream.pos,parserBuf1:a.buf1,parserBuf2:a.buf2});var b=this.readXRefTable(a);P(b,"trailer")||r("Invalid XRef table: could not find trailer dictionary");a=a.getObj();B(a)||r("Invalid XRef table: could not parse trailer dictionary"); delete this.tableState;return a},readXRefTable:function(a){var b=a.lexer.stream,c=this.tableState;b.pos=c.streamPos;a.buf1=c.parserBuf1;a.buf2=c.parserBuf2;for(var d;;){if(!("firstEntryNum"in c)||!("entryCount"in c)){if(P(d=a.getObj(),"trailer"))break;c.firstEntryNum=d;c.entryCount=a.getObj()}var e=c.firstEntryNum,f=c.entryCount;(!J(e)||!J(f))&&r("Invalid XRef table: wrong types in subsection header");for(var h=c.entryNum;h=d)break;b++;f++}return f}var b=new Uint8Array([116,114,97,105,108,101,114]),c=new Uint8Array([115,116,97,114,116,120,114,101,102]),d=new Uint8Array([101,110,100,111,98,106]),e=new Uint8Array([47,88,82,101,102]),f=this.stream;f.pos=0;for(var h=f.getBytes(),g=f.start,j=h.length,k=[],l=[];g=j)break;m=h[g]}while(13!==m&&10!==m)}else{for(var m=h,p=g,n="",q=m[p];13!==q&&10!==q&&!(++p>=m.length);)n+=String.fromCharCode(q),q=m[p];m=n;"xref"===m?(g+=a(h,g,b),k.push(g),g+=a(h,g,c)):(p=/^(\d+)\s+(\d+)\s+obj\b/.exec(m))?(this.entries[p[1]]={offset:g,gen:p[2]|0,uncompressed:!0},m=a(h,g,d)+7,p=h.subarray(g,g+m),n=a(p,0,e),np[n+5]&&(l.push(g),this.xrefstms[g]=1),g+=m):g+=m.length+1}}b=0;for(c=l.length;bf&&"DeviceGray"!==this.name&&"DeviceRGB"!==this.name){for(var h=8>=d?new Uint8Array(f):new Uint16Array(f),g=0;ga?0:255e?0:255f?0:255a?0:255a?0:a;d[e+1]=255b?0:b;d[e+2]=255f?0:f},Ze=function(){this.name= "DeviceCMYK";this.numComps=4;this.defaultColor=new Float32Array([0,0,0,1])};Ze.prototype={getRgb:function(a,b){var c=new Uint8Array(3);fd(a,b,1,c,0);return c},getRgbItem:function(a,b,c,d){fd(a,b,1,c,d)},getRgbBuffer:function(a,b,c,d,e,f){f=1/((1<>2)},isPassthrough:N.prototype.isPassthrough,createRgbBuffer:N.prototype.createRgbBuffer,isDefaultDecode:function(a){return N.isDefaultDecode(a,this.numComps)},usesZeroToOneRange:!0}; Te=Ze;var Qe,$e=function(a,b,c){this.name="Lab";this.numComps=3;this.defaultColor=new Float32Array([0,0,0]);a||r("WhitePoint missing - required for color space Lab");b=b||[0,0,0];c=c||[-100,100,-100,100];this.XW=a[0];this.YW=a[1];this.ZW=a[2];this.amin=c[0];this.amax=c[1];this.bmin=c[2];this.bmax=c[3];this.XB=b[0];this.YB=b[1];this.ZB=b[2];(0>this.XW||0>this.ZW||1!==this.YW)&&r("Invalid WhitePoint components, no fallback available");if(0>this.XB||0>this.YB||0>this.ZB)L("Invalid BlackPoint, falling back to default"), this.XB=this.YB=this.ZB=0;if(this.amin>this.amax||this.bmin>this.bmax)L("Invalid Range, falling back to defaults"),this.amin=-100,this.amax=100,this.bmin=-100,this.bmax=100},gd=function(a){return a>=6/29?a*a*a:108/841*(a-4/29)},hd=function(a,b,c,d,e,f){var h=b[c],g=b[c+1];b=b[c+2];!1!==d&&(h=0+100*h/d,g=a.amin+g*(a.amax-a.amin)/d,b=a.bmin+b*(a.bmax-a.bmin)/d);g=g>a.amax?a.amax:ga.bmax?a.bmax:ba.ZW?(a=3.1339*g+-1.617*d+-0.4906*h,b=-0.9785*g+1.916*d+0.0333*h,g=0.072*g+-0.229*d+1.4057*h):(a=3.2406*g+-1.5372*d+-0.4986*h,b=-0.9689*g+1.8758*d+0.0415*h,g=0.0557*g+-0.204*d+1.057*h);e[f]=255*Math.sqrt(0>a?0:1b?0:1g?0:1c;++c)b[c]=c;for(c=0;256>c;++c)e=b[c],d=d+e+a[c%f]&255,b[c]=b[d],b[d]=e;this.s=b};X.prototype={encryptBlock:function(a){var b,c=a.length,d,e,f=this.a,h=this.b,g=this.s,j=new Uint8Array(c);for(b=0;b>5&255;j[k++]=c>>13&255;j[k++]=c>>21&255;j[k++]=c>>>29&255;j[k++]=0;j[k++]=0;j[k++]=0;a=new Int32Array(16);for(k=0;kc;++c,k+=4)a[c]=j[k]|j[k+1]<<8|j[k+2]<<16|j[k+3]<<24;var l=d;b=e;var m=f,p=h,n,q;for(c=0;64>c;++c){16>c?(n=b&m|~b&p,q=c):32>c?(n=p&b|~p&m,q=5*c+1&15):48>c?(n=b^m^p,q=3*c+5&15): (n=m^(b|~p),q=7*c&15);var s=p,l=l+n+fh[c]+a[q]|0;n=eh[c];p=m;m=b;b=b+(l<>>32-n)|0;l=s}d=d+l|0;e=e+b|0;f=f+m|0;h=h+p|0}return new Uint8Array([d&255,d>>8&255,d>>16&255,d>>>24&255,e&255,e>>8&255,e>>16&255,e>>>24&255,f&255,f>>8&255,f>>16&255,f>>>24&255,h&255,h>>8&255,h>>16&255,h>>>24&255])};var af=function(){};af.prototype={decryptBlock:function(a){return a}};var bf=function(a){var b=new Uint8Array(176);b.set(a);a=16;for(var c=1;176>a;++c)for(var d=b[a-3],e=b[a-2],f=b[a-1],h=b[a-4],d=yb[d],e=yb[e], f=yb[f],h=yb[h],d=d^gh[c],g=0;4>g;++g)b[a]=d^=b[a-16],a++,b[a]=e^=b[a-16],a++,b[a]=f^=b[a-16],a++,b[a]=h^=b[a-16],a++;this.key=b;this.buffer=new Uint8Array(16);this.bufferPosition=0},hh=function(a,b){var c,d,e;e=a.length;var f=this.buffer;d=this.bufferPosition;var h=[],g=this.iv;for(c=0;cd)){var j,k=f;d=this.key;j=new Uint8Array(16);j.set(k);for(var l=k=void 0,m=void 0,p=l=m=void 0,l=0,m=160;16>l;++l,++m)j[l]^=d[m];for(k=9;1<=k;--k){m=j[13];j[13]=j[9];j[9]=j[5];j[5]=j[1]; j[1]=m;m=j[14];l=j[10];j[14]=j[6];j[10]=j[2];j[6]=m;j[2]=l;m=j[15];l=j[11];p=j[7];j[15]=j[3];j[11]=m;j[7]=l;j[3]=p;for(l=0;16>l;++l)j[l]=cf[j[l]];l=0;for(m=16*k;16>l;++l,++m)j[l]^=d[m];for(l=0;16>l;l+=4){var m=hc[j[l+1]],p=hc[j[l+2]],n=hc[j[l+3]],m=hc[j[l]]^m>>>8^m<<24^p>>>16^p<<16^n>>>24^n<<8;j[l]=m>>>24&255;j[l+1]=m>>16&255;j[l+2]=m>>8&255;j[l+3]=m&255}}m=j[13];j[13]=j[9];j[9]=j[5];j[5]=j[1];j[1]=m;m=j[14];l=j[10];j[14]=j[6];j[10]=j[2];j[6]=m;j[2]=l;m=j[15];l=j[11];p=j[7];j[15]=j[3];j[11]=m;j[7]= l;j[3]=p;for(l=0;16>l;++l)j[l]=cf[j[l]],j[l]^=d[l];for(d=0;16>d;++d)j[d]^=g[d];g=f;h.push(j);f=new Uint8Array(16);d=0}this.buffer=f;this.bufferLength=d;this.iv=g;if(0===h.length)return new Uint8Array([]);c=16*h.length;b&&(e=h[h.length-1],c-=e[15],h[h.length-1]=e.subarray(0,16-e[15]));f=new Uint8Array(c);d=c=0;for(e=h.length;cf&&c f)return this.bufferLength=f,new Uint8Array([]);this.iv=e;this.buffer=new Uint8Array(16);this.bufferLength=0;this.decryptBlock=hh;return this.decryptBlock(a.subarray(16),b)}};var id=function(a,b){this.stringCipherConstructor=a;this.streamCipherConstructor=b};id.prototype={createStream:function(a){var b=new this.streamCipherConstructor;return new df(a,function(a,d){return b.decryptBlock(a,d)})},decryptString:function(a){var b=new this.stringCipherConstructor;a=ta(a);a=b.decryptBlock(a,!0);return oc(a)}}; var Le,ef=function(a,b,c,d,e,f,h,g){var j=new Uint8Array(100),k=0,l;if(b)for(l=Math.min(32,b.length);kk;)j[k++]=ic[b++];b=0;for(l=c.length;b>8&255;j[k++]=e>>16&255;j[k++]=e>>>24&255;b=0;for(l=a.length;b>3;if(3<=f)for(b=0;50>b;++b)l=Ia(l,0,k);h=l.subarray(0,k);if(3<=f){for(k=0;32>k;++k)j[k]=ic[k];b=0;for(l=a.length;b=b;++b){for(a=0;ae||0!==e%8)&&r("invalid key length"); var f=ta(a.get("O")),h=ta(a.get("U")),g=a.get("P"),j=a.get("R"),k=4==d&&!1!==a.get("EncryptMetadata");this.encryptMetadata=k;b=ta(b);var l;c&&(l=ta(c));var m=ef(b,l,f,h,g,j,e,k);if(!m&&!c)throw new vb("No password given",pc.NEED_PASSWORD);if(!m&&c){c=l;l=new Uint8Array(32);var m=0,p;for(p=Math.min(32,c.length);mm;)l[m++]=ic[c++];l=Ia(l,0,m);m=e>>3;if(3<=j)for(c=0;50>c;++c)l=Ia(l,0,l.length);var n;if(3<=j){p=f;var q=new Uint8Array(m);for(c=19;0<=c;c--){for(n=0;n>8&255;e[f++]=a>>16&255;e[f++]=b&255;e[f++]=b>>8&255;d&&(e[f++]=115,e[f++]= 65,e[f++]=108,e[f++]=84);return Ia(e,0,f).subarray(0,Math.min(c.length+5,16))},hf=function(a,b,c,d,e){a=a.get(b.name);var f;null!==a&&void 0!==a&&(f=a.get("CFM"));if(!f||"None"==f.name)return function(){return new af};if("V2"==f.name)return function(){return new X(jd(c,d,e,!1))};if("AESV2"==f.name)return function(){return new bf(jd(c,d,e,!0))};r("Unknown crypto method")},ic=new Uint8Array([40,191,78,94,78,117,138,65,100,0,78,86,255,250,1,8,46,46,0,182,208,104,62,128,47,12,169,254,100,83,105,122]), ff=new $a("Identity");gf.prototype={createCipherTransform:function(a,b){if(4==this.algorithm)return new id(hf(this.cf,this.stmf,a,b,this.encryptionKey),hf(this.cf,this.strf,a,b,this.encryptionKey));var c=jd(a,b,this.encryptionKey,!1),d=function(){return new X(c)};return new id(d,d)}};Le=gf;var mb,kd=function(a,b,c,d,e,f){this.state=new jf;this.stateStack=[];this.pdfManager=a;this.xref=b;this.handler=c;this.pageIndex=d;this.uniquePrefix=e;this.idCounters=f;this.fontCache=new Ie},kf={w:{fnName:"setLineWidth", numArgs:1,variableArgs:!1},J:{fnName:"setLineCap",numArgs:1,variableArgs:!1},j:{fnName:"setLineJoin",numArgs:1,variableArgs:!1},M:{fnName:"setMiterLimit",numArgs:1,variableArgs:!1},d:{fnName:"setDash",numArgs:2,variableArgs:!1},ri:{fnName:"setRenderingIntent",numArgs:1,variableArgs:!1},i:{fnName:"setFlatness",numArgs:1,variableArgs:!1},gs:{fnName:"setGState",numArgs:1,variableArgs:!1},q:{fnName:"save",numArgs:0,variableArgs:!1},Q:{fnName:"restore",numArgs:0,variableArgs:!1},cm:{fnName:"transform", numArgs:6,variableArgs:!1},m:{fnName:"moveTo",numArgs:2,variableArgs:!1},l:{fnName:"lineTo",numArgs:2,variableArgs:!1},c:{fnName:"curveTo",numArgs:6,variableArgs:!1},v:{fnName:"curveTo2",numArgs:4,variableArgs:!1},y:{fnName:"curveTo3",numArgs:4,variableArgs:!1},h:{fnName:"closePath",numArgs:0,variableArgs:!1},re:{fnName:"rectangle",numArgs:4,variableArgs:!1},S:{fnName:"stroke",numArgs:0,variableArgs:!1},s:{fnName:"closeStroke",numArgs:0,variableArgs:!1},f:{fnName:"fill",numArgs:0,variableArgs:!1}, F:{fnName:"fill",numArgs:0,variableArgs:!1},"f*":{fnName:"eoFill",numArgs:0,variableArgs:!1},B:{fnName:"fillStroke",numArgs:0,variableArgs:!1},"B*":{fnName:"eoFillStroke",numArgs:0,variableArgs:!1},b:{fnName:"closeFillStroke",numArgs:0,variableArgs:!1},"b*":{fnName:"closeEOFillStroke",numArgs:0,variableArgs:!1},n:{fnName:"endPath",numArgs:0,variableArgs:!1},W:{fnName:"clip",numArgs:0,variableArgs:!1},"W*":{fnName:"eoClip",numArgs:0,variableArgs:!1},BT:{fnName:"beginText",numArgs:0,variableArgs:!1}, ET:{fnName:"endText",numArgs:0,variableArgs:!1},Tc:{fnName:"setCharSpacing",numArgs:1,variableArgs:!1},Tw:{fnName:"setWordSpacing",numArgs:1,variableArgs:!1},Tz:{fnName:"setHScale",numArgs:1,variableArgs:!1},TL:{fnName:"setLeading",numArgs:1,variableArgs:!1},Tf:{fnName:"setFont",numArgs:2,variableArgs:!1},Tr:{fnName:"setTextRenderingMode",numArgs:1,variableArgs:!1},Ts:{fnName:"setTextRise",numArgs:1,variableArgs:!1},Td:{fnName:"moveText",numArgs:2,variableArgs:!1},TD:{fnName:"setLeadingMoveText", numArgs:2,variableArgs:!1},Tm:{fnName:"setTextMatrix",numArgs:6,variableArgs:!1},"T*":{fnName:"nextLine",numArgs:0,variableArgs:!1},Tj:{fnName:"showText",numArgs:1,variableArgs:!1},TJ:{fnName:"showSpacedText",numArgs:1,variableArgs:!1},"'":{fnName:"nextLineShowText",numArgs:1,variableArgs:!1},'"':{fnName:"nextLineSetSpacingShowText",numArgs:3,variableArgs:!1},d0:{fnName:"setCharWidth",numArgs:2,variableArgs:!1},d1:{fnName:"setCharWidthAndBounds",numArgs:6,variableArgs:!1},CS:{fnName:"setStrokeColorSpace", numArgs:1,variableArgs:!1},cs:{fnName:"setFillColorSpace",numArgs:1,variableArgs:!1},SC:{fnName:"setStrokeColor",numArgs:4,variableArgs:!0},SCN:{fnName:"setStrokeColorN",numArgs:33,variableArgs:!0},sc:{fnName:"setFillColor",numArgs:4,variableArgs:!0},scn:{fnName:"setFillColorN",numArgs:33,variableArgs:!0},G:{fnName:"setStrokeGray",numArgs:1,variableArgs:!1},g:{fnName:"setFillGray",numArgs:1,variableArgs:!1},RG:{fnName:"setStrokeRGBColor",numArgs:3,variableArgs:!1},rg:{fnName:"setFillRGBColor",numArgs:3, variableArgs:!1},K:{fnName:"setStrokeCMYKColor",numArgs:4,variableArgs:!1},k:{fnName:"setFillCMYKColor",numArgs:4,variableArgs:!1},sh:{fnName:"shadingFill",numArgs:1,variableArgs:!1},BI:{fnName:"beginInlineImage",numArgs:0,variableArgs:!1},ID:{fnName:"beginImageData",numArgs:0,variableArgs:!1},EI:{fnName:"endInlineImage",numArgs:1,variableArgs:!1},Do:{fnName:"paintXObject",numArgs:1,variableArgs:!1},MP:{fnName:"markPoint",numArgs:1,variableArgs:!1},DP:{fnName:"markPointProps",numArgs:2,variableArgs:!1}, BMC:{fnName:"beginMarkedContent",numArgs:1,variableArgs:!1},BDC:{fnName:"beginMarkedContentProps",numArgs:2,variableArgs:!1},EMC:{fnName:"endMarkedContent",numArgs:0,variableArgs:!1},BX:{fnName:"beginCompat",numArgs:0,variableArgs:!1},EX:{fnName:"endCompat",numArgs:0,variableArgs:!1},BM:null,BD:null,"true":null,fa:null,fal:null,fals:null,"false":null,nu:null,nul:null,"null":null};kd.prototype={hasBlendModes:function(a){if(!B(a))return!1;for(a=[a];a.length;){var b=a.shift(),c=b.get("ExtGState");if(B(c)){var c= c.getAll(),d;for(d in c){var e=c[d].BM;if(C(e)&&"Normal"!==e.name)return!0}}b=b.get("XObject");if(B(b))for(d in b=b.getAll(),b)c=b[d],T(c)&&(c=c.dict.get("Resources"),B(c)&&a.push(c))}return!1},buildFormXObject:function(a,b,c,d){var e=b.dict.get("Matrix"),f=b.dict.get("BBox"),h=b.dict.get("Group");if(h){var g={matrix:e,bbox:f,smask:!!c,isolated:!1,knockout:!1};c=h.get("S");C(c)&&"Transparency"===c.name&&(g.isolated=h.get("I")||!1,g.knockout=h.get("K")||!1);d.addOp("beginGroup",[g])}d.addOp("paintFormXObjectBegin", [e,f]);this.getOperatorList(b,b.dict.get("Resources")||a,d);d.addOp("paintFormXObjectEnd",[]);h&&d.addOp("endGroup",[g])},buildPaintImageXObject:function(a,b,c,d){var e=this,f=b.dict,h=f.get("Width","W"),g=f.get("Height","H");if(-1!==PDFJS.maxImageSize&&h*g>PDFJS.maxImageSize)R("Image exceeded maximum allowed size and was removed.");else if(f.get("ImageMask","IM"))a=f.get("Width","W"),c=f.get("Height","H"),b=b.getBytes((a+7>>3)*c),f=f.get("Decode","D"),d.addOp("paintImageMaskXObject",[nb.createMask(b, a,c,!!f&&0h+g)b=(new nb(this.xref,a,b,c,null,null)).getImageData(),d.addOp("paintInlineImageXObject",[b]);else{var k="img_"+(this.uniquePrefix||"")+ ++this.idCounters.obj;d.addDependency(k);h=[k,h,g];!j&&!f&&b instanceof zb&&b.isNativelySupported(this.xref,a)?(d.addOp("paintJpegXObject",h),this.handler.send("obj",[k,this.pageIndex,"JpegStream",b.getIR()])):(nb.buildImage(function(a){a=a.getImageData(); e.handler.send("obj",[k,e.pageIndex,"Image",a])},e.handler,e.xref,a,b,c),d.addOp("paintImageXObject",h))}}},handleTilingType:function(a,b,c,d,e,f){c=this.getOperatorList(d,e.get("Resources")||c);f.addDependencies(c.dependencies);f.addOp(a,Vc.getIR({fnArray:c.fnArray,argsArray:c.argsArray},e,b))},handleSetFont:function(a,b,c,d){var e;b&&(b=b.slice(),e=b[0].name);a=this.loadFont(e,c,this.xref,a,d);this.state.font=a;b=a.loadedName;a.sent||(c=a.translated.exportData(),this.handler.send("commonobj",[b, "Font",c]),a.sent=!0);return b},handleText:function(a){var b=this.state.font.translated;a=b.charsToGlyphs(a);var c=!!(this.state.textRenderingMode&4);if(b.data&&(c||PDFJS.disableFontFace))for(c=0;ck.numArgs&& L("Command "+g+": expected [0,"+k.numArgs+"] args, but received "+h.length+" args");else if(h.lengthk.numArgs&&L("Command "+g+": expected "+k.numArgs+" args, but received "+h.length+" args");if(("SCN"==j||"scn"==j)&&!h[h.length-1].code){var j=h[h.length-1],l;if(C(j)&&(l=f.get(j.name)))if(j=T(l)?l.dict:l,k=j.get("PatternType"),1==k){this.handleTilingType(g,h,b,l, j,c);h=[];continue}else 2==k?(h=j.get("Shading"),l=j.get("Matrix"),l=Lb.parseShading(h,l,d,b),h=l.getIR()):r("Unkown PatternType "+k)}else if("Do"==j&&!h[0].code){if(j=e.get(h[0].name))if(T(j)||r("XObject should be a stream"),k=j.dict.get("Subtype"),C(k)||r("XObject should have a Name subtype"),"Form"==k.name){this.buildFormXObject(b,j,null,c);h=[];continue}else if("Image"==k.name){this.buildPaintImageXObject(b,j,!1,c);h=[];continue}else r("Unhandled XObject subtype "+k.name)}else if("Tf"==j)j=this.handleSetFont(b, h,null,c),c.addDependency(j),g="setFont",h[0]=j;else if("EI"==j){this.buildPaintImageXObject(b,h[0],!0,c);h=[];continue}else if("q"===j)j=this.state,this.stateStack.push(this.state),this.state=j.clone();else if("Q"===j){if(j=this.stateStack.pop())this.state=j}else if("Tj"===j)h[0]=this.handleText(h[0]);else if("TJ"===j)for(var j=h[0],k=j.length,m=0;m=h.length||r("Too many arguments"))}return c},getTextContent:function(a,b,c){var d;c?d=c.bidiTexts:(d=[],c={bidiTexts:d});var e=this.xref;b=e.fetchIfRef(b)||new ha;var f=null;a=new Ja(new Z(a),!1);for(var h=[],g,j="",k=null;!Sg(g=a.getObj());)if(P(g)){switch(g.cmd){case "Tf":k=this.loadFont(h[0].name,void 0,e,b,null).translated;break;case "TJ":h=h[0];g=0;for(var l=h.length;gh[g]&&0=h.length||r("Too many arguments"),h.push(g));return c},extractDataStructures:function(a,b,c,d){if(b=a.get("ToUnicode")||b.get("ToUnicode"))d.toUnicode=this.readToUnicode(b,c,d);d.composite&&(c=a.get("CIDSystemInfo"),B(c)&&(d.cidSystemInfo={registry:c.get("Registry"),ordering:c.get("Ordering"), supplement:c.get("Supplement")}),c=a.get("CIDToGIDMap"),T(c)&&(d.cidToGidMap=this.readCidToGidMap(c)));c=!0;b=!1;var e=[],f="TrueType"===d.type?aa.WinAnsiEncoding:aa.StandardEncoding;d.flags&Ka.Symbolic&&(f=!d.file?aa.symbolsEncoding:aa.MacRomanEncoding);if(a.has("Encoding"))if(a=a.get("Encoding"),B(a)){var h=a.get("BaseEncoding");h&&(c=!1,b=!0,f=aa[h.name]);if(a.has("Differences")){b=!0;a=a.get("Differences");for(var g=h=0,j=a.length;g=e[0]&&(e=parseInt(e,10)),d.push(e),e=""}switch(j){case 91:d.push(f);break;case 93:for(var j=[],s;d.length&&(s=d.pop())!=f;)j.unshift(s);d.push(j)}}else if(62==j){if(e.length){2== e.length&&c.composite&&(c.wideChars=!1);if(4>=e.length)d.push(parseInt(e,16));else{j=[];k=0;for(l=e.length;k=n){k+=4;n=n<<16|parseInt(e.substr(k,4),16);n-=65536;j.push(55296|n>>10);j.push(56320|n&1023);break}j.push(n)}d.push(String.fromCharCode.apply(String,j))}e=""}}else e+=String.fromCharCode(j)}}return b},readCidToGidMap:function(a){a=a.getBytes();for(var b=[],c=0,d=a.length;c>1]=e)}return b},extractWidths:function(a, b,c,d){var e=[],f=0,h=[],g;if(d.composite){var f=a.get("DW")||1E3,j=a.get("W");if(j)for(var k=0,l=j.length;k>2,200);if(!(10>f)){for(var h=0,d=[],g=0,j=1,k=1,c=0;c>2,100);if(!(10>f)){d=[];for(c=0;c>8&255)+String.fromCharCode(a&255)},Ra=function(a){a=32767a?-32768:a;return String.fromCharCode(a>>8&255)+String.fromCharCode(a& 255)},ba=function(a){return String.fromCharCode(a>>24&255)+String.fromCharCode(a>>16&255)+String.fromCharCode(a>>8&255)+String.fromCharCode(a&255)},vf=function(a,b,c){"true"==a&&(a=ba(65536));a+=I(c);var d=uf(c),e=16*d;a+=I(e);a+=I(Math.log(d)/Math.log(2));a+=I(16*c-e);b.file+=a;b.virtualOffset+=a.length},wf=function(a,b,c){for(var d=a.virtualOffset,e=c.length;c.length&3;)c.push(0);for(;a.virtualOffset&3;)a.virtualOffset++;for(var f=0,h=c.length,g=0;g=f[e][0]);--e); h=e+1;65535>f[e][0]&&65535===f[e][1]&&(f[e][1]=65534);for(var k=65535>f[e][1]?1:0,l=h+k,m=2*l,p=2*uf(l),n=Math.log(l)/Math.log(2),q=2*l-p,s="",t="",u="",r="",w="",A=0,e=0;ec&&d&768)return!1;c=x(b.getBytes(2)); d=x(b.getBytes(2));if(c>d)return!1;b.getBytes(6);if(0===x(b.getBytes(2)))return!1;a.data[8]=a.data[9]=0;return!0},yf=function(a,b,c){c=c||{unitsPerEm:0,yMax:0,yMin:0,ascent:0,descent:0};var d=0,e=0,f=0,h=0,g=null,j=0;if(b)for(var k=0;kl||!g)g=l;j=n.begin&&ll?d|=1<l?e|=1<l?f|=1<l?h|=1< 123 are reserved for internal usage")}else g= 0,j=255;k=a.bbox||[0,0,0,0];b=c.unitsPerEm||1/(a.fontMatrix||ub)[0];l=a.ascentScaled?1:b/1E3;b=c.ascent||Math.round(l*(a.ascent||k[3]));l=c.descent||Math.round(l*(a.descent||k[1]));0k[1])&&(l=-l);k=c.yMax||b;c=-c.yMin||-l;return"\x00\u0003\u0002$\u0001\u00f4\x00\u0005\x00\x00\u0002\u008a\u0002\u00bb\x00\x00\x00\u008c\u0002\u008a\u0002\u00bb\x00\x00\u0001\u00df\x001\u0001\u0002\x00\x00\x00\x00\u0006"+String.fromCharCode(a.fixedPitch?9:0)+"\x00\x00\x00\x00\x00\x00"+ba(d)+ba(e)+ba(f)+ ba(h)+"*21*"+I(a.italicAngle?1:0)+I(g||a.firstChar)+I(j||a.lastChar)+I(b)+I(l)+"\x00d"+I(k)+I(c)+"\x00\x00\x00\x00\x00\x00\x00\x00"+I(a.xHeight)+I(a.capHeight)+I(0)+I(g||a.firstChar)+"\x00\u0003"},zf=function(a){var b=Math.floor(a.italicAngle*Math.pow(2,16));return"\x00\u0003\x00\x00"+ba(b)+"\x00\x00\x00\x00"+ba(a.fixedPitch)+"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"},pd=function(a,b){b||(b=[[],[]]);for(var c=[b[0][0]||"Original licence",b[0][1]||a,b[0][2]||"Unknown",b[0][3]|| "uniqueID",b[0][4]||a,b[0][5]||"Version 0.11",b[0][6]||"",b[0][7]||"Unknown",b[0][8]||"Unknown",b[0][9]||"Unknown"],d=[],e=0,f=c.length;e=c-b)return 0;a=a.subarray(b,c);var g=a[0]<<8|a[1];if(g&32768)return d.set(a,e),a.length;b=10;for(var h=c=0;ha.length)return 0;if(!f&&0l.indexOf(e)&& (k.push({data:c,i:d,stackTop:j.length-1}),l.push(e),u=b.functionsDefined[e],c=u.data,d=u.i));else if(44===t&&!n){if(m||q)R("TT: nested FDEFs not allowed"),n=!0;m=!0;h=d;e=j.pop();b.functionsDefined[e]={data:c,i:d}}else if(45===t)m?(m=!1,g=d):(u=k.pop(),e=l.pop(),c=u.data,d=u.i,b.functionsStackDeltas[e]=j.length-u.stackTop);else if(137===t){if(m||q)R("TT: nested IDEFs not allowed"),n=!0;m=!0;h=d}else 88===t?++p:27===t?q=p:89===t?(q===p&&(q=0),--p):28===t&&(e=j[j.length-1],0=t?f[t]:192<=t&&223>=t?-1:224<=t?-2:0;113<=t&&117>=t&&(e=j.pop(),e===e&&(u=2*-e));for(;0>u&&0c.length&&j.push(new Uint8Array(d-c.length));h>g&&(R("TT: complementing a missing function tail"),j.push(new Uint8Array([34,45])));if(1h.indexOf(p.tag)||(l[p.tag]=p)}var A=!l["CFF "];if(A)(!l.glyf||!l.loca)&&r('Required "glyf" or "loca" tables are not found');else{if(!l.head||!l.hhea||!l.maxp||!l.post){var y=new $(l["CFF "].data),z=new nd(y,c);return this.convert(a,z,c)}delete l.glyf;delete l.loca;delete l.fpgm;delete l.prep;delete l["cvt "]}l.maxp||r('Required "maxp" table is not found');b.pos=(b.start||0)+l.maxp.offset;var v=Pb(b.getBytes(4)),M=x(b.getBytes(2)),I=0;65536<=v&& 22<=l.maxp.length&&(b.pos+=14,I=x(b.getBytes(2)));var G=!1;"CIDFontType2"==c.type&&(c.toUnicode&&0>8,l.maxp.data[5]=M&255);var B,H=l.fpgm,D=l.prep,C={functionsDefined:[],functionsUsed:[],functionsStackDeltas:[],tooComplexToFollowFunctions:!1,hintsValid:!0};H&&e(H,C);D&&e(D,C);if(H){var J=I;if(!C.tooComplexToFollowFunctions)for(var E=0,F=C.functionsUsed.length;EJ){R("TT: invalid function id: "+E);C.hintsValid=!1;break}if(C.functionsUsed[E]&& !C.functionsDefined[E]){R("TT: undefined function: "+E);C.hintsValid=!1;break}}}B=C.hintsValid;B||(delete l.fpgm,delete l.prep);var Qb=Object.keys(l);Qb.sort();var k=Qb.length,xa={file:"",virtualOffset:16*k};vf(g,xa,k);var La=b,O=l.hhea,Q=l.hmtx,sc=M;if(O){La.pos=(La.start?La.start:0)+O.offset;La.pos+=O.length-2;var N=x(La.getBytes(2));N>sc&&(L("The numOfMetrics ("+N+") should not be greater than the numGlyphs ("+sc+")"),N=sc,O.data[34]=(N&65280)>>8,O.data[35]=N&255);var P=sc-N-(Q.length-4*N>>1); if(0>16&&(L("Attempting to fix invalid version in head table: "+ma),pa[0]=0,pa[1]=1,pa[2]=0,pa[3]=0);var V=x([pa[50],pa[51]]);if(0>V||1>>24&255;a[b+1]=c>>16&255;a[b+2]=c>>8&255;a[b+3]=c&255}):(Z=2,ta=function(a,b){return a[b]<<9|a[b+1]<<1},kc=function(a,b,c){a[b]=c>>9&255;a[b+1]=c>>1&255});var Xb=fa.data,ha=S.data,Bf=ha.length,ya=new Uint8Array(Bf), Aa=ta(Xb,0),ca=0;kc(Xb,0,ca);for(var ka=0,cc=Z;kaBf))var Da=d(ha,Aa,sa,ya,ca,B),ca=ca+Da;kc(Xb,cc,ca);Aa=sa}if(0===ca){for(var K=new Uint8Array([0,1,0,0,0,0,0,0,0,0,0,0,0,0,49,0]),ka=0,cc=Z;kaBa+ca?S.data=ya.subarray(0,Ba+ca):(S.data=new Uint8Array(Ba+ca),S.data.set(ya.subarray(0,ca)));S.data.set(ya.subarray(0,Ba),ca);fa.data=new Uint8Array(Xb.length+Z);fa.data.set(Xb);kc(fa.data, Xb.length,ca+Ba)}else S.data=ya.subarray(0,ca)}l.hhea||r('Required "hhea" table is not found');0===l.hhea.data[10]&&0===l.hhea.data[11]&&(l.hhea.data[10]=255,l.hhea.data[11]=255);var za;if(za=l.post){var Ea=l.post,Fa=M,Ga=(b.start?b.start:0)+Ea.offset;b.pos=Ga;var kb=Ga+Ea.length,na=Pb(b.getBytes(4));b.getBytes(28);var X,ra=!0;switch(na){case 65536:X=rf;break;case 131072:var Va=x(b.getBytes(2));if(Va!=Fa){ra=!1;break}for(var Cf=[],da=0;dava?X.push(rf[va]):X.push(ab[va-258])}break;case 196608:break;default:R("Unknown/unsupported post table version "+na),ra=!1}c.glyphNames=X;za=!ra}za&&(l.post=null);var Sa,eb;if("CIDFontType2"==c.type){l.cmap||(l.cmap={tag:"cmap",data:null});var Na=c.cidToGidMap||[],ec=[0];if(0=Hb+Oc)break;Ca=uc++;this.toFontChar[Ja]=Ca;tc[Ca]=!0;Sa.push({unicode:Ca, code:Ja});eb.push(m)}}else{this.useToFontChar=!0;var Ab;var Y=b,qb=this.hasEncoding,Ya=this.isSymbolicFont,qc=(Y.start?Y.start:0)+l.cmap.offset;Y.pos=qc;x(Y.getBytes(2));for(var vb=x(Y.getBytes(2)),fb,Pa,Wa=0;Waqa;qa++){var Cb=Y.getByte();Cb&&Xa.push({charcode:qa,glyphId:Cb})}mb=!0}else if(4===vc){var Ta=x(Y.getBytes(2))>>1;Y.getBytes(6);var ea,Rb=[];for(ea=0;ea>1)-(Ta-ea);gb.offsetIndex=Yb;qd=Math.max(qd,Yb+gb.end-gb.start+1)}else gb.offsetIndex=-1}for(var Sb=[],qa=0;qaYb?qa:Sb[Yb+qa-qc],Zb=Zb+nh&65535;0!==Zb&&Xa.push({charcode:qa,glyphId:Zb})}}else if(6==vc)for(var Wb=x(Y.getBytes(2)),sb=x(Y.getBytes(2)),qa= 0;qaOb)){for(var hc=x(b.getBytes(2)),ic=x(b.getBytes(2)),nb=[],lc=0;lcyb)){b.pos=Bb;var bc=mc.name;if(mc.encoding){for(var rb="",ib=0,nc=mc.length;ib=e&&(e=b);if(b=this.widths[e])break}return this._shadowWidth=b=b||this.defaultWidth},charToGlyph:function(a){var b,c,d;c=this.widths[a];var e=this.vmetrics&&this.vmetrics[a];switch(this.type){case "CIDFontType0":b=this.unicodeToCID[a]||a;0f){12===f&&(f=(f<<8)+a[++e]);switch(f){case 1:this.stack=[];break;case 3:this.stack=[];break;case 4:if(this.flexing){if(1>this.stack.length){d=!0;break}f= this.stack.pop();this.stack.push(0,f);break}d=this.executeCommand(1,oh);break;case 5:d=this.executeCommand(2,ph);break;case 6:d=this.executeCommand(1,qh);break;case 7:d=this.executeCommand(1,rh);break;case 8:d=this.executeCommand(6,sh);break;case 9:this.stack=[];break;case 10:if(1>this.stack.length){d=!0;break}f=this.stack.pop();d=this.convert(b[f],b);break;case 11:return d;case 13:if(2>this.stack.length){d=!0;break}d=this.stack.pop();this.lsb=f=this.stack.pop();this.width=d;this.stack.push(f);d= this.executeCommand(1,Kf);break;case 14:this.output.push(td[0]);break;case 21:if(this.flexing)break;d=this.executeCommand(2,Jf);break;case 22:if(this.flexing){this.stack.push(0);break}d=this.executeCommand(1,Kf);break;case 30:d=this.executeCommand(4,uh);break;case 31:d=this.executeCommand(4,vh);break;case 3072:this.stack=[];break;case 3073:this.stack=[];break;case 3074:this.stack=[];break;case 3078:jc?(this.seac=this.stack.splice(-4,4),d=this.executeCommand(0,td)):d=this.executeCommand(4,td);break; case 3079:if(4>this.stack.length){d=!0;break}this.stack.pop();var d=this.stack.pop(),h=this.stack.pop();this.lsb=f=this.stack.pop();this.width=d;this.stack.push(f,h);d=this.executeCommand(2,Jf);break;case 3084:if(2>this.stack.length){d=!0;break}f=this.stack.pop();h=this.stack.pop();this.stack.push(h/f);break;case 3088:if(2>this.stack.length){d=!0;break}f=this.stack.pop();h=this.stack.pop();0===f&&3===h?(f=this.stack.splice(this.stack.length-17,17),this.stack.push(f[2]+f[0],f[3]+f[1],f[4],f[5],f[6], f[7],f[8],f[9],f[10],f[11],f[12],f[13],f[14]),d=this.executeCommand(13,th,!0),this.flexing=!1,this.stack.push(f[15],f[16])):1===f&&0===h&&(this.flexing=!0);break;case 3089:break;case 3105:this.stack=[];break;default:R('Unknown type 1 charstring command of "'+f+'"')}if(d)break}else f=246>=f?f-139:250>=f?256*(f-247)+a[++e]+108:254>=f?-(256*(f-251))-a[++e]-108:(a[++e]&255)<<24|(a[++e]&255)<<16|(a[++e]&255)<<8|(a[++e]&255)<<0,this.stack.push(f)}return d},executeCommand:function(a,b,c){var d=this.stack.length; if(a>d)return!0;for(var e=d-a,f=e;f>8&255,h&255):(h=65536*h|0,this.output.push(255,h>>24&255,h>>16&255,h>>8&255,h&255))}this.output.push.apply(this.output,b);c?this.stack.splice(e,a):this.stack=[];return!1}};var ud=function(a,b,c){for(var d=[],e="",f=a.length,h=0;h>8,b=52845*(e+b)+22719&65535;return d.slice(c)},Lf=function(a){return 47===a||91===a||93===a||123===a||125===a||40===a||41===a},vd=function(a,b){b&&(a=new $(ud(a.getBytes(), wh,4)));this.stream=a;this.nextChar()},wh=55665;vd.prototype={readNumberArray:function(){this.getToken();for(var a=[];;){var b=this.getToken();if(null===b||"]"===b||"}"===b)break;a.push(parseFloat(b||0))}return a},readNumber:function(){var a=this.getToken();return parseFloat(a||0)},readInt:function(){var a=this.getToken();return parseInt(a||0,10)|0},readBoolean:function(){return"true"===this.getToken()?1:0},nextChar:function(){return this.currentChar=this.stream.getByte()},getToken:function(){for(var a= !1,b=this.currentChar;;){if(-1===b)return null;if(a){if(10===b||13===b)a=!1}else if(37===b)a=!0;else if(!Z.isSpace(b))break;b=this.nextChar()}if(Lf(b))return this.nextChar(),String.fromCharCode(b);a="";do a+=String.fromCharCode(b),b=this.nextChar();while(0<=b&&!Z.isSpace(b)&&!Lf(b));return a},extractFontProgram:function(){for(var a=this.stream,b=[],c=[],d={subrs:[],charstrings:[],properties:{privateData:{lenIV:4}}},e;null!==(e=this.getToken());)if("/"===e)switch(e=this.getToken(),e){case "CharStrings":this.getToken(); this.getToken();this.getToken();for(this.getToken();;){e=this.getToken();if(null===e||"end"===e)break;if("/"===e){var f=this.getToken();e=this.readInt();this.getToken();var h=a.makeSubStream(a.pos,e),g=d.properties.privateData.lenIV,h=ud(h.getBytes(),4330,g);a.skip(e);this.nextChar();e=this.getToken();"noaccess"===e&&this.getToken();c.push({glyph:f,encoded:h})}}break;case "Subrs":this.readInt();for(this.getToken();"dup"===this.getToken();)f=this.readInt(),e=this.readInt(),this.getToken(),h=a.makeSubStream(a.pos, e),g=d.properties.privateData.lenIV,h=ud(h.getBytes(),4330,g),a.skip(e),this.nextChar(),e=this.getToken(),"noaccess"===e&&this.getToken(),b[f]=h;break;case "BlueValues":case "OtherBlues":case "FamilyBlues":case "FamilyOtherBlues":this.readNumberArray();break;case "StemSnapH":case "StemSnapV":d.properties.privateData[e]=this.readNumberArray();break;case "StdHW":case "StdVW":d.properties.privateData[e]=this.readNumberArray()[0];break;case "BlueShift":case "lenIV":case "BlueFuzz":case "BlueScale":case "LanguageGroup":case "ExpansionFactor":d.properties.privateData[e]= this.readNumber();break;case "ForceBold":d.properties.privateData[e]=this.readBoolean()}for(a=0;ac?107:33769>c? 1131:32768,d=[],e=0;e>8&255,j&255)}f.charset=new Cb(!1,0,[],g);c=new qb;c.add([139,14]);for(a=0;a>4,f=f&15;if(15==h)break;b+=d[h];if(15==f)break;b+=d[f]}return parseFloat(b)}if(28===b)return b=a[c++],b=(b<<24|a[c++]<<16)>>16;if(29===b)return b=a[c++],b=b<<8|a[c++],b=b<<8|a[c++],b=b<<8|a[c++];if(32<=b&&246>=b)return b-139;if(247<=b&&250>=b)return 256*(b-247)+a[c++]+108;if(251<= b&&254>=b)return-(256*(b-251))-a[c++]-108;r("255 is not a valid DICT command");return-1}for(var c=0,d=[],e=[],c=0,f=a.length;c=h?(12===h&&(h=h<<8|a[++c]),e.push([h,d]),d=[],++c):d.push(b())}return e},parseIndex:function(a){var b=new qb,c=this.bytes,d=c[a++]<<8|c[a++],e=[],f=a;if(0!==d){for(var f=c[a++],h=a+(d+1)*f-1,g=0,j=d+1;gj||126>16,m+=2,e++):14==p?4<=e&&(e-=4,jc&&(b[d]=f.slice(e,e+4),j=!1)):32<=p&&246>=p?(f[e]=p-139,e++):247<=p&&254>=p?(f[e]=251>p?(p-247<<8)+k[m]+108:-(p-251<<8)-k[m]-108,m++,e++):255==p?(f[e]=(k[m]<<24|k[m+1]<<16|k[m+2]<<8|k[m+ 3])/65536,m+=4,e++):19==p||20==p?(g+=e>>1,m+=g+7>>3,e=0):n=xh[p];if(n){n.stem&&(g+=e>>1);if("min"in n&&!h&&e=this.bytes.length)this.emptyPrivateDictionary(a);else if(c=this.bytes.subarray(b,b+c),c=this.parseDict(c),c=this.createDict(rb,c,a.strings),a.privateDict=c,c.getByName("Subrs")){var d=c.getByName("Subrs"),b=b+d;0===d||b>=this.bytes.length?this.emptyPrivateDictionary(a):(a=this.parseIndex(b),c.subrsIndex=a.obj)}}}else this.emptyPrivateDictionary(a)},parseCharsets:function(a,b,c,d){if(0===a)return new Cb(!0, zd.ISO_ADOBE,ah);if(1==a)return new Cb(!0,zd.EXPERT,bh);if(2==a)return new Cb(!0,zd.EXPERT_SUBSET,ch);var e=this.bytes,f=a,h=e[a++],g=[".notdef"];b-=1;switch(h){case 0:for(var j=0;j=a?wd[a]:a-391<=this.strings.length?this.strings[a-391]:wd[0]},add:function(a){this.strings.push(a)},get count(){return this.strings.length}};bc=Qf;var qb,Rf=function(){this.objects= [];this.length=0};Rf.prototype={add:function(a){this.length+=a.length;this.objects.push(a)},set:function(a,b){this.length+=b.length-this.objects[a].length;this.objects[a]=b},get:function(a){return this.objects[a]},get count(){return this.objects.length}};qb=Rf;var Ya=function(a,b){this.keyToNameMap=a.keyToNameMap;this.nameToKeyMap=a.nameToKeyMap;this.defaults=a.defaults;this.types=a.types;this.opcodes=a.opcodes;this.order=a.order;this.strings=b;this.values={}};Ya.prototype={setByKey:function(a,b){if(!(a in this.keyToNameMap))return!1;if(0===b.length)return!0;var c=this.types[a];if("num"===c||"sid"===c||"offset"===c)b=b[0];this.values[a]=b;return!0},setByName:function(a,b){a in this.nameToKeyMap||r('Invalid dictionary name "'+a+'"');this.values[this.nameToKeyMap[a]]=b},hasName:function(a){return this.nameToKeyMap[a]in this.values},getByName:function(a){a in this.nameToKeyMap||r('Invalid dictionary name "'+a+'"');a=this.nameToKeyMap[a];return!(a in this.values)?this.defaults[a]:this.values[a]},removeByName:function(a){delete this.values[this.nameToKeyMap[a]]}}; Ya.createTables=function(a){for(var b={keyToNameMap:{},nameToKeyMap:{},defaults:{},types:{},opcodes:{},order:[]},c=0,d=a.length;c>24&255;c[g]=l>>16&255;c[j]=l>>8&255;c[k]=l&255}}};var yc,Uf=function(a){for(var b=[],c=0,d=a.length;c=a?a=[a+139]:108<=a&&1131>=a?(a=[a-108],a=[(a>>8)+247,a&255]):-1131<=a&&-108>=a?(a=-a-108,a=[(a>>8)+ 251,a&255]):a=-32768<=a&&32767>=a?[28,a>>8&255,a&255]:[29,a>>24&255,a>>16&255,a>>8&255,a&255];return a},compileHeader:function(a){return[a.major,a.minor,a.hdrSize,a.offSize]},compileNameIndex:function(a){for(var b=new qb,c=0,d=a.length;c>8&255,d&255],f=1,h=0;hf?1:65536>f?2:16777216>f?3:4;e.push(f);for(var g=1,h=0;h>8&255,g&255):3===f?e.push(g>>16&255,g>>8&255,g&255):e.push(g>>>24&255,g>>16&255,g>>8&255,g&255),c[h]&&(g+= c[h].length);for(h=0;h>1;c>16,e=e+10;if(0>f){var h=0,g=0;do{var j=a[e]<<8|a[e+1],f=a[e+2]<<8|a[e+3],e=e+4;j&1?(h=(a[e]<<24|a[e+1]<<16)>>16,g=(a[e+2]<<24|a[e+3]<<16)>>16,e+=4):(h=a[e++],g=a[e++]);j&2||(g=h=0);var k=1,l=1,m=0,p=0;j&8?(k=l=(a[e]<<24|a[e+1]<<16)/1073741824,e+=2):j&64?(k=(a[e]<<24|a[e+1]<<16)/1073741824,l=(a[e+2]<<24|a[e+3]<<16)/1073741824,e+=4):j&128&&(k=(a[e]<< 24|a[e+1]<<16)/1073741824,m=(a[e+2]<<24|a[e+3]<<16)/1073741824,p=(a[e+4]<<24|a[e+5]<<16)/1073741824,l=(a[e+6]<<24|a[e+7]<<16)/1073741824,e+=8);if(f=c.glyphs[f])b.push("c.save();"),b.push("c.transform("+k+","+m+","+p+","+l+","+h+","+g+");"),Wf(f,b,c),b.push("c.restore();")}while(j&32)}else{c=[];for(j=0;j>16;e+=2;break;case 2:h-=a[e++];break;case 18:h+=a[e++]}k[j].x=h}for(j=0;j>16;e+=2;break;case 4:g-=a[e++];break;case 36:g+=a[e++]}k[j].y=g}for(e=j=0;e>1;n=!0;break;case 3:l+=g.length>>1;n=!0;break; case 4:k+=g.pop();d(j,k);n=!0;break;case 5:for(;0Math.abs(k-w)?j+=g.shift():k+=g.shift();f(q,s,t,u,j,k);break;default:r("unknown operator: 12 "+q)}break;case 14:4<=g.length&&(p=g.pop(),a=g.pop(),k=g.pop(),j=g.pop(),b.push("c.save();"),b.push("c.translate("+j+","+k+");"),p=ib(c.cmap,String.fromCharCode(c.glyphNameMap[aa.StandardEncoding[p]])), Dd(c.glyphs[p],b,c),b.push("c.restore();"),p=ib(c.cmap,String.fromCharCode(c.glyphNameMap[aa.StandardEncoding[a]])),Dd(c.glyphs[p],b,c));return;case 18:l+=g.length>>1;n=!0;break;case 19:l+=g.length>>1;p+=l+7>>3;n=!0;break;case 20:l+=g.length>>1;p+=l+7>>3;n=!0;break;case 21:k+=g.pop();j+=g.pop();d(j,k);n=!0;break;case 22:j+=g.pop();d(j,k);n=!0;break;case 23:l+=g.length>>1;n=!0;break;case 24:for(;2>16);p+=2;break;case 29:q=g.pop()+c.gsubrsBias;(q=c.gsubrs[q])&&h(q);break;case 30:for(;0q&&r("unknown operator: "+q),247>q?g.push(q-139):251>q?g.push(256*(q-247)+a[p++]+108):255>q?g.push(256*-(q-251)-a[p++]-108):(g.push((a[p]<<24|a[p+1]<<16|a[p+2]<<8|a[p+3])/65536),p+=4)}n&&(g.length=0)}}var g=[],j=0,k=0,l=0;h(a)},Db=function(a){this.compiledGlyphs={};this.fontMatrix=a},Xf=function(a,b,c){c=c||[4.88E-4,0,0,4.88E-4,0,0];Db.call(this,c);this.glyphs=a;this.cmap=b;this.compiledGlyphs= []},Yf=function(a,b,c,d){c=c||[0.0010,0,0,0.0010,0,0];Db.call(this,c);this.glyphs=a.glyphs;this.gsubrs=a.gsubrs||[];this.subrs=a.subrs||[];this.cmap=b;this.glyphNameMap=d||cb;this.compiledGlyphs=[];this.gsubrsBias=1240>this.gsubrs.length?107:33900>this.gsubrs.length?1131:32768;this.subrsBias=1240>this.subrs.length?107:33900>this.subrs.length?1131:32768};Db.prototype={getPathJs:function(a){a=ib(this.cmap,a);var b=this.compiledGlyphs[a];b||(this.compiledGlyphs[a]=b=this.compileGlyph(this.glyphs[a])); return b},compileGlyph:function(a){if(!a||0===a.length||14===a[0])return"";var b=[];b.push("c.save();");b.push("c.transform("+this.fontMatrix.join(",")+");");b.push("c.scale(size, -size);");this.compileGlyphImpl(a,b);b.push("c.restore();");return b.join("\n")},compileGlyphImpl:function(){r("Children classes should implement this.")},hasBuiltPath:function(a){return ib(this.cmap,a)in this.compiledGlyphs}};D.inherit(Xf,Db,{compileGlyphImpl:function(a,b){Wf(a,b,this)}});D.inherit(Yf,Db,{compileGlyphImpl:function(a, b){Dd(a,b,this)}});Af={create:function(a){for(var b=new Uint8Array(a.data),c,d,e,f,h,g,j=ka(b,4),k=0,l=12;k>1,m=m+n+14,n=[],q=0;qthis.width||1>this.height)&&r("Invalid image width: "+this.width+" or height: "+this.height);this.interpolate=d.get("Interpolate","I")||!1;this.imageMask=d.get("ImageMask","IM")||!1;this.matte=d.get("Matte")||!1;c=c.bitsPerComponent;c||(c=d.get("BitsPerComponent","BPC"))||(this.imageMask?c=1:r("Bits per component missing in image: "+this.imageMask)); this.bpc=c;if(!this.imageMask){var g=d.get("ColorSpace","CS");g||(Aa('JPX images (which don"t require color spaces'),g=new $a("DeviceRGB"));this.colorSpace=N.parse(g,a,b);this.numComps=this.colorSpace.numComps}this.decode=d.get("Decode","D");this.needsDecode=!1;if(this.decode&&(this.colorSpace&&!this.colorSpace.isDefaultDecode(this.decode)||h&&!N.isDefaultDecode(this.decode,1))){this.needsDecode=!0;h=(1<=b?new Uint8Array(g):16>=b?new Uint16Array(g):new Uint32Array(g);g=d/f;e/=h;for(var j,k,l,m=0;m>=1;return{data:e,width:b,height:c}}; sa.prototype={get drawWidth(){return!this.smask?this.width:Math.max(this.width,this.smask.width)},get drawHeight(){return!this.smask?this.height:Math.max(this.height,this.smask.height)},decodeBuffer:function(a){var b=this.bpc,c=this.numComps,d,e;d=this.decodeAddends;e=this.decodeCoefficients;var f=(1<m?0:m>f?f:m;g++}},getComponents:function(a){var b= this.bpc;if(8===b)return a;var c=this.width,d=this.numComps,e=c*this.height*d,f=0,h=8>=b?new Uint8Array(e):16>=b?new Uint16Array(e):new Uint32Array(e),c=c*d,g=(1<>=1,0>=b&&(d=a[f++],b=128),h[j]=+!!(d&b);else for(var k=0,j=d=0;j>k;h[j]=0>l?0:l>g?g:l;d&=(1<e[l+1]){a=255;break}}f[d]=a}}else r("Unknown mask format.");else{f=new Uint8Array(a*b);d=0;for(g=a*b;d(a[c]-d[0])*e+d[0]?0:255<(a[c]-d[0])*e+d[0]?255:(a[c]-d[0])*e+d[0])|0,a[c+1]=(0>(a[c+1]-d[1])*e+d[1]?0:255<(a[c+1]-d[1])*e+d[1]?255:(a[c+1]-d[1])*e+d[1])|0,a[c+2]=(0>(a[c+2]-d[2])*e+d[2]?0:255<(a[c+2]-d[2])*e+d[2]?255:(a[c+2]-d[2])*e+d[2])|0)}}},fillRgbaBuffer:function(a,b,c){var d=this.width, e=this.height,f=this.bpc,h=d*this.numComps*f+7>>3,g=this.getImageBytes(e*h),h=0|g.length/h*c/e,j=this.getComponents(g),g=this.getOpacity(b,c,j);this.needsDecode&&this.decodeBuffer(j);f=this.colorSpace.createRgbBuffer(j,0,d*e,f);if(d!=b||e!=c)f=sa.resize(f,this.bpc,3,d,e,b,c);d=c=0;e=4*b*h;for(j=0;j>3)),b=this.getComponents(b);this.needsDecode&&this.decodeBuffer(b);c*=d;e=255/((1<>")&&this.buf1!=U;)if(C(this.buf1)){var c=this.buf1.name;this.shift();if(this.buf1==U)break;b.set(c,this.getObj(a))}else L("Malformed dictionary, key must be a name object"),this.shift();this.buf1==U&&r("End of file inside dictionary"); if(P(this.buf2,"stream"))return this.allowStreams?this.makeStream(b,a):b;this.shift();return b}if(J(this.buf1))return a=this.buf1,this.shift(),J(this.buf1)&&P(this.buf2,"R")&&(a=new Fb(a,this.buf1),this.shift(),this.shift()),a;if(ga(this.buf1))return b=this.buf1,this.shift(),a&&(b=a.decryptString(b)),b;a=this.buf1;this.shift();return a},makeInlineImage:function(a){for(var b=this.lexer.stream,c=new ha;!P(this.buf1,"ID")&&this.buf1!=U;){C(this.buf1)||r("Dictionary key must be a name object");var d= this.buf1.name;this.shift();if(this.buf1==U)break;c.set(d,this.getObj(a))}for(var d=b.pos,e=0,f,h,g;4!=e&&-1!==(f=b.getByte());)switch(f|0){case 32:case 13:case 10:var j=b.peekBytes(5);h=0;for(g=j.length;hf||127=a?a&15:65<=a&&70>=a||97<=a&&102>=a?(a&15)+9:-1};Id.isSpace=function(a){return 32===a||9===a||13===a||10===a};var Vb=[1,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,2,0,0, 2,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];Id.prototype={nextChar:function(){return this.currentChar=this.stream.getByte()}, getNumber:function(){for(var a=!1,b=this.currentChar,c=String.fromCharCode(b);0<=(b=this.nextChar());)if(46===b&&!a)c+=".",a=!0;else if(45===b)R("Badly formated number");else if(48<=b&&57>=b)c+=String.fromCharCode(b);else if(69===b||101===b)a=!0;else break;a=parseFloat(c);isNaN(a)&&r("Invalid floating point number: "+a);return a},getString:function(){for(var a=1,b=!1,c="",d=this.nextChar();;){var e=!1;switch(d|0){case -1:R("Unterminated string");b=!0;break;case 40:++a;c+="(";break;case 41:0===--a? (this.nextChar(),b=!0):c+=")";break;case 92:d=this.nextChar();switch(d){case -1:R("Unterminated string");b=!0;break;case 110:c+="\n";break;case 114:c+="\r";break;case 116:c+="\t";break;case 98:c+="\b";break;case 102:c+="\f";break;case 92:case 40:case 41:c+=String.fromCharCode(d);break;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:var f=d&15,d=this.nextChar(),e=!0;48<=d&&55>=d&&(f=(f<<3)+(d&15),d=this.nextChar(),48<=d&&55>=d&&(e=!1,f=(f<<3)+(d&15)));c+=String.fromCharCode(f);break; case 10:case 13:break;default:c+=String.fromCharCode(d)}break;default:c+=String.fromCharCode(d)}if(b)break;e||(d=this.nextChar())}return c},getName:function(){for(var a="",b;0<=(b=this.nextChar())&&!Vb[b];)if(35===b){b=this.nextChar();var c=nc(b);if(-1!=c){var d=nc(this.nextChar());-1==d&&r("Illegal digit in hex char in name: "+d);a+=String.fromCharCode(c<<4|d)}else a+="#",a+=String.fromCharCode(b)}else a+=String.fromCharCode(b);128b){R("Unterminated hex string");break}else if(62===b){this.nextChar();break}else{if(1!==Vb[b]){if(c){if(d=nc(b),-1===d){R('Ignoring invalid character "'+b+'" in hex string');b=this.nextChar();continue}}else{e=nc(b);if(-1===e){R('Ignoring invalid character "'+b+'" in hex string');b=this.nextChar();continue}a+=String.fromCharCode(d<<4|e)}c=!c}b=this.nextChar()}return a},getObj:function(){for(var a=!1, b=this.currentChar;;){if(0>b)return U;if(a){if(10===b||13==b)a=!1}else if(37===b)a=!0;else if(1!==Vb[b])break;b=this.nextChar()}switch(b|0){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 43:case 45:case 46:return this.getNumber();case 40:return this.getString();case 47:return this.getName();case 91:return this.nextChar(),Ea.get("[");case 93:return this.nextChar(),Ea.get("]");case 60:return b=this.nextChar(),60===b?(this.nextChar(),Ea.get("<<")):this.getHexString(); case 62:return b=this.nextChar(),62===b?(this.nextChar(),Ea.get(">>")):Ea.get(">");case 123:return this.nextChar(),Ea.get("{");case 125:return this.nextChar(),Ea.get("}");case 41:r("Illegal character: "+b)}var a=String.fromCharCode(b),c=this.knownCommands,d=c&&a in c;for(;0<=(b=this.nextChar())&&!Vb[b];){var e=a+String.fromCharCode(b);if(d&&!(e in c))break;128==a.length&&r("Command token too long: "+a.length);a=e;d=c&&a in c}return"true"==a?!0:"false"==a?!1:"null"==a?null:Ea.get(a)},skipToNextLine:function(){for(var a= this.currentChar;0<=a;){if(13===a){a=this.nextChar();10===a&&this.nextChar();break}else if(10===a){this.nextChar();break}a=this.nextChar()}}};Z=Id;var Ce,fg=function(a){this.parser=new Ja(new Z(a),!1,null);a=this.parser.getObj();var b=this.parser.getObj(),c=this.parser.getObj();this.linDict=this.parser.getObj();J(a)&&(J(b)&&P(c,"obj")&&B(this.linDict))&&(a=this.linDict.get("Linearized"),tb(a)&&0=this.end?-1:this.bytes[this.pos++]},getBytes:function(a){var b=this.bytes,c=this.pos, d=this.end;if(!a)return b.subarray(c,d);a=c+a;a>d&&(a=d);this.pos=a;return b.subarray(c,a)},peekBytes:function(a){a=this.getBytes(a);this.pos-=a.length;return a},skip:function(a){a||(a=1);this.pos+=a},reset:function(){this.pos=this.start},moveStart:function(){this.start=this.pos},makeSubStream:function(a,b,c){return new Jd(this.bytes.buffer,a,b,c)},isStream:!0};$=Jd;var O=function(){this.bufferLength=this.pos=0;this.eof=!1;this.buffer=null};O.prototype={ensureBuffer:function(a){var b=this.buffer, c=b?b.byteLength:0;if(ac&&(a=c)}else{for(;!this.eof;)this.readBlock();a=this.bufferLength;a||(this.buffer=new Uint8Array(0))}this.pos= a;return this.buffer.subarray(b,a)},peekBytes:function(a){a=this.getBytes(a);this.pos-=a.length;return a},makeSubStream:function(a,b,c){for(var d=a+b;this.bufferLength<=d&&!this.eof;)this.readBlock();return new $(this.buffer,a,b,c)},skip:function(a){a||(a=1);this.pos+=a},reset:function(){this.pos=0},getBaseStreams:function(){return this.str&&this.str.getBaseStreams?this.str.getBaseStreams():[]}};Object.create(O.prototype);var ye,Eb=function(a){this.streams=a;O.call(this)};Eb.prototype=Object.create(O.prototype); Eb.prototype.readBlock=function(){var a=this.streams;if(0===a.length)this.eof=!0;else{var a=a.shift().getBytes(),b=this.bufferLength,c=b+a.length;this.ensureBuffer(c).set(a,b);this.bufferLength=c}};Eb.prototype.getBaseStreams=function(){for(var a=[],b=0,c=this.streams.length;b>a;this.codeSize=b-a;this.bytesPos=e;return c&(1<>16;c&=65535;(0===a||a>b;this.codeSize=a-b;this.bytesPos=f;return c};Za.prototype.generateHuffmanTable=function(a){for(var b=a.length,c=0,d=0;dc&&(c=a[d]);for(var e=1<>=1;for(d=l;d>=1;if(0===a){var a=this.bytes,b=this.bytesPos,c;"undefined"==typeof(c=a[b++])&&r("Bad block header in flate stream");var d=c;"undefined"==typeof(c=a[b++])&&r("Bad block header in flate stream");d|=c<<8;"undefined"==typeof(c=a[b++])&&r("Bad block header in flate stream");var e=c;"undefined"==typeof(c=a[b++])&&r("Bad block header in flate stream");e|=c<<8;e!=(~d&65535)&&(0!==d||0!==e)&&r("Bad uncompressed block length in flate stream");this.codeSize= this.codeBuf=0;c=this.bufferLength;e=this.ensureBuffer(c+d);this.bufferLength=d=c+d;for(var f=c;fh)f+1>=d&&(e=this.ensureBuffer(f+1),d=e.length),e[f++]=h;else{if(256==h){this.bufferLength=f;break}h-=257;h=Bh[h];g=h>>16;0>16;0=d&&(e=this.ensureBuffer(f+a),d=e.length);for(g=0;g=c)return a;2!==c&&(10>c||15>3;this.rowBytes=e*c*d+7>>3;O.call(this);return this}; zc.prototype=Object.create(O.prototype);zc.prototype.readBlockTiff=function(){var a=this.rowBytes,b=this.bufferLength,c=this.ensureBuffer(b+a),d=this.bits,e=this.colors,f=this.str.getBytes(a);this.eof=!f.length;if(!this.eof){var h=0,g=0,j=0,k=0,l=b;if(1===d)for(b=0;b>e)&255,h&=65535;else if(8===d){for(b=0;b>j-d)&m,j-=d,g=g<>k-8&255,k-=8);0>1)+d[c];for(;c>1)+d[c]&255,e++;break;case 4:for(c=0;cm&&(m=-m);var p=j-g;0>p&&(p=-p);var n=j-k;0>n&&(n=-n);j=d[c];m<=p&&m<=n?f[e++]=l+j:p<=n?f[e++]=g+j:f[e++]=k+j}break;default:r("Unsupported predictor: "+c)}this.bufferLength+=a}};Fd=zc;var zb,Wb=function(a, b){this.dict=b;this.bytes=a;O.call(this)};Wb.prototype=Object.create(O.prototype);Wb.prototype.ensureBuffer=function(){if(!this.bufferLength)try{var a=new hg;-1!=this.colorTransform&&(a.colorTransform=this.colorTransform);a.parse(this.bytes);var b=a.getData(a.width,a.height);this.buffer=b;this.bufferLength=b.length;this.eof=!0}catch(c){r("JPEG error: "+c)}};Wb.prototype.getIR=function(){return oc(this.bytes)};Wb.prototype.isNativelySupported=function(a,b){var c=N.parse(this.dict.get("ColorSpace", "CS"),a,b);return"DeviceGray"===c.name||"DeviceRGB"===c.name};Wb.prototype.isNativelyDecodable=function(a,b){var c=N.parse(this.dict.get("ColorSpace","CS"),a,b).numComps;return 1==c||3==c};zb=Wb;var $f,Kd=function(a,b){this.dict=b;this.bytes=a;O.call(this)};Kd.prototype=Object.create(O.prototype);Kd.prototype.ensureBuffer=function(){if(!this.bufferLength){var a=new ig;a.parse(this.bytes);var b=a.width,c=a.height,d=a.componentsCount;1!=d&&(3!=d&&4!=d)&&r("JPX with "+d+" components is not supported"); for(var c=new Uint8Array(b*c*d),e=0,f=a.tiles.length;ed;++d)a[c+d]=0;this.bufferLength+= 4}else{var e=this.input;e[0]=b;for(d=1;5>d;++d){for(b=a.getByte();Z.isSpace(b);)b=a.getByte();e[d]=b;if(-1===b||126==b)break}a=this.ensureBuffer(c+d-1);this.bufferLength+=d-1;if(5>d){for(;5>d;++d)e[d]=117;this.eof=!0}for(d=b=0;5>d;++d)b=85*b+(e[d]-33);for(d=3;0<=d;--d)a[c+d]=b&255,b>>=8}}};ag=Nd;var bg,Od=function(a){this.str=a;this.dict=a.dict;this.firstDigit=-1;O.call(this)};Od.prototype=Object.create(O.prototype);Od.prototype.readBlock=function(){var a=this.str.getBytes(8E3);if(a.length){for(var b= this.ensureBuffer(this.bufferLength+(a.length+1>>1)),c=this.bufferLength,d=this.firstDigit,e=0,f=a.length;e=h)h&=15;else if(65<=h&&70>=h||97<=h&&102>=h)h=(h&15)+9;else if(62===h){this.eof=!0;break}else continue;0>d?d=h:(b[c++]=d<<4|h,d=-1)}0<=d&&this.eof&&(b[c++]=d<<4,d=-1);this.firstDigit=d;this.bufferLength=c}else this.eof=!0};bg=Od;var dg,Pd=function(a){this.str=a;this.dict=a.dict;O.call(this)};Pd.prototype=Object.create(O.prototype);Pd.prototype.readBlock=function(){var a= this.str.getBytes(2);if(!a||2>a.length||128==a[0])this.eof=!0;else{var b=this.bufferLength,c=a[0];if(128>c){var d=this.ensureBuffer(b+c+1);d[b++]=a[1];0this.encoding;this.outputBits=this.inputBuf=this.inputBits=0;for(this.buf=U;0===(c=this.lookBits(12));)this.eatBits(1);1==c&&this.eatBits(12);0c[d]&&(a>this.columns&&(L("row is wrong length"),this.err=!0,a=this.columns),d&1^b&&++d,c[d]=a);this.codingPos=d};Da.prototype.addPixelsNeg=function(a,b){var c=this.codingLine,d=this.codingPos;if(a>c[d])a>this.columns&&(L("row is wrong length"),this.err=!0,a=this.columns),d&1^b&&++d,c[d]=a;else if(aa&&(L("invalid code"), this.err=!0,a=0);for(;0d;++d)f=this.lookBits(12),1!=f&&L("bad rtc code: "+f),this.eatBits(12),0>1)break;this.eatBits(1)}this.eatBits(12);0f?(this.buf<<=f,this.codingPos&1||(this.buf|=255>>8-f),this.outputBits-= f,f=0):(this.buf<<=this.outputBits,this.codingPos&1||(this.buf|=255>>8-this.outputBits),f-=this.outputBits,this.outputBits=0,b[this.codingPos]=d)if(e=c[e-d],e[0]==a)return this.eatBits(a),[!0,e[1],!0]}return[!1, 0,!1]};Da.prototype.getTwoDimCode=function(){var a=0;if(this.eoblock){if(a=this.lookBits(7),(a=kg[a])&&0>5?lg[a]:mg[a>>3];if(0>7?ng[a]:0===a>>9&&0!==a>>7?og[(a>>1)-64]:pg[a>>7];if(0>16-a;this.inputBuf=(this.inputBuf<<8)+b;this.inputBits+=8}return this.inputBuf>>this.inputBits-a&65535>>16-a};Da.prototype.eatBits=function(a){if(0>(this.inputBits-=a))this.inputBits=0};cg=Da;var Hd,Ac=function(a,b){this.str=a;this.dict=a.dict;this.bitsCached=this.cachedData=0;for(var c={earlyChange:b,codeLength:9,nextCode:258,dictionaryValues:new Uint8Array(4096),dictionaryLengths:new Uint16Array(4096),dictionaryPrevCodes:new Uint16Array(4096), currentSequence:new Uint8Array(4096),currentSequenceLength:0},d=0;256>d;++d)c.dictionaryValues[d]=d,c.dictionaryLengths[d]=1;this.lzwState=c;O.call(this)};Ac.prototype=Object.create(O.prototype);Ac.prototype.readBits=function(a){for(var b=this.bitsCached,c=this.cachedData;b>>b&(1<b;b++){var u=this.readBits(l),r=0u)p[0]=u,n=1;else if(258<=u)if(ub;)b<<=1,c++;return c},Bc=function(a,b,c){a=c.xcb_;var d=c.ycb_,e=1<a.codingStyleParameters.decompositionLevelsCount)){for(var a=a.resolutions[h],l=a.precinctParameters.numprecincts;j< l;)return a=tg(a,j,f),j++,a;j=0}}g=0}h=0}throw"Out of packets";}},Jh=function(a){var b=a.tiles[a.currentTile.index],c=b.codingStyleDefaultParameters.layersCount,d=a.SIZ.Csiz,e=0;for(a=0;aa.codingStyleParameters.decompositionLevelsCount)){for(var a=a.resolutions[f],l=a.precinctParameters.numprecincts;j< l;)return a=tg(a,j,h),j++,a;j=0}}g=0}h=0}throw"Out of packets";}},Kh=function(a,b,c,d){function e(a){for(;j>>j&(1<=a)return(a&3)+3;a=a<<5|e(5);if(510>=a)return(a&31)+6;a=a<<7|e(7);return(a&127)+37}var h=0,g,j=0,k=!1;for(a=a.tiles[a.currentTile.index].packetsIterator;h>5;for(var Qb=[];g>3,xa.mu=0):(xa.epsilon=a[g]>>3,xa.mu=(a[g]&7)<<8|a[g+1],g+=2);Qb.push(xa)}H.SPqcds=Qb;d.mainHeader?d.QCD=H:(d.currentTile.QCD=H,d.currentTile.QCC=[]);break;case 65373:var h=kb(a,e),La={};g=e+2;var N;257>d.SIZ.Csiz?N=a[g++]:(N=kb(a,g),g+=2);E=a[g++];switch(E&31){case 0:D=8;J=!0;break;case 1:D=16;J=!1;break;case 2:D=16;J=!0;break;default:throw"Invalid SQcd value "+ E;}La.noQuantization=8==D;La.scalarExpounded=J;La.guardBits=E>>5;for(Qb=[];g>3,xa.mu=0):(xa.epsilon=a[g]>>3,xa.mu=(a[g]&7)<<8|a[g+1],g+=2),Qb.push(xa);La.SPqcds=Qb;d.mainHeader?d.QCC[N]=La:d.currentTile.QCC[N]=La;break;case 65362:var h=kb(a,e),Q={};g=e+2;var O=a[g++];Q.entropyCoderWithCustomPrecincts=!!(O&1);Q.sopMarkerUsed=!!(O&2);Q.ephMarkerUsed=!!(O&4);Q.progressionOrder=a[g++];Q.layersCount=kb(a,g);g+=2;Q.multipleComponentTransform=a[g++];Q.decompositionLevelsCount= a[g++];Q.xcb=(a[g++]&15)+2;Q.ycb=(a[g++]&15)+2;var L=a[g++];Q.selectiveArithmeticCodingBypass=!!(L&1);Q.resetContextProbabilities=!!(L&2);Q.terminationOnEachCodingPass=!!(L&4);Q.verticalyStripe=!!(L&8);Q.predictableTermination=!!(L&16);Q.segmentationSymbolUsed=!!(L&32);Q.transformation=a[g++];if(Q.entropyCoderWithCustomPrecincts){for(var T={};g>4})}Q.precinctsSizes=T}if(Q.sopMarkerUsed||Q.ephMarkerUsed||Q.selectiveArithmeticCodingBypass||Q.resetContextProbabilities|| Q.terminationOnEachCodingPass||Q.verticalyStripe||Q.predictableTermination)throw"Unsupported COD options: "+Oa.JSON.stringify(Q);d.mainHeader?d.COD=Q:(d.currentTile.COD=Q,d.currentTile.COC=[]);break;case 65424:var h=kb(a,e),F={};F.index=kb(a,e+2);F.length=jb(a,e+4);F.dataEnd=F.length+e-2;F.partIndex=a[e+8];F.partsCount=a[e+9];d.mainHeader=!1;0===F.partIndex&&(F.COD=d.COD,F.COC=d.COC.slice(0),F.QCD=d.QCD,F.QCC=d.QCC.slice(0));d.currentTile=F;break;case 65427:F=d.currentTile;if(0===F.partIndex){for(var P= d,Z=P.SIZ.Csiz,ba=P.tiles[F.index],pa=0;paca.trx0?Math.ceil(ca.trx1/ra)-Math.floor(ca.trx0/ ra):0,Aa=ca.try1>ca.try0?Math.ceil(ca.try1/sa)-Math.floor(ca.try0/sa):0;ca.precinctParameters={precinctXOffset:Math.floor(ca.trx0/ra)*ra,precinctYOffset:Math.floor(ca.try0/sa)*sa,precinctWidth:ra,precinctHeight:sa,numprecinctswide:za,numprecinctshigh:Aa,numprecincts:za*Aa};ua.push(ya);var K;if(0===ga)K={type:"LL"},K.tbx0=Math.ceil(S.tcx0/aa),K.tby0=Math.ceil(S.tcy0/aa),K.tbx1=Math.ceil(S.tcx1/aa),K.tby1=Math.ceil(S.tcy1/aa),K.resolution=ya,Bc(V,K,$),ka.push(K),ya.subbands=[K];else{var Ba=1<Hb?(Tb+=0>Tb?Tb-0.5:0>2);Jb[ja]=yb;dc[ja]=Ob+yb;Kb[ja]=Lb+yb}for(da=0;da>bc)+zb;Vb[ja]=0>Ib?0:255>=1;b>>=1;c++}c--;e=this.levels[c]; e.items[e.index]=d;this.currentLevel=c;delete this.value},incrementValue:function(){var a=this.levels[this.currentLevel];a.items[a.index]++},nextLevel:function(){var a=this.currentLevel,b=this.levels[a],c=b.items[b.index];a--;if(0>a)return this.value=c,!1;this.currentLevel=a;b=this.levels[a];b.items[b.index]=c;return!0}};vg=Ag;var ug,Bg=function(a,b,c){var d=Qd(Math.max(a,b))+1;this.levels=[];for(var e=0;ec)return this.currentLevel=d,this.propagateValues(),!1;a>>=1;b>>=1;d++}this.currentLevel=d-1;return!0},incrementValue:function(a){var b=this.levels[this.currentLevel];b.items[b.index]=a+1;this.propagateValues()},propagateValues:function(){for(var a=this.currentLevel,b=this.levels[a],c=b.items[b.index];0<= --a;)b=this.levels[a],b.items[b.index]=c},nextLevel:function(){var a=this.currentLevel,b=this.levels[a],c=b.items[b.index];b.items[b.index]=255;a--;if(0>a)return!1;this.currentLevel=a;b=this.levels[a];b.items[b.index]=c;return!0}};ug=Bg;var xg,Cg=function(a,b,c){this.data=a;this.bp=b;this.dataEnd=c;this.chigh=a[b];this.clow=0;this.byteIn();this.chigh=this.chigh<<7&65535|this.clow>>9&127;this.clow=this.clow<<7&65535;this.ct-=7;this.a=32768},Rd=[{qe:22017,nmps:1,nlps:1,switchFlag:1},{qe:13313,nmps:2, nlps:6,switchFlag:0},{qe:6145,nmps:3,nlps:9,switchFlag:0},{qe:2753,nmps:4,nlps:12,switchFlag:0},{qe:1313,nmps:5,nlps:29,switchFlag:0},{qe:545,nmps:38,nlps:33,switchFlag:0},{qe:22017,nmps:7,nlps:6,switchFlag:1},{qe:21505,nmps:8,nlps:14,switchFlag:0},{qe:18433,nmps:9,nlps:14,switchFlag:0},{qe:14337,nmps:10,nlps:14,switchFlag:0},{qe:12289,nmps:11,nlps:17,switchFlag:0},{qe:9217,nmps:12,nlps:18,switchFlag:0},{qe:7169,nmps:13,nlps:20,switchFlag:0},{qe:5633,nmps:29,nlps:21,switchFlag:0},{qe:22017,nmps:15, nlps:14,switchFlag:1},{qe:21505,nmps:16,nlps:14,switchFlag:0},{qe:20737,nmps:17,nlps:15,switchFlag:0},{qe:18433,nmps:18,nlps:16,switchFlag:0},{qe:14337,nmps:19,nlps:17,switchFlag:0},{qe:13313,nmps:20,nlps:18,switchFlag:0},{qe:12289,nmps:21,nlps:19,switchFlag:0},{qe:10241,nmps:22,nlps:19,switchFlag:0},{qe:9217,nmps:23,nlps:20,switchFlag:0},{qe:8705,nmps:24,nlps:21,switchFlag:0},{qe:7169,nmps:25,nlps:22,switchFlag:0},{qe:6145,nmps:26,nlps:23,switchFlag:0},{qe:5633,nmps:27,nlps:24,switchFlag:0},{qe:5121, nmps:28,nlps:25,switchFlag:0},{qe:4609,nmps:29,nlps:26,switchFlag:0},{qe:4353,nmps:30,nlps:27,switchFlag:0},{qe:2753,nmps:31,nlps:28,switchFlag:0},{qe:2497,nmps:32,nlps:29,switchFlag:0},{qe:2209,nmps:33,nlps:30,switchFlag:0},{qe:1313,nmps:34,nlps:31,switchFlag:0},{qe:1089,nmps:35,nlps:32,switchFlag:0},{qe:673,nmps:36,nlps:33,switchFlag:0},{qe:545,nmps:37,nlps:34,switchFlag:0},{qe:321,nmps:38,nlps:35,switchFlag:0},{qe:273,nmps:39,nlps:36,switchFlag:0},{qe:133,nmps:40,nlps:37,switchFlag:0},{qe:73,nmps:41, nlps:38,switchFlag:0},{qe:37,nmps:42,nlps:39,switchFlag:0},{qe:21,nmps:43,nlps:40,switchFlag:0},{qe:9,nmps:44,nlps:41,switchFlag:0},{qe:5,nmps:45,nlps:42,switchFlag:0},{qe:1,nmps:45,nlps:43,switchFlag:0},{qe:22017,nmps:46,nlps:46,switchFlag:0}];Cg.prototype={byteIn:function(){var a=this.data,b=this.bp;255==a[b]?143> 16,this.clow&=65535)},readBit:function(a){var b=Rd[a.index].qe;this.a-=b;if(this.chigh>15&1,this.clow=this.clow<<1&65535,this.ct--;while(0===(this.a&32768))},exchangeMps:function(a){var b,c=Rd[a.index];this.a=a;a++)this.contexts.push({index:0,mps:0})},setNeighborsSignificance:function(a,b){var c=this.neighborsSignificance,d=this.width,e=this.height,f=a*d+b;0n;n++,p+=b){var q=l+n;if(q>=c)break;if(!d[p]&&f[p]){if(a.readBit(g[j[f[p]]])){var s=this.decodeSignBit(q,m);e[p]=s;d[p]=1;this.setNeighborsSignificance(q,m);h[p]|=2}k[p]++;h[p]|=1}}},decodeSignBit:function(a,b){var c=this.width,d=a*c+b,e=this.coefficentsMagnitude,f=this.coefficentsSign, c=Ph[3*(1-(b+1l;l++){var m=j+l;if(m>=c)break;var p=m*b+k;if(d[p]&&0===(g[p]&1)){var n=16;0!==(g[p]&2)&&(g[m*b+k]^=2,m=e[p],n=1<=(m&3)+(m>>2&3)+(m>>4&7)?15:14);m=a.readBit(f[n]);d[p]=d[p]<<1|m;h[p]++;g[p]|=1}}},runCleanupPass:function(){for(var a=this.decoder,b=this.width,c=this.height,d=this.neighborsSignificance,e=this.coefficentsMagnitude,f=this.coefficentsSign,h=this.contexts,g=this.contextLabelTable,j=this.bitsDecoded,k=this.processingFlags,l=2*b,m=3*b,p=0;ps;s++,t+=b){r=p+s;if(r>=c)break;e[t]||0!==(k[t]&1)||(u=h[g[d[t]]],1==a.readBit(u)&& (u=this.decodeSignBit(r,n),f[t]=u,e[t]=1,this.setNeighborsSignificance(r,n),k[t]|=2),j[t]++)}}},checkSegmentationSymbol:function(){var a=this.decoder,b=this.uniformContext;if(10!=(a.readBit(b)<<3|a.readBit(b)<<2|a.readBit(b)<<1|a.readBit(b)))throw"Invalid segmentation symbol";}};wg=Dg;var Cc=function(){};Cc.prototype.calculate=function(a,b,c){for(var d=a[0],e=1,f=a.length,h=1;eb?b<<1|j:(b<<1|j)&511|256;switch(d){case 1:f=!!j;break;case 2:if(j)break;d=7;h=2;g=0;break;case 3:if(j)break;d=7;g=h=4;break;case 4:if(j)break;d=7;h=6;g=20;break;case 5:if(j)break;d=7;h=8;g=84;break;case 6:if(j)break;d=7;h=12;g=340;break;default:e=2*e+j;0===--h&&(d=0); continue}d++}e+=g;return!f?e:0c?d&(1<b;)b<<=1,c++;return c},fa=function(a,b){var c=a[b]<<24|a[b+1]<<16|a[b+2]<<8|a[b+3];return c&2147483648?c+4294967296:c},Hg=function(a,b,c,d,e,f,h,g){a&&r("JBIG2 error: MMR encoding is not supported");a=!!f;var j=Qh[d].concat(h);h=j.length;for(var k=new Int32Array(h),l=new Int32Array(h),m=0;m< h;m++)k[m]=j[m].x,l[m]=j[m].y;d=Rh[d];var j=[],p=g.decoder;g=g.contextCache.getContexts("GB");for(var n=0,q=0;qW||0>w||w>=b?u<<1:u<<1|j[W][w];m=p.readBit(g,u);s[t]=m}}return j},Jg=function(a,b,c,d,e,f,h,g,j){var k=Ig[c].coding;0===c&&(k=k.concat([g[0]]));for(var l=k.length,m=new Int32Array(l),p=new Int32Array(l), n=0;nM||0>B||B>=a?v<<1:v<< 1|u[M][B];for(n=0;nM||M>=t||0>B||B>=q?v<<1:v<<1|d[M][B];n=W.readBit(j,v);y[z]=n}}return u},Ud=function(a,b){return{width:fa(a,b),height:fa(a,b+4),x:fa(a,b+8),y:fa(a,b+12),combinationOperator:a[b+16]&7}},Kg=function(){},Lg=function(){},Mg=function(a,b,c){this.data=a;this.bp=b;this.dataEnd=c;this.chigh=a[b];this.clow=0;this.byteIn();this.chigh=this.chigh<<7&65535|this.clow>>9&127;this.clow=this.clow<<7&65535;this.ct-=7;this.a=32768},Th=[{qe:22017,nmps:1,nlps:1,switchFlag:1}, {qe:13313,nmps:2,nlps:6,switchFlag:0},{qe:6145,nmps:3,nlps:9,switchFlag:0},{qe:2753,nmps:4,nlps:12,switchFlag:0},{qe:1313,nmps:5,nlps:29,switchFlag:0},{qe:545,nmps:38,nlps:33,switchFlag:0},{qe:22017,nmps:7,nlps:6,switchFlag:1},{qe:21505,nmps:8,nlps:14,switchFlag:0},{qe:18433,nmps:9,nlps:14,switchFlag:0},{qe:14337,nmps:10,nlps:14,switchFlag:0},{qe:12289,nmps:11,nlps:17,switchFlag:0},{qe:9217,nmps:12,nlps:18,switchFlag:0},{qe:7169,nmps:13,nlps:20,switchFlag:0},{qe:5633,nmps:29,nlps:21,switchFlag:0}, {qe:22017,nmps:15,nlps:14,switchFlag:1},{qe:21505,nmps:16,nlps:14,switchFlag:0},{qe:20737,nmps:17,nlps:15,switchFlag:0},{qe:18433,nmps:18,nlps:16,switchFlag:0},{qe:14337,nmps:19,nlps:17,switchFlag:0},{qe:13313,nmps:20,nlps:18,switchFlag:0},{qe:12289,nmps:21,nlps:19,switchFlag:0},{qe:10241,nmps:22,nlps:19,switchFlag:0},{qe:9217,nmps:23,nlps:20,switchFlag:0},{qe:8705,nmps:24,nlps:21,switchFlag:0},{qe:7169,nmps:25,nlps:22,switchFlag:0},{qe:6145,nmps:26,nlps:23,switchFlag:0},{qe:5633,nmps:27,nlps:24, switchFlag:0},{qe:5121,nmps:28,nlps:25,switchFlag:0},{qe:4609,nmps:29,nlps:26,switchFlag:0},{qe:4353,nmps:30,nlps:27,switchFlag:0},{qe:2753,nmps:31,nlps:28,switchFlag:0},{qe:2497,nmps:32,nlps:29,switchFlag:0},{qe:2209,nmps:33,nlps:30,switchFlag:0},{qe:1313,nmps:34,nlps:31,switchFlag:0},{qe:1089,nmps:35,nlps:32,switchFlag:0},{qe:673,nmps:36,nlps:33,switchFlag:0},{qe:545,nmps:37,nlps:34,switchFlag:0},{qe:321,nmps:38,nlps:35,switchFlag:0},{qe:273,nmps:39,nlps:36,switchFlag:0},{qe:133,nmps:40,nlps:37, switchFlag:0},{qe:73,nmps:41,nlps:38,switchFlag:0},{qe:37,nmps:42,nlps:39,switchFlag:0},{qe:21,nmps:43,nlps:40,switchFlag:0},{qe:9,nmps:44,nlps:41,switchFlag:0},{qe:5,nmps:45,nlps:42,switchFlag:0},{qe:1,nmps:45,nlps:43,switchFlag:0},{qe:22017,nmps:46,nlps:46,switchFlag:0}];Mg.prototype={byteIn:function(){var a=this.data,b=this.bp;255==a[b]?143>16,this.clow&=65535)},readBit:function(a,b){var c=a[b]>>1,d=a[b]&1,e=Th[c],f=e.qe,c=e.nmps,h=e.nlps,e=e.switchFlag;this.a-=f;if(this.chigh>15&1,this.clow=this.clow<<1&65535,this.ct--;while(0===(this.a&32768));a[b]=c<<1|d;return f}};Eg.prototype={getContexts:function(a){return a in this?this[a]:this[a]=new Int8Array(65536)}};Dc.prototype={get decoder(){var a=new Mg(this.data,this.start,this.end);return E(this,"decoder",a)},get contextCache(){var a=new Eg;return E(this,"contextCache",a)}};var Ng=["SymbolDictionary",null,null,null,"IntermediateTextRegion",null,"ImmediateTextRegion","ImmediateLosslessTextRegion",null,null,null,null,null,null,null,null,"patternDictionary",null,null,null,"IntermediateHalftoneRegion",null,"ImmediateHalftoneRegion","ImmediateLosslessHalftoneRegion", null,null,null,null,null,null,null,null,null,null,null,null,"IntermediateGenericRegion",null,"ImmediateGenericRegion","ImmediateLosslessGenericRegion","IntermediateGenericRefinementRegion",null,"ImmediateGenericRefinementRegion","ImmediateLosslessGenericRefinementRegion",null,null,null,null,"PageInformation","EndOfPage","EndOfStripe","EndOfFile","Profiles","Tables",null,null,null,null,null,null,null,null,"Extension"],Qh=[[{x:-1,y:-2},{x:0,y:-2},{x:1,y:-2},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1}, {x:2,y:-1},{x:-4,y:0},{x:-3,y:0},{x:-2,y:0},{x:-1,y:0}],[{x:-1,y:-2},{x:0,y:-2},{x:1,y:-2},{x:2,y:-2},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:2,y:-1},{x:-3,y:0},{x:-2,y:0},{x:-1,y:0}],[{x:-1,y:-2},{x:0,y:-2},{x:1,y:-2},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:-2,y:0},{x:-1,y:0}],[{x:-3,y:-1},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:-4,y:0},{x:-3,y:0},{x:-2,y:0},{x:-1,y:0}]],Ig=[{coding:[{x:0,y:-1},{x:1,y:-1},{x:-1,y:0}],reference:[{x:0,y:-1},{x:1,y:-1},{x:-1,y:0},{x:0,y:0}, {x:1,y:0},{x:-1,y:1},{x:0,y:1},{x:1,y:1}]},{coding:[{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:-1,y:0}],reference:[{x:0,y:-1},{x:-1,y:0},{x:0,y:0},{x:1,y:0},{x:0,y:1},{x:1,y:1}]}],Rh=[7379,1946,227,395],Sh=[32,8];Kg.prototype={onPageInformation:function(a){this.currentPageInfo=a;var b=new Uint8Array((a.width+7>>3)*a.height);a=a.defaultPixelValue?255:0;for(var c=0,d=b.length;c>3,c=c.combinationOperatorOverride? a.combinationOperator:c.combinationOperator,h=this.buffer,g=0;g>(a.x&7),k=(g+a.y)*f+(a.x>>3);switch(c){case 0:for(var l=0;l>=1,j||(j=128,k++);break;case 2:for(l=0;l>=1,j||(j=128,k++);break;default:r("JBIG2 error: operator "+c+" is not supported")}}},onImmediateGenericRegion:function(a,b,c,d){var e=a.info;b=new Dc(b,c,d);a=Hg(a.mmr,e.width,e.height,a.template,a.prediction,null,a.at,b);this.drawBitmap(e,a)},onImmediateLosslessGenericRegion:function(){this.onImmediateGenericRegion.apply(this, arguments)},onSymbolDictionary:function(a,b,c,d,e,f){a.huffman&&r("JBIG2 error: huffman is not supported");var h=this.symbols;h||(this.symbols=h={});for(var g=[],j=0,k=c.length;j 1 is not supported");var t=Fg(e,d,q),u=V(e,"IARDX",d),W=V(e,"IARDY",d),t=Jg(s,n,m,t>1)+B,(M>>1)+x,!1,t,c);y=W-(k&1?0:v);M=w-(k&2?z:0);for(B=0;B>5&7,s=[n&31],l=l+6;if(7==n){q=(e[l-1]<<24|e[l-1+1]<<16|e[l-1+2]<<8|e[l-1+3])&536870911;l+=3;n=q+7>>3;for(s[0]=e[l++];0<--n;)s.push(e[l++])}else(5==n||6==n)&&r("JBIG2 error: invalid referred-to flags");k.retainBits=s;for(var n=256>=k.number?1:65536>=k.number?2:4,t=[],s=0;s>>24&255;p[3]=m.height>>16&255;p[4]=m.height>>8&255;p[5]=m.height&255;s=l;for(m=e.length;sq&&p[q]===e[s+q];)q++;if(6==q){k.length=s+6;break}}4294967295==k.length&&r("JBIG2 error: segment end was not found")}else r("JBIG2 error: invalid unknown segment length");k.headerEnd=l;e=k;k=e.headerEnd;l={header:e,data:h};f.randomAccess||(l.start=k,k+=e.length,l.end=k);j.push(l);if(51==e.type)break}if(f.randomAccess){f= 0;for(h=j.length;f>2&3;n.huffmanDWSelector=q>>4&3;n.bitmapSizeSelector=q>>6&1;n.aggregationInstancesSelector=q>>7&1;n.bitmapCodingContextUsed=!!(q&256);n.bitmapCodingContextRetained=!!(q&512);n.template=q>>10&3;n.refinementTemplate=q>>12&1;p+=2;if(!n.huffman){t= 0===n.template?4:1;q=[];for(s=0;s>24,y:l[p+1]<<24>>24}),p+=2;n.at=q}if(n.refinement&&!n.refinementTemplate){q=[];for(s=0;2>s;s++)q.push({x:l[p]<<24>>24,y:l[p+1]<<24>>24}),p+=2;n.refinementAt=q}n.numberOfExportedSymbols=fa(l,p);p+=4;n.numberOfNewSymbols=fa(l,p);p+=4;q=[n,k.number,k.referredTo,l,p,m];break;case 6:case 7:n={};n.info=Ud(l,p);p+=17;q=l[p]<<8|l[p+1];p+=2;n.huffman=!!(q&1);n.refinement=!!(q&2);n.stripSize=1<<(q>>2&3);n.referenceCorner=q>>4&3;n.transposed=!!(q&64); n.combinationOperator=q>>7&3;n.defaultPixelValue=q>>9&1;n.dsOffset=q<<17>>27;n.refinementTemplate=q>>15&1;n.huffman&&(q=l[p]<<8|l[p+1],p+=2,n.huffmanFS=q&3,n.huffmanDS=q>>2&3,n.huffmanDT=q>>4&3,n.huffmanRefinementDW=q>>6&3,n.huffmanRefinementDH=q>>8&3,n.huffmanRefinementDX=q>>10&3,n.huffmanRefinementDY=q>>12&3,n.huffmanRefinementSizeSelector=!!(q&14));if(n.refinement&&!n.refinementTemplate){q=[];for(s=0;2>s;s++)q.push({x:l[p]<<24>>24,y:l[p+1]<<24>>24}),p+=2;n.refinementAt=q}n.numberOfSymbolInstances= fa(l,p);p+=4;n.huffman&&r("JBIG2 error: huffman is not supported");q=[n,k.referredTo,l,p,m];break;case 38:case 39:n={};n.info=Ud(l,p);p+=17;q=l[p++];n.mmr=!!(q&1);n.template=q>>1&3;n.prediction=!!(q&8);if(!n.mmr){t=0===n.template?4:1;q=[];for(s=0;s>24,y:l[p+1]<<24>>24}),p+=2;n.at=q}q=[n,l,p,m];break;case 48:m={width:fa(l,p),height:fa(l,p+4),resolutionX:fa(l,p+8),resolutionY:fa(l,p+12)};4294967295==m.height&&delete m.height;l=l[p+16];m.lossless=!!(l&1);m.refinement=!!(l&2); m.defaultPixelValue=l>>2&1;m.combinationOperator=l>>3&3;m.requiresBuffer=!!(l&32);m.combinationOperatorOverride=!!(l&64);q=[m];break;case 49:break;case 50:break;case 51:break;case 62:break;default:r("JBIG2 error: segment type "+k.typeName+"("+k.type+") is not implemented")}k="on"+k.typeName;k in e&&e[k].apply(e,q)}}return b.buffer}};jg=Lg;var Og=function(a,b,c){for(c-=1;b=j?k=Uh[j]:1424<=j&&1524>=j?k="R":1536<=j&&1791>=j?k=Vh[j&255]:1792<=j&&2220>=j&&(k="AL");("R"==k||"AL"==k||"AN"==k)&&h++;f[g]=k}if(0===h)return new Vd(a,!0);-1==b&&(0.3>e/h?(d=!0,b=0):(d=!1,b=1));a=[];for(g=0;gb&&0!==(b&1)&&(f=b);for(b=h;b>=f;--b){h=-1;g=0;for(e=a.length;gh&&(h=g);0<=h&&Og(c,h,a.length)}a="";g=0;for(e=c.length;g"!=f&&(a+=f);return new Vd(a,d)};var hg,Pg=function(){},Wh=function(a,b,c,d,e,f,h,g,j){function k(){if(0>y&1;A=a[b++];if(255==A){var c=a[b++];if(c)throw"unexpected marker: "+(A<<8|c).toString(16);}y=7;return A>>>7}function l(a){for(var b;null!==(b=k());){a=a[b];if("number"===typeof a)return a;if("object"!==typeof a)throw"invalid huffman sequence";}return null}function m(a){for(var b= 0;0=1<c;){var d=l(a.huffmanTableAC),e=d&15,d=d>>4;if(0===e){if(15>d)break;c+=16}else c+=d,b[db[c]]=p(e),c++}}function q(a,b){var c=l(a.huffmanTableDC),c=0===c?0:p(c)<>4;if(0=== g){if(15>e){z=m(e)+(1<>=4;if(0===g)15>e?(z=m(e)+(1<=x)throw"marker was not found";if(65488<=x&&65495>= x)b+=2;else break}return b-w},Xh=function(a,b){for(var c=[],d=b.blocksPerLine,e=b.blocksPerColumn,f=d<<3,h=new Int32Array(64),g=new Uint8Array(64),j,k,l=0;lj;j++)c.push(new Uint8Array(f));for(var p=0;px;x++)k[x]=n[x]*q[x];for(x=0;8>x;++x)n=8*x,0==k[1+n]&&0==k[2+n]&&0==k[3+n]&&0==k[4+n]&&0==k[5+n]&&0==k[6+n]&& 0==k[7+n]?(v=sb*k[0+n]+512>>10,k[0+n]=v,k[1+n]=v,k[2+n]=v,k[3+n]=v,k[4+n]=v,k[5+n]=v,k[6+n]=v,k[7+n]=v):(s=sb*k[0+n]+128>>8,t=sb*k[4+n]+128>>8,u=k[2+n],r=k[6+n],w=Ec*(k[1+n]-k[7+n])+128>>8,z=Ec*(k[1+n]+k[7+n])+128>>8,A=k[3+n]<<4,y=k[5+n]<<4,v=s-t+1>>1,s=s+t+1>>1,t=v,v=u*Fc+r*Gc+128>>8,u=u*Gc-r*Fc+128>>8,r=v,v=w-y+1>>1,w=w+y+1>>1,y=v,v=z+A+1>>1,A=z-A+1>>1,z=v,v=s-r+1>>1,s=s+r+1>>1,r=v,v=t-u+1>>1,t=t+u+1>>1,u=v,v=w*Hc+z*Ic+2048>>12,w=w*Ic-z*Hc+2048>>12,z=v,v=A*Jc+y*Kc+2048>>12,A=A*Kc-y*Jc+2048>>12, y=v,k[0+n]=s+z,k[7+n]=s-z,k[1+n]=t+y,k[6+n]=t-y,k[2+n]=u+A,k[5+n]=u-A,k[3+n]=r+w,k[4+n]=r-w);for(x=0;8>x;++x)n=x,0==k[8+n]&&0==k[16+n]&&0==k[24+n]&&0==k[32+n]&&0==k[40+n]&&0==k[48+n]&&0==k[56+n]?(v=sb*k[x+0]+8192>>14,k[0+n]=v,k[8+n]=v,k[16+n]=v,k[24+n]=v,k[32+n]=v,k[40+n]=v,k[48+n]=v,k[56+n]=v):(s=sb*k[0+n]+2048>>12,t=sb*k[32+n]+2048>>12,u=k[16+n],r=k[48+n],w=Ec*(k[8+n]-k[56+n])+2048>>12,z=Ec*(k[8+n]+k[56+n])+2048>>12,A=k[24+n],y=k[40+n],v=s-t+1>>1,s=s+t+1>>1,t=v,v=u*Fc+r*Gc+2048>>12,u=u*Gc-r*Fc+ 2048>>12,r=v,v=w-y+1>>1,w=w+y+1>>1,y=v,v=z+A+1>>1,A=z-A+1>>1,z=v,v=s-r+1>>1,s=s+r+1>>1,r=v,v=t-u+1>>1,t=t+u+1>>1,u=v,v=w*Hc+z*Ic+2048>>12,w=w*Ic-z*Hc+2048>>12,z=v,v=A*Jc+y*Kc+2048>>12,A=A*Kc-y*Jc+2048>>12,y=v,k[0+n]=s+z,k[56+n]=s-z,k[8+n]=t+y,k[48+n]=t-y,k[16+n]=u+A,k[40+n]=u-A,k[24+n]=r+w,k[32+n]=r-w);for(x=0;64>x;++x)s=128+(k[x]+8>>4),j[x]=0>s?0:255k;k++){t=c[m+k];for(j=0;8>j;j++)t[s+j]=g[x++]}}}return c},va=function(a){return 0>a?0:255>4)for(p=0;64>p;p++){var s=db[p];q[s]=a[c++]}else if(1===n>>4)for(p=0;64>p;p++)s=db[p],q[s]=b();else throw"DQT: invalid table spec";g[n& 15]=q}break;case 65472:case 65473:case 65474:b();f={};f.extended=65473===m;f.progressive=65474===m;f.precision=a[c++];f.scanLines=b();f.samplesPerLine=b();f.components={};f.componentsOrder=[];n=a[c++];for(m=0;m>4,s=a[c+1]&15,t=a[c+2];f.componentsOrder.push(p);f.components[p]={h:q,v:s,quantizationTable:g[t]};c+=3}m=f;p=n=0;s=q=void 0;for(s in m.components)m.components.hasOwnProperty(s)&&(q=m.components[s],np;p++, c++)u+=s[p]=a[c];t=new Uint8Array(u);for(p=0;p>4?l:k;q&=15;u=0;r=[];x=w=void 0;for(y=16;0>4],q.huffmanTableAC=k[s&15],n.push(q);m=a[c++];p=a[c++];q=a[c++];m=Wh(a,c,f,n,h,m,p,q>>4,q&15);c+=m;break;default:if(255==a[c-3]&&192<=a[c-2]&&254>=a[c-2]){c-=3;break}throw"unknown JPEG marker "+m.toString(16);}m=b()}if(1!=j.length)throw"only single frame JPEGs supported";this.width=f.samplesPerLine;this.height=f.scanLines;this.jfif=d;this.adobe=e;this.components=[];for(m=0;m