UNPKG

universalviewer

Version:

The Universal Viewer is an open source project to enable cultural heritage institutions to present their digital artifacts in an IIIF-compliant and highly customisable user interface.

99 lines 104 kB
"undefined"===typeof PDFJS&&(("undefined"!==typeof window?window:this).PDFJS={});PDFJS.version="1.0.83";PDFJS.build="0045325"; (function(){function G(a){PDFJS.verbosity>=PDFJS.VERBOSITY_LEVELS.infos&&console.log("Info: "+a)}function z(a){PDFJS.verbosity>=PDFJS.VERBOSITY_LEVELS.warnings&&console.log("Warning: "+a)}function v(a){if(1<arguments.length){var b=["Error:"];b.push.apply(b,arguments);console.log.apply(console,b);a=[].join.call(arguments," ")}else console.log("Error: "+a);console.log(Eb());wa.notify(Fb.unknown);throw Error(a);}function Eb(){try{throw Error();}catch(a){return a.stack?a.stack.split("\n").slice(2).join("\n"): ""}}function Gb(a,b){if(!b)return a;if(/^[a-z][a-z0-9+\-.]*:/i.test(b))return b;var c;if("/"==b.charAt(0))return c=a.indexOf("://"),"/"===b.charAt(1)?++c:c=a.indexOf("/",c+3),a.substring(0,c)+b;var d=a.length;c=a.lastIndexOf("#");d=0<=c?c:d;c=a.lastIndexOf("?",d);c=a.lastIndexOf("/",0<=c?c:d);return a.substring(0,c+1)+b}function ea(a,b){if(!a)return!1;var c=/^[a-z][a-z0-9+\-.]*(?=:)/i.exec(a);if(!c)return b;c=c[0].toLowerCase();switch(c){case "http":case "https":case "ftp":case "mailto":return!0; default:return!1}}function K(a,b,c){Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!1});return c}function T(a){var b,c=a.length,d=[];if("\u00fe"===a[0]&&"\u00ff"===a[1])for(b=2;b<c;b+=2)d.push(String.fromCharCode(a.charCodeAt(b)<<8|a.charCodeAt(b+1)));else for(b=0;b<c;++b){var e=Hb[a.charCodeAt(b)];d.push(e?String.fromCharCode(e):a.charAt(b))}return d.join("")}function L(a){return"boolean"==typeof a}function I(a){return a instanceof Name}function U(a,b){if(!(a instanceof Dict))return!1;if(!b)return!0;var c=a.get("Type");return I(c)&&c.name==b}function B(a){return a instanceof Array}function xa(a){return"object"==typeof a&&null!==a&&void 0!==a&&"getBytes"in a}function fa(a,b){this.name=a;this.comObj=b;this.callbackIndex=1;this.postMessageTransfers=!0;var c=this.callbacks={},d=this.actionHandler={};d.console_log=[function(a){console.log.apply(console,a)}];d.console_error=[function(a){console.error.apply(console,a)}];d._unsupported_feature=[function(a){wa.notify(a)}]; b.onmessage=function(a){var f=a.data;if(f.isReply)if(a=f.callbackId,f.callbackId in c){var g=c[a];delete c[a];g(f.data)}else v("Cannot resolve callback "+a);else if(f.action in d)if(a=d[f.action],f.callbackId){var h={},g=new Promise(function(a,b){h.resolve=a;h.reject=b});h.promise=g;g.then(function(a){b.postMessage({isReply:!0,callbackId:f.callbackId,data:a})});a[0].call(a[1],f.data,h)}else a[0].call(a[1],f.data);else v("Unkown action from worker: "+f.action)}}function ya(a,b){var c=document.createElement("canvas"); c.width=a;c.height=b;return c}function za(a){a.mozCurrentTransform||(a._scaleX=a._scaleX||1,a._scaleY=a._scaleY||1,a._originalSave=a.save,a._originalRestore=a.restore,a._originalRotate=a.rotate,a._originalScale=a.scale,a._originalTranslate=a.translate,a._originalTransform=a.transform,a._originalSetTransform=a.setTransform,a._transformMatrix=[a._scaleX,0,0,a._scaleY,0,0],a._transformStack=[],Object.defineProperty(a,"mozCurrentTransform",{get:function(){return this._transformMatrix}}),Object.defineProperty(a, "mozCurrentTransformInverse",{get:function(){var a=this._transformMatrix,c=a[0],d=a[1],e=a[2],f=a[3],g=a[4],a=a[5],h=c*f-d*e,j=d*e-c*f;return[f/h,d/j,e/j,c/h,(f*g-e*a)/j,(d*g-c*a)/h]}}),a.save=function(){var a=this._transformMatrix;this._transformStack.push(a);this._transformMatrix=a.slice(0,6);this._originalSave()},a.restore=function(){var a=this._transformStack.pop();a&&(this._transformMatrix=a,this._originalRestore())},a.translate=function(a,c){var d=this._transformMatrix;d[4]=d[0]*a+d[2]*c+d[4]; d[5]=d[1]*a+d[3]*c+d[5];this._originalTranslate(a,c)},a.scale=function(a,c){var d=this._transformMatrix;d[0]*=a;d[1]*=a;d[2]*=c;d[3]*=c;this._originalScale(a,c)},a.transform=function(b,c,d,e,f,g){var h=this._transformMatrix;this._transformMatrix=[h[0]*b+h[2]*c,h[1]*b+h[3]*c,h[0]*d+h[2]*e,h[1]*d+h[3]*e,h[0]*f+h[2]*g+h[4],h[1]*f+h[3]*g+h[5]];a._originalTransform(b,c,d,e,f,g)},a.setTransform=function(b,c,d,e,f,g){this._transformMatrix=[b,c,d,e,f,g];a._originalSetTransform(b,c,d,e,f,g)},a.rotate=function(a){var c= Math.cos(a),d=Math.sin(a),e=this._transformMatrix;this._transformMatrix=[e[0]*c+e[2]*d,e[1]*c+e[3]*d,e[0]*-d+e[2]*c,e[1]*-d+e[3]*c,e[4],e[5]];this._originalRotate(a)})}function Aa(a){var b=ga[a[0]];b||v("Unknown IR type: "+a[0]);return b.fromIR(a)}var y="undefined"===typeof window?this:window,V="undefined"==typeof window,ha=[0.001,0,0,0.001,0,0];y.PDFJS||(y.PDFJS={});y.PDFJS.pdfBug=!1;PDFJS.VERBOSITY_LEVELS={errors:0,warnings:1,infos:5};var J=PDFJS.OPS={dependency:1,setLineWidth:2,setLineCap:3,setLineJoin:4, setMiterLimit:5,setDash:6,setRenderingIntent:7,setFlatness:8,setGState:9,save:10,restore:11,transform:12,moveTo:13,lineTo:14,curveTo:15,curveTo2:16,curveTo3:17,closePath:18,rectangle:19,stroke:20,closeStroke:21,fill:22,eoFill:23,fillStroke:24,eoFillStroke:25,closeFillStroke:26,closeEOFillStroke:27,endPath:28,clip:29,eoClip:30,beginText:31,endText:32,setCharSpacing:33,setWordSpacing:34,setHScale:35,setLeading:36,setFont:37,setTextRenderingMode:38,setTextRise:39,moveText:40,setLeadingMoveText:41,setTextMatrix:42, nextLine:43,showText:44,showSpacedText:45,nextLineShowText:46,nextLineSetSpacingShowText:47,setCharWidth:48,setCharWidthAndBounds:49,setStrokeColorSpace:50,setFillColorSpace:51,setStrokeColor:52,setStrokeColorN:53,setFillColor:54,setFillColorN:55,setStrokeGray:56,setFillGray:57,setStrokeRGBColor:58,setFillRGBColor:59,setStrokeCMYKColor:60,setFillCMYKColor:61,shadingFill:62,beginInlineImage:63,beginImageData:64,endInlineImage:65,paintXObject:66,markPoint:67,markPointProps:68,beginMarkedContent:69, beginMarkedContentProps:70,endMarkedContent:71,beginCompat:72,endCompat:73,paintFormXObjectBegin:74,paintFormXObjectEnd:75,beginGroup:76,endGroup:77,beginAnnotations:78,endAnnotations:79,beginAnnotation:80,endAnnotation:81,paintJpegXObject:82,paintImageMaskXObject:83,paintImageMaskXObjectGroup:84,paintImageXObject:85,paintInlineImageXObject:86,paintInlineImageXObjectGroup:87,paintImageXObjectRepeat:88,paintImageMaskXObjectRepeat:89,paintSolidColorImageMask:90},Fb=PDFJS.UNSUPPORTED_FEATURES={unknown:"unknown", forms:"forms",javaScript:"javaScript",smask:"smask",shadingPattern:"shadingPattern",font:"font"},ia=[],wa=PDFJS.UnsupportedManager={listen:function(a){ia.push(a)},notify:function(a){z('Unsupported feature "'+a+'"');for(var b=0,c=ia.length;b<c;b++)ia[b](a)}};PDFJS.isValidUrl=ea;var Ba=PDFJS.PasswordResponses={NEED_PASSWORD:1,INCORRECT_PASSWORD:2},W=function(a){this.message=a};W.prototype=Error();W.prototype.name="NotImplementedException";W.constructor=W;Object.defineProperty(PDFJS,"isLittleEndian", {configurable:!0,get:function(){var a=PDFJS,b=new Uint8Array(2);b[0]=1;b=new Uint16Array(b.buffer);return K(a,"isLittleEndian",1===b[0])}});Object.defineProperty(PDFJS,"hasCanvasTypedArrays",{configurable:!0,get:function(){var a=PDFJS,b=document.createElement("canvas");b.width=b.height=1;b=b.getContext("2d").createImageData(1,1);return K(a,"hasCanvasTypedArrays","undefined"!==typeof b.data.buffer)}});var ja=function(a,b){this.buffer=a;this.byteLength=a.length;for(var c=this.length=void 0===b?this.byteLength>> 2:b;Y<c;)Object.defineProperty(ja.prototype,Y,Ib(Y)),Y++},Ib=function(a){return{get:function(){var b=this.buffer,c=a<<2;return(b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24)>>>0},set:function(b){var c=this.buffer,d=a<<2;c[d]=b&255;c[d+1]=b>>8&255;c[d+2]=b>>16&255;c[d+3]=b>>>24&255}}};ja.prototype=Object.create(null);var Y=0,Ca=[1,0,0,1,0,0],Jb=PDFJS,u=function(){};u.makeCssRgb=function(a){return"rgb("+a[0]+","+a[1]+","+a[2]+")"};u.makeCssCmyk=function(a){a=s.singletons.cmyk.getRgb(a,0);return u.makeCssRgb(a)}; u.transform=function(a,b){return[a[0]*b[0]+a[2]*b[1],a[1]*b[0]+a[3]*b[1],a[0]*b[2]+a[2]*b[3],a[1]*b[2]+a[3]*b[3],a[0]*b[4]+a[2]*b[5]+a[4],a[1]*b[4]+a[3]*b[5]+a[5]]};u.applyTransform=function(a,b){return[a[0]*b[0]+a[1]*b[2]+b[4],a[0]*b[1]+a[1]*b[3]+b[5]]};u.applyInverseTransform=function(a,b){var c=b[0]*b[3]-b[1]*b[2];return[(a[0]*b[3]-a[1]*b[2]+b[2]*b[5]-b[4]*b[3])/c,(-a[0]*b[1]+a[1]*b[0]+b[4]*b[1]-b[5]*b[0])/c]};u.getAxialAlignedBoundingBox=function(a,b){var c=u.applyTransform(a,b),d=u.applyTransform(a.slice(2, 4),b),e=u.applyTransform([a[0],a[3]],b),f=u.applyTransform([a[2],a[1]],b);return[Math.min(c[0],d[0],e[0],f[0]),Math.min(c[1],d[1],e[1],f[1]),Math.max(c[0],d[0],e[0],f[0]),Math.max(c[1],d[1],e[1],f[1])]};u.inverseTransform=function(a){var b=a[0]*a[3]-a[1]*a[2];return[a[3]/b,-a[1]/b,-a[2]/b,a[0]/b,(a[2]*a[5]-a[4]*a[3])/b,(a[4]*a[1]-a[5]*a[0])/b]};u.apply3dTransform=function(a,b){return[a[0]*b[0]+a[1]*b[1]+a[2]*b[2],a[3]*b[0]+a[4]*b[1]+a[5]*b[2],a[6]*b[0]+a[7]*b[1]+a[8]*b[2]]};u.singularValueDecompose2dScale= function(a){var b=[a[0],a[2],a[1],a[3]],c=a[0]*b[0]+a[1]*b[2],d=a[2]*b[1]+a[3]*b[3],e=(c+d)/2;a=Math.sqrt((c+d)*(c+d)-4*(c*d-(a[2]*b[0]+a[3]*b[2])*(a[0]*b[1]+a[1]*b[3])))/2;b=e-a||1;return[Math.sqrt(e+a||1),Math.sqrt(b)]};u.normalizeRect=function(a){var b=a.slice(0);a[0]>a[2]&&(b[0]=a[2],b[2]=a[0]);a[1]>a[3]&&(b[1]=a[3],b[3]=a[1]);return b};u.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=u.normalizeRect(a);b=u.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};u.sign=function(a){return 0>a?-1:1};u.concatenateToArray=function(a,b){Array.prototype.push.apply(a,b)};u.prependToArray=function(a,b){Array.prototype.unshift.apply(a,b)};u.extendObj=function(a,b){for(var c in b)a[c]=b[c]};u.getInheritableProperty=function(a,b){for(;a&&!a.has(b);)a=a.get("Parent");return!a?null:a.get(b)}; u.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]};u.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 t=Jb.Util=u,Kb=PDFJS,ka=function(a,b,c,d,e,f){this.viewBox=a;this.scale=b;this.rotation=c;this.offsetX=d;this.offsetY=e;var g=(a[2]+a[0])/2,h=(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(h-a[1])*b+d,e=Math.abs(g-a[0])*b+e,f=Math.abs(a[3]-a[1])*b,a=Math.abs(a[2]-a[0])*b):(d=Math.abs(g-a[0])*b+d,e=Math.abs(h-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*g-k*b*h,e-j*b*g-l*b*h];this.width=f;this.height=a;this.fontScale=b};ka.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 ka(this.viewBox.slice(),b,c,this.offsetX,this.offsetY,a.dontFlip)},convertToViewportPoint:function(a,b){return t.applyTransform([a,b],this.transform)},convertToViewportRectangle:function(a){var b=t.applyTransform([a[0],a[1]],this.transform);a=t.applyTransform([a[2],a[3]],this.transform);return[b[0],b[1],a[0],a[1]]},convertToPdfPoint:function(a,b){return t.applyInverseTransform([a,b],this.transform)}};Kb.PageViewport=ka;var Hb=[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],N=PDFJS.LegacyPromise=function(){var a,b,c=new Promise(function(c,e){a=c;b=e});c.resolve= a;c.reject=b;return c};var H=function(a){this._status=Da;this._handlers=[];a.call(this,this._resolve.bind(this),this._reject.bind(this))};if(y.Promise)"function"!==typeof y.Promise.all&&(y.Promise.all=function(a){var b=0,c=[],d,e,f=new y.Promise(function(a,b){d=a;e=b});a.forEach(function(a,f){b++;a.then(function(a){c[f]=a;b--;0===b&&d(c)},e)});0===b&&d(c);return f}),"function"!==typeof y.Promise.resolve&&(y.Promise.resolve=function(a){return new y.Promise(function(b){b(a)})});else{var Da=0,O=2,la= {handlers:[],running:!1,unhandledRejections:[],pendingRejectionCheck:!1,scheduleHandlers:function(a){a._status!=Da&&(this.handlers=this.handlers.concat(a._handlers),a._handlers=[],this.running||(this.running=!0,setTimeout(this.runHandlers.bind(this),0)))},runHandlers:function(){for(var a=Date.now()+1;0<this.handlers.length;){var b=this.handlers.shift(),c=b.thisPromise._status,d=b.thisPromise._value;try{1===c?"function"==typeof b.onResolve&&(d=b.onResolve(d)):"function"===typeof b.onReject&&(d=b.onReject(d), c=1,b.thisPromise._unhandledRejection&&this.removeUnhandeledRejection(b.thisPromise))}catch(e){c=O,d=e}b.nextPromise._updateStatus(c,d);if(Date.now()>=a)break}0<this.handlers.length?setTimeout(this.runHandlers.bind(this),0):this.running=!1},addUnhandledRejection:function(a){this.unhandledRejections.push({promise:a,time:Date.now()});this.scheduleRejectionCheck()},removeUnhandeledRejection:function(a){a._unhandledRejection=!1;for(var b=0;b<this.unhandledRejections.length;b++)this.unhandledRejections[b].promise=== a&&(this.unhandledRejections.splice(b),b--)},scheduleRejectionCheck:function(){this.pendingRejectionCheck||(this.pendingRejectionCheck=!0,setTimeout(function(){this.pendingRejectionCheck=!1;for(var a=Date.now(),b=0;b<this.unhandledRejections.length;b++)if(500<a-this.unhandledRejections[b].time){var c=this.unhandledRejections[b].promise._value,d="Unhandled rejection: "+c;c.stack&&(d+="\n"+c.stack);z(d);this.unhandledRejections.splice(b);b--}this.unhandledRejections.length&&this.scheduleRejectionCheck()}.bind(this), 500))}};H.all=function(a){function b(a){e._status!==O&&(g=[],d(a))}var c,d,e=new H(function(a,b){c=a;d=b}),f=a.length,g=[];if(0===f)return c(g),e;for(var h=0,j=a.length;h<j;++h){var k=a[h],l=function(a){return function(b){e._status!==O&&(g[a]=b,f--,0===f&&c(g))}}(h);H.isPromise(k)?k.then(l,b):l(k)}return e};H.isPromise=function(a){return a&&"function"===typeof a.then};H.resolve=function(a){return new H(function(b){b(a)})};H.prototype={_status:null,_value:null,_handlers:null,_unhandledRejection:null, _updateStatus:function(a,b){1===this._status||this._status===O||(1==a&&H.isPromise(b)?b.then(this._updateStatus.bind(this,1),this._updateStatus.bind(this,O)):(this._status=a,this._value=b,a===O&&0===this._handlers.length&&(this._unhandledRejection=!0,la.addUnhandledRejection(this)),la.scheduleHandlers(this)))},_resolve:function(a){this._updateStatus(1,a)},_reject:function(a){this._updateStatus(O,a)},then:function(a,b){var c=new H(function(a,b){this.reject=this.resolve=b});this._handlers.push({thisPromise:this, onResolve:a,onReject:b,nextPromise:c});la.scheduleHandlers(this);return c}};y.Promise=H}var Ea=function(){this.started={};this.times=[];this.enabled=!0};Ea.prototype={time:function(a){this.enabled&&(a in this.started&&z("Timer is already running for "+a),this.started[a]=Date.now())},timeEnd:function(a){this.enabled&&(a in this.started||z("Timer has not been started for "+a),this.times.push({name:a,start:this.started[a],end:Date.now()}),delete this.started[a])},toString:function(){var a,b,c=this.times, d="",e=0;a=0;for(b=c.length;a<b;++a){var f=c[a].name;f.length>e&&(e=f.length)}a=0;for(b=c.length;a<b;++a){for(var g=c[a],f=g.end-g.start,g=g.name;g.length<e;)g+=" ";d+=g+" "+f+"ms\n"}return d}};PDFJS.createBlob=function(a,b){if("undefined"!==typeof Blob)return new Blob([a],{type:b});var c=new MozBlobBuilder;c.append(a);return c.getBlob(b)};PDFJS.createObjectURL=function(a,b){if(!PDFJS.disableCreateObjectURL&&"undefined"!==typeof URL&&URL.createObjectURL){var c=PDFJS.createBlob(a,b);return URL.createObjectURL(c)}for(var c= "data:"+b+";base64,",d=0,e=a.length;d<e;d+=3)var f=a[d]&255,g=a[d+1]&255,h=a[d+2]&255,c=c+("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="[f>>2]+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="[(f&3)<<4|g>>4]+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="[d+1<e?(g&15)<<2|h>>6:64]+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="[d+2<e?h&63:64]);return c};fa.prototype={on:function(a,b,c){var d=this.actionHandler;d[a]&&v('There is already an actionName called "'+ a+'"');d[a]=[b,c]},send:function(a,b,c,d){a={action:a,data:b};c&&(b=this.callbackIndex++,this.callbacks[b]=c,a.callbackId=b);d&&this.postMessageTransfers?this.comObj.postMessage(a,d):this.comObj.postMessage(a)}};var s,E=function(){v("should not call ColorSpace constructor")};E.prototype={getRgb:function(a,b){var c=new Uint8Array(3);this.getRgbItem(a,b,c,0);return c},getRgbItem:function(){v("Should not call ColorSpace.getRgbItem")},getRgbBuffer:function(){v("Should not call ColorSpace.getRgbBuffer")}, getOutputLength:function(){v("Should not call ColorSpace.getOutputLength")},isPassthrough:function(){return!1},fillRgb:function(a,b,c,d,e,f,g,h,j){var k=b*c,l=null,p=1<<g,q=c!=e||b!=d,n;if(this.isPassthrough(g))l=h;else if(1===this.numComps&&k>p&&"DeviceGray"!==this.name&&"DeviceRGB"!==this.name){var m=8>=g?new Uint8Array(p):new Uint16Array(p),r;for(n=0;n<p;n++)m[n]=n;var x=new Uint8Array(3*p);this.getRgbBuffer(m,0,p,x,0,g,0);if(q){l=new Uint8Array(3*k);for(n=m=0;n<k;++n)r=3*h[n],l[m++]=x[r],l[m++]= x[r+1],l[m++]=x[r+2]}else for(n=p=0;n<k;++n)r=3*h[n],a[p++]=x[r],a[p++]=x[r+1],a[p++]=x[r+2],p+=j}else q?(l=new Uint8Array(3*k),this.getRgbBuffer(h,0,k,l,0,g,0)):this.getRgbBuffer(h,0,d*f,a,0,g,j);if(l)if(q)PDFImage.resize(l,g,3,b,c,d,e,a,j);else{n=p=m=0;for(b=d*f;n<b;n++)a[p++]=l[m++],a[p++]=l[m++],a[p++]=l[m++],p+=j}},usesZeroToOneRange:!0};E.parse=function(a,b,c){a=E.parseToIR(a,b,c);return a instanceof ma?a:E.fromIR(a)};E.fromIR=function(a){var b=B(a)?a[0]:a,c;switch(b){case "DeviceGrayCS":return this.singletons.gray; case "DeviceRgbCS":return this.singletons.rgb;case "DeviceCmykCS":return this.singletons.cmyk;case "CalGrayCS":return b=a[1].WhitePoint,c=a[1].BlackPoint,new Fa(b,c,a[1].Gamma);case "PatternCS":return(a=a[1])&&(a=E.fromIR(a)),new Ga(a);case "IndexedCS":return b=a[2],c=a[3],new Ha(E.fromIR(a[1]),b,c);case "AlternateCS":return b=a[3],new ma(a[1],E.fromIR(a[2]),X.fromIR(b));case "LabCS":return b=a[1].WhitePoint,c=a[1].BlackPoint,new Ia(b,c,a[1].Range);default:v("Unkown name "+b)}return null};E.parseToIR= function(a,b,c){if(I(a)){var d=c.get("ColorSpace");U(d)&&(d=d.get(a.name))&&(a=d)}a=b.fetchIfRef(a);if(I(a))switch(this.mode=d=a.name,d){case "DeviceGray":case "G":return"DeviceGrayCS";case "DeviceRGB":case "RGB":return"DeviceRgbCS";case "DeviceCMYK":case "CMYK":return"DeviceCmykCS";case "Pattern":return["PatternCS",null];default:v("unrecognized colorspace "+d)}else if(B(a))switch(this.mode=d=a[0].name,d){case "DeviceGray":case "G":return"DeviceGrayCS";case "DeviceRGB":case "RGB":return"DeviceRgbCS"; case "DeviceCMYK":case "CMYK":return"DeviceCmykCS";case "CalGray":return b=a[1].getAll(),["CalGrayCS",b];case "CalRGB":return"DeviceRgbCS";case "ICCBased":d=b.fetchIfRef(a[1]).dict.get("N");if(1==d)return"DeviceGrayCS";if(3==d)return"DeviceRgbCS";if(4==d)return"DeviceCmykCS";break;case "Pattern":return(a=a[1])&&(a=E.parseToIR(a,b,c)),["PatternCS",a];case "Indexed":case "I":return c=E.parseToIR(a[1],b,c),d=a[2]+1,b=b.fetchIfRef(a[3]),xa(b)&&(b=b.getBytes()),["IndexedCS",c,d,b];case "Separation":case "DeviceN":var e= a[1],d=1;I(e)?d=1:B(e)&&(d=e.length);c=E.parseToIR(a[2],b,c);b=X.getIR(b,b.fetchIfRef(a[3]));return["AlternateCS",d,c,b];case "Lab":return b=a[1].getAll(),["LabCS",b];default:v('unimplemented color space object "'+d+'"')}else v('unrecognized color space object: "'+a+'"');return null};E.isDefaultDecode=function(a,b){if(!a)return!0;if(2*b!==a.length)return z("The decode map is not the correct length"),!0;for(var c=0,d=a.length;c<d;c+=2)if(0!==a[c]||1!=a[c+1])return!1;return!0};E.singletons={get gray(){return K(this, "gray",new Ja)},get rgb(){return K(this,"rgb",new Ka)},get cmyk(){return K(this,"cmyk",new La)}};s=E;var ma,Ma=function(a,b,c){this.name="Alternate";this.numComps=a;this.defaultColor=new Float32Array(a);for(var d=0;d<a;++d)this.defaultColor[d]=1;this.base=b;this.tintFn=c};Ma.prototype={getRgb:s.prototype.getRgb,getRgbItem:function(a,b,c,d){a="subarray"in a?a.subarray(b,b+this.numComps):Array.prototype.slice.call(a,b,b+this.numComps);a=this.tintFn(a);this.base.getRgbItem(a,0,c,d)},getRgbBuffer:function(a, b,c,d,e,f,g){var h=this.tintFn,j=this.base;f=1/((1<<f)-1);var k=j.numComps,l=j.usesZeroToOneRange,p=(j.isPassthrough(8)||!l)&&0===g,q=p?e:0,n=p?d:new Uint8Array(k*c),m=this.numComps,r=new Float32Array(m),x,w;for(x=0;x<c;x++){for(w=0;w<m;w++)r[w]=a[b++]*f;var D=h(r);if(l)for(w=0;w<k;w++)n[q++]=255*D[w];else j.getRgbItem(D,0,n,q),q+=k}p||j.getRgbBuffer(n,0,c,d,e,8,g)},getOutputLength:function(a,b){return this.base.getOutputLength(a*this.base.numComps/this.numComps,b)},isPassthrough:s.prototype.isPassthrough, fillRgb:s.prototype.fillRgb,isDefaultDecode:function(a){return s.isDefaultDecode(a,this.numComps)},usesZeroToOneRange:!0};ma=Ma;var Ga,Na=function(a){this.name="Pattern";this.base=a};Na.prototype={};Ga=Na;var Ha,Oa=function(a,b,c){this.name="Indexed";this.numComps=1;this.defaultColor=new Uint8Array([0]);this.base=a;this.highVal=b;a=a.numComps*b;var d;if(xa(c))d=new Uint8Array(a),c=c.getBytes(a),d.set(c);else if("string"==typeof c){d=new Uint8Array(a);for(b=0;b<a;++b)d[b]=c.charCodeAt(b)}else c instanceof Uint8Array||c instanceof Array?d=c:v("Unrecognized lookup table: "+c);this.lookup=d};Oa.prototype={getRgb:s.prototype.getRgb,getRgbItem:function(a,b,c,d){this.base.getRgbItem(this.lookup,a[b]*this.base.numComps,c,d)},getRgbBuffer:function(a,b,c,d,e,f,g){f=this.base;for(var h=f.numComps,j=f.getOutputLength(h,g),k=this.lookup,l=0;l<c;++l){var p=a[b++]*h;f.getRgbBuffer(k,p,1,d,e,8,g);e+=j}},getOutputLength:function(a,b){return this.base.getOutputLength(a*this.base.numComps,b)},isPassthrough:s.prototype.isPassthrough, fillRgb:s.prototype.fillRgb,isDefaultDecode:function(){return!0},usesZeroToOneRange:!0};Ha=Oa;var Ja,Pa=function(){this.name="DeviceGray";this.numComps=1;this.defaultColor=new Float32Array([0])};Pa.prototype={getRgb:s.prototype.getRgb,getRgbItem:function(a,b,c,d){a=255*a[b]|0;c[d]=c[d+1]=c[d+2]=0>a?0:255<a?255:a},getRgbBuffer:function(a,b,c,d,e,f,g){f=255/((1<<f)-1);for(var h=0;h<c;++h){var j=f*a[b++]|0;d[e++]=j;d[e++]=j;d[e++]=j;e+=g}},getOutputLength:function(a,b){return a*(3+b)},isPassthrough:s.prototype.isPassthrough, fillRgb:s.prototype.fillRgb,isDefaultDecode:function(a){return s.isDefaultDecode(a,this.numComps)},usesZeroToOneRange:!0};Ja=Pa;var Ka,Qa=function(){this.name="DeviceRGB";this.numComps=3;this.defaultColor=new Float32Array([0,0,0])};Qa.prototype={getRgb:s.prototype.getRgb,getRgbItem:function(a,b,c,d){var e=255*a[b]|0,f=255*a[b+1]|0;a=255*a[b+2]|0;c[d]=0>e?0:255<e?255:e;c[d+1]=0>f?0:255<f?255:f;c[d+2]=0>a?0:255<a?255:a},getRgbBuffer:function(a,b,c,d,e,f,g){if(8===f&&0===g)d.set(a.subarray(b,b+3*c), e);else{f=255/((1<<f)-1);for(var h=0;h<c;++h)d[e++]=f*a[b++]|0,d[e++]=f*a[b++]|0,d[e++]=f*a[b++]|0,e+=g}},getOutputLength:function(a,b){return a*(3+b)/3|0},isPassthrough:function(a){return 8==a},fillRgb:s.prototype.fillRgb,isDefaultDecode:function(a){return s.isDefaultDecode(a,this.numComps)},usesZeroToOneRange:!0};Ka=Qa;var La,Ra=function(a,b,c,d,e){var f=a[b+0]*c,g=a[b+1]*c,h=a[b+2]*c;c*=a[b+3];a=f*(-4.387332384609988*f+54.48615194189176*g+18.82290502165302*h+212.25662451639585*c+-285.2331026137004)+ g*(1.7149763477362134*g-5.6096736904047315*h+-17.873870861415444*c-5.497006427196366)+h*(-2.5217340131683033*h-21.248923337353073*c+17.5119270841813)+c*(-21.86122147463605*c-189.48180835922747)+255|0;b=f*(8.841041422036149*f+60.118027045597366*g+6.871425592049007*h+31.159100130055922*c+-79.2970844816548)+g*(-15.310361306967817*g+17.575251261109482*h+131.35250912493976*c-190.9453302588951)+h*(4.444339102852739*h+9.8632861493405*c-24.86741582555878)+c*(-20.737325471181034*c-187.80453709719578)+255| 0;f=f*(0.8842522430003296*f+8.078677503112928*g+30.89978309703729*h-0.23883238689178934*c+-14.183576799673286)+g*(10.49593273432072*g+63.02378494754052*h+50.606957656360734*c-112.23884253719248)+h*(0.03296041114873217*h+115.60384449646641*c+-193.58209356861505)+c*(-22.33816807309886*c-180.12613974708367)+255|0;d[e]=255<a?255:0>a?0:a;d[e+1]=255<b?255:0>b?0:b;d[e+2]=255<f?255:0>f?0:f},Sa=function(){this.name="DeviceCMYK";this.numComps=4;this.defaultColor=new Float32Array([0,0,0,1])};Sa.prototype={getRgb:s.prototype.getRgb, getRgbItem:function(a,b,c,d){Ra(a,b,1,c,d)},getRgbBuffer:function(a,b,c,d,e,f,g){f=1/((1<<f)-1);for(var h=0;h<c;h++)Ra(a,b,f,d,e),b+=4,e+=3+g},getOutputLength:function(a,b){return a/4*(3+b)|0},isPassthrough:s.prototype.isPassthrough,fillRgb:s.prototype.fillRgb,isDefaultDecode:function(a){return s.isDefaultDecode(a,this.numComps)},usesZeroToOneRange:!0};La=Sa;var Fa,Ta=function(a,b,c){this.name="CalGray";this.numComps=1;this.defaultColor=new Float32Array([0]);a||v("WhitePoint missing - required for color space CalGray"); b=b||[0,0,0];this.XW=a[0];this.YW=a[1];this.ZW=a[2];this.XB=b[0];this.YB=b[1];this.ZB=b[2];this.G=c||1;(0>this.XW||0>this.ZW||1!==this.YW)&&v("Invalid WhitePoint components for "+this.name+", no fallback available");if(0>this.XB||0>this.YB||0>this.ZB)G("Invalid BlackPoint for "+this.name+", falling back to default"),this.XB=this.YB=this.ZB=0;(0!==this.XB||0!==this.YB||0!==this.ZB)&&z(this.name+", BlackPoint: XB: "+this.XB+", YB: "+this.YB+", ZB: "+this.ZB+", only default values are supported.");1> this.G&&(G("Invalid Gamma: "+this.G+" for "+this.name+", falling back to default"),this.G=1)},Ua=function(a,b,c,d,e,f){b=Math.pow(b[c]*f,a.G);a=Math.max(116*Math.pow(a.YW*b,1/3)-16,0);d[e]=255*a/100;d[e+1]=255*a/100;d[e+2]=255*a/100};Ta.prototype={getRgb:s.prototype.getRgb,getRgbItem:function(a,b,c,d){Ua(this,a,b,c,d,1)},getRgbBuffer:function(a,b,c,d,e,f,g){f=1/((1<<f)-1);for(var h=0;h<c;++h)Ua(this,a,b,d,e,f),b+=1,e+=3+g},getOutputLength:function(a,b){return a*(3+b)},isPassthrough:s.prototype.isPassthrough, fillRgb:s.prototype.fillRgb,isDefaultDecode:function(a){return s.isDefaultDecode(a,this.numComps)},usesZeroToOneRange:!0};Fa=Ta;var Ia,Va=function(a,b,c){this.name="Lab";this.numComps=3;this.defaultColor=new Float32Array([0,0,0]);a||v("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)&& v("Invalid WhitePoint components, no fallback available");if(0>this.XB||0>this.YB||0>this.ZB)G("Invalid BlackPoint, falling back to default"),this.XB=this.YB=this.ZB=0;if(this.amin>this.amax||this.bmin>this.bmax)G("Invalid Range, falling back to defaults"),this.amin=-100,this.amax=100,this.bmin=-100,this.bmax=100},na=function(a){return a>=6/29?a*a*a:108/841*(a-4/29)},Wa=function(a,b,c,d,e,f){var g=b[c],h=b[c+1];b=b[c+2];!1!==d&&(g=0+100*g/d,h=a.amin+h*(a.amax-a.amin)/d,b=a.bmin+b*(a.bmax-a.bmin)/ d);h=h>a.amax?a.amax:h<a.amin?a.amin:h;b=b>a.bmax?a.bmax:b<a.bmin?a.bmin:b;d=(g+16)/116;g=d-b/200;h=a.XW*na(d+h/500);d=a.YW*na(d);g=a.ZW*na(g);1>a.ZW?(a=3.1339*h+-1.617*d+-0.4906*g,b=-0.9785*h+1.916*d+0.0333*g,h=0.072*h+-0.229*d+1.4057*g):(a=3.2406*h+-1.5372*d+-0.4986*g,b=-0.9689*h+1.8758*d+0.0415*g,h=0.0557*h+-0.204*d+1.057*g);e[f]=0>=a?0:1<=a?255:255*Math.sqrt(a)|0;e[f+1]=0>=b?0:1<=b?255:255*Math.sqrt(b)|0;e[f+2]=0>=h?0:1<=h?255:255*Math.sqrt(h)|0};Va.prototype={getRgb:s.prototype.getRgb,getRgbItem:function(a, b,c,d){Wa(this,a,b,!1,c,d)},getRgbBuffer:function(a,b,c,d,e,f,g){f=(1<<f)-1;for(var h=0;h<c;h++)Wa(this,a,b,f,d,e),b+=3,e+=3+g},getOutputLength:function(a,b){return a*(3+b)/3|0},isPassthrough:s.prototype.isPassthrough,isDefaultDecode:function(){return!0},usesZeroToOneRange:!1};Ia=Va;var X;X={getSampleArray:function(a,b,c,d){var e,f,g=1;e=0;for(f=a.length;e<f;e++)g*=a[e];g*=b;a=[];f=b=0;var h=1/(Math.pow(2,c)-1);d=d.getBytes((g*c+7)/8);var j=0;for(e=0;e<g;e++){for(;b<c;)f<<=8,f|=d[j++],b+=8;b-=c;a.push((f>> b)*h);f&=(1<<b)-1}return a},getIR:function(a,b){var c=b.dict;c||(c=b);var d=[this.constructSampled,null,this.constructInterpolated,this.constructStiched,this.constructPostScript],e=c.get("FunctionType");(d=d[e])||v("Unknown type of function");return d.call(this,b,c,a)},fromIR:function(a){switch(a[0]){case 0:return this.constructSampledFromIR(a);case 2:return this.constructInterpolatedFromIR(a);case 3:return this.constructStichedFromIR(a);default:return this.constructPostScriptFromIR(a)}},parse:function(a, b){var c=this.getIR(a,b);return this.fromIR(c)},constructSampled:function(a,b){function c(a){for(var b=a.length,c=[],d=0,e=0;e<b;e+=2)c[d]=[a[e],a[e+1]],++d;return c}var d=b.get("Domain"),e=b.get("Range");(!d||!e)&&v("No domain or range");var f=d.length/2,g=e.length/2,d=c(d),e=c(e),h=b.get("Size"),j=b.get("BitsPerSample"),k=b.get("Order")||1;1!==k&&G("No support for cubic spline interpolation: "+k);k=b.get("Encode");if(!k)for(var k=[],l=0;l<f;++l)k.push(0),k.push(h[l]-1);var k=c(k),l=(l=b.get("Decode"))? c(l):e,p=this.getSampleArray(h,g,j,a);return[0,f,d,k,l,p,h,g,Math.pow(2,j)-1,e]},constructSampledFromIR:function(a){return function(b){var c=a[1],d=a[2],e=a[3],f=a[4],g=a[5],h=a[6],j=a[7],k=a[9];c!=b.length&&v("Incorrect number of arguments: "+c+" != "+b.length);var l=1<<c,p=new Float64Array(l),q=new Uint32Array(l),n,m;for(m=0;m<l;m++)p[m]=1;var r=j,x=1;for(n=0;n<c;++n){m=d[n][0];var w=d[n][1],D=Math.min(Math.max(b[n],m),w),t=e[n][0]+(D-m)*((e[n][1]-e[n][0])/(w-m)),w=h[n],t=Math.min(Math.max(t,0), w-1);m=t<w-1?Math.floor(t):t-1;var D=m+1-t,t=t-m,s=m*r,P=s+r;for(m=0;m<l;m++)m&x?(p[m]*=t,q[m]+=P):(p[m]*=D,q[m]+=s);r*=w;x<<=1}b=new Float64Array(j);for(m=0;m<j;++m){for(n=c=0;n<l;n++)c+=g[q[n]+m]*p[n];c=f[m][0]+(c-0)*((f[m][1]-f[m][0])/1);b[m]=Math.min(Math.max(c,k[m][0]),k[m][1])}return b}},constructInterpolated:function(a,b){var c=b.get("C0")||[0],d=b.get("C1")||[1],e=b.get("N");(!B(c)||!B(d))&&v("Illegal dictionary for interpolated function");for(var f=c.length,g=[],h=0;h<f;++h)g.push(d[h]-c[h]); return[2,c,g,e]},constructInterpolatedFromIR:function(a){var b=a[1],c=a[2],d=a[3],e=c.length;return function(a){a=1==d?a[0]:Math.pow(a[0],d);for(var g=[],h=0;h<e;++h)g.push(b[h]+a*c[h]);return g}},constructStiched:function(a,b,c){(a=b.get("Domain"))||v("No domain");1!=a.length/2&&v("Bad domain for stiched function");for(var d=b.get("Functions"),e=[],f=0,g=d.length;f<g;++f)e.push(X.getIR(c,c.fetchIfRef(d[f])));c=b.get("Bounds");b=b.get("Encode");return[3,a,c,b,e]},constructStichedFromIR:function(a){var b= a[1],c=a[2],d=a[3];a=a[4];for(var e=[],f=0,g=a.length;f<g;f++)e.push(X.fromIR(a[f]));return function(a){a=a[0];var f=b[0],g=b[1];a>g?a=g:a<f&&(a=f);f=0;for(g=c.length;f<g&&!(a<c[f]);++f);g=b[0];0<f&&(g=c[f-1]);var l=b[1];f<c.length&&(l=c[f]);var p=d[2*f];return e[f]([p+(a-g)*(d[2*f+1]-p)/(l-g)])}},constructPostScript:function(a,b){var c=b.get("Domain"),d=b.get("Range");c||v("No domain.");d||v("No range.");var e=new PostScriptLexer(a),e=(new PostScriptParser(e)).parse();return[4,c,d,e]},constructPostScriptFromIR:function(a){var b= a[1],c=a[2],d=c.length/2,e=new Xa(a[3]),f=new Ya;return function(a){for(var h=[],j=0,k=b.length/2;j<k;++j)h.push(a[j]);a=h.join("_");if(f.has(a))return f.get(a);h=e.execute(h);k=[];for(j=d-1;0<=j;--j){var l=h.pop(),p=2*j;l<c[p]?l=c[p]:l>c[p+1]&&(l=c[p+1]);k[j]=l}f.set(a,k);return k}}};var Ya,Za=function(){this.cache={};this.total=0};Za.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++)}};Ya=Za; var $a=function(a){this.stack=a||[]};$a.prototype={push:function(a){100<=this.stack.length&&v("PostScript function stack overflow.");this.stack.push(a)},pop:function(){0>=this.stack.length&&v("PostScript function stack underflow.");return this.stack.pop()},copy:function(a){100<=this.stack.length+a&&v("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),g,h,j;g=d;for(h=e;g<h;g++,h--)j=c[g],c[g]=c[h],c[h]=j;g=d;for(h=f-1;g<h;g++,h--)j=c[g],c[g]=c[h],c[h]=j;g=f;for(h=e;g<h;g++,h--)j=c[g],c[g]=c[h],c[h]=j}};var Xa,ab=function(a){this.operators=a};ab.prototype={execute:function(a){a=new $a(a);for(var b=0,c=this.operators,d=c.length,e,f;b<d;)if(e=c[b++],"number"==typeof e)a.push(e);else switch(e){case "jz":f=a.pop();(e=a.pop())||(b=f);break;case "j":b=e=a.pop();break;case "abs":e=a.pop();a.push(Math.abs(e)); break;case "add":f=a.pop();e=a.pop();a.push(e+f);break;case "and":f=a.pop();e=a.pop();L(e)&&L(f)?a.push(e&&f):a.push(e&f);break;case "atan":e=a.pop();a.push(Math.atan(e));break;case "bitshift":f=a.pop();e=a.pop();0<e?a.push(e<<f):a.push(e>>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(e<f);break;case "mod":f=a.pop();e=a.pop();a.push(e%f);break;case "mul":f=a.pop();e=a.pop();a.push(e*f);break;case "ne":f=a.pop();e=a.pop();a.push(e!=f);break;case "neg":a.pop();a.push(-f);break;case "not":e=a.pop();L(e)&&L(f)?a.push(e&&f):a.push(e&f);break;case "or":f=a.pop();e=a.pop();L(e)&&L(f)?a.push(e||f):a.push(e|f);break;case "pop":a.pop();break;case "roll":f=a.pop();e=a.pop();a.roll(e,f);break; case "round":e=a.pop();a.push(Math.round(e));break;case "sin":e=a.pop();a.push(Math.sin(e));break;case "sqrt":e=a.pop();a.push(Math.sqrt(e));break;case "sub":f=a.pop();e=a.pop();a.push(e-f);break;case "true":a.push(!0);break;case "truncate":e=a.pop();e=0>e?Math.ceil(e):Math.floor(e);a.push(e);break;case "xor":f=a.pop();e=a.pop();L(e)&&L(f)?a.push(e!=f):a.push(e^f);break;default:v("Unknown operator "+e)}return a.stack}};Xa=ab;var Lb=["Link","Text","Widget"],C=function(a){if(a.data)this.data=a.data; else{var b=a.dict,c=this.data={};c.subtype=b.get("Subtype").name;var d=b.get("Rect")||[0,0,0,0];c.rect=t.normalizeRect(d);c.annotationFlags=b.get("F");d=b.get("C");c.color=B(d)&&3===d.length?d:[0,0,0];if(b.has("BS"))d=b.get("BS"),c.borderWidth=d.has("W")?d.get("W"):1;else if(d=b.get("Border")||[0,0,1],c.borderWidth=d[2]||0,d=d[3],0<c.borderWidth&&d&&B(d)){var e=d.length;if(0<e){for(var f=!1,g=0,h=0;h<e;h++)if(0<=+d[h])0<d[h]&&g++;else{f=!0;break}if(f||0===g)c.borderWidth=0}}var j;d=b.get("AP");U(d)? (d=d.get("N"),U(d)?(b=b.get("AS"))&&d.has(b.name)&&(j=d.get(b.name)):j=d):j=void 0;this.appearance=j;c.hasAppearance=!!this.appearance;c.id=a.ref.num}};C.prototype={getData:function(){return this.data},hasHtml:function(){return!1},getHtmlElement:function(){throw new W("getHtmlElement() should be implemented in subclass");},getEmptyContainer:function(a,b,c){!V||v("getEmptyContainer() should be called from main thread");c=c||0;b=b||this.data.rect;a=document.createElement(a);a.style.borderWidth=c+"px"; var d=b[3]-b[1]-2*c;a.style.width=b[2]-b[0]-2*c+"px";a.style.height=d+"px";return a},isInvisible:function(){var a=this.data;return a&&-1!==Lb.indexOf(a.subtype)?!1:!(!a||!(a.annotationFlags&&a.annotationFlags&1))},isViewable:function(){var a=this.data;return!(this.isInvisible()||!a||a.annotationFlags&&a.annotationFlags&34||!a.rect)},isPrintable:function(){var a=this.data;return!(this.isInvisible()||!a||!a.annotationFlags||!(a.annotationFlags&4&&a.rect))},loadResources:function(a){var b=new N;this.appearance.dict.getAsync("Resources").then(function(c){c? (new ObjectLoader(c.map,a,c.xref)).load().then(function(){b.resolve(c)}):b.resolve()}.bind(this));return b},getOperatorList:function(a){var b=new N;if(!this.appearance)return b.resolve(new OperatorList),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],g=d.get("Matrix")||[1,0,0,1,0,0],h;var d=c.rect,j=t.getAxialAlignedBoundingBox(f,g),f=j[0],k=j[1],l=j[2],j=j[3];f===l||k===j?h=[1,0,0,1,d[0],d[1]]: (l=(d[2]-d[0])/(l-f),j=(d[3]-d[1])/(j-k),h=[l,0,0,j,d[0]-f*l,d[1]-k*j]);e.then(function(d){var e=new OperatorList;e.addOp(J.beginAnnotation,[c.rect,h,g]);a.getOperatorList(this.appearance,d,e);e.addOp(J.endAnnotation,[]);b.resolve(e);this.appearance.reset()}.bind(this));return b}};C.getConstructor=function(a,b){if(a){if("Link"===a)return bb;if("Text"===a)return cb;if("Widget"===a){if(b)return"Tx"===b?db:Z}else return C}};C.fromData=function(a){var b=C.getConstructor(a.subtype,a.fieldType);if(b)return new b({data:a})}; C.fromRef=function(a,b){var c=a.fetchIfRef(b);if(U(c)){var d=c.get("Subtype");if(d=I(d)?d.name:""){var e=t.getInheritableProperty(c,"FT"),e=I(e)?e.name:"";if(e=C.getConstructor(d,e)){c=new e({dict:c,ref:b});if(c.isViewable()||c.isPrintable())return c;z("unimplemented annotation type: "+d)}}}};C.appendToOperatorList=function(a,b,c,d,e){var f=new N;c=[];for(var g=0,h=a.length;g<h;++g)("display"===e&&a[g].isViewable()||"print"===e&&a[g].isPrintable())&&c.push(a[g].getOperatorList(d));Promise.all(c).then(function(a){b.addOp(J.beginAnnotations, []);for(var c=0,d=a.length;c<d;++c)b.addOpList(a[c]);b.addOp(J.endAnnotations,[]);f.resolve()},function(a){f.reject(a)});return f};PDFJS.Annotation=C;var Z,eb=function(a){C.call(this,a);if(!a.data){var b=a.dict,c=this.data;c.fieldValue=T(t.getInheritableProperty(b,"V")||"");c.alternativeText=T(b.get("TU")||"");c.defaultAppearance=t.getInheritableProperty(b,"DA")||"";var d=t.getInheritableProperty(b,"FT");c.fieldType=I(d)?d.name:"";c.fieldFlags=t.getInheritableProperty(b,"Ff")||0;this.fieldResources= t.getInheritableProperty(b,"DR")||Dict.empty;var d=[],e=b;for(a=a.ref;e;){var b=e.get("Parent"),f=e.getRaw("Parent");if(e=e.get("T"))d.unshift(T(e));else{var e=b.get("Kids"),g,h;g=0;for(h=e.length;g<h;g++){var j=e[g];if(j.num==a.num&&j.gen==a.gen)break}d.unshift("`"+g)}e=b;a=f}c.fullName=d.join(".")}},Mb=C.prototype;t.inherit(eb,C,{isViewable:function(){return"Sig"===this.data.fieldType?(z("unimplemented annotation type: Widget signature"),!1):Mb.isViewable.call(this)}});Z=eb;var db,fb=function(a){Z.call(this, a);a.data||(this.data.textAlignment=t.getInheritableProperty(a.dict,"Q"))};t.inherit(fb,Z,{hasHtml:function(){return!this.data.hasAppearance&&!!this.data.fieldValue},getHtmlElement:function(a){!V||v("getHtmlElement() shall be called from main thread");var b=this.data,c=this.getEmptyContainer("div");c.style.display="table";var d=document.createElement("div");d.textContent=b.fieldValue;d.style.textAlign=["left","center","right"][b.textAlignment];d.style.verticalAlign="middle";d.style.display="table-cell"; a=b.fontRefName?a.getData(b.fontRefName):null;var e=d.style;e.fontSize=b.fontSize+"px";e.direction=0>b.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 C.prototype.getOperatorList.call(this,a);var b=new N,c=new OperatorList,d=this.data,e=d.defaultAppearance; if(!e)return b.resolve(c),b;for(var f=Stream,g=e.length,h=new Uint8Array(g),j=0;j<g;++j)h[j]=e.charCodeAt(j)&255;e=new f(h);a.getOperatorList(e,this.fieldResources,c);a=c.fnArray;e=c.argsArray;d.rgb=[0,0,0];for(f=0;0>f;++f)g=a[f],h=e[f],g===J.setFont?(d.fontRefName=h[0],g=h[1],0>g?(d.fontDirection=-1,d.fontSize=-g):(d.fontDirection=1,d.fontSize=g)):g===J.setFillRGBColor?d.rgb=h:g===J.setFillGray&&(g=255*h[0],d.rgb=[g,g,g]);b.resolve(c);return b}});db=fb;var oa=function(a){C.call(this,a)};t.inherit(oa, C,{hasHtml:function(){return!0},highlight:function(){this.highlightElement&&this.highlightElement.hasAttribute("hidden")&&this.highlightElement.removeAttribute("hidden")},unhighlight:function(){this.highlightElement&&!this.highlightElement.hasAttribute("hidden")&&this.highlightElement.setAttribute("hidden",!0)},initContainer:function(){for(var a=this.data,b=this.getEmptyContainer("section",a.rect,a.borderWidth),c=b.style.backgroundColor=a.color,d=[],e=0;3>e;++e)d[e]=Math.round(255*c[e]);a.colorCssRgb= t.makeCssRgb(d);a=document.createElement("div");a.className="annotationHighlight";a.style.left=a.style.top="-4px";a.style.right=a.style.bottom="-4px";a.setAttribute("hidden",!0);this.highlightElement=a;b.appendChild(this.highlightElement);return b}});var cb,gb=function(a){C.call(this,a);if(!a.data){a=a.dict;var b=this.data,c=a.get("Contents"),d=a.get("T");b.content=T(c||"");b.title=T(d||"");b.hasAppearance?b.name="NoIcon":(b.rect[1]=b.rect[3]-22,b.rect[2]=b.rect[0]+22,b.name=a.has("Name")?a.get("Name").name: "Note");a.has("C")&&(b.hasBgColor=!0)}};t.inherit(gb,oa,{getHtmlElement:function(){!V||v("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.initContainer();c.className="annotText";var d=document.createElement("img");d.style.height=c.style.height;d.style.width=c.style.width;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});e=document.createElement("div");e.className="annotTextContentWrapper";e.style.left=Math.floor(b[2]-b[0]+5)+"px";e.style.top="-10px";var f=document.createElement("div");f.className="annotTextContent";f.setAttribute("hidden",!0);if(a.hasBgColor){for(var g=a.color,h=[],b=0;3>b;++b){var j=Math.round(255*g[b]);h[b]=Math.round(0.7*(255-j))+j}f.style.backgroundColor=t.makeCssRgb(h)}g=document.createElement("h1");h=document.createElement("p"); g.textContent=a.title;if(!a.content&&!a.title)f.setAttribute("hidden",!0);else{for(var j=document.createElement("span"),k=a.content.split(/(?:\r\n?|\n)/),b=0,a=k.length;b<a;++b)j.appendChild(document.createTextNode(k[b])),b<a-1&&j.appendChild(document.createElement("br"));h.appendChild(j);var l=!1,p=function(a){a&&(l=!0);f.hasAttribute("hidden")&&(c.style.zIndex+=1,f.removeAttribute("hidden"))},q=function(a){a&&(l=!1);!f.hasAttribute("hidden")&&!l&&(c.style.zIndex-=1,f.setAttribute("hidden",!0))}; d.addEventListener("click",function(){l?q(!0):p(!0)},!1);d.addEventListener("mouseover",function(){p()},!1);d.addEventListener("mouseout",function(){q()},!1);f.addEventListener("click",function(){q(!0)},!1)}f.appendChild(g);f.appendChild(h);e.appendChild(f);c.appendChild(d);c.appendChild(e);return c}});cb=gb;var bb,hb=function(a){C.call(this,a);if(!a.data){var b=a.dict;a=this.data;var c=b.get("A");if(c)if(b=c.get("S").name,"URI"===b){var d=c.get("URI");I(d)?d="/"+d.name:d&&(d=d&&0===d.indexOf("www.")? "http://"+d:d);ea(d,!1)||(d="");a.url=d}else"GoTo"===b?a.dest=c.get("D"):"GoToR"===b?(b=c.get("F"),U(b)&&(d=b.get("F")||""),ea(d,!1)||(d=""),a.url=d,a.dest=c.get("D")):"Named"===b?a.action=c.get("N").name:z("unrecognized link type: "+b);else b.has("Dest")&&(d=b.get("Dest"),a.dest=I(d)?d.name:d)}};t.inherit(hb,oa,{hasOperatorList:function(){return!1},getHtmlElement:function(){var a=this.initContainer();a.className="annotLink";a.style.borderColor=this.data.colorCssRgb;a.style.borderStyle="solid";var b= document.createElement("a");b.href=b.title=this.data.url||"";a.appendChild(b);return a}});bb=hb;PDFJS.maxImageSize=void 0===PDFJS.maxImageSize?-1:PDFJS.maxImageSize;PDFJS.cMapUrl=void 0===PDFJS.cMapUrl?null:PDFJS.cMapUrl;PDFJS.cMapPacked=void 0===PDFJS.cMapPacked?!1:PDFJS.cMapPacked;PDFJS.disableFontFace=void 0===PDFJS.disableFontFace?!1:PDFJS.disableFontFace;PDFJS.imageResourcesPath=void 0===PDFJS.imageResourcesPath?"":PDFJS.imageResourcesPath;PDFJS.disableWorker=void 0===PDFJS.disableWorker?!1: PDFJS.disableWorker;PDFJS.workerSrc=void 0===PDFJS.workerSrc?null:PDFJS.workerSrc;PDFJS.disableRange=void 0===PDFJS.disableRange?!1:PDFJS.disableRange;PDFJS.disableAutoFetch=void 0===PDFJS.disableAutoFetch?!1:PDFJS.disableAutoFetch;PDFJS.pdfBug=void 0===PDFJS.pdfBug?!1:PDFJS.pdfBug;PDFJS.postMessageTransfers=void 0===PDFJS.postMessageTransfers?!0:PDFJS.postMessageTransfers;PDFJS.disableCreateObjectURL=void 0===PDFJS.disableCreateObjectURL?!1:PDFJS.disableCreateObjectURL;PDFJS.disableWebGL=void 0=== PDFJS.disableWebGL?!0:PDFJS.disableWebGL;PDFJS.verbosity=void 0===PDFJS.verbosity?PDFJS.VERBOSITY_LEVELS.warnings:PDFJS.verbosity;PDFJS.getDocument=function(a,b,c,d){var e,f;"string"===typeof a?a={url:a}:"object"==typeof a&&null!==a&&void 0!==a&&"byteLength"in a?a={data:a}:"object"!==typeof a&&v("Invalid parameter in getDocument, need either Uint8Array, string or a parameter object");!a.url&&!a.data&&v("Invalid parameter array, need either .data or .url");var g={};for(e in a)g[e]="url"===e&&"undefined"!== typeof window?Gb(window.location.href,a[e]):a[e];a=new PDFJS.LegacyPromise;e=new PDFJS.LegacyPromise;f=new ib(a,e,b,d);a.then(function(){f.passwordCallback=c;f.fetchDocument(g)});return e};var jb=function(a,b){this.pdfInfo=a;this.transport=b};jb.prototype={get numPages(){return this.pdfInfo.numPages},get fingerprint(){return this.pdfInfo.fingerprint},getPage:function(a){return this.transport.getPage(a)},getPageIndex:function(a){return this.transport.getPageIndex(a)},getDestinations:function(){return this.transport.getDestinations()}, getAttachments:function(){return this.transport.getAttachments()},getJavaScript:function(){var a=new PDFJS.LegacyPromise;a.resolve(this.pdfInfo.javaScript);return a},getOutline:function(){var a=new PDFJS.LegacyPromise;a.resolve(this.pdfInfo.outline);return a},getMetadata:function(){var a=new PDFJS.LegacyPromise,b=this.pdfInfo.metadata;a.resolve({info:this.pdfInfo.info,metadata:b?new PDFJS.Metadata(b):null});return a},getData:function(){var a=new PDFJS.LegacyPromise;this.transport.getData(a);return a}, getDownloadInfo:function(){return this.transport.downloadInfoPromise},cleanup:function(){this.transport.startCleanup()},destroy:function(){this.transport.destroy()}};var kb=function(a,b){this.pageInfo=a;this.transport=b;this.stats=new Ea;this.stats.enabled=!!y.PDFJS.enableStats;this.commonObjs=b.commonObjs;this.objs=new pa;this.pendingDestroy=this.cleanupAfterRender=!1;this.intentStates={}};kb.prototype={get pageNumber(){return this.pageInfo.pageIndex+1},get rotate(){return this.pageInfo.rotate}, get ref(){return this.pageInfo.ref},get view(){return this.pageInfo.view},getViewport:function(a,b){2>arguments.length&&(b=this.rotate);return new PDFJS.PageViewport(this.view,a,b,0,0)},getAnnotations:function(){if(this.annotationsPromise)return this.annotationsPromise;var a=new PDFJS.LegacyPromise;this.annotationsPromise=a;this.transport.getAnnotations(this.pageInfo.pageIndex);return a},render:function(a){function b(a){var b=e.renderTasks.indexOf(f);0<=b&&e.renderTasks.splice(b,1);h.cleanupAfterRender&& (h.pendingDestroy=!0);h._tryDestroy();a?g.promise.reject(a):g.promise.resolve();c.timeEnd("Rendering");c.timeEnd("Overall")}var c=this.stats;c.time("Overall");this.pendingDestroy=!1;var d="intent"in a?"print"==a.intent?"print":"display":"display";this.intentStates[d]||(this.intentStates[d]={});var e=this.intentStates[d];e.displayReadyPromise||(e.receivingOperatorList=!0,e.displayReadyPromise=new N,e.operatorList={fnArray:[],argsArray:[],lastChunk:!1},this.stats.time("Page Request"),this.transport.messageHandler.send("RenderPageRequest", {pageIndex:this.pageNumber-1,intent:d}));var f=new lb(b,a,this.objs,this.commonObjs,e.operatorList,this.pageNumber);e.renderTasks||(e.renderTasks=[]);e.renderTasks.push(f);var g=new mb(f),h=this;e.displayReadyPromise.then(function(a){h.pendingDestroy?b():(c.time("Rendering"),f.initalizeGraphics(a),f.operatorListChanged())},function(a){b(a)});return g},getTextContent:function(){var a=new PDFJS.LegacyPromise;this.transport.messageHandler.send("GetTextContent",{pageIndex:this.pageNumber-1},function(b){a.resolve(b)}); return a},destroy:function(){this.pendingDestroy=!0;this._tryDestroy()},_tryDestroy:function(){this.pendingDestroy&&!Object.keys(this.intentStates).some(function(a){a=this.intentStates[a];return 0!==a.renderTasks.length||a.receivingOperatorList},this)&&(Object.keys(this.intentStates).forEach(function(a){delete this.intentStates[a]},this),this.objs.clear(),this.pendingDestroy=!1)},_startRenderPage:function(a,b){this.intentStates[b].displayReadyPromise.resolve(a)},_renderPageChunk:function(a,b){var c= this.intentStates[b],d,e;d=0;for(e=a.length;d<e;d++)c.operatorList.fnArray.push(a.fnArray[d]),c.operatorList.argsArray.push(a.argsArray[d]);c.operatorList.lastChunk=a.lastChunk;for(d=0;d<c.renderTasks.length;d++)c.renderTasks[d].operatorListChanged();a.lastChunk&&(c.receivingOperatorList=!1,this._tryDestroy())}};var ib,nb=function(a,b,c,d){this.pdfDataRangeTransport=c;this.workerReadyPromise=b;this.progressCallback=d;this.commonObjs=new pa;this.pageCache=[];this.pagePromises=[];this.downloadInfoPromise= new PDFJS.LegacyPromise;this.passwordCallback=null;if(!y.PDFJS.disableWorker&&"undefin