2013-10-03 14:19:40 +02:00
"undefined" === typeof PDFJS && ( ( "undefined" !== typeof window ? window : this ) . PDFJS = { } ) ; PDFJS . version = "0.8.573" ; PDFJS . build = "e97e003" ;
( function ( ) { var D , V ; function S ( b ) { ba >= na && ( J ( "Info: " + b ) , PDFJS . LogManager . notify ( "info" , b ) ) } function F ( b ) { ba >= ca && ( J ( "Warning: " + b ) , PDFJS . LogManager . notify ( "warn" , b ) ) } function m ( b ) { if ( 1 < arguments . length ) { var a = [ "Error:" ] ; a . push . apply ( a , arguments ) ; J . apply ( null , a ) ; b = [ ] . join . call ( arguments , " " ) } else J ( "Error: " + b ) ; var a = J , c ; try { throw Error ( ) ; } catch ( e ) { c = e . stack ? e . stack . split ( "\n" ) . slice ( 2 ) . join ( "\n" ) : "" } a ( c ) ; PDFJS . LogManager . notify ( "error" , b ) ; throw Error ( b ) ; } function K ( b ) { F ( "TODO: " + b ) } function oa ( b ,
a ) { if ( ! a ) return b ; if ( 0 <= a . indexOf ( ":" ) ) return a ; if ( "/" == a . charAt ( 0 ) ) { var c = b . indexOf ( "://" ) , c = b . indexOf ( "/" , c + 3 ) ; return b . substring ( 0 , c ) + a } var e = b . length , c = b . lastIndexOf ( "#" ) , e = 0 <= c ? c : e , c = b . lastIndexOf ( "?" , e ) , c = b . lastIndexOf ( "/" , 0 <= c ? c : e ) ; return b . substring ( 0 , c + 1 ) + a } function Y ( b , a ) { if ( ! b ) return ! 1 ; var c = b . indexOf ( ":" ) ; if ( 0 > c ) return a ; switch ( b . substr ( 0 , c ) ) { case "http" : case "https" : case "ftp" : case "mailto" : return ! 0 ; default : return ! 1 } } function W ( b , a , c ) { Object . defineProperty ( b , a , { value : c , enumerable : ! 0 ,
configurable : ! 0 , writable : ! 1 } ) ; return c } function T ( b ) { var a , c = b . length , e = "" ; if ( "\u00fe" === b [ 0 ] && "\u00ff" === b [ 1 ] ) for ( a = 2 ; a < c ; a += 2 ) e += String . fromCharCode ( b . charCodeAt ( a ) << 8 | b . charCodeAt ( a + 1 ) ) ; else for ( a = 0 ; a < c ; ++ a ) var d = pa [ b . charCodeAt ( a ) ] , e = e + ( d ? String . fromCharCode ( d ) : b . charAt ( a ) ) ; return e } function L ( b ) { return "boolean" == typeof b } function M ( b ) { return b instanceof Name } function O ( b , a ) { if ( ! ( b instanceof Dict ) ) return ! 1 ; if ( ! a ) return ! 0 ; var c = b . get ( "Type" ) ; return M ( c ) && c . name == a } function B ( b ) { return b instanceof
Array } function X ( b ) { return "object" == typeof b && null !== b && void 0 !== b && "getBytes" in b } function da ( b ) { if ( "object" != typeof b ) return ! 1 ; if ( ! O ( b ) ) if ( X ( b ) ) b = b . dict ; else return ! 1 ; return b . has ( "FunctionType" ) } function Z ( b , a ) { this . name = b ; this . comObj = a ; this . callbackIndex = 1 ; var c = this . callbacks = { } , e = this . actionHandler = { } ; e . console _log = [ function ( a ) { J . apply ( null , a ) } ] ; e . console _error = "console" in v ? [ function ( a ) { v . console . error . apply ( null , a ) } ] : [ function ( a ) { J . apply ( null , a ) } ] ; e . _warn = [ function ( a ) { F ( a ) } ] ; a . onmessage = function ( d ) { var b =
d . data ; if ( b . isReply ) if ( d = b . callbackId , b . callbackId in c ) { var f = c [ d ] ; delete c [ d ] ; f ( b . data ) } else m ( "Cannot resolve callback " + d ) ; else b . action in e ? ( d = e [ b . action ] , b . callbackId ? ( f = new x , f . then ( function ( c ) { a . postMessage ( { isReply : ! 0 , callbackId : b . callbackId , data : c } ) } ) , d [ 0 ] . call ( d [ 1 ] , b . data , f ) ) : d [ 0 ] . call ( d [ 1 ] , b . data ) ) : m ( "Unkown action from worker: " + b . action ) } } function qa ( b , a , c ) { var e = new Image ; e . onload = function ( ) { c . resolve ( b , e ) } ; e . src = "data:image/jpeg;base64," + window . btoa ( a ) } function ea ( b , a ) { var c = document . createElement ( "canvas" ) ;
c . width = b ; c . height = a ; return c } function fa ( b ) { b . mozCurrentTransform || ( b . _scaleX = b . _scaleX || 1 , b . _scaleY = b . _scaleY || 1 , b . _originalSave = b . save , b . _originalRestore = b . restore , b . _originalRotate = b . rotate , b . _originalScale = b . scale , b . _originalTranslate = b . translate , b . _originalTransform = b . transform , b . _originalSetTransform = b . setTransform , b . _transformMatrix = [ b . _scaleX , 0 , 0 , b . _scaleY , 0 , 0 ] , b . _transformStack = [ ] , Object . defineProperty ( b , "mozCurrentTransform" , { get : function ( ) { return this . _transformMatrix } } ) , Object . defineProperty ( b ,
"mozCurrentTransformInverse" , { get : function ( ) { var a = this . _transformMatrix , c = a [ 0 ] , e = a [ 1 ] , d = a [ 2 ] , b = a [ 3 ] , f = a [ 4 ] , a = a [ 5 ] , k = c * b - e * d , h = e * d - c * b ; return [ b / k , e / h , d / h , c / k , ( b * f - d * a ) / h , ( e * f - c * a ) / k ] } } ) , b . save = function ( ) { var a = this . _transformMatrix ; this . _transformStack . push ( a ) ; this . _transformMatrix = a . slice ( 0 , 6 ) ; this . _originalSave ( ) } , b . restore = function ( ) { var a = this . _transformStack . pop ( ) ; a && ( this . _transformMatrix = a , this . _originalRestore ( ) ) } , b . translate = function ( a , c ) { var e = this . _transformMatrix ; e [ 4 ] = e [ 0 ] * a + e [ 2 ] * c + e [ 4 ] ;
e [ 5 ] = e [ 1 ] * a + e [ 3 ] * c + e [ 5 ] ; this . _originalTranslate ( a , c ) } , b . scale = function ( a , c ) { var e = this . _transformMatrix ; e [ 0 ] *= a ; e [ 1 ] *= a ; e [ 2 ] *= c ; e [ 3 ] *= c ; this . _originalScale ( a , c ) } , b . transform = function ( a , c , e , d , g , f ) { var k = this . _transformMatrix ; this . _transformMatrix = [ k [ 0 ] * a + k [ 2 ] * c , k [ 1 ] * a + k [ 3 ] * c , k [ 0 ] * e + k [ 2 ] * d , k [ 1 ] * e + k [ 3 ] * d , k [ 0 ] * g + k [ 2 ] * f + k [ 4 ] , k [ 1 ] * g + k [ 3 ] * f + k [ 5 ] ] ; b . _originalTransform ( a , c , e , d , g , f ) } , b . setTransform = function ( a , c , e , d , g , f ) { this . _transformMatrix = [ a , c , e , d , g , f ] ; b . _originalSetTransform ( a , c , e , d , g , f ) } , b . rotate = function ( a ) { var c =
Math . cos ( a ) , e = Math . sin ( a ) , d = this . _transformMatrix ; this . _transformMatrix = [ d [ 0 ] * c + d [ 2 ] * e , d [ 1 ] * c + d [ 3 ] * e , d [ 0 ] * - e + d [ 2 ] * c , d [ 1 ] * - e + d [ 3 ] * c , d [ 4 ] , d [ 5 ] ] ; this . _originalRotate ( a ) } ) } function ra ( b ) { var a = b . width , c = b . height , e , d , g = a + 1 , f = new Uint8Array ( g * ( c + 1 ) ) , k = new Uint8Array ( [ 0 , 2 , 4 , 0 , 1 , 0 , 5 , 4 , 8 , 10 , 0 , 8 , 0 , 2 , 1 , 0 ] ) , h = 3 , l = b . data , n = 4 * a , t = 0 ; 0 !== l [ 3 ] && ( f [ 0 ] = 1 , ++ t ) ; for ( e = 1 ; e < a ; e ++ ) l [ h ] !== l [ h + 4 ] && ( f [ e ] = l [ h ] ? 2 : 1 , ++ t ) , h += 4 ; 0 !== l [ h ] && ( f [ e ] = 2 , ++ t ) ; h += 4 ; for ( b = 1 ; b < c ; b ++ ) { d = b * g ; l [ h - n ] !== l [ h ] && ( f [ d ] = l [ h ] ? 1 : 8 , ++ t ) ; var y = ( l [ h ] ? 4 : 0 ) +
( l [ h - n ] ? 8 : 0 ) ; for ( e = 1 ; e < a ; e ++ ) y = ( y >> 2 ) + ( l [ h + 4 ] ? 4 : 0 ) + ( l [ h - n + 4 ] ? 8 : 0 ) , k [ y ] && ( f [ d + e ] = k [ y ] , ++ t ) , h += 4 ; l [ h - n ] !== l [ h ] && ( f [ d + e ] = l [ h ] ? 2 : 4 , ++ t ) ; h += 4 ; if ( 1E3 < t ) return null } h -= n ; d = b * g ; 0 !== l [ h ] && ( f [ d ] = 8 , ++ t ) ; for ( e = 1 ; e < a ; e ++ ) l [ h ] !== l [ h + 4 ] && ( f [ d + e ] = l [ h ] ? 4 : 8 , ++ t ) , h += 4 ; 0 !== l [ h ] && ( f [ d + e ] = 4 , ++ t ) ; if ( 1E3 < t ) return null ; var k = new Int32Array ( [ 0 , g , - 1 , 0 , - g , 0 , 0 , 0 , 1 ] ) , q = [ ] ; for ( b = 0 ; t && b <= c ; b ++ ) { h = b * g ; for ( e = h + a ; h < e && ! f [ h ] ; ) h ++ ; if ( h !== e ) { e = [ h % g , b ] ; d = f [ h ] ; l = h ; do { n = k [ d ] ; do h += n ; while ( ! f [ h ] ) ; n = f [ h ] ; 5 !== n && 10 !== n ? ( d = n , f [ h ] = 0 ) : ( d = n & 51 *
d >> 4 , f [ h ] &= d >> 2 | d << 2 ) ; e . push ( h % g ) ; e . push ( h / g | 0 ) ; -- t } while ( l !== h ) ; q . push ( e ) ; -- b } } return function ( f ) { f . save ( ) ; f . scale ( 1 / a , - 1 / c ) ; f . translate ( 0 , - c ) ; f . beginPath ( ) ; for ( var d = 0 , e = q . length ; d < e ; d ++ ) { var b = q [ d ] ; f . moveTo ( b [ 0 ] , b [ 1 ] ) ; for ( var k = 2 , h = b . length ; k < h ; k += 2 ) f . lineTo ( b [ k ] , b [ k + 1 ] ) } f . fill ( ) ; f . beginPath ( ) ; f . restore ( ) } } var v = "undefined" === typeof window ? this : window , U = "undefined" == typeof window , ca = 1 , na = 5 , ba = ca , $ = [ 0.0010 , 0 , 0 , 0.0010 , 0 , 0 ] ; V = 0 ; v . PDFJS || ( v . PDFJS = { } ) ; v . PDFJS . pdfBug = ! 1 ; var J = function ( ) { return "console" in
v && "log" in v . console ? v . console . log . bind ( v . console ) : function ( ) { } } ( ) ; PDFJS . isValidUrl = Y ; PDFJS . LogManager = function ( ) { var b = [ ] ; return { addLogger : function ( a ) { b . push ( a ) } , notify : function ( a , c ) { for ( var e = 0 , d = b . length ; e < d ; e ++ ) { var g = b [ e ] ; if ( g [ a ] ) g [ a ] ( c ) } } } } ( ) ; var ga = PDFJS . PasswordResponses = { NEED _PASSWORD : 1 , INCORRECT _PASSWORD : 2 } ; ( function ( ) { function b ( a , c ) { this . name = "PasswordException" ; this . message = a ; this . code = c } b . prototype = Error ( ) ; return b . constructor = b } ) ( ) ; ( function ( ) { function b ( a , c ) { this . name = "UnknownErrorException" ;
this . message = a ; this . details = c } b . prototype = Error ( ) ; return b . constructor = b } ) ( ) ; ( function ( ) { function b ( a ) { this . name = "InvalidPDFException" ; this . message = a } b . prototype = Error ( ) ; return b . constructor = b } ) ( ) ; ( function ( ) { function b ( a ) { this . name = "MissingPDFException" ; this . message = a } b . prototype = Error ( ) ; return b . constructor = b } ) ( ) ; var sa = function ( ) { function b ( a ) { this . message = a } b . prototype = Error ( ) ; b . prototype . name = "NotImplementedException" ; return b . constructor = b } ( ) ; ( function ( ) { function b ( a , c ) { this . begin = a ; this . end =
c ; this . message = "Missing data [begin, end)" } b . prototype = Error ( ) ; b . prototype . name = "MissingDataException" ; return b . constructor = b } ) ( ) ; ( function ( ) { function b ( a ) { this . message = a } b . prototype = Error ( ) ; b . prototype . name = "XRefParseException" ; return b . constructor = b } ) ( ) ; var ha = [ 1 , 0 , 0 , 1 , 0 , 0 ] , s = PDFJS . Util = function ( ) { function b ( ) { } b . makeCssRgb = function ( a ) { return "rgb(" + a [ 0 ] + "," + a [ 1 ] + "," + a [ 2 ] + ")" } ; b . makeCssCmyk = function ( a ) { a = p . singletons . cmyk . getRgb ( a , 0 ) ; return b . makeCssRgb ( a ) } ; b . transform = function ( a , c ) { return [ a [ 0 ] *
c [ 0 ] + a [ 2 ] * c [ 1 ] , a [ 1 ] * c [ 0 ] + a [ 3 ] * c [ 1 ] , a [ 0 ] * c [ 2 ] + a [ 2 ] * c [ 3 ] , a [ 1 ] * c [ 2 ] + a [ 3 ] * c [ 3 ] , a [ 0 ] * c [ 4 ] + a [ 2 ] * c [ 5 ] + a [ 4 ] , a [ 1 ] * c [ 4 ] + a [ 3 ] * c [ 5 ] + a [ 5 ] ] } ; b . applyTransform = function ( a , c ) { return [ a [ 0 ] * c [ 0 ] + a [ 1 ] * c [ 2 ] + c [ 4 ] , a [ 0 ] * c [ 1 ] + a [ 1 ] * c [ 3 ] + c [ 5 ] ] } ; b . applyInverseTransform = function ( a , c ) { var e = c [ 0 ] * c [ 3 ] - c [ 1 ] * c [ 2 ] ; return [ ( a [ 0 ] * c [ 3 ] - a [ 1 ] * c [ 2 ] + c [ 2 ] * c [ 5 ] - c [ 4 ] * c [ 3 ] ) / e , ( - a [ 0 ] * c [ 1 ] + a [ 1 ] * c [ 0 ] + c [ 4 ] * c [ 1 ] - c [ 5 ] * c [ 0 ] ) / e ] } ; b . getAxialAlignedBoundingBox = function ( a , c ) { var e = b . applyTransform ( a , c ) , d = b . applyTransform ( a . slice ( 2 , 4 ) , c ) , g = b . applyTransform ( [ a [ 0 ] ,
a [ 3 ] ] , c ) , f = b . applyTransform ( [ a [ 2 ] , a [ 1 ] ] , c ) ; return [ Math . min ( e [ 0 ] , d [ 0 ] , g [ 0 ] , f [ 0 ] ) , Math . min ( e [ 1 ] , d [ 1 ] , g [ 1 ] , f [ 1 ] ) , Math . max ( e [ 0 ] , d [ 0 ] , g [ 0 ] , f [ 0 ] ) , Math . max ( e [ 1 ] , d [ 1 ] , g [ 1 ] , f [ 1 ] ) ] } ; b . inverseTransform = function ( a ) { var c = a [ 0 ] * a [ 3 ] - a [ 1 ] * a [ 2 ] ; return [ a [ 3 ] / c , - a [ 1 ] / c , - a [ 2 ] / c , a [ 0 ] / c , ( a [ 2 ] * a [ 5 ] - a [ 4 ] * a [ 3 ] ) / c , ( a [ 4 ] * a [ 1 ] - a [ 5 ] * a [ 0 ] ) / c ] } ; b . apply3dTransform = function ( a , c ) { return [ a [ 0 ] * c [ 0 ] + a [ 1 ] * c [ 1 ] + a [ 2 ] * c [ 2 ] , a [ 3 ] * c [ 0 ] + a [ 4 ] * c [ 1 ] + a [ 5 ] * c [ 2 ] , a [ 6 ] * c [ 0 ] + a [ 7 ] * c [ 1 ] + a [ 8 ] * c [ 2 ] ] } ; b . singularValueDecompose2dScale = function ( a ) { var c = [ a [ 0 ] ,
a [ 2 ] , a [ 1 ] , a [ 3 ] ] , e = a [ 0 ] * c [ 0 ] + a [ 1 ] * c [ 2 ] , d = a [ 2 ] * c [ 1 ] + a [ 3 ] * c [ 3 ] , b = ( e + d ) / 2 ; a = Math . sqrt ( ( e + d ) * ( e + d ) - 4 * ( e * d - ( a [ 2 ] * c [ 0 ] + a [ 3 ] * c [ 2 ] ) * ( a [ 0 ] * c [ 1 ] + a [ 1 ] * c [ 3 ] ) ) ) / 2 ; c = b - a || 1 ; return [ Math . sqrt ( b + a || 1 ) , Math . sqrt ( c ) ] } ; b . normalizeRect = function ( a ) { var c = a . slice ( 0 ) ; a [ 0 ] > a [ 2 ] && ( c [ 0 ] = a [ 2 ] , c [ 2 ] = a [ 0 ] ) ; a [ 1 ] > a [ 3 ] && ( c [ 1 ] = a [ 3 ] , c [ 3 ] = a [ 1 ] ) ; return c } ; b . intersect = function ( a , c ) { function e ( a , c ) { return a - c } var d = [ a [ 0 ] , a [ 2 ] , c [ 0 ] , c [ 2 ] ] . sort ( e ) , g = [ a [ 1 ] , a [ 3 ] , c [ 1 ] , c [ 3 ] ] . sort ( e ) , f = [ ] ; a = b . normalizeRect ( a ) ; c = b . normalizeRect ( c ) ; if ( d [ 0 ] === a [ 0 ] &&
d [ 1 ] === c [ 0 ] || d [ 0 ] === c [ 0 ] && d [ 1 ] === a [ 0 ] ) f [ 0 ] = d [ 1 ] , f [ 2 ] = d [ 2 ] ; else return ! 1 ; if ( g [ 0 ] === a [ 1 ] && g [ 1 ] === c [ 1 ] || g [ 0 ] === c [ 1 ] && g [ 1 ] === a [ 1 ] ) f [ 1 ] = g [ 1 ] , f [ 3 ] = g [ 2 ] ; else return ! 1 ; return f } ; b . sign = function ( a ) { return 0 > a ? - 1 : 1 } ; b . concatenateToArray = function ( a , c ) { Array . prototype . push . apply ( a , c ) } ; b . prependToArray = function ( a , c ) { Array . prototype . unshift . apply ( a , c ) } ; b . extendObj = function ( a , c ) { for ( var e in c ) a [ e ] = c [ e ] } ; b . getInheritableProperty = function ( a , c ) { for ( ; a && ! a . has ( c ) ; ) a = a . get ( "Parent" ) ; return a ? a . get ( c ) : null } ; b . inherit =
function ( a , c , e ) { a . prototype = Object . create ( c . prototype ) ; a . prototype . constructor = a ; for ( var d in e ) a . prototype [ d ] = e [ d ] } ; b . loadScript = function ( a , c ) { var e = document . createElement ( "script" ) , d = ! 1 ; e . setAttribute ( "src" , a ) ; c && ( e . onload = function ( ) { d || c ( ) ; d = ! 0 } ) ; document . getElementsByTagName ( "head" ) [ 0 ] . appendChild ( e ) } ; return b } ( ) ; PDFJS . PageViewport = function ( ) { function b ( a , c , e , d , b , f ) { this . viewBox = a ; this . scale = c ; this . rotation = e ; this . offsetX = d ; this . offsetY = b ; var k = ( a [ 2 ] + a [ 0 ] ) / 2 , h = ( a [ 3 ] + a [ 1 ] ) / 2 , l , n , t ; e %= 360 ; switch ( 0 >
e ? e + 360 : e ) { case 180 : e = - 1 ; n = l = 0 ; t = 1 ; break ; case 90 : e = 0 ; n = l = 1 ; t = 0 ; break ; case 270 : e = 0 ; n = l = - 1 ; t = 0 ; break ; default : e = 1 , n = l = 0 , t = - 1 } f && ( n = - n , t = - t ) ; 0 === e ? ( d = Math . abs ( h - a [ 1 ] ) * c + d , b = Math . abs ( k - a [ 0 ] ) * c + b , f = Math . abs ( a [ 3 ] - a [ 1 ] ) * c , a = Math . abs ( a [ 2 ] - a [ 0 ] ) * c ) : ( d = Math . abs ( k - a [ 0 ] ) * c + d , b = Math . abs ( h - a [ 1 ] ) * c + b , f = Math . abs ( a [ 2 ] - a [ 0 ] ) * c , a = Math . abs ( a [ 3 ] - a [ 1 ] ) * c ) ; this . transform = [ e * c , l * c , n * c , t * c , d - e * c * k - n * c * h , b - l * c * k - t * c * h ] ; this . width = f ; this . height = a ; this . fontScale = c } b . prototype = { clone : function ( a ) { a = a || { } ; var c = "scale" in a ? a . scale :
this . scale , e = "rotation" in a ? a . rotation : this . rotation ; return new b ( this . viewBox . slice ( ) , c , e , this . offsetX , this . offsetY , a . dontFlip ) } , convertToViewportPoint : function ( a , c ) { return s . applyTransform ( [ a , c ] , this . transform ) } , convertToViewportRectangle : function ( a ) { var c = s . applyTransform ( [ a [ 0 ] , a [ 1 ] ] , this . transform ) ; a = s . applyTransform ( [ a [ 2 ] , a [ 3 ] ] , this . transform ) ; return [ c [ 0 ] , c [ 1 ] , a [ 0 ] , a [ 1 ] ] } , convertToPdfPoint : function ( a , c ) { return s . applyInverseTransform ( [ a , c ] , this . transform ) } } ; return b } ( ) ; var pa = [ 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 ] , x = PDFJS . Promise = function ( ) { function b ( ) { this . _status = a ; this . _handlers = [ ] } var a = 0 , c = 2 , e = { handlers : [ ] ,
running : ! 1 , unhandledRejections : [ ] , pendingRejectionCheck : ! 1 , scheduleHandlers : function ( c ) { c . _status != a && ( this . handlers = this . handlers . concat ( c . _handlers ) , c . _handlers = [ ] , this . running || ( this . running = ! 0 , setTimeout ( this . runHandlers . bind ( this ) , 0 ) ) ) } , runHandlers : function ( ) { for ( ; 0 < this . handlers . length ; ) { var a = this . handlers . shift ( ) , e = a . thisPromise . _status , f = a . thisPromise . _value ; try { 1 === e ? "function" == typeof a . onResolve && ( f = a . onResolve ( f ) ) : "function" === typeof a . onReject && ( f = a . onReject ( f ) , e = 1 , a . thisPromise . _unhandledRejection &&
this . removeUnhandeledRejection ( a . thisPromise ) ) } catch ( b ) { e = c , f = b } a . nextPromise . _updateStatus ( e , f ) } this . running = ! 1 } , addUnhandledRejection : function ( a ) { this . unhandledRejections . push ( { promise : a , time : Date . now ( ) } ) ; this . scheduleRejectionCheck ( ) } , removeUnhandeledRejection : function ( a ) { a . _unhandledRejection = ! 1 ; for ( var c = 0 ; c < this . unhandledRejections . length ; c ++ ) this . unhandledRejections [ c ] . promise === a && ( this . unhandledRejections . splice ( c ) , c -- ) } , scheduleRejectionCheck : function ( ) { this . pendingRejectionCheck || ( this . pendingRejectionCheck =
! 0 , setTimeout ( function ( ) { this . pendingRejectionCheck = ! 1 ; for ( var a = Date . now ( ) , c = 0 ; c < this . unhandledRejections . length ; c ++ ) if ( 500 < a - this . unhandledRejections [ c ] . time ) { var f = this . unhandledRejections [ c ] . promise . _value , e = "Unhandled rejection: " + f ; f . stack && ( e += "\n" + f . stack ) ; F ( e ) ; this . unhandledRejections . splice ( c ) ; c -- } this . unhandledRejections . length && this . scheduleRejectionCheck ( ) } . bind ( this ) , 500 ) ) } } ; b . all = function ( a ) { function e ( a ) { f . _status !== c && ( h = [ ] , f . reject ( a ) ) } var f = new b , k = a . length , h = [ ] ; if ( 0 === k ) return f . resolve ( h ) ,
f ; for ( var l = 0 , n = a . length ; l < n ; ++ l ) a [ l ] . then ( function ( a ) { return function ( e ) { f . _status !== c && ( h [ a ] = e , k -- , 0 === k && f . resolve ( h ) ) } } ( l ) , e ) ; return f } ; b . prototype = { _status : null , _value : null , _handlers : null , _unhandledRejection : null , _updateStatus : function ( a , b ) { 1 !== this . _status && this . _status !== c && ( 1 == a && b && "function" === typeof b . then ? b . then ( this . _updateStatus . bind ( this , 1 ) , this . _updateStatus . bind ( this , c ) ) : ( this . _status = a , this . _value = b , a === c && 0 === this . _handlers . length && ( this . _unhandledRejection = ! 0 , e . addUnhandledRejection ( this ) ) ,
e . scheduleHandlers ( this ) ) ) } , get isResolved ( ) { return 1 === this . _status } , get isRejected ( ) { return this . _status === c } , resolve : function ( a ) { this . _updateStatus ( 1 , a ) } , reject : function ( a ) { this . _updateStatus ( c , a ) } , then : function ( a , c ) { var f = new b ; this . _handlers . push ( { thisPromise : this , onResolve : a , onReject : c , nextPromise : f } ) ; e . scheduleHandlers ( this ) ; return f } } ; return b } ( ) , ta = function ( ) { function b ( ) { this . started = { } ; this . times = [ ] ; this . enabled = ! 0 } b . prototype = { time : function ( a ) { this . enabled && ( a in this . started && F ( "Timer is already running for " +
a ) , this . started [ a ] = Date . now ( ) ) } , timeEnd : function ( a ) { this . enabled && ( a in this . started || F ( "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 ( ) { for ( var a = this . times , c = "" , e = 0 , d = 0 , b = a . length ; d < b ; ++ d ) { var f = a [ d ] . name ; f . length > e && ( e = f . length ) } d = 0 ; for ( b = a . length ; d < b ; ++ d ) { for ( var k = a [ d ] , f = k . end - k . start , k = k . name ; k . length < e ; ) k += " " ; c += k + " " + f + "ms\n" } return c } } ; return b } ( ) ; PDFJS . createBlob = function ( b , a ) { if ( "function" ===
typeof Blob ) return new Blob ( [ b ] , { type : a } ) ; var c = new MozBlobBuilder ; c . append ( b ) ; return c . getBlob ( a ) } ; Z . prototype = { on : function ( b , a , c ) { var e = this . actionHandler ; e [ b ] && m ( 'There is already an actionName called "' + b + '"' ) ; e [ b ] = [ a , c ] } , send : function ( b , a , c ) { b = { action : b , data : a } ; c && ( a = this . callbackIndex ++ , this . callbacks [ a ] = c , b . callbackId = a ) ; this . comObj . postMessage ( b ) } } ; var p = function ( ) { function b ( ) { m ( "should not call ColorSpace constructor" ) } b . prototype = { getRgb : function ( a , c ) { m ( "Should not call ColorSpace.getRgb" ) } ,
getRgbItem : function ( a , c , e , d ) { m ( "Should not call ColorSpace.getRgbItem" ) } , getRgbBuffer : function ( a , c , e , d , b , f ) { m ( "Should not call ColorSpace.getRgbBuffer" ) } , getOutputLength : function ( a ) { m ( "Should not call ColorSpace.getOutputLength" ) } , isPassthrough : function ( a ) { return ! 1 } , createRgbBuffer : function ( a , c , e , d ) { if ( this . isPassthrough ( d ) ) return a . subarray ( c ) ; var b = new Uint8Array ( 3 * e ) , f = 1 << d ; if ( 1 === this . numComps && e > f && "DeviceGray" !== this . name && "DeviceRGB" !== this . name ) { for ( var k = 8 >= d ? new Uint8Array ( f ) : new Uint16Array ( f ) ,
h = 0 ; h < f ; h ++ ) k [ h ] = h ; var l = new Uint8Array ( 3 * f ) ; this . getRgbBuffer ( k , 0 , f , l , 0 , d ) ; for ( h = d = 0 ; h < e ; ++ h ) f = 3 * a [ c ++ ] , b [ d ++ ] = l [ f ] , b [ d ++ ] = l [ f + 1 ] , b [ d ++ ] = l [ f + 2 ] ; return b } this . getRgbBuffer ( a , c , e , b , 0 , d ) ; return b } , usesZeroToOneRange : ! 0 } ; b . parse = function ( a , c , e ) { a = b . parseToIR ( a , c , e ) ; return a instanceof ia ? a : b . fromIR ( a ) } ; b . fromIR = function ( a ) { var c = B ( a ) ? a [ 0 ] : a ; switch ( c ) { case "DeviceGrayCS" : return this . singletons . gray ; case "DeviceRgbCS" : return this . singletons . rgb ; case "DeviceCmykCS" : return this . singletons . cmyk ; case "PatternCS" : return ( a =
a [ 1 ] ) && ( a = b . fromIR ( a ) ) , new ua ( a ) ; case "IndexedCS" : var c = a [ 2 ] , e = a [ 3 ] ; return new va ( b . fromIR ( a [ 1 ] ) , c , e ) ; case "AlternateCS" : return c = a [ 3 ] , new ia ( a [ 1 ] , b . fromIR ( a [ 2 ] ) , P . fromIR ( c ) ) ; case "LabCS" : return new wa ( a [ 1 ] . WhitePoint , a [ 1 ] . BlackPoint , a [ 1 ] . Range ) ; default : m ( "Unkown name " + c ) } return null } ; b . parseToIR = function ( a , c , e ) { if ( M ( a ) ) { var d = e . get ( "ColorSpace" ) ; O ( d ) && ( d = d . get ( a . name ) ) && ( a = d ) } a = c . fetchIfRef ( a ) ; if ( M ( 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 : m ( "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 "DeviceGrayCS" ; case "CalRGB" : return "DeviceRgbCS" ; case "ICCBased" : d = c . 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 = b . parseToIR ( a , c , e ) ) , [ "PatternCS" , a ] ; case "Indexed" : case "I" : return e = b . parseToIR ( a [ 1 ] , c , e ) , d = a [ 2 ] + 1 , c = c . fetchIfRef ( a [ 3 ] ) , X ( c ) && ( c = c . getBytes ( ) ) , [ "IndexedCS" , e , d , c ] ; case "Separation" : case "DeviceN" : var g = a [ 1 ] , d = 1 ; M ( g ) ? d = 1 : B ( g ) && ( d = g . length ) ; e = b . parseToIR ( a [ 2 ] , c , e ) ; c = P . getIR ( c , c . fetchIfRef ( a [ 3 ] ) ) ; return [ "AlternateCS" , d , e , c ] ; case "Lab" : return [ "LabCS" , a [ 1 ] . getAll ( ) ] ; default : m ( 'unimplemented color space object "' + d + '"' ) } else m ( 'unrecognized color space object: "' +
a + '"' ) ; return null } ; b . isDefaultDecode = function ( a , c ) { if ( ! a ) return ! 0 ; if ( 2 * c !== a . length ) return F ( "The decode map is not the correct length" ) , ! 0 ; for ( var e = 0 , d = a . length ; e < d ; e += 2 ) if ( 0 !== a [ e ] || 1 != a [ e + 1 ] ) return ! 1 ; return ! 0 } ; b . singletons = { get gray ( ) { return W ( this , "gray" , new xa ) } , get rgb ( ) { return W ( this , "rgb" , new ya ) } , get cmyk ( ) { return W ( this , "cmyk" , new za ) } } ; return b } ( ) , ia = function ( ) { function b ( a , c , e ) { this . name = "Alternate" ; this . numComps = a ; this . defaultColor = new Float32Array ( a ) ; for ( var d = 0 ; d < a ; ++ d ) this . defaultColor [ d ] =
1 ; this . base = c ; this . tintFn = e } b . prototype = { getRgb : function ( a , c ) { var e = new Uint8Array ( 3 ) ; this . getRgbItem ( a , c , e , 0 ) ; return e } , getRgbItem : function ( a , c , e , d ) { a = "subarray" in a ? a . subarray ( c , c + this . numComps ) : Array . prototype . slice . call ( a , c , c + this . numComps ) ; a = this . tintFn ( a ) ; this . base . getRgbItem ( a , 0 , e , d ) } , getRgbBuffer : function ( a , c , e , d , b , f ) { var k = this . tintFn , h = this . base ; f = 1 / ( ( 1 << f ) - 1 ) ; for ( var l = h . numComps , n = h . usesZeroToOneRange , t = h . isPassthrough ( 8 ) || ! n , y = t ? b : 0 , q = t ? d : new Uint8Array ( l * e ) , r = this . numComps , m = new Float32Array ( r ) ,
u = 0 ; u < e ; u ++ ) { for ( var w = 0 ; w < r ; w ++ ) m [ w ] = a [ c ++ ] * f ; var s = k ( m ) ; if ( n ) for ( w = 0 ; w < l ; w ++ ) q [ y ++ ] = 255 * s [ w ] ; else h . getRgbItem ( s , 0 , q , y ) , y += l } t || h . getRgbBuffer ( q , 0 , e , d , b , 8 ) } , getOutputLength : function ( a ) { return this . base . getOutputLength ( a * this . base . numComps / this . numComps ) } , isPassthrough : p . prototype . isPassthrough , createRgbBuffer : p . prototype . createRgbBuffer , isDefaultDecode : function ( a ) { return p . isDefaultDecode ( a , this . numComps ) } , usesZeroToOneRange : ! 0 } ; return b } ( ) , ua = function ( ) { function b ( a ) { this . name = "Pattern" ; this . base =
a } b . prototype = { } ; return b } ( ) , va = function ( ) { function b ( a , c , e ) { this . name = "Indexed" ; this . numComps = 1 ; this . defaultColor = new Uint8Array ( [ 0 ] ) ; this . base = a ; this . highVal = c ; a = a . numComps * c ; var d ; if ( X ( e ) ) d = new Uint8Array ( a ) , e = e . getBytes ( a ) , d . set ( e ) ; else if ( "string" == typeof e ) for ( d = new Uint8Array ( a ) , c = 0 ; c < a ; ++ c ) d [ c ] = e . charCodeAt ( c ) ; else e instanceof Uint8Array || e instanceof Array ? d = e : m ( "Unrecognized lookup table: " + e ) ; this . lookup = d } b . prototype = { getRgb : function ( a , c ) { return this . base . getRgb ( this . lookup , a [ c ] * this . base . numComps ) } ,
getRgbItem : function ( a , c , e , d ) { this . base . getRgbItem ( this . lookup , a [ c ] * this . base . numComps , e , d ) } , getRgbBuffer : function ( a , c , e , d , b ) { for ( var f = this . base , k = f . numComps , h = f . getOutputLength ( k ) , l = this . lookup , n = 0 ; n < e ; ++ n ) { var t = a [ c ++ ] * k ; f . getRgbBuffer ( l , t , 1 , d , b , 8 ) ; b += h } } , getOutputLength : function ( a ) { return this . base . getOutputLength ( a * this . base . numComps ) } , isPassthrough : p . prototype . isPassthrough , createRgbBuffer : p . prototype . createRgbBuffer , isDefaultDecode : function ( a ) { return ! 0 } , usesZeroToOneRange : ! 0 } ; return b } ( ) , xa =
function ( ) { function b ( ) { this . name = "DeviceGray" ; this . numComps = 1 ; this . defaultColor = new Float32Array ( [ 0 ] ) } b . prototype = { getRgb : function ( a , c ) { var e = new Uint8Array ( 3 ) ; this . getRgbItem ( a , c , e , 0 ) ; return e } , getRgbItem : function ( a , c , e , d ) { a = 255 * a [ c ] | 0 ; e [ d ] = e [ d + 1 ] = e [ d + 2 ] = 0 > a ? 0 : 255 < a ? 255 : a } , getRgbBuffer : function ( a , c , e , d , b , f ) { f = 255 / ( ( 1 << f ) - 1 ) ; for ( var k = 0 ; k < e ; ++ k ) { var h = f * a [ c ++ ] | 0 ; d [ b ++ ] = h ; d [ b ++ ] = h ; d [ b ++ ] = h } } , getOutputLength : function ( a ) { return 3 * a } , isPassthrough : p . prototype . isPassthrough , createRgbBuffer : p . prototype . createRgbBuffer ,
isDefaultDecode : function ( a ) { return p . isDefaultDecode ( a , this . numComps ) } , usesZeroToOneRange : ! 0 } ; return b } ( ) , ya = function ( ) { function b ( ) { this . name = "DeviceRGB" ; this . numComps = 3 ; this . defaultColor = new Float32Array ( [ 0 , 0 , 0 ] ) } b . prototype = { getRgb : function ( a , c ) { var e = new Uint8Array ( 3 ) ; this . getRgbItem ( a , c , e , 0 ) ; return e } , getRgbItem : function ( a , c , e , d ) { var b = 255 * a [ c ] | 0 , f = 255 * a [ c + 1 ] | 0 ; a = 255 * a [ c + 2 ] | 0 ; e [ d ] = 0 > b ? 0 : 255 < b ? 255 : b ; e [ d + 1 ] = 0 > f ? 0 : 255 < f ? 255 : f ; e [ d + 2 ] = 0 > a ? 0 : 255 < a ? 255 : a } , getRgbBuffer : function ( a , c , e , d , b , f ) { e *= 3 ; if ( 8 ==
f ) d . set ( a . subarray ( c , c + e ) , b ) ; else { f = 255 / ( ( 1 << f ) - 1 ) ; for ( var k = 0 ; k < e ; ++ k ) d [ b ++ ] = f * a [ c ++ ] | 0 } } , getOutputLength : function ( a ) { return a } , isPassthrough : function ( a ) { return 8 == a } , createRgbBuffer : p . prototype . createRgbBuffer , isDefaultDecode : function ( a ) { return p . isDefaultDecode ( a , this . numComps ) } , usesZeroToOneRange : ! 0 } ; return b } ( ) , za = function ( ) { function b ( a , e , d , b , f ) { var k = a [ e + 0 ] * d , h = a [ e + 1 ] * d , l = a [ e + 2 ] * d ; d *= a [ e + 3 ] ; a = k * ( - 4.387332384609988 * k + 54.48615194189176 * h + 18.82290502165302 * l + 212.25662451639585 * d + - 285.2331026137004 ) +
h * ( 1.7149763477362134 * h - 5.6096736904047315 * l + - 17.873870861415444 * d - 5.497006427196366 ) + l * ( - 2.5217340131683033 * l - 21.248923337353073 * d + 17.5119270841813 ) + d * ( - 21.86122147463605 * d - 189.48180835922747 ) + 255 ; e = k * ( 8.841041422036149 * k + 60.118027045597366 * h + 6.871425592049007 * l + 31.159100130055922 * d + - 79.2970844816548 ) + h * ( - 15.310361306967817 * h + 17.575251261109482 * l + 131.35250912493976 * d - 190.9453302588951 ) + l * ( 4.444339102852739 * l + 9.8632861493405 * d - 24.86741582555878 ) + d * ( - 20.737325471181034 * d - 187.80453709719578 ) + 255 ; k =
k * ( 0.8842522430003296 * k + 8.078677503112928 * h + 30.89978309703729 * l - 0.23883238689178934 * d + - 14.183576799673286 ) + h * ( 10.49593273432072 * h + 63.02378494754052 * l + 50.606957656360734 * d - 112.23884253719248 ) + l * ( 0.03296041114873217 * l + 115.60384449646641 * d + - 193.58209356861505 ) + d * ( - 22.33816807309886 * d - 180.12613974708367 ) + 255 ; b [ f ] = 255 < a ? 255 : 0 > a ? 0 : a ; b [ f + 1 ] = 255 < e ? 255 : 0 > e ? 0 : e ; b [ f + 2 ] = 255 < k ? 255 : 0 > k ? 0 : k } function a ( ) { this . name = "DeviceCMYK" ; this . numComps = 4 ; this . defaultColor = new Float32Array ( [ 0 , 0 , 0 , 1 ] ) } a . prototype = { getRgb : function ( a ,
e ) { var d = new Uint8Array ( 3 ) ; b ( a , e , 1 , d , 0 ) ; return d } , getRgbItem : function ( a , e , d , g ) { b ( a , e , 1 , d , g ) } , getRgbBuffer : function ( a , e , d , g , f , k ) { k = 1 / ( ( 1 << k ) - 1 ) ; for ( var h = 0 ; h < d ; h ++ ) b ( a , e , k , g , f ) , e += 4 , f += 3 } , getOutputLength : function ( a ) { return 3 * ( a >> 2 ) } , isPassthrough : p . prototype . isPassthrough , createRgbBuffer : p . prototype . createRgbBuffer , isDefaultDecode : function ( a ) { return p . isDefaultDecode ( a , this . numComps ) } , usesZeroToOneRange : ! 0 } ; return a } ( ) , wa = function ( ) { function b ( a , c , b ) { this . name = "Lab" ; this . numComps = 3 ; this . defaultColor =
new Float32Array ( [ 0 , 0 , 0 ] ) ; a || m ( "WhitePoint missing - required for color space Lab" ) ; c = c || [ 0 , 0 , 0 ] ; b = b || [ - 100 , 100 , - 100 , 100 ] ; this . XW = a [ 0 ] ; this . YW = a [ 1 ] ; this . ZW = a [ 2 ] ; this . amin = b [ 0 ] ; this . amax = b [ 1 ] ; this . bmin = b [ 2 ] ; this . bmax = b [ 3 ] ; this . XB = c [ 0 ] ; this . YB = c [ 1 ] ; this . ZB = c [ 2 ] ; ( 0 > this . XW || 0 > this . ZW || 1 !== this . YW ) && m ( "Invalid WhitePoint components, no fallback available" ) ; if ( 0 > this . XB || 0 > this . YB || 0 > this . ZB ) S ( "Invalid BlackPoint, falling back to default" ) , this . XB = this . YB = this . ZB = 0 ; if ( this . amin > this . amax || this . bmin > this . bmax ) S ( "Invalid Range, falling back to defaults" ) ,
this . amin = - 100 , this . amax = 100 , this . bmin = - 100 , this . bmax = 100 } function a ( a ) { return a >= 6 / 29 ? a * a * a : 108 / 841 * ( a - 4 / 29 ) } function c ( c , d , b , f , k , h ) { var l = d [ b ] , n = d [ b + 1 ] ; d = d [ b + 2 ] ; ! 1 !== f && ( l = 0 + 100 * l / f , n = c . amin + n * ( c . amax - c . amin ) / f , d = c . bmin + d * ( c . bmax - c . bmin ) / f ) ; n = n > c . amax ? c . amax : n < c . amin ? c . amin : n ; d = d > c . bmax ? c . bmax : d < c . bmin ? c . bmin : d ; f = ( l + 16 ) / 116 ; l = f - d / 200 ; n = c . XW * a ( f + n / 500 ) ; f = c . YW * a ( f ) ; l = c . ZW * a ( l ) ; 1 > c . ZW ? ( c = 3.1339 * n + - 1.617 * f + - 0.4906 * l , d = - 0.9785 * n + 1.916 * f + 0.0333 * l , n = 0.072 * n + - 0.229 * f + 1.4057 * l ) : ( c = 3.2406 * n + - 1.5372 * f + - 0.4986 *
l , d = - 0.9689 * n + 1.8758 * f + 0.0415 * l , n = 0.0557 * n + - 0.204 * f + 1.057 * l ) ; k [ h ] = 255 * Math . sqrt ( 0 > c ? 0 : 1 < c ? 1 : c ) ; k [ h + 1 ] = 255 * Math . sqrt ( 0 > d ? 0 : 1 < d ? 1 : d ) ; k [ h + 2 ] = 255 * Math . sqrt ( 0 > n ? 0 : 1 < n ? 1 : n ) } b . prototype = { getRgb : function ( a , d ) { var b = new Uint8Array ( 3 ) ; c ( this , a , d , ! 1 , b , 0 ) ; return b } , getRgbItem : function ( a , b , g , f ) { c ( this , a , b , ! 1 , g , f ) } , getRgbBuffer : function ( a , b , g , f , k , h ) { h = ( 1 << h ) - 1 ; for ( var l = 0 ; l < g ; l ++ ) c ( this , a , b , h , f , k ) , b += 3 , k += 3 } , getOutputLength : function ( a ) { return a } , isPassthrough : p . prototype . isPassthrough , isDefaultDecode : function ( a ) { return ! 0 } ,
usesZeroToOneRange : ! 1 } ; return b } ( ) ; D = 3 ; var ja = function ( ) { function b ( ) { m ( "should not call Pattern constructor" ) } b . prototype = { getPattern : function ( a ) { m ( "Should not call Pattern.getStyle: " + a ) } } ; b . shadingFromIR = function ( a ) { return N [ a [ 0 ] ] . fromIR ( a ) } ; b . parseShading = function ( a , c , b , d ) { a = X ( a ) ? a . dict : a ; var g = a . get ( "ShadingType" ) ; switch ( g ) { case 2 : case D : return new N . RadialAxial ( a , c , b , d ) ; default : return K ( "Unsupported shading type: " + g ) , new N . Dummy } } ; return b } ( ) , N = { SMALL _NUMBER : 0.01 } ; N . RadialAxial = function ( ) { function b ( a ,
c , b , d , g ) { this . matrix = c ; this . coordsArr = a . get ( "Coords" ) ; this . shadingType = a . get ( "ShadingType" ) ; this . type = "Pattern" ; this . ctx = g ; c = a . get ( "ColorSpace" , "CS" ) ; this . cs = c = p . parse ( c , b , d ) ; d = 0 ; var f = 1 ; a . has ( "Domain" ) && ( g = a . get ( "Domain" ) , d = g [ 0 ] , f = g [ 1 ] ) ; var k = g = ! 1 ; a . has ( "Extend" ) && ( k = a . get ( "Extend" ) , g = k [ 0 ] , k = k [ 1 ] ) ; if ( ! ( this . shadingType !== D || g && k ) ) { var h = this . coordsArr [ 0 ] , l = this . coordsArr [ 1 ] , n = this . coordsArr [ 2 ] , t = this . coordsArr [ 3 ] , y = this . coordsArr [ 4 ] , q = this . coordsArr [ 5 ] , h = Math . sqrt ( ( h - t ) * ( h - t ) + ( l - y ) * ( l - y ) ) ; n <= q + h &&
q <= n + h && F ( "Unsupported radial gradient." ) } this . extendStart = g ; this . extendEnd = k ; n = a . get ( "Function" ) ; if ( B ( n ) ) { for ( var r = [ ] , q = 0 , h = n . length ; q < h ; q ++ ) l = b . fetchIfRef ( n [ q ] ) , da ( l ) || m ( "Invalid function" ) , r . push ( P . parse ( b , l ) ) ; n = function ( a ) { for ( var c = [ ] , f = 0 , b = r . length ; f < b ; f ++ ) c . push ( r [ f ] ( a ) [ 0 ] ) ; return c } } else da ( n ) || m ( "Invalid function" ) , n = P . parse ( b , n ) ; q = f - d ; h = q / 10 ; b = this . colorStops = [ ] ; if ( d >= f || 0 >= h ) S ( "Bad shading domain." ) ; else { for ( l = d ; l <= f ; l += h ) t = c . getRgb ( n ( [ l ] ) , 0 ) , t = s . makeCssRgb ( t ) , b . push ( [ ( l - d ) / q , t ] ) ; d = "transparent" ;
a . has ( "Background" ) && ( t = c . getRgb ( a . get ( "Background" ) , 0 ) , d = s . makeCssRgb ( t ) ) ; g || ( b . unshift ( [ 0 , d ] ) , b [ 1 ] [ 0 ] += N . SMALL _NUMBER ) ; k || ( b [ b . length - 1 ] [ 0 ] -= N . SMALL _NUMBER , b . push ( [ 1 , d ] ) ) ; this . colorStops = b } } b . fromIR = function ( a ) { var c = a [ 1 ] , b = a [ 2 ] , d = a [ 3 ] , g = a [ 4 ] , f = a [ 5 ] , k = a [ 6 ] ; return { type : "Pattern" , getPattern : function ( a ) { var l ; 2 == c ? l = a . createLinearGradient ( d [ 0 ] , d [ 1 ] , g [ 0 ] , g [ 1 ] ) : c == D && ( l = a . createRadialGradient ( d [ 0 ] , d [ 1 ] , f , g [ 0 ] , g [ 1 ] , k ) ) ; a = 0 ; for ( var n = b . length ; a < n ; ++ a ) { var t = b [ a ] ; l . addColorStop ( t [ 0 ] , t [ 1 ] ) } return l } } } ; b . prototype =
{ getIR : function ( ) { var a = this . coordsArr , c = this . shadingType ; if ( 2 == c ) var b = [ a [ 0 ] , a [ 1 ] ] , d = [ a [ 2 ] , a [ 3 ] ] , g = null , f = null ; else c == D ? ( b = [ a [ 0 ] , a [ 1 ] ] , d = [ a [ 3 ] , a [ 4 ] ] , g = a [ 2 ] , f = a [ 5 ] ) : m ( "getPattern type unknown: " + c ) ; if ( a = this . matrix ) b = s . applyTransform ( b , a ) , d = s . applyTransform ( d , a ) ; return [ "RadialAxial" , c , this . colorStops , b , d , g , f ] } } ; return b } ( ) ; N . Dummy = function ( ) { function b ( ) { this . type = "Pattern" } b . fromIR = function ( ) { return { type : "Pattern" , getPattern : function ( ) { return "hotpink" } } } ; b . prototype = { getIR : function ( ) { return [ "Dummy" ] } } ;
return b } ( ) ; var Aa = function ( ) { function b ( a , c , b , d , g , f ) { this . name = a [ 1 ] [ 0 ] . name ; this . operatorList = a [ 2 ] ; this . matrix = a [ 3 ] || [ 1 , 0 , 0 , 1 , 0 , 0 ] ; this . bbox = a [ 4 ] ; this . xstep = a [ 5 ] ; this . ystep = a [ 6 ] ; this . paintType = a [ 7 ] ; this . tilingType = a [ 8 ] ; this . color = c ; this . objs = d ; this . commonObjs = g ; this . baseTransform = f ; this . type = "Pattern" ; this . ctx = b } b . getIR = function ( a , c , b ) { var d = c . get ( "Matrix" ) , g = c . get ( "BBox" ) , f = c . get ( "XStep" ) , k = c . get ( "YStep" ) , h = c . get ( "PaintType" ) ; c = c . get ( "TilingType" ) ; return [ "TilingPattern" , b , a , d , g , f , k , h , c ] } ; b . prototype =
{ createPatternCanvas : function ( a ) { var c = this . operatorList , b = this . bbox , d = this . xstep , g = this . ystep , f = this . paintType , k = this . color , h = this . objs , l = this . commonObjs ; K ( "TilingType: " + this . tilingType ) ; var n = b [ 0 ] , t = b [ 1 ] , y = b [ 2 ] , q = b [ 3 ] , r = [ n , t ] , m = [ n + d , t + g ] , u = m [ 0 ] - r [ 0 ] , m = m [ 1 ] - r [ 1 ] , w = s . singularValueDecompose2dScale ( this . matrix ) , p = s . singularValueDecompose2dScale ( this . baseTransform ) , w = [ w [ 0 ] * p [ 0 ] , w [ 1 ] * p [ 1 ] ] , u = Math . min ( Math . ceil ( Math . abs ( u * w [ 0 ] ) ) , 3E3 ) , m = Math . min ( Math . ceil ( Math . abs ( m * w [ 1 ] ) ) , 3E3 ) , w = G . getCanvas ( "pattern" ,
u , m , ! 0 ) , p = w . context , h = new ka ( p , l , h ) ; h . groupLevel = a . groupLevel ; this . setFillAndStrokeStyleToContext ( p , f , k ) ; this . setScale ( u , m , d , g ) ; this . transformToScale ( h ) ; h . transform . apply ( h , [ 1 , 0 , 0 , 1 , - r [ 0 ] , - r [ 1 ] ] ) ; this . clipBbox ( h , b , n , t , y , q ) ; h . executeOperatorList ( c ) ; return w . canvas } , setScale : function ( a , c , b , d ) { this . scale = [ a / b , c / d ] } , transformToScale : function ( a ) { var c = this . scale ; a . transform . apply ( a , [ c [ 0 ] , 0 , 0 , c [ 1 ] , 0 , 0 ] ) } , scaleToContext : function ( ) { var a = this . scale ; this . ctx . scale ( 1 / a [ 0 ] , 1 / a [ 1 ] ) } , clipBbox : function ( a , c , b , d ,
g , f ) { c && B ( c ) && 4 == c . length && ( a . rectangle ( b , d , g - b , f - d ) , a . clip ( ) , a . endPath ( ) ) } , setFillAndStrokeStyleToContext : function ( a , c , b ) { switch ( c ) { case 1 : c = this . ctx ; a . fillStyle = c . fillStyle ; a . strokeStyle = c . strokeStyle ; break ; case 2 : c = p . singletons . rgb . getRgb ( b , 0 ) ; c = s . makeCssRgb ( c ) ; a . fillStyle = c ; a . strokeStyle = c ; break ; default : m ( "Unsupported paint type: " + c ) } } , getPattern : function ( a , c ) { var b = this . createPatternCanvas ( c ) ; a = this . ctx ; a . setTransform . apply ( a , this . baseTransform ) ; a . transform . apply ( a , this . matrix ) ; this . scaleToContext ( ) ;
return a . createPattern ( b , "repeat" ) } } ; return b } ( ) , P = function ( ) { return { getSampleArray : function ( b , a , c , e ) { for ( var d = 1 , g = 0 , f = b . length ; g < f ; g ++ ) d *= b [ g ] ; d *= a ; b = [ ] ; var f = a = 0 , k = 1 / ( Math . pow ( 2 , c ) - 1 ) ; e = e . getBytes ( ( d * c + 7 ) / 8 ) ; for ( var h = 0 , g = 0 ; g < d ; g ++ ) { for ( ; a < c ; ) f <<= 8 , f |= e [ h ++ ] , a += 8 ; a -= c ; b . push ( ( f >> a ) * k ) ; f &= ( 1 << a ) - 1 } return b } , getIR : function ( b , a ) { var c = a . dict ; c || ( c = a ) ; var e = [ this . constructSampled , null , this . constructInterpolated , this . constructStiched , this . constructPostScript ] , d = c . get ( "FunctionType" ) ; ( e = e [ d ] ) || m ( "Unknown type of function" ) ;
return e . call ( this , a , c , b ) } , fromIR : function ( b ) { switch ( b [ 0 ] ) { case 0 : return this . constructSampledFromIR ( b ) ; case 2 : return this . constructInterpolatedFromIR ( b ) ; case 3 : return this . constructStichedFromIR ( b ) ; default : return this . constructPostScriptFromIR ( b ) } } , parse : function ( b , a ) { var c = this . getIR ( b , a ) ; return this . fromIR ( c ) } , constructSampled : function ( b , a ) { function c ( a ) { for ( var c = a . length , f = [ ] , b = 0 , d = 0 ; d < c ; d += 2 ) f [ b ] = [ a [ d ] , a [ d + 1 ] ] , ++ b ; return f } var e = a . get ( "Domain" ) , d = a . get ( "Range" ) ; e && d || m ( "No domain or range" ) ;
var g = e . length / 2 , f = d . length / 2 , e = c ( e ) , d = c ( d ) , k = a . get ( "Size" ) , h = a . get ( "BitsPerSample" ) , l = a . get ( "Order" ) || 1 ; 1 !== l && K ( "No support for cubic spline interpolation: " + l ) ; l = a . get ( "Encode" ) ; if ( ! l ) for ( var l = [ ] , n = 0 ; n < g ; ++ n ) l . push ( 0 ) , l . push ( k [ n ] - 1 ) ; var l = c ( l ) , n = ( n = a . get ( "Decode" ) ) ? c ( n ) : d , t = this . getSampleArray ( k , f , h , b ) ; return [ 0 , g , e , l , n , t , k , f , Math . pow ( 2 , h ) - 1 , d ] } , constructSampledFromIR : function ( b ) { return function ( a ) { var c = b [ 1 ] , e = b [ 2 ] , d = b [ 3 ] , g = b [ 4 ] , f = b [ 5 ] , k = b [ 6 ] , h = b [ 7 ] , l = b [ 9 ] ; c != a . length && m ( "Incorrect number of arguments: " +
c + " != " + a . length ) ; for ( var n = 1 << c , t = new Float64Array ( n ) , y = new Uint32Array ( n ) , q = 0 ; q < n ; q ++ ) t [ q ] = 1 ; for ( var r = h , s = 1 , u = 0 ; u < c ; ++ u ) { for ( var q = e [ u ] [ 0 ] , w = e [ u ] [ 1 ] , p = Math . min ( Math . max ( a [ u ] , q ) , w ) , E = d [ u ] [ 0 ] + ( p - q ) * ( ( d [ u ] [ 1 ] - d [ u ] [ 0 ] ) / ( w - q ) ) , w = k [ u ] , E = Math . min ( Math . max ( E , 0 ) , w - 1 ) , q = E < w - 1 ? Math . floor ( E ) : E - 1 , p = q + 1 - E , E = E - q , z = q * r , v = z + r , q = 0 ; q < n ; q ++ ) q & s ? ( t [ q ] *= E , y [ q ] += v ) : ( t [ q ] *= p , y [ q ] += z ) ; r *= w ; s <<= 1 } a = new Float64Array ( h ) ; for ( q = 0 ; q < h ; ++ q ) { for ( u = c = 0 ; u < n ; u ++ ) c += f [ y [ u ] + q ] * t [ u ] ; c = g [ q ] [ 0 ] + ( c - 0 ) * ( ( g [ q ] [ 1 ] - g [ q ] [ 0 ] ) / 1 ) ; a [ q ] = Math . min ( Math . max ( c ,
l [ q ] [ 0 ] ) , l [ q ] [ 1 ] ) } return a } } , constructInterpolated : function ( b , a ) { var c = a . get ( "C0" ) || [ 0 ] , e = a . get ( "C1" ) || [ 1 ] , d = a . get ( "N" ) ; B ( c ) && B ( e ) || m ( "Illegal dictionary for interpolated function" ) ; for ( var g = c . length , f = [ ] , k = 0 ; k < g ; ++ k ) f . push ( e [ k ] - c [ k ] ) ; return [ 2 , c , f , d ] } , constructInterpolatedFromIR : function ( b ) { var a = b [ 1 ] , c = b [ 2 ] , e = b [ 3 ] , d = c . length ; return function ( b ) { b = 1 == e ? b [ 0 ] : Math . pow ( b [ 0 ] , e ) ; for ( var f = [ ] , k = 0 ; k < d ; ++ k ) f . push ( a [ k ] + b * c [ k ] ) ; return f } } , constructStiched : function ( b , a , c ) { ( b = a . get ( "Domain" ) ) || m ( "No domain" ) ;
1 != b . length / 2 && m ( "Bad domain for stiched function" ) ; for ( var e = a . get ( "Functions" ) , d = [ ] , g = 0 , f = e . length ; g < f ; ++ g ) d . push ( P . getIR ( c , c . fetchIfRef ( e [ g ] ) ) ) ; c = a . get ( "Bounds" ) ; a = a . get ( "Encode" ) ; return [ 3 , b , c , a , d ] } , constructStichedFromIR : function ( b ) { var a = b [ 1 ] , c = b [ 2 ] , e = b [ 3 ] ; b = b [ 4 ] ; for ( var d = [ ] , g = 0 , f = b . length ; g < f ; g ++ ) d . push ( P . fromIR ( b [ g ] ) ) ; return function ( f ) { f = f [ 0 ] ; var b = a [ 0 ] , l = a [ 1 ] ; f > l ? f = l : f < b && ( f = b ) ; b = 0 ; for ( l = c . length ; b < l && ! ( f < c [ b ] ) ; ++ b ) ; l = a [ 0 ] ; 0 < b && ( l = c [ b - 1 ] ) ; var g = a [ 1 ] ; b < c . length && ( g = c [ b ] ) ; var t = e [ 2 * b ] ; return d [ b ] ( [ t +
( f - l ) * ( e [ 2 * b + 1 ] - t ) / ( g - l ) ] ) } } , constructPostScript : function ( b , a , c ) { c = a . get ( "Domain" ) ; a = a . get ( "Range" ) ; c || m ( "No domain." ) ; a || m ( "No range." ) ; b = new Ba ( b ) ; b = ( new Ca ( b ) ) . parse ( ) ; return [ 4 , c , a , b ] } , constructPostScriptFromIR : function ( b ) { var a = b [ 1 ] , c = b [ 2 ] , e = c . length / 2 , d = new Da ( b [ 3 ] ) , g = new Ea ; return function ( f ) { for ( var b = [ ] , h = 0 , l = a . length / 2 ; h < l ; ++ h ) b . push ( f [ h ] ) ; f = b . join ( "_" ) ; if ( g . has ( f ) ) return g . get ( f ) ; b = d . execute ( b ) ; l = [ ] ; for ( h = e - 1 ; 0 <= h ; -- h ) { var n = b . pop ( ) , t = 2 * h ; n < c [ t ] ? n = c [ t ] : n > c [ t + 1 ] && ( n = c [ t + 1 ] ) ; l [ h ] = n } g . set ( f ,
l ) ; return l } } } } ( ) , Ea = function ( ) { function b ( ) { this . cache = { } ; this . total = 0 } b . prototype = { has : function ( a ) { return a in this . cache } , get : function ( a ) { return this . cache [ a ] } , set : function ( a , c ) { 1024 > this . total && ( this . cache [ a ] = c , this . total ++ ) } } ; return b } ( ) , Fa = function ( ) { function b ( a ) { this . stack = a || [ ] } b . prototype = { push : function ( a ) { 100 <= this . stack . length && m ( "PostScript function stack overflow." ) ; this . stack . push ( a ) } , pop : function ( ) { 0 >= this . stack . length && m ( "PostScript function stack underflow." ) ; return this . stack . pop ( ) } ,
copy : function ( a ) { 100 <= this . stack . length + a && m ( "PostScript function stack overflow." ) ; var c = this . stack , b = c . length - a ; for ( a -= 1 ; 0 <= a ; a -- , b ++ ) c . push ( c [ b ] ) } , index : function ( a ) { this . push ( this . stack [ this . stack . length - a - 1 ] ) } , roll : function ( a , c ) { var b = this . stack , d = b . length - a , g = b . length - 1 , f = d + ( c - Math . floor ( c / a ) * a ) , k , h , l ; k = d ; for ( h = g ; k < h ; k ++ , h -- ) l = b [ k ] , b [ k ] = b [ h ] , b [ h ] = l ; k = d ; for ( h = f - 1 ; k < h ; k ++ , h -- ) l = b [ k ] , b [ k ] = b [ h ] , b [ h ] = l ; k = f ; for ( h = g ; k < h ; k ++ , h -- ) l = b [ k ] , b [ k ] = b [ h ] , b [ h ] = l } } ; return b } ( ) , Da = function ( ) { function b ( a , c ) { this . operators =
a ; this . operands = c } b . prototype = { execute : function ( a ) { a = new Fa ( a ) ; for ( var c = 0 , b = this . operators , d = b . length , g , f ; c < d ; ) if ( g = b [ c ++ ] , "number" == typeof g ) a . push ( g ) ; else switch ( g ) { case "jz" : f = a . pop ( ) ; ( g = a . pop ( ) ) || ( c = f ) ; break ; case "j" : c = g = a . pop ( ) ; break ; case "abs" : g = a . pop ( ) ; a . push ( Math . abs ( g ) ) ; break ; case "add" : f = a . pop ( ) ; g = a . pop ( ) ; a . push ( g + f ) ; break ; case "and" : f = a . pop ( ) ; g = a . pop ( ) ; L ( g ) && L ( f ) ? a . push ( g && f ) : a . push ( g & f ) ; break ; case "atan" : g = a . pop ( ) ; a . push ( Math . atan ( g ) ) ; break ; case "bitshift" : f = a . pop ( ) ; g = a . pop ( ) ; 0 < g ? a . push ( g <<
f ) : a . push ( g >> f ) ; break ; case "ceiling" : g = a . pop ( ) ; a . push ( Math . ceil ( g ) ) ; break ; case "copy" : g = a . pop ( ) ; a . copy ( g ) ; break ; case "cos" : g = a . pop ( ) ; a . push ( Math . cos ( g ) ) ; break ; case "cvi" : g = a . pop ( ) | 0 ; a . push ( g ) ; break ; case "cvr" : break ; case "div" : f = a . pop ( ) ; g = a . pop ( ) ; a . push ( g / f ) ; break ; case "dup" : a . copy ( 1 ) ; break ; case "eq" : f = a . pop ( ) ; g = a . pop ( ) ; a . push ( g == f ) ; break ; case "exch" : a . roll ( 2 , 1 ) ; break ; case "exp" : f = a . pop ( ) ; g = a . pop ( ) ; a . push ( Math . pow ( g , f ) ) ; break ; case "false" : a . push ( ! 1 ) ; break ; case "floor" : g = a . pop ( ) ; a . push ( Math . floor ( g ) ) ;
break ; case "ge" : f = a . pop ( ) ; g = a . pop ( ) ; a . push ( g >= f ) ; break ; case "gt" : f = a . pop ( ) ; g = a . pop ( ) ; a . push ( g > f ) ; break ; case "idiv" : f = a . pop ( ) ; g = a . pop ( ) ; a . push ( g / f | 0 ) ; break ; case "index" : g = a . pop ( ) ; a . index ( g ) ; break ; case "le" : f = a . pop ( ) ; g = a . pop ( ) ; a . push ( g <= f ) ; break ; case "ln" : g = a . pop ( ) ; a . push ( Math . log ( g ) ) ; break ; case "log" : g = a . pop ( ) ; a . push ( Math . log ( g ) / Math . LN10 ) ; break ; case "lt" : f = a . pop ( ) ; g = a . pop ( ) ; a . push ( g < f ) ; break ; case "mod" : f = a . pop ( ) ; g = a . pop ( ) ; a . push ( g % f ) ; break ; case "mul" : f = a . pop ( ) ; g = a . pop ( ) ; a . push ( g * f ) ; break ; case "ne" : f =
a . pop ( ) ; g = a . pop ( ) ; a . push ( g != f ) ; break ; case "neg" : a . pop ( ) ; a . push ( - f ) ; break ; case "not" : g = a . pop ( ) ; L ( g ) && L ( f ) ? a . push ( g && f ) : a . push ( g & f ) ; break ; case "or" : f = a . pop ( ) ; g = a . pop ( ) ; L ( g ) && L ( f ) ? a . push ( g || f ) : a . push ( g | f ) ; break ; case "pop" : a . pop ( ) ; break ; case "roll" : f = a . pop ( ) ; g = a . pop ( ) ; a . roll ( g , f ) ; break ; case "round" : g = a . pop ( ) ; a . push ( Math . round ( g ) ) ; break ; case "sin" : g = a . pop ( ) ; a . push ( Math . sin ( g ) ) ; break ; case "sqrt" : g = a . pop ( ) ; a . push ( Math . sqrt ( g ) ) ; break ; case "sub" : f = a . pop ( ) ; g = a . pop ( ) ; a . push ( g - f ) ; break ; case "true" : a . push ( ! 0 ) ;
break ; case "truncate" : g = a . pop ( ) ; g = 0 > g ? Math . ceil ( g ) : Math . floor ( g ) ; a . push ( g ) ; break ; case "xor" : f = a . pop ( ) ; g = a . pop ( ) ; L ( g ) && L ( f ) ? a . push ( g != f ) : a . push ( g ^ f ) ; break ; default : m ( "Unknown operator " + g ) } return a . stack } } ; return b } ( ) , Ca = function ( ) { function b ( a ) { this . lexer = a ; this . operators = [ ] ; this . prev = this . token = null } b . 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 ;
m ( "Unexpected symbol: found " + this . token . type + " expected " + a + "." ) } , parse : function ( ) { this . nextToken ( ) ; this . expect ( A . LBRACE ) ; this . parseBlock ( ) ; this . expect ( A . RBRACE ) ; return this . operators } , parseBlock : function ( ) { for ( ; ; ) if ( this . accept ( A . NUMBER ) ) this . operators . push ( this . prev . value ) ; else if ( this . accept ( A . OPERATOR ) ) this . operators . push ( this . prev . value ) ; else if ( this . accept ( A . LBRACE ) ) this . parseCondition ( ) ; else break } , parseCondition : function ( ) { var a = this . operators . length ; this . operators . push ( null , null ) ; this . parseBlock ( ) ;
this . expect ( A . RBRACE ) ; if ( this . accept ( A . IF ) ) this . operators [ a ] = this . operators . length , this . operators [ a + 1 ] = "jz" ; else if ( this . accept ( A . LBRACE ) ) { var c = this . operators . length ; this . operators . push ( null , null ) ; var b = this . operators . length ; this . parseBlock ( ) ; this . expect ( A . RBRACE ) ; this . expect ( A . IFELSE ) ; this . operators [ c ] = this . operators . length ; this . operators [ c + 1 ] = "j" ; this . operators [ a ] = b ; this . operators [ a + 1 ] = "jz" } else m ( "PS Function: error parsing conditional." ) } } ; return b } ( ) , A = { LBRACE : 0 , RBRACE : 1 , NUMBER : 2 , OPERATOR : 3 ,
IF : 4 , IFELSE : 5 } , Q = function ( ) { function b ( a , b ) { this . type = a ; this . value = b } var a = { } ; b . getOperator = function ( c ) { var e = a [ c ] ; return e ? e : a [ c ] = new b ( A . OPERATOR , c ) } ; b . LBRACE = new b ( A . LBRACE , "{" ) ; b . RBRACE = new b ( A . RBRACE , "}" ) ; b . IF = new b ( A . IF , "IF" ) ; b . IFELSE = new b ( A . IFELSE , "IFELSE" ) ; return b } ( ) , Ba = function ( ) { function b ( a ) { this . stream = a ; this . nextChar ( ) } b . prototype = { nextChar : function ( ) { return this . currentChar = this . stream . getByte ( ) } , getToken : function ( ) { for ( var a = ! 1 , c = this . currentChar ; ; ) { if ( 0 > c ) return EOF ; if ( a ) { if ( 10 ===
c || 13 === c ) a = ! 1 } else if ( 37 == c ) a = ! 0 ; else if ( ! Lexer . isSpace ( c ) ) break ; c = this . nextChar ( ) } switch ( c | 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 Q ( A . NUMBER , this . getNumber ( ) ) ; case 123 : return this . nextChar ( ) , Q . LBRACE ; case 125 : return this . nextChar ( ) , Q . RBRACE } for ( a = String . fromCharCode ( c ) ; 0 <= ( c = this . nextChar ( ) ) && ( 65 <= c && 90 >= c || 97 <= c && 122 >= c ) ; ) a += String . fromCharCode ( c ) ; switch ( a . toLowerCase ( ) ) { case "if" : return Q . IF ; case "ifelse" : return Q . IFELSE ;
default : return Q . getOperator ( a ) } } , getNumber : function ( ) { for ( var a = this . currentChar , c = String . fromCharCode ( a ) ; 0 <= ( a = this . nextChar ( ) ) ; ) if ( 48 <= a && 57 >= a || 45 === a || 46 === a ) c += String . fromCharCode ( a ) ; else break ; a = parseFloat ( c ) ; isNaN ( a ) && m ( "Invalid floating point number: " + a ) ; return a } } ; return b } ( ) , H = function ( ) { function b ( a , b , d ) { var g = s . getAxialAlignedBoundingBox ( b , d ) ; b = g [ 0 ] ; d = g [ 1 ] ; var f = g [ 2 ] , g = g [ 3 ] ; if ( b === f || d === g ) return [ 1 , 0 , 0 , 1 , a [ 0 ] , a [ 1 ] ] ; f = ( a [ 2 ] - a [ 0 ] ) / ( f - b ) ; g = ( a [ 3 ] - a [ 1 ] ) / ( g - d ) ; return [ f , 0 , 0 , g , a [ 0 ] - b * f , a [ 1 ] -
d * g ] } function a ( a ) { if ( a . data ) this . data = a . data ; else { var b = a . dict ; a = this . data = { } ; a . subtype = b . get ( "Subtype" ) . name ; var d = b . get ( "Rect" ) ; a . rect = s . normalizeRect ( d ) ; a . annotationFlags = b . get ( "F" ) ; d = b . get ( "C" ) ; B ( d ) && 3 === d . length ? a . color = d : a . color = [ 0 , 0 , 0 ] ; b . has ( "BS" ) ? ( d = b . get ( "BS" ) , a . borderWidth = d . has ( "W" ) ? d . get ( "W" ) : 1 ) : ( d = b . get ( "Border" ) || [ 0 , 0 , 1 ] , a . borderWidth = d [ 2 ] || 0 ) ; var g ; d = b . get ( "AP" ) ; O ( d ) ? ( d = d . get ( "N" ) , O ( d ) ? ( b = b . get ( "AS" ) ) && d . has ( b . name ) && ( g = d . get ( b . name ) ) : g = d ) : g = void 0 ; this . appearance = g ; a . hasAppearance =
! ! this . appearance } } a . prototype = { getData : function ( ) { return this . data } , hasHtml : function ( ) { return ! 1 } , getHtmlElement : function ( a ) { throw new sa ( "getHtmlElement() should be implemented in subclass" ) ; } , getEmptyContainer : function ( a , b ) { U && m ( "getEmptyContainer() should be called from main thread" ) ; b = b || this . data . rect ; var d = document . createElement ( a ) ; d . style . width = Math . ceil ( b [ 2 ] - b [ 0 ] ) + "px" ; d . style . height = Math . ceil ( b [ 3 ] - b [ 1 ] ) + "px" ; return d } , isViewable : function ( ) { var a = this . data ; return ! ( ! a || a . annotationFlags && a . annotationFlags &
34 || ! a . rect ) } , loadResources : function ( a ) { var b = new x ; this . appearance . dict . getAsync ( "Resources" ) . then ( function ( d ) { d ? ( new ObjectLoader ( d . map , a , d . xref ) ) . load ( ) . then ( function ( ) { b . resolve ( d ) } ) : b . resolve ( ) } . bind ( this ) ) ; return b } , getOperatorList : function ( a ) { var e = new x ; if ( ! this . appearance ) return e . resolve ( new OperatorList ) , e ; var d = this . data , g = this . appearance . dict , f = this . loadResources ( "ExtGState ColorSpace Pattern Shading XObject Font" . split ( " " ) ) , k = g . get ( "BBox" ) || [ 0 , 0 , 1 , 1 ] , h = g . get ( "Matrix" ) || [ 1 , 0 , 0 , 1 , 0 , 0 ] ,
l = b ( d . rect , k , h ) ; f . then ( function ( b ) { var f = new OperatorList ; f . addOp ( "beginAnnotation" , [ d . rect , l , h ] ) ; a . getOperatorList ( this . appearance , b , f ) ; f . addOp ( "endAnnotation" , [ ] ) ; e . resolve ( f ) } . bind ( this ) ) ; return e } } ; a . getConstructor = function ( c , b ) { if ( c ) { if ( "Link" === c ) return Ga ; if ( "Text" === c ) return Ha ; if ( "Widget" === c ) { if ( b ) return "Tx" === b ? Ia : aa } else return a } } ; a . fromData = function ( c ) { var b = a . getConstructor ( c . subtype , c . fieldType ) ; if ( b ) return new b ( { data : c } ) } ; a . fromRef = function ( c , b ) { var d = c . fetchIfRef ( b ) ; if ( O ( d ) ) { var g =
d . get ( "Subtype" ) ; if ( g = M ( g ) ? g . name : "" ) { var f = s . getInheritableProperty ( d , "FT" ) , f = M ( f ) ? f . name : "" ; if ( f = a . getConstructor ( g , f ) ) { d = new f ( { dict : d , ref : b } ) ; if ( d . isViewable ( ) ) return d ; K ( "unimplemented annotation type: " + g ) } } } } ; a . appendToOperatorList = function ( a , b , d , g ) { var f = new x ; d = [ ] ; for ( var k = 0 , h = a . length ; k < h ; ++ k ) d . push ( a [ k ] . getOperatorList ( g ) ) ; x . all ( d ) . then ( function ( a ) { b . addOp ( "beginAnnotations" , [ ] ) ; for ( var c = 0 , d = a . length ; c < d ; ++ c ) b . addOpList ( a [ c ] ) ; b . addOp ( "endAnnotations" , [ ] ) ; f . resolve ( ) } , function ( a ) { f . reject ( a ) } ) ;
return f } ; return a } ( ) ; PDFJS . Annotation = H ; var aa = function ( ) { function b ( a ) { H . call ( this , a ) ; if ( ! a . data ) { var b = a . dict , d = this . data ; d . fieldValue = T ( s . getInheritableProperty ( b , "V" ) || "" ) ; d . alternativeText = T ( b . get ( "TU" ) || "" ) ; d . defaultAppearance = s . getInheritableProperty ( b , "DA" ) || "" ; var g = s . getInheritableProperty ( b , "FT" ) ; d . fieldType = M ( g ) ? g . name : "" ; d . fieldFlags = s . getInheritableProperty ( b , "Ff" ) || 0 ; this . fieldResources = s . getInheritableProperty ( b , "DR" ) || new Dict ; var g = [ ] , f = b ; for ( a = a . ref ; f ; ) { var b = f . get ( "Parent" ) , k =
f . getRaw ( "Parent" ) ; if ( f = f . get ( "T" ) ) g . unshift ( T ( f ) ) ; else { var f = b . get ( "Kids" ) , h , l ; h = 0 ; for ( l = f . length ; h < l ; h ++ ) { var n = f [ h ] ; if ( n . num == a . num && n . gen == a . gen ) break } g . unshift ( "`" + h ) } f = b ; a = k } d . fullName = g . join ( "." ) } } var a = H . prototype ; s . inherit ( b , H , { isViewable : function ( ) { return "Sig" === this . data . fieldType ? ( K ( "unimplemented annotation type: Widget signature" ) , ! 1 ) : a . isViewable . call ( this ) } } ) ; return b } ( ) , Ia = function ( ) { function b ( a ) { aa . call ( this , a ) ; a . data || ( this . data . textAlignment = s . getInheritableProperty ( a . dict , "Q" ) ) }
s . inherit ( b , aa , { hasHtml : function ( ) { return ! this . data . hasAppearance && ! ! this . data . fieldValue } , getHtmlElement : function ( a ) { U && m ( "getHtmlElement() shall be called from main thread" ) ; var c = this . data , b = this . getEmptyContainer ( "div" ) ; b . style . display = "table" ; var d = document . createElement ( "div" ) ; d . textContent = c . fieldValue ; d . style . textAlign = [ "left" , "center" , "right" ] [ c . textAlignment ] ; d . style . verticalAlign = "middle" ; d . style . display = "table-cell" ; a = c . fontRefName ? a . getData ( c . fontRefName ) : null ; var g = d . style ; g . fontSize =
c . fontSize + "px" ; g . direction = 0 > c . fontDirection ? "rtl" : "ltr" ; a && ( g . fontWeight = a . black ? a . bold ? "bolder" : "bold" : a . bold ? "bold" : "normal" , g . fontStyle = a . italic ? "italic" : "normal" , c = a . loadedName , g . fontFamily = ( c ? '"' + c + '", ' : "" ) + ( a . fallbackName || "Helvetica, sans-serif" ) ) ; b . appendChild ( d ) ; return b } , getOperatorList : function ( a ) { if ( this . appearance ) return H . prototype . getOperatorList . call ( this , a ) ; var c = new x , b = new OperatorList , d = this . data , g = d . defaultAppearance ; if ( ! g ) return c . resolve ( b ) , c ; for ( var f = Stream , k = g . length ,
h = new Uint8Array ( k ) , l = 0 ; l < k ; ++ l ) h [ l ] = g . charCodeAt ( l ) & 255 ; g = new f ( h ) ; a . getOperatorList ( g , this . fieldResources , b ) ; a = b . fnArray ; g = b . argsArray ; d . rgb = [ 0 , 0 , 0 ] ; for ( f = 0 ; 0 > f ; ++ f ) k = a [ f ] , h = g [ f ] , "setFont" === k ? ( d . fontRefName = h [ 0 ] , k = h [ 1 ] , 0 > k ? ( d . fontDirection = - 1 , d . fontSize = - k ) : ( d . fontDirection = 1 , d . fontSize = k ) ) : "setFillRGBColor" === k ? d . rgb = h : "setFillGray" === k && ( k = 255 * h [ 0 ] , d . rgb = [ k , k , k ] ) ; c . resolve ( b ) ; return c } } ) ; return b } ( ) , Ha = function ( ) { function b ( a ) { H . call ( this , a ) ; if ( ! a . data ) { a = a . dict ; var c = this . data , b = a . get ( "Contents" ) ,
d = a . get ( "T" ) ; c . content = T ( b || "" ) ; c . title = T ( d || "" ) ; c . name = a . has ( "Name" ) ? a . get ( "Name" ) . name : "Note" } } s . inherit ( b , H , { getOperatorList : function ( a ) { a = new x ; a . resolve ( new OperatorList ) ; return a } , hasHtml : function ( ) { return ! 0 } , getHtmlElement : function ( a ) { U && m ( "getHtmlElement() shall be called from main thread" ) ; var c = this . data , b = c . 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 d = this . getEmptyContainer ( "section" , b ) ; d . className = "annotText" ; a = document . createElement ( "img" ) ; a . style . height =
d . style . height ; var g = c . name ; a . src = PDFJS . imageResourcesPath + "annotation-" + g . toLowerCase ( ) + ".svg" ; a . alt = "[{{type}} Annotation]" ; a . dataset . l10nId = "text_annotation_type" ; a . dataset . l10nArgs = JSON . stringify ( { type : g } ) ; var f = document . createElement ( "div" ) ; f . setAttribute ( "hidden" , ! 0 ) ; var g = document . createElement ( "h1" ) , k = document . createElement ( "p" ) ; f . style . left = Math . floor ( b [ 2 ] - b [ 0 ] ) + "px" ; f . style . top = "0px" ; g . textContent = c . title ; if ( c . content || c . title ) { for ( var b = document . createElement ( "span" ) , c = c . content . split ( /(?:\r\n?|\n)/ ) ,
h = 0 , l = c . length ; h < l ; ++ h ) b . appendChild ( document . createTextNode ( c [ h ] ) ) , h < l - 1 && b . appendChild ( document . createElement ( "br" ) ) ; k . appendChild ( b ) ; b = function ( ) { d . style . zIndex += 1 ; f . removeAttribute ( "hidden" ) } ; c = function ( a ) { if ( a . toElement || a . relatedTarget ) d . style . zIndex -= 1 , f . setAttribute ( "hidden" , ! 0 ) } ; f . addEventListener ( "mouseover" , b , ! 1 ) ; f . addEventListener ( "mouseout" , c , ! 1 ) ; a . addEventListener ( "mouseover" , b , ! 1 ) ; a . addEventListener ( "mouseout" , c , ! 1 ) } else f . setAttribute ( "hidden" , ! 0 ) ; f . appendChild ( g ) ; f . appendChild ( k ) ;
d . appendChild ( a ) ; d . appendChild ( f ) ; return d } } ) ; return b } ( ) , Ga = function ( ) { function b ( a ) { H . call ( this , a ) ; if ( ! a . data ) { var b = a . dict ; a = this . data ; var e = b . get ( "A" ) ; if ( e ) if ( b = e . get ( "S" ) . name , "URI" === b ) { var d = e . get ( "URI" ) ; Y ( d , ! 1 ) || ( d = "" ) ; a . url = d } else "GoTo" === b ? a . dest = e . get ( "D" ) : "GoToR" === b ? ( b = e . get ( "F" ) , O ( b ) && ( d = b . get ( "F" ) || "" ) , Y ( d , ! 1 ) || ( d = "" ) , a . url = d , a . dest = e . get ( "D" ) ) : "Named" === b ? a . action = e . get ( "N" ) . name : K ( "unrecognized link type: " + b ) ; else b . has ( "Dest" ) && ( d = b . get ( "Dest" ) , a . dest = M ( d ) ? d . name : d ) } } s . inherit ( b ,
H , { hasOperatorList : function ( ) { return ! 1 } , hasHtml : function ( ) { return ! 0 } , getHtmlElement : function ( a ) { a = this . data . rect ; var b = document . createElement ( "a" ) , e = this . data . borderWidth ; b . style . borderWidth = e + "px" ; for ( var d = this . data . color , g = [ ] , f = 0 ; 3 > f ; ++ f ) g [ f ] = Math . round ( 255 * d [ f ] ) ; b . style . borderColor = s . makeCssRgb ( g ) ; b . style . borderStyle = "solid" ; d = a [ 3 ] - a [ 1 ] - 2 * e ; b . style . width = a [ 2 ] - a [ 0 ] - 2 * e + "px" ; b . style . height = d + "px" ; b . href = this . data . url || "" ; return b } } ) ; return b } ( ) ; PDFJS . maxImageSize = void 0 === PDFJS . maxImageSize ? - 1 :
PDFJS . maxImageSize ; PDFJS . disableFontFace = void 0 === PDFJS . disableFontFace ? ! 1 : PDFJS . disableFontFace ; PDFJS . getDocument = function ( b , a , c , e ) { var d , g ; "string" === typeof b ? b = { url : b } : "object" == typeof b && null !== b && void 0 !== b && "byteLength" in b ? b = { data : b } : "object" !== typeof b && m ( "Invalid parameter in getDocument, need either Uint8Array, string or a parameter object" ) ; b . url || b . data || m ( "Invalid parameter array, need either .data or .url" ) ; var f = { } ; for ( d in b ) f [ d ] = "url" === d && "undefined" !== typeof window ? oa ( window . location . href ,
b [ d ] ) : b [ d ] ; b = new PDFJS . Promise ; d = new PDFJS . Promise ; g = new Ja ( b , d , a , e ) ; b . then ( function ( ) { g . passwordCallback = c ; g . fetchDocument ( f ) } ) ; return d } ; var Ka = function ( ) { function b ( a , b ) { this . pdfInfo = a ; this . transport = b } b . prototype = { get numPages ( ) { return this . pdfInfo . numPages } , get fingerprint ( ) { return this . pdfInfo . fingerprint } , get embeddedFontsUsed ( ) { return this . transport . embeddedFontsUsed } , getPage : function ( a ) { return this . transport . getPage ( a ) } , getDestinations : function ( ) { return this . transport . getDestinations ( ) } ,
getJavaScript : function ( ) { var a = new PDFJS . Promise ; a . resolve ( this . pdfInfo . javaScript ) ; return a } , getOutline : function ( ) { var a = new PDFJS . Promise ; a . resolve ( this . pdfInfo . outline ) ; return a } , getMetadata : function ( ) { var a = new PDFJS . Promise , b = this . pdfInfo . metadata ; a . resolve ( { info : this . pdfInfo . info , metadata : b ? new PDFJS . Metadata ( b ) : null } ) ; return a } , isEncrypted : function ( ) { var a = new PDFJS . Promise ; a . resolve ( this . pdfInfo . encrypted ) ; return a } , getData : function ( ) { var a = new PDFJS . Promise ; this . transport . getData ( a ) ; return a } ,
dataLoaded : function ( ) { return this . transport . dataLoaded ( ) } , destroy : function ( ) { this . transport . destroy ( ) } } ; return b } ( ) , Na = function ( ) { function b ( a , b ) { this . pageInfo = a ; this . transport = b ; this . stats = new ta ; this . stats . enabled = ! ! v . PDFJS . enableStats ; this . commonObjs = b . commonObjs ; this . objs = new la ; this . pendingDestroy = this . cleanupAfterRender = this . receivingOperatorList = ! 1 ; this . renderTasks = [ ] } b . 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 . Promise ; this . annotationsPromise = a ; this . transport . getAnnotations ( this . pageInfo . pageIndex ) ; return a } , render : function ( a ) { function b ( a ) { var c = f . renderTasks . indexOf ( d ) ; 0 <= c && f . renderTasks . splice ( c , 1 ) ; f . cleanupAfterRender && ( f . pendingDestroy = ! 0 ) ; f . _tryDestroy ( ) ;
a ? g . reject ( a ) : g . resolve ( ) ; e . timeEnd ( "Rendering" ) ; e . timeEnd ( "Overall" ) } var e = this . stats ; e . time ( "Overall" ) ; this . pendingDestroy = ! 1 ; this . displayReadyPromise || ( this . receivingOperatorList = ! 0 , this . displayReadyPromise = new x , this . operatorList = { fnArray : [ ] , argsArray : [ ] , lastChunk : ! 1 } , this . stats . time ( "Page Request" ) , this . transport . messageHandler . send ( "RenderPageRequest" , { pageIndex : this . pageNumber - 1 } ) ) ; var d = new La ( b , a , this . objs , this . commonObjs , this . operatorList , this . pageNumber ) ; this . renderTasks . push ( d ) ; var g =
new Ma ( d ) , f = this ; this . displayReadyPromise . then ( function ( a ) { f . pendingDestroy ? b ( ) : ( e . time ( "Rendering" ) , d . initalizeGraphics ( a ) , d . operatorListChanged ( ) ) } , function ( a ) { b ( a ) } ) ; return g } , getTextContent : function ( ) { var a = new PDFJS . Promise ; this . transport . messageHandler . send ( "GetTextContent" , { pageIndex : this . pageNumber - 1 } , function ( b ) { a . resolve ( b ) } ) ; return a } , getOperationList : function ( ) { var a = new PDFJS . Promise ; a . resolve ( { dependencyFontsID : null , operatorList : null } ) ; return a } , destroy : function ( ) { this . pendingDestroy =
! 0 ; this . _tryDestroy ( ) } , _tryDestroy : function ( ) { this . pendingDestroy && 0 === this . renderTasks . length && ! this . receivingOperatorList && ( delete this . operatorList , delete this . displayReadyPromise , this . objs . clear ( ) , this . pendingDestroy = ! 1 ) } , _startRenderPage : function ( a ) { this . displayReadyPromise . resolve ( a ) } , _renderPageChunk : function ( a ) { s . concatenateToArray ( this . operatorList . fnArray , a . fnArray ) ; s . concatenateToArray ( this . operatorList . argsArray , a . argsArray ) ; this . operatorList . lastChunk = a . lastChunk ; for ( var b = 0 ; b < this . renderTasks . length ; b ++ ) this . renderTasks [ b ] . operatorListChanged ( ) ;
a . lastChunk && ( this . receivingOperatorList = ! 1 , this . _tryDestroy ( ) ) } } ; return b } ( ) , Ja = function ( ) { function b ( a , b , e , d ) { this . pdfDataRangeTransport = e ; this . workerReadyPromise = b ; this . progressCallback = d ; this . commonObjs = new la ; this . pageCache = [ ] ; this . pagePromises = [ ] ; this . embeddedFontsUsed = ! 1 ; this . passwordCallback = null ; if ( ! v . PDFJS . disableWorker && "undefined" !== typeof Worker ) { b = PDFJS . workerSrc ; "undefined" === typeof b && m ( "No PDFJS.workerSrc specified" ) ; try { var g = new Worker ( b ) , f = new Z ( "main" , g ) ; this . messageHandler = f ;
f . on ( "test" , function ( b ) { b ? ( this . worker = g , this . setupMessageHandler ( f ) ) : ( v . PDFJS . disableWorker = ! 0 , this . setupFakeWorker ( ) ) ; a . resolve ( ) } . bind ( this ) ) ; var k = new Uint8Array ( 1 ) ; f . send ( "test" , k ) ; return } catch ( h ) { S ( "The worker has been disabled." ) } } v . PDFJS . disableWorker = ! 0 ; this . loadFakeWorkerFiles ( ) . then ( function ( ) { this . setupFakeWorker ( ) ; a . resolve ( ) } . bind ( this ) ) } b . prototype = { destroy : function ( ) { this . pageCache = [ ] ; this . pagePromises = [ ] ; var a = this ; this . messageHandler . send ( "Terminate" , null , function ( ) { a . worker && a . worker . terminate ( ) } ) } ,
loadFakeWorkerFiles : function ( ) { PDFJS . fakeWorkerFilesLoadedPromise || ( PDFJS . fakeWorkerFilesLoadedPromise = new x , s . loadScript ( PDFJS . workerSrc , function ( ) { PDFJS . fakeWorkerFilesLoadedPromise . resolve ( ) } ) ) ; return PDFJS . fakeWorkerFilesLoadedPromise } , setupFakeWorker : function ( ) { F ( "Setting up fake worker." ) ; var a = { postMessage : function ( b ) { a . onmessage ( { data : b } ) } , terminate : function ( ) { } } , b = new Z ( "main" , a ) ; this . setupMessageHandler ( b ) ; PDFJS . WorkerMessageHandler . setup ( b ) } , setupMessageHandler : function ( a ) { function b ( c ) { a . send ( "UpdatePassword" ,
c ) } this . messageHandler = a ; var e = this . pdfDataRangeTransport ; e && ( e . addRangeListener ( function ( b , c ) { a . send ( "OnDataRange" , { begin : b , chunk : c } ) } ) , e . addProgressListener ( function ( b ) { a . send ( "OnDataProgress" , { loaded : b } ) } ) , a . on ( "RequestDataRange" , function ( a ) { e . requestDataRange ( a . begin , a . end ) } , this ) ) ; a . on ( "GetDoc" , function ( a ) { this . pdfDocument = a = new Ka ( a . pdfInfo , this ) ; this . workerReadyPromise . resolve ( a ) } , this ) ; a . on ( "NeedPassword" , function ( a ) { if ( this . passwordCallback ) return this . passwordCallback ( b , ga . NEED _PASSWORD ) ;
this . workerReadyPromise . reject ( a . exception . message , a . exception ) } , this ) ; a . on ( "IncorrectPassword" , function ( a ) { if ( this . passwordCallback ) return this . passwordCallback ( b , ga . INCORRECT _PASSWORD ) ; this . workerReadyPromise . reject ( a . exception . message , a . exception ) } , this ) ; a . on ( "InvalidPDF" , function ( a ) { this . workerReadyPromise . reject ( a . exception . name , a . exception ) } , this ) ; a . on ( "MissingPDF" , function ( a ) { this . workerReadyPromise . reject ( a . exception . message , a . exception ) } , this ) ; a . on ( "UnknownError" , function ( a ) { this . workerReadyPromise . reject ( a . exception . message ,
a . exception ) } , this ) ; a . on ( "GetPage" , function ( a ) { a = a . pageInfo ; var b = new Na ( a , this ) ; this . pageCache [ a . pageIndex ] = b ; this . pagePromises [ a . pageIndex ] . resolve ( b ) } , this ) ; a . on ( "GetAnnotations" , function ( a ) { this . pageCache [ a . pageIndex ] . annotationsPromise . resolve ( a . annotations ) } , this ) ; a . on ( "StartRenderPage" , function ( a ) { var b = this . pageCache [ a . pageIndex ] ; b . stats . timeEnd ( "Page Request" ) ; b . _startRenderPage ( a . transparency ) } , this ) ; a . on ( "RenderPageChunk" , function ( a ) { this . pageCache [ a . pageIndex ] . _renderPageChunk ( a . operatorList ) } ,
this ) ; a . on ( "commonobj" , function ( a ) { var b = a [ 0 ] , c = a [ 1 ] ; if ( ! this . commonObjs . hasData ( b ) ) switch ( c ) { case "Font" : a = a [ 2 ] ; var k ; if ( "error" in a ) { var h = a . error ; F ( "Error during font loading: " + h ) ; this . commonObjs . resolve ( b , h ) ; break } else k = new Oa ( a ) ; R . bind ( [ k ] , function ( a ) { this . commonObjs . resolve ( b , k ) } . bind ( this ) ) ; break ; case "FontPath" : this . commonObjs . resolve ( b , a [ 2 ] ) ; break ; default : h ( "Got unknown common object type " + c ) } } , this ) ; a . on ( "obj" , function ( a ) { var b = a [ 0 ] , c = a [ 2 ] , k = this . pageCache [ a [ 1 ] ] ; if ( ! k . objs . hasData ( b ) ) switch ( c ) { case "JpegStream" : a =
a [ 3 ] ; qa ( b , a , k . objs ) ; break ; case "Image" : a = a [ 3 ] ; k . objs . resolve ( b , a ) ; "data" in a && 8E6 < a . data . length && ( k . cleanupAfterRender = ! 0 ) ; break ; default : m ( "Got unknown object type " + c ) } } , this ) ; a . on ( "DocProgress" , function ( a ) { this . progressCallback && this . progressCallback ( { loaded : a . loaded , total : a . total } ) } , this ) ; a . on ( "DocError" , function ( a ) { this . workerReadyPromise . reject ( a ) } , this ) ; a . on ( "PageError" , function ( a ) { var b = this . pageCache [ a . pageNum - 1 ] ; b . displayReadyPromise ? b . displayReadyPromise . reject ( a . error ) : m ( a . error ) } , this ) ;
a . on ( "JpegDecode" , function ( a , b ) { var c = a [ 0 ] , k = a [ 1 ] ; 3 != k && 1 != k && m ( "Only 3 component or 1 component can be returned" ) ; var h = new Image ; h . onload = function ( ) { var a = h . width , c = h . height , f = a * c , d = 4 * f , f = new Uint8Array ( f * k ) , e = ea ( a , c ) . getContext ( "2d" ) ; e . drawImage ( h , 0 , 0 ) ; e = e . getImageData ( 0 , 0 , a , c ) . data ; if ( 3 == k ) for ( var r = 0 , m = 0 ; r < d ; r += 4 , m += 3 ) f [ m ] = e [ r ] , f [ m + 1 ] = e [ r + 1 ] , f [ m + 2 ] = e [ r + 2 ] ; else if ( 1 == k ) for ( m = r = 0 ; r < d ; r += 4 , m ++ ) f [ m ] = e [ r ] ; b . resolve ( { data : f , width : a , height : c } ) } . bind ( this ) ; c = "data:image/jpeg;base64," + window . btoa ( c ) ;
h . src = c } ) } , fetchDocument : function ( a ) { a . disableAutoFetch = PDFJS . disableAutoFetch ; a . chunkedViewerLoading = ! ! this . pdfDataRangeTransport ; this . messageHandler . send ( "GetDocRequest" , { source : a , disableRange : PDFJS . disableRange , maxImageSize : PDFJS . maxImageSize , disableFontFace : PDFJS . disableFontFace } ) } , getData : function ( a ) { this . messageHandler . send ( "GetData" , null , function ( b ) { a . resolve ( b ) } ) } , dataLoaded : function ( ) { var a = new PDFJS . Promise ; this . messageHandler . send ( "DataLoaded" , null , function ( b ) { a . resolve ( b ) } ) ; return a } ,
getPage : function ( a , b ) { var e = a - 1 ; if ( e in this . pagePromises ) return this . pagePromises [ e ] ; b = new PDFJS . Promise ( "Page " + a ) ; this . pagePromises [ e ] = b ; this . messageHandler . send ( "GetPageRequest" , { pageIndex : e } ) ; return b } , getAnnotations : function ( a ) { this . messageHandler . send ( "GetAnnotationsRequest" , { pageIndex : a } ) } , getDestinations : function ( ) { var a = new PDFJS . Promise ; this . messageHandler . send ( "GetDestinations" , null , function ( b ) { a . resolve ( b ) } ) ; return a } } ; return b } ( ) , la = function ( ) { function b ( ) { this . objs = { } } b . prototype = { ensureObj : function ( a ) { if ( this . objs [ a ] ) return this . objs [ a ] ;
var b = { promise : new x ( a ) , data : null , resolved : ! 1 } ; return this . objs [ a ] = b } , get : function ( a , b ) { if ( b ) return this . ensureObj ( a ) . promise . then ( b ) , null ; var e = this . objs [ a ] ; e && e . resolved || m ( "Requesting object that isn't resolved yet " + a ) ; return e . data } , resolve : function ( a , b ) { var e = this . ensureObj ( a ) ; e . resolved = ! 0 ; e . data = b ; e . promise . resolve ( b ) } , isResolved : function ( a ) { var b = this . objs ; return b [ a ] ? b [ a ] . resolved : ! 1 } , hasData : function ( a ) { return this . isResolved ( a ) } , getData : function ( a ) { var b = this . objs ; return b [ a ] && b [ a ] . resolved ?
b [ a ] . data : null } , clear : function ( ) { this . objs = { } } } ; return b } ( ) , Ma = function ( ) { function b ( a ) { this . internalRenderTask = a ; x . call ( this ) } b . prototype = Object . create ( x . prototype ) ; b . prototype . cancel = function ( ) { this . internalRenderTask . cancel ( ) } ; return b } ( ) , La = function ( ) { function b ( a , b , e , d , g , f ) { this . callback = a ; this . params = b ; this . objs = e ; this . commonObjs = d ; this . operatorListIdx = null ; this . operatorList = g ; this . pageNumber = f ; this . running = ! 1 ; this . graphicsReadyCallback = null ; this . cancelled = this . graphicsReady = ! 1 } b . prototype =
{ initalizeGraphics : function ( a ) { if ( ! this . cancelled ) { PDFJS . pdfBug && "StepperManager" in v && v . StepperManager . enabled && ( this . stepper = v . StepperManager . create ( this . pageNumber - 1 ) , this . stepper . init ( this . operatorList ) , this . stepper . nextBreakPoint = this . stepper . getNextBreakPoint ( ) ) ; var b = this . params ; this . gfx = new ka ( b . canvasContext , this . commonObjs , this . objs , b . textLayer , b . imageLayer ) ; this . gfx . beginDrawing ( b . viewport , a ) ; this . operatorListIdx = 0 ; this . graphicsReady = ! 0 ; this . graphicsReadyCallback && this . graphicsReadyCallback ( ) } } ,
cancel : function ( ) { this . running = ! 1 ; this . cancelled = ! 0 ; this . callback ( "cancelled" ) } , operatorListChanged : function ( ) { this . graphicsReady ? ( this . stepper && this . stepper . updateOperatorList ( this . operatorList ) , this . running || this . _continue ( ) ) : this . graphicsReadyCallback || ( this . graphicsReadyCallback = this . _continue . bind ( this ) ) } , _continue : function ( ) { this . running = ! 0 ; this . cancelled || ( this . params . continueCallback ? this . params . continueCallback ( this . _next . bind ( this ) ) : this . _next ( ) ) } , _next : function ( ) { this . cancelled || ( this . operatorListIdx =
this . gfx . executeOperatorList ( this . operatorList , this . operatorListIdx , this . _continue . bind ( this ) , this . stepper ) , this . operatorListIdx === this . operatorList . fnArray . length && ( this . running = ! 1 , this . operatorList . lastChunk && ( this . gfx . endDrawing ( ) , this . callback ( ) ) ) ) } } ; return b } ( ) ; PDFJS . Metadata = function ( ) { function b ( a ) { return a . replace ( />\\376\\377([^<]+)/g , function ( a , b ) { for ( var c = b . replace ( /\\([0-3])([0-7])([0-7])/g , function ( a , b , c , f ) { return String . fromCharCode ( 64 * b + 8 * c + 1 * f ) } ) , f = "" , k = 0 ; k < c . length ; k += 2 ) var h = 256 *
c . charCodeAt ( k ) + c . charCodeAt ( k + 1 ) , f = f + ( "&#x" + ( 65536 + h ) . toString ( 16 ) . substring ( 1 ) + ";" ) ; return ">" + f } ) } function a ( a ) { "string" === typeof a ? ( a = b ( a ) , a = ( new DOMParser ) . parseFromString ( a , "application/xml" ) ) : a instanceof Document || m ( "Metadata: Invalid metadata object" ) ; this . metaDocument = a ; this . metadata = { } ; this . parse ( ) } a . prototype = { parse : function ( ) { var a = this . metaDocument . documentElement ; if ( "rdf:rdf" !== a . nodeName . toLowerCase ( ) ) for ( a = a . firstChild ; a && "rdf:rdf" !== a . nodeName . toLowerCase ( ) ; ) a = a . nextSibling ; var b =
a ? a . nodeName . toLowerCase ( ) : null ; if ( a && "rdf:rdf" === b && a . hasChildNodes ( ) ) { var a = a . childNodes , d , g , f , k , h , l ; f = 0 ; for ( h = a . length ; f < h ; f ++ ) if ( b = a [ f ] , "rdf:description" === b . nodeName . toLowerCase ( ) ) for ( k = 0 , l = b . childNodes . length ; k < l ; k ++ ) "#text" !== b . childNodes [ k ] . nodeName . toLowerCase ( ) && ( d = b . childNodes [ k ] , g = d . nodeName . toLowerCase ( ) , this . metadata [ g ] = d . textContent . trim ( ) ) } } , get : function ( a ) { return this . metadata [ a ] || null } , has : function ( a ) { return "undefined" !== typeof this . metadata [ a ] } } ; return a } ( ) ; var G = function ( ) { var b =
{ } ; return { getCanvas : function ( a , c , e , d ) { a in b ? ( a = b [ a ] , a . canvas . width = c , a . canvas . height = e , a . context . setTransform ( 1 , 0 , 0 , 1 , 0 , 0 ) ) : ( c = ea ( c , e ) , e = c . getContext ( "2d" ) , d && fa ( e ) , b [ a ] = a = { canvas : c , context : e } ) ; return a } , clear : function ( ) { b = { } } } } ( ) , ma = function ( ) { function b ( a ) { this . alphaIsShape = ! 1 ; this . fontSize = 0 ; this . fontSizeScale = 1 ; this . textMatrix = ha ; this . fontMatrix = $ ; this . wordSpacing = this . charSpacing = this . lineY = this . lineX = this . y = this . x = this . leading = 0 ; this . textHScale = 1 ; this . textRenderingMode = V ; this . textRise = 0 ; this . fillColorSpace =
p . singletons . gray ; this . fillColorSpaceObj = null ; this . strokeColorSpace = p . singletons . gray ; this . strokeColorObj = this . fillColorObj = this . strokeColorSpaceObj = null ; this . strokeColor = this . fillColor = "#000000" ; this . lineWidth = this . strokeAlpha = this . fillAlpha = 1 ; this . paintFormXObjectDepth = 0 ; this . old = a } b . prototype = { clone : function ( ) { return Object . create ( this ) } , setCurrentPoint : function ( a , b ) { this . x = a ; this . y = b } } ; return b } ( ) , ka = function ( ) { function b ( a , b , c , d , e ) { this . ctx = a ; this . current = new ma ; this . stateStack = [ ] ; this . pendingClip =
null ; this . pendingEOFill = ! 1 ; this . xobjs = this . res = null ; this . commonObjs = b ; this . objs = c ; this . textLayer = d ; this . imageLayer = e ; this . groupStack = [ ] ; this . baseTransform = this . processingType3 = null ; this . baseTransformStack = [ ] ; this . groupLevel = 0 ; a && fa ( a ) } function a ( a , b ) { if ( "undefined" !== typeof ImageData && b instanceof ImageData ) a . putImageData ( b , 0 , 0 ) ; else { var c = a . createImageData ( b . width , b . height ) , d = b . data , e = c . data ; if ( "set" in e ) e . set ( d ) ; else for ( var g = 0 , y = e . length ; g < y ; g ++ ) e [ g ] = d [ g ] ; a . putImageData ( c , 0 , 0 ) } } var c = [ "butt" ,
"round" , "square" ] , e = [ "miter" , "round" , "bevel" ] , d = { } , g = { } ; b . prototype = { slowCommands : { stroke : ! 0 , closeStroke : ! 0 , fill : ! 0 , eoFill : ! 0 , fillStroke : ! 0 , eoFillStroke : ! 0 , closeFillStroke : ! 0 , closeEOFillStroke : ! 0 , showText : ! 0 , showSpacedText : ! 0 , setStrokeColorSpace : ! 0 , setFillColorSpace : ! 0 , setStrokeColor : ! 0 , setStrokeColorN : ! 0 , setFillColor : ! 0 , setFillColorN : ! 0 , setStrokeGray : ! 0 , setFillGray : ! 0 , setStrokeRGBColor : ! 0 , setFillRGBColor : ! 0 , setStrokeCMYKColor : ! 0 , setFillCMYKColor : ! 0 , paintJpegXObject : ! 0 , paintImageXObject : ! 0 , paintInlineImageXObject : ! 0 ,
paintInlineImageXObjectGroup : ! 0 , paintImageMaskXObject : ! 0 , paintImageMaskXObjectGroup : ! 0 , shadingFill : ! 0 } , beginDrawing : function ( a , b ) { var c = this . ctx . canvas . width , d = this . ctx . canvas . height ; b ? this . ctx . clearRect ( 0 , 0 , c , d ) : ( this . ctx . mozOpaque = ! 0 , this . ctx . save ( ) , this . ctx . fillStyle = "rgb(255, 255, 255)" , this . ctx . fillRect ( 0 , 0 , c , d ) , this . ctx . restore ( ) ) ; c = a . transform ; this . baseTransform = c . slice ( ) ; this . ctx . save ( ) ; this . ctx . transform . apply ( this . ctx , c ) ; this . textLayer && this . textLayer . beginLayout ( ) ; this . imageLayer && this . imageLayer . beginLayout ( ) } ,
executeOperatorList : function ( a , b , c , d ) { var e = a . argsArray ; a = a . fnArray ; b = b || 0 ; var g = e . length ; if ( g == b ) return b ; for ( var y = Date . now ( ) + 15 , q = this . commonObjs , r = this . objs , m , u = this . slowCommands ; ; ) { if ( d && b === d . nextBreakPoint ) return d . breakIt ( b , c ) , b ; m = a [ b ] ; if ( "dependency" !== m ) this [ m ] . apply ( this , e [ b ] ) ; else for ( var s = e [ b ] , p = 0 , E = s . length ; p < E ; p ++ ) { var z = s [ p ] , v = "g_" == z . substring ( 0 , 2 ) ; if ( ! v && ! r . isResolved ( z ) ) return r . get ( z , c ) , b ; if ( v && ! q . isResolved ( z ) ) return q . get ( z , c ) , b } b ++ ; if ( b == g ) return b ; if ( c && u [ m ] && Date . now ( ) > y ) return setTimeout ( c ,
0 ) , b } } , endDrawing : function ( ) { this . ctx . restore ( ) ; G . clear ( ) ; this . textLayer && this . textLayer . endLayout ( ) ; this . imageLayer && this . imageLayer . endLayout ( ) } , setLineWidth : function ( a ) { this . current . lineWidth = a ; this . ctx . lineWidth = a } , setLineCap : function ( a ) { this . ctx . lineCap = c [ a ] } , setLineJoin : function ( a ) { this . ctx . lineJoin = e [ a ] } , setMiterLimit : function ( a ) { this . ctx . miterLimit = a } , setDash : function ( a , b ) { var c = this . ctx ; "setLineDash" in c ? ( c . setLineDash ( a ) , c . lineDashOffset = b ) : ( c . mozDash = a , c . mozDashOffset = b ) } , setRenderingIntent : function ( a ) { } ,
setFlatness : function ( a ) { } , setGState : function ( a ) { for ( var b = 0 , c = a . length ; b < c ; b ++ ) { var d = a [ b ] , e = d [ 1 ] ; switch ( d [ 0 ] ) { case "LW" : this . setLineWidth ( e ) ; break ; case "LC" : this . setLineCap ( e ) ; break ; case "LJ" : this . setLineJoin ( e ) ; break ; case "ML" : this . setMiterLimit ( e ) ; break ; case "D" : this . setDash ( e [ 0 ] , e [ 1 ] ) ; break ; case "RI" : this . setRenderingIntent ( e ) ; break ; case "FL" : this . setFlatness ( e ) ; break ; case "Font" : this . setFont ( e [ 0 ] , e [ 1 ] ) ; break ; case "CA" : this . current . strokeAlpha = d [ 1 ] ; break ; case "ca" : this . current . fillAlpha = d [ 1 ] ;
this . ctx . globalAlpha = d [ 1 ] ; break ; case "BM" : e && e . name && "Normal" !== e . name ? ( d = e . name . replace ( /([A-Z])/g , function ( a ) { return "-" + a . toLowerCase ( ) } ) . substring ( 1 ) , this . ctx . globalCompositeOperation = d , this . ctx . globalCompositeOperation !== d && F ( 'globalCompositeOperation "' + d + '" is not supported' ) ) : this . ctx . globalCompositeOperation = "source-over" } } } , save : function ( ) { this . ctx . save ( ) ; var a = this . current ; this . stateStack . push ( a ) ; this . current = a . clone ( ) } , restore : function ( ) { var a = this . stateStack . pop ( ) ; a && ( this . current = a , this . ctx . restore ( ) ) } ,
transform : function ( a , b , c , d , e , g ) { this . ctx . transform ( a , b , c , d , e , g ) } , moveTo : function ( a , b ) { this . ctx . moveTo ( a , b ) ; this . current . setCurrentPoint ( a , b ) } , lineTo : function ( a , b ) { this . ctx . lineTo ( a , b ) ; this . current . setCurrentPoint ( a , b ) } , curveTo : function ( a , b , c , d , e , g ) { this . ctx . bezierCurveTo ( a , b , c , d , e , g ) ; this . current . setCurrentPoint ( e , g ) } , curveTo2 : function ( a , b , c , d ) { var e = this . current ; this . ctx . bezierCurveTo ( e . x , e . y , a , b , c , d ) ; e . setCurrentPoint ( c , d ) } , curveTo3 : function ( a , b , c , d ) { this . curveTo ( a , b , c , d , c , d ) ; this . current . setCurrentPoint ( c ,
d ) } , closePath : function ( ) { this . ctx . closePath ( ) } , rectangle : function ( a , b , c , d ) { this . ctx . rect ( a , b , c , d ) } , stroke : function ( a ) { a = "undefined" !== typeof a ? a : ! 0 ; var b = this . ctx , c = this . current . strokeColor ; 0 === this . current . lineWidth && ( b . lineWidth = this . getSinglePixelWidth ( ) ) ; b . globalAlpha = this . current . strokeAlpha ; c && c . hasOwnProperty ( "type" ) && "Pattern" === c . type ? ( b . save ( ) , b . strokeStyle = c . getPattern ( b , this ) , b . stroke ( ) , b . restore ( ) ) : b . stroke ( ) ; a && this . consumePath ( ) ; b . globalAlpha = this . current . fillAlpha } , closeStroke : function ( ) { this . closePath ( ) ;
this . stroke ( ) } , fill : function ( a ) { a = "undefined" !== typeof a ? a : ! 0 ; var b = this . ctx , c = this . current . fillColor , d = ! 1 ; c && c . hasOwnProperty ( "type" ) && "Pattern" === c . type && ( b . save ( ) , b . fillStyle = c . getPattern ( b , this ) , d = ! 0 ) ; if ( this . pendingEOFill ) { if ( "mozFillRule" in this . ctx ) this . ctx . mozFillRule = "evenodd" , this . ctx . fill ( ) , this . ctx . mozFillRule = "nonzero" ; else try { this . ctx . fill ( "evenodd" ) } catch ( e ) { this . ctx . fill ( ) } this . pendingEOFill = ! 1 } else this . ctx . fill ( ) ; d && b . restore ( ) ; a && this . consumePath ( ) } , eoFill : function ( ) { this . pendingEOFill =
! 0 ; this . fill ( ) } , fillStroke : function ( ) { this . fill ( ! 1 ) ; this . stroke ( ! 1 ) ; this . consumePath ( ) } , eoFillStroke : function ( ) { this . pendingEOFill = ! 0 ; this . fillStroke ( ) } , closeFillStroke : function ( ) { this . closePath ( ) ; this . fillStroke ( ) } , closeEOFillStroke : function ( ) { this . pendingEOFill = ! 0 ; this . closePath ( ) ; this . fillStroke ( ) } , endPath : function ( ) { this . consumePath ( ) } , clip : function ( ) { this . pendingClip = d } , eoClip : function ( ) { this . pendingClip = g } , beginText : function ( ) { this . current . textMatrix = ha ; this . current . x = this . current . lineX = 0 ; this . current . y =
this . current . lineY = 0 } , endText : function ( ) { if ( "pendingTextPaths" in this ) { var a = this . pendingTextPaths , b = this . ctx ; b . save ( ) ; b . beginPath ( ) ; for ( var c = 0 ; c < a . length ; c ++ ) { var d = a [ c ] ; b . setTransform . apply ( b , d . transform ) ; b . translate ( d . x , d . y ) ; d . addToPath ( b , d . fontSize ) } b . restore ( ) ; b . clip ( ) ; b . beginPath ( ) ; delete this . pendingTextPaths } else this . ctx . beginPath ( ) } , setCharSpacing : function ( a ) { this . current . charSpacing = a } , setWordSpacing : function ( a ) { this . current . wordSpacing = a } , setHScale : function ( a ) { this . current . textHScale =
a / 100 } , setLeading : function ( a ) { this . current . leading = - a } , setFont : function ( a , b ) { var c = this . commonObjs . get ( a ) , d = this . current ; c || m ( "Can't find font for " + a ) ; d . fontMatrix = c . fontMatrix ? c . fontMatrix : $ ; 0 !== d . fontMatrix [ 0 ] && 0 !== d . fontMatrix [ 3 ] || F ( "Invalid font matrix for font " + a ) ; 0 > b ? ( b = - b , d . fontDirection = - 1 ) : d . fontDirection = 1 ; this . current . font = c ; this . current . fontSize = b ; if ( ! c . coded ) { var d = c . black ? c . bold ? "bolder" : "bold" : c . bold ? "bold" : "normal" , e = c . italic ? "italic" : "normal" , c = '"' + ( c . loadedName || "sans-serif" ) +
'", ' + c . fallbackName , g = 16 <= b ? b : 16 ; this . current . fontSizeScale = 16 != g ? 1 : b / 16 ; this . ctx . font = e + " " + d + " " + g + "px " + c } } , setTextRenderingMode : function ( a ) { this . current . textRenderingMode = a } , setTextRise : function ( a ) { this . current . textRise = a } , moveText : function ( a , b ) { this . current . x = this . current . lineX += a ; this . current . y = this . current . lineY += b } , setLeadingMoveText : function ( a , b ) { this . setLeading ( - b ) ; this . moveText ( a , b ) } , setTextMatrix : function ( a , b , c , d , e , g ) { this . current . textMatrix = [ a , b , c , d , e , g ] ; this . current . x = this . current . lineX =
0 ; this . current . y = this . current . lineY = 0 } , nextLine : function ( ) { this . moveText ( 0 , this . current . leading ) } , applyTextTransforms : function ( ) { var a = this . ctx , b = this . current ; a . transform . apply ( a , b . textMatrix ) ; a . translate ( b . x , b . y + b . textRise ) ; 0 < b . fontDirection ? a . scale ( b . textHScale , - 1 ) : a . scale ( - b . textHScale , 1 ) } , createTextGeometry : function ( ) { var a = { } , b = this . current . font , c = this . ctx . mozCurrentTransform , d = c [ 0 ] , e = c [ 1 ] , g = c [ 2 ] , m = c [ 3 ] , q = c [ 4 ] , c = c [ 5 ] , r = 0 <= d ? Math . sqrt ( d * d + e * e ) : - Math . sqrt ( d * d + e * e ) , g = 0 <= m ? Math . sqrt ( g * g + m * m ) : - Math . sqrt ( g *
g + m * m ) , d = Math . atan2 ( e , d ) ; a . x = q ; a . y = c ; a . hScale = r ; a . vScale = g ; a . angle = d ; a . spaceWidth = b . spaceWidth ; a . fontName = b . loadedName ; a . fontFamily = b . fallbackName ; a . fontSize = this . current . fontSize ; return a } , paintChar : function ( a , b , c ) { var d = this . ctx , e = this . current , g = e . font , m = e . fontSize / e . fontSizeScale , q = e . textRenderingMode , e = q & 3 , q = ! ! ( q & 4 ) , r ; if ( g . disableFontFace || q ) r = g . getPathGenerator ( this . commonObjs , a ) ; g . disableFontFace ? ( d . save ( ) , d . translate ( b , c ) , d . beginPath ( ) , r ( d , m ) , e !== V && 2 !== e || d . fill ( ) , 1 !== e && 2 !== e || d . stroke ( ) ,
d . restore ( ) ) : ( e !== V && 2 !== e || d . fillText ( a , b , c ) , 1 !== e && 2 !== e || d . strokeText ( a , b , c ) ) ; q && ( this . pendingTextPaths || ( this . pendingTextPaths = [ ] ) ) . push ( { transform : d . mozCurrentTransform , x : b , y : c , fontSize : m , addToPath : r } ) } , showText : function ( a , b ) { var c = this . ctx , d = this . current , e = d . font , g = d . fontSize , m = d . fontSizeScale , q = d . charSpacing , r = d . wordSpacing , p = d . textHScale * d . fontDirection , u = d . fontMatrix || $ , w = a . length , v , E = this . textLayer && ! b ? ! 0 : ! 1 , z = 0 , A = e . vertical , F = e . defaultVMetrics ; if ( e . coded ) { c . save ( ) ; c . transform . apply ( c , d . textMatrix ) ;
c . translate ( d . x , d . y ) ; c . scale ( p , 1 ) ; E && ( this . save ( ) , c . scale ( 1 , - 1 ) , v = this . createTextGeometry ( ) , this . restore ( ) ) ; for ( var I = 0 ; I < w ; ++ I ) { var C = a [ I ] ; if ( null === C ) this . ctx . translate ( r , 0 ) , d . x += r * p ; else { this . processingType3 = C ; this . save ( ) ; c . scale ( g , g ) ; c . transform . apply ( c , u ) ; this . executeOperatorList ( C . operatorList ) ; this . restore ( ) ; var x = ( s . applyTransform ( [ C . width , 0 ] , u ) [ 0 ] * g + q ) * d . fontDirection ; c . translate ( x , 0 ) ; d . x += x * p ; z += x } } c . restore ( ) ; this . processingType3 = null } else { c . save ( ) ; this . applyTextTransforms ( ) ; var I = d . lineWidth ,
u = d . textMatrix [ 0 ] , B = d . textMatrix [ 1 ] , u = Math . sqrt ( u * u + B * B ) , I = 0 === u || 0 === I ? this . getSinglePixelWidth ( ) : I / u ; E && ( v = this . createTextGeometry ( ) ) ; 1 != m && ( c . scale ( m , m ) , I /= m ) ; c . lineWidth = I ; for ( I = u = 0 ; I < w ; ++ I ) if ( C = a [ I ] , null === C ) u += d . fontDirection * r ; else { var B = ! 1 , H = C . fontChar , D = C . vmetric || F ; if ( A ) var L = C . vmetric ? D [ 1 ] : 0.5 * C . width , L = - L * g * d . fontMatrix [ 0 ] , M = D [ 2 ] * g * d . fontMatrix [ 0 ] ; var x = D ? - D [ 0 ] : C . width , D = x * g * d . fontMatrix [ 0 ] + q * d . fontDirection , G = C . accent , J , K ; C . disabled || ( A ? ( C = L / m , J = ( u + M ) / m ) : ( C = u / m , J = 0 ) , e . remeasure && 0 < x &&
( B = 1E3 * c . measureText ( H ) . width / d . fontSize * d . fontSizeScale , x /= B , B = ! 0 , c . save ( ) , c . scale ( x , 1 ) , C /= x , G && ( K /= x ) ) , this . paintChar ( H , C , J ) , G && ( K = C + G . offset . x / m , H = J - G . offset . y / m , this . paintChar ( G . fontChar , K , H ) ) ) ; u += D ; z += D ; B && c . restore ( ) } A ? d . y -= u * p : d . x += u * p ; c . restore ( ) } E && ( v . canvasWidth = z , A && ( v . angle += Math . PI / 2 ) , this . textLayer . appendText ( v ) ) ; return z } , showSpacedText : function ( a ) { var b = this . ctx , c = this . current , d = c . fontSize , e = 0.0010 * c . textHScale * c . fontDirection , g = a . length , m , q = 0 , r = this . textLayer ? ! 0 : ! 1 , s = c . font . vertical ,
u = 0 ; r && ( b . save ( ) , this . applyTextTransforms ( ) , m = this . createTextGeometry ( ) , b . restore ( ) ) ; for ( b = 0 ; b < g ; ++ b ) { var p = a [ b ] ; "number" == typeof p ? ( p = - p * d * e , s ? c . y += p : c . x += p , r && ( u += p ) ) : ( p = this . showText ( p , ! 0 ) , r && ( q += u + p , u = 0 ) ) } r && ( m . canvasWidth = q , s && ( m . angle += Math . PI / 2 ) , this . textLayer . appendText ( m ) ) } , nextLineShowText : function ( a ) { this . nextLine ( ) ; this . showText ( a ) } , nextLineSetSpacingShowText : function ( a , b , c ) { this . setWordSpacing ( a ) ; this . setCharSpacing ( b ) ; this . nextLineShowText ( c ) } , setCharWidth : function ( a , b ) { } , setCharWidthAndBounds : function ( a ,
b , c , d , e , g ) { this . rectangle ( c , d , e - c , g - d ) ; this . clip ( ) ; this . endPath ( ) } , setStrokeColorSpace : function ( a ) { this . current . strokeColorSpace = p . fromIR ( a ) } , setFillColorSpace : function ( a ) { this . current . fillColorSpace = p . fromIR ( a ) } , setStrokeColor : function ( ) { var a = this . current . strokeColorSpace . getRgb ( arguments , 0 ) , a = s . makeCssRgb ( a ) ; this . ctx . strokeStyle = a ; this . current . strokeColor = a } , getColorN _Pattern : function ( a , b ) { if ( "TilingPattern" == a [ 0 ] ) { var c = a [ 1 ] , d = b . base , e ; d && ( e = d . getRgb ( c , 0 ) ) ; c = new Aa ( a , e , this . ctx , this . objs , this . commonObjs ,
this . baseTransform ) } else "RadialAxial" == a [ 0 ] || "Dummy" == a [ 0 ] ? c = ja . shadingFromIR ( a ) : m ( "Unkown IR type " + a [ 0 ] ) ; return c } , setStrokeColorN : function ( ) { var a = this . current . strokeColorSpace ; "Pattern" == a . name ? this . current . strokeColor = this . getColorN _Pattern ( arguments , a ) : this . setStrokeColor . apply ( this , arguments ) } , setFillColor : function ( ) { var a = this . current . fillColorSpace . getRgb ( arguments , 0 ) , a = s . makeCssRgb ( a ) ; this . ctx . fillStyle = a ; this . current . fillColor = a } , setFillColorN : function ( ) { var a = this . current . fillColorSpace ;
"Pattern" == a . name ? this . current . fillColor = this . getColorN _Pattern ( arguments , a ) : this . setFillColor . apply ( this , arguments ) } , setStrokeGray : function ( a ) { this . current . strokeColorSpace = p . singletons . gray ; var b = this . current . strokeColorSpace . getRgb ( arguments , 0 ) , b = s . makeCssRgb ( b ) ; this . ctx . strokeStyle = b ; this . current . strokeColor = b } , setFillGray : function ( a ) { this . current . fillColorSpace = p . singletons . gray ; var b = this . current . fillColorSpace . getRgb ( arguments , 0 ) , b = s . makeCssRgb ( b ) ; this . ctx . fillStyle = b ; this . current . fillColor =
b } , setStrokeRGBColor : function ( a , b , c ) { this . current . strokeColorSpace = p . singletons . rgb ; var d = this . current . strokeColorSpace . getRgb ( arguments , 0 ) , d = s . makeCssRgb ( d ) ; this . ctx . strokeStyle = d ; this . current . strokeColor = d } , setFillRGBColor : function ( a , b , c ) { this . current . fillColorSpace = p . singletons . rgb ; var d = this . current . fillColorSpace . getRgb ( arguments , 0 ) , d = s . makeCssRgb ( d ) ; this . ctx . fillStyle = d ; this . current . fillColor = d } , setStrokeCMYKColor : function ( a , b , c , d ) { this . current . strokeColorSpace = p . singletons . cmyk ; var e = s . makeCssCmyk ( arguments ) ;
this . ctx . strokeStyle = e ; this . current . strokeColor = e } , setFillCMYKColor : function ( a , b , c , d ) { this . current . fillColorSpace = p . singletons . cmyk ; var e = s . makeCssCmyk ( arguments ) ; this . ctx . fillStyle = e ; this . current . fillColor = e } , shadingFill : function ( a ) { var b = this . ctx ; this . save ( ) ; a = ja . shadingFromIR ( a ) ; b . fillStyle = a . getPattern ( b , this ) ; var c = b . mozCurrentTransformInverse ; if ( c ) { var b = b . canvas , d = b . width , e = b . height , b = s . applyTransform ( [ 0 , 0 ] , c ) ; a = s . applyTransform ( [ 0 , e ] , c ) ; var g = s . applyTransform ( [ d , 0 ] , c ) , m = s . applyTransform ( [ d ,
e ] , c ) , c = Math . min ( b [ 0 ] , a [ 0 ] , g [ 0 ] , m [ 0 ] ) , d = Math . min ( b [ 1 ] , a [ 1 ] , g [ 1 ] , m [ 1 ] ) , e = Math . max ( b [ 0 ] , a [ 0 ] , g [ 0 ] , m [ 0 ] ) , b = Math . max ( b [ 1 ] , a [ 1 ] , g [ 1 ] , m [ 1 ] ) ; this . ctx . fillRect ( c , d , e - c , b - d ) } else this . ctx . fillRect ( - 1E10 , - 1E10 , 2E10 , 2E10 ) ; this . restore ( ) } , beginInlineImage : function ( ) { m ( "Should not call beginInlineImage" ) } , beginImageData : function ( ) { m ( "Should not call beginImageData" ) } , paintFormXObjectBegin : function ( a , b ) { this . save ( ) ; this . current . paintFormXObjectDepth ++ ; this . baseTransformStack . push ( this . baseTransform ) ; a && B ( a ) && 6 ==
a . length && this . transform . apply ( this , a ) ; this . baseTransform = this . ctx . mozCurrentTransform ; b && B ( b ) && 4 == b . length && ( this . rectangle ( b [ 0 ] , b [ 1 ] , b [ 2 ] - b [ 0 ] , b [ 3 ] - b [ 1 ] ) , this . clip ( ) , this . endPath ( ) ) } , paintFormXObjectEnd : function ( ) { var a = this . current . paintFormXObjectDepth ; do this . restore ( ) ; while ( this . current . paintFormXObjectDepth >= a ) ; this . baseTransform = this . baseTransformStack . pop ( ) } , beginGroup : function ( a ) { this . save ( ) ; var b = this . ctx ; a . isolated || S ( "TODO: Support non-isolated groups." ) ; a . knockout && K ( "Support knockout groups." ) ;
var c = b . mozCurrentTransform ; a . matrix && b . transform . apply ( b , a . matrix ) ; a . bbox || m ( "Bounding box is required." ) ; var d = s . getAxialAlignedBoundingBox ( a . bbox , b . mozCurrentTransform ) ; a = Math . max ( Math . ceil ( d [ 2 ] - d [ 0 ] ) , 1 ) ; var e = Math . max ( Math . ceil ( d [ 3 ] - d [ 1 ] ) , 1 ) ; a = G . getCanvas ( "groupAt" + this . groupLevel , a , e , ! 0 ) . context ; e = d [ 0 ] ; d = d [ 1 ] ; a . translate ( - e , - d ) ; a . transform . apply ( a , c ) ; b . setTransform ( 1 , 0 , 0 , 1 , 0 , 0 ) ; b . translate ( e , d ) ; c = "strokeStyle fillStyle fillRule globalAlpha lineWidth lineCap lineJoin miterLimit globalCompositeOperation font" . split ( " " ) ;
d = 0 ; for ( e = c . length ; d < e ; d ++ ) { var g = c [ d ] ; g in b && ( a [ g ] = b [ g ] ) } "setLineDash" in b ? ( a . setLineDash ( b . getLineDash ( ) ) , a . lineDashOffset = b . lineDashOffset ) : "mozDash" in b && ( a . mozDash = b . mozDash , a . mozDashOffset = b . mozDashOffset ) ; this . ctx = a ; this . setGState ( [ [ "SMask" , "None" ] , [ "BM" , "Normal" ] , [ "ca" , 1 ] , [ "CA" , 1 ] ] ) ; this . groupStack . push ( b ) ; this . groupLevel ++ } , endGroup : function ( a ) { this . groupLevel -- ; a = this . ctx ; this . ctx = this . groupStack . pop ( ) ; "imageSmoothingEnabled" in this . ctx ? this . ctx . imageSmoothingEnabled = ! 1 : this . ctx . mozImageSmoothingEnabled =
! 1 ; this . ctx . drawImage ( a . canvas , 0 , 0 ) ; this . restore ( ) } , beginAnnotations : function ( ) { this . save ( ) ; this . current = new ma } , endAnnotations : function ( ) { this . restore ( ) } , beginAnnotation : function ( a , b , c ) { this . save ( ) ; a && B ( a ) && 4 == a . length && ( this . rectangle ( a [ 0 ] , a [ 1 ] , a [ 2 ] - a [ 0 ] , a [ 3 ] - a [ 1 ] ) , this . clip ( ) , this . endPath ( ) ) ; this . transform . apply ( this , b ) ; this . transform . apply ( this , c ) } , endAnnotation : function ( ) { this . restore ( ) } , paintJpegXObject : function ( a , b , c ) { var d = this . objs . get ( a ) ; d || m ( "Dependent image isn't ready yet" ) ; this . save ( ) ;
var e = this . ctx ; e . scale ( 1 / b , - 1 / c ) ; e . drawImage ( d , 0 , 0 , d . width , d . height , 0 , - c , b , c ) ; this . imageLayer && ( d = e . mozCurrentTransformInverse , e = this . getCanvasPosition ( 0 , 0 ) , this . imageLayer . appendImage ( { objId : a , left : e [ 0 ] , top : e [ 1 ] , width : b / d [ 0 ] , height : c / d [ 3 ] } ) ) ; this . restore ( ) } , paintImageMaskXObject : function ( b ) { var c = this . ctx , d = b . width , e = b . height , g = this . processingType3 ; ! g || "compiled" in g || ( g . compiled = 1E3 >= d && 1E3 >= e ? ra ( { data : b . data , width : d , height : e } ) : null ) ; g && g . compiled ? g . compiled ( c ) : ( c = G . getCanvas ( "maskCanvas" , d , e ) ,
g = c . context , g . save ( ) , a ( g , b ) , g . globalCompositeOperation = "source-in" , b = this . current . fillColor , g . fillStyle = b && b . hasOwnProperty ( "type" ) && "Pattern" === b . type ? b . getPattern ( g , this ) : b , g . fillRect ( 0 , 0 , d , e ) , g . restore ( ) , this . paintInlineImageXObject ( c . canvas ) ) } , paintImageMaskXObjectGroup : function ( b ) { for ( var c = this . ctx , d = 0 , e = b . length ; d < e ; d ++ ) { var g = b [ d ] , m = g . width , p = g . height , q = G . getCanvas ( "maskCanvas" , m , p ) , r = q . context ; r . save ( ) ; a ( r , g ) ; r . globalCompositeOperation = "source-in" ; var s = this . current . fillColor ; r . fillStyle =
s && s . hasOwnProperty ( "type" ) && "Pattern" === s . type ? s . getPattern ( r , this ) : s ; r . fillRect ( 0 , 0 , m , p ) ; r . restore ( ) ; c . save ( ) ; c . transform . apply ( c , g . transform ) ; c . scale ( 1 , - 1 ) ; c . drawImage ( q . canvas , 0 , 0 , m , p , 0 , - 1 , 1 , 1 ) ; c . restore ( ) } } , paintImageXObject : function ( a ) { ( a = this . objs . get ( a ) ) || m ( "Dependent image isn't ready yet" ) ; this . paintInlineImageXObject ( a ) } , paintInlineImageXObject : function ( b ) { var c = b . width , d = b . height , e = this . ctx ; this . save ( ) ; e . scale ( 1 / c , - 1 / d ) ; var g = e . mozCurrentTransformInverse , m = g [ 0 ] , p = g [ 1 ] , m = Math . max ( Math . sqrt ( m *
m + p * p ) , 1 ) , p = g [ 2 ] , q = g [ 3 ] , p = Math . max ( Math . sqrt ( p * p + q * q ) , 1 ) ; if ( b instanceof HTMLElement ) q = b ; else { var r = G . getCanvas ( "inlineImage" , c , d ) , s = r . context ; a ( s , b ) ; q = r . canvas } for ( var u = c , w = d , v = "prescale1" ; 2 < m && 1 < u || 2 < p && 1 < w ; ) { var x = u , z = w ; 2 < m && 1 < u && ( x = Math . ceil ( u / 2 ) , m /= u / x ) ; 2 < p && 1 < w && ( z = Math . ceil ( w / 2 ) , p /= w / z ) ; r = G . getCanvas ( v , x , z ) ; s = r . context ; s . clearRect ( 0 , 0 , x , z ) ; s . drawImage ( q , 0 , 0 , u , w , 0 , 0 , x , z ) ; q = r . canvas ; u = x ; w = z ; v = "prescale1" === v ? "prescale2" : "prescale1" } e . drawImage ( q , 0 , 0 , u , w , 0 , - d , c , d ) ; this . imageLayer && ( e = this . getCanvasPosition ( 0 ,
- d ) , this . imageLayer . appendImage ( { imgData : b , left : e [ 0 ] , top : e [ 1 ] , width : c / g [ 0 ] , height : d / g [ 3 ] } ) ) ; this . restore ( ) } , paintInlineImageXObjectGroup : function ( b , c ) { var d = this . ctx , e = b . width , g = b . height , m = G . getCanvas ( "inlineImage" , e , g ) ; a ( m . context , b ) ; for ( var p = 0 , q = c . length ; p < q ; p ++ ) { var r = c [ p ] ; d . save ( ) ; d . transform . apply ( d , r . transform ) ; d . scale ( 1 , - 1 ) ; d . drawImage ( m . canvas , r . x , r . y , r . w , r . h , 0 , - 1 , 1 , 1 ) ; this . imageLayer && ( r = this . getCanvasPosition ( r . x , r . y ) , this . imageLayer . appendImage ( { imgData : b , left : r [ 0 ] , top : r [ 1 ] , width : e , height : g } ) ) ;
d . restore ( ) } } , markPoint : function ( a ) { } , markPointProps : function ( a , b ) { } , beginMarkedContent : function ( a ) { } , beginMarkedContentProps : function ( a , b ) { } , endMarkedContent : function ( ) { } , beginCompat : function ( ) { } , endCompat : function ( ) { } , consumePath : function ( ) { if ( this . pendingClip ) { if ( this . pendingClip == g ) if ( "mozFillRule" in this . ctx ) this . ctx . mozFillRule = "evenodd" , this . ctx . clip ( ) , this . ctx . mozFillRule = "nonzero" ; else try { this . ctx . clip ( "evenodd" ) } catch ( a ) { this . ctx . clip ( ) } else this . ctx . clip ( ) ; this . pendingClip = null } this . ctx . beginPath ( ) } ,
getSinglePixelWidth : function ( a ) { a = this . ctx . mozCurrentTransformInverse ; return Math . sqrt ( Math . max ( a [ 0 ] * a [ 0 ] + a [ 1 ] * a [ 1 ] , a [ 2 ] * a [ 2 ] + a [ 3 ] * a [ 3 ] ) ) } , getCanvasPosition : function ( a , b ) { var c = this . ctx . mozCurrentTransform ; return [ c [ 0 ] * a + c [ 2 ] * b + c [ 4 ] , c [ 1 ] * a + c [ 3 ] * b + c [ 5 ] ] } } ; return b } ( ) ; PDFJS . disableFontFace = ! 1 ; var R = { insertRule : function ( b ) { var a = document . getElementById ( "PDFJS_FONT_STYLE_TAG" ) ; a || ( a = document . createElement ( "style" ) , a . id = "PDFJS_FONT_STYLE_TAG" , document . documentElement . getElementsByTagName ( "head" ) [ 0 ] . appendChild ( a ) ) ;
a = a . sheet ; a . insertRule ( b , a . cssRules . length ) } , get loadTestFont ( ) { return W ( this , "loadTestFont" , atob ( "T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQAFQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAAALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgAAAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACMAooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4DIP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAAAAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUAAQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgABAAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABYAAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAAAC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAAAAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQACAQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTjFQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==" ) ) } ,
loadTestFontId : 0 , loadingContext : { requests : [ ] , nextRequestId : 0 } , isSyncFontLoadingSupported : function ( ) { if ( U ) return ! 1 ; var b = /Mozilla\/5.0.*?rv:(\d+).*? Gecko/ . exec ( window . navigator . userAgent ) ; return b && 14 <= b [ 1 ] ? ! 0 : ! 1 } ( ) , bind : function ( b , a ) { U && m ( "bind() shall be called from main thread" ) ; for ( var c = [ ] , e = [ ] , d = 0 , g = b . length ; d < g ; d ++ ) { var f = b [ d ] ; if ( ! f . attached && ! 1 !== f . loading ) { f . attached = ! 0 ; var k = f . bindDOM ( ) ; k && ( c . push ( k ) , e . push ( f ) ) } } d = R . queueLoadingCallback ( a ) ; 0 < c . length && ! this . isSyncFontLoadingSupported ? R . prepareFontLoadEvent ( c ,
e , d ) : d . complete ( ) } , queueLoadingCallback : function ( b ) { var a = R . loadingContext , c = { id : "pdfjs-font-loading-" + a . nextRequestId ++ , complete : function ( ) { c . end && m ( "completeRequest() cannot be called twice" ) ; for ( c . end = Date . now ( ) ; 0 < a . requests . length && a . requests [ 0 ] . end ; ) { var b = a . requests . shift ( ) ; setTimeout ( b . callback , 0 ) } } , callback : b , started : Date . now ( ) } ; a . requests . push ( c ) ; return c } , prepareFontLoadEvent : function ( b , a , c ) { function e ( a , b ) { return a . charCodeAt ( b ) << 24 | a . charCodeAt ( b + 1 ) << 16 | a . charCodeAt ( b + 2 ) << 8 | a . charCodeAt ( b +
3 ) & 255 } function d ( a , b , c , d ) { a = m . substr ( 0 , b ) ; b = m . substr ( b + c ) ; return a + d + b } function g ( a , b ) { l ++ ; 30 < l ? ( F ( "Load test font never loaded." ) , b ( ) ) : ( h . font = "30px " + a , h . fillText ( "." , 0 , 20 ) , 0 < h . getImageData ( 0 , 0 , 1 , 1 ) . data [ 3 ] ? b ( ) : setTimeout ( g . bind ( null , a , b ) ) ) } var f , k ; b = document . createElement ( "canvas" ) ; b . width = 1 ; b . height = 1 ; var h = b . getContext ( "2d" ) , l = 0 ; b = "lt" + Date . now ( ) + this . loadTestFontId ++ ; var m = this . loadTestFont , m = d ( m , 976 , b . length , b ) , p = e ( m , 16 ) ; f = 0 ; for ( k = b . length - 3 ; f < k ; f += 4 ) p = p - 1482184792 + e ( b , f ) | 0 ; f < b . length && ( p =
p - 1482184792 + e ( b + "XXX" , f ) | 0 ) ; m = d ( m , 16 , 4 , String . fromCharCode ( p >> 24 & 255 ) + String . fromCharCode ( p >> 16 & 255 ) + String . fromCharCode ( p >> 8 & 255 ) + String . fromCharCode ( p & 255 ) ) ; f = "url(data:font/opentype;base64," + btoa ( m ) + ");" ; R . insertRule ( '@font-face { font-family:"' + b + '";src:' + f + "}" ) ; p = [ ] ; f = 0 ; for ( k = a . length ; f < k ; f ++ ) p . push ( a [ f ] . loadedName ) ; p . push ( b ) ; var s = document . createElement ( "div" ) ; s . setAttribute ( "style" , "visibility: hidden;width: 10px; height: 10px;position: absolute; top: 0px; left: 0px;" ) ; f = 0 ; for ( k = p . length ; f <
k ; ++ f ) a = document . createElement ( "span" ) , a . textContent = "Hi" , a . style . fontFamily = p [ f ] , s . appendChild ( a ) ; document . body . appendChild ( s ) ; g ( b , function ( ) { document . body . removeChild ( s ) ; c . complete ( ) } ) } } , Oa = function ( ) { function b ( a , b , e ) { this . compiledGlyphs = { } ; if ( 1 === arguments . length ) { var d = arguments [ 0 ] , g ; for ( g in d ) this [ g ] = d [ g ] } } b . prototype = { bindDOM : function ( ) { if ( ! this . data ) return null ; if ( PDFJS . disableFontFace ) return this . disableFontFace = ! 0 , null ; for ( var a = this . data , b = "" , e = a . length , d = 0 ; d < e ; ++ d ) b += String . fromCharCode ( a [ d ] ) ;
a = this . loadedName ; b = "url(data:" + this . mimetype + ";base64," + window . btoa ( b ) + ");" ; a = '@font-face { font-family:"' + a + '";src:' + b + "}" ; R . insertRule ( a ) ; PDFJS . pdfBug && "FontInspector" in v && v . FontInspector . enabled && v . FontInspector . fontAdded ( this , b ) ; return a } , getPathGenerator : function ( a , b ) { if ( ! ( b in this . compiledGlyphs ) ) { var e = a . get ( this . loadedName + "_path_" + b ) ; this . compiledGlyphs [ b ] = new Function ( "c" , "size" , e ) } return this . compiledGlyphs [ b ] } } ; return b } ( ) } ) . call ( "undefined" === typeof window ? this : window ) ;
PDFJS . workerSrc || "undefined" === typeof document || ( PDFJS . workerSrc = function ( ) { var D = ( document . body || document . getElementsByTagName ( "head" ) [ 0 ] ) . lastChild . src ; return D && D . replace ( /\.js$/i , ".worker.js" ) } ( ) ) ;