{"version":3,"sources":["webpack:///./node_modules/pdfjs-dist/build/pdf.js"],"names":["root","factory","module","exports","this","modules","installedModules","__w_pdfjs_require__","moduleId","i","l","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","pdfjsSharedUtil","pdfjsDisplayAPI","pdfjsDisplayTextLayer","pdfjsDisplayAnnotationLayer","pdfjsDisplayDOMUtils","pdfjsDisplaySVG","pdfjsDisplayWorkerOptions","pdfjsDisplayAPICompatibility","isNodeJS","PDFNodeStream","setPDFNetworkStreamFactory","params","Response","ReadableStream","PDFFetchStream","PDFNetworkStream","build","version","getDocument","LoopbackPort","PDFDataRangeTransport","PDFWorker","renderTextLayer","AnnotationLayer","createPromiseCapability","PasswordResponses","InvalidPDFException","MissingPDFException","SVGGraphics","NativeImageDecoding","CMapCompressionType","PermissionFlag","UnexpectedResponseException","OPS","VerbosityLevel","UNSUPPORTED_FEATURES","createValidAbsoluteUrl","createObjectURL","removeNullCharacters","shadow","Util","URL","RenderingCancelledException","getFilenameFromUrl","LinkTarget","addLinkAttributes","loadScript","GlobalWorkerOptions","apiCompatibilityParams","unreachable","warn","utf8StringToString","stringToUTF8String","stringToPDFString","stringToBytes","string32","setVerbosityLevel","readUint32","readUint16","readInt8","log2","isEvalSupported","isLittleEndian","isSameOrigin","isSpace","isString","isNum","isEmptyObj","isBool","isArrayBuffer","info","getVerbosityLevel","getLookupTableFactory","getInheritableProperty","deprecated","bytesToString","assert","arraysToBytes","arrayByteLength","FormatError","XRefParseException","toRomanNumerals","UnknownErrorException","TextRenderingMode","StreamType","PasswordException","MissingDataException","AbortException","ImageKind","FontType","AnnotationType","AnnotationFlag","AnnotationFieldFlag","AnnotationBorderStyleType","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","undefined","_typeof","iterator","obj","constructor","_streams_polyfill","_url_polyfill","NONE","DECODE","DISPLAY","PRINT","MODIFY_CONTENTS","COPY","MODIFY_ANNOTATIONS","FILL_INTERACTIVE_FORMS","COPY_FOR_ACCESSIBILITY","ASSEMBLE","PRINT_HIGH_QUALITY","FILL","STROKE","FILL_STROKE","INVISIBLE","FILL_ADD_TO_PATH","STROKE_ADD_TO_PATH","FILL_STROKE_ADD_TO_PATH","ADD_TO_PATH","FILL_STROKE_MASK","ADD_TO_PATH_FLAG","GRAYSCALE_1BPP","RGB_24BPP","RGBA_32BPP","TEXT","LINK","FREETEXT","LINE","SQUARE","CIRCLE","POLYGON","POLYLINE","HIGHLIGHT","UNDERLINE","SQUIGGLY","STRIKEOUT","STAMP","CARET","INK","POPUP","FILEATTACHMENT","SOUND","MOVIE","WIDGET","SCREEN","PRINTERMARK","TRAPNET","WATERMARK","THREED","REDACT","HIDDEN","NOZOOM","NOROTATE","NOVIEW","READONLY","LOCKED","TOGGLENOVIEW","LOCKEDCONTENTS","REQUIRED","NOEXPORT","MULTILINE","PASSWORD","NOTOGGLETOOFF","RADIO","PUSHBUTTON","COMBO","EDIT","SORT","FILESELECT","MULTISELECT","DONOTSPELLCHECK","DONOTSCROLL","COMB","RICHTEXT","RADIOSINUNISON","COMMITONSELCHANGE","SOLID","DASHED","BEVELED","INSET","UNKNOWN","FLATE","LZW","DCT","JPX","JBIG","A85","AHX","CCF","RL","TYPE1","TYPE1C","CIDFONTTYPE0","CIDFONTTYPE0C","TRUETYPE","CIDFONTTYPE2","TYPE3","OPENTYPE","TYPE0","MMTYPE1","ERRORS","WARNINGS","INFOS","BINARY","STREAM","dependency","setLineWidth","setLineCap","setLineJoin","setMiterLimit","setDash","setRenderingIntent","setFlatness","setGState","save","restore","transform","moveTo","lineTo","curveTo","curveTo2","curveTo3","closePath","rectangle","stroke","closeStroke","fill","eoFill","fillStroke","eoFillStroke","closeFillStroke","closeEOFillStroke","endPath","clip","eoClip","beginText","endText","setCharSpacing","setWordSpacing","setHScale","setLeading","setFont","setTextRenderingMode","setTextRise","moveText","setLeadingMoveText","setTextMatrix","nextLine","showText","showSpacedText","nextLineShowText","nextLineSetSpacingShowText","setCharWidth","setCharWidthAndBounds","setStrokeColorSpace","setFillColorSpace","setStrokeColor","setStrokeColorN","setFillColor","setFillColorN","setStrokeGray","setFillGray","setStrokeRGBColor","setFillRGBColor","setStrokeCMYKColor","setFillCMYKColor","shadingFill","beginInlineImage","beginImageData","endInlineImage","paintXObject","markPoint","markPointProps","beginMarkedContent","beginMarkedContentProps","endMarkedContent","beginCompat","endCompat","paintFormXObjectBegin","paintFormXObjectEnd","beginGroup","endGroup","beginAnnotations","endAnnotations","beginAnnotation","endAnnotation","paintJpegXObject","paintImageMaskXObject","paintImageMaskXObjectGroup","paintImageXObject","paintInlineImageXObject","paintInlineImageXObjectGroup","paintImageXObjectRepeat","paintImageMaskXObjectRepeat","paintSolidColorImageMask","constructPath","unknown","forms","javaScript","smask","shadingPattern","font","NEED_PASSWORD","INCORRECT_PASSWORD","verbosity","level","Number","isInteger","msg","console","log","details","Error","cond","baseUrl","otherUrl","base","origin","e","other","_isValidProtocol","url","protocol","absoluteUrl","ex","prop","configurable","writable","initializer","lookup","code","message","status","begin","end","NullCharactersRegExp","str","replace","bytes","length","MAX_ARGUMENT_COUNT","String","fromCharCode","apply","strBuf","chunkEnd","Math","min","chunk","subarray","push","join","Uint8Array","charCodeAt","arr","byteLength","item","itemLength","resultLength","ii","pos","data","set","x","ceil","start","offset","buffer8","view32","Uint32Array","buffer","Function","_ref","dict","_ref$getArray","getArray","_ref$stopWhenFound","stopWhenFound","LOOP_LIMIT","loopCount","values","rgbBuf","makeCssRgb","g","b","m1","m2","applyTransform","xt","yt","applyInverseTransform","getAxialAlignedBoundingBox","p1","p2","slice","p3","p4","max","inverseTransform","apply3dTransform","v","singularValueDecompose2dScale","transpose","a","first","second","sqrt","sx","sy","normalizeRect","rect","intersect","rect1","rect2","compare","orderedX","sort","orderedY","result","ROMAN_NUMBER_MAP","number","lowerCase","arguments","romanBuf","romanStr","toLowerCase","PDFStringTranslateTable","charAt","decodeURIComponent","escape","unescape","encodeURIComponent","ch","capability","promise","Promise","resolve","reject","digits","contentType","forceDataSchema","blob","Blob","type","b1","b2","b3","d1","d2","d3","d4","globalScope","_pdfjsCompatibilityChecked","hasDOM","window","document","btoa","chars","Buffer","from","toString","atob","input","scripts","getElementsByTagName","Element","remove","parentNode","removeChild","div","createElement","classList","toggle","originalDOMTokenListToggle","DOMTokenList","token","force","includes","Array","assign","isNaN","WeakMap","codePointAt","fromCodePoint","global","self","process","$export","context","INCLUDES","P","F","searchString","indexOf","core","hide","redefine","ctx","PROTOTYPE","source","own","out","exp","IS_FORCED","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","IS_BIND","B","target","expProto","U","W","R","__g","__e","dP","createDesc","f","anObject","IE8_DOM_DEFINE","toPrimitive","O","Attributes","TypeError","isObject","it","exec","is","fn","val","valueOf","bitmap","has","SRC","TO_STRING","$toString","TPL","split","inspectSource","safe","isFunction","id","px","random","concat","aFunction","that","isRegExp","defined","NAME","cof","MATCH","store","uid","_Symbol","USE_SYMBOL","$exports","SHARED","copyright","KEY","re","$includes","el","toIObject","toLength","toAbsoluteIndex","IS_INCLUDES","$this","fromIndex","index","IObject","propertyIsEnumerable","toInteger","floor","UNSCOPABLES","ArrayProto","getKeys","gOPS","pIE","toObject","$assign","A","K","forEach","k","keys","T","aLen","getSymbols","isEnum","j","$keys","enumBugKeys","arrayIndexOf","IE_PROTO","names","shared","getOwnPropertySymbols","LN2","isFinite","classof","test","TAG","ARG","tryGet","callee","$at","iterated","_t","_i","point","done","LIBRARY","Iterators","$iterCreate","setToStringTag","getPrototypeOf","ITERATOR","BUGGY","FF_ITERATOR","KEYS","VALUES","returnThis","Base","Constructor","next","DEFAULT","IS_SET","FORCED","methods","IteratorPrototype","getMethod","kind","proto","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","entries","descriptor","dPs","Empty","_createDict","iframeDocument","iframe","lt","gt","style","display","appendChild","src","contentWindow","open","write","close","Properties","defineProperties","documentElement","def","tag","stat","ObjectProto","$iterators","wks","TO_STRING_TAG","ArrayValues","DOMIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","collections","explicit","Collection","addToUnscopables","step","_k","Arguments","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","anInstance","forOf","speciesConstructor","task","microtask","newPromiseCapabilityModule","perform","userAgent","promiseResolve","PROMISE","versions","v8","$Promise","isNode","empty","newPromiseCapability","USE_NATIVE","FakePromise","PromiseRejectionEvent","then","isThenable","notify","isReject","_n","chain","_c","_v","ok","_s","run","reaction","exited","handler","fail","domain","_h","onHandleUnhandled","enter","exit","onUnhandled","unhandled","isUnhandled","emit","onunhandledrejection","reason","error","_a","onrejectionhandled","$reject","_d","_w","$resolve","wrapper","executor","err","onFulfilled","onRejected","C","$$reject","iter","all","iterable","remaining","$index","alreadyCalled","race","forbiddenField","isArrayIter","getIterFn","BREAK","RETURN","_exports","iterFn","ret","getIteratorMethod","SPECIES","D","defer","channel","port","invoke","html","cel","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","counter","queue","ONREADYSTATECHANGE","listener","event","args","nextTick","now","port2","port1","onmessage","postMessage","addEventListener","importScripts","setTimeout","clear","un","macrotask","Observer","MutationObserver","WebKitMutationObserver","head","last","flush","parent","navigator","standalone","node","createTextNode","observe","characterData","PromiseCapability","$$resolve","promiseCapability","DESCRIPTORS","SAFE_CLOSING","riter","skipClosing","onFinally","callbackfn","InternalMap","each","meta","weak","fails","validate","WEAK_MAP","getWeak","isExtensible","uncaughtFrozenStore","ufstore","tmp","$WeakMap","freeze","getConstructor","NEED","method","_f","asc","TYPE","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","res","original","isArray","arg","META","setDesc","FREEZE","preventExtensions","setMeta","w","fastKey","onFreeze","redefineAll","createArrayMethod","$has","arrayFind","arrayFindIndex","_l","UncaughtFrozenStore","findUncaughtFrozen","entry","splice","ADDER","$iterDetect","inheritIfRequired","common","IS_WEAK","fixMethod","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","setStrong","setPrototypeOf","check","buggy","__proto__","gOPD","getOwnPropertyDescriptor","COLLECTION","of","mapping","cb","mapFn","nextItem","$fromCodePoint","RangeError","$fails","wksExt","wksDefine","enumKeys","_create","gOPNExt","$GOPD","$DP","gOPN","$Symbol","$JSON","JSON","_stringify","stringify","TO_PRIMITIVE","SymbolRegistry","AllSymbols","OPSymbols","QObject","setter","findChild","setSymbolDesc","protoDesc","wrap","sym","isSymbol","$defineProperty","$defineProperties","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","$set","es6Symbols","wellKnownSymbols","keyFor","useSetter","useSimple","getOwnPropertyNames","replacer","$replacer","symbols","windowNames","getWindowNames","hiddenKeys","$values","isEntries","isReadableStreamSupported","controller","_typeof2","_require","IsPropertyKey","argument","Call","V","typeIsObject","createDataProperty","createArrayFromList","elements","ArrayBufferCopy","dest","destOffset","srcOffset","CreateIterResultObject","IsFiniteNonNegativeNumber","Infinity","InvokeOrNoop","PromiseInvokeOrNoop","returnValueE","PromiseInvokeOrPerformFallback","argsF","methodE","TransferArrayBuffer","ValidateAndNormalizeHighWaterMark","highWaterMark","ValidateAndNormalizeQueuingStrategy","size","rethrowAssertionErrorRejection","AssertionError","stack","_createClass","props","protoProps","staticProps","_classCallCheck","_require2","_require3","DequeueValue","EnqueueValueWithSize","PeekQueueValue","ResetQueue","WritableStream","underlyingSink","_ref$highWaterMark","_state","_storedError","_writer","_writableStreamController","_writeRequests","_inFlightWriteRequest","_closeRequest","_inFlightCloseRequest","_pendingAbortRequest","_backpressure","WritableStreamDefaultController","__startSteps","IsWritableStream","streamBrandCheckException","IsWritableStreamLocked","WritableStreamAbort","AcquireWritableStreamDefaultWriter","stream","WritableStreamDefaultWriter","state","wasAlreadyErroring","_resolve","_reject","_reason","_wasAlreadyErroring","WritableStreamStartErroring","WritableStreamAddWriteRequest","writeRequest","WritableStreamDealWithRejection","WritableStreamFinishErroring","writer","WritableStreamDefaultWriterEnsureReadyPromiseRejected","WritableStreamHasOperationMarkedInFlight","_started","__errorSteps","storedError","abortRequest","WritableStreamRejectCloseAndClosedPromiseIfNeeded","__abortSteps","WritableStreamFinishInFlightWrite","WritableStreamFinishInFlightWriteWithError","WritableStreamFinishInFlightClose","defaultWriterClosedPromiseResolve","WritableStreamFinishInFlightCloseWithError","WritableStreamCloseQueuedOrInFlight","WritableStreamMarkCloseRequestInFlight","WritableStreamMarkFirstWriteRequestInFlight","shift","defaultWriterClosedPromiseReject","_closedPromise","catch","WritableStreamUpdateBackpressure","backpressure","defaultWriterReadyPromiseReset","defaultWriterReadyPromiseResolve","WritableStreamDefaultControllerError","WritableStreamDefaultWriterCloseWithErrorPropagation","WritableStreamDefaultWriterRelease","WritableStreamDefaultWriterWrite","_ownerWritableStream","defaultWriterReadyPromiseInitialize","defaultWriterReadyPromiseInitializeAsResolved","defaultWriterClosedPromiseInitialize","defaultWriterReadyPromiseInitializeAsRejected","_readyPromise","defaultWriterClosedPromiseInitializeAsResolved","defaultWriterClosedPromiseInitializeAsRejected","IsWritableStreamDefaultWriter","defaultWriterBrandCheckException","defaultWriterLockException","WritableStreamDefaultWriterAbort","WritableStreamDefaultWriterClose","WritableStreamDefaultWriterGetDesiredSize","closeRequest","WritableStreamDefaultControllerClose","WritableStreamDefaultWriterEnsureClosedPromiseRejected","_closedPromiseState","defaultWriterClosedPromiseResetToRejected","_readyPromiseState","defaultWriterReadyPromiseReject","defaultWriterReadyPromiseResetToRejected","WritableStreamDefaultControllerGetDesiredSize","releasedError","chunkSize","WritableStreamDefaultControllerGetChunkSize","WritableStreamDefaultControllerWrite","_controlledWritableStream","_underlyingSink","_queue","_queueTotalSize","normalizedStrategy","_strategySize","_strategyHWM","WritableStreamDefaultControllerGetBackpressure","IsWritableStreamDefaultController","_this","startResult","WritableStreamDefaultControllerAdvanceQueueIfNeeded","strategySize","chunkSizeE","WritableStreamDefaultControllerErrorIfNeeded","writeRecord","enqueueE","WritableStreamDefaultControllerProcessClose","WritableStreamDefaultControllerProcessWrite","sinkClosePromise","sinkWritePromise","desiredSize","_closedPromise_resolve","_closedPromise_reject","_readyPromise_resolve","_readyPromise_reject","container","pair","_require4","_require5","underlyingSource","_reader","_disturbed","_readableStreamController","typeString","ReadableByteStreamController","ReadableStreamDefaultController","IsReadableStream","IsReadableStreamLocked","ReadableStreamCancel","_ref2","AcquireReadableStreamDefaultReader","AcquireReadableStreamBYOBReader","_ref3","options","readable","pipeTo","ifIsObjectAndHasAPromiseIsHandledInternalSlotSetPromiseIsHandledToTrue","_ref4","preventClose","preventAbort","preventCancel","Boolean","reader","shuttingDown","currentWrite","pipeLoop","ReadableStreamDefaultReaderRead","_ref5","isOrBecomesErrored","shutdownWithAction","shutdown","isOrBecomesClosed","destClosed","waitForWritesToFinish","oldCurrentWrite","action","originalIsError","originalError","doTheRest","finalize","newError","isError","ReadableStreamReaderGenericRelease","branches","ReadableStreamTee","ReadableStreamBYOBReader","ReadableStreamDefaultReader","IsReadableStreamDisturbed","cloneForBranch2","teeState","closedOrErrored","canceled1","canceled2","reason1","reason2","pull","create_ReadableStreamTeePullFunction","_teeState","_cloneForBranch2","cancel1","create_ReadableStreamTeeBranch1CancelFunction","_stream","cancel2","create_ReadableStreamTeeBranch2CancelFunction","underlyingSource1","branch1Stream","underlyingSource2","branch2Stream","_branch1","_branch2","ReadableStreamDefaultControllerError","branch1","branch2","ReadableStreamDefaultControllerClose","value1","value2","ReadableStreamDefaultControllerEnqueue","compositeReason","cancelResult","ReadableStreamAddReadIntoRequest","IsReadableStreamBYOBReader","readIntoRequest","_readIntoRequests","ReadableStreamAddReadRequest","IsReadableStreamDefaultReader","readRequest","_readRequests","ReadableStreamClose","sourceCancelPromise","__cancelSteps","defaultReaderClosedPromiseResolve","ReadableStreamError","defaultReaderClosedPromiseReject","ReadableStreamFulfillReadIntoRequest","ReadableStreamFulfillReadRequest","ReadableStreamGetNumReadIntoRequests","ReadableStreamGetNumReadRequests","ReadableStreamHasBYOBReader","ReadableStreamHasDefaultReader","ReadableStreamDefaultControllerGetDesiredSize","ReadableStreamReaderGenericInitialize","defaultReaderBrandCheckException","_ownerReadableStream","readerLockException","ReadableStreamReaderGenericCancel","IsReadableByteStreamController","byobReaderBrandCheckException","view","ArrayBuffer","isView","ReadableStreamBYOBReaderRead","defaultReaderClosedPromiseInitialize","defaultReaderClosedPromiseInitializeAsResolved","defaultReaderClosedPromiseInitializeAsRejected","defaultReaderClosedPromiseResetToRejected","ReadableByteStreamControllerPullInto","__pullSteps","_controlledReadableStream","_underlyingSource","_closeRequested","_pullAgain","_pulling","ReadableStreamDefaultControllerCallPullIfNeeded","ReadableStreamDefaultControllerErrorIfNeeded","IsReadableStreamDefaultController","defaultControllerBrandCheckException","pendingPromise","shouldPull","ReadableStreamDefaultControllerShouldCallPull","pullPromise","ReadableStreamBYOBRequest","_associatedReadableByteStreamController","_view","bytesWritten","IsReadableStreamBYOBRequest","byobRequestBrandCheckException","ReadableByteStreamControllerRespond","ReadableByteStreamControllerRespondWithNewView","underlyingByteSource","_underlyingByteSource","ReadableByteStreamControllerClearPendingPullIntos","autoAllocateChunkSize","_autoAllocateChunkSize","_pendingPullIntos","ReadableByteStreamControllerCallPullIfNeeded","ReadableByteStreamControllerError","byteStreamControllerBrandCheckException","ReadableByteStreamControllerClose","ReadableByteStreamControllerEnqueue","firstDescriptor","bytesFilled","ReadableByteStreamControllerHandleQueueDrain","byteOffset","viewE","bufferE","pullIntoDescriptor","elementSize","ctor","readerType","_byobRequest","ReadableByteStreamControllerGetDesiredSize","ReadableByteStreamControllerShouldCallPull","ReadableByteStreamControllerInvalidateBYOBRequest","ReadableByteStreamControllerCommitPullIntoDescriptor","filledView","ReadableByteStreamControllerConvertPullIntoDescriptor","ReadableByteStreamControllerEnqueueChunkToQueue","ReadableByteStreamControllerFillPullIntoDescriptorFromQueue","currentAlignedBytes","maxBytesToCopy","maxBytesFilled","maxAlignedBytes","totalBytesToCopyRemaining","ready","headOfQueue","bytesToCopy","destStart","ReadableByteStreamControllerFillHeadPullIntoDescriptor","ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue","ReadableByteStreamControllerShiftPendingPullInto","DataView","BYTES_PER_ELEMENT","emptyView","ReadableByteStreamControllerRespondInClosedState","ReadableByteStreamControllerRespondInReadableState","remainderSize","remainder","ReadableByteStreamControllerRespondInternal","firstPendingPullInto","transferredBuffer","transferredView","transformStream","readableStream","writableStream","TransformStream","TransformStreamCloseReadable","_errored","_readableClosed","TransformStreamCloseReadableInternal","TransformStreamEnqueueToReadable","_readableController","TransformStreamErrorIfNeeded","maybeBackpressure","TransformStreamSetBackpressure","TransformStreamError","TransformStreamErrorInternal","_writableDone","_writableController","TransformStreamReadableReadyPromise","_backpressureChangePromise","_backpressureChangePromise_resolve","resolution","TransformStreamDefaultTransform","transformStreamController","_controlledTransformStream","TransformStreamTransform","_transforming","transformer","_transformer","_transformStreamController","transformPromise","IsTransformStreamDefaultController","IsTransformStream","TransformStreamSink","startPromise","_transformStream","_startPromise","flushPromise","TransformStreamSource","TransformStreamDefaultController","readableController","readableStrategy","writableStrategy","startPromise_resolve","_readable","sink","_writable","isURLSupported","u","pathname","href","PolyfillURL","OriginalURL","revokeObjectURL","relative","relativePathDotMapping","isRelativeScheme","scheme","invalid","_isInvalid","IDNAToASCII","h","percentEscape","unicode","percentEscapeQuery","EOF","ALPHA","ALPHANUMERIC","parse","stateOverride","errors","cursor","seenAt","seenBracket","loop","_scheme","_isRelative","_query","_fragment","_schemeData","_host","_port","_path","_username","_password","nextC","nextNextC","pop","cp","tempC","temp","parseInt","JURL","_url","authority","host","_","PDFPageProxy","PDFDocumentProxy","_slicedToArray","sliceIterator","_arr","_e","_util","_dom_utils","_font_loader","_api_compatibility","_canvas","_global_scope","_global_scope2","_interopRequireDefault","_worker_options","_message_handler","_metadata","_transport_stream","_webgl","default","_toConsumableArray","arr2","DEFAULT_RANGE_CHUNK_SIZE","isWorkerDisabled","fallbackWorkerSrc","fakeWorkerFilesLoader","useRequireEnsure","requirejs","toUrl","createPDFNetworkStream","dynamicLoaderSupported","load","worker","WorkerMessageHandler","pdfjsFilePath","currentScript","pdfNetworkStreamFactory","PDFDocumentLoadingTask","range","rangeTransport","pdfBytes","location","rangeChunkSize","CMapReaderFactory","DOMCMapReaderFactory","ignoreErrors","stopAtErrors","pdfBug","NativeImageDecoderValues","nativeImageDecoderSupport","maxImageSize","disableFontFace","disableRange","disableStream","disableAutoFetch","disableCreateObjectURL","workerParams","postMessageTransfers","workerPort","fromPort","_worker","docId","destroyed","_fetchDocument","workerId","networkStream","PDFDataTransportStream","initialData","httpHeaders","withCredentials","messageHandler","MessageHandler","transport","WorkerTransport","_transport","send","_capability","pdfDataRangeTransport","sendWithPromise","apiVersion","password","docBaseUrl","nextDocumentId","onPassword","onProgress","onUnsupportedFeature","destroy","transportDestroyed","_rangeListeners","_progressListeners","_progressiveReadListeners","_readyCapability","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","return","loaded","_this2","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","_this3","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","pdfInfo","loadingTask","_pdfInfo","pageNumber","getPage","ref","getPageIndex","getDestinations","getDestination","getPageLabels","getPageMode","getAttachments","getJavaScript","getOutline","getPermissions","getMetadata","getData","downloadInfoCapability","getStats","startCleanup","numPages","fingerprint","loadingParams","pageIndex","pageInfo","_pageInfo","_stats","StatTimer","DummyStatTimer","_pdfBug","commonObjs","objs","PDFObjects","cleanupAfterRender","pendingCleanup","intentStates","rotate","userUnit","getViewport","scale","dontFlip","PageViewport","viewBox","rotation","getAnnotations","intent","annotationsPromise","annotationsIntent","render","_this4","stats","time","renderingIntent","canvasFactory","DOMCanvasFactory","webGLContext","WebGLContext","enable","enableWebGL","intentState","displayReadyCapability","receivingOperatorList","operatorList","fnArray","argsArray","lastChunk","renderInteractiveForms","complete","renderTasks","internalRenderTask","_tryCleanup","timeEnd","InternalRenderTask","useRequestAnimationFrame","renderTask","transparency","initializeGraphics","operatorListChanged","getOperatorList","opListReadCapability","opListTask","streamTextContent","TEXT_CONTENT_CHUNK_SIZE","sendWithStream","normalizeWhitespace","combineTextItems","disableCombineTextItems","textContent","items","getTextContent","pump","read","_textContent$items","styles","getReader","_destroy","pageCache","waitOn","renderCompleted","cancel","cleanup","resetStats","some","_startRenderPage","_renderPageChunk","operatorListChunk","_listeners","_defer","_deferred","transfers","_this5","cloneValue","cloned","transferable","desc","nextFakeWorkerId","getWorkerSrc","workerSrc","getMainThreadWorkerMessageHandler","pdfjsWorker","fakeWorkerFilesLoadedCapability","setupFakeWorkerGlobal","mainWorkerMessageHandler","loader","createCDNWrapper","pdfWorkerPorts","_ref2$name","_ref2$port","_ref2$postMessageTran","_ref2$verbosity","_webWorker","_messageHandler","_initializeFromPort","_initialize","on","_this6","Worker","terminateEarly","removeEventListener","onWorkerError","terminate","_setupFakeWorker","supportTypedArray","supportTransfers","sendTest","testObj","_this7","workerHandler","setup","delete","fontLoader","FontLoader","_params","cMapUrl","isCompressed","cMapPacked","destroyCapability","_passwordCapability","_networkStream","_fullReader","_lastProgress","pagePromises","setupMessageHandler","_this8","page","terminated","cancelAllRequests","_this9","getFullReader","evt","total","onPull","enqueue","onCancel","_this10","headersCapability","fullReader","headersReady","isStreamingSupported","isRangeSupported","contentLength","rangeReader","getRangeReader","pdfDocument","exception","_this11","updatePassword","_this12","_data","exportedData","hasData","exportedError","fontRegistry","FontInspector","enabled","registerFont","fontAdded","FontFaceObject","_onUnsupportedFeature","fontReady","fontObjs","_data2","imageData","pageProxy","img","Image","onload","onerror","MAX_IMAGE_SIZE_TO_STORE","pageNum","_data3","imageUrl","components","width","height","rgbaLength","buf","Uint8ClampedArray","tmpCanvas","tmpCtx","getContext","drawImage","getImageData","_j","fetch","_ref6","featureId","_this13","_this14","results","metadata","Metadata","contentDispositionFilename","filename","_this15","ensureObj","objId","resolved","callback","isResolved","RenderTask","_internalRenderTask","onContinue","canvasInRendering","operatorListIdx","running","graphicsReadyCallback","graphicsReady","cancelled","_continueBound","_continue","_scheduleNextBound","_scheduleNext","_nextBound","_next","canvasContext","canvas","StepperManager","stepper","init","nextBreakPoint","getNextBreakPoint","gfx","CanvasGraphics","imageLayer","beginDrawing","viewport","background","updateOperatorList","_this16","requestAnimationFrame","_this17","executeOperatorList","endDrawing","DOMSVGFactory","DEFAULT_LINK_REL","SVG_NS","canvasAndContext","_ref$baseUrl","_ref$isCompressed","request","XMLHttpRequest","responseType","onreadystatechange","readyState","DONE","response","responseText","cMapData","compressionType","svg","createElementNS","setAttribute","_ref3$offsetX","offsetX","_ref3$offsetY","offsetY","_ref3$dontFlip","centerX","centerY","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","abs","_ref4$scale","_ref4$rotation","_ref4$dontFlip","y","tl","br","SELF","BLANK","PARENT","TOP","LinkTargetStringMap","link","rel","title","LinkTargetValues","targetIndex","anchor","query","substring","lastIndexOf","started","times","Date","longest","_ii","span","duration","padEnd","script","_possibleConstructorReturn","ReferenceError","_inherits","subClass","superClass","BaseFontLoader","nativeFontFaces","styleElement","loadingContext","requests","nextRequestId","nativeFontFace","fonts","add","rule","styleSheet","sheet","insertRule","cssRules","rules","fontsToLoad","fontLoadPromises","getNativeFontPromise","family","attached","missingFile","isFontLoadingAPISupported","createNativeFontFace","addNativeFontFace","createFontFaceRule","_queueLoadingCallback","isSyncFontLoadingSupported","_prepareFontLoadEvent","completeRequest","otherRequest","_BaseFontLoader","GenericFontLoader","loadTestFontId","int32","spliceString","insert","chunk1","chunk2","called","isFontReady","fillText","_loadTestFont","COMMENT_OFFSET","CFF_CHECKSUM_OFFSET","XXXX_VALUE","checksum","loadedName","fontFamily","body","supported","getLoadTestFont","IsEvalSupportedCached","translatedData","_ref$isEvalSupported","_ref$disableFontFace","_ref$ignoreErrors","_ref$onUnsupportedFea","_ref$fontRegistry","compiledGlyphs","FontFace","mimetype","character","cmds","current","js","cmd","compatibilityParams","isIE","isIOSChrome","_pattern_helper","MIN_FONT_SIZE","MAX_FONT_SIZE","MAX_GROUP_SIZE","MIN_WIDTH_FACTOR","COMPILE_TYPE3_GLYPHS","MAX_SIZE_TO_COMPILE","FULL_CHUNK_HEIGHT","IsLittleEndianCached","addContextCurrentTransform","mozCurrentTransform","_originalSave","_originalRestore","_originalRotate","_originalScale","_originalTranslate","translate","_originalTransform","_originalSetTransform","setTransform","_transformMatrix","_transformStack","ad_bc","bc_ad","old","prev","angle","cosValue","cos","sinValue","sin","CachedCanvases","cache","getCanvas","trackTransform","canvasEntry","reset","compileType3Glyph","imgData","j0","POINT_TO_PROCESS_LIMIT","width1","points","POINT_TYPES","lineSize","data0","mask","elem","count","sum","steps","Int32Array","outlines","pp","coords","p0","drawOutline","beginPath","jj","CanvasExtraState","alphaIsShape","fontSize","fontSizeScale","textMatrix","textMatrixScale","fontMatrix","leading","lineX","lineY","charSpacing","wordSpacing","textHScale","textRenderingMode","textRise","fillColor","strokeColor","patternFill","fillAlpha","strokeAlpha","lineWidth","activeSMask","resumeSMaskCtx","clone","setCurrentPoint","EXECUTION_TIME","EXECUTION_STEPS","canvasCtx","stateStack","pendingClip","pendingEOFill","xobjs","groupStack","processingType3","baseTransform","baseTransformStack","groupLevel","smaskStack","smaskCounter","tempSMask","cachedCanvases","_cachedGetSinglePixelWidth","putBinaryImageData","ImageData","putImageData","destPos","thisChunkHeight","elemsInThisChunk","partialChunkHeight","fullChunks","totalChunks","chunkImgData","createImageData","srcPos","srcLength","dest32","dest32DataLength","fullSrcDiff","white","black","srcDiff","kEnd","kEndUnrolled","srcByte","putBinaryImageMask","copyCtxState","sourceCtx","destCtx","properties","setLineDash","getLineDash","lineDashOffset","resetCtxToDefault","strokeStyle","fillStyle","fillRule","globalAlpha","lineCap","lineJoin","miterLimit","globalCompositeOperation","composeSMaskBackdrop","r0","g0","b0","alpha","alpha_","composeSMaskAlpha","maskData","layerData","transferMap","composeSMaskLuminosity","genericComposeSMask","maskCtx","layerCtx","subtype","backdrop","composeFn","hasBackdrop","PIXELS_TO_PROCESS","row","chunkHeight","composeSMask","scaleX","scaleY","isEnabled","composed","layer","LINE_CAP_STYLES","LINE_JOIN_STYLES","NORMAL_CLIP","EO_CLIP","op","_ref$background","fillRect","transparentCanvas","compositeCtx","beginLayout","executionStartIdx","continueCallback","argsArrayLen","fnId","chunkOperations","endTime","breakIt","deps","nn","depObjId","objsPool","endSMaskGroup","endLayout","limit","dashArray","dashPhase","flatness","states","suspendSMaskGroup","beginSMaskGroup","drawnWidth","drawnHeight","cacheId","scratchCanvas","currentCtx","currentTransform","groupCtx","startTransformInverse","mozCurrentTransformInverse","deltaTransform","clearRect","resumeSMaskGroup","ops","getSinglePixelWidth","xw","yh","bezierCurveTo","consumePath","getPattern","isPatternFill","needRestore","paths","pendingTextPaths","path","addToPath","spacing","fontRefName","fontObj","fontDirection","isType3Font","bold","italic","typeface","fallbackName","browserFontSize","rise","paintChar","patternTransform","fillStrokeMode","isAddToPathSet","getPathGenerator","strokeText","glyphs","showType3Text","glyphsLength","vertical","spacingDir","defaultVMetrics","widthAdvanceScale","simpleFillText","pattern","glyph","scaledX","scaledY","scaledAccentX","scaledAccentY","vmetric","vx","vy","restoreNeeded","fontChar","accent","remeasure","measuredWidth","measureText","isFontSubpixelAAEnabled","characterScaleX","isInFont","charWidth","spacingLength","isTextInvisible","charProcOperatorList","operatorListId","transformed","xWidth","yWidth","llx","lly","urx","ury","getColorN_Pattern","IR","color","canvasGraphicsFactory","createCanvasGraphics","TilingPattern","getShadingPatternFromIR","patternIR","inv","bl","ul","ur","x0","y0","x1","y1","matrix","bbox","group","isolated","knockout","bounds","canvasBounds","imageSmoothingEnabled","mozImageSmoothingEnabled","domImage","position","getCanvasPosition","appendImage","left","top","compiled","maskCanvas","positions","images","image","map","imgToPaint","widthScale","heightScale","HTMLElement","paintWidth","paintHeight","tmpCanvasId","newWidth","newHeight","inverse","ShadingIRs","fromIR","raw","colorStops","r1","grad","createLinearGradient","createRadialGradient","addColorStop","createMeshCanvas","drawTriangle","c1","c2","c3","colors","rowSize","x2","y2","x3","y3","xa","car","cag","cab","xb","cbr","cbg","cbb","c1r","c1g","c1b","c2r","c2g","c2b","c3r","c3g","c3b","minY","round","maxY","x1_","x2_","drawFigure","figure","ps","cs","verticesPerRow","rows","cols","q","combinesScale","figures","backgroundColor","EXPECTED_SCALE","MAX_PATTERN_SIZE","BORDER_SIZE","boundsWidth","boundsHeight","paddedWidth","paddedHeight","drawFigures","shadingIR","Mesh","owner","matrixScale","temporaryPatternCanvas","createPattern","Dummy","PaintType","COLORED","UNCOLORED","xstep","ystep","paintType","tilingType","createPatternCanvas","topLeft","botRight","curMatrixScale","combinedScale","graphics","setFillAndStrokeStyleToContext","setScale","transformToScale","tmpTranslate","clipBbox","tmpScale","scaleToContext","bboxWidth","bboxHeight","cssColor","_regenerator","_regenerator2","resolveCall","_asyncToGenerator","mark","_callee","thisArg","_context","abrupt","stop","_x2","_x3","gen","wrapReason","makeReasonSerializable","resolveOrReject","success","sourceName","targetName","comObj","callbackId","streamId","streamSinks","streamControllers","callbacksCapabilities","ah","actionHandler","_onComObjOnMessage","_processStreamMessage","isReply","_sourceName","_targetName","_createStreamSink","actionName","scope","queueingStrategy","startCapability","startCall","isClosed","pullCapability","pullCall","cancelCapability","cancelCall","sendStreamRequest","streamSink","isCancelled","lastDesiredSize","sinkCapability","sendStreamResponse","deleteStreamController","hadRuntime","regeneratorRuntime","oldRuntime","Op","hasOwn","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","inModule","runtime","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","getProto","NativeIteratorPrototype","Gp","GeneratorFunctionPrototype","Generator","GeneratorFunction","displayName","isGeneratorFunction","genFun","awrap","__await","defineIteratorMethods","AsyncIterator","async","innerFn","outerFn","tryLocsList","reverse","Context","skipTempReset","sent","_sent","delegate","tryEntries","resetTryEntry","rootEntry","rootRecord","completion","rval","dispatchException","handle","loc","caught","record","tryLoc","hasCatch","hasFinally","catchLoc","finallyLoc","finallyEntry","afterLoc","finish","thrown","delegateYield","resultName","nextLoc","protoGenerator","generator","_invoke","makeInvokeMethod","tryCatch","unwrapped","previousPromise","callInvokeWithMethodAndArg","doneResult","delegateResult","maybeInvokeDelegate","pushTryEntry","locs","iteratorMethod","webpackPolyfill","deprecate","children","_xml_parser","_repair","parser","SimpleXMLParser","xmlDocument","parseFromString","_parse","codes","rdf","nodeName","firstChild","nextSibling","hasChildNodes","childNodes","trim","_get","receiver","XMLParserErrorCode","NoError","EndOfDocument","UnterminatedCdat","UnterminatedXmlDeclaration","UnterminatedDoctypeDeclaration","UnterminatedComment","MalformedElement","OutOfMemory","UnterminatedAttributeValue","UnterminatedElement","ElementNeverBegun","isWhitespace","isWhitespaceString","XMLParserBase","entity","onResolveEntity","attributes","skipWs","attrName","attrValue","attrEndChar","attrEndIndex","_resolveEntities","parsed","attrStart","ch2","onError","onEndElement","pi","_parseProcessingInstruction","onPi","onComment","onCdata","q2","complexDoctype","doctypeContent","onDoctype","content","_parseContent","onBeginElement","text","onText","isEmpty","SimpleDOMNode","nodeValue","child","_XMLParserBase","_currentFragment","_stack","_errorCode","parseXml","lastElement","_queuedChunks","_pdfDataRangeTransport","_isStreamingSupported","_isRangeSupported","_contentLength","_fullRequestReader","_rangeReaders","addRangeListener","_onReceiveData","addProgressListener","_onProgress","addProgressiveReadListener","transportReady","PDFDataTransportStreamReader","queuedChunks","_done","_filename","_requests","_headersReady","PDFDataTransportStreamRangeReader","_begin","_end","_queuedChunk","_enqueue","found","firstReader","_removeRangeReader","requestDataRange","readers","abort","requestCapability","requestsCapability","_callee2","_context2","_ref$enable","_enabled","WebGLUtils","tryInitGL","loadShader","gl","shaderType","shader","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","errorMsg","getShaderInfoLog","createVertexShader","VERTEX_SHADER","createFragmentShader","FRAGMENT_SHADER","createProgram","shaders","program","attachShader","linkProgram","linked","getProgramParameter","LINK_STATUS","getProgramInfoLog","createTexture","textureId","activeTexture","texture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MIN_FILTER","NEAREST","TEXTURE_MAG_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","currentGL","currentCanvas","generateGL","premultipliedalpha","smaskVertexShaderCode","smaskFragmentShaderCode","smaskCache","initSmaskGL","vertexShader","fragmentShader","useProgram","resolutionLocation","getUniformLocation","positionLocation","getAttribLocation","backdropLocation","subtypeLocation","texCoordLocation","texLayerLocation","texMaskLocation","texCoordBuffer","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","Float32Array","STATIC_DRAW","enableVertexAttribArray","vertexAttribPointer","FLOAT","uniform1i","drawingBufferWidth","drawingBufferHeight","uniform2f","uniform4f","TEXTURE0","maskTexture","TEXTURE1","clearColor","BLEND","blendFunc","ONE","ONE_MINUS_SRC_ALPHA","COLOR_BUFFER_BIT","drawArrays","TRIANGLES","deleteTexture","deleteBuffer","figuresVertexShaderCode","figuresFragmentShaderCode","figuresCache","initFiguresGL","scaleLocation","offsetLocation","colorLocation","coordsMap","colorsMap","pIndex","cIndex","col","coordsBuffer","colorsBuffer","MAX_TEXT_DIVS_TO_RENDER","NonWhitespaceRegexp","isAllWhitespace","styleBuf","appendText","geom","textDiv","textDivProperties","canvasWidth","originalTransform","paddingBottom","paddingLeft","paddingRight","paddingTop","_textDivs","_textDivProperties","tx","_viewport","atan2","fontName","PI","fontHeight","fontAscent","ascent","descent","_fontInspectorEnabled","dataset","_textContentStream","_layoutText","_enhanceTextSelection","angleCos","angleSin","divWidth","divHeight","_bounds","right","bottom","_canceled","textDivs","textDivsLength","_renderingDone","expand","expanded","expandBounds","divProperties","ts","Float64Array","findPositiveMin","boxScale","boxes","box","x1New","x2New","expandBoundsLTR","fakeBoundary","horizon","boundary","horizonPart","affectedBoundary","maxXNew","xNew","changedHorizon","lastBoundary","useBoundary","unshift","used","TextLayerRenderTask","textContentStream","textContentItemsStr","enhanceTextSelection","_textContent","_container","_textContentItemsStr","_layoutTextLastFontSize","_layoutTextLastFontFamily","_layoutTextCtx","_renderTimer","renderParameters","_render","timeout","clearTimeout","_processItems","styleCache","len","textLayerFrag","mozOpaque","textItems","textStyles","expandTextDivs","expandDivs","padding","AnnotationElementFactory","parameters","annotationType","LinkAnnotationElement","TextAnnotationElement","fieldType","TextWidgetAnnotationElement","radioButton","RadioButtonWidgetAnnotationElement","checkBox","CheckboxWidgetAnnotationElement","PushButtonWidgetAnnotationElement","ChoiceWidgetAnnotationElement","WidgetAnnotationElement","PopupAnnotationElement","LineAnnotationElement","SquareAnnotationElement","CircleAnnotationElement","PolylineAnnotationElement","InkAnnotationElement","PolygonAnnotationElement","HighlightAnnotationElement","UnderlineAnnotationElement","SquigglyAnnotationElement","StrikeOutAnnotationElement","StampAnnotationElement","FileAttachmentAnnotationElement","AnnotationElement","isRenderable","ignoreBorder","linkService","downloadManager","imageResourcesPath","svgFactory","_createContainer","transformOrigin","borderStyle","borderWidth","horizontalRadius","horizontalCornerRadius","verticalRadius","verticalCornerRadius","radius","borderRadius","borderBottomStyle","borderColor","trigger","popupElement","PopupElement","contents","hideWrapper","popup","_AnnotationElement","className","newWindow","externalLinkTarget","externalLinkRel","_bindNamedAction","_bindLink","destination","getDestinationHash","onclick","navigateTo","getAnchorUrl","executeNamedAction","_AnnotationElement2","hasPopup","alt","l10nId","l10nArgs","_createPopup","_AnnotationElement3","_WidgetAnnotationElem","hasAppearance","fieldValue","TEXT_ALIGNMENT","element","multiLine","disabled","readOnly","maxLen","maxLength","comb","fieldWidth","combWidth","letterSpacing","verticalAlign","_setTextStyle","textAlignment","textAlign","direction","fontWeight","fontStyle","_WidgetAnnotationElem2","_WidgetAnnotationElem3","fieldName","buttonValue","_LinkAnnotationElemen","_WidgetAnnotationElem4","selectElement","combo","multiSelect","multiple","option","optionElement","displayValue","exportValue","_AnnotationElement4","IGNORE_TYPES","parentType","selector","parentId","parentElement","querySelector","parentLeft","parseFloat","parentWidth","pinned","BACKGROUND_ENLIGHT","hideElement","_formatContents","_toggle","_show","_hide","lines","line","pin","hasAttribute","removeAttribute","zIndex","unpin","_AnnotationElement5","lineCoordinates","append","_AnnotationElement6","square","_AnnotationElement7","circle","_AnnotationElement8","containerClassName","svgElementName","vertices","polyline","_PolylineAnnotationEl","_AnnotationElement9","inkLists","inkList","_AnnotationElement10","_AnnotationElement11","_AnnotationElement12","_AnnotationElement13","_AnnotationElement14","_AnnotationElement15","_this23","_this23$data$file","file","eventBus","dispatch","_download","downloadData","annotations","_is_node","_is_node2","SVG_DEFAULTS","convertImgDataToPng","PNG_HEADER","CHUNK_WRAPPER_SIZE","crcTable","crc32","crc","writePngChunk","adler32","deflateSync","literals","deflateSyncUncompressed","output","maxBlockLength","deflateBlocks","idat","adler","encode","isMask","bitDepth","colorType","offsetLiterals","offsetBytes","ihdr","pngLength","SVGExtraState","dependencies","activeClipUrl","clipGroup","maskId","opListToTree","opList","opTree","opListLen","pf","toFixed","pm","acos","transformMatrix","transformStack","extraStack","embedFonts","embeddedFonts","cssStyle","XML_NS","XLINK_NS","clipCount","maskCount","tgrp","executeOpTree","loadDependencies","fnArrayLen","getSVG","svgElement","convertOpList","REVOPS","opTreeLen","lineMatrix","xcoords","tspan","setAttributeNS","txtElement","txtgrp","_setStrokeAttributes","_ensureTransformGroup","addFontStyle","defs","setStrokeAlpha","setFillAlpha","opLength","clipId","clipPath","clipElement","cloneNode","getAttributeNS","imgObj","imgEl","imgSrc","cliprect","definitions","rootGroup","_ensureClipGroup","_network_utils","fs","http","https","fileUriRegex","parseUrl","sourceUrl","parsedUrl","isHttp","isFsUrl","_fullRequest","_rangeRequestReaders","PDFNodeStreamFsFullReader","PDFNodeStreamFullReader","PDFNodeStreamFsRangeReader","PDFNodeStreamRangeReader","BaseFullReader","_loaded","_disableRange","_rangeChunkSize","_readableStream","_readCapability","_headersCapability","_error","BaseRangeReader","createRequestOptions","headers","auth","hostname","_BaseFullReader","handleResponse","statusCode","_setReadableStream","getResponseHeader","_validateRangeRequest","validateRangeRequestCapabilities","allowRangeRequests","suggestedLength","extractFilenameFromHeader","_request","_BaseRangeReader","_httpHeaders","_BaseFullReader2","lstat","createReadStream","_BaseRangeReader2","validateResponseStatus","createResponseStatusError","_content_disposition","returnValues","contentEncoding","contentDisposition","getFilenameFromContentDispositionHeader","needsEncodingFixup","toParamRegExp","rfc2616unquote","rfc5987decode","rfc2047decode","fixupEncoding","rfc2231getparam","_filename2","attributePattern","flags","RegExp","textdecode","encoding","decoder","TextDecoder","fatal","decode","matches","match","_match","_match2","quot","part","parts","_matches$_n","_quot","_part","quotindex","extvalue","encodingend","langvalue","charset","hex","createFetchOptions","abortController","signal","credentials","redirect","PDFFetchStreamReader","PDFFetchStreamRangeReader","_withCredentials","AbortController","_abortController","_headers","Headers","rangeStr","NetworkManager","OK_RESPONSE","PARTIAL_CONTENT_RESPONSE","getXhr","currXhrId","pendingRequests","loadedRequests","getArrayBuffer","xhr","array","supportsMozChunked","_source","_manager","PDFNetworkStreamFullRequestReader","manager","onHeadersReceived","_onHeadersReceived","onProgressiveData","_onProgressiveData","onDone","_onDone","_onError","_fullRequestId","requestFull","_headersReceivedCapability","_cachedChunks","PDFNetworkStreamRangeRequestReader","_requestId","requestRange","onClosed","listeners","xhrId","pendingRequest","setRequestHeader","expectedStatus","useMozChunkedLoading","mozChunked","onStateChange","onprogress","xhrStatus","ok_response_on_range_request","rangeHeader","hasPendingRequests","getRequestXhr","isStreamingRequest","isPendingRequest","isLoadedRequest","abortAllRequests","_onRangeRequestReaderClosed","fullRequestXhrId","fullRequestXhr","networkManager","lengthComputable","_close"],"mappings":"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","file":"js/chunk-vendors~cad0fc11.817050b7.js","sourcesContent":["/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\n * Copyright 2018 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * Javascript code in this page\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/build/pdf\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/build/pdf\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/build/pdf\"] = root.pdfjsLib = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__w_pdfjs_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__w_pdfjs_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__w_pdfjs_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__w_pdfjs_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__w_pdfjs_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__w_pdfjs_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __w_pdfjs_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__w_pdfjs_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __w_pdfjs_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__w_pdfjs_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__w_pdfjs_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__w_pdfjs_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__w_pdfjs_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __w_pdfjs_require__(__w_pdfjs_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar pdfjsVersion = '2.0.943';\nvar pdfjsBuild = 'dc98bf76';\nvar pdfjsSharedUtil = __w_pdfjs_require__(1);\nvar pdfjsDisplayAPI = __w_pdfjs_require__(129);\nvar pdfjsDisplayTextLayer = __w_pdfjs_require__(145);\nvar pdfjsDisplayAnnotationLayer = __w_pdfjs_require__(146);\nvar pdfjsDisplayDOMUtils = __w_pdfjs_require__(130);\nvar pdfjsDisplaySVG = __w_pdfjs_require__(147);\nvar pdfjsDisplayWorkerOptions = __w_pdfjs_require__(135);\nvar pdfjsDisplayAPICompatibility = __w_pdfjs_require__(132);\n{\n var isNodeJS = __w_pdfjs_require__(4);\n if (isNodeJS()) {\n var PDFNodeStream = __w_pdfjs_require__(148).PDFNodeStream;\n pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {\n return new PDFNodeStream(params);\n });\n } else if (typeof Response !== 'undefined' && 'body' in Response.prototype && typeof ReadableStream !== 'undefined') {\n var PDFFetchStream = __w_pdfjs_require__(151).PDFFetchStream;\n pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {\n return new PDFFetchStream(params);\n });\n } else {\n var PDFNetworkStream = __w_pdfjs_require__(152).PDFNetworkStream;\n pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {\n return new PDFNetworkStream(params);\n });\n }\n}\nexports.build = pdfjsDisplayAPI.build;\nexports.version = pdfjsDisplayAPI.version;\nexports.getDocument = pdfjsDisplayAPI.getDocument;\nexports.LoopbackPort = pdfjsDisplayAPI.LoopbackPort;\nexports.PDFDataRangeTransport = pdfjsDisplayAPI.PDFDataRangeTransport;\nexports.PDFWorker = pdfjsDisplayAPI.PDFWorker;\nexports.renderTextLayer = pdfjsDisplayTextLayer.renderTextLayer;\nexports.AnnotationLayer = pdfjsDisplayAnnotationLayer.AnnotationLayer;\nexports.createPromiseCapability = pdfjsSharedUtil.createPromiseCapability;\nexports.PasswordResponses = pdfjsSharedUtil.PasswordResponses;\nexports.InvalidPDFException = pdfjsSharedUtil.InvalidPDFException;\nexports.MissingPDFException = pdfjsSharedUtil.MissingPDFException;\nexports.SVGGraphics = pdfjsDisplaySVG.SVGGraphics;\nexports.NativeImageDecoding = pdfjsSharedUtil.NativeImageDecoding;\nexports.CMapCompressionType = pdfjsSharedUtil.CMapCompressionType;\nexports.PermissionFlag = pdfjsSharedUtil.PermissionFlag;\nexports.UnexpectedResponseException = pdfjsSharedUtil.UnexpectedResponseException;\nexports.OPS = pdfjsSharedUtil.OPS;\nexports.VerbosityLevel = pdfjsSharedUtil.VerbosityLevel;\nexports.UNSUPPORTED_FEATURES = pdfjsSharedUtil.UNSUPPORTED_FEATURES;\nexports.createValidAbsoluteUrl = pdfjsSharedUtil.createValidAbsoluteUrl;\nexports.createObjectURL = pdfjsSharedUtil.createObjectURL;\nexports.removeNullCharacters = pdfjsSharedUtil.removeNullCharacters;\nexports.shadow = pdfjsSharedUtil.shadow;\nexports.Util = pdfjsSharedUtil.Util;\nexports.ReadableStream = pdfjsSharedUtil.ReadableStream;\nexports.URL = pdfjsSharedUtil.URL;\nexports.RenderingCancelledException = pdfjsDisplayDOMUtils.RenderingCancelledException;\nexports.getFilenameFromUrl = pdfjsDisplayDOMUtils.getFilenameFromUrl;\nexports.LinkTarget = pdfjsDisplayDOMUtils.LinkTarget;\nexports.addLinkAttributes = pdfjsDisplayDOMUtils.addLinkAttributes;\nexports.loadScript = pdfjsDisplayDOMUtils.loadScript;\nexports.GlobalWorkerOptions = pdfjsDisplayWorkerOptions.GlobalWorkerOptions;\nexports.apiCompatibilityParams = pdfjsDisplayAPICompatibility.apiCompatibilityParams;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.unreachable = exports.warn = exports.utf8StringToString = exports.stringToUTF8String = exports.stringToPDFString = exports.stringToBytes = exports.string32 = exports.shadow = exports.setVerbosityLevel = exports.URL = exports.ReadableStream = exports.removeNullCharacters = exports.readUint32 = exports.readUint16 = exports.readInt8 = exports.log2 = exports.isEvalSupported = exports.isLittleEndian = exports.createValidAbsoluteUrl = exports.isSameOrigin = exports.isSpace = exports.isString = exports.isNum = exports.isEmptyObj = exports.isBool = exports.isArrayBuffer = exports.info = exports.getVerbosityLevel = exports.getLookupTableFactory = exports.getInheritableProperty = exports.deprecated = exports.createObjectURL = exports.createPromiseCapability = exports.bytesToString = exports.assert = exports.arraysToBytes = exports.arrayByteLength = exports.FormatError = exports.XRefParseException = exports.toRomanNumerals = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.NativeImageDecoding = exports.MissingPDFException = exports.MissingDataException = exports.InvalidPDFException = exports.AbortException = exports.CMapCompressionType = exports.ImageKind = exports.FontType = exports.AnnotationType = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.UNSUPPORTED_FEATURES = exports.VerbosityLevel = exports.OPS = exports.IDENTITY_MATRIX = exports.FONT_IDENTITY_MATRIX = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n__w_pdfjs_require__(2);\n\nvar _streams_polyfill = __w_pdfjs_require__(125);\n\nvar _url_polyfill = __w_pdfjs_require__(127);\n\nvar IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nvar FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\nvar NativeImageDecoding = {\n NONE: 'none',\n DECODE: 'decode',\n DISPLAY: 'display'\n};\nvar PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800\n};\nvar TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4\n};\nvar ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n};\nvar AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26\n};\nvar AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200\n};\nvar AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000\n};\nvar AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n};\nvar StreamType = {\n UNKNOWN: 0,\n FLATE: 1,\n LZW: 2,\n DCT: 3,\n JPX: 4,\n JBIG: 5,\n A85: 6,\n AHX: 7,\n CCF: 8,\n RL: 9\n};\nvar FontType = {\n UNKNOWN: 0,\n TYPE1: 1,\n TYPE1C: 2,\n CIDFONTTYPE0: 3,\n CIDFONTTYPE0C: 4,\n TRUETYPE: 5,\n CIDFONTTYPE2: 6,\n TYPE3: 7,\n OPENTYPE: 8,\n TYPE0: 9,\n MMTYPE1: 10\n};\nvar VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n};\nvar CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2\n};\nvar OPS = {\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n beginAnnotations: 78,\n endAnnotations: 79,\n beginAnnotation: 80,\n endAnnotation: 81,\n paintJpegXObject: 82,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91\n};\nvar UNSUPPORTED_FEATURES = {\n unknown: 'unknown',\n forms: 'forms',\n javaScript: 'javaScript',\n smask: 'smask',\n shadingPattern: 'shadingPattern',\n font: 'font'\n};\nvar PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n};\nvar verbosity = VerbosityLevel.WARNINGS;\nfunction setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n}\nfunction getVerbosityLevel() {\n return verbosity;\n}\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log('Info: ' + msg);\n }\n}\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log('Warning: ' + msg);\n }\n}\nfunction deprecated(details) {\n console.log('Deprecated API usage: ' + details);\n}\nfunction unreachable(msg) {\n throw new Error(msg);\n}\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\nfunction isSameOrigin(baseUrl, otherUrl) {\n try {\n var base = new _url_polyfill.URL(baseUrl);\n if (!base.origin || base.origin === 'null') {\n return false;\n }\n } catch (e) {\n return false;\n }\n var other = new _url_polyfill.URL(otherUrl, base);\n return base.origin === other.origin;\n}\nfunction _isValidProtocol(url) {\n if (!url) {\n return false;\n }\n switch (url.protocol) {\n case 'http:':\n case 'https:':\n case 'ftp:':\n case 'mailto:':\n case 'tel:':\n return true;\n default:\n return false;\n }\n}\nfunction createValidAbsoluteUrl(url, baseUrl) {\n if (!url) {\n return null;\n }\n try {\n var absoluteUrl = baseUrl ? new _url_polyfill.URL(url, baseUrl) : new _url_polyfill.URL(url);\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {}\n return null;\n}\nfunction shadow(obj, prop, value) {\n Object.defineProperty(obj, prop, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: false\n });\n return value;\n}\nfunction getLookupTableFactory(initializer) {\n var lookup;\n return function () {\n if (initializer) {\n lookup = Object.create(null);\n initializer(lookup);\n initializer = null;\n }\n return lookup;\n };\n}\nvar PasswordException = function PasswordExceptionClosure() {\n function PasswordException(msg, code) {\n this.name = 'PasswordException';\n this.message = msg;\n this.code = code;\n }\n PasswordException.prototype = new Error();\n PasswordException.constructor = PasswordException;\n return PasswordException;\n}();\nvar UnknownErrorException = function UnknownErrorExceptionClosure() {\n function UnknownErrorException(msg, details) {\n this.name = 'UnknownErrorException';\n this.message = msg;\n this.details = details;\n }\n UnknownErrorException.prototype = new Error();\n UnknownErrorException.constructor = UnknownErrorException;\n return UnknownErrorException;\n}();\nvar InvalidPDFException = function InvalidPDFExceptionClosure() {\n function InvalidPDFException(msg) {\n this.name = 'InvalidPDFException';\n this.message = msg;\n }\n InvalidPDFException.prototype = new Error();\n InvalidPDFException.constructor = InvalidPDFException;\n return InvalidPDFException;\n}();\nvar MissingPDFException = function MissingPDFExceptionClosure() {\n function MissingPDFException(msg) {\n this.name = 'MissingPDFException';\n this.message = msg;\n }\n MissingPDFException.prototype = new Error();\n MissingPDFException.constructor = MissingPDFException;\n return MissingPDFException;\n}();\nvar UnexpectedResponseException = function UnexpectedResponseExceptionClosure() {\n function UnexpectedResponseException(msg, status) {\n this.name = 'UnexpectedResponseException';\n this.message = msg;\n this.status = status;\n }\n UnexpectedResponseException.prototype = new Error();\n UnexpectedResponseException.constructor = UnexpectedResponseException;\n return UnexpectedResponseException;\n}();\nvar MissingDataException = function MissingDataExceptionClosure() {\n function MissingDataException(begin, end) {\n this.begin = begin;\n this.end = end;\n this.message = 'Missing data [' + begin + ', ' + end + ')';\n }\n MissingDataException.prototype = new Error();\n MissingDataException.prototype.name = 'MissingDataException';\n MissingDataException.constructor = MissingDataException;\n return MissingDataException;\n}();\nvar XRefParseException = function XRefParseExceptionClosure() {\n function XRefParseException(msg) {\n this.message = msg;\n }\n XRefParseException.prototype = new Error();\n XRefParseException.prototype.name = 'XRefParseException';\n XRefParseException.constructor = XRefParseException;\n return XRefParseException;\n}();\nvar FormatError = function FormatErrorClosure() {\n function FormatError(msg) {\n this.message = msg;\n }\n FormatError.prototype = new Error();\n FormatError.prototype.name = 'FormatError';\n FormatError.constructor = FormatError;\n return FormatError;\n}();\nvar AbortException = function AbortExceptionClosure() {\n function AbortException(msg) {\n this.name = 'AbortException';\n this.message = msg;\n }\n AbortException.prototype = new Error();\n AbortException.constructor = AbortException;\n return AbortException;\n}();\nvar NullCharactersRegExp = /\\x00/g;\nfunction removeNullCharacters(str) {\n if (typeof str !== 'string') {\n warn('The argument for removeNullCharacters must be a string.');\n return str;\n }\n return str.replace(NullCharactersRegExp, '');\n}\nfunction bytesToString(bytes) {\n assert(bytes !== null && (typeof bytes === 'undefined' ? 'undefined' : _typeof(bytes)) === 'object' && bytes.length !== undefined, 'Invalid argument for bytesToString');\n var length = bytes.length;\n var MAX_ARGUMENT_COUNT = 8192;\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n var strBuf = [];\n for (var i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n var chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n var chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n return strBuf.join('');\n}\nfunction stringToBytes(str) {\n assert(typeof str === 'string', 'Invalid argument for stringToBytes');\n var length = str.length;\n var bytes = new Uint8Array(length);\n for (var i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xFF;\n }\n return bytes;\n}\nfunction arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n assert(arr.byteLength !== undefined);\n return arr.byteLength;\n}\nfunction arraysToBytes(arr) {\n if (arr.length === 1 && arr[0] instanceof Uint8Array) {\n return arr[0];\n }\n var resultLength = 0;\n var i,\n ii = arr.length;\n var item, itemLength;\n for (i = 0; i < ii; i++) {\n item = arr[i];\n itemLength = arrayByteLength(item);\n resultLength += itemLength;\n }\n var pos = 0;\n var data = new Uint8Array(resultLength);\n for (i = 0; i < ii; i++) {\n item = arr[i];\n if (!(item instanceof Uint8Array)) {\n if (typeof item === 'string') {\n item = stringToBytes(item);\n } else {\n item = new Uint8Array(item);\n }\n }\n itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n return data;\n}\nfunction string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n}\nfunction log2(x) {\n if (x <= 0) {\n return 0;\n }\n return Math.ceil(Math.log2(x));\n}\nfunction readInt8(data, start) {\n return data[start] << 24 >> 24;\n}\nfunction readUint16(data, offset) {\n return data[offset] << 8 | data[offset + 1];\n}\nfunction readUint32(data, offset) {\n return (data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3]) >>> 0;\n}\nfunction isLittleEndian() {\n var buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n var view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\nfunction isEvalSupported() {\n try {\n new Function('');\n return true;\n } catch (e) {\n return false;\n }\n}\nfunction getInheritableProperty(_ref) {\n var dict = _ref.dict,\n key = _ref.key,\n _ref$getArray = _ref.getArray,\n getArray = _ref$getArray === undefined ? false : _ref$getArray,\n _ref$stopWhenFound = _ref.stopWhenFound,\n stopWhenFound = _ref$stopWhenFound === undefined ? true : _ref$stopWhenFound;\n\n var LOOP_LIMIT = 100;\n var loopCount = 0;\n var values = void 0;\n while (dict) {\n var value = getArray ? dict.getArray(key) : dict.get(key);\n if (value !== undefined) {\n if (stopWhenFound) {\n return value;\n }\n if (!values) {\n values = [];\n }\n values.push(value);\n }\n if (++loopCount > LOOP_LIMIT) {\n warn('getInheritableProperty: maximum loop count exceeded for \"' + key + '\"');\n break;\n }\n dict = dict.get('Parent');\n }\n return values;\n}\nvar Util = function UtilClosure() {\n function Util() {}\n var rgbBuf = ['rgb(', 0, ',', 0, ',', 0, ')'];\n Util.makeCssRgb = function Util_makeCssRgb(r, g, b) {\n rgbBuf[1] = r;\n rgbBuf[3] = g;\n rgbBuf[5] = b;\n return rgbBuf.join('');\n };\n Util.transform = function Util_transform(m1, m2) {\n return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];\n };\n Util.applyTransform = function Util_applyTransform(p, m) {\n var xt = p[0] * m[0] + p[1] * m[2] + m[4];\n var yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n };\n Util.applyInverseTransform = function Util_applyInverseTransform(p, m) {\n var d = m[0] * m[3] - m[1] * m[2];\n var xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n var yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n };\n Util.getAxialAlignedBoundingBox = function Util_getAxialAlignedBoundingBox(r, m) {\n var p1 = Util.applyTransform(r, m);\n var p2 = Util.applyTransform(r.slice(2, 4), m);\n var p3 = Util.applyTransform([r[0], r[3]], m);\n var p4 = Util.applyTransform([r[2], r[1]], m);\n return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];\n };\n Util.inverseTransform = function Util_inverseTransform(m) {\n var d = m[0] * m[3] - m[1] * m[2];\n return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];\n };\n Util.apply3dTransform = function Util_apply3dTransform(m, v) {\n return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] + m[7] * v[1] + m[8] * v[2]];\n };\n Util.singularValueDecompose2dScale = function Util_singularValueDecompose2dScale(m) {\n var transpose = [m[0], m[2], m[1], m[3]];\n var a = m[0] * transpose[0] + m[1] * transpose[2];\n var b = m[0] * transpose[1] + m[1] * transpose[3];\n var c = m[2] * transpose[0] + m[3] * transpose[2];\n var d = m[2] * transpose[1] + m[3] * transpose[3];\n var first = (a + d) / 2;\n var second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;\n var sx = first + second || 1;\n var sy = first - second || 1;\n return [Math.sqrt(sx), Math.sqrt(sy)];\n };\n Util.normalizeRect = function Util_normalizeRect(rect) {\n var r = rect.slice(0);\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n return r;\n };\n Util.intersect = function Util_intersect(rect1, rect2) {\n function compare(a, b) {\n return a - b;\n }\n var orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare),\n orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare),\n result = [];\n rect1 = Util.normalizeRect(rect1);\n rect2 = Util.normalizeRect(rect2);\n if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] === rect1[0]) {\n result[0] = orderedX[1];\n result[2] = orderedX[2];\n } else {\n return false;\n }\n if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] === rect1[1]) {\n result[1] = orderedY[1];\n result[3] = orderedY[2];\n } else {\n return false;\n }\n return result;\n };\n return Util;\n}();\nvar ROMAN_NUMBER_MAP = ['', 'C', 'CC', 'CCC', 'CD', 'D', 'DC', 'DCC', 'DCCC', 'CM', '', 'X', 'XX', 'XXX', 'XL', 'L', 'LX', 'LXX', 'LXXX', 'XC', '', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX'];\nfunction toRomanNumerals(number) {\n var lowerCase = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n assert(Number.isInteger(number) && number > 0, 'The number should be a positive integer.');\n var pos = void 0,\n romanBuf = [];\n while (number >= 1000) {\n number -= 1000;\n romanBuf.push('M');\n }\n pos = number / 100 | 0;\n number %= 100;\n romanBuf.push(ROMAN_NUMBER_MAP[pos]);\n pos = number / 10 | 0;\n number %= 10;\n romanBuf.push(ROMAN_NUMBER_MAP[10 + pos]);\n romanBuf.push(ROMAN_NUMBER_MAP[20 + number]);\n var romanStr = romanBuf.join('');\n return lowerCase ? romanStr.toLowerCase() : romanStr;\n}\nvar PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C, 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160, 0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC];\nfunction stringToPDFString(str) {\n var i,\n n = str.length,\n strBuf = [];\n if (str[0] === '\\xFE' && str[1] === '\\xFF') {\n for (i = 2; i < n; i += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1)));\n }\n } else {\n for (i = 0; i < n; ++i) {\n var code = PDFStringTranslateTable[str.charCodeAt(i)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\n }\n }\n return strBuf.join('');\n}\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\nfunction isEmptyObj(obj) {\n for (var key in obj) {\n return false;\n }\n return true;\n}\nfunction isBool(v) {\n return typeof v === 'boolean';\n}\nfunction isNum(v) {\n return typeof v === 'number';\n}\nfunction isString(v) {\n return typeof v === 'string';\n}\nfunction isArrayBuffer(v) {\n return (typeof v === 'undefined' ? 'undefined' : _typeof(v)) === 'object' && v !== null && v.byteLength !== undefined;\n}\nfunction isSpace(ch) {\n return ch === 0x20 || ch === 0x09 || ch === 0x0D || ch === 0x0A;\n}\nfunction createPromiseCapability() {\n var capability = {};\n capability.promise = new Promise(function (resolve, reject) {\n capability.resolve = resolve;\n capability.reject = reject;\n });\n return capability;\n}\nvar createObjectURL = function createObjectURLClosure() {\n var digits = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n return function createObjectURL(data, contentType) {\n var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (!forceDataSchema && _url_polyfill.URL.createObjectURL) {\n var blob = new Blob([data], { type: contentType });\n return _url_polyfill.URL.createObjectURL(blob);\n }\n var buffer = 'data:' + contentType + ';base64,';\n for (var i = 0, ii = data.length; i < ii; i += 3) {\n var b1 = data[i] & 0xFF;\n var b2 = data[i + 1] & 0xFF;\n var b3 = data[i + 2] & 0xFF;\n var d1 = b1 >> 2,\n d2 = (b1 & 3) << 4 | b2 >> 4;\n var d3 = i + 1 < ii ? (b2 & 0xF) << 2 | b3 >> 6 : 64;\n var d4 = i + 2 < ii ? b3 & 0x3F : 64;\n buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n }\n return buffer;\n };\n}();\nexports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\nexports.IDENTITY_MATRIX = IDENTITY_MATRIX;\nexports.OPS = OPS;\nexports.VerbosityLevel = VerbosityLevel;\nexports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;\nexports.AnnotationBorderStyleType = AnnotationBorderStyleType;\nexports.AnnotationFieldFlag = AnnotationFieldFlag;\nexports.AnnotationFlag = AnnotationFlag;\nexports.AnnotationType = AnnotationType;\nexports.FontType = FontType;\nexports.ImageKind = ImageKind;\nexports.CMapCompressionType = CMapCompressionType;\nexports.AbortException = AbortException;\nexports.InvalidPDFException = InvalidPDFException;\nexports.MissingDataException = MissingDataException;\nexports.MissingPDFException = MissingPDFException;\nexports.NativeImageDecoding = NativeImageDecoding;\nexports.PasswordException = PasswordException;\nexports.PasswordResponses = PasswordResponses;\nexports.PermissionFlag = PermissionFlag;\nexports.StreamType = StreamType;\nexports.TextRenderingMode = TextRenderingMode;\nexports.UnexpectedResponseException = UnexpectedResponseException;\nexports.UnknownErrorException = UnknownErrorException;\nexports.Util = Util;\nexports.toRomanNumerals = toRomanNumerals;\nexports.XRefParseException = XRefParseException;\nexports.FormatError = FormatError;\nexports.arrayByteLength = arrayByteLength;\nexports.arraysToBytes = arraysToBytes;\nexports.assert = assert;\nexports.bytesToString = bytesToString;\nexports.createPromiseCapability = createPromiseCapability;\nexports.createObjectURL = createObjectURL;\nexports.deprecated = deprecated;\nexports.getInheritableProperty = getInheritableProperty;\nexports.getLookupTableFactory = getLookupTableFactory;\nexports.getVerbosityLevel = getVerbosityLevel;\nexports.info = info;\nexports.isArrayBuffer = isArrayBuffer;\nexports.isBool = isBool;\nexports.isEmptyObj = isEmptyObj;\nexports.isNum = isNum;\nexports.isString = isString;\nexports.isSpace = isSpace;\nexports.isSameOrigin = isSameOrigin;\nexports.createValidAbsoluteUrl = createValidAbsoluteUrl;\nexports.isLittleEndian = isLittleEndian;\nexports.isEvalSupported = isEvalSupported;\nexports.log2 = log2;\nexports.readInt8 = readInt8;\nexports.readUint16 = readUint16;\nexports.readUint32 = readUint32;\nexports.removeNullCharacters = removeNullCharacters;\nexports.ReadableStream = _streams_polyfill.ReadableStream;\nexports.URL = _url_polyfill.URL;\nexports.setVerbosityLevel = setVerbosityLevel;\nexports.shadow = shadow;\nexports.string32 = string32;\nexports.stringToBytes = stringToBytes;\nexports.stringToPDFString = stringToPDFString;\nexports.stringToUTF8String = stringToUTF8String;\nexports.utf8StringToString = utf8StringToString;\nexports.warn = warn;\nexports.unreachable = unreachable;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar globalScope = __w_pdfjs_require__(3);\nif (!globalScope._pdfjsCompatibilityChecked) {\n globalScope._pdfjsCompatibilityChecked = true;\n var isNodeJS = __w_pdfjs_require__(4);\n var hasDOM = (typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && (typeof document === 'undefined' ? 'undefined' : _typeof(document)) === 'object';\n (function checkNodeBtoa() {\n if (globalScope.btoa || !isNodeJS()) {\n return;\n }\n globalScope.btoa = function (chars) {\n return Buffer.from(chars, 'binary').toString('base64');\n };\n })();\n (function checkNodeAtob() {\n if (globalScope.atob || !isNodeJS()) {\n return;\n }\n globalScope.atob = function (input) {\n return Buffer.from(input, 'base64').toString('binary');\n };\n })();\n (function checkCurrentScript() {\n if (!hasDOM) {\n return;\n }\n if ('currentScript' in document) {\n return;\n }\n Object.defineProperty(document, 'currentScript', {\n get: function get() {\n var scripts = document.getElementsByTagName('script');\n return scripts[scripts.length - 1];\n },\n\n enumerable: true,\n configurable: true\n });\n })();\n (function checkChildNodeRemove() {\n if (!hasDOM) {\n return;\n }\n if (typeof Element.prototype.remove !== 'undefined') {\n return;\n }\n Element.prototype.remove = function () {\n if (this.parentNode) {\n this.parentNode.removeChild(this);\n }\n };\n })();\n (function checkDOMTokenListToggle() {\n if (!hasDOM || isNodeJS()) {\n return;\n }\n var div = document.createElement('div');\n if (div.classList.toggle('test', 0) === false) {\n return;\n }\n var originalDOMTokenListToggle = DOMTokenList.prototype.toggle;\n DOMTokenList.prototype.toggle = function (token) {\n if (arguments.length > 1) {\n var force = !!arguments[1];\n return this[force ? 'add' : 'remove'](token), force;\n }\n return originalDOMTokenListToggle(token);\n };\n })();\n (function checkStringIncludes() {\n if (String.prototype.includes) {\n return;\n }\n __w_pdfjs_require__(5);\n })();\n (function checkArrayIncludes() {\n if (Array.prototype.includes) {\n return;\n }\n __w_pdfjs_require__(33);\n })();\n (function checkObjectAssign() {\n if (Object.assign) {\n return;\n }\n __w_pdfjs_require__(42);\n })();\n (function checkMathLog2() {\n if (Math.log2) {\n return;\n }\n Math.log2 = __w_pdfjs_require__(52);\n })();\n (function checkNumberIsNaN() {\n if (Number.isNaN) {\n return;\n }\n Number.isNaN = __w_pdfjs_require__(54);\n })();\n (function checkNumberIsInteger() {\n if (Number.isInteger) {\n return;\n }\n Number.isInteger = __w_pdfjs_require__(56);\n })();\n (function checkPromise() {\n if (globalScope.Promise) {\n return;\n }\n globalScope.Promise = __w_pdfjs_require__(59);\n })();\n (function checkWeakMap() {\n if (globalScope.WeakMap) {\n return;\n }\n globalScope.WeakMap = __w_pdfjs_require__(94);\n })();\n (function checkStringCodePointAt() {\n if (String.codePointAt) {\n return;\n }\n String.codePointAt = __w_pdfjs_require__(111);\n })();\n (function checkStringFromCodePoint() {\n if (String.fromCodePoint) {\n return;\n }\n String.fromCodePoint = __w_pdfjs_require__(113);\n })();\n (function checkSymbol() {\n if (globalScope.Symbol) {\n return;\n }\n __w_pdfjs_require__(115);\n })();\n (function checkObjectValues() {\n if (Object.values) {\n return;\n }\n Object.values = __w_pdfjs_require__(122);\n })();\n}\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = typeof window !== 'undefined' && window.Math === Math ? window : typeof global !== 'undefined' && global.Math === Math ? global : typeof self !== 'undefined' && self.Math === Math ? self : {};\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nmodule.exports = function isNodeJS() {\n return (typeof process === 'undefined' ? 'undefined' : _typeof(process)) === 'object' && process + '' === '[object process]';\n};\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(6);\nmodule.exports = __w_pdfjs_require__(9).String.includes;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\nvar context = __w_pdfjs_require__(25);\nvar INCLUDES = 'includes';\n$export($export.P + $export.F * __w_pdfjs_require__(32)(INCLUDES), 'String', {\n includes: function includes(searchString) {\n return !!~context(this, searchString, INCLUDES).indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\nvar core = __w_pdfjs_require__(9);\nvar hide = __w_pdfjs_require__(10);\nvar redefine = __w_pdfjs_require__(20);\nvar ctx = __w_pdfjs_require__(23);\nvar PROTOTYPE = 'prototype';\nvar $export = function $export(type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n own = !IS_FORCED && target && target[key] !== undefined;\n out = (own ? target : source)[key];\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n if (target) redefine(target, key, out, type & $export.U);\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n$export.F = 1;\n$export.G = 2;\n$export.S = 4;\n$export.P = 8;\n$export.B = 16;\n$export.W = 32;\n$export.U = 64;\n$export.R = 128;\nmodule.exports = $export;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\nif (typeof __g == 'number') __g = global;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar dP = __w_pdfjs_require__(11);\nvar createDesc = __w_pdfjs_require__(19);\nmodule.exports = __w_pdfjs_require__(15) ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(12);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(14);\nvar toPrimitive = __w_pdfjs_require__(18);\nvar dP = Object.defineProperty;\nexports.f = __w_pdfjs_require__(15) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) {}\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nmodule.exports = function (it) {\n return (typeof it === 'undefined' ? 'undefined' : _typeof(it)) === 'object' ? it !== null : typeof it === 'function';\n};\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = !__w_pdfjs_require__(15) && !__w_pdfjs_require__(16)(function () {\n return Object.defineProperty(__w_pdfjs_require__(17)('div'), 'a', {\n get: function get() {\n return 7;\n }\n }).a != 7;\n});\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = !__w_pdfjs_require__(16)(function () {\n return Object.defineProperty({}, 'a', {\n get: function get() {\n return 7;\n }\n }).a != 7;\n});\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\nvar document = __w_pdfjs_require__(8).document;\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\nvar hide = __w_pdfjs_require__(10);\nvar has = __w_pdfjs_require__(21);\nvar SRC = __w_pdfjs_require__(22)('src');\nvar TO_STRING = 'toString';\nvar $toString = Function[TO_STRING];\nvar TPL = ('' + $toString).split(TO_STRING);\n__w_pdfjs_require__(9).inspectSource = function (it) {\n return $toString.call(it);\n};\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar aFunction = __w_pdfjs_require__(24);\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1:\n return function (a) {\n return fn.call(that, a);\n };\n case 2:\n return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3:\n return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function () {\n return fn.apply(that, arguments);\n };\n};\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isRegExp = __w_pdfjs_require__(26);\nvar defined = __w_pdfjs_require__(31);\nmodule.exports = function (that, searchString, NAME) {\n if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\nvar cof = __w_pdfjs_require__(27);\nvar MATCH = __w_pdfjs_require__(28)('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toString = {}.toString;\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar store = __w_pdfjs_require__(29)('wks');\nvar uid = __w_pdfjs_require__(22);\nvar _Symbol = __w_pdfjs_require__(8).Symbol;\nvar USE_SYMBOL = typeof _Symbol == 'function';\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] = USE_SYMBOL && _Symbol[name] || (USE_SYMBOL ? _Symbol : uid)('Symbol.' + name));\n};\n$exports.store = store;\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar core = __w_pdfjs_require__(9);\nvar global = __w_pdfjs_require__(8);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: __w_pdfjs_require__(30) ? 'pure' : 'global',\n copyright: '© 2018 Denis Pushkarev (zloirock.ru)'\n});\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = false;\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar MATCH = __w_pdfjs_require__(28)('match');\nmodule.exports = function (KEY) {\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch (e) {\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch (f) {}\n }\n return true;\n};\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(34);\nmodule.exports = __w_pdfjs_require__(9).Array.includes;\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\nvar $includes = __w_pdfjs_require__(35)(true);\n$export($export.P, 'Array', {\n includes: function includes(el) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n__w_pdfjs_require__(41)('includes');\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toIObject = __w_pdfjs_require__(36);\nvar toLength = __w_pdfjs_require__(38);\nvar toAbsoluteIndex = __w_pdfjs_require__(40);\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n if (value != value) return true;\n } else for (; length > index; index++) {\n if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n }\n }return !IS_INCLUDES && -1;\n };\n};\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar IObject = __w_pdfjs_require__(37);\nvar defined = __w_pdfjs_require__(31);\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar cof = __w_pdfjs_require__(27);\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(39);\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0;\n};\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(39);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar UNSCOPABLES = __w_pdfjs_require__(28)('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) __w_pdfjs_require__(10)(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(43);\nmodule.exports = __w_pdfjs_require__(9).Object.assign;\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n$export($export.S + $export.F, 'Object', { assign: __w_pdfjs_require__(44) });\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar getKeys = __w_pdfjs_require__(45);\nvar gOPS = __w_pdfjs_require__(49);\nvar pIE = __w_pdfjs_require__(50);\nvar toObject = __w_pdfjs_require__(51);\nvar IObject = __w_pdfjs_require__(37);\nvar $assign = Object.assign;\nmodule.exports = !$assign || __w_pdfjs_require__(16)(function () {\n var A = {};\n var B = {};\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) {\n B[k] = k;\n });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) {\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n }\n }\n return T;\n} : $assign;\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $keys = __w_pdfjs_require__(46);\nvar enumBugKeys = __w_pdfjs_require__(48);\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar has = __w_pdfjs_require__(21);\nvar toIObject = __w_pdfjs_require__(36);\nvar arrayIndexOf = __w_pdfjs_require__(35)(false);\nvar IE_PROTO = __w_pdfjs_require__(47)('IE_PROTO');\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) {\n if (key != IE_PROTO) has(O, key) && result.push(key);\n }while (names.length > i) {\n if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n }return result;\n};\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar shared = __w_pdfjs_require__(29)('keys');\nvar uid = __w_pdfjs_require__(22);\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'.split(',');\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nexports.f = Object.getOwnPropertySymbols;\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nexports.f = {}.propertyIsEnumerable;\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar defined = __w_pdfjs_require__(31);\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(53);\nmodule.exports = __w_pdfjs_require__(9).Math.log2;\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n$export($export.S, 'Math', {\n log2: function log2(x) {\n return Math.log(x) / Math.LN2;\n }\n});\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(55);\nmodule.exports = __w_pdfjs_require__(9).Number.isNaN;\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n$export($export.S, 'Number', {\n isNaN: function isNaN(number) {\n return number != number;\n }\n});\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(57);\nmodule.exports = __w_pdfjs_require__(9).Number.isInteger;\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n$export($export.S, 'Number', { isInteger: __w_pdfjs_require__(58) });\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(60);\n__w_pdfjs_require__(62);\n__w_pdfjs_require__(72);\n__w_pdfjs_require__(75);\n__w_pdfjs_require__(92);\n__w_pdfjs_require__(93);\nmodule.exports = __w_pdfjs_require__(9).Promise;\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar classof = __w_pdfjs_require__(61);\nvar test = {};\ntest[__w_pdfjs_require__(28)('toStringTag')] = 'z';\nif (test + '' != '[object z]') {\n __w_pdfjs_require__(20)(Object.prototype, 'toString', function toString() {\n return '[object ' + classof(this) + ']';\n }, true);\n}\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar cof = __w_pdfjs_require__(27);\nvar TAG = __w_pdfjs_require__(28)('toStringTag');\nvar ARG = cof(function () {\n return arguments;\n}()) == 'Arguments';\nvar tryGet = function tryGet(it, key) {\n try {\n return it[key];\n } catch (e) {}\n};\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T : ARG ? cof(O) : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $at = __w_pdfjs_require__(63)(true);\n__w_pdfjs_require__(64)(String, 'String', function (iterated) {\n this._t = String(iterated);\n this._i = 0;\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return {\n value: undefined,\n done: true\n };\n point = $at(O, index);\n this._i += point.length;\n return {\n value: point,\n done: false\n };\n});\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(39);\nvar defined = __w_pdfjs_require__(31);\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff ? TO_STRING ? s.charAt(i) : a : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar LIBRARY = __w_pdfjs_require__(30);\nvar $export = __w_pdfjs_require__(7);\nvar redefine = __w_pdfjs_require__(20);\nvar hide = __w_pdfjs_require__(10);\nvar Iterators = __w_pdfjs_require__(65);\nvar $iterCreate = __w_pdfjs_require__(66);\nvar setToStringTag = __w_pdfjs_require__(70);\nvar getPrototypeOf = __w_pdfjs_require__(71);\nvar ITERATOR = __w_pdfjs_require__(28)('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys());\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar returnThis = function returnThis() {\n return this;\n};\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function getMethod(kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS:\n return function keys() {\n return new Constructor(this, kind);\n };\n case VALUES:\n return function values() {\n return new Constructor(this, kind);\n };\n }\n return function entries() {\n return new Constructor(this, kind);\n };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n setToStringTag(IteratorPrototype, TAG, true);\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() {\n return $native.call(this);\n };\n }\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = {};\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar create = __w_pdfjs_require__(67);\nvar descriptor = __w_pdfjs_require__(19);\nvar setToStringTag = __w_pdfjs_require__(70);\nvar IteratorPrototype = {};\n__w_pdfjs_require__(10)(IteratorPrototype, __w_pdfjs_require__(28)('iterator'), function () {\n return this;\n});\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(12);\nvar dPs = __w_pdfjs_require__(68);\nvar enumBugKeys = __w_pdfjs_require__(48);\nvar IE_PROTO = __w_pdfjs_require__(47)('IE_PROTO');\nvar Empty = function Empty() {};\nvar PROTOTYPE = 'prototype';\nvar _createDict = function createDict() {\n var iframe = __w_pdfjs_require__(17)('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n __w_pdfjs_require__(69).appendChild(iframe);\n iframe.src = 'javascript:';\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n _createDict = iframeDocument.F;\n while (i--) {\n delete _createDict[PROTOTYPE][enumBugKeys[i]];\n }return _createDict();\n};\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n result[IE_PROTO] = O;\n } else result = _createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar dP = __w_pdfjs_require__(11);\nvar anObject = __w_pdfjs_require__(12);\nvar getKeys = __w_pdfjs_require__(45);\nmodule.exports = __w_pdfjs_require__(15) ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) {\n dP.f(O, P = keys[i++], Properties[P]);\n }return O;\n};\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar document = __w_pdfjs_require__(8).document;\nmodule.exports = document && document.documentElement;\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar def = __w_pdfjs_require__(11).f;\nvar has = __w_pdfjs_require__(21);\nvar TAG = __w_pdfjs_require__(28)('toStringTag');\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, {\n configurable: true,\n value: tag\n });\n};\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar has = __w_pdfjs_require__(21);\nvar toObject = __w_pdfjs_require__(51);\nvar IE_PROTO = __w_pdfjs_require__(47)('IE_PROTO');\nvar ObjectProto = Object.prototype;\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n }\n return O instanceof Object ? ObjectProto : null;\n};\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $iterators = __w_pdfjs_require__(73);\nvar getKeys = __w_pdfjs_require__(45);\nvar redefine = __w_pdfjs_require__(20);\nvar global = __w_pdfjs_require__(8);\nvar hide = __w_pdfjs_require__(10);\nvar Iterators = __w_pdfjs_require__(65);\nvar wks = __w_pdfjs_require__(28);\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\nvar DOMIterables = {\n CSSRuleList: true,\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true,\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true,\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) {\n if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n }\n}\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar addToUnscopables = __w_pdfjs_require__(41);\nvar step = __w_pdfjs_require__(74);\nvar Iterators = __w_pdfjs_require__(65);\nvar toIObject = __w_pdfjs_require__(36);\nmodule.exports = __w_pdfjs_require__(64)(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated);\n this._i = 0;\n this._k = kind;\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\nIterators.Arguments = Iterators.Array;\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (done, value) {\n return {\n value: value,\n done: !!done\n };\n};\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar LIBRARY = __w_pdfjs_require__(30);\nvar global = __w_pdfjs_require__(8);\nvar ctx = __w_pdfjs_require__(23);\nvar classof = __w_pdfjs_require__(61);\nvar $export = __w_pdfjs_require__(7);\nvar isObject = __w_pdfjs_require__(13);\nvar aFunction = __w_pdfjs_require__(24);\nvar anInstance = __w_pdfjs_require__(76);\nvar forOf = __w_pdfjs_require__(77);\nvar speciesConstructor = __w_pdfjs_require__(81);\nvar task = __w_pdfjs_require__(82).set;\nvar microtask = __w_pdfjs_require__(84)();\nvar newPromiseCapabilityModule = __w_pdfjs_require__(85);\nvar perform = __w_pdfjs_require__(86);\nvar userAgent = __w_pdfjs_require__(87);\nvar promiseResolve = __w_pdfjs_require__(88);\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function empty() {};\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\nvar USE_NATIVE = !!function () {\n try {\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[__w_pdfjs_require__(28)('species')] = function (exec) {\n exec(empty, empty);\n };\n return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise && v8.indexOf('6.6') !== 0 && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) {}\n}();\nvar isThenable = function isThenable(it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function notify(promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function run(reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;else {\n if (domain) domain.enter();\n result = handler(value);\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) {\n run(chain[i++]);\n }promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function onUnhandled(promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({\n promise: promise,\n reason: value\n });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n }\n promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function isUnhandled(promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function onHandleUnhandled(promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({\n promise: promise,\n reason: promise._v\n });\n }\n });\n};\nvar $reject = function $reject(value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise;\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function $resolve(value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise;\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = {\n _w: promise,\n _d: false\n };\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({\n _w: promise,\n _d: false\n }, e);\n }\n};\nif (!USE_NATIVE) {\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n Internal = function Promise(executor) {\n this._c = [];\n this._a = undefined;\n this._s = 0;\n this._d = false;\n this._v = undefined;\n this._h = 0;\n this._n = false;\n };\n Internal.prototype = __w_pdfjs_require__(89)($Promise.prototype, {\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n 'catch': function _catch(onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function OwnPromiseCapability() {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function newPromiseCapability(C) {\n return C === $Promise || C === Wrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C);\n };\n}\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\n__w_pdfjs_require__(70)($Promise, PROMISE);\n__w_pdfjs_require__(90)(PROMISE);\nWrapper = __w_pdfjs_require__(9)[PROMISE];\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && __w_pdfjs_require__(91)(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || forbiddenField !== undefined && forbiddenField in it) {\n throw TypeError(name + ': incorrect invocation!');\n }\n return it;\n};\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ctx = __w_pdfjs_require__(23);\nvar call = __w_pdfjs_require__(78);\nvar isArrayIter = __w_pdfjs_require__(79);\nvar anObject = __w_pdfjs_require__(12);\nvar toLength = __w_pdfjs_require__(38);\nvar getIterFn = __w_pdfjs_require__(80);\nvar BREAK = {};\nvar RETURN = {};\nvar _exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () {\n return iterable;\n } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\n_exports.BREAK = BREAK;\n_exports.RETURN = RETURN;\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(12);\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar Iterators = __w_pdfjs_require__(65);\nvar ITERATOR = __w_pdfjs_require__(28)('iterator');\nvar ArrayProto = Array.prototype;\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar classof = __w_pdfjs_require__(61);\nvar ITERATOR = __w_pdfjs_require__(28)('iterator');\nvar Iterators = __w_pdfjs_require__(65);\nmodule.exports = __w_pdfjs_require__(9).getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];\n};\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(12);\nvar aFunction = __w_pdfjs_require__(24);\nvar SPECIES = __w_pdfjs_require__(28)('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ctx = __w_pdfjs_require__(23);\nvar invoke = __w_pdfjs_require__(83);\nvar html = __w_pdfjs_require__(69);\nvar cel = __w_pdfjs_require__(17);\nvar global = __w_pdfjs_require__(8);\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function run() {\n var id = +this;\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function listener(event) {\n run.call(event.data);\n};\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) {\n args.push(arguments[i++]);\n }queue[++counter] = function () {\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n if (__w_pdfjs_require__(27)(process) == 'process') {\n defer = function defer(id) {\n process.nextTick(ctx(run, id, 1));\n };\n } else if (Dispatch && Dispatch.now) {\n defer = function defer(id) {\n Dispatch.now(ctx(run, id, 1));\n };\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function defer(id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function defer(id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n } else {\n defer = function defer(id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0:\n return un ? fn() : fn.call(that);\n case 1:\n return un ? fn(args[0]) : fn.call(that, args[0]);\n case 2:\n return un ? fn(args[0], args[1]) : fn.call(that, args[0], args[1]);\n case 3:\n return un ? fn(args[0], args[1], args[2]) : fn.call(that, args[0], args[1], args[2]);\n case 4:\n return un ? fn(args[0], args[1], args[2], args[3]) : fn.call(that, args[0], args[1], args[2], args[3]);\n }\n return fn.apply(that, args);\n};\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\nvar macrotask = __w_pdfjs_require__(82).set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = __w_pdfjs_require__(27)(process) == 'process';\nmodule.exports = function () {\n var head, last, notify;\n var flush = function flush() {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();else last = undefined;\n throw e;\n }\n }\n last = undefined;\n if (parent) parent.enter();\n };\n if (isNode) {\n notify = function notify() {\n process.nextTick(flush);\n };\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true });\n notify = function notify() {\n node.data = toggle = !toggle;\n };\n } else if (Promise && Promise.resolve) {\n var promise = Promise.resolve(undefined);\n notify = function notify() {\n promise.then(flush);\n };\n } else {\n notify = function notify() {\n macrotask.call(global, flush);\n };\n }\n return function (fn) {\n var task = {\n fn: fn,\n next: undefined\n };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n }\n last = task;\n };\n};\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar aFunction = __w_pdfjs_require__(24);\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (exec) {\n try {\n return {\n e: false,\n v: exec()\n };\n } catch (e) {\n return {\n e: true,\n v: e\n };\n }\n};\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\nvar navigator = global.navigator;\nmodule.exports = navigator && navigator.userAgent || '';\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(12);\nvar isObject = __w_pdfjs_require__(13);\nvar newPromiseCapability = __w_pdfjs_require__(85);\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar redefine = __w_pdfjs_require__(20);\nmodule.exports = function (target, src, safe) {\n for (var key in src) {\n redefine(target, key, src[key], safe);\n }return target;\n};\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\nvar dP = __w_pdfjs_require__(11);\nvar DESCRIPTORS = __w_pdfjs_require__(15);\nvar SPECIES = __w_pdfjs_require__(28)('species');\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function get() {\n return this;\n }\n });\n};\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ITERATOR = __w_pdfjs_require__(28)('iterator');\nvar SAFE_CLOSING = false;\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () {\n SAFE_CLOSING = true;\n };\n Array.from(riter, function () {\n throw 2;\n });\n} catch (e) {}\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () {\n return { done: safe = true };\n };\n arr[ITERATOR] = function () {\n return iter;\n };\n exec(arr);\n } catch (e) {}\n return safe;\n};\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\nvar core = __w_pdfjs_require__(9);\nvar global = __w_pdfjs_require__(8);\nvar speciesConstructor = __w_pdfjs_require__(81);\nvar promiseResolve = __w_pdfjs_require__(88);\n$export($export.P + $export.R, 'Promise', {\n 'finally': function _finally(onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () {\n return x;\n });\n } : onFinally, isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () {\n throw e;\n });\n } : onFinally);\n }\n});\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\nvar newPromiseCapability = __w_pdfjs_require__(85);\nvar perform = __w_pdfjs_require__(86);\n$export($export.S, 'Promise', {\n 'try': function _try(callbackfn) {\n var promiseCapability = newPromiseCapability.f(this);\n var result = perform(callbackfn);\n (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n return promiseCapability.promise;\n }\n});\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(60);\n__w_pdfjs_require__(72);\n__w_pdfjs_require__(95);\n__w_pdfjs_require__(107);\n__w_pdfjs_require__(109);\nmodule.exports = __w_pdfjs_require__(9).WeakMap;\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar each = __w_pdfjs_require__(96)(0);\nvar redefine = __w_pdfjs_require__(20);\nvar meta = __w_pdfjs_require__(100);\nvar assign = __w_pdfjs_require__(44);\nvar weak = __w_pdfjs_require__(101);\nvar isObject = __w_pdfjs_require__(13);\nvar fails = __w_pdfjs_require__(16);\nvar validate = __w_pdfjs_require__(102);\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar tmp = {};\nvar InternalMap;\nvar wrapper = function wrapper(get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\nvar methods = {\n get: function get(key) {\n if (isObject(key)) {\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n set: function set(key, value) {\n return weak.def(validate(this, WEAK_MAP), key, value);\n }\n};\nvar $WeakMap = module.exports = __w_pdfjs_require__(103)(WEAK_MAP, wrapper, methods, weak, true, true);\nif (fails(function () {\n return new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7;\n})) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var method = proto[key];\n redefine(proto, key, function (a, b) {\n if (isObject(a) && !isExtensible(a)) {\n if (!this._f) this._f = new InternalMap();\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n }\n return method.call(this, a, b);\n });\n });\n}\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ctx = __w_pdfjs_require__(23);\nvar IObject = __w_pdfjs_require__(37);\nvar toObject = __w_pdfjs_require__(51);\nvar toLength = __w_pdfjs_require__(38);\nvar asc = __w_pdfjs_require__(97);\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (; length > index; index++) {\n if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res;else if (res) switch (TYPE) {\n case 3:\n return true;\n case 5:\n return val;\n case 6:\n return index;\n case 2:\n result.push(val);\n } else if (IS_EVERY) return false;\n }\n }\n }return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar speciesConstructor = __w_pdfjs_require__(98);\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\nvar isArray = __w_pdfjs_require__(99);\nvar SPECIES = __w_pdfjs_require__(28)('species');\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n }\n return C === undefined ? Array : C;\n};\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar cof = __w_pdfjs_require__(27);\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar META = __w_pdfjs_require__(22)('meta');\nvar isObject = __w_pdfjs_require__(13);\nvar has = __w_pdfjs_require__(21);\nvar setDesc = __w_pdfjs_require__(11).f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !__w_pdfjs_require__(16)(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function setMeta(it) {\n setDesc(it, META, {\n value: {\n i: 'O' + ++id,\n w: {}\n }\n });\n};\nvar fastKey = function fastKey(it, create) {\n if (!isObject(it)) return (typeof it === 'undefined' ? 'undefined' : _typeof(it)) == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n if (!isExtensible(it)) return 'F';\n if (!create) return 'E';\n setMeta(it);\n }\n return it[META].i;\n};\nvar getWeak = function getWeak(it, create) {\n if (!has(it, META)) {\n if (!isExtensible(it)) return true;\n if (!create) return false;\n setMeta(it);\n }\n return it[META].w;\n};\nvar onFreeze = function onFreeze(it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar redefineAll = __w_pdfjs_require__(89);\nvar getWeak = __w_pdfjs_require__(100).getWeak;\nvar anObject = __w_pdfjs_require__(12);\nvar isObject = __w_pdfjs_require__(13);\nvar anInstance = __w_pdfjs_require__(76);\nvar forOf = __w_pdfjs_require__(77);\nvar createArrayMethod = __w_pdfjs_require__(96);\nvar $has = __w_pdfjs_require__(21);\nvar validate = __w_pdfjs_require__(102);\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\nvar uncaughtFrozenStore = function uncaughtFrozenStore(that) {\n return that._l || (that._l = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function UncaughtFrozenStore() {\n this.a = [];\n};\nvar findUncaughtFrozen = function findUncaughtFrozen(store, key) {\n return arrayFind(store.a, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function get(key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function has(key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function set(key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;else this.a.push([key, value]);\n },\n 'delete': function _delete(key) {\n var index = arrayFindIndex(this.a, function (it) {\n return it[0] === key;\n });\n if (~index) this.a.splice(index, 1);\n return !!~index;\n }\n};\nmodule.exports = {\n getConstructor: function getConstructor(wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME;\n that._i = id++;\n that._l = undefined;\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n 'delete': function _delete(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n has: function has(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function def(that, key, value) {\n var data = getWeak(anObject(key), true);\n if (data === true) uncaughtFrozenStore(that).set(key, value);else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\nvar $export = __w_pdfjs_require__(7);\nvar redefine = __w_pdfjs_require__(20);\nvar redefineAll = __w_pdfjs_require__(89);\nvar meta = __w_pdfjs_require__(100);\nvar forOf = __w_pdfjs_require__(77);\nvar anInstance = __w_pdfjs_require__(76);\nvar isObject = __w_pdfjs_require__(13);\nvar fails = __w_pdfjs_require__(16);\nvar $iterDetect = __w_pdfjs_require__(91);\nvar setToStringTag = __w_pdfjs_require__(70);\nvar inheritIfRequired = __w_pdfjs_require__(104);\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n var fixMethod = function fixMethod(KEY) {\n var fn = proto[KEY];\n redefine(proto, KEY, KEY == 'delete' ? function (a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a) {\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a) {\n fn.call(this, a === 0 ? 0 : a);\n return this;\n } : function set(a, b) {\n fn.call(this, a === 0 ? 0 : a, b);\n return this;\n });\n };\n if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C();\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n var THROWS_ON_PRIMITIVES = fails(function () {\n instance.has(1);\n });\n var ACCEPT_ITERABLES = $iterDetect(function (iter) {\n new C(iter);\n });\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n var $instance = new C();\n var index = 5;\n while (index--) {\n $instance[ADDER](index, index);\n }return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base(), target, C);\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n if (IS_WEAK && proto.clear) delete proto.clear;\n }\n setToStringTag(C, NAME);\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n return C;\n};\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\nvar setPrototypeOf = __w_pdfjs_require__(105).set;\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n }\n return that;\n};\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\nvar anObject = __w_pdfjs_require__(12);\nvar check = function check(O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? function (test, buggy, set) {\n try {\n set = __w_pdfjs_require__(23)(Function.call, __w_pdfjs_require__(106).f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) {\n buggy = true;\n }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar pIE = __w_pdfjs_require__(50);\nvar createDesc = __w_pdfjs_require__(19);\nvar toIObject = __w_pdfjs_require__(36);\nvar toPrimitive = __w_pdfjs_require__(18);\nvar has = __w_pdfjs_require__(21);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(14);\nvar gOPD = Object.getOwnPropertyDescriptor;\nexports.f = __w_pdfjs_require__(15) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) {}\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(108)('WeakMap');\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, {\n of: function of() {\n var length = arguments.length;\n var A = new Array(length);\n while (length--) {\n A[length] = arguments[length];\n }return new this(A);\n }\n });\n};\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(110)('WeakMap');\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\nvar aFunction = __w_pdfjs_require__(24);\nvar ctx = __w_pdfjs_require__(23);\nvar forOf = __w_pdfjs_require__(77);\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, {\n from: function from(source) {\n var mapFn = arguments[1];\n var mapping, A, n, cb;\n aFunction(this);\n mapping = mapFn !== undefined;\n if (mapping) aFunction(mapFn);\n if (source == undefined) return new this();\n A = [];\n if (mapping) {\n n = 0;\n cb = ctx(mapFn, arguments[2], 2);\n forOf(source, false, function (nextItem) {\n A.push(cb(nextItem, n++));\n });\n } else {\n forOf(source, false, A.push, A);\n }\n return new this(A);\n }\n });\n};\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(112);\nmodule.exports = __w_pdfjs_require__(9).String.codePointAt;\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\nvar $at = __w_pdfjs_require__(63)(false);\n$export($export.P, 'String', {\n codePointAt: function codePointAt(pos) {\n return $at(this, pos);\n }\n});\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(114);\nmodule.exports = __w_pdfjs_require__(9).String.fromCodePoint;\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\nvar toAbsoluteIndex = __w_pdfjs_require__(40);\nvar fromCharCode = String.fromCharCode;\nvar $fromCodePoint = String.fromCodePoint;\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n fromCodePoint: function fromCodePoint(x) {\n var res = [];\n var aLen = arguments.length;\n var i = 0;\n var code;\n while (aLen > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');\n res.push(code < 0x10000 ? fromCharCode(code) : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00));\n }\n return res.join('');\n }\n});\n\n/***/ }),\n/* 115 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(116);\n__w_pdfjs_require__(60);\nmodule.exports = __w_pdfjs_require__(9).Symbol;\n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar global = __w_pdfjs_require__(8);\nvar has = __w_pdfjs_require__(21);\nvar DESCRIPTORS = __w_pdfjs_require__(15);\nvar $export = __w_pdfjs_require__(7);\nvar redefine = __w_pdfjs_require__(20);\nvar META = __w_pdfjs_require__(100).KEY;\nvar $fails = __w_pdfjs_require__(16);\nvar shared = __w_pdfjs_require__(29);\nvar setToStringTag = __w_pdfjs_require__(70);\nvar uid = __w_pdfjs_require__(22);\nvar wks = __w_pdfjs_require__(28);\nvar wksExt = __w_pdfjs_require__(117);\nvar wksDefine = __w_pdfjs_require__(118);\nvar enumKeys = __w_pdfjs_require__(119);\nvar isArray = __w_pdfjs_require__(99);\nvar anObject = __w_pdfjs_require__(12);\nvar isObject = __w_pdfjs_require__(13);\nvar toIObject = __w_pdfjs_require__(36);\nvar toPrimitive = __w_pdfjs_require__(18);\nvar createDesc = __w_pdfjs_require__(19);\nvar _create = __w_pdfjs_require__(67);\nvar gOPNExt = __w_pdfjs_require__(120);\nvar $GOPD = __w_pdfjs_require__(106);\nvar $DP = __w_pdfjs_require__(11);\nvar $keys = __w_pdfjs_require__(45);\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function get() {\n return dP(this, 'a', { value: 7 }).a;\n }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\nvar wrap = function wrap(tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\nvar isSymbol = USE_NATIVE && _typeof($Symbol.iterator) == 'symbol' ? function (it) {\n return (typeof it === 'undefined' ? 'undefined' : _typeof(it)) == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n }\n return setSymbolDesc(it, key, D);\n }\n return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) {\n $defineProperty(it, key = keys[i++], P[key]);\n }return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n }\n return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n }\n return result;\n};\nif (!USE_NATIVE) {\n $Symbol = function _Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function $set(value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, {\n configurable: true,\n set: $set\n });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n __w_pdfjs_require__(121).f = gOPNExt.f = $getOwnPropertyNames;\n __w_pdfjs_require__(50).f = $propertyIsEnumerable;\n __w_pdfjs_require__(49).f = $getOwnPropertySymbols;\n if (DESCRIPTORS && !__w_pdfjs_require__(30)) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\nfor (var es6Symbols = 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'.split(','), j = 0; es6Symbols.length > j;) {\n wks(es6Symbols[j++]);\n}for (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) {\n wksDefine(wellKnownSymbols[k++]);\n}$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n 'for': function _for(key) {\n return has(SymbolRegistry, key += '') ? SymbolRegistry[key] : SymbolRegistry[key] = $Symbol(key);\n },\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) {\n if (SymbolRegistry[key] === sym) return key;\n }\n },\n useSetter: function useSetter() {\n setter = true;\n },\n useSimple: function useSimple() {\n setter = false;\n }\n});\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n create: $create,\n defineProperty: $defineProperty,\n defineProperties: $defineProperties,\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n getOwnPropertyNames: $getOwnPropertyNames,\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) {\n args.push(arguments[i++]);\n }$replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return;\n if (!isArray(replacer)) replacer = function replacer(key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __w_pdfjs_require__(10)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\nsetToStringTag($Symbol, 'Symbol');\nsetToStringTag(Math, 'Math', true);\nsetToStringTag(global.JSON, 'JSON', true);\n\n/***/ }),\n/* 117 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nexports.f = __w_pdfjs_require__(28);\n\n/***/ }),\n/* 118 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\nvar core = __w_pdfjs_require__(9);\nvar LIBRARY = __w_pdfjs_require__(30);\nvar wksExt = __w_pdfjs_require__(117);\nvar defineProperty = __w_pdfjs_require__(11).f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n/***/ }),\n/* 119 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar getKeys = __w_pdfjs_require__(45);\nvar gOPS = __w_pdfjs_require__(49);\nvar pIE = __w_pdfjs_require__(50);\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) {\n if (isEnum.call(it, key = symbols[i++])) result.push(key);\n }\n }\n return result;\n};\n\n/***/ }),\n/* 120 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar toIObject = __w_pdfjs_require__(36);\nvar gOPN = __w_pdfjs_require__(121).f;\nvar toString = {}.toString;\nvar windowNames = (typeof window === 'undefined' ? 'undefined' : _typeof(window)) == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];\nvar getWindowNames = function getWindowNames(it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n/***/ }),\n/* 121 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $keys = __w_pdfjs_require__(46);\nvar hiddenKeys = __w_pdfjs_require__(48).concat('length', 'prototype');\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(123);\nmodule.exports = __w_pdfjs_require__(9).Object.values;\n\n/***/ }),\n/* 123 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\nvar $values = __w_pdfjs_require__(124)(false);\n$export($export.S, 'Object', {\n values: function values(it) {\n return $values(it);\n }\n});\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar getKeys = __w_pdfjs_require__(45);\nvar toIObject = __w_pdfjs_require__(36);\nvar isEnum = __w_pdfjs_require__(50).f;\nmodule.exports = function (isEntries) {\n return function (it) {\n var O = toIObject(it);\n var keys = getKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n if (isEnum.call(O, key = keys[i++])) {\n result.push(isEntries ? [key, O[key]] : O[key]);\n }\n }return result;\n };\n};\n\n/***/ }),\n/* 125 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isReadableStreamSupported = false;\nif (typeof ReadableStream !== 'undefined') {\n try {\n new ReadableStream({\n start: function start(controller) {\n controller.close();\n }\n });\n isReadableStreamSupported = true;\n } catch (e) {}\n}\nif (isReadableStreamSupported) {\n exports.ReadableStream = ReadableStream;\n} else {\n exports.ReadableStream = __w_pdfjs_require__(126).ReadableStream;\n}\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar _typeof2 = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n(function (e, a) {\n for (var i in a) {\n e[i] = a[i];\n }\n})(exports, function (modules) {\n var installedModules = {};\n function __w_pdfjs_require__(moduleId) {\n if (installedModules[moduleId]) return installedModules[moduleId].exports;\n var module = installedModules[moduleId] = {\n i: moduleId,\n l: false,\n exports: {}\n };\n modules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n module.l = true;\n return module.exports;\n }\n __w_pdfjs_require__.m = modules;\n __w_pdfjs_require__.c = installedModules;\n __w_pdfjs_require__.i = function (value) {\n return value;\n };\n __w_pdfjs_require__.d = function (exports, name, getter) {\n if (!__w_pdfjs_require__.o(exports, name)) {\n Object.defineProperty(exports, name, {\n configurable: false,\n enumerable: true,\n get: getter\n });\n }\n };\n __w_pdfjs_require__.n = function (module) {\n var getter = module && module.__esModule ? function getDefault() {\n return module['default'];\n } : function getModuleExports() {\n return module;\n };\n __w_pdfjs_require__.d(getter, 'a', getter);\n return getter;\n };\n __w_pdfjs_require__.o = function (object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n };\n __w_pdfjs_require__.p = \"\";\n return __w_pdfjs_require__(__w_pdfjs_require__.s = 7);\n}([function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _typeof = typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\" ? function (obj) {\n return typeof obj === 'undefined' ? 'undefined' : _typeof2(obj);\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj === 'undefined' ? 'undefined' : _typeof2(obj);\n };\n var _require = __w_pdfjs_require__(1),\n assert = _require.assert;\n function IsPropertyKey(argument) {\n return typeof argument === 'string' || (typeof argument === 'undefined' ? 'undefined' : _typeof(argument)) === 'symbol';\n }\n exports.typeIsObject = function (x) {\n return (typeof x === 'undefined' ? 'undefined' : _typeof(x)) === 'object' && x !== null || typeof x === 'function';\n };\n exports.createDataProperty = function (o, p, v) {\n assert(exports.typeIsObject(o));\n Object.defineProperty(o, p, {\n value: v,\n writable: true,\n enumerable: true,\n configurable: true\n });\n };\n exports.createArrayFromList = function (elements) {\n return elements.slice();\n };\n exports.ArrayBufferCopy = function (dest, destOffset, src, srcOffset, n) {\n new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);\n };\n exports.CreateIterResultObject = function (value, done) {\n assert(typeof done === 'boolean');\n var obj = {};\n Object.defineProperty(obj, 'value', {\n value: value,\n enumerable: true,\n writable: true,\n configurable: true\n });\n Object.defineProperty(obj, 'done', {\n value: done,\n enumerable: true,\n writable: true,\n configurable: true\n });\n return obj;\n };\n exports.IsFiniteNonNegativeNumber = function (v) {\n if (Number.isNaN(v)) {\n return false;\n }\n if (v === Infinity) {\n return false;\n }\n if (v < 0) {\n return false;\n }\n return true;\n };\n function Call(F, V, args) {\n if (typeof F !== 'function') {\n throw new TypeError('Argument is not a function');\n }\n return Function.prototype.apply.call(F, V, args);\n }\n exports.InvokeOrNoop = function (O, P, args) {\n assert(O !== undefined);\n assert(IsPropertyKey(P));\n assert(Array.isArray(args));\n var method = O[P];\n if (method === undefined) {\n return undefined;\n }\n return Call(method, O, args);\n };\n exports.PromiseInvokeOrNoop = function (O, P, args) {\n assert(O !== undefined);\n assert(IsPropertyKey(P));\n assert(Array.isArray(args));\n try {\n return Promise.resolve(exports.InvokeOrNoop(O, P, args));\n } catch (returnValueE) {\n return Promise.reject(returnValueE);\n }\n };\n exports.PromiseInvokeOrPerformFallback = function (O, P, args, F, argsF) {\n assert(O !== undefined);\n assert(IsPropertyKey(P));\n assert(Array.isArray(args));\n assert(Array.isArray(argsF));\n var method = void 0;\n try {\n method = O[P];\n } catch (methodE) {\n return Promise.reject(methodE);\n }\n if (method === undefined) {\n return F.apply(null, argsF);\n }\n try {\n return Promise.resolve(Call(method, O, args));\n } catch (e) {\n return Promise.reject(e);\n }\n };\n exports.TransferArrayBuffer = function (O) {\n return O.slice();\n };\n exports.ValidateAndNormalizeHighWaterMark = function (highWaterMark) {\n highWaterMark = Number(highWaterMark);\n if (Number.isNaN(highWaterMark) || highWaterMark < 0) {\n throw new RangeError('highWaterMark property of a queuing strategy must be non-negative and non-NaN');\n }\n return highWaterMark;\n };\n exports.ValidateAndNormalizeQueuingStrategy = function (size, highWaterMark) {\n if (size !== undefined && typeof size !== 'function') {\n throw new TypeError('size property of a queuing strategy must be a function');\n }\n highWaterMark = exports.ValidateAndNormalizeHighWaterMark(highWaterMark);\n return {\n size: size,\n highWaterMark: highWaterMark\n };\n };\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n function rethrowAssertionErrorRejection(e) {\n if (e && e.constructor === AssertionError) {\n setTimeout(function () {\n throw e;\n }, 0);\n }\n }\n function AssertionError(message) {\n this.name = 'AssertionError';\n this.message = message || '';\n this.stack = new Error().stack;\n }\n AssertionError.prototype = Object.create(Error.prototype);\n AssertionError.prototype.constructor = AssertionError;\n function assert(value, message) {\n if (!value) {\n throw new AssertionError(message);\n }\n }\n module.exports = {\n rethrowAssertionErrorRejection: rethrowAssertionErrorRejection,\n AssertionError: AssertionError,\n assert: assert\n };\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n var _require = __w_pdfjs_require__(0),\n InvokeOrNoop = _require.InvokeOrNoop,\n PromiseInvokeOrNoop = _require.PromiseInvokeOrNoop,\n ValidateAndNormalizeQueuingStrategy = _require.ValidateAndNormalizeQueuingStrategy,\n typeIsObject = _require.typeIsObject;\n var _require2 = __w_pdfjs_require__(1),\n assert = _require2.assert,\n rethrowAssertionErrorRejection = _require2.rethrowAssertionErrorRejection;\n var _require3 = __w_pdfjs_require__(3),\n DequeueValue = _require3.DequeueValue,\n EnqueueValueWithSize = _require3.EnqueueValueWithSize,\n PeekQueueValue = _require3.PeekQueueValue,\n ResetQueue = _require3.ResetQueue;\n var WritableStream = function () {\n function WritableStream() {\n var underlyingSink = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n size = _ref.size,\n _ref$highWaterMark = _ref.highWaterMark,\n highWaterMark = _ref$highWaterMark === undefined ? 1 : _ref$highWaterMark;\n _classCallCheck(this, WritableStream);\n this._state = 'writable';\n this._storedError = undefined;\n this._writer = undefined;\n this._writableStreamController = undefined;\n this._writeRequests = [];\n this._inFlightWriteRequest = undefined;\n this._closeRequest = undefined;\n this._inFlightCloseRequest = undefined;\n this._pendingAbortRequest = undefined;\n this._backpressure = false;\n var type = underlyingSink.type;\n if (type !== undefined) {\n throw new RangeError('Invalid type is specified');\n }\n this._writableStreamController = new WritableStreamDefaultController(this, underlyingSink, size, highWaterMark);\n this._writableStreamController.__startSteps();\n }\n _createClass(WritableStream, [{\n key: 'abort',\n value: function abort(reason) {\n if (IsWritableStream(this) === false) {\n return Promise.reject(streamBrandCheckException('abort'));\n }\n if (IsWritableStreamLocked(this) === true) {\n return Promise.reject(new TypeError('Cannot abort a stream that already has a writer'));\n }\n return WritableStreamAbort(this, reason);\n }\n }, {\n key: 'getWriter',\n value: function getWriter() {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('getWriter');\n }\n return AcquireWritableStreamDefaultWriter(this);\n }\n }, {\n key: 'locked',\n get: function get() {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('locked');\n }\n return IsWritableStreamLocked(this);\n }\n }]);\n return WritableStream;\n }();\n module.exports = {\n AcquireWritableStreamDefaultWriter: AcquireWritableStreamDefaultWriter,\n IsWritableStream: IsWritableStream,\n IsWritableStreamLocked: IsWritableStreamLocked,\n WritableStream: WritableStream,\n WritableStreamAbort: WritableStreamAbort,\n WritableStreamDefaultControllerError: WritableStreamDefaultControllerError,\n WritableStreamDefaultWriterCloseWithErrorPropagation: WritableStreamDefaultWriterCloseWithErrorPropagation,\n WritableStreamDefaultWriterRelease: WritableStreamDefaultWriterRelease,\n WritableStreamDefaultWriterWrite: WritableStreamDefaultWriterWrite,\n WritableStreamCloseQueuedOrInFlight: WritableStreamCloseQueuedOrInFlight\n };\n function AcquireWritableStreamDefaultWriter(stream) {\n return new WritableStreamDefaultWriter(stream);\n }\n function IsWritableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {\n return false;\n }\n return true;\n }\n function IsWritableStreamLocked(stream) {\n assert(IsWritableStream(stream) === true, 'IsWritableStreamLocked should only be used on known writable streams');\n if (stream._writer === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamAbort(stream, reason) {\n var state = stream._state;\n if (state === 'closed') {\n return Promise.resolve(undefined);\n }\n if (state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n var error = new TypeError('Requested to abort');\n if (stream._pendingAbortRequest !== undefined) {\n return Promise.reject(error);\n }\n assert(state === 'writable' || state === 'erroring', 'state must be writable or erroring');\n var wasAlreadyErroring = false;\n if (state === 'erroring') {\n wasAlreadyErroring = true;\n reason = undefined;\n }\n var promise = new Promise(function (resolve, reject) {\n stream._pendingAbortRequest = {\n _resolve: resolve,\n _reject: reject,\n _reason: reason,\n _wasAlreadyErroring: wasAlreadyErroring\n };\n });\n if (wasAlreadyErroring === false) {\n WritableStreamStartErroring(stream, error);\n }\n return promise;\n }\n function WritableStreamAddWriteRequest(stream) {\n assert(IsWritableStreamLocked(stream) === true);\n assert(stream._state === 'writable');\n var promise = new Promise(function (resolve, reject) {\n var writeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._writeRequests.push(writeRequest);\n });\n return promise;\n }\n function WritableStreamDealWithRejection(stream, error) {\n var state = stream._state;\n if (state === 'writable') {\n WritableStreamStartErroring(stream, error);\n return;\n }\n assert(state === 'erroring');\n WritableStreamFinishErroring(stream);\n }\n function WritableStreamStartErroring(stream, reason) {\n assert(stream._storedError === undefined, 'stream._storedError === undefined');\n assert(stream._state === 'writable', 'state must be writable');\n var controller = stream._writableStreamController;\n assert(controller !== undefined, 'controller must not be undefined');\n stream._state = 'erroring';\n stream._storedError = reason;\n var writer = stream._writer;\n if (writer !== undefined) {\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);\n }\n if (WritableStreamHasOperationMarkedInFlight(stream) === false && controller._started === true) {\n WritableStreamFinishErroring(stream);\n }\n }\n function WritableStreamFinishErroring(stream) {\n assert(stream._state === 'erroring', 'stream._state === erroring');\n assert(WritableStreamHasOperationMarkedInFlight(stream) === false, 'WritableStreamHasOperationMarkedInFlight(stream) === false');\n stream._state = 'errored';\n stream._writableStreamController.__errorSteps();\n var storedError = stream._storedError;\n for (var i = 0; i < stream._writeRequests.length; i++) {\n var writeRequest = stream._writeRequests[i];\n writeRequest._reject(storedError);\n }\n stream._writeRequests = [];\n if (stream._pendingAbortRequest === undefined) {\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n var abortRequest = stream._pendingAbortRequest;\n stream._pendingAbortRequest = undefined;\n if (abortRequest._wasAlreadyErroring === true) {\n abortRequest._reject(storedError);\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n var promise = stream._writableStreamController.__abortSteps(abortRequest._reason);\n promise.then(function () {\n abortRequest._resolve();\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n }, function (reason) {\n abortRequest._reject(reason);\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n });\n }\n function WritableStreamFinishInFlightWrite(stream) {\n assert(stream._inFlightWriteRequest !== undefined);\n stream._inFlightWriteRequest._resolve(undefined);\n stream._inFlightWriteRequest = undefined;\n }\n function WritableStreamFinishInFlightWriteWithError(stream, error) {\n assert(stream._inFlightWriteRequest !== undefined);\n stream._inFlightWriteRequest._reject(error);\n stream._inFlightWriteRequest = undefined;\n assert(stream._state === 'writable' || stream._state === 'erroring');\n WritableStreamDealWithRejection(stream, error);\n }\n function WritableStreamFinishInFlightClose(stream) {\n assert(stream._inFlightCloseRequest !== undefined);\n stream._inFlightCloseRequest._resolve(undefined);\n stream._inFlightCloseRequest = undefined;\n var state = stream._state;\n assert(state === 'writable' || state === 'erroring');\n if (state === 'erroring') {\n stream._storedError = undefined;\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._resolve();\n stream._pendingAbortRequest = undefined;\n }\n }\n stream._state = 'closed';\n var writer = stream._writer;\n if (writer !== undefined) {\n defaultWriterClosedPromiseResolve(writer);\n }\n assert(stream._pendingAbortRequest === undefined, 'stream._pendingAbortRequest === undefined');\n assert(stream._storedError === undefined, 'stream._storedError === undefined');\n }\n function WritableStreamFinishInFlightCloseWithError(stream, error) {\n assert(stream._inFlightCloseRequest !== undefined);\n stream._inFlightCloseRequest._reject(error);\n stream._inFlightCloseRequest = undefined;\n assert(stream._state === 'writable' || stream._state === 'erroring');\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._reject(error);\n stream._pendingAbortRequest = undefined;\n }\n WritableStreamDealWithRejection(stream, error);\n }\n function WritableStreamCloseQueuedOrInFlight(stream) {\n if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamHasOperationMarkedInFlight(stream) {\n if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamMarkCloseRequestInFlight(stream) {\n assert(stream._inFlightCloseRequest === undefined);\n assert(stream._closeRequest !== undefined);\n stream._inFlightCloseRequest = stream._closeRequest;\n stream._closeRequest = undefined;\n }\n function WritableStreamMarkFirstWriteRequestInFlight(stream) {\n assert(stream._inFlightWriteRequest === undefined, 'there must be no pending write request');\n assert(stream._writeRequests.length !== 0, 'writeRequests must not be empty');\n stream._inFlightWriteRequest = stream._writeRequests.shift();\n }\n function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {\n assert(stream._state === 'errored', '_stream_.[[state]] is `\"errored\"`');\n if (stream._closeRequest !== undefined) {\n assert(stream._inFlightCloseRequest === undefined);\n stream._closeRequest._reject(stream._storedError);\n stream._closeRequest = undefined;\n }\n var writer = stream._writer;\n if (writer !== undefined) {\n defaultWriterClosedPromiseReject(writer, stream._storedError);\n writer._closedPromise.catch(function () {});\n }\n }\n function WritableStreamUpdateBackpressure(stream, backpressure) {\n assert(stream._state === 'writable');\n assert(WritableStreamCloseQueuedOrInFlight(stream) === false);\n var writer = stream._writer;\n if (writer !== undefined && backpressure !== stream._backpressure) {\n if (backpressure === true) {\n defaultWriterReadyPromiseReset(writer);\n } else {\n assert(backpressure === false);\n defaultWriterReadyPromiseResolve(writer);\n }\n }\n stream._backpressure = backpressure;\n }\n var WritableStreamDefaultWriter = function () {\n function WritableStreamDefaultWriter(stream) {\n _classCallCheck(this, WritableStreamDefaultWriter);\n if (IsWritableStream(stream) === false) {\n throw new TypeError('WritableStreamDefaultWriter can only be constructed with a WritableStream instance');\n }\n if (IsWritableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive writing by another writer');\n }\n this._ownerWritableStream = stream;\n stream._writer = this;\n var state = stream._state;\n if (state === 'writable') {\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._backpressure === true) {\n defaultWriterReadyPromiseInitialize(this);\n } else {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n }\n defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'erroring') {\n defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);\n this._readyPromise.catch(function () {});\n defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'closed') {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n defaultWriterClosedPromiseInitializeAsResolved(this);\n } else {\n assert(state === 'errored', 'state must be errored');\n var storedError = stream._storedError;\n defaultWriterReadyPromiseInitializeAsRejected(this, storedError);\n this._readyPromise.catch(function () {});\n defaultWriterClosedPromiseInitializeAsRejected(this, storedError);\n this._closedPromise.catch(function () {});\n }\n }\n _createClass(WritableStreamDefaultWriter, [{\n key: 'abort',\n value: function abort(reason) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('abort'));\n }\n if (this._ownerWritableStream === undefined) {\n return Promise.reject(defaultWriterLockException('abort'));\n }\n return WritableStreamDefaultWriterAbort(this, reason);\n }\n }, {\n key: 'close',\n value: function close() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('close'));\n }\n var stream = this._ownerWritableStream;\n if (stream === undefined) {\n return Promise.reject(defaultWriterLockException('close'));\n }\n if (WritableStreamCloseQueuedOrInFlight(stream) === true) {\n return Promise.reject(new TypeError('cannot close an already-closing stream'));\n }\n return WritableStreamDefaultWriterClose(this);\n }\n }, {\n key: 'releaseLock',\n value: function releaseLock() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('releaseLock');\n }\n var stream = this._ownerWritableStream;\n if (stream === undefined) {\n return;\n }\n assert(stream._writer !== undefined);\n WritableStreamDefaultWriterRelease(this);\n }\n }, {\n key: 'write',\n value: function write(chunk) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('write'));\n }\n if (this._ownerWritableStream === undefined) {\n return Promise.reject(defaultWriterLockException('write to'));\n }\n return WritableStreamDefaultWriterWrite(this, chunk);\n }\n }, {\n key: 'closed',\n get: function get() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('closed'));\n }\n return this._closedPromise;\n }\n }, {\n key: 'desiredSize',\n get: function get() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('desiredSize');\n }\n if (this._ownerWritableStream === undefined) {\n throw defaultWriterLockException('desiredSize');\n }\n return WritableStreamDefaultWriterGetDesiredSize(this);\n }\n }, {\n key: 'ready',\n get: function get() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('ready'));\n }\n return this._readyPromise;\n }\n }]);\n return WritableStreamDefaultWriter;\n }();\n function IsWritableStreamDefaultWriter(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {\n return false;\n }\n return true;\n }\n function WritableStreamDefaultWriterAbort(writer, reason) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n return WritableStreamAbort(stream, reason);\n }\n function WritableStreamDefaultWriterClose(writer) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n var state = stream._state;\n if (state === 'closed' || state === 'errored') {\n return Promise.reject(new TypeError('The stream (in ' + state + ' state) is not in the writable state and cannot be closed'));\n }\n assert(state === 'writable' || state === 'erroring');\n assert(WritableStreamCloseQueuedOrInFlight(stream) === false);\n var promise = new Promise(function (resolve, reject) {\n var closeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._closeRequest = closeRequest;\n });\n if (stream._backpressure === true && state === 'writable') {\n defaultWriterReadyPromiseResolve(writer);\n }\n WritableStreamDefaultControllerClose(stream._writableStreamController);\n return promise;\n }\n function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n var state = stream._state;\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return Promise.resolve();\n }\n if (state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n assert(state === 'writable' || state === 'erroring');\n return WritableStreamDefaultWriterClose(writer);\n }\n function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {\n if (writer._closedPromiseState === 'pending') {\n defaultWriterClosedPromiseReject(writer, error);\n } else {\n defaultWriterClosedPromiseResetToRejected(writer, error);\n }\n writer._closedPromise.catch(function () {});\n }\n function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {\n if (writer._readyPromiseState === 'pending') {\n defaultWriterReadyPromiseReject(writer, error);\n } else {\n defaultWriterReadyPromiseResetToRejected(writer, error);\n }\n writer._readyPromise.catch(function () {});\n }\n function WritableStreamDefaultWriterGetDesiredSize(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n if (state === 'errored' || state === 'erroring') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);\n }\n function WritableStreamDefaultWriterRelease(writer) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n assert(stream._writer === writer);\n var releasedError = new TypeError('Writer was released and can no longer be used to monitor the stream\\'s closedness');\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);\n WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);\n stream._writer = undefined;\n writer._ownerWritableStream = undefined;\n }\n function WritableStreamDefaultWriterWrite(writer, chunk) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n var controller = stream._writableStreamController;\n var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);\n if (stream !== writer._ownerWritableStream) {\n return Promise.reject(defaultWriterLockException('write to'));\n }\n var state = stream._state;\n if (state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return Promise.reject(new TypeError('The stream is closing or closed and cannot be written to'));\n }\n if (state === 'erroring') {\n return Promise.reject(stream._storedError);\n }\n assert(state === 'writable');\n var promise = WritableStreamAddWriteRequest(stream);\n WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);\n return promise;\n }\n var WritableStreamDefaultController = function () {\n function WritableStreamDefaultController(stream, underlyingSink, size, highWaterMark) {\n _classCallCheck(this, WritableStreamDefaultController);\n if (IsWritableStream(stream) === false) {\n throw new TypeError('WritableStreamDefaultController can only be constructed with a WritableStream instance');\n }\n if (stream._writableStreamController !== undefined) {\n throw new TypeError('WritableStreamDefaultController instances can only be created by the WritableStream constructor');\n }\n this._controlledWritableStream = stream;\n this._underlyingSink = underlyingSink;\n this._queue = undefined;\n this._queueTotalSize = undefined;\n ResetQueue(this);\n this._started = false;\n var normalizedStrategy = ValidateAndNormalizeQueuingStrategy(size, highWaterMark);\n this._strategySize = normalizedStrategy.size;\n this._strategyHWM = normalizedStrategy.highWaterMark;\n var backpressure = WritableStreamDefaultControllerGetBackpressure(this);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n _createClass(WritableStreamDefaultController, [{\n key: 'error',\n value: function error(e) {\n if (IsWritableStreamDefaultController(this) === false) {\n throw new TypeError('WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController');\n }\n var state = this._controlledWritableStream._state;\n if (state !== 'writable') {\n return;\n }\n WritableStreamDefaultControllerError(this, e);\n }\n }, {\n key: '__abortSteps',\n value: function __abortSteps(reason) {\n return PromiseInvokeOrNoop(this._underlyingSink, 'abort', [reason]);\n }\n }, {\n key: '__errorSteps',\n value: function __errorSteps() {\n ResetQueue(this);\n }\n }, {\n key: '__startSteps',\n value: function __startSteps() {\n var _this = this;\n var startResult = InvokeOrNoop(this._underlyingSink, 'start', [this]);\n var stream = this._controlledWritableStream;\n Promise.resolve(startResult).then(function () {\n assert(stream._state === 'writable' || stream._state === 'erroring');\n _this._started = true;\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(_this);\n }, function (r) {\n assert(stream._state === 'writable' || stream._state === 'erroring');\n _this._started = true;\n WritableStreamDealWithRejection(stream, r);\n }).catch(rethrowAssertionErrorRejection);\n }\n }]);\n return WritableStreamDefaultController;\n }();\n function WritableStreamDefaultControllerClose(controller) {\n EnqueueValueWithSize(controller, 'close', 0);\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n function WritableStreamDefaultControllerGetChunkSize(controller, chunk) {\n var strategySize = controller._strategySize;\n if (strategySize === undefined) {\n return 1;\n }\n try {\n return strategySize(chunk);\n } catch (chunkSizeE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n return 1;\n }\n }\n function WritableStreamDefaultControllerGetDesiredSize(controller) {\n return controller._strategyHWM - controller._queueTotalSize;\n }\n function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {\n var writeRecord = { chunk: chunk };\n try {\n EnqueueValueWithSize(controller, writeRecord, chunkSize);\n } catch (enqueueE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n return;\n }\n var stream = controller._controlledWritableStream;\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n function IsWritableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_underlyingSink')) {\n return false;\n }\n return true;\n }\n function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {\n var stream = controller._controlledWritableStream;\n if (controller._started === false) {\n return;\n }\n if (stream._inFlightWriteRequest !== undefined) {\n return;\n }\n var state = stream._state;\n if (state === 'closed' || state === 'errored') {\n return;\n }\n if (state === 'erroring') {\n WritableStreamFinishErroring(stream);\n return;\n }\n if (controller._queue.length === 0) {\n return;\n }\n var writeRecord = PeekQueueValue(controller);\n if (writeRecord === 'close') {\n WritableStreamDefaultControllerProcessClose(controller);\n } else {\n WritableStreamDefaultControllerProcessWrite(controller, writeRecord.chunk);\n }\n }\n function WritableStreamDefaultControllerErrorIfNeeded(controller, error) {\n if (controller._controlledWritableStream._state === 'writable') {\n WritableStreamDefaultControllerError(controller, error);\n }\n }\n function WritableStreamDefaultControllerProcessClose(controller) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkCloseRequestInFlight(stream);\n DequeueValue(controller);\n assert(controller._queue.length === 0, 'queue must be empty once the final write record is dequeued');\n var sinkClosePromise = PromiseInvokeOrNoop(controller._underlyingSink, 'close', []);\n sinkClosePromise.then(function () {\n WritableStreamFinishInFlightClose(stream);\n }, function (reason) {\n WritableStreamFinishInFlightCloseWithError(stream, reason);\n }).catch(rethrowAssertionErrorRejection);\n }\n function WritableStreamDefaultControllerProcessWrite(controller, chunk) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkFirstWriteRequestInFlight(stream);\n var sinkWritePromise = PromiseInvokeOrNoop(controller._underlyingSink, 'write', [chunk, controller]);\n sinkWritePromise.then(function () {\n WritableStreamFinishInFlightWrite(stream);\n var state = stream._state;\n assert(state === 'writable' || state === 'erroring');\n DequeueValue(controller);\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, function (reason) {\n WritableStreamFinishInFlightWriteWithError(stream, reason);\n }).catch(rethrowAssertionErrorRejection);\n }\n function WritableStreamDefaultControllerGetBackpressure(controller) {\n var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);\n return desiredSize <= 0;\n }\n function WritableStreamDefaultControllerError(controller, error) {\n var stream = controller._controlledWritableStream;\n assert(stream._state === 'writable');\n WritableStreamStartErroring(stream, error);\n }\n function streamBrandCheckException(name) {\n return new TypeError('WritableStream.prototype.' + name + ' can only be used on a WritableStream');\n }\n function defaultWriterBrandCheckException(name) {\n return new TypeError('WritableStreamDefaultWriter.prototype.' + name + ' can only be used on a WritableStreamDefaultWriter');\n }\n function defaultWriterLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released writer');\n }\n function defaultWriterClosedPromiseInitialize(writer) {\n writer._closedPromise = new Promise(function (resolve, reject) {\n writer._closedPromise_resolve = resolve;\n writer._closedPromise_reject = reject;\n writer._closedPromiseState = 'pending';\n });\n }\n function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {\n writer._closedPromise = Promise.reject(reason);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'rejected';\n }\n function defaultWriterClosedPromiseInitializeAsResolved(writer) {\n writer._closedPromise = Promise.resolve(undefined);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'resolved';\n }\n function defaultWriterClosedPromiseReject(writer, reason) {\n assert(writer._closedPromise_resolve !== undefined, 'writer._closedPromise_resolve !== undefined');\n assert(writer._closedPromise_reject !== undefined, 'writer._closedPromise_reject !== undefined');\n assert(writer._closedPromiseState === 'pending', 'writer._closedPromiseState is pending');\n writer._closedPromise_reject(reason);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'rejected';\n }\n function defaultWriterClosedPromiseResetToRejected(writer, reason) {\n assert(writer._closedPromise_resolve === undefined, 'writer._closedPromise_resolve === undefined');\n assert(writer._closedPromise_reject === undefined, 'writer._closedPromise_reject === undefined');\n assert(writer._closedPromiseState !== 'pending', 'writer._closedPromiseState is not pending');\n writer._closedPromise = Promise.reject(reason);\n writer._closedPromiseState = 'rejected';\n }\n function defaultWriterClosedPromiseResolve(writer) {\n assert(writer._closedPromise_resolve !== undefined, 'writer._closedPromise_resolve !== undefined');\n assert(writer._closedPromise_reject !== undefined, 'writer._closedPromise_reject !== undefined');\n assert(writer._closedPromiseState === 'pending', 'writer._closedPromiseState is pending');\n writer._closedPromise_resolve(undefined);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'resolved';\n }\n function defaultWriterReadyPromiseInitialize(writer) {\n writer._readyPromise = new Promise(function (resolve, reject) {\n writer._readyPromise_resolve = resolve;\n writer._readyPromise_reject = reject;\n });\n writer._readyPromiseState = 'pending';\n }\n function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {\n writer._readyPromise = Promise.reject(reason);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'rejected';\n }\n function defaultWriterReadyPromiseInitializeAsResolved(writer) {\n writer._readyPromise = Promise.resolve(undefined);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'fulfilled';\n }\n function defaultWriterReadyPromiseReject(writer, reason) {\n assert(writer._readyPromise_resolve !== undefined, 'writer._readyPromise_resolve !== undefined');\n assert(writer._readyPromise_reject !== undefined, 'writer._readyPromise_reject !== undefined');\n writer._readyPromise_reject(reason);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'rejected';\n }\n function defaultWriterReadyPromiseReset(writer) {\n assert(writer._readyPromise_resolve === undefined, 'writer._readyPromise_resolve === undefined');\n assert(writer._readyPromise_reject === undefined, 'writer._readyPromise_reject === undefined');\n writer._readyPromise = new Promise(function (resolve, reject) {\n writer._readyPromise_resolve = resolve;\n writer._readyPromise_reject = reject;\n });\n writer._readyPromiseState = 'pending';\n }\n function defaultWriterReadyPromiseResetToRejected(writer, reason) {\n assert(writer._readyPromise_resolve === undefined, 'writer._readyPromise_resolve === undefined');\n assert(writer._readyPromise_reject === undefined, 'writer._readyPromise_reject === undefined');\n writer._readyPromise = Promise.reject(reason);\n writer._readyPromiseState = 'rejected';\n }\n function defaultWriterReadyPromiseResolve(writer) {\n assert(writer._readyPromise_resolve !== undefined, 'writer._readyPromise_resolve !== undefined');\n assert(writer._readyPromise_reject !== undefined, 'writer._readyPromise_reject !== undefined');\n writer._readyPromise_resolve(undefined);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'fulfilled';\n }\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _require = __w_pdfjs_require__(0),\n IsFiniteNonNegativeNumber = _require.IsFiniteNonNegativeNumber;\n var _require2 = __w_pdfjs_require__(1),\n assert = _require2.assert;\n exports.DequeueValue = function (container) {\n assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: DequeueValue should only be used on containers with [[queue]] and [[queueTotalSize]].');\n assert(container._queue.length > 0, 'Spec-level failure: should never dequeue from an empty queue.');\n var pair = container._queue.shift();\n container._queueTotalSize -= pair.size;\n if (container._queueTotalSize < 0) {\n container._queueTotalSize = 0;\n }\n return pair.value;\n };\n exports.EnqueueValueWithSize = function (container, value, size) {\n assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: EnqueueValueWithSize should only be used on containers with [[queue]] and ' + '[[queueTotalSize]].');\n size = Number(size);\n if (!IsFiniteNonNegativeNumber(size)) {\n throw new RangeError('Size must be a finite, non-NaN, non-negative number.');\n }\n container._queue.push({\n value: value,\n size: size\n });\n container._queueTotalSize += size;\n };\n exports.PeekQueueValue = function (container) {\n assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: PeekQueueValue should only be used on containers with [[queue]] and [[queueTotalSize]].');\n assert(container._queue.length > 0, 'Spec-level failure: should never peek at an empty queue.');\n var pair = container._queue[0];\n return pair.value;\n };\n exports.ResetQueue = function (container) {\n assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: ResetQueue should only be used on containers with [[queue]] and [[queueTotalSize]].');\n container._queue = [];\n container._queueTotalSize = 0;\n };\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n var _require = __w_pdfjs_require__(0),\n ArrayBufferCopy = _require.ArrayBufferCopy,\n CreateIterResultObject = _require.CreateIterResultObject,\n IsFiniteNonNegativeNumber = _require.IsFiniteNonNegativeNumber,\n InvokeOrNoop = _require.InvokeOrNoop,\n PromiseInvokeOrNoop = _require.PromiseInvokeOrNoop,\n TransferArrayBuffer = _require.TransferArrayBuffer,\n ValidateAndNormalizeQueuingStrategy = _require.ValidateAndNormalizeQueuingStrategy,\n ValidateAndNormalizeHighWaterMark = _require.ValidateAndNormalizeHighWaterMark;\n var _require2 = __w_pdfjs_require__(0),\n createArrayFromList = _require2.createArrayFromList,\n createDataProperty = _require2.createDataProperty,\n typeIsObject = _require2.typeIsObject;\n var _require3 = __w_pdfjs_require__(1),\n assert = _require3.assert,\n rethrowAssertionErrorRejection = _require3.rethrowAssertionErrorRejection;\n var _require4 = __w_pdfjs_require__(3),\n DequeueValue = _require4.DequeueValue,\n EnqueueValueWithSize = _require4.EnqueueValueWithSize,\n ResetQueue = _require4.ResetQueue;\n var _require5 = __w_pdfjs_require__(2),\n AcquireWritableStreamDefaultWriter = _require5.AcquireWritableStreamDefaultWriter,\n IsWritableStream = _require5.IsWritableStream,\n IsWritableStreamLocked = _require5.IsWritableStreamLocked,\n WritableStreamAbort = _require5.WritableStreamAbort,\n WritableStreamDefaultWriterCloseWithErrorPropagation = _require5.WritableStreamDefaultWriterCloseWithErrorPropagation,\n WritableStreamDefaultWriterRelease = _require5.WritableStreamDefaultWriterRelease,\n WritableStreamDefaultWriterWrite = _require5.WritableStreamDefaultWriterWrite,\n WritableStreamCloseQueuedOrInFlight = _require5.WritableStreamCloseQueuedOrInFlight;\n var ReadableStream = function () {\n function ReadableStream() {\n var underlyingSource = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n size = _ref.size,\n highWaterMark = _ref.highWaterMark;\n _classCallCheck(this, ReadableStream);\n this._state = 'readable';\n this._reader = undefined;\n this._storedError = undefined;\n this._disturbed = false;\n this._readableStreamController = undefined;\n var type = underlyingSource.type;\n var typeString = String(type);\n if (typeString === 'bytes') {\n if (highWaterMark === undefined) {\n highWaterMark = 0;\n }\n this._readableStreamController = new ReadableByteStreamController(this, underlyingSource, highWaterMark);\n } else if (type === undefined) {\n if (highWaterMark === undefined) {\n highWaterMark = 1;\n }\n this._readableStreamController = new ReadableStreamDefaultController(this, underlyingSource, size, highWaterMark);\n } else {\n throw new RangeError('Invalid type is specified');\n }\n }\n _createClass(ReadableStream, [{\n key: 'cancel',\n value: function cancel(reason) {\n if (IsReadableStream(this) === false) {\n return Promise.reject(streamBrandCheckException('cancel'));\n }\n if (IsReadableStreamLocked(this) === true) {\n return Promise.reject(new TypeError('Cannot cancel a stream that already has a reader'));\n }\n return ReadableStreamCancel(this, reason);\n }\n }, {\n key: 'getReader',\n value: function getReader() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n mode = _ref2.mode;\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException('getReader');\n }\n if (mode === undefined) {\n return AcquireReadableStreamDefaultReader(this);\n }\n mode = String(mode);\n if (mode === 'byob') {\n return AcquireReadableStreamBYOBReader(this);\n }\n throw new RangeError('Invalid mode is specified');\n }\n }, {\n key: 'pipeThrough',\n value: function pipeThrough(_ref3, options) {\n var writable = _ref3.writable,\n readable = _ref3.readable;\n var promise = this.pipeTo(writable, options);\n ifIsObjectAndHasAPromiseIsHandledInternalSlotSetPromiseIsHandledToTrue(promise);\n return readable;\n }\n }, {\n key: 'pipeTo',\n value: function pipeTo(dest) {\n var _this = this;\n var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n preventClose = _ref4.preventClose,\n preventAbort = _ref4.preventAbort,\n preventCancel = _ref4.preventCancel;\n if (IsReadableStream(this) === false) {\n return Promise.reject(streamBrandCheckException('pipeTo'));\n }\n if (IsWritableStream(dest) === false) {\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo\\'s first argument must be a WritableStream'));\n }\n preventClose = Boolean(preventClose);\n preventAbort = Boolean(preventAbort);\n preventCancel = Boolean(preventCancel);\n if (IsReadableStreamLocked(this) === true) {\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));\n }\n if (IsWritableStreamLocked(dest) === true) {\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));\n }\n var reader = AcquireReadableStreamDefaultReader(this);\n var writer = AcquireWritableStreamDefaultWriter(dest);\n var shuttingDown = false;\n var currentWrite = Promise.resolve();\n return new Promise(function (resolve, reject) {\n function pipeLoop() {\n currentWrite = Promise.resolve();\n if (shuttingDown === true) {\n return Promise.resolve();\n }\n return writer._readyPromise.then(function () {\n return ReadableStreamDefaultReaderRead(reader).then(function (_ref5) {\n var value = _ref5.value,\n done = _ref5.done;\n if (done === true) {\n return;\n }\n currentWrite = WritableStreamDefaultWriterWrite(writer, value).catch(function () {});\n });\n }).then(pipeLoop);\n }\n isOrBecomesErrored(_this, reader._closedPromise, function (storedError) {\n if (preventAbort === false) {\n shutdownWithAction(function () {\n return WritableStreamAbort(dest, storedError);\n }, true, storedError);\n } else {\n shutdown(true, storedError);\n }\n });\n isOrBecomesErrored(dest, writer._closedPromise, function (storedError) {\n if (preventCancel === false) {\n shutdownWithAction(function () {\n return ReadableStreamCancel(_this, storedError);\n }, true, storedError);\n } else {\n shutdown(true, storedError);\n }\n });\n isOrBecomesClosed(_this, reader._closedPromise, function () {\n if (preventClose === false) {\n shutdownWithAction(function () {\n return WritableStreamDefaultWriterCloseWithErrorPropagation(writer);\n });\n } else {\n shutdown();\n }\n });\n if (WritableStreamCloseQueuedOrInFlight(dest) === true || dest._state === 'closed') {\n var destClosed = new TypeError('the destination writable stream closed before all data could be piped to it');\n if (preventCancel === false) {\n shutdownWithAction(function () {\n return ReadableStreamCancel(_this, destClosed);\n }, true, destClosed);\n } else {\n shutdown(true, destClosed);\n }\n }\n pipeLoop().catch(function (err) {\n currentWrite = Promise.resolve();\n rethrowAssertionErrorRejection(err);\n });\n function waitForWritesToFinish() {\n var oldCurrentWrite = currentWrite;\n return currentWrite.then(function () {\n return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined;\n });\n }\n function isOrBecomesErrored(stream, promise, action) {\n if (stream._state === 'errored') {\n action(stream._storedError);\n } else {\n promise.catch(action).catch(rethrowAssertionErrorRejection);\n }\n }\n function isOrBecomesClosed(stream, promise, action) {\n if (stream._state === 'closed') {\n action();\n } else {\n promise.then(action).catch(rethrowAssertionErrorRejection);\n }\n }\n function shutdownWithAction(action, originalIsError, originalError) {\n if (shuttingDown === true) {\n return;\n }\n shuttingDown = true;\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n waitForWritesToFinish().then(doTheRest);\n } else {\n doTheRest();\n }\n function doTheRest() {\n action().then(function () {\n return finalize(originalIsError, originalError);\n }, function (newError) {\n return finalize(true, newError);\n }).catch(rethrowAssertionErrorRejection);\n }\n }\n function shutdown(isError, error) {\n if (shuttingDown === true) {\n return;\n }\n shuttingDown = true;\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n waitForWritesToFinish().then(function () {\n return finalize(isError, error);\n }).catch(rethrowAssertionErrorRejection);\n } else {\n finalize(isError, error);\n }\n }\n function finalize(isError, error) {\n WritableStreamDefaultWriterRelease(writer);\n ReadableStreamReaderGenericRelease(reader);\n if (isError) {\n reject(error);\n } else {\n resolve(undefined);\n }\n }\n });\n }\n }, {\n key: 'tee',\n value: function tee() {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException('tee');\n }\n var branches = ReadableStreamTee(this, false);\n return createArrayFromList(branches);\n }\n }, {\n key: 'locked',\n get: function get() {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException('locked');\n }\n return IsReadableStreamLocked(this);\n }\n }]);\n return ReadableStream;\n }();\n module.exports = {\n ReadableStream: ReadableStream,\n IsReadableStreamDisturbed: IsReadableStreamDisturbed,\n ReadableStreamDefaultControllerClose: ReadableStreamDefaultControllerClose,\n ReadableStreamDefaultControllerEnqueue: ReadableStreamDefaultControllerEnqueue,\n ReadableStreamDefaultControllerError: ReadableStreamDefaultControllerError,\n ReadableStreamDefaultControllerGetDesiredSize: ReadableStreamDefaultControllerGetDesiredSize\n };\n function AcquireReadableStreamBYOBReader(stream) {\n return new ReadableStreamBYOBReader(stream);\n }\n function AcquireReadableStreamDefaultReader(stream) {\n return new ReadableStreamDefaultReader(stream);\n }\n function IsReadableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {\n return false;\n }\n return true;\n }\n function IsReadableStreamDisturbed(stream) {\n assert(IsReadableStream(stream) === true, 'IsReadableStreamDisturbed should only be used on known readable streams');\n return stream._disturbed;\n }\n function IsReadableStreamLocked(stream) {\n assert(IsReadableStream(stream) === true, 'IsReadableStreamLocked should only be used on known readable streams');\n if (stream._reader === undefined) {\n return false;\n }\n return true;\n }\n function ReadableStreamTee(stream, cloneForBranch2) {\n assert(IsReadableStream(stream) === true);\n assert(typeof cloneForBranch2 === 'boolean');\n var reader = AcquireReadableStreamDefaultReader(stream);\n var teeState = {\n closedOrErrored: false,\n canceled1: false,\n canceled2: false,\n reason1: undefined,\n reason2: undefined\n };\n teeState.promise = new Promise(function (resolve) {\n teeState._resolve = resolve;\n });\n var pull = create_ReadableStreamTeePullFunction();\n pull._reader = reader;\n pull._teeState = teeState;\n pull._cloneForBranch2 = cloneForBranch2;\n var cancel1 = create_ReadableStreamTeeBranch1CancelFunction();\n cancel1._stream = stream;\n cancel1._teeState = teeState;\n var cancel2 = create_ReadableStreamTeeBranch2CancelFunction();\n cancel2._stream = stream;\n cancel2._teeState = teeState;\n var underlyingSource1 = Object.create(Object.prototype);\n createDataProperty(underlyingSource1, 'pull', pull);\n createDataProperty(underlyingSource1, 'cancel', cancel1);\n var branch1Stream = new ReadableStream(underlyingSource1);\n var underlyingSource2 = Object.create(Object.prototype);\n createDataProperty(underlyingSource2, 'pull', pull);\n createDataProperty(underlyingSource2, 'cancel', cancel2);\n var branch2Stream = new ReadableStream(underlyingSource2);\n pull._branch1 = branch1Stream._readableStreamController;\n pull._branch2 = branch2Stream._readableStreamController;\n reader._closedPromise.catch(function (r) {\n if (teeState.closedOrErrored === true) {\n return;\n }\n ReadableStreamDefaultControllerError(pull._branch1, r);\n ReadableStreamDefaultControllerError(pull._branch2, r);\n teeState.closedOrErrored = true;\n });\n return [branch1Stream, branch2Stream];\n }\n function create_ReadableStreamTeePullFunction() {\n function f() {\n var reader = f._reader,\n branch1 = f._branch1,\n branch2 = f._branch2,\n teeState = f._teeState;\n return ReadableStreamDefaultReaderRead(reader).then(function (result) {\n assert(typeIsObject(result));\n var value = result.value;\n var done = result.done;\n assert(typeof done === 'boolean');\n if (done === true && teeState.closedOrErrored === false) {\n if (teeState.canceled1 === false) {\n ReadableStreamDefaultControllerClose(branch1);\n }\n if (teeState.canceled2 === false) {\n ReadableStreamDefaultControllerClose(branch2);\n }\n teeState.closedOrErrored = true;\n }\n if (teeState.closedOrErrored === true) {\n return;\n }\n var value1 = value;\n var value2 = value;\n if (teeState.canceled1 === false) {\n ReadableStreamDefaultControllerEnqueue(branch1, value1);\n }\n if (teeState.canceled2 === false) {\n ReadableStreamDefaultControllerEnqueue(branch2, value2);\n }\n });\n }\n return f;\n }\n function create_ReadableStreamTeeBranch1CancelFunction() {\n function f(reason) {\n var stream = f._stream,\n teeState = f._teeState;\n teeState.canceled1 = true;\n teeState.reason1 = reason;\n if (teeState.canceled2 === true) {\n var compositeReason = createArrayFromList([teeState.reason1, teeState.reason2]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n teeState._resolve(cancelResult);\n }\n return teeState.promise;\n }\n return f;\n }\n function create_ReadableStreamTeeBranch2CancelFunction() {\n function f(reason) {\n var stream = f._stream,\n teeState = f._teeState;\n teeState.canceled2 = true;\n teeState.reason2 = reason;\n if (teeState.canceled1 === true) {\n var compositeReason = createArrayFromList([teeState.reason1, teeState.reason2]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n teeState._resolve(cancelResult);\n }\n return teeState.promise;\n }\n return f;\n }\n function ReadableStreamAddReadIntoRequest(stream) {\n assert(IsReadableStreamBYOBReader(stream._reader) === true);\n assert(stream._state === 'readable' || stream._state === 'closed');\n var promise = new Promise(function (resolve, reject) {\n var readIntoRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._reader._readIntoRequests.push(readIntoRequest);\n });\n return promise;\n }\n function ReadableStreamAddReadRequest(stream) {\n assert(IsReadableStreamDefaultReader(stream._reader) === true);\n assert(stream._state === 'readable');\n var promise = new Promise(function (resolve, reject) {\n var readRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._reader._readRequests.push(readRequest);\n });\n return promise;\n }\n function ReadableStreamCancel(stream, reason) {\n stream._disturbed = true;\n if (stream._state === 'closed') {\n return Promise.resolve(undefined);\n }\n if (stream._state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n ReadableStreamClose(stream);\n var sourceCancelPromise = stream._readableStreamController.__cancelSteps(reason);\n return sourceCancelPromise.then(function () {\n return undefined;\n });\n }\n function ReadableStreamClose(stream) {\n assert(stream._state === 'readable');\n stream._state = 'closed';\n var reader = stream._reader;\n if (reader === undefined) {\n return undefined;\n }\n if (IsReadableStreamDefaultReader(reader) === true) {\n for (var i = 0; i < reader._readRequests.length; i++) {\n var _resolve = reader._readRequests[i]._resolve;\n _resolve(CreateIterResultObject(undefined, true));\n }\n reader._readRequests = [];\n }\n defaultReaderClosedPromiseResolve(reader);\n return undefined;\n }\n function ReadableStreamError(stream, e) {\n assert(IsReadableStream(stream) === true, 'stream must be ReadableStream');\n assert(stream._state === 'readable', 'state must be readable');\n stream._state = 'errored';\n stream._storedError = e;\n var reader = stream._reader;\n if (reader === undefined) {\n return undefined;\n }\n if (IsReadableStreamDefaultReader(reader) === true) {\n for (var i = 0; i < reader._readRequests.length; i++) {\n var readRequest = reader._readRequests[i];\n readRequest._reject(e);\n }\n reader._readRequests = [];\n } else {\n assert(IsReadableStreamBYOBReader(reader), 'reader must be ReadableStreamBYOBReader');\n for (var _i = 0; _i < reader._readIntoRequests.length; _i++) {\n var readIntoRequest = reader._readIntoRequests[_i];\n readIntoRequest._reject(e);\n }\n reader._readIntoRequests = [];\n }\n defaultReaderClosedPromiseReject(reader, e);\n reader._closedPromise.catch(function () {});\n }\n function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {\n var reader = stream._reader;\n assert(reader._readIntoRequests.length > 0);\n var readIntoRequest = reader._readIntoRequests.shift();\n readIntoRequest._resolve(CreateIterResultObject(chunk, done));\n }\n function ReadableStreamFulfillReadRequest(stream, chunk, done) {\n var reader = stream._reader;\n assert(reader._readRequests.length > 0);\n var readRequest = reader._readRequests.shift();\n readRequest._resolve(CreateIterResultObject(chunk, done));\n }\n function ReadableStreamGetNumReadIntoRequests(stream) {\n return stream._reader._readIntoRequests.length;\n }\n function ReadableStreamGetNumReadRequests(stream) {\n return stream._reader._readRequests.length;\n }\n function ReadableStreamHasBYOBReader(stream) {\n var reader = stream._reader;\n if (reader === undefined) {\n return false;\n }\n if (IsReadableStreamBYOBReader(reader) === false) {\n return false;\n }\n return true;\n }\n function ReadableStreamHasDefaultReader(stream) {\n var reader = stream._reader;\n if (reader === undefined) {\n return false;\n }\n if (IsReadableStreamDefaultReader(reader) === false) {\n return false;\n }\n return true;\n }\n var ReadableStreamDefaultReader = function () {\n function ReadableStreamDefaultReader(stream) {\n _classCallCheck(this, ReadableStreamDefaultReader);\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableStreamDefaultReader can only be constructed with a ReadableStream instance');\n }\n if (IsReadableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readRequests = [];\n }\n _createClass(ReadableStreamDefaultReader, [{\n key: 'cancel',\n value: function cancel(reason) {\n if (IsReadableStreamDefaultReader(this) === false) {\n return Promise.reject(defaultReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n }\n }, {\n key: 'read',\n value: function read() {\n if (IsReadableStreamDefaultReader(this) === false) {\n return Promise.reject(defaultReaderBrandCheckException('read'));\n }\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('read from'));\n }\n return ReadableStreamDefaultReaderRead(this);\n }\n }, {\n key: 'releaseLock',\n value: function releaseLock() {\n if (IsReadableStreamDefaultReader(this) === false) {\n throw defaultReaderBrandCheckException('releaseLock');\n }\n if (this._ownerReadableStream === undefined) {\n return;\n }\n if (this._readRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n ReadableStreamReaderGenericRelease(this);\n }\n }, {\n key: 'closed',\n get: function get() {\n if (IsReadableStreamDefaultReader(this) === false) {\n return Promise.reject(defaultReaderBrandCheckException('closed'));\n }\n return this._closedPromise;\n }\n }]);\n return ReadableStreamDefaultReader;\n }();\n var ReadableStreamBYOBReader = function () {\n function ReadableStreamBYOBReader(stream) {\n _classCallCheck(this, ReadableStreamBYOBReader);\n if (!IsReadableStream(stream)) {\n throw new TypeError('ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a ' + 'byte source');\n }\n if (IsReadableByteStreamController(stream._readableStreamController) === false) {\n throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' + 'source');\n }\n if (IsReadableStreamLocked(stream)) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readIntoRequests = [];\n }\n _createClass(ReadableStreamBYOBReader, [{\n key: 'cancel',\n value: function cancel(reason) {\n if (!IsReadableStreamBYOBReader(this)) {\n return Promise.reject(byobReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n }\n }, {\n key: 'read',\n value: function read(view) {\n if (!IsReadableStreamBYOBReader(this)) {\n return Promise.reject(byobReaderBrandCheckException('read'));\n }\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('read from'));\n }\n if (!ArrayBuffer.isView(view)) {\n return Promise.reject(new TypeError('view must be an array buffer view'));\n }\n if (view.byteLength === 0) {\n return Promise.reject(new TypeError('view must have non-zero byteLength'));\n }\n return ReadableStreamBYOBReaderRead(this, view);\n }\n }, {\n key: 'releaseLock',\n value: function releaseLock() {\n if (!IsReadableStreamBYOBReader(this)) {\n throw byobReaderBrandCheckException('releaseLock');\n }\n if (this._ownerReadableStream === undefined) {\n return;\n }\n if (this._readIntoRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n ReadableStreamReaderGenericRelease(this);\n }\n }, {\n key: 'closed',\n get: function get() {\n if (!IsReadableStreamBYOBReader(this)) {\n return Promise.reject(byobReaderBrandCheckException('closed'));\n }\n return this._closedPromise;\n }\n }]);\n return ReadableStreamBYOBReader;\n }();\n function IsReadableStreamBYOBReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {\n return false;\n }\n return true;\n }\n function IsReadableStreamDefaultReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {\n return false;\n }\n return true;\n }\n function ReadableStreamReaderGenericInitialize(reader, stream) {\n reader._ownerReadableStream = stream;\n stream._reader = reader;\n if (stream._state === 'readable') {\n defaultReaderClosedPromiseInitialize(reader);\n } else if (stream._state === 'closed') {\n defaultReaderClosedPromiseInitializeAsResolved(reader);\n } else {\n assert(stream._state === 'errored', 'state must be errored');\n defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);\n reader._closedPromise.catch(function () {});\n }\n }\n function ReadableStreamReaderGenericCancel(reader, reason) {\n var stream = reader._ownerReadableStream;\n assert(stream !== undefined);\n return ReadableStreamCancel(stream, reason);\n }\n function ReadableStreamReaderGenericRelease(reader) {\n assert(reader._ownerReadableStream !== undefined);\n assert(reader._ownerReadableStream._reader === reader);\n if (reader._ownerReadableStream._state === 'readable') {\n defaultReaderClosedPromiseReject(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\n } else {\n defaultReaderClosedPromiseResetToRejected(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\n }\n reader._closedPromise.catch(function () {});\n reader._ownerReadableStream._reader = undefined;\n reader._ownerReadableStream = undefined;\n }\n function ReadableStreamBYOBReaderRead(reader, view) {\n var stream = reader._ownerReadableStream;\n assert(stream !== undefined);\n stream._disturbed = true;\n if (stream._state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n return ReadableByteStreamControllerPullInto(stream._readableStreamController, view);\n }\n function ReadableStreamDefaultReaderRead(reader) {\n var stream = reader._ownerReadableStream;\n assert(stream !== undefined);\n stream._disturbed = true;\n if (stream._state === 'closed') {\n return Promise.resolve(CreateIterResultObject(undefined, true));\n }\n if (stream._state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n assert(stream._state === 'readable');\n return stream._readableStreamController.__pullSteps();\n }\n var ReadableStreamDefaultController = function () {\n function ReadableStreamDefaultController(stream, underlyingSource, size, highWaterMark) {\n _classCallCheck(this, ReadableStreamDefaultController);\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableStreamDefaultController can only be constructed with a ReadableStream instance');\n }\n if (stream._readableStreamController !== undefined) {\n throw new TypeError('ReadableStreamDefaultController instances can only be created by the ReadableStream constructor');\n }\n this._controlledReadableStream = stream;\n this._underlyingSource = underlyingSource;\n this._queue = undefined;\n this._queueTotalSize = undefined;\n ResetQueue(this);\n this._started = false;\n this._closeRequested = false;\n this._pullAgain = false;\n this._pulling = false;\n var normalizedStrategy = ValidateAndNormalizeQueuingStrategy(size, highWaterMark);\n this._strategySize = normalizedStrategy.size;\n this._strategyHWM = normalizedStrategy.highWaterMark;\n var controller = this;\n var startResult = InvokeOrNoop(underlyingSource, 'start', [this]);\n Promise.resolve(startResult).then(function () {\n controller._started = true;\n assert(controller._pulling === false);\n assert(controller._pullAgain === false);\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, r);\n }).catch(rethrowAssertionErrorRejection);\n }\n _createClass(ReadableStreamDefaultController, [{\n key: 'close',\n value: function close() {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('close');\n }\n if (this._closeRequested === true) {\n throw new TypeError('The stream has already been closed; do not close it again!');\n }\n var state = this._controlledReadableStream._state;\n if (state !== 'readable') {\n throw new TypeError('The stream (in ' + state + ' state) is not in the readable state and cannot be closed');\n }\n ReadableStreamDefaultControllerClose(this);\n }\n }, {\n key: 'enqueue',\n value: function enqueue(chunk) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('enqueue');\n }\n if (this._closeRequested === true) {\n throw new TypeError('stream is closed or draining');\n }\n var state = this._controlledReadableStream._state;\n if (state !== 'readable') {\n throw new TypeError('The stream (in ' + state + ' state) is not in the readable state and cannot be enqueued to');\n }\n return ReadableStreamDefaultControllerEnqueue(this, chunk);\n }\n }, {\n key: 'error',\n value: function error(e) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('error');\n }\n var stream = this._controlledReadableStream;\n if (stream._state !== 'readable') {\n throw new TypeError('The stream is ' + stream._state + ' and so cannot be errored');\n }\n ReadableStreamDefaultControllerError(this, e);\n }\n }, {\n key: '__cancelSteps',\n value: function __cancelSteps(reason) {\n ResetQueue(this);\n return PromiseInvokeOrNoop(this._underlyingSource, 'cancel', [reason]);\n }\n }, {\n key: '__pullSteps',\n value: function __pullSteps() {\n var stream = this._controlledReadableStream;\n if (this._queue.length > 0) {\n var chunk = DequeueValue(this);\n if (this._closeRequested === true && this._queue.length === 0) {\n ReadableStreamClose(stream);\n } else {\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n }\n return Promise.resolve(CreateIterResultObject(chunk, false));\n }\n var pendingPromise = ReadableStreamAddReadRequest(stream);\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n return pendingPromise;\n }\n }, {\n key: 'desiredSize',\n get: function get() {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('desiredSize');\n }\n return ReadableStreamDefaultControllerGetDesiredSize(this);\n }\n }]);\n return ReadableStreamDefaultController;\n }();\n function IsReadableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_underlyingSource')) {\n return false;\n }\n return true;\n }\n function ReadableStreamDefaultControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);\n if (shouldPull === false) {\n return undefined;\n }\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return undefined;\n }\n assert(controller._pullAgain === false);\n controller._pulling = true;\n var pullPromise = PromiseInvokeOrNoop(controller._underlyingSource, 'pull', [controller]);\n pullPromise.then(function () {\n controller._pulling = false;\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n return ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n return undefined;\n }, function (e) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, e);\n }).catch(rethrowAssertionErrorRejection);\n return undefined;\n }\n function ReadableStreamDefaultControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableStream;\n if (stream._state === 'closed' || stream._state === 'errored') {\n return false;\n }\n if (controller._closeRequested === true) {\n return false;\n }\n if (controller._started === false) {\n return false;\n }\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\n if (desiredSize > 0) {\n return true;\n }\n return false;\n }\n function ReadableStreamDefaultControllerClose(controller) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\n controller._closeRequested = true;\n if (controller._queue.length === 0) {\n ReadableStreamClose(stream);\n }\n }\n function ReadableStreamDefaultControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n ReadableStreamFulfillReadRequest(stream, chunk, false);\n } else {\n var chunkSize = 1;\n if (controller._strategySize !== undefined) {\n var strategySize = controller._strategySize;\n try {\n chunkSize = strategySize(chunk);\n } catch (chunkSizeE) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n throw chunkSizeE;\n }\n }\n try {\n EnqueueValueWithSize(controller, chunk, chunkSize);\n } catch (enqueueE) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n throw enqueueE;\n }\n }\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n return undefined;\n }\n function ReadableStreamDefaultControllerError(controller, e) {\n var stream = controller._controlledReadableStream;\n assert(stream._state === 'readable');\n ResetQueue(controller);\n ReadableStreamError(stream, e);\n }\n function ReadableStreamDefaultControllerErrorIfNeeded(controller, e) {\n if (controller._controlledReadableStream._state === 'readable') {\n ReadableStreamDefaultControllerError(controller, e);\n }\n }\n function ReadableStreamDefaultControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableStream;\n var state = stream._state;\n if (state === 'errored') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return controller._strategyHWM - controller._queueTotalSize;\n }\n var ReadableStreamBYOBRequest = function () {\n function ReadableStreamBYOBRequest(controller, view) {\n _classCallCheck(this, ReadableStreamBYOBRequest);\n this._associatedReadableByteStreamController = controller;\n this._view = view;\n }\n _createClass(ReadableStreamBYOBRequest, [{\n key: 'respond',\n value: function respond(bytesWritten) {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('respond');\n }\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);\n }\n }, {\n key: 'respondWithNewView',\n value: function respondWithNewView(view) {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('respond');\n }\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n if (!ArrayBuffer.isView(view)) {\n throw new TypeError('You can only respond with array buffer views');\n }\n ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);\n }\n }, {\n key: 'view',\n get: function get() {\n return this._view;\n }\n }]);\n return ReadableStreamBYOBRequest;\n }();\n var ReadableByteStreamController = function () {\n function ReadableByteStreamController(stream, underlyingByteSource, highWaterMark) {\n _classCallCheck(this, ReadableByteStreamController);\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableByteStreamController can only be constructed with a ReadableStream instance given ' + 'a byte source');\n }\n if (stream._readableStreamController !== undefined) {\n throw new TypeError('ReadableByteStreamController instances can only be created by the ReadableStream constructor given a byte ' + 'source');\n }\n this._controlledReadableStream = stream;\n this._underlyingByteSource = underlyingByteSource;\n this._pullAgain = false;\n this._pulling = false;\n ReadableByteStreamControllerClearPendingPullIntos(this);\n this._queue = this._queueTotalSize = undefined;\n ResetQueue(this);\n this._closeRequested = false;\n this._started = false;\n this._strategyHWM = ValidateAndNormalizeHighWaterMark(highWaterMark);\n var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;\n if (autoAllocateChunkSize !== undefined) {\n if (Number.isInteger(autoAllocateChunkSize) === false || autoAllocateChunkSize <= 0) {\n throw new RangeError('autoAllocateChunkSize must be a positive integer');\n }\n }\n this._autoAllocateChunkSize = autoAllocateChunkSize;\n this._pendingPullIntos = [];\n var controller = this;\n var startResult = InvokeOrNoop(underlyingByteSource, 'start', [this]);\n Promise.resolve(startResult).then(function () {\n controller._started = true;\n assert(controller._pulling === false);\n assert(controller._pullAgain === false);\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }, function (r) {\n if (stream._state === 'readable') {\n ReadableByteStreamControllerError(controller, r);\n }\n }).catch(rethrowAssertionErrorRejection);\n }\n _createClass(ReadableByteStreamController, [{\n key: 'close',\n value: function close() {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('close');\n }\n if (this._closeRequested === true) {\n throw new TypeError('The stream has already been closed; do not close it again!');\n }\n var state = this._controlledReadableStream._state;\n if (state !== 'readable') {\n throw new TypeError('The stream (in ' + state + ' state) is not in the readable state and cannot be closed');\n }\n ReadableByteStreamControllerClose(this);\n }\n }, {\n key: 'enqueue',\n value: function enqueue(chunk) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('enqueue');\n }\n if (this._closeRequested === true) {\n throw new TypeError('stream is closed or draining');\n }\n var state = this._controlledReadableStream._state;\n if (state !== 'readable') {\n throw new TypeError('The stream (in ' + state + ' state) is not in the readable state and cannot be enqueued to');\n }\n if (!ArrayBuffer.isView(chunk)) {\n throw new TypeError('You can only enqueue array buffer views when using a ReadableByteStreamController');\n }\n ReadableByteStreamControllerEnqueue(this, chunk);\n }\n }, {\n key: 'error',\n value: function error(e) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('error');\n }\n var stream = this._controlledReadableStream;\n if (stream._state !== 'readable') {\n throw new TypeError('The stream is ' + stream._state + ' and so cannot be errored');\n }\n ReadableByteStreamControllerError(this, e);\n }\n }, {\n key: '__cancelSteps',\n value: function __cancelSteps(reason) {\n if (this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos[0];\n firstDescriptor.bytesFilled = 0;\n }\n ResetQueue(this);\n return PromiseInvokeOrNoop(this._underlyingByteSource, 'cancel', [reason]);\n }\n }, {\n key: '__pullSteps',\n value: function __pullSteps() {\n var stream = this._controlledReadableStream;\n assert(ReadableStreamHasDefaultReader(stream) === true);\n if (this._queueTotalSize > 0) {\n assert(ReadableStreamGetNumReadRequests(stream) === 0);\n var entry = this._queue.shift();\n this._queueTotalSize -= entry.byteLength;\n ReadableByteStreamControllerHandleQueueDrain(this);\n var view = void 0;\n try {\n view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);\n } catch (viewE) {\n return Promise.reject(viewE);\n }\n return Promise.resolve(CreateIterResultObject(view, false));\n }\n var autoAllocateChunkSize = this._autoAllocateChunkSize;\n if (autoAllocateChunkSize !== undefined) {\n var buffer = void 0;\n try {\n buffer = new ArrayBuffer(autoAllocateChunkSize);\n } catch (bufferE) {\n return Promise.reject(bufferE);\n }\n var pullIntoDescriptor = {\n buffer: buffer,\n byteOffset: 0,\n byteLength: autoAllocateChunkSize,\n bytesFilled: 0,\n elementSize: 1,\n ctor: Uint8Array,\n readerType: 'default'\n };\n this._pendingPullIntos.push(pullIntoDescriptor);\n }\n var promise = ReadableStreamAddReadRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(this);\n return promise;\n }\n }, {\n key: 'byobRequest',\n get: function get() {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('byobRequest');\n }\n if (this._byobRequest === undefined && this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos[0];\n var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);\n this._byobRequest = new ReadableStreamBYOBRequest(this, view);\n }\n return this._byobRequest;\n }\n }, {\n key: 'desiredSize',\n get: function get() {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('desiredSize');\n }\n return ReadableByteStreamControllerGetDesiredSize(this);\n }\n }]);\n return ReadableByteStreamController;\n }();\n function IsReadableByteStreamController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_underlyingByteSource')) {\n return false;\n }\n return true;\n }\n function IsReadableStreamBYOBRequest(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {\n return false;\n }\n return true;\n }\n function ReadableByteStreamControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);\n if (shouldPull === false) {\n return undefined;\n }\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return undefined;\n }\n assert(controller._pullAgain === false);\n controller._pulling = true;\n var pullPromise = PromiseInvokeOrNoop(controller._underlyingByteSource, 'pull', [controller]);\n pullPromise.then(function () {\n controller._pulling = false;\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }, function (e) {\n if (controller._controlledReadableStream._state === 'readable') {\n ReadableByteStreamControllerError(controller, e);\n }\n }).catch(rethrowAssertionErrorRejection);\n return undefined;\n }\n function ReadableByteStreamControllerClearPendingPullIntos(controller) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n controller._pendingPullIntos = [];\n }\n function ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {\n assert(stream._state !== 'errored', 'state must not be errored');\n var done = false;\n if (stream._state === 'closed') {\n assert(pullIntoDescriptor.bytesFilled === 0);\n done = true;\n }\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n if (pullIntoDescriptor.readerType === 'default') {\n ReadableStreamFulfillReadRequest(stream, filledView, done);\n } else {\n assert(pullIntoDescriptor.readerType === 'byob');\n ReadableStreamFulfillReadIntoRequest(stream, filledView, done);\n }\n }\n function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {\n var bytesFilled = pullIntoDescriptor.bytesFilled;\n var elementSize = pullIntoDescriptor.elementSize;\n assert(bytesFilled <= pullIntoDescriptor.byteLength);\n assert(bytesFilled % elementSize === 0);\n return new pullIntoDescriptor.ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize);\n }\n function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {\n controller._queue.push({\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength\n });\n controller._queueTotalSize += byteLength;\n }\n function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) {\n var elementSize = pullIntoDescriptor.elementSize;\n var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;\n var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled);\n var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;\n var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;\n var totalBytesToCopyRemaining = maxBytesToCopy;\n var ready = false;\n if (maxAlignedBytes > currentAlignedBytes) {\n totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;\n ready = true;\n }\n var queue = controller._queue;\n while (totalBytesToCopyRemaining > 0) {\n var headOfQueue = queue[0];\n var bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength);\n var destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n ArrayBufferCopy(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy);\n if (headOfQueue.byteLength === bytesToCopy) {\n queue.shift();\n } else {\n headOfQueue.byteOffset += bytesToCopy;\n headOfQueue.byteLength -= bytesToCopy;\n }\n controller._queueTotalSize -= bytesToCopy;\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);\n totalBytesToCopyRemaining -= bytesToCopy;\n }\n if (ready === false) {\n assert(controller._queueTotalSize === 0, 'queue must be empty');\n assert(pullIntoDescriptor.bytesFilled > 0);\n assert(pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize);\n }\n return ready;\n }\n function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {\n assert(controller._pendingPullIntos.length === 0 || controller._pendingPullIntos[0] === pullIntoDescriptor);\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n pullIntoDescriptor.bytesFilled += size;\n }\n function ReadableByteStreamControllerHandleQueueDrain(controller) {\n assert(controller._controlledReadableStream._state === 'readable');\n if (controller._queueTotalSize === 0 && controller._closeRequested === true) {\n ReadableStreamClose(controller._controlledReadableStream);\n } else {\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }\n function ReadableByteStreamControllerInvalidateBYOBRequest(controller) {\n if (controller._byobRequest === undefined) {\n return;\n }\n controller._byobRequest._associatedReadableByteStreamController = undefined;\n controller._byobRequest._view = undefined;\n controller._byobRequest = undefined;\n }\n function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {\n assert(controller._closeRequested === false);\n while (controller._pendingPullIntos.length > 0) {\n if (controller._queueTotalSize === 0) {\n return;\n }\n var pullIntoDescriptor = controller._pendingPullIntos[0];\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableStream, pullIntoDescriptor);\n }\n }\n }\n function ReadableByteStreamControllerPullInto(controller, view) {\n var stream = controller._controlledReadableStream;\n var elementSize = 1;\n if (view.constructor !== DataView) {\n elementSize = view.constructor.BYTES_PER_ELEMENT;\n }\n var ctor = view.constructor;\n var pullIntoDescriptor = {\n buffer: view.buffer,\n byteOffset: view.byteOffset,\n byteLength: view.byteLength,\n bytesFilled: 0,\n elementSize: elementSize,\n ctor: ctor,\n readerType: 'byob'\n };\n if (controller._pendingPullIntos.length > 0) {\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n controller._pendingPullIntos.push(pullIntoDescriptor);\n return ReadableStreamAddReadIntoRequest(stream);\n }\n if (stream._state === 'closed') {\n var emptyView = new view.constructor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);\n return Promise.resolve(CreateIterResultObject(emptyView, true));\n }\n if (controller._queueTotalSize > 0) {\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n ReadableByteStreamControllerHandleQueueDrain(controller);\n return Promise.resolve(CreateIterResultObject(filledView, false));\n }\n if (controller._closeRequested === true) {\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n return Promise.reject(e);\n }\n }\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n controller._pendingPullIntos.push(pullIntoDescriptor);\n var promise = ReadableStreamAddReadIntoRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n return promise;\n }\n function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {\n firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);\n assert(firstDescriptor.bytesFilled === 0, 'bytesFilled must be 0');\n var stream = controller._controlledReadableStream;\n if (ReadableStreamHasBYOBReader(stream) === true) {\n while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);\n }\n }\n }\n function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) {\n if (pullIntoDescriptor.bytesFilled + bytesWritten > pullIntoDescriptor.byteLength) {\n throw new RangeError('bytesWritten out of range');\n }\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);\n if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {\n return;\n }\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;\n if (remainderSize > 0) {\n var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n var remainder = pullIntoDescriptor.buffer.slice(end - remainderSize, end);\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);\n }\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n pullIntoDescriptor.bytesFilled -= remainderSize;\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableStream, pullIntoDescriptor);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n }\n function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {\n var firstDescriptor = controller._pendingPullIntos[0];\n var stream = controller._controlledReadableStream;\n if (stream._state === 'closed') {\n if (bytesWritten !== 0) {\n throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream');\n }\n ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor);\n } else {\n assert(stream._state === 'readable');\n ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);\n }\n }\n function ReadableByteStreamControllerShiftPendingPullInto(controller) {\n var descriptor = controller._pendingPullIntos.shift();\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n return descriptor;\n }\n function ReadableByteStreamControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableStream;\n if (stream._state !== 'readable') {\n return false;\n }\n if (controller._closeRequested === true) {\n return false;\n }\n if (controller._started === false) {\n return false;\n }\n if (ReadableStreamHasDefaultReader(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n if (ReadableStreamHasBYOBReader(stream) === true && ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n return true;\n }\n if (ReadableByteStreamControllerGetDesiredSize(controller) > 0) {\n return true;\n }\n return false;\n }\n function ReadableByteStreamControllerClose(controller) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\n if (controller._queueTotalSize > 0) {\n controller._closeRequested = true;\n return;\n }\n if (controller._pendingPullIntos.length > 0) {\n var firstPendingPullInto = controller._pendingPullIntos[0];\n if (firstPendingPullInto.bytesFilled > 0) {\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n throw e;\n }\n }\n ReadableStreamClose(stream);\n }\n function ReadableByteStreamControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\n var buffer = chunk.buffer;\n var byteOffset = chunk.byteOffset;\n var byteLength = chunk.byteLength;\n var transferredBuffer = TransferArrayBuffer(buffer);\n if (ReadableStreamHasDefaultReader(stream) === true) {\n if (ReadableStreamGetNumReadRequests(stream) === 0) {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n } else {\n assert(controller._queue.length === 0);\n var transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength);\n ReadableStreamFulfillReadRequest(stream, transferredView, false);\n }\n } else if (ReadableStreamHasBYOBReader(stream) === true) {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n } else {\n assert(IsReadableStreamLocked(stream) === false, 'stream must not be locked');\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n }\n }\n function ReadableByteStreamControllerError(controller, e) {\n var stream = controller._controlledReadableStream;\n assert(stream._state === 'readable');\n ReadableByteStreamControllerClearPendingPullIntos(controller);\n ResetQueue(controller);\n ReadableStreamError(stream, e);\n }\n function ReadableByteStreamControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableStream;\n var state = stream._state;\n if (state === 'errored') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return controller._strategyHWM - controller._queueTotalSize;\n }\n function ReadableByteStreamControllerRespond(controller, bytesWritten) {\n bytesWritten = Number(bytesWritten);\n if (IsFiniteNonNegativeNumber(bytesWritten) === false) {\n throw new RangeError('bytesWritten must be a finite');\n }\n assert(controller._pendingPullIntos.length > 0);\n ReadableByteStreamControllerRespondInternal(controller, bytesWritten);\n }\n function ReadableByteStreamControllerRespondWithNewView(controller, view) {\n assert(controller._pendingPullIntos.length > 0);\n var firstDescriptor = controller._pendingPullIntos[0];\n if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {\n throw new RangeError('The region specified by view does not match byobRequest');\n }\n if (firstDescriptor.byteLength !== view.byteLength) {\n throw new RangeError('The buffer of view has different capacity than byobRequest');\n }\n firstDescriptor.buffer = view.buffer;\n ReadableByteStreamControllerRespondInternal(controller, view.byteLength);\n }\n function streamBrandCheckException(name) {\n return new TypeError('ReadableStream.prototype.' + name + ' can only be used on a ReadableStream');\n }\n function readerLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released reader');\n }\n function defaultReaderBrandCheckException(name) {\n return new TypeError('ReadableStreamDefaultReader.prototype.' + name + ' can only be used on a ReadableStreamDefaultReader');\n }\n function defaultReaderClosedPromiseInitialize(reader) {\n reader._closedPromise = new Promise(function (resolve, reject) {\n reader._closedPromise_resolve = resolve;\n reader._closedPromise_reject = reject;\n });\n }\n function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {\n reader._closedPromise = Promise.reject(reason);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n function defaultReaderClosedPromiseInitializeAsResolved(reader) {\n reader._closedPromise = Promise.resolve(undefined);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n function defaultReaderClosedPromiseReject(reader, reason) {\n assert(reader._closedPromise_resolve !== undefined);\n assert(reader._closedPromise_reject !== undefined);\n reader._closedPromise_reject(reason);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n function defaultReaderClosedPromiseResetToRejected(reader, reason) {\n assert(reader._closedPromise_resolve === undefined);\n assert(reader._closedPromise_reject === undefined);\n reader._closedPromise = Promise.reject(reason);\n }\n function defaultReaderClosedPromiseResolve(reader) {\n assert(reader._closedPromise_resolve !== undefined);\n assert(reader._closedPromise_reject !== undefined);\n reader._closedPromise_resolve(undefined);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n function byobReaderBrandCheckException(name) {\n return new TypeError('ReadableStreamBYOBReader.prototype.' + name + ' can only be used on a ReadableStreamBYOBReader');\n }\n function defaultControllerBrandCheckException(name) {\n return new TypeError('ReadableStreamDefaultController.prototype.' + name + ' can only be used on a ReadableStreamDefaultController');\n }\n function byobRequestBrandCheckException(name) {\n return new TypeError('ReadableStreamBYOBRequest.prototype.' + name + ' can only be used on a ReadableStreamBYOBRequest');\n }\n function byteStreamControllerBrandCheckException(name) {\n return new TypeError('ReadableByteStreamController.prototype.' + name + ' can only be used on a ReadableByteStreamController');\n }\n function ifIsObjectAndHasAPromiseIsHandledInternalSlotSetPromiseIsHandledToTrue(promise) {\n try {\n Promise.prototype.then.call(promise, undefined, function () {});\n } catch (e) {}\n }\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var transformStream = __w_pdfjs_require__(6);\n var readableStream = __w_pdfjs_require__(4);\n var writableStream = __w_pdfjs_require__(2);\n exports.TransformStream = transformStream.TransformStream;\n exports.ReadableStream = readableStream.ReadableStream;\n exports.IsReadableStreamDisturbed = readableStream.IsReadableStreamDisturbed;\n exports.ReadableStreamDefaultControllerClose = readableStream.ReadableStreamDefaultControllerClose;\n exports.ReadableStreamDefaultControllerEnqueue = readableStream.ReadableStreamDefaultControllerEnqueue;\n exports.ReadableStreamDefaultControllerError = readableStream.ReadableStreamDefaultControllerError;\n exports.ReadableStreamDefaultControllerGetDesiredSize = readableStream.ReadableStreamDefaultControllerGetDesiredSize;\n exports.AcquireWritableStreamDefaultWriter = writableStream.AcquireWritableStreamDefaultWriter;\n exports.IsWritableStream = writableStream.IsWritableStream;\n exports.IsWritableStreamLocked = writableStream.IsWritableStreamLocked;\n exports.WritableStream = writableStream.WritableStream;\n exports.WritableStreamAbort = writableStream.WritableStreamAbort;\n exports.WritableStreamDefaultControllerError = writableStream.WritableStreamDefaultControllerError;\n exports.WritableStreamDefaultWriterCloseWithErrorPropagation = writableStream.WritableStreamDefaultWriterCloseWithErrorPropagation;\n exports.WritableStreamDefaultWriterRelease = writableStream.WritableStreamDefaultWriterRelease;\n exports.WritableStreamDefaultWriterWrite = writableStream.WritableStreamDefaultWriterWrite;\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n var _require = __w_pdfjs_require__(1),\n assert = _require.assert;\n var _require2 = __w_pdfjs_require__(0),\n InvokeOrNoop = _require2.InvokeOrNoop,\n PromiseInvokeOrPerformFallback = _require2.PromiseInvokeOrPerformFallback,\n PromiseInvokeOrNoop = _require2.PromiseInvokeOrNoop,\n typeIsObject = _require2.typeIsObject;\n var _require3 = __w_pdfjs_require__(4),\n ReadableStream = _require3.ReadableStream,\n ReadableStreamDefaultControllerClose = _require3.ReadableStreamDefaultControllerClose,\n ReadableStreamDefaultControllerEnqueue = _require3.ReadableStreamDefaultControllerEnqueue,\n ReadableStreamDefaultControllerError = _require3.ReadableStreamDefaultControllerError,\n ReadableStreamDefaultControllerGetDesiredSize = _require3.ReadableStreamDefaultControllerGetDesiredSize;\n var _require4 = __w_pdfjs_require__(2),\n WritableStream = _require4.WritableStream,\n WritableStreamDefaultControllerError = _require4.WritableStreamDefaultControllerError;\n function TransformStreamCloseReadable(transformStream) {\n if (transformStream._errored === true) {\n throw new TypeError('TransformStream is already errored');\n }\n if (transformStream._readableClosed === true) {\n throw new TypeError('Readable side is already closed');\n }\n TransformStreamCloseReadableInternal(transformStream);\n }\n function TransformStreamEnqueueToReadable(transformStream, chunk) {\n if (transformStream._errored === true) {\n throw new TypeError('TransformStream is already errored');\n }\n if (transformStream._readableClosed === true) {\n throw new TypeError('Readable side is already closed');\n }\n var controller = transformStream._readableController;\n try {\n ReadableStreamDefaultControllerEnqueue(controller, chunk);\n } catch (e) {\n transformStream._readableClosed = true;\n TransformStreamErrorIfNeeded(transformStream, e);\n throw transformStream._storedError;\n }\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\n var maybeBackpressure = desiredSize <= 0;\n if (maybeBackpressure === true && transformStream._backpressure === false) {\n TransformStreamSetBackpressure(transformStream, true);\n }\n }\n function TransformStreamError(transformStream, e) {\n if (transformStream._errored === true) {\n throw new TypeError('TransformStream is already errored');\n }\n TransformStreamErrorInternal(transformStream, e);\n }\n function TransformStreamCloseReadableInternal(transformStream) {\n assert(transformStream._errored === false);\n assert(transformStream._readableClosed === false);\n try {\n ReadableStreamDefaultControllerClose(transformStream._readableController);\n } catch (e) {\n assert(false);\n }\n transformStream._readableClosed = true;\n }\n function TransformStreamErrorIfNeeded(transformStream, e) {\n if (transformStream._errored === false) {\n TransformStreamErrorInternal(transformStream, e);\n }\n }\n function TransformStreamErrorInternal(transformStream, e) {\n assert(transformStream._errored === false);\n transformStream._errored = true;\n transformStream._storedError = e;\n if (transformStream._writableDone === false) {\n WritableStreamDefaultControllerError(transformStream._writableController, e);\n }\n if (transformStream._readableClosed === false) {\n ReadableStreamDefaultControllerError(transformStream._readableController, e);\n }\n }\n function TransformStreamReadableReadyPromise(transformStream) {\n assert(transformStream._backpressureChangePromise !== undefined, '_backpressureChangePromise should have been initialized');\n if (transformStream._backpressure === false) {\n return Promise.resolve();\n }\n assert(transformStream._backpressure === true, '_backpressure should have been initialized');\n return transformStream._backpressureChangePromise;\n }\n function TransformStreamSetBackpressure(transformStream, backpressure) {\n assert(transformStream._backpressure !== backpressure, 'TransformStreamSetBackpressure() should be called only when backpressure is changed');\n if (transformStream._backpressureChangePromise !== undefined) {\n transformStream._backpressureChangePromise_resolve(backpressure);\n }\n transformStream._backpressureChangePromise = new Promise(function (resolve) {\n transformStream._backpressureChangePromise_resolve = resolve;\n });\n transformStream._backpressureChangePromise.then(function (resolution) {\n assert(resolution !== backpressure, '_backpressureChangePromise should be fulfilled only when backpressure is changed');\n });\n transformStream._backpressure = backpressure;\n }\n function TransformStreamDefaultTransform(chunk, transformStreamController) {\n var transformStream = transformStreamController._controlledTransformStream;\n TransformStreamEnqueueToReadable(transformStream, chunk);\n return Promise.resolve();\n }\n function TransformStreamTransform(transformStream, chunk) {\n assert(transformStream._errored === false);\n assert(transformStream._transforming === false);\n assert(transformStream._backpressure === false);\n transformStream._transforming = true;\n var transformer = transformStream._transformer;\n var controller = transformStream._transformStreamController;\n var transformPromise = PromiseInvokeOrPerformFallback(transformer, 'transform', [chunk, controller], TransformStreamDefaultTransform, [chunk, controller]);\n return transformPromise.then(function () {\n transformStream._transforming = false;\n return TransformStreamReadableReadyPromise(transformStream);\n }, function (e) {\n TransformStreamErrorIfNeeded(transformStream, e);\n return Promise.reject(e);\n });\n }\n function IsTransformStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {\n return false;\n }\n return true;\n }\n function IsTransformStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {\n return false;\n }\n return true;\n }\n var TransformStreamSink = function () {\n function TransformStreamSink(transformStream, startPromise) {\n _classCallCheck(this, TransformStreamSink);\n this._transformStream = transformStream;\n this._startPromise = startPromise;\n }\n _createClass(TransformStreamSink, [{\n key: 'start',\n value: function start(c) {\n var transformStream = this._transformStream;\n transformStream._writableController = c;\n return this._startPromise.then(function () {\n return TransformStreamReadableReadyPromise(transformStream);\n });\n }\n }, {\n key: 'write',\n value: function write(chunk) {\n var transformStream = this._transformStream;\n return TransformStreamTransform(transformStream, chunk);\n }\n }, {\n key: 'abort',\n value: function abort() {\n var transformStream = this._transformStream;\n transformStream._writableDone = true;\n TransformStreamErrorInternal(transformStream, new TypeError('Writable side aborted'));\n }\n }, {\n key: 'close',\n value: function close() {\n var transformStream = this._transformStream;\n assert(transformStream._transforming === false);\n transformStream._writableDone = true;\n var flushPromise = PromiseInvokeOrNoop(transformStream._transformer, 'flush', [transformStream._transformStreamController]);\n return flushPromise.then(function () {\n if (transformStream._errored === true) {\n return Promise.reject(transformStream._storedError);\n }\n if (transformStream._readableClosed === false) {\n TransformStreamCloseReadableInternal(transformStream);\n }\n return Promise.resolve();\n }).catch(function (r) {\n TransformStreamErrorIfNeeded(transformStream, r);\n return Promise.reject(transformStream._storedError);\n });\n }\n }]);\n return TransformStreamSink;\n }();\n var TransformStreamSource = function () {\n function TransformStreamSource(transformStream, startPromise) {\n _classCallCheck(this, TransformStreamSource);\n this._transformStream = transformStream;\n this._startPromise = startPromise;\n }\n _createClass(TransformStreamSource, [{\n key: 'start',\n value: function start(c) {\n var transformStream = this._transformStream;\n transformStream._readableController = c;\n return this._startPromise.then(function () {\n assert(transformStream._backpressureChangePromise !== undefined, '_backpressureChangePromise should have been initialized');\n if (transformStream._backpressure === true) {\n return Promise.resolve();\n }\n assert(transformStream._backpressure === false, '_backpressure should have been initialized');\n return transformStream._backpressureChangePromise;\n });\n }\n }, {\n key: 'pull',\n value: function pull() {\n var transformStream = this._transformStream;\n assert(transformStream._backpressure === true, 'pull() should be never called while _backpressure is false');\n assert(transformStream._backpressureChangePromise !== undefined, '_backpressureChangePromise should have been initialized');\n TransformStreamSetBackpressure(transformStream, false);\n return transformStream._backpressureChangePromise;\n }\n }, {\n key: 'cancel',\n value: function cancel() {\n var transformStream = this._transformStream;\n transformStream._readableClosed = true;\n TransformStreamErrorInternal(transformStream, new TypeError('Readable side canceled'));\n }\n }]);\n return TransformStreamSource;\n }();\n var TransformStreamDefaultController = function () {\n function TransformStreamDefaultController(transformStream) {\n _classCallCheck(this, TransformStreamDefaultController);\n if (IsTransformStream(transformStream) === false) {\n throw new TypeError('TransformStreamDefaultController can only be ' + 'constructed with a TransformStream instance');\n }\n if (transformStream._transformStreamController !== undefined) {\n throw new TypeError('TransformStreamDefaultController instances can ' + 'only be created by the TransformStream constructor');\n }\n this._controlledTransformStream = transformStream;\n }\n _createClass(TransformStreamDefaultController, [{\n key: 'enqueue',\n value: function enqueue(chunk) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('enqueue');\n }\n TransformStreamEnqueueToReadable(this._controlledTransformStream, chunk);\n }\n }, {\n key: 'close',\n value: function close() {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('close');\n }\n TransformStreamCloseReadable(this._controlledTransformStream);\n }\n }, {\n key: 'error',\n value: function error(reason) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('error');\n }\n TransformStreamError(this._controlledTransformStream, reason);\n }\n }, {\n key: 'desiredSize',\n get: function get() {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('desiredSize');\n }\n var transformStream = this._controlledTransformStream;\n var readableController = transformStream._readableController;\n return ReadableStreamDefaultControllerGetDesiredSize(readableController);\n }\n }]);\n return TransformStreamDefaultController;\n }();\n var TransformStream = function () {\n function TransformStream() {\n var transformer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, TransformStream);\n this._transformer = transformer;\n var readableStrategy = transformer.readableStrategy,\n writableStrategy = transformer.writableStrategy;\n this._transforming = false;\n this._errored = false;\n this._storedError = undefined;\n this._writableController = undefined;\n this._readableController = undefined;\n this._transformStreamController = undefined;\n this._writableDone = false;\n this._readableClosed = false;\n this._backpressure = undefined;\n this._backpressureChangePromise = undefined;\n this._backpressureChangePromise_resolve = undefined;\n this._transformStreamController = new TransformStreamDefaultController(this);\n var startPromise_resolve = void 0;\n var startPromise = new Promise(function (resolve) {\n startPromise_resolve = resolve;\n });\n var source = new TransformStreamSource(this, startPromise);\n this._readable = new ReadableStream(source, readableStrategy);\n var sink = new TransformStreamSink(this, startPromise);\n this._writable = new WritableStream(sink, writableStrategy);\n assert(this._writableController !== undefined);\n assert(this._readableController !== undefined);\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(this._readableController);\n TransformStreamSetBackpressure(this, desiredSize <= 0);\n var transformStream = this;\n var startResult = InvokeOrNoop(transformer, 'start', [transformStream._transformStreamController]);\n startPromise_resolve(startResult);\n startPromise.catch(function (e) {\n if (transformStream._errored === false) {\n transformStream._errored = true;\n transformStream._storedError = e;\n }\n });\n }\n _createClass(TransformStream, [{\n key: 'readable',\n get: function get() {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException('readable');\n }\n return this._readable;\n }\n }, {\n key: 'writable',\n get: function get() {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException('writable');\n }\n return this._writable;\n }\n }]);\n return TransformStream;\n }();\n module.exports = { TransformStream: TransformStream };\n function defaultControllerBrandCheckException(name) {\n return new TypeError('TransformStreamDefaultController.prototype.' + name + ' can only be used on a TransformStreamDefaultController');\n }\n function streamBrandCheckException(name) {\n return new TypeError('TransformStream.prototype.' + name + ' can only be used on a TransformStream');\n }\n}, function (module, exports, __w_pdfjs_require__) {\n module.exports = __w_pdfjs_require__(5);\n}]));\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n{\n var isURLSupported = false;\n try {\n if (typeof URL === 'function' && _typeof(URL.prototype) === 'object' && 'origin' in URL.prototype) {\n var u = new URL('b', 'http://a');\n u.pathname = 'c%20d';\n isURLSupported = u.href === 'http://a/c%20d';\n }\n } catch (ex) {}\n if (isURLSupported) {\n exports.URL = URL;\n } else {\n var PolyfillURL = __w_pdfjs_require__(128).URL;\n var OriginalURL = __w_pdfjs_require__(3).URL;\n if (OriginalURL) {\n PolyfillURL.createObjectURL = function (blob) {\n return OriginalURL.createObjectURL.apply(OriginalURL, arguments);\n };\n PolyfillURL.revokeObjectURL = function (url) {\n OriginalURL.revokeObjectURL(url);\n };\n }\n exports.URL = PolyfillURL;\n }\n}\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n(function URLConstructorClosure() {\n 'use strict';\n\n var relative = Object.create(null);\n relative['ftp'] = 21;\n relative['file'] = 0;\n relative['gopher'] = 70;\n relative['http'] = 80;\n relative['https'] = 443;\n relative['ws'] = 80;\n relative['wss'] = 443;\n var relativePathDotMapping = Object.create(null);\n relativePathDotMapping['%2e'] = '.';\n relativePathDotMapping['.%2e'] = '..';\n relativePathDotMapping['%2e.'] = '..';\n relativePathDotMapping['%2e%2e'] = '..';\n function isRelativeScheme(scheme) {\n return relative[scheme] !== undefined;\n }\n function invalid() {\n clear.call(this);\n this._isInvalid = true;\n }\n function IDNAToASCII(h) {\n if (h === '') {\n invalid.call(this);\n }\n return h.toLowerCase();\n }\n function percentEscape(c) {\n var unicode = c.charCodeAt(0);\n if (unicode > 0x20 && unicode < 0x7F && [0x22, 0x23, 0x3C, 0x3E, 0x3F, 0x60].indexOf(unicode) === -1) {\n return c;\n }\n return encodeURIComponent(c);\n }\n function percentEscapeQuery(c) {\n var unicode = c.charCodeAt(0);\n if (unicode > 0x20 && unicode < 0x7F && [0x22, 0x23, 0x3C, 0x3E, 0x60].indexOf(unicode) === -1) {\n return c;\n }\n return encodeURIComponent(c);\n }\n var EOF,\n ALPHA = /[a-zA-Z]/,\n ALPHANUMERIC = /[a-zA-Z0-9\\+\\-\\.]/;\n function parse(input, stateOverride, base) {\n function err(message) {\n errors.push(message);\n }\n var state = stateOverride || 'scheme start',\n cursor = 0,\n buffer = '',\n seenAt = false,\n seenBracket = false,\n errors = [];\n loop: while ((input[cursor - 1] !== EOF || cursor === 0) && !this._isInvalid) {\n var c = input[cursor];\n switch (state) {\n case 'scheme start':\n if (c && ALPHA.test(c)) {\n buffer += c.toLowerCase();\n state = 'scheme';\n } else if (!stateOverride) {\n buffer = '';\n state = 'no scheme';\n continue;\n } else {\n err('Invalid scheme.');\n break loop;\n }\n break;\n case 'scheme':\n if (c && ALPHANUMERIC.test(c)) {\n buffer += c.toLowerCase();\n } else if (c === ':') {\n this._scheme = buffer;\n buffer = '';\n if (stateOverride) {\n break loop;\n }\n if (isRelativeScheme(this._scheme)) {\n this._isRelative = true;\n }\n if (this._scheme === 'file') {\n state = 'relative';\n } else if (this._isRelative && base && base._scheme === this._scheme) {\n state = 'relative or authority';\n } else if (this._isRelative) {\n state = 'authority first slash';\n } else {\n state = 'scheme data';\n }\n } else if (!stateOverride) {\n buffer = '';\n cursor = 0;\n state = 'no scheme';\n continue;\n } else if (c === EOF) {\n break loop;\n } else {\n err('Code point not allowed in scheme: ' + c);\n break loop;\n }\n break;\n case 'scheme data':\n if (c === '?') {\n this._query = '?';\n state = 'query';\n } else if (c === '#') {\n this._fragment = '#';\n state = 'fragment';\n } else {\n if (c !== EOF && c !== '\\t' && c !== '\\n' && c !== '\\r') {\n this._schemeData += percentEscape(c);\n }\n }\n break;\n case 'no scheme':\n if (!base || !isRelativeScheme(base._scheme)) {\n err('Missing scheme.');\n invalid.call(this);\n } else {\n state = 'relative';\n continue;\n }\n break;\n case 'relative or authority':\n if (c === '/' && input[cursor + 1] === '/') {\n state = 'authority ignore slashes';\n } else {\n err('Expected /, got: ' + c);\n state = 'relative';\n continue;\n }\n break;\n case 'relative':\n this._isRelative = true;\n if (this._scheme !== 'file') {\n this._scheme = base._scheme;\n }\n if (c === EOF) {\n this._host = base._host;\n this._port = base._port;\n this._path = base._path.slice();\n this._query = base._query;\n this._username = base._username;\n this._password = base._password;\n break loop;\n } else if (c === '/' || c === '\\\\') {\n if (c === '\\\\') {\n err('\\\\ is an invalid code point.');\n }\n state = 'relative slash';\n } else if (c === '?') {\n this._host = base._host;\n this._port = base._port;\n this._path = base._path.slice();\n this._query = '?';\n this._username = base._username;\n this._password = base._password;\n state = 'query';\n } else if (c === '#') {\n this._host = base._host;\n this._port = base._port;\n this._path = base._path.slice();\n this._query = base._query;\n this._fragment = '#';\n this._username = base._username;\n this._password = base._password;\n state = 'fragment';\n } else {\n var nextC = input[cursor + 1];\n var nextNextC = input[cursor + 2];\n if (this._scheme !== 'file' || !ALPHA.test(c) || nextC !== ':' && nextC !== '|' || nextNextC !== EOF && nextNextC !== '/' && nextNextC !== '\\\\' && nextNextC !== '?' && nextNextC !== '#') {\n this._host = base._host;\n this._port = base._port;\n this._username = base._username;\n this._password = base._password;\n this._path = base._path.slice();\n this._path.pop();\n }\n state = 'relative path';\n continue;\n }\n break;\n case 'relative slash':\n if (c === '/' || c === '\\\\') {\n if (c === '\\\\') {\n err('\\\\ is an invalid code point.');\n }\n if (this._scheme === 'file') {\n state = 'file host';\n } else {\n state = 'authority ignore slashes';\n }\n } else {\n if (this._scheme !== 'file') {\n this._host = base._host;\n this._port = base._port;\n this._username = base._username;\n this._password = base._password;\n }\n state = 'relative path';\n continue;\n }\n break;\n case 'authority first slash':\n if (c === '/') {\n state = 'authority second slash';\n } else {\n err('Expected \\'/\\', got: ' + c);\n state = 'authority ignore slashes';\n continue;\n }\n break;\n case 'authority second slash':\n state = 'authority ignore slashes';\n if (c !== '/') {\n err('Expected \\'/\\', got: ' + c);\n continue;\n }\n break;\n case 'authority ignore slashes':\n if (c !== '/' && c !== '\\\\') {\n state = 'authority';\n continue;\n } else {\n err('Expected authority, got: ' + c);\n }\n break;\n case 'authority':\n if (c === '@') {\n if (seenAt) {\n err('@ already seen.');\n buffer += '%40';\n }\n seenAt = true;\n for (var i = 0; i < buffer.length; i++) {\n var cp = buffer[i];\n if (cp === '\\t' || cp === '\\n' || cp === '\\r') {\n err('Invalid whitespace in authority.');\n continue;\n }\n if (cp === ':' && this._password === null) {\n this._password = '';\n continue;\n }\n var tempC = percentEscape(cp);\n if (this._password !== null) {\n this._password += tempC;\n } else {\n this._username += tempC;\n }\n }\n buffer = '';\n } else if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#') {\n cursor -= buffer.length;\n buffer = '';\n state = 'host';\n continue;\n } else {\n buffer += c;\n }\n break;\n case 'file host':\n if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#') {\n if (buffer.length === 2 && ALPHA.test(buffer[0]) && (buffer[1] === ':' || buffer[1] === '|')) {\n state = 'relative path';\n } else if (buffer.length === 0) {\n state = 'relative path start';\n } else {\n this._host = IDNAToASCII.call(this, buffer);\n buffer = '';\n state = 'relative path start';\n }\n continue;\n } else if (c === '\\t' || c === '\\n' || c === '\\r') {\n err('Invalid whitespace in file host.');\n } else {\n buffer += c;\n }\n break;\n case 'host':\n case 'hostname':\n if (c === ':' && !seenBracket) {\n this._host = IDNAToASCII.call(this, buffer);\n buffer = '';\n state = 'port';\n if (stateOverride === 'hostname') {\n break loop;\n }\n } else if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#') {\n this._host = IDNAToASCII.call(this, buffer);\n buffer = '';\n state = 'relative path start';\n if (stateOverride) {\n break loop;\n }\n continue;\n } else if (c !== '\\t' && c !== '\\n' && c !== '\\r') {\n if (c === '[') {\n seenBracket = true;\n } else if (c === ']') {\n seenBracket = false;\n }\n buffer += c;\n } else {\n err('Invalid code point in host/hostname: ' + c);\n }\n break;\n case 'port':\n if (/[0-9]/.test(c)) {\n buffer += c;\n } else if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#' || stateOverride) {\n if (buffer !== '') {\n var temp = parseInt(buffer, 10);\n if (temp !== relative[this._scheme]) {\n this._port = temp + '';\n }\n buffer = '';\n }\n if (stateOverride) {\n break loop;\n }\n state = 'relative path start';\n continue;\n } else if (c === '\\t' || c === '\\n' || c === '\\r') {\n err('Invalid code point in port: ' + c);\n } else {\n invalid.call(this);\n }\n break;\n case 'relative path start':\n if (c === '\\\\') {\n err('\\'\\\\\\' not allowed in path.');\n }\n state = 'relative path';\n if (c !== '/' && c !== '\\\\') {\n continue;\n }\n break;\n case 'relative path':\n if (c === EOF || c === '/' || c === '\\\\' || !stateOverride && (c === '?' || c === '#')) {\n if (c === '\\\\') {\n err('\\\\ not allowed in relative path.');\n }\n var tmp;\n if (tmp = relativePathDotMapping[buffer.toLowerCase()]) {\n buffer = tmp;\n }\n if (buffer === '..') {\n this._path.pop();\n if (c !== '/' && c !== '\\\\') {\n this._path.push('');\n }\n } else if (buffer === '.' && c !== '/' && c !== '\\\\') {\n this._path.push('');\n } else if (buffer !== '.') {\n if (this._scheme === 'file' && this._path.length === 0 && buffer.length === 2 && ALPHA.test(buffer[0]) && buffer[1] === '|') {\n buffer = buffer[0] + ':';\n }\n this._path.push(buffer);\n }\n buffer = '';\n if (c === '?') {\n this._query = '?';\n state = 'query';\n } else if (c === '#') {\n this._fragment = '#';\n state = 'fragment';\n }\n } else if (c !== '\\t' && c !== '\\n' && c !== '\\r') {\n buffer += percentEscape(c);\n }\n break;\n case 'query':\n if (!stateOverride && c === '#') {\n this._fragment = '#';\n state = 'fragment';\n } else if (c !== EOF && c !== '\\t' && c !== '\\n' && c !== '\\r') {\n this._query += percentEscapeQuery(c);\n }\n break;\n case 'fragment':\n if (c !== EOF && c !== '\\t' && c !== '\\n' && c !== '\\r') {\n this._fragment += c;\n }\n break;\n }\n cursor++;\n }\n }\n function clear() {\n this._scheme = '';\n this._schemeData = '';\n this._username = '';\n this._password = null;\n this._host = '';\n this._port = '';\n this._path = [];\n this._query = '';\n this._fragment = '';\n this._isInvalid = false;\n this._isRelative = false;\n }\n function JURL(url, base) {\n if (base !== undefined && !(base instanceof JURL)) {\n base = new JURL(String(base));\n }\n this._url = url;\n clear.call(this);\n var input = url.replace(/^[ \\t\\r\\n\\f]+|[ \\t\\r\\n\\f]+$/g, '');\n parse.call(this, input, null, base);\n }\n JURL.prototype = {\n toString: function toString() {\n return this.href;\n },\n\n get href() {\n if (this._isInvalid) {\n return this._url;\n }\n var authority = '';\n if (this._username !== '' || this._password !== null) {\n authority = this._username + (this._password !== null ? ':' + this._password : '') + '@';\n }\n return this.protocol + (this._isRelative ? '//' + authority + this.host : '') + this.pathname + this._query + this._fragment;\n },\n set href(value) {\n clear.call(this);\n parse.call(this, value);\n },\n get protocol() {\n return this._scheme + ':';\n },\n set protocol(value) {\n if (this._isInvalid) {\n return;\n }\n parse.call(this, value + ':', 'scheme start');\n },\n get host() {\n return this._isInvalid ? '' : this._port ? this._host + ':' + this._port : this._host;\n },\n set host(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n parse.call(this, value, 'host');\n },\n get hostname() {\n return this._host;\n },\n set hostname(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n parse.call(this, value, 'hostname');\n },\n get port() {\n return this._port;\n },\n set port(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n parse.call(this, value, 'port');\n },\n get pathname() {\n return this._isInvalid ? '' : this._isRelative ? '/' + this._path.join('/') : this._schemeData;\n },\n set pathname(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n this._path = [];\n parse.call(this, value, 'relative path start');\n },\n get search() {\n return this._isInvalid || !this._query || this._query === '?' ? '' : this._query;\n },\n set search(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n this._query = '?';\n if (value[0] === '?') {\n value = value.slice(1);\n }\n parse.call(this, value, 'query');\n },\n get hash() {\n return this._isInvalid || !this._fragment || this._fragment === '#' ? '' : this._fragment;\n },\n set hash(value) {\n if (this._isInvalid) {\n return;\n }\n this._fragment = '#';\n if (value[0] === '#') {\n value = value.slice(1);\n }\n parse.call(this, value, 'fragment');\n },\n get origin() {\n var host;\n if (this._isInvalid || !this._scheme) {\n return '';\n }\n switch (this._scheme) {\n case 'data':\n case 'file':\n case 'javascript':\n case 'mailto':\n return 'null';\n case 'blob':\n try {\n return new JURL(this._schemeData).origin || 'null';\n } catch (_) {}\n return 'null';\n }\n host = this.host;\n if (!host) {\n return '';\n }\n return this._scheme + '://' + host;\n }\n };\n exports.URL = JURL;\n})();\n\n/***/ }),\n/* 129 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.build = exports.version = exports.setPDFNetworkStreamFactory = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFWorker = exports.PDFDataRangeTransport = exports.LoopbackPort = exports.getDocument = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _dom_utils = __w_pdfjs_require__(130);\n\nvar _font_loader = __w_pdfjs_require__(131);\n\nvar _api_compatibility = __w_pdfjs_require__(132);\n\nvar _canvas = __w_pdfjs_require__(133);\n\nvar _global_scope = __w_pdfjs_require__(3);\n\nvar _global_scope2 = _interopRequireDefault(_global_scope);\n\nvar _worker_options = __w_pdfjs_require__(135);\n\nvar _message_handler = __w_pdfjs_require__(136);\n\nvar _metadata = __w_pdfjs_require__(141);\n\nvar _transport_stream = __w_pdfjs_require__(143);\n\nvar _webgl = __w_pdfjs_require__(144);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar DEFAULT_RANGE_CHUNK_SIZE = 65536;\nvar isWorkerDisabled = false;\nvar fallbackWorkerSrc = void 0;\nvar fakeWorkerFilesLoader = null;\n{\n var useRequireEnsure = false;\n if (typeof window === 'undefined') {\n isWorkerDisabled = true;\n if (typeof require.ensure === 'undefined') {\n require.ensure = require('node-ensure');\n }\n useRequireEnsure = true;\n } else if (typeof require !== 'undefined' && typeof require.ensure === 'function') {\n useRequireEnsure = true;\n }\n if (typeof requirejs !== 'undefined' && requirejs.toUrl) {\n fallbackWorkerSrc = requirejs.toUrl('pdfjs-dist/build/pdf.worker.js');\n }\n var dynamicLoaderSupported = typeof requirejs !== 'undefined' && requirejs.load;\n fakeWorkerFilesLoader = useRequireEnsure ? function () {\n return new Promise(function (resolve, reject) {\n require.ensure([], function () {\n try {\n var worker = void 0;\n worker = require('./pdf.worker.js');\n resolve(worker.WorkerMessageHandler);\n } catch (ex) {\n reject(ex);\n }\n }, reject, 'pdfjsWorker');\n });\n } : dynamicLoaderSupported ? function () {\n return new Promise(function (resolve, reject) {\n requirejs(['pdfjs-dist/build/pdf.worker'], function (worker) {\n try {\n resolve(worker.WorkerMessageHandler);\n } catch (ex) {\n reject(ex);\n }\n }, reject);\n });\n } : null;\n if (!fallbackWorkerSrc && typeof document !== 'undefined') {\n var pdfjsFilePath = document.currentScript && document.currentScript.src;\n if (pdfjsFilePath) {\n fallbackWorkerSrc = pdfjsFilePath.replace(/(\\.(?:min\\.)?js)(\\?.*)?$/i, '.worker$1$2');\n }\n }\n}\nvar createPDFNetworkStream;\nfunction setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {\n createPDFNetworkStream = pdfNetworkStreamFactory;\n}\nfunction getDocument(src) {\n var task = new PDFDocumentLoadingTask();\n var source;\n if (typeof src === 'string') {\n source = { url: src };\n } else if ((0, _util.isArrayBuffer)(src)) {\n source = { data: src };\n } else if (src instanceof PDFDataRangeTransport) {\n source = { range: src };\n } else {\n if ((typeof src === 'undefined' ? 'undefined' : _typeof(src)) !== 'object') {\n throw new Error('Invalid parameter in getDocument, ' + 'need either Uint8Array, string or a parameter object');\n }\n if (!src.url && !src.data && !src.range) {\n throw new Error('Invalid parameter object: need either .data, .range or .url');\n }\n source = src;\n }\n var params = Object.create(null);\n var rangeTransport = null;\n var worker = null;\n for (var key in source) {\n if (key === 'url' && typeof window !== 'undefined') {\n params[key] = new _util.URL(source[key], window.location).href;\n continue;\n } else if (key === 'range') {\n rangeTransport = source[key];\n continue;\n } else if (key === 'worker') {\n worker = source[key];\n continue;\n } else if (key === 'data' && !(source[key] instanceof Uint8Array)) {\n var pdfBytes = source[key];\n if (typeof pdfBytes === 'string') {\n params[key] = (0, _util.stringToBytes)(pdfBytes);\n } else if ((typeof pdfBytes === 'undefined' ? 'undefined' : _typeof(pdfBytes)) === 'object' && pdfBytes !== null && !isNaN(pdfBytes.length)) {\n params[key] = new Uint8Array(pdfBytes);\n } else if ((0, _util.isArrayBuffer)(pdfBytes)) {\n params[key] = new Uint8Array(pdfBytes);\n } else {\n throw new Error('Invalid PDF binary data: either typed array, ' + 'string or array-like object is expected in the ' + 'data property.');\n }\n continue;\n }\n params[key] = source[key];\n }\n params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;\n params.CMapReaderFactory = params.CMapReaderFactory || _dom_utils.DOMCMapReaderFactory;\n params.ignoreErrors = params.stopAtErrors !== true;\n params.pdfBug = params.pdfBug === true;\n var NativeImageDecoderValues = Object.values(_util.NativeImageDecoding);\n if (params.nativeImageDecoderSupport === undefined || !NativeImageDecoderValues.includes(params.nativeImageDecoderSupport)) {\n params.nativeImageDecoderSupport = _api_compatibility.apiCompatibilityParams.nativeImageDecoderSupport || _util.NativeImageDecoding.DECODE;\n }\n if (!Number.isInteger(params.maxImageSize)) {\n params.maxImageSize = -1;\n }\n if (typeof params.isEvalSupported !== 'boolean') {\n params.isEvalSupported = true;\n }\n if (typeof params.disableFontFace !== 'boolean') {\n params.disableFontFace = _api_compatibility.apiCompatibilityParams.disableFontFace || false;\n }\n if (typeof params.disableRange !== 'boolean') {\n params.disableRange = false;\n }\n if (typeof params.disableStream !== 'boolean') {\n params.disableStream = false;\n }\n if (typeof params.disableAutoFetch !== 'boolean') {\n params.disableAutoFetch = false;\n }\n if (typeof params.disableCreateObjectURL !== 'boolean') {\n params.disableCreateObjectURL = _api_compatibility.apiCompatibilityParams.disableCreateObjectURL || false;\n }\n (0, _util.setVerbosityLevel)(params.verbosity);\n if (!worker) {\n var workerParams = {\n postMessageTransfers: params.postMessageTransfers,\n verbosity: params.verbosity\n };\n var workerPort = _worker_options.GlobalWorkerOptions.workerPort;\n if (workerPort) {\n workerParams.port = workerPort;\n worker = PDFWorker.fromPort(workerParams);\n } else {\n worker = new PDFWorker(workerParams);\n }\n task._worker = worker;\n }\n var docId = task.docId;\n worker.promise.then(function () {\n if (task.destroyed) {\n throw new Error('Loading aborted');\n }\n return _fetchDocument(worker, params, rangeTransport, docId).then(function (workerId) {\n if (task.destroyed) {\n throw new Error('Loading aborted');\n }\n var networkStream = void 0;\n if (rangeTransport) {\n networkStream = new _transport_stream.PDFDataTransportStream({\n length: params.length,\n initialData: params.initialData,\n disableRange: params.disableRange,\n disableStream: params.disableStream\n }, rangeTransport);\n } else if (!params.data) {\n networkStream = createPDFNetworkStream({\n url: params.url,\n length: params.length,\n httpHeaders: params.httpHeaders,\n withCredentials: params.withCredentials,\n rangeChunkSize: params.rangeChunkSize,\n disableRange: params.disableRange,\n disableStream: params.disableStream\n });\n }\n var messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port);\n messageHandler.postMessageTransfers = worker.postMessageTransfers;\n var transport = new WorkerTransport(messageHandler, task, networkStream, params);\n task._transport = transport;\n messageHandler.send('Ready', null);\n });\n }).catch(task._capability.reject);\n return task;\n}\nfunction _fetchDocument(worker, source, pdfDataRangeTransport, docId) {\n if (worker.destroyed) {\n return Promise.reject(new Error('Worker was destroyed'));\n }\n if (pdfDataRangeTransport) {\n source.length = pdfDataRangeTransport.length;\n source.initialData = pdfDataRangeTransport.initialData;\n }\n return worker.messageHandler.sendWithPromise('GetDocRequest', {\n docId: docId,\n apiVersion: '2.0.943',\n source: {\n data: source.data,\n url: source.url,\n password: source.password,\n disableAutoFetch: source.disableAutoFetch,\n rangeChunkSize: source.rangeChunkSize,\n length: source.length\n },\n maxImageSize: source.maxImageSize,\n disableFontFace: source.disableFontFace,\n disableCreateObjectURL: source.disableCreateObjectURL,\n postMessageTransfers: worker.postMessageTransfers,\n docBaseUrl: source.docBaseUrl,\n nativeImageDecoderSupport: source.nativeImageDecoderSupport,\n ignoreErrors: source.ignoreErrors,\n isEvalSupported: source.isEvalSupported\n }).then(function (workerId) {\n if (worker.destroyed) {\n throw new Error('Worker was destroyed');\n }\n return workerId;\n });\n}\nvar PDFDocumentLoadingTask = function PDFDocumentLoadingTaskClosure() {\n var nextDocumentId = 0;\n function PDFDocumentLoadingTask() {\n this._capability = (0, _util.createPromiseCapability)();\n this._transport = null;\n this._worker = null;\n this.docId = 'd' + nextDocumentId++;\n this.destroyed = false;\n this.onPassword = null;\n this.onProgress = null;\n this.onUnsupportedFeature = null;\n }\n PDFDocumentLoadingTask.prototype = {\n get promise() {\n return this._capability.promise;\n },\n destroy: function destroy() {\n var _this = this;\n\n this.destroyed = true;\n var transportDestroyed = !this._transport ? Promise.resolve() : this._transport.destroy();\n return transportDestroyed.then(function () {\n _this._transport = null;\n if (_this._worker) {\n _this._worker.destroy();\n _this._worker = null;\n }\n });\n },\n\n then: function PDFDocumentLoadingTask_then(onFulfilled, onRejected) {\n return this.promise.then.apply(this.promise, arguments);\n }\n };\n return PDFDocumentLoadingTask;\n}();\n\nvar PDFDataRangeTransport = function () {\n function PDFDataRangeTransport(length, initialData) {\n _classCallCheck(this, PDFDataRangeTransport);\n\n this.length = length;\n this.initialData = initialData;\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._readyCapability = (0, _util.createPromiseCapability)();\n }\n\n _createClass(PDFDataRangeTransport, [{\n key: 'addRangeListener',\n value: function addRangeListener(listener) {\n this._rangeListeners.push(listener);\n }\n }, {\n key: 'addProgressListener',\n value: function addProgressListener(listener) {\n this._progressListeners.push(listener);\n }\n }, {\n key: 'addProgressiveReadListener',\n value: function addProgressiveReadListener(listener) {\n this._progressiveReadListeners.push(listener);\n }\n }, {\n key: 'onDataRange',\n value: function onDataRange(begin, chunk) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this._rangeListeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var listener = _step.value;\n\n listener(begin, chunk);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n }, {\n key: 'onDataProgress',\n value: function onDataProgress(loaded) {\n var _this2 = this;\n\n this._readyCapability.promise.then(function () {\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = _this2._progressListeners[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var listener = _step2.value;\n\n listener(loaded);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n });\n }\n }, {\n key: 'onDataProgressiveRead',\n value: function onDataProgressiveRead(chunk) {\n var _this3 = this;\n\n this._readyCapability.promise.then(function () {\n var _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n\n try {\n for (var _iterator3 = _this3._progressiveReadListeners[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var listener = _step3.value;\n\n listener(chunk);\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n });\n }\n }, {\n key: 'transportReady',\n value: function transportReady() {\n this._readyCapability.resolve();\n }\n }, {\n key: 'requestDataRange',\n value: function requestDataRange(begin, end) {\n (0, _util.unreachable)('Abstract method PDFDataRangeTransport.requestDataRange');\n }\n }, {\n key: 'abort',\n value: function abort() {}\n }]);\n\n return PDFDataRangeTransport;\n}();\n\nvar PDFDocumentProxy = function () {\n function PDFDocumentProxy(pdfInfo, transport, loadingTask) {\n _classCallCheck(this, PDFDocumentProxy);\n\n this.loadingTask = loadingTask;\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n }\n\n _createClass(PDFDocumentProxy, [{\n key: 'getPage',\n value: function getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n }, {\n key: 'getPageIndex',\n value: function getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n }, {\n key: 'getDestinations',\n value: function getDestinations() {\n return this._transport.getDestinations();\n }\n }, {\n key: 'getDestination',\n value: function getDestination(id) {\n return this._transport.getDestination(id);\n }\n }, {\n key: 'getPageLabels',\n value: function getPageLabels() {\n return this._transport.getPageLabels();\n }\n }, {\n key: 'getPageMode',\n value: function getPageMode() {\n return this._transport.getPageMode();\n }\n }, {\n key: 'getAttachments',\n value: function getAttachments() {\n return this._transport.getAttachments();\n }\n }, {\n key: 'getJavaScript',\n value: function getJavaScript() {\n return this._transport.getJavaScript();\n }\n }, {\n key: 'getOutline',\n value: function getOutline() {\n return this._transport.getOutline();\n }\n }, {\n key: 'getPermissions',\n value: function getPermissions() {\n return this._transport.getPermissions();\n }\n }, {\n key: 'getMetadata',\n value: function getMetadata() {\n return this._transport.getMetadata();\n }\n }, {\n key: 'getData',\n value: function getData() {\n return this._transport.getData();\n }\n }, {\n key: 'getDownloadInfo',\n value: function getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n }, {\n key: 'getStats',\n value: function getStats() {\n return this._transport.getStats();\n }\n }, {\n key: 'cleanup',\n value: function cleanup() {\n this._transport.startCleanup();\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n return this.loadingTask.destroy();\n }\n }, {\n key: 'numPages',\n get: function get() {\n return this._pdfInfo.numPages;\n }\n }, {\n key: 'fingerprint',\n get: function get() {\n return this._pdfInfo.fingerprint;\n }\n }, {\n key: 'loadingParams',\n get: function get() {\n return this._transport.loadingParams;\n }\n }]);\n\n return PDFDocumentProxy;\n}();\n\nvar PDFPageProxy = function PDFPageProxyClosure() {\n function PDFPageProxy(pageIndex, pageInfo, transport) {\n var pdfBug = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n this.pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this.transport = transport;\n this._stats = pdfBug ? new _dom_utils.StatTimer() : _dom_utils.DummyStatTimer;\n this._pdfBug = pdfBug;\n this.commonObjs = transport.commonObjs;\n this.objs = new PDFObjects();\n this.cleanupAfterRender = false;\n this.pendingCleanup = false;\n this.intentStates = Object.create(null);\n this.destroyed = false;\n }\n PDFPageProxy.prototype = {\n get pageNumber() {\n return this.pageIndex + 1;\n },\n get rotate() {\n return this._pageInfo.rotate;\n },\n get ref() {\n return this._pageInfo.ref;\n },\n get userUnit() {\n return this._pageInfo.userUnit;\n },\n get view() {\n return this._pageInfo.view;\n },\n getViewport: function getViewport(scale) {\n var rotate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.rotate;\n var dontFlip = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n return new _dom_utils.PageViewport({\n viewBox: this.view,\n scale: scale,\n rotation: rotate,\n dontFlip: dontFlip\n });\n },\n\n getAnnotations: function PDFPageProxy_getAnnotations(params) {\n var intent = params && params.intent || null;\n if (!this.annotationsPromise || this.annotationsIntent !== intent) {\n this.annotationsPromise = this.transport.getAnnotations(this.pageIndex, intent);\n this.annotationsIntent = intent;\n }\n return this.annotationsPromise;\n },\n render: function PDFPageProxy_render(params) {\n var _this4 = this;\n\n var stats = this._stats;\n stats.time('Overall');\n this.pendingCleanup = false;\n var renderingIntent = params.intent === 'print' ? 'print' : 'display';\n var canvasFactory = params.canvasFactory || new _dom_utils.DOMCanvasFactory();\n var webGLContext = new _webgl.WebGLContext({ enable: params.enableWebGL });\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n var intentState = this.intentStates[renderingIntent];\n if (!intentState.displayReadyCapability) {\n intentState.receivingOperatorList = true;\n intentState.displayReadyCapability = (0, _util.createPromiseCapability)();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false\n };\n stats.time('Page Request');\n this.transport.messageHandler.send('RenderPageRequest', {\n pageIndex: this.pageNumber - 1,\n intent: renderingIntent,\n renderInteractiveForms: params.renderInteractiveForms === true\n });\n }\n var complete = function complete(error) {\n var i = intentState.renderTasks.indexOf(internalRenderTask);\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n if (_this4.cleanupAfterRender) {\n _this4.pendingCleanup = true;\n }\n _this4._tryCleanup();\n if (error) {\n internalRenderTask.capability.reject(error);\n } else {\n internalRenderTask.capability.resolve();\n }\n stats.timeEnd('Rendering');\n stats.timeEnd('Overall');\n };\n var internalRenderTask = new InternalRenderTask(complete, params, this.objs, this.commonObjs, intentState.operatorList, this.pageNumber, canvasFactory, webGLContext, this._pdfBug);\n internalRenderTask.useRequestAnimationFrame = renderingIntent !== 'print';\n if (!intentState.renderTasks) {\n intentState.renderTasks = [];\n }\n intentState.renderTasks.push(internalRenderTask);\n var renderTask = internalRenderTask.task;\n intentState.displayReadyCapability.promise.then(function (transparency) {\n if (_this4.pendingCleanup) {\n complete();\n return;\n }\n stats.time('Rendering');\n internalRenderTask.initializeGraphics(transparency);\n internalRenderTask.operatorListChanged();\n }).catch(complete);\n return renderTask;\n },\n getOperatorList: function PDFPageProxy_getOperatorList() {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n var i = intentState.renderTasks.indexOf(opListTask);\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n }\n }\n var renderingIntent = 'oplist';\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n var intentState = this.intentStates[renderingIntent];\n var opListTask;\n if (!intentState.opListReadCapability) {\n opListTask = {};\n opListTask.operatorListChanged = operatorListChanged;\n intentState.receivingOperatorList = true;\n intentState.opListReadCapability = (0, _util.createPromiseCapability)();\n intentState.renderTasks = [];\n intentState.renderTasks.push(opListTask);\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false\n };\n this._stats.time('Page Request');\n this.transport.messageHandler.send('RenderPageRequest', {\n pageIndex: this.pageIndex,\n intent: renderingIntent\n });\n }\n return intentState.opListReadCapability.promise;\n },\n streamTextContent: function streamTextContent() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var TEXT_CONTENT_CHUNK_SIZE = 100;\n return this.transport.messageHandler.sendWithStream('GetTextContent', {\n pageIndex: this.pageNumber - 1,\n normalizeWhitespace: params.normalizeWhitespace === true,\n combineTextItems: params.disableCombineTextItems !== true\n }, {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n size: function size(textContent) {\n return textContent.items.length;\n }\n });\n },\n\n getTextContent: function PDFPageProxy_getTextContent(params) {\n params = params || {};\n var readableStream = this.streamTextContent(params);\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function (_ref) {\n var _textContent$items;\n\n var value = _ref.value,\n done = _ref.done;\n\n if (done) {\n resolve(textContent);\n return;\n }\n Object.assign(textContent.styles, value.styles);\n (_textContent$items = textContent.items).push.apply(_textContent$items, _toConsumableArray(value.items));\n pump();\n }, reject);\n }\n var reader = readableStream.getReader();\n var textContent = {\n items: [],\n styles: Object.create(null)\n };\n pump();\n });\n },\n _destroy: function PDFPageProxy_destroy() {\n this.destroyed = true;\n this.transport.pageCache[this.pageIndex] = null;\n var waitOn = [];\n Object.keys(this.intentStates).forEach(function (intent) {\n if (intent === 'oplist') {\n return;\n }\n var intentState = this.intentStates[intent];\n intentState.renderTasks.forEach(function (renderTask) {\n var renderCompleted = renderTask.capability.promise.catch(function () {});\n waitOn.push(renderCompleted);\n renderTask.cancel();\n });\n }, this);\n this.objs.clear();\n this.annotationsPromise = null;\n this.pendingCleanup = false;\n return Promise.all(waitOn);\n },\n cleanup: function cleanup() {\n var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.pendingCleanup = true;\n this._tryCleanup(resetStats);\n },\n _tryCleanup: function _tryCleanup() {\n var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this.pendingCleanup || Object.keys(this.intentStates).some(function (intent) {\n var intentState = this.intentStates[intent];\n return intentState.renderTasks.length !== 0 || intentState.receivingOperatorList;\n }, this)) {\n return;\n }\n Object.keys(this.intentStates).forEach(function (intent) {\n delete this.intentStates[intent];\n }, this);\n this.objs.clear();\n this.annotationsPromise = null;\n if (resetStats && this._stats instanceof _dom_utils.StatTimer) {\n this._stats = new _dom_utils.StatTimer();\n }\n this.pendingCleanup = false;\n },\n\n _startRenderPage: function PDFPageProxy_startRenderPage(transparency, intent) {\n var intentState = this.intentStates[intent];\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.resolve(transparency);\n }\n },\n _renderPageChunk: function PDFPageProxy_renderPageChunk(operatorListChunk, intent) {\n var intentState = this.intentStates[intent];\n var i, ii;\n for (i = 0, ii = operatorListChunk.length; i < ii; i++) {\n intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);\n }\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n for (i = 0; i < intentState.renderTasks.length; i++) {\n intentState.renderTasks[i].operatorListChanged();\n }\n if (operatorListChunk.lastChunk) {\n intentState.receivingOperatorList = false;\n this._tryCleanup();\n }\n },\n get stats() {\n return this._stats instanceof _dom_utils.StatTimer ? this._stats : null;\n }\n };\n return PDFPageProxy;\n}();\n\nvar LoopbackPort = function () {\n function LoopbackPort() {\n var defer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n _classCallCheck(this, LoopbackPort);\n\n this._listeners = [];\n this._defer = defer;\n this._deferred = Promise.resolve(undefined);\n }\n\n _createClass(LoopbackPort, [{\n key: 'postMessage',\n value: function postMessage(obj, transfers) {\n var _this5 = this;\n\n function cloneValue(value) {\n if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) !== 'object' || value === null) {\n return value;\n }\n if (cloned.has(value)) {\n return cloned.get(value);\n }\n var result;\n var buffer;\n if ((buffer = value.buffer) && (0, _util.isArrayBuffer)(buffer)) {\n var transferable = transfers && transfers.includes(buffer);\n if (value === buffer) {\n result = value;\n } else if (transferable) {\n result = new value.constructor(buffer, value.byteOffset, value.byteLength);\n } else {\n result = new value.constructor(value);\n }\n cloned.set(value, result);\n return result;\n }\n result = Array.isArray(value) ? [] : {};\n cloned.set(value, result);\n for (var i in value) {\n var desc,\n p = value;\n while (!(desc = Object.getOwnPropertyDescriptor(p, i))) {\n p = Object.getPrototypeOf(p);\n }\n if (typeof desc.value === 'undefined' || typeof desc.value === 'function') {\n continue;\n }\n result[i] = cloneValue(desc.value);\n }\n return result;\n }\n if (!this._defer) {\n this._listeners.forEach(function (listener) {\n listener.call(this, { data: obj });\n }, this);\n return;\n }\n var cloned = new WeakMap();\n var e = { data: cloneValue(obj) };\n this._deferred.then(function () {\n _this5._listeners.forEach(function (listener) {\n listener.call(this, e);\n }, _this5);\n });\n }\n }, {\n key: 'addEventListener',\n value: function addEventListener(name, listener) {\n this._listeners.push(listener);\n }\n }, {\n key: 'removeEventListener',\n value: function removeEventListener(name, listener) {\n var i = this._listeners.indexOf(listener);\n this._listeners.splice(i, 1);\n }\n }, {\n key: 'terminate',\n value: function terminate() {\n this._listeners = [];\n }\n }]);\n\n return LoopbackPort;\n}();\n\nvar PDFWorker = function PDFWorkerClosure() {\n var nextFakeWorkerId = 0;\n function getWorkerSrc() {\n if (_worker_options.GlobalWorkerOptions.workerSrc) {\n return _worker_options.GlobalWorkerOptions.workerSrc;\n }\n if (typeof fallbackWorkerSrc !== 'undefined') {\n return fallbackWorkerSrc;\n }\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n function getMainThreadWorkerMessageHandler() {\n try {\n if (typeof window !== 'undefined') {\n return window.pdfjsWorker && window.pdfjsWorker.WorkerMessageHandler;\n }\n } catch (ex) {}\n return null;\n }\n var fakeWorkerFilesLoadedCapability = void 0;\n function setupFakeWorkerGlobal() {\n if (fakeWorkerFilesLoadedCapability) {\n return fakeWorkerFilesLoadedCapability.promise;\n }\n fakeWorkerFilesLoadedCapability = (0, _util.createPromiseCapability)();\n var mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();\n if (mainWorkerMessageHandler) {\n fakeWorkerFilesLoadedCapability.resolve(mainWorkerMessageHandler);\n return fakeWorkerFilesLoadedCapability.promise;\n }\n var loader = fakeWorkerFilesLoader || function () {\n return (0, _dom_utils.loadScript)(getWorkerSrc()).then(function () {\n return window.pdfjsWorker.WorkerMessageHandler;\n });\n };\n loader().then(fakeWorkerFilesLoadedCapability.resolve, fakeWorkerFilesLoadedCapability.reject);\n return fakeWorkerFilesLoadedCapability.promise;\n }\n function createCDNWrapper(url) {\n var wrapper = 'importScripts(\\'' + url + '\\');';\n return _util.URL.createObjectURL(new Blob([wrapper]));\n }\n var pdfWorkerPorts = new WeakMap();\n function PDFWorker() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref2$name = _ref2.name,\n name = _ref2$name === undefined ? null : _ref2$name,\n _ref2$port = _ref2.port,\n port = _ref2$port === undefined ? null : _ref2$port,\n _ref2$postMessageTran = _ref2.postMessageTransfers,\n postMessageTransfers = _ref2$postMessageTran === undefined ? true : _ref2$postMessageTran,\n _ref2$verbosity = _ref2.verbosity,\n verbosity = _ref2$verbosity === undefined ? (0, _util.getVerbosityLevel)() : _ref2$verbosity;\n\n if (port && pdfWorkerPorts.has(port)) {\n throw new Error('Cannot use more than one PDFWorker per port');\n }\n this.name = name;\n this.destroyed = false;\n this.postMessageTransfers = postMessageTransfers !== false;\n this.verbosity = verbosity;\n this._readyCapability = (0, _util.createPromiseCapability)();\n this._port = null;\n this._webWorker = null;\n this._messageHandler = null;\n if (port) {\n pdfWorkerPorts.set(port, this);\n this._initializeFromPort(port);\n return;\n }\n this._initialize();\n }\n PDFWorker.prototype = {\n get promise() {\n return this._readyCapability.promise;\n },\n get port() {\n return this._port;\n },\n get messageHandler() {\n return this._messageHandler;\n },\n _initializeFromPort: function PDFWorker_initializeFromPort(port) {\n this._port = port;\n this._messageHandler = new _message_handler.MessageHandler('main', 'worker', port);\n this._messageHandler.on('ready', function () {});\n this._readyCapability.resolve();\n },\n _initialize: function PDFWorker_initialize() {\n var _this6 = this;\n\n if (typeof Worker !== 'undefined' && !isWorkerDisabled && !getMainThreadWorkerMessageHandler()) {\n var workerSrc = getWorkerSrc();\n try {\n if (!(0, _util.isSameOrigin)(window.location.href, workerSrc)) {\n workerSrc = createCDNWrapper(new _util.URL(workerSrc, window.location).href);\n }\n var worker = new Worker(workerSrc);\n var messageHandler = new _message_handler.MessageHandler('main', 'worker', worker);\n var terminateEarly = function terminateEarly() {\n worker.removeEventListener('error', onWorkerError);\n messageHandler.destroy();\n worker.terminate();\n if (_this6.destroyed) {\n _this6._readyCapability.reject(new Error('Worker was destroyed'));\n } else {\n _this6._setupFakeWorker();\n }\n };\n var onWorkerError = function onWorkerError() {\n if (!_this6._webWorker) {\n terminateEarly();\n }\n };\n worker.addEventListener('error', onWorkerError);\n messageHandler.on('test', function (data) {\n worker.removeEventListener('error', onWorkerError);\n if (_this6.destroyed) {\n terminateEarly();\n return;\n }\n if (data && data.supportTypedArray) {\n _this6._messageHandler = messageHandler;\n _this6._port = worker;\n _this6._webWorker = worker;\n if (!data.supportTransfers) {\n _this6.postMessageTransfers = false;\n }\n _this6._readyCapability.resolve();\n messageHandler.send('configure', { verbosity: _this6.verbosity });\n } else {\n _this6._setupFakeWorker();\n messageHandler.destroy();\n worker.terminate();\n }\n });\n messageHandler.on('ready', function (data) {\n worker.removeEventListener('error', onWorkerError);\n if (_this6.destroyed) {\n terminateEarly();\n return;\n }\n try {\n sendTest();\n } catch (e) {\n _this6._setupFakeWorker();\n }\n });\n var sendTest = function sendTest() {\n var testObj = new Uint8Array([_this6.postMessageTransfers ? 255 : 0]);\n try {\n messageHandler.send('test', testObj, [testObj.buffer]);\n } catch (ex) {\n (0, _util.info)('Cannot use postMessage transfers');\n testObj[0] = 0;\n messageHandler.send('test', testObj);\n }\n };\n sendTest();\n return;\n } catch (e) {\n (0, _util.info)('The worker has been disabled.');\n }\n }\n this._setupFakeWorker();\n },\n _setupFakeWorker: function PDFWorker_setupFakeWorker() {\n var _this7 = this;\n\n if (!isWorkerDisabled) {\n (0, _util.warn)('Setting up fake worker.');\n isWorkerDisabled = true;\n }\n setupFakeWorkerGlobal().then(function (WorkerMessageHandler) {\n if (_this7.destroyed) {\n _this7._readyCapability.reject(new Error('Worker was destroyed'));\n return;\n }\n var port = new LoopbackPort();\n _this7._port = port;\n var id = 'fake' + nextFakeWorkerId++;\n var workerHandler = new _message_handler.MessageHandler(id + '_worker', id, port);\n WorkerMessageHandler.setup(workerHandler, port);\n var messageHandler = new _message_handler.MessageHandler(id, id + '_worker', port);\n _this7._messageHandler = messageHandler;\n _this7._readyCapability.resolve();\n }).catch(function (reason) {\n _this7._readyCapability.reject(new Error('Setting up fake worker failed: \"' + reason.message + '\".'));\n });\n },\n destroy: function PDFWorker_destroy() {\n this.destroyed = true;\n if (this._webWorker) {\n this._webWorker.terminate();\n this._webWorker = null;\n }\n pdfWorkerPorts.delete(this._port);\n this._port = null;\n if (this._messageHandler) {\n this._messageHandler.destroy();\n this._messageHandler = null;\n }\n }\n };\n PDFWorker.fromPort = function (params) {\n if (!params || !params.port) {\n throw new Error('PDFWorker.fromPort - invalid method signature.');\n }\n if (pdfWorkerPorts.has(params.port)) {\n return pdfWorkerPorts.get(params.port);\n }\n return new PDFWorker(params);\n };\n PDFWorker.getWorkerSrc = function () {\n return getWorkerSrc();\n };\n return PDFWorker;\n}();\n\nvar WorkerTransport = function () {\n function WorkerTransport(messageHandler, loadingTask, networkStream, params) {\n _classCallCheck(this, WorkerTransport);\n\n this.messageHandler = messageHandler;\n this.loadingTask = loadingTask;\n this.commonObjs = new PDFObjects();\n this.fontLoader = new _font_loader.FontLoader(loadingTask.docId);\n this._params = params;\n this.CMapReaderFactory = new params.CMapReaderFactory({\n baseUrl: params.cMapUrl,\n isCompressed: params.cMapPacked\n });\n this.destroyed = false;\n this.destroyCapability = null;\n this._passwordCapability = null;\n this._networkStream = networkStream;\n this._fullReader = null;\n this._lastProgress = null;\n this.pageCache = [];\n this.pagePromises = [];\n this.downloadInfoCapability = (0, _util.createPromiseCapability)();\n this.setupMessageHandler();\n }\n\n _createClass(WorkerTransport, [{\n key: 'destroy',\n value: function destroy() {\n var _this8 = this;\n\n if (this.destroyCapability) {\n return this.destroyCapability.promise;\n }\n this.destroyed = true;\n this.destroyCapability = (0, _util.createPromiseCapability)();\n if (this._passwordCapability) {\n this._passwordCapability.reject(new Error('Worker was destroyed during onPassword callback'));\n }\n var waitOn = [];\n this.pageCache.forEach(function (page) {\n if (page) {\n waitOn.push(page._destroy());\n }\n });\n this.pageCache = [];\n this.pagePromises = [];\n var terminated = this.messageHandler.sendWithPromise('Terminate', null);\n waitOn.push(terminated);\n Promise.all(waitOn).then(function () {\n _this8.fontLoader.clear();\n if (_this8._networkStream) {\n _this8._networkStream.cancelAllRequests();\n }\n if (_this8.messageHandler) {\n _this8.messageHandler.destroy();\n _this8.messageHandler = null;\n }\n _this8.destroyCapability.resolve();\n }, this.destroyCapability.reject);\n return this.destroyCapability.promise;\n }\n }, {\n key: 'setupMessageHandler',\n value: function setupMessageHandler() {\n var messageHandler = this.messageHandler,\n loadingTask = this.loadingTask;\n\n messageHandler.on('GetReader', function (data, sink) {\n var _this9 = this;\n\n (0, _util.assert)(this._networkStream);\n this._fullReader = this._networkStream.getFullReader();\n this._fullReader.onProgress = function (evt) {\n _this9._lastProgress = {\n loaded: evt.loaded,\n total: evt.total\n };\n };\n sink.onPull = function () {\n _this9._fullReader.read().then(function (_ref3) {\n var value = _ref3.value,\n done = _ref3.done;\n\n if (done) {\n sink.close();\n return;\n }\n (0, _util.assert)((0, _util.isArrayBuffer)(value));\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(function (reason) {\n sink.error(reason);\n });\n };\n sink.onCancel = function (reason) {\n _this9._fullReader.cancel(reason);\n };\n }, this);\n messageHandler.on('ReaderHeadersReady', function (data) {\n var _this10 = this;\n\n var headersCapability = (0, _util.createPromiseCapability)();\n var fullReader = this._fullReader;\n fullReader.headersReady.then(function () {\n if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {\n if (_this10._lastProgress && loadingTask.onProgress) {\n loadingTask.onProgress(_this10._lastProgress);\n }\n fullReader.onProgress = function (evt) {\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n };\n }\n headersCapability.resolve({\n isStreamingSupported: fullReader.isStreamingSupported,\n isRangeSupported: fullReader.isRangeSupported,\n contentLength: fullReader.contentLength\n });\n }, headersCapability.reject);\n return headersCapability.promise;\n }, this);\n messageHandler.on('GetRangeReader', function (data, sink) {\n (0, _util.assert)(this._networkStream);\n var rangeReader = this._networkStream.getRangeReader(data.begin, data.end);\n sink.onPull = function () {\n rangeReader.read().then(function (_ref4) {\n var value = _ref4.value,\n done = _ref4.done;\n\n if (done) {\n sink.close();\n return;\n }\n (0, _util.assert)((0, _util.isArrayBuffer)(value));\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(function (reason) {\n sink.error(reason);\n });\n };\n sink.onCancel = function (reason) {\n rangeReader.cancel(reason);\n };\n }, this);\n messageHandler.on('GetDoc', function (_ref5) {\n var pdfInfo = _ref5.pdfInfo;\n\n this.numPages = pdfInfo.numPages;\n this.pdfDocument = new PDFDocumentProxy(pdfInfo, this, loadingTask);\n loadingTask._capability.resolve(this.pdfDocument);\n }, this);\n messageHandler.on('PasswordRequest', function (exception) {\n var _this11 = this;\n\n this._passwordCapability = (0, _util.createPromiseCapability)();\n if (loadingTask.onPassword) {\n var updatePassword = function updatePassword(password) {\n _this11._passwordCapability.resolve({ password: password });\n };\n try {\n loadingTask.onPassword(updatePassword, exception.code);\n } catch (ex) {\n this._passwordCapability.reject(ex);\n }\n } else {\n this._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));\n }\n return this._passwordCapability.promise;\n }, this);\n messageHandler.on('PasswordException', function (exception) {\n loadingTask._capability.reject(new _util.PasswordException(exception.message, exception.code));\n }, this);\n messageHandler.on('InvalidPDF', function (exception) {\n loadingTask._capability.reject(new _util.InvalidPDFException(exception.message));\n }, this);\n messageHandler.on('MissingPDF', function (exception) {\n loadingTask._capability.reject(new _util.MissingPDFException(exception.message));\n }, this);\n messageHandler.on('UnexpectedResponse', function (exception) {\n loadingTask._capability.reject(new _util.UnexpectedResponseException(exception.message, exception.status));\n }, this);\n messageHandler.on('UnknownError', function (exception) {\n loadingTask._capability.reject(new _util.UnknownErrorException(exception.message, exception.details));\n }, this);\n messageHandler.on('DataLoaded', function (data) {\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.length,\n total: data.length\n });\n }\n this.downloadInfoCapability.resolve(data);\n }, this);\n messageHandler.on('StartRenderPage', function (data) {\n if (this.destroyed) {\n return;\n }\n var page = this.pageCache[data.pageIndex];\n page._stats.timeEnd('Page Request');\n page._startRenderPage(data.transparency, data.intent);\n }, this);\n messageHandler.on('RenderPageChunk', function (data) {\n if (this.destroyed) {\n return;\n }\n var page = this.pageCache[data.pageIndex];\n page._renderPageChunk(data.operatorList, data.intent);\n }, this);\n messageHandler.on('commonobj', function (data) {\n var _this12 = this;\n\n if (this.destroyed) {\n return;\n }\n\n var _data = _slicedToArray(data, 3),\n id = _data[0],\n type = _data[1],\n exportedData = _data[2];\n\n if (this.commonObjs.hasData(id)) {\n return;\n }\n switch (type) {\n case 'Font':\n var params = this._params;\n if ('error' in exportedData) {\n var exportedError = exportedData.error;\n (0, _util.warn)('Error during font loading: ' + exportedError);\n this.commonObjs.resolve(id, exportedError);\n break;\n }\n var fontRegistry = null;\n if (params.pdfBug && _global_scope2.default.FontInspector && _global_scope2.default.FontInspector.enabled) {\n fontRegistry = {\n registerFont: function registerFont(font, url) {\n _global_scope2.default['FontInspector'].fontAdded(font, url);\n }\n };\n }\n var font = new _font_loader.FontFaceObject(exportedData, {\n isEvalSupported: params.isEvalSupported,\n disableFontFace: params.disableFontFace,\n ignoreErrors: params.ignoreErrors,\n onUnsupportedFeature: this._onUnsupportedFeature.bind(this),\n fontRegistry: fontRegistry\n });\n var fontReady = function fontReady(fontObjs) {\n _this12.commonObjs.resolve(id, font);\n };\n this.fontLoader.bind([font], fontReady);\n break;\n case 'FontPath':\n this.commonObjs.resolve(id, exportedData);\n break;\n default:\n throw new Error('Got unknown common object type ' + type);\n }\n }, this);\n messageHandler.on('obj', function (data) {\n if (this.destroyed) {\n return;\n }\n\n var _data2 = _slicedToArray(data, 4),\n id = _data2[0],\n pageIndex = _data2[1],\n type = _data2[2],\n imageData = _data2[3];\n\n var pageProxy = this.pageCache[pageIndex];\n if (pageProxy.objs.hasData(id)) {\n return;\n }\n switch (type) {\n case 'JpegStream':\n return new Promise(function (resolve, reject) {\n var img = new Image();\n img.onload = function () {\n resolve(img);\n };\n img.onerror = function () {\n reject(new Error('Error during JPEG image loading'));\n };\n img.src = imageData;\n }).then(function (img) {\n pageProxy.objs.resolve(id, img);\n });\n case 'Image':\n pageProxy.objs.resolve(id, imageData);\n var MAX_IMAGE_SIZE_TO_STORE = 8000000;\n if (imageData && 'data' in imageData && imageData.data.length > MAX_IMAGE_SIZE_TO_STORE) {\n pageProxy.cleanupAfterRender = true;\n }\n break;\n default:\n throw new Error('Got unknown object type ' + type);\n }\n }, this);\n messageHandler.on('DocProgress', function (data) {\n if (this.destroyed) {\n return;\n }\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.loaded,\n total: data.total\n });\n }\n }, this);\n messageHandler.on('PageError', function (data) {\n if (this.destroyed) {\n return;\n }\n var page = this.pageCache[data.pageNum - 1];\n var intentState = page.intentStates[data.intent];\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(data.error);\n } else {\n throw new Error(data.error);\n }\n if (intentState.operatorList) {\n intentState.operatorList.lastChunk = true;\n for (var i = 0; i < intentState.renderTasks.length; i++) {\n intentState.renderTasks[i].operatorListChanged();\n }\n }\n }, this);\n messageHandler.on('UnsupportedFeature', this._onUnsupportedFeature, this);\n messageHandler.on('JpegDecode', function (data) {\n if (this.destroyed) {\n return Promise.reject(new Error('Worker was destroyed'));\n }\n if (typeof document === 'undefined') {\n return Promise.reject(new Error('\"document\" is not defined.'));\n }\n\n var _data3 = _slicedToArray(data, 2),\n imageUrl = _data3[0],\n components = _data3[1];\n\n if (components !== 3 && components !== 1) {\n return Promise.reject(new Error('Only 3 components or 1 component can be returned'));\n }\n return new Promise(function (resolve, reject) {\n var img = new Image();\n img.onload = function () {\n var width = img.width;\n var height = img.height;\n var size = width * height;\n var rgbaLength = size * 4;\n var buf = new Uint8ClampedArray(size * components);\n var tmpCanvas = document.createElement('canvas');\n tmpCanvas.width = width;\n tmpCanvas.height = height;\n var tmpCtx = tmpCanvas.getContext('2d');\n tmpCtx.drawImage(img, 0, 0);\n var data = tmpCtx.getImageData(0, 0, width, height).data;\n if (components === 3) {\n for (var i = 0, j = 0; i < rgbaLength; i += 4, j += 3) {\n buf[j] = data[i];\n buf[j + 1] = data[i + 1];\n buf[j + 2] = data[i + 2];\n }\n } else if (components === 1) {\n for (var _i = 0, _j = 0; _i < rgbaLength; _i += 4, _j++) {\n buf[_j] = data[_i];\n }\n }\n resolve({\n data: buf,\n width: width,\n height: height\n });\n };\n img.onerror = function () {\n reject(new Error('JpegDecode failed to load image'));\n };\n img.src = imageUrl;\n });\n }, this);\n messageHandler.on('FetchBuiltInCMap', function (data) {\n if (this.destroyed) {\n return Promise.reject(new Error('Worker was destroyed'));\n }\n return this.CMapReaderFactory.fetch({ name: data.name });\n }, this);\n }\n }, {\n key: '_onUnsupportedFeature',\n value: function _onUnsupportedFeature(_ref6) {\n var featureId = _ref6.featureId;\n\n if (this.destroyed) {\n return;\n }\n if (this.loadingTask.onUnsupportedFeature) {\n this.loadingTask.onUnsupportedFeature(featureId);\n }\n }\n }, {\n key: 'getData',\n value: function getData() {\n return this.messageHandler.sendWithPromise('GetData', null);\n }\n }, {\n key: 'getPage',\n value: function getPage(pageNumber) {\n var _this13 = this;\n\n if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this.numPages) {\n return Promise.reject(new Error('Invalid page request'));\n }\n var pageIndex = pageNumber - 1;\n if (pageIndex in this.pagePromises) {\n return this.pagePromises[pageIndex];\n }\n var promise = this.messageHandler.sendWithPromise('GetPage', { pageIndex: pageIndex }).then(function (pageInfo) {\n if (_this13.destroyed) {\n throw new Error('Transport destroyed');\n }\n var page = new PDFPageProxy(pageIndex, pageInfo, _this13, _this13._params.pdfBug);\n _this13.pageCache[pageIndex] = page;\n return page;\n });\n this.pagePromises[pageIndex] = promise;\n return promise;\n }\n }, {\n key: 'getPageIndex',\n value: function getPageIndex(ref) {\n return this.messageHandler.sendWithPromise('GetPageIndex', { ref: ref }).catch(function (reason) {\n return Promise.reject(new Error(reason));\n });\n }\n }, {\n key: 'getAnnotations',\n value: function getAnnotations(pageIndex, intent) {\n return this.messageHandler.sendWithPromise('GetAnnotations', {\n pageIndex: pageIndex,\n intent: intent\n });\n }\n }, {\n key: 'getDestinations',\n value: function getDestinations() {\n return this.messageHandler.sendWithPromise('GetDestinations', null);\n }\n }, {\n key: 'getDestination',\n value: function getDestination(id) {\n if (typeof id !== 'string') {\n return Promise.reject(new Error('Invalid destination request.'));\n }\n return this.messageHandler.sendWithPromise('GetDestination', { id: id });\n }\n }, {\n key: 'getPageLabels',\n value: function getPageLabels() {\n return this.messageHandler.sendWithPromise('GetPageLabels', null);\n }\n }, {\n key: 'getPageMode',\n value: function getPageMode() {\n return this.messageHandler.sendWithPromise('GetPageMode', null);\n }\n }, {\n key: 'getAttachments',\n value: function getAttachments() {\n return this.messageHandler.sendWithPromise('GetAttachments', null);\n }\n }, {\n key: 'getJavaScript',\n value: function getJavaScript() {\n return this.messageHandler.sendWithPromise('GetJavaScript', null);\n }\n }, {\n key: 'getOutline',\n value: function getOutline() {\n return this.messageHandler.sendWithPromise('GetOutline', null);\n }\n }, {\n key: 'getPermissions',\n value: function getPermissions() {\n return this.messageHandler.sendWithPromise('GetPermissions', null);\n }\n }, {\n key: 'getMetadata',\n value: function getMetadata() {\n var _this14 = this;\n\n return this.messageHandler.sendWithPromise('GetMetadata', null).then(function (results) {\n return {\n info: results[0],\n metadata: results[1] ? new _metadata.Metadata(results[1]) : null,\n contentDispositionFilename: _this14._fullReader ? _this14._fullReader.filename : null\n };\n });\n }\n }, {\n key: 'getStats',\n value: function getStats() {\n return this.messageHandler.sendWithPromise('GetStats', null);\n }\n }, {\n key: 'startCleanup',\n value: function startCleanup() {\n var _this15 = this;\n\n this.messageHandler.sendWithPromise('Cleanup', null).then(function () {\n for (var i = 0, ii = _this15.pageCache.length; i < ii; i++) {\n var page = _this15.pageCache[i];\n if (page) {\n page.cleanup();\n }\n }\n _this15.commonObjs.clear();\n _this15.fontLoader.clear();\n });\n }\n }, {\n key: 'loadingParams',\n get: function get() {\n var params = this._params;\n return (0, _util.shadow)(this, 'loadingParams', {\n disableAutoFetch: params.disableAutoFetch,\n disableCreateObjectURL: params.disableCreateObjectURL,\n disableFontFace: params.disableFontFace,\n nativeImageDecoderSupport: params.nativeImageDecoderSupport\n });\n }\n }]);\n\n return WorkerTransport;\n}();\n\nvar PDFObjects = function PDFObjectsClosure() {\n function PDFObjects() {\n this.objs = Object.create(null);\n }\n PDFObjects.prototype = {\n ensureObj: function PDFObjects_ensureObj(objId) {\n if (this.objs[objId]) {\n return this.objs[objId];\n }\n var obj = {\n capability: (0, _util.createPromiseCapability)(),\n data: null,\n resolved: false\n };\n this.objs[objId] = obj;\n return obj;\n },\n get: function PDFObjects_get(objId, callback) {\n if (callback) {\n this.ensureObj(objId).capability.promise.then(callback);\n return null;\n }\n var obj = this.objs[objId];\n if (!obj || !obj.resolved) {\n throw new Error('Requesting object that isn\\'t resolved yet ' + objId);\n }\n return obj.data;\n },\n resolve: function PDFObjects_resolve(objId, data) {\n var obj = this.ensureObj(objId);\n obj.resolved = true;\n obj.data = data;\n obj.capability.resolve(data);\n },\n isResolved: function PDFObjects_isResolved(objId) {\n var objs = this.objs;\n if (!objs[objId]) {\n return false;\n }\n return objs[objId].resolved;\n },\n hasData: function PDFObjects_hasData(objId) {\n return this.isResolved(objId);\n },\n getData: function PDFObjects_getData(objId) {\n var objs = this.objs;\n if (!objs[objId] || !objs[objId].resolved) {\n return null;\n }\n return objs[objId].data;\n },\n clear: function PDFObjects_clear() {\n this.objs = Object.create(null);\n }\n };\n return PDFObjects;\n}();\nvar RenderTask = function RenderTaskClosure() {\n function RenderTask(internalRenderTask) {\n this._internalRenderTask = internalRenderTask;\n this.onContinue = null;\n }\n RenderTask.prototype = {\n get promise() {\n return this._internalRenderTask.capability.promise;\n },\n cancel: function RenderTask_cancel() {\n this._internalRenderTask.cancel();\n },\n then: function RenderTask_then(onFulfilled, onRejected) {\n return this.promise.then.apply(this.promise, arguments);\n }\n };\n return RenderTask;\n}();\nvar InternalRenderTask = function InternalRenderTaskClosure() {\n var canvasInRendering = new WeakMap();\n function InternalRenderTask(callback, params, objs, commonObjs, operatorList, pageNumber, canvasFactory, webGLContext) {\n var pdfBug = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : false;\n\n this.callback = callback;\n this.params = params;\n this.objs = objs;\n this.commonObjs = commonObjs;\n this.operatorListIdx = null;\n this.operatorList = operatorList;\n this.pageNumber = pageNumber;\n this.canvasFactory = canvasFactory;\n this.webGLContext = webGLContext;\n this._pdfBug = pdfBug;\n this.running = false;\n this.graphicsReadyCallback = null;\n this.graphicsReady = false;\n this.useRequestAnimationFrame = false;\n this.cancelled = false;\n this.capability = (0, _util.createPromiseCapability)();\n this.task = new RenderTask(this);\n this._continueBound = this._continue.bind(this);\n this._scheduleNextBound = this._scheduleNext.bind(this);\n this._nextBound = this._next.bind(this);\n this._canvas = params.canvasContext.canvas;\n }\n InternalRenderTask.prototype = {\n initializeGraphics: function initializeGraphics(transparency) {\n if (this.cancelled) {\n return;\n }\n if (this._canvas) {\n if (canvasInRendering.has(this._canvas)) {\n throw new Error('Cannot use the same canvas during multiple render() operations. ' + 'Use different canvas or ensure previous operations were ' + 'cancelled or completed.');\n }\n canvasInRendering.set(this._canvas, this);\n }\n if (this._pdfBug && _global_scope2.default.StepperManager && _global_scope2.default.StepperManager.enabled) {\n this.stepper = _global_scope2.default.StepperManager.create(this.pageNumber - 1);\n this.stepper.init(this.operatorList);\n this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();\n }\n var params = this.params;\n this.gfx = new _canvas.CanvasGraphics(params.canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.webGLContext, params.imageLayer);\n this.gfx.beginDrawing({\n transform: params.transform,\n viewport: params.viewport,\n transparency: transparency,\n background: params.background\n });\n this.operatorListIdx = 0;\n this.graphicsReady = true;\n if (this.graphicsReadyCallback) {\n this.graphicsReadyCallback();\n }\n },\n\n cancel: function InternalRenderTask_cancel() {\n this.running = false;\n this.cancelled = true;\n if (this._canvas) {\n canvasInRendering.delete(this._canvas);\n }\n this.callback(new _dom_utils.RenderingCancelledException('Rendering cancelled, page ' + this.pageNumber, 'canvas'));\n },\n operatorListChanged: function InternalRenderTask_operatorListChanged() {\n if (!this.graphicsReady) {\n if (!this.graphicsReadyCallback) {\n this.graphicsReadyCallback = this._continueBound;\n }\n return;\n }\n if (this.stepper) {\n this.stepper.updateOperatorList(this.operatorList);\n }\n if (this.running) {\n return;\n }\n this._continue();\n },\n _continue: function InternalRenderTask__continue() {\n this.running = true;\n if (this.cancelled) {\n return;\n }\n if (this.task.onContinue) {\n this.task.onContinue(this._scheduleNextBound);\n } else {\n this._scheduleNext();\n }\n },\n _scheduleNext: function InternalRenderTask__scheduleNext() {\n var _this16 = this;\n\n if (this.useRequestAnimationFrame && typeof window !== 'undefined') {\n window.requestAnimationFrame(function () {\n _this16._nextBound().catch(_this16.callback);\n });\n } else {\n Promise.resolve().then(this._nextBound).catch(this.callback);\n }\n },\n _next: function InternalRenderTask__next() {\n var _this17 = this;\n\n return new Promise(function () {\n if (_this17.cancelled) {\n return;\n }\n _this17.operatorListIdx = _this17.gfx.executeOperatorList(_this17.operatorList, _this17.operatorListIdx, _this17._continueBound, _this17.stepper);\n if (_this17.operatorListIdx === _this17.operatorList.argsArray.length) {\n _this17.running = false;\n if (_this17.operatorList.lastChunk) {\n _this17.gfx.endDrawing();\n if (_this17._canvas) {\n canvasInRendering.delete(_this17._canvas);\n }\n _this17.callback();\n }\n }\n });\n }\n };\n return InternalRenderTask;\n}();\nvar version, build;\n{\n exports.version = version = '2.0.943';\n exports.build = build = 'dc98bf76';\n}\nexports.getDocument = getDocument;\nexports.LoopbackPort = LoopbackPort;\nexports.PDFDataRangeTransport = PDFDataRangeTransport;\nexports.PDFWorker = PDFWorker;\nexports.PDFDocumentProxy = PDFDocumentProxy;\nexports.PDFPageProxy = PDFPageProxy;\nexports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory;\nexports.version = version;\nexports.build = build;\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadScript = exports.DummyStatTimer = exports.StatTimer = exports.DOMSVGFactory = exports.DOMCMapReaderFactory = exports.DOMCanvasFactory = exports.DEFAULT_LINK_REL = exports.LinkTarget = exports.getFilenameFromUrl = exports.addLinkAttributes = exports.RenderingCancelledException = exports.PageViewport = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar DEFAULT_LINK_REL = 'noopener noreferrer nofollow';\nvar SVG_NS = 'http://www.w3.org/2000/svg';\n\nvar DOMCanvasFactory = function () {\n function DOMCanvasFactory() {\n _classCallCheck(this, DOMCanvasFactory);\n }\n\n _createClass(DOMCanvasFactory, [{\n key: 'create',\n value: function create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error('invalid canvas size');\n }\n var canvas = document.createElement('canvas');\n var context = canvas.getContext('2d');\n canvas.width = width;\n canvas.height = height;\n return {\n canvas: canvas,\n context: context\n };\n }\n }, {\n key: 'reset',\n value: function reset(canvasAndContext, width, height) {\n if (!canvasAndContext.canvas) {\n throw new Error('canvas is not specified');\n }\n if (width <= 0 || height <= 0) {\n throw new Error('invalid canvas size');\n }\n canvasAndContext.canvas.width = width;\n canvasAndContext.canvas.height = height;\n }\n }, {\n key: 'destroy',\n value: function destroy(canvasAndContext) {\n if (!canvasAndContext.canvas) {\n throw new Error('canvas is not specified');\n }\n canvasAndContext.canvas.width = 0;\n canvasAndContext.canvas.height = 0;\n canvasAndContext.canvas = null;\n canvasAndContext.context = null;\n }\n }]);\n\n return DOMCanvasFactory;\n}();\n\nvar DOMCMapReaderFactory = function () {\n function DOMCMapReaderFactory(_ref) {\n var _ref$baseUrl = _ref.baseUrl,\n baseUrl = _ref$baseUrl === undefined ? null : _ref$baseUrl,\n _ref$isCompressed = _ref.isCompressed,\n isCompressed = _ref$isCompressed === undefined ? false : _ref$isCompressed;\n\n _classCallCheck(this, DOMCMapReaderFactory);\n\n this.baseUrl = baseUrl;\n this.isCompressed = isCompressed;\n }\n\n _createClass(DOMCMapReaderFactory, [{\n key: 'fetch',\n value: function fetch(_ref2) {\n var _this = this;\n\n var name = _ref2.name;\n\n if (!this.baseUrl) {\n return Promise.reject(new Error('The CMap \"baseUrl\" parameter must be specified, ensure that ' + 'the \"cMapUrl\" and \"cMapPacked\" API parameters are provided.'));\n }\n if (!name) {\n return Promise.reject(new Error('CMap name must be specified.'));\n }\n return new Promise(function (resolve, reject) {\n var url = _this.baseUrl + name + (_this.isCompressed ? '.bcmap' : '');\n var request = new XMLHttpRequest();\n request.open('GET', url, true);\n if (_this.isCompressed) {\n request.responseType = 'arraybuffer';\n }\n request.onreadystatechange = function () {\n if (request.readyState !== XMLHttpRequest.DONE) {\n return;\n }\n if (request.status === 200 || request.status === 0) {\n var data = void 0;\n if (_this.isCompressed && request.response) {\n data = new Uint8Array(request.response);\n } else if (!_this.isCompressed && request.responseText) {\n data = (0, _util.stringToBytes)(request.responseText);\n }\n if (data) {\n resolve({\n cMapData: data,\n compressionType: _this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE\n });\n return;\n }\n }\n reject(new Error('Unable to load ' + (_this.isCompressed ? 'binary ' : '') + 'CMap at: ' + url));\n };\n request.send(null);\n });\n }\n }]);\n\n return DOMCMapReaderFactory;\n}();\n\nvar DOMSVGFactory = function () {\n function DOMSVGFactory() {\n _classCallCheck(this, DOMSVGFactory);\n }\n\n _createClass(DOMSVGFactory, [{\n key: 'create',\n value: function create(width, height) {\n (0, _util.assert)(width > 0 && height > 0, 'Invalid SVG dimensions');\n var svg = document.createElementNS(SVG_NS, 'svg:svg');\n svg.setAttribute('version', '1.1');\n svg.setAttribute('width', width + 'px');\n svg.setAttribute('height', height + 'px');\n svg.setAttribute('preserveAspectRatio', 'none');\n svg.setAttribute('viewBox', '0 0 ' + width + ' ' + height);\n return svg;\n }\n }, {\n key: 'createElement',\n value: function createElement(type) {\n (0, _util.assert)(typeof type === 'string', 'Invalid SVG element type');\n return document.createElementNS(SVG_NS, type);\n }\n }]);\n\n return DOMSVGFactory;\n}();\n\nvar PageViewport = function () {\n function PageViewport(_ref3) {\n var viewBox = _ref3.viewBox,\n scale = _ref3.scale,\n rotation = _ref3.rotation,\n _ref3$offsetX = _ref3.offsetX,\n offsetX = _ref3$offsetX === undefined ? 0 : _ref3$offsetX,\n _ref3$offsetY = _ref3.offsetY,\n offsetY = _ref3$offsetY === undefined ? 0 : _ref3$offsetY,\n _ref3$dontFlip = _ref3.dontFlip,\n dontFlip = _ref3$dontFlip === undefined ? false : _ref3$dontFlip;\n\n _classCallCheck(this, PageViewport);\n\n this.viewBox = viewBox;\n this.scale = scale;\n this.rotation = rotation;\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n var centerX = (viewBox[2] + viewBox[0]) / 2;\n var centerY = (viewBox[3] + viewBox[1]) / 2;\n var rotateA = void 0,\n rotateB = void 0,\n rotateC = void 0,\n rotateD = void 0;\n rotation = rotation % 360;\n rotation = rotation < 0 ? rotation + 360 : rotation;\n switch (rotation) {\n case 180:\n rotateA = -1;\n rotateB = 0;\n rotateC = 0;\n rotateD = 1;\n break;\n case 90:\n rotateA = 0;\n rotateB = 1;\n rotateC = 1;\n rotateD = 0;\n break;\n case 270:\n rotateA = 0;\n rotateB = -1;\n rotateC = -1;\n rotateD = 0;\n break;\n default:\n rotateA = 1;\n rotateB = 0;\n rotateC = 0;\n rotateD = -1;\n break;\n }\n if (dontFlip) {\n rotateC = -rotateC;\n rotateD = -rotateD;\n }\n var offsetCanvasX = void 0,\n offsetCanvasY = void 0;\n var width = void 0,\n height = void 0;\n if (rotateA === 0) {\n offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;\n width = Math.abs(viewBox[3] - viewBox[1]) * scale;\n height = Math.abs(viewBox[2] - viewBox[0]) * scale;\n } else {\n offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;\n width = Math.abs(viewBox[2] - viewBox[0]) * scale;\n height = Math.abs(viewBox[3] - viewBox[1]) * scale;\n }\n this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY];\n this.width = width;\n this.height = height;\n }\n\n _createClass(PageViewport, [{\n key: 'clone',\n value: function clone() {\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref4$scale = _ref4.scale,\n scale = _ref4$scale === undefined ? this.scale : _ref4$scale,\n _ref4$rotation = _ref4.rotation,\n rotation = _ref4$rotation === undefined ? this.rotation : _ref4$rotation,\n _ref4$dontFlip = _ref4.dontFlip,\n dontFlip = _ref4$dontFlip === undefined ? false : _ref4$dontFlip;\n\n return new PageViewport({\n viewBox: this.viewBox.slice(),\n scale: scale,\n rotation: rotation,\n offsetX: this.offsetX,\n offsetY: this.offsetY,\n dontFlip: dontFlip\n });\n }\n }, {\n key: 'convertToViewportPoint',\n value: function convertToViewportPoint(x, y) {\n return _util.Util.applyTransform([x, y], this.transform);\n }\n }, {\n key: 'convertToViewportRectangle',\n value: function convertToViewportRectangle(rect) {\n var tl = _util.Util.applyTransform([rect[0], rect[1]], this.transform);\n var br = _util.Util.applyTransform([rect[2], rect[3]], this.transform);\n return [tl[0], tl[1], br[0], br[1]];\n }\n }, {\n key: 'convertToPdfPoint',\n value: function convertToPdfPoint(x, y) {\n return _util.Util.applyInverseTransform([x, y], this.transform);\n }\n }]);\n\n return PageViewport;\n}();\n\nvar RenderingCancelledException = function RenderingCancelledException() {\n function RenderingCancelledException(msg, type) {\n this.message = msg;\n this.type = type;\n }\n RenderingCancelledException.prototype = new Error();\n RenderingCancelledException.prototype.name = 'RenderingCancelledException';\n RenderingCancelledException.constructor = RenderingCancelledException;\n return RenderingCancelledException;\n}();\nvar LinkTarget = {\n NONE: 0,\n SELF: 1,\n BLANK: 2,\n PARENT: 3,\n TOP: 4\n};\nvar LinkTargetStringMap = ['', '_self', '_blank', '_parent', '_top'];\nfunction addLinkAttributes(link) {\n var _ref5 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n url = _ref5.url,\n target = _ref5.target,\n rel = _ref5.rel;\n\n link.href = link.title = url ? (0, _util.removeNullCharacters)(url) : '';\n if (url) {\n var LinkTargetValues = Object.values(LinkTarget);\n var targetIndex = LinkTargetValues.includes(target) ? target : LinkTarget.NONE;\n link.target = LinkTargetStringMap[targetIndex];\n link.rel = typeof rel === 'string' ? rel : DEFAULT_LINK_REL;\n }\n}\nfunction getFilenameFromUrl(url) {\n var anchor = url.indexOf('#');\n var query = url.indexOf('?');\n var end = Math.min(anchor > 0 ? anchor : url.length, query > 0 ? query : url.length);\n return url.substring(url.lastIndexOf('/', end) + 1, end);\n}\n\nvar StatTimer = function () {\n function StatTimer() {\n var enable = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n _classCallCheck(this, StatTimer);\n\n this.enabled = !!enable;\n this.started = Object.create(null);\n this.times = [];\n }\n\n _createClass(StatTimer, [{\n key: 'time',\n value: function time(name) {\n if (!this.enabled) {\n return;\n }\n if (name in this.started) {\n (0, _util.warn)('Timer is already running for ' + name);\n }\n this.started[name] = Date.now();\n }\n }, {\n key: 'timeEnd',\n value: function timeEnd(name) {\n if (!this.enabled) {\n return;\n }\n if (!(name in this.started)) {\n (0, _util.warn)('Timer has not been started for ' + name);\n }\n this.times.push({\n 'name': name,\n 'start': this.started[name],\n 'end': Date.now()\n });\n delete this.started[name];\n }\n }, {\n key: 'toString',\n value: function toString() {\n var times = this.times;\n var out = '',\n longest = 0;\n for (var i = 0, ii = times.length; i < ii; ++i) {\n var name = times[i]['name'];\n if (name.length > longest) {\n longest = name.length;\n }\n }\n for (var _i = 0, _ii = times.length; _i < _ii; ++_i) {\n var span = times[_i];\n var duration = span.end - span.start;\n out += span['name'].padEnd(longest) + ' ' + duration + 'ms\\n';\n }\n return out;\n }\n }]);\n\n return StatTimer;\n}();\n\nvar DummyStatTimer = function () {\n function DummyStatTimer() {\n _classCallCheck(this, DummyStatTimer);\n\n (0, _util.unreachable)('Cannot initialize DummyStatTimer.');\n }\n\n _createClass(DummyStatTimer, null, [{\n key: 'time',\n value: function time(name) {}\n }, {\n key: 'timeEnd',\n value: function timeEnd(name) {}\n }, {\n key: 'toString',\n value: function toString() {\n return '';\n }\n }]);\n\n return DummyStatTimer;\n}();\n\nfunction loadScript(src) {\n return new Promise(function (resolve, reject) {\n var script = document.createElement('script');\n script.src = src;\n script.onload = resolve;\n script.onerror = function () {\n reject(new Error('Cannot load script at: ' + script.src));\n };\n (document.head || document.documentElement).appendChild(script);\n });\n}\nexports.PageViewport = PageViewport;\nexports.RenderingCancelledException = RenderingCancelledException;\nexports.addLinkAttributes = addLinkAttributes;\nexports.getFilenameFromUrl = getFilenameFromUrl;\nexports.LinkTarget = LinkTarget;\nexports.DEFAULT_LINK_REL = DEFAULT_LINK_REL;\nexports.DOMCanvasFactory = DOMCanvasFactory;\nexports.DOMCMapReaderFactory = DOMCMapReaderFactory;\nexports.DOMSVGFactory = DOMSVGFactory;\nexports.StatTimer = StatTimer;\nexports.DummyStatTimer = DummyStatTimer;\nexports.loadScript = loadScript;\n\n/***/ }),\n/* 131 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FontLoader = exports.FontFaceObject = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar BaseFontLoader = function () {\n function BaseFontLoader(docId) {\n _classCallCheck(this, BaseFontLoader);\n\n if (this.constructor === BaseFontLoader) {\n (0, _util.unreachable)('Cannot initialize BaseFontLoader.');\n }\n this.docId = docId;\n this.nativeFontFaces = [];\n this.styleElement = null;\n this.loadingContext = {\n requests: [],\n nextRequestId: 0\n };\n }\n\n _createClass(BaseFontLoader, [{\n key: 'addNativeFontFace',\n value: function addNativeFontFace(nativeFontFace) {\n this.nativeFontFaces.push(nativeFontFace);\n document.fonts.add(nativeFontFace);\n }\n }, {\n key: 'insertRule',\n value: function insertRule(rule) {\n var styleElement = this.styleElement;\n if (!styleElement) {\n styleElement = this.styleElement = document.createElement('style');\n styleElement.id = 'PDFJS_FONT_STYLE_TAG_' + this.docId;\n document.documentElement.getElementsByTagName('head')[0].appendChild(styleElement);\n }\n var styleSheet = styleElement.sheet;\n styleSheet.insertRule(rule, styleSheet.cssRules.length);\n }\n }, {\n key: 'clear',\n value: function clear() {\n this.nativeFontFaces.forEach(function (nativeFontFace) {\n document.fonts.delete(nativeFontFace);\n });\n this.nativeFontFaces.length = 0;\n if (this.styleElement) {\n this.styleElement.remove();\n this.styleElement = null;\n }\n }\n }, {\n key: 'bind',\n value: function bind(fonts, callback) {\n var rules = [];\n var fontsToLoad = [];\n var fontLoadPromises = [];\n var getNativeFontPromise = function getNativeFontPromise(nativeFontFace) {\n return nativeFontFace.loaded.catch(function (reason) {\n (0, _util.warn)('Failed to load font \"' + nativeFontFace.family + '\": ' + reason);\n });\n };\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = fonts[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var font = _step.value;\n\n if (font.attached || font.missingFile) {\n continue;\n }\n font.attached = true;\n if (this.isFontLoadingAPISupported) {\n var nativeFontFace = font.createNativeFontFace();\n if (nativeFontFace) {\n this.addNativeFontFace(nativeFontFace);\n fontLoadPromises.push(getNativeFontPromise(nativeFontFace));\n }\n } else {\n var rule = font.createFontFaceRule();\n if (rule) {\n this.insertRule(rule);\n rules.push(rule);\n fontsToLoad.push(font);\n }\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n var request = this._queueLoadingCallback(callback);\n if (this.isFontLoadingAPISupported) {\n Promise.all(fontLoadPromises).then(request.complete);\n } else if (rules.length > 0 && !this.isSyncFontLoadingSupported) {\n this._prepareFontLoadEvent(rules, fontsToLoad, request);\n } else {\n request.complete();\n }\n }\n }, {\n key: '_queueLoadingCallback',\n value: function _queueLoadingCallback(callback) {\n function completeRequest() {\n (0, _util.assert)(!request.done, 'completeRequest() cannot be called twice.');\n request.done = true;\n while (context.requests.length > 0 && context.requests[0].done) {\n var otherRequest = context.requests.shift();\n setTimeout(otherRequest.callback, 0);\n }\n }\n var context = this.loadingContext;\n var request = {\n id: 'pdfjs-font-loading-' + context.nextRequestId++,\n done: false,\n complete: completeRequest,\n callback: callback\n };\n context.requests.push(request);\n return request;\n }\n }, {\n key: '_prepareFontLoadEvent',\n value: function _prepareFontLoadEvent(rules, fontsToLoad, request) {\n (0, _util.unreachable)('Abstract method `_prepareFontLoadEvent`.');\n }\n }, {\n key: 'isFontLoadingAPISupported',\n get: function get() {\n (0, _util.unreachable)('Abstract method `isFontLoadingAPISupported`.');\n }\n }, {\n key: 'isSyncFontLoadingSupported',\n get: function get() {\n (0, _util.unreachable)('Abstract method `isSyncFontLoadingSupported`.');\n }\n }, {\n key: '_loadTestFont',\n get: function get() {\n (0, _util.unreachable)('Abstract method `_loadTestFont`.');\n }\n }]);\n\n return BaseFontLoader;\n}();\n\nvar FontLoader = void 0;\n{\n exports.FontLoader = FontLoader = function (_BaseFontLoader) {\n _inherits(GenericFontLoader, _BaseFontLoader);\n\n function GenericFontLoader(docId) {\n _classCallCheck(this, GenericFontLoader);\n\n var _this = _possibleConstructorReturn(this, (GenericFontLoader.__proto__ || Object.getPrototypeOf(GenericFontLoader)).call(this, docId));\n\n _this.loadTestFontId = 0;\n return _this;\n }\n\n _createClass(GenericFontLoader, [{\n key: '_prepareFontLoadEvent',\n value: function _prepareFontLoadEvent(rules, fonts, request) {\n function int32(data, offset) {\n return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff;\n }\n function spliceString(s, offset, remove, insert) {\n var chunk1 = s.substring(0, offset);\n var chunk2 = s.substring(offset + remove);\n return chunk1 + insert + chunk2;\n }\n var i = void 0,\n ii = void 0;\n var canvas = document.createElement('canvas');\n canvas.width = 1;\n canvas.height = 1;\n var ctx = canvas.getContext('2d');\n var called = 0;\n function isFontReady(name, callback) {\n called++;\n if (called > 30) {\n (0, _util.warn)('Load test font never loaded.');\n callback();\n return;\n }\n ctx.font = '30px ' + name;\n ctx.fillText('.', 0, 20);\n var imageData = ctx.getImageData(0, 0, 1, 1);\n if (imageData.data[3] > 0) {\n callback();\n return;\n }\n setTimeout(isFontReady.bind(null, name, callback));\n }\n var loadTestFontId = 'lt' + Date.now() + this.loadTestFontId++;\n var data = this._loadTestFont;\n var COMMENT_OFFSET = 976;\n data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);\n var CFF_CHECKSUM_OFFSET = 16;\n var XXXX_VALUE = 0x58585858;\n var checksum = int32(data, CFF_CHECKSUM_OFFSET);\n for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;\n }\n if (i < loadTestFontId.length) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId + 'XXX', i) | 0;\n }\n data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));\n var url = 'url(data:font/opentype;base64,' + btoa(data) + ');';\n var rule = '@font-face {font-family:\"' + loadTestFontId + '\";src:' + url + '}';\n this.insertRule(rule);\n var names = [];\n for (i = 0, ii = fonts.length; i < ii; i++) {\n names.push(fonts[i].loadedName);\n }\n names.push(loadTestFontId);\n var div = document.createElement('div');\n div.setAttribute('style', 'visibility: hidden;' + 'width: 10px; height: 10px;' + 'position: absolute; top: 0px; left: 0px;');\n for (i = 0, ii = names.length; i < ii; ++i) {\n var span = document.createElement('span');\n span.textContent = 'Hi';\n span.style.fontFamily = names[i];\n div.appendChild(span);\n }\n document.body.appendChild(div);\n isFontReady(loadTestFontId, function () {\n document.body.removeChild(div);\n request.complete();\n });\n }\n }, {\n key: 'isFontLoadingAPISupported',\n get: function get() {\n var supported = typeof document !== 'undefined' && !!document.fonts;\n if (supported && typeof navigator !== 'undefined') {\n var m = /Mozilla\\/5.0.*?rv:(\\d+).*? Gecko/.exec(navigator.userAgent);\n if (m && m[1] < 63) {\n supported = false;\n }\n }\n return (0, _util.shadow)(this, 'isFontLoadingAPISupported', supported);\n }\n }, {\n key: 'isSyncFontLoadingSupported',\n get: function get() {\n var supported = false;\n if (typeof navigator === 'undefined') {\n supported = true;\n } else {\n var m = /Mozilla\\/5.0.*?rv:(\\d+).*? Gecko/.exec(navigator.userAgent);\n if (m && m[1] >= 14) {\n supported = true;\n }\n }\n return (0, _util.shadow)(this, 'isSyncFontLoadingSupported', supported);\n }\n }, {\n key: '_loadTestFont',\n get: function get() {\n var getLoadTestFont = function getLoadTestFont() {\n return atob('T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA' + 'FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA' + 'ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA' + 'AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1' + 'AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD' + '6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM' + 'AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D' + 'IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA' + 'AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA' + 'AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB' + 'AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY' + 'AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA' + 'AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA' + 'AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC' + 'AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3' + 'Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj' + 'FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==');\n };\n return (0, _util.shadow)(this, '_loadTestFont', getLoadTestFont());\n }\n }]);\n\n return GenericFontLoader;\n }(BaseFontLoader);\n}\nvar IsEvalSupportedCached = {\n get value() {\n return (0, _util.shadow)(this, 'value', (0, _util.isEvalSupported)());\n }\n};\n\nvar FontFaceObject = function () {\n function FontFaceObject(translatedData, _ref) {\n var _ref$isEvalSupported = _ref.isEvalSupported,\n isEvalSupported = _ref$isEvalSupported === undefined ? true : _ref$isEvalSupported,\n _ref$disableFontFace = _ref.disableFontFace,\n disableFontFace = _ref$disableFontFace === undefined ? false : _ref$disableFontFace,\n _ref$ignoreErrors = _ref.ignoreErrors,\n ignoreErrors = _ref$ignoreErrors === undefined ? false : _ref$ignoreErrors,\n _ref$onUnsupportedFea = _ref.onUnsupportedFeature,\n onUnsupportedFeature = _ref$onUnsupportedFea === undefined ? null : _ref$onUnsupportedFea,\n _ref$fontRegistry = _ref.fontRegistry,\n fontRegistry = _ref$fontRegistry === undefined ? null : _ref$fontRegistry;\n\n _classCallCheck(this, FontFaceObject);\n\n this.compiledGlyphs = Object.create(null);\n for (var i in translatedData) {\n this[i] = translatedData[i];\n }\n this.isEvalSupported = isEvalSupported !== false;\n this.disableFontFace = disableFontFace === true;\n this.ignoreErrors = ignoreErrors === true;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this.fontRegistry = fontRegistry;\n }\n\n _createClass(FontFaceObject, [{\n key: 'createNativeFontFace',\n value: function createNativeFontFace() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n var nativeFontFace = new FontFace(this.loadedName, this.data, {});\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this);\n }\n return nativeFontFace;\n }\n }, {\n key: 'createFontFaceRule',\n value: function createFontFaceRule() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n var data = (0, _util.bytesToString)(new Uint8Array(this.data));\n var url = 'url(data:' + this.mimetype + ';base64,' + btoa(data) + ');';\n var rule = '@font-face {font-family:\"' + this.loadedName + '\";src:' + url + '}';\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this, url);\n }\n return rule;\n }\n }, {\n key: 'getPathGenerator',\n value: function getPathGenerator(objs, character) {\n if (this.compiledGlyphs[character] !== undefined) {\n return this.compiledGlyphs[character];\n }\n var cmds = void 0,\n current = void 0;\n try {\n cmds = objs.get(this.loadedName + '_path_' + character);\n } catch (ex) {\n if (!this.ignoreErrors) {\n throw ex;\n }\n if (this._onUnsupportedFeature) {\n this._onUnsupportedFeature({ featureId: _util.UNSUPPORTED_FEATURES.font });\n }\n (0, _util.warn)('getPathGenerator - ignoring character: \"' + ex + '\".');\n return this.compiledGlyphs[character] = function (c, size) {};\n }\n if (this.isEvalSupported && IsEvalSupportedCached.value) {\n var args = void 0,\n js = '';\n for (var i = 0, ii = cmds.length; i < ii; i++) {\n current = cmds[i];\n if (current.args !== undefined) {\n args = current.args.join(',');\n } else {\n args = '';\n }\n js += 'c.' + current.cmd + '(' + args + ');\\n';\n }\n return this.compiledGlyphs[character] = new Function('c', 'size', js);\n }\n return this.compiledGlyphs[character] = function (c, size) {\n for (var _i = 0, _ii = cmds.length; _i < _ii; _i++) {\n current = cmds[_i];\n if (current.cmd === 'scale') {\n current.args = [size, -size];\n }\n c[current.cmd].apply(c, current.args);\n }\n };\n }\n }]);\n\n return FontFaceObject;\n}();\n\nexports.FontFaceObject = FontFaceObject;\nexports.FontLoader = FontLoader;\n\n/***/ }),\n/* 132 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar compatibilityParams = Object.create(null);\n{\n var isNodeJS = __w_pdfjs_require__(4);\n var userAgent = typeof navigator !== 'undefined' && navigator.userAgent || '';\n var isIE = /Trident/.test(userAgent);\n var isIOSChrome = /CriOS/.test(userAgent);\n (function checkOnBlobSupport() {\n if (isIE || isIOSChrome) {\n compatibilityParams.disableCreateObjectURL = true;\n }\n })();\n (function checkFontFaceAndImage() {\n if (isNodeJS()) {\n compatibilityParams.disableFontFace = true;\n compatibilityParams.nativeImageDecoderSupport = 'none';\n }\n })();\n}\nexports.apiCompatibilityParams = Object.freeze(compatibilityParams);\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CanvasGraphics = undefined;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _pattern_helper = __w_pdfjs_require__(134);\n\nvar MIN_FONT_SIZE = 16;\nvar MAX_FONT_SIZE = 100;\nvar MAX_GROUP_SIZE = 4096;\nvar MIN_WIDTH_FACTOR = 0.65;\nvar COMPILE_TYPE3_GLYPHS = true;\nvar MAX_SIZE_TO_COMPILE = 1000;\nvar FULL_CHUNK_HEIGHT = 16;\nvar IsLittleEndianCached = {\n get value() {\n return (0, _util.shadow)(IsLittleEndianCached, 'value', (0, _util.isLittleEndian)());\n }\n};\nfunction addContextCurrentTransform(ctx) {\n if (!ctx.mozCurrentTransform) {\n ctx._originalSave = ctx.save;\n ctx._originalRestore = ctx.restore;\n ctx._originalRotate = ctx.rotate;\n ctx._originalScale = ctx.scale;\n ctx._originalTranslate = ctx.translate;\n ctx._originalTransform = ctx.transform;\n ctx._originalSetTransform = ctx.setTransform;\n ctx._transformMatrix = ctx._transformMatrix || [1, 0, 0, 1, 0, 0];\n ctx._transformStack = [];\n Object.defineProperty(ctx, 'mozCurrentTransform', {\n get: function getCurrentTransform() {\n return this._transformMatrix;\n }\n });\n Object.defineProperty(ctx, 'mozCurrentTransformInverse', {\n get: function getCurrentTransformInverse() {\n var m = this._transformMatrix;\n var a = m[0],\n b = m[1],\n c = m[2],\n d = m[3],\n e = m[4],\n f = m[5];\n var ad_bc = a * d - b * c;\n var bc_ad = b * c - a * d;\n return [d / ad_bc, b / bc_ad, c / bc_ad, a / ad_bc, (d * e - c * f) / bc_ad, (b * e - a * f) / ad_bc];\n }\n });\n ctx.save = function ctxSave() {\n var old = this._transformMatrix;\n this._transformStack.push(old);\n this._transformMatrix = old.slice(0, 6);\n this._originalSave();\n };\n ctx.restore = function ctxRestore() {\n var prev = this._transformStack.pop();\n if (prev) {\n this._transformMatrix = prev;\n this._originalRestore();\n }\n };\n ctx.translate = function ctxTranslate(x, y) {\n var m = this._transformMatrix;\n m[4] = m[0] * x + m[2] * y + m[4];\n m[5] = m[1] * x + m[3] * y + m[5];\n this._originalTranslate(x, y);\n };\n ctx.scale = function ctxScale(x, y) {\n var m = this._transformMatrix;\n m[0] = m[0] * x;\n m[1] = m[1] * x;\n m[2] = m[2] * y;\n m[3] = m[3] * y;\n this._originalScale(x, y);\n };\n ctx.transform = function ctxTransform(a, b, c, d, e, f) {\n var m = this._transformMatrix;\n this._transformMatrix = [m[0] * a + m[2] * b, m[1] * a + m[3] * b, m[0] * c + m[2] * d, m[1] * c + m[3] * d, m[0] * e + m[2] * f + m[4], m[1] * e + m[3] * f + m[5]];\n ctx._originalTransform(a, b, c, d, e, f);\n };\n ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {\n this._transformMatrix = [a, b, c, d, e, f];\n ctx._originalSetTransform(a, b, c, d, e, f);\n };\n ctx.rotate = function ctxRotate(angle) {\n var cosValue = Math.cos(angle);\n var sinValue = Math.sin(angle);\n var m = this._transformMatrix;\n this._transformMatrix = [m[0] * cosValue + m[2] * sinValue, m[1] * cosValue + m[3] * sinValue, m[0] * -sinValue + m[2] * cosValue, m[1] * -sinValue + m[3] * cosValue, m[4], m[5]];\n this._originalRotate(angle);\n };\n }\n}\nvar CachedCanvases = function CachedCanvasesClosure() {\n function CachedCanvases(canvasFactory) {\n this.canvasFactory = canvasFactory;\n this.cache = Object.create(null);\n }\n CachedCanvases.prototype = {\n getCanvas: function CachedCanvases_getCanvas(id, width, height, trackTransform) {\n var canvasEntry;\n if (this.cache[id] !== undefined) {\n canvasEntry = this.cache[id];\n this.canvasFactory.reset(canvasEntry, width, height);\n canvasEntry.context.setTransform(1, 0, 0, 1, 0, 0);\n } else {\n canvasEntry = this.canvasFactory.create(width, height);\n this.cache[id] = canvasEntry;\n }\n if (trackTransform) {\n addContextCurrentTransform(canvasEntry.context);\n }\n return canvasEntry;\n },\n clear: function clear() {\n for (var id in this.cache) {\n var canvasEntry = this.cache[id];\n this.canvasFactory.destroy(canvasEntry);\n delete this.cache[id];\n }\n }\n };\n return CachedCanvases;\n}();\nfunction compileType3Glyph(imgData) {\n var POINT_TO_PROCESS_LIMIT = 1000;\n var width = imgData.width,\n height = imgData.height;\n var i,\n j,\n j0,\n width1 = width + 1;\n var points = new Uint8Array(width1 * (height + 1));\n var POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);\n var lineSize = width + 7 & ~7,\n data0 = imgData.data;\n var data = new Uint8Array(lineSize * height),\n pos = 0,\n ii;\n for (i = 0, ii = data0.length; i < ii; i++) {\n var mask = 128,\n elem = data0[i];\n while (mask > 0) {\n data[pos++] = elem & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n var count = 0;\n pos = 0;\n if (data[pos] !== 0) {\n points[0] = 1;\n ++count;\n }\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j] = data[pos] ? 2 : 1;\n ++count;\n }\n pos++;\n }\n if (data[pos] !== 0) {\n points[j] = 2;\n ++count;\n }\n for (i = 1; i < height; i++) {\n pos = i * lineSize;\n j0 = i * width1;\n if (data[pos - lineSize] !== data[pos]) {\n points[j0] = data[pos] ? 1 : 8;\n ++count;\n }\n var sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);\n for (j = 1; j < width; j++) {\n sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);\n if (POINT_TYPES[sum]) {\n points[j0 + j] = POINT_TYPES[sum];\n ++count;\n }\n pos++;\n }\n if (data[pos - lineSize] !== data[pos]) {\n points[j0 + j] = data[pos] ? 2 : 4;\n ++count;\n }\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n }\n pos = lineSize * (height - 1);\n j0 = i * width1;\n if (data[pos] !== 0) {\n points[j0] = 8;\n ++count;\n }\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j0 + j] = data[pos] ? 4 : 8;\n ++count;\n }\n pos++;\n }\n if (data[pos] !== 0) {\n points[j0 + j] = 4;\n ++count;\n }\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n var steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);\n var outlines = [];\n for (i = 0; count && i <= height; i++) {\n var p = i * width1;\n var end = p + width;\n while (p < end && !points[p]) {\n p++;\n }\n if (p === end) {\n continue;\n }\n var coords = [p % width1, i];\n var type = points[p],\n p0 = p,\n pp;\n do {\n var step = steps[type];\n do {\n p += step;\n } while (!points[p]);\n pp = points[p];\n if (pp !== 5 && pp !== 10) {\n type = pp;\n points[p] = 0;\n } else {\n type = pp & 0x33 * type >> 4;\n points[p] &= type >> 2 | type << 2;\n }\n coords.push(p % width1);\n coords.push(p / width1 | 0);\n --count;\n } while (p0 !== p);\n outlines.push(coords);\n --i;\n }\n var drawOutline = function drawOutline(c) {\n c.save();\n c.scale(1 / width, -1 / height);\n c.translate(0, -height);\n c.beginPath();\n for (var i = 0, ii = outlines.length; i < ii; i++) {\n var o = outlines[i];\n c.moveTo(o[0], o[1]);\n for (var j = 2, jj = o.length; j < jj; j += 2) {\n c.lineTo(o[j], o[j + 1]);\n }\n }\n c.fill();\n c.beginPath();\n c.restore();\n };\n return drawOutline;\n}\nvar CanvasExtraState = function CanvasExtraStateClosure() {\n function CanvasExtraState() {\n this.alphaIsShape = false;\n this.fontSize = 0;\n this.fontSizeScale = 1;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.textMatrixScale = 1;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textRise = 0;\n this.fillColor = '#000000';\n this.strokeColor = '#000000';\n this.patternFill = false;\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.activeSMask = null;\n this.resumeSMaskCtx = null;\n }\n CanvasExtraState.prototype = {\n clone: function CanvasExtraState_clone() {\n return Object.create(this);\n },\n setCurrentPoint: function CanvasExtraState_setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n };\n return CanvasExtraState;\n}();\nvar CanvasGraphics = function CanvasGraphicsClosure() {\n var EXECUTION_TIME = 15;\n var EXECUTION_STEPS = 10;\n function CanvasGraphics(canvasCtx, commonObjs, objs, canvasFactory, webGLContext, imageLayer) {\n this.ctx = canvasCtx;\n this.current = new CanvasExtraState();\n this.stateStack = [];\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.res = null;\n this.xobjs = null;\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.canvasFactory = canvasFactory;\n this.webGLContext = webGLContext;\n this.imageLayer = imageLayer;\n this.groupStack = [];\n this.processingType3 = null;\n this.baseTransform = null;\n this.baseTransformStack = [];\n this.groupLevel = 0;\n this.smaskStack = [];\n this.smaskCounter = 0;\n this.tempSMask = null;\n this.cachedCanvases = new CachedCanvases(this.canvasFactory);\n if (canvasCtx) {\n addContextCurrentTransform(canvasCtx);\n }\n this._cachedGetSinglePixelWidth = null;\n }\n function putBinaryImageData(ctx, imgData) {\n if (typeof ImageData !== 'undefined' && imgData instanceof ImageData) {\n ctx.putImageData(imgData, 0, 0);\n return;\n }\n var height = imgData.height,\n width = imgData.width;\n var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n var srcPos = 0,\n destPos;\n var src = imgData.data;\n var dest = chunkImgData.data;\n var i, j, thisChunkHeight, elemsInThisChunk;\n if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) {\n var srcLength = src.byteLength;\n var dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);\n var dest32DataLength = dest32.length;\n var fullSrcDiff = width + 7 >> 3;\n var white = 0xFFFFFFFF;\n var black = IsLittleEndianCached.value ? 0xFF000000 : 0x000000FF;\n for (i = 0; i < totalChunks; i++) {\n thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n destPos = 0;\n for (j = 0; j < thisChunkHeight; j++) {\n var srcDiff = srcLength - srcPos;\n var k = 0;\n var kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;\n var kEndUnrolled = kEnd & ~7;\n var mask = 0;\n var srcByte = 0;\n for (; k < kEndUnrolled; k += 8) {\n srcByte = src[srcPos++];\n dest32[destPos++] = srcByte & 128 ? white : black;\n dest32[destPos++] = srcByte & 64 ? white : black;\n dest32[destPos++] = srcByte & 32 ? white : black;\n dest32[destPos++] = srcByte & 16 ? white : black;\n dest32[destPos++] = srcByte & 8 ? white : black;\n dest32[destPos++] = srcByte & 4 ? white : black;\n dest32[destPos++] = srcByte & 2 ? white : black;\n dest32[destPos++] = srcByte & 1 ? white : black;\n }\n for (; k < kEnd; k++) {\n if (mask === 0) {\n srcByte = src[srcPos++];\n mask = 128;\n }\n dest32[destPos++] = srcByte & mask ? white : black;\n mask >>= 1;\n }\n }\n while (destPos < dest32DataLength) {\n dest32[destPos++] = 0;\n }\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) {\n j = 0;\n elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;\n for (i = 0; i < fullChunks; i++) {\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n srcPos += elemsInThisChunk;\n ctx.putImageData(chunkImgData, 0, j);\n j += FULL_CHUNK_HEIGHT;\n }\n if (i < totalChunks) {\n elemsInThisChunk = width * partialChunkHeight * 4;\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n ctx.putImageData(chunkImgData, 0, j);\n }\n } else if (imgData.kind === _util.ImageKind.RGB_24BPP) {\n thisChunkHeight = FULL_CHUNK_HEIGHT;\n elemsInThisChunk = width * thisChunkHeight;\n for (i = 0; i < totalChunks; i++) {\n if (i >= fullChunks) {\n thisChunkHeight = partialChunkHeight;\n elemsInThisChunk = width * thisChunkHeight;\n }\n destPos = 0;\n for (j = elemsInThisChunk; j--;) {\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = 255;\n }\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else {\n throw new Error('bad image kind: ' + imgData.kind);\n }\n }\n function putBinaryImageMask(ctx, imgData) {\n var height = imgData.height,\n width = imgData.width;\n var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n var srcPos = 0;\n var src = imgData.data;\n var dest = chunkImgData.data;\n for (var i = 0; i < totalChunks; i++) {\n var thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n var destPos = 3;\n for (var j = 0; j < thisChunkHeight; j++) {\n var mask = 0;\n for (var k = 0; k < width; k++) {\n if (!mask) {\n var elem = src[srcPos++];\n mask = 128;\n }\n dest[destPos] = elem & mask ? 0 : 255;\n destPos += 4;\n mask >>= 1;\n }\n }\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n }\n function copyCtxState(sourceCtx, destCtx) {\n var properties = ['strokeStyle', 'fillStyle', 'fillRule', 'globalAlpha', 'lineWidth', 'lineCap', 'lineJoin', 'miterLimit', 'globalCompositeOperation', 'font'];\n for (var i = 0, ii = properties.length; i < ii; i++) {\n var property = properties[i];\n if (sourceCtx[property] !== undefined) {\n destCtx[property] = sourceCtx[property];\n }\n }\n if (sourceCtx.setLineDash !== undefined) {\n destCtx.setLineDash(sourceCtx.getLineDash());\n destCtx.lineDashOffset = sourceCtx.lineDashOffset;\n }\n }\n function resetCtxToDefault(ctx) {\n ctx.strokeStyle = '#000000';\n ctx.fillStyle = '#000000';\n ctx.fillRule = 'nonzero';\n ctx.globalAlpha = 1;\n ctx.lineWidth = 1;\n ctx.lineCap = 'butt';\n ctx.lineJoin = 'miter';\n ctx.miterLimit = 10;\n ctx.globalCompositeOperation = 'source-over';\n ctx.font = '10px sans-serif';\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash([]);\n ctx.lineDashOffset = 0;\n }\n }\n function composeSMaskBackdrop(bytes, r0, g0, b0) {\n var length = bytes.length;\n for (var i = 3; i < length; i += 4) {\n var alpha = bytes[i];\n if (alpha === 0) {\n bytes[i - 3] = r0;\n bytes[i - 2] = g0;\n bytes[i - 1] = b0;\n } else if (alpha < 255) {\n var alpha_ = 255 - alpha;\n bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8;\n bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8;\n bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8;\n }\n }\n }\n function composeSMaskAlpha(maskData, layerData, transferMap) {\n var length = maskData.length;\n var scale = 1 / 255;\n for (var i = 3; i < length; i += 4) {\n var alpha = transferMap ? transferMap[maskData[i]] : maskData[i];\n layerData[i] = layerData[i] * alpha * scale | 0;\n }\n }\n function composeSMaskLuminosity(maskData, layerData, transferMap) {\n var length = maskData.length;\n for (var i = 3; i < length; i += 4) {\n var y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28;\n layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16;\n }\n }\n function genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap) {\n var hasBackdrop = !!backdrop;\n var r0 = hasBackdrop ? backdrop[0] : 0;\n var g0 = hasBackdrop ? backdrop[1] : 0;\n var b0 = hasBackdrop ? backdrop[2] : 0;\n var composeFn;\n if (subtype === 'Luminosity') {\n composeFn = composeSMaskLuminosity;\n } else {\n composeFn = composeSMaskAlpha;\n }\n var PIXELS_TO_PROCESS = 1048576;\n var chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));\n for (var row = 0; row < height; row += chunkSize) {\n var chunkHeight = Math.min(chunkSize, height - row);\n var maskData = maskCtx.getImageData(0, row, width, chunkHeight);\n var layerData = layerCtx.getImageData(0, row, width, chunkHeight);\n if (hasBackdrop) {\n composeSMaskBackdrop(maskData.data, r0, g0, b0);\n }\n composeFn(maskData.data, layerData.data, transferMap);\n maskCtx.putImageData(layerData, 0, row);\n }\n }\n function composeSMask(ctx, smask, layerCtx, webGLContext) {\n var mask = smask.canvas;\n var maskCtx = smask.context;\n ctx.setTransform(smask.scaleX, 0, 0, smask.scaleY, smask.offsetX, smask.offsetY);\n var backdrop = smask.backdrop || null;\n if (!smask.transferMap && webGLContext.isEnabled) {\n var composed = webGLContext.composeSMask({\n layer: layerCtx.canvas,\n mask: mask,\n properties: {\n subtype: smask.subtype,\n backdrop: backdrop\n }\n });\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(composed, smask.offsetX, smask.offsetY);\n return;\n }\n genericComposeSMask(maskCtx, layerCtx, mask.width, mask.height, smask.subtype, backdrop, smask.transferMap);\n ctx.drawImage(mask, 0, 0);\n }\n var LINE_CAP_STYLES = ['butt', 'round', 'square'];\n var LINE_JOIN_STYLES = ['miter', 'round', 'bevel'];\n var NORMAL_CLIP = {};\n var EO_CLIP = {};\n CanvasGraphics.prototype = {\n beginDrawing: function beginDrawing(_ref) {\n var transform = _ref.transform,\n viewport = _ref.viewport,\n transparency = _ref.transparency,\n _ref$background = _ref.background,\n background = _ref$background === undefined ? null : _ref$background;\n\n var width = this.ctx.canvas.width;\n var height = this.ctx.canvas.height;\n this.ctx.save();\n this.ctx.fillStyle = background || 'rgb(255, 255, 255)';\n this.ctx.fillRect(0, 0, width, height);\n this.ctx.restore();\n if (transparency) {\n var transparentCanvas = this.cachedCanvases.getCanvas('transparent', width, height, true);\n this.compositeCtx = this.ctx;\n this.transparentCanvas = transparentCanvas.canvas;\n this.ctx = transparentCanvas.context;\n this.ctx.save();\n this.ctx.transform.apply(this.ctx, this.compositeCtx.mozCurrentTransform);\n }\n this.ctx.save();\n resetCtxToDefault(this.ctx);\n if (transform) {\n this.ctx.transform.apply(this.ctx, transform);\n }\n this.ctx.transform.apply(this.ctx, viewport.transform);\n this.baseTransform = this.ctx.mozCurrentTransform.slice();\n if (this.imageLayer) {\n this.imageLayer.beginLayout();\n }\n },\n\n executeOperatorList: function CanvasGraphics_executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) {\n var argsArray = operatorList.argsArray;\n var fnArray = operatorList.fnArray;\n var i = executionStartIdx || 0;\n var argsArrayLen = argsArray.length;\n if (argsArrayLen === i) {\n return i;\n }\n var chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === 'function';\n var endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;\n var steps = 0;\n var commonObjs = this.commonObjs;\n var objs = this.objs;\n var fnId;\n while (true) {\n if (stepper !== undefined && i === stepper.nextBreakPoint) {\n stepper.breakIt(i, continueCallback);\n return i;\n }\n fnId = fnArray[i];\n if (fnId !== _util.OPS.dependency) {\n this[fnId].apply(this, argsArray[i]);\n } else {\n var deps = argsArray[i];\n for (var n = 0, nn = deps.length; n < nn; n++) {\n var depObjId = deps[n];\n var common = depObjId[0] === 'g' && depObjId[1] === '_';\n var objsPool = common ? commonObjs : objs;\n if (!objsPool.isResolved(depObjId)) {\n objsPool.get(depObjId, continueCallback);\n return i;\n }\n }\n }\n i++;\n if (i === argsArrayLen) {\n return i;\n }\n if (chunkOperations && ++steps > EXECUTION_STEPS) {\n if (Date.now() > endTime) {\n continueCallback();\n return i;\n }\n steps = 0;\n }\n }\n },\n endDrawing: function CanvasGraphics_endDrawing() {\n if (this.current.activeSMask !== null) {\n this.endSMaskGroup();\n }\n this.ctx.restore();\n if (this.transparentCanvas) {\n this.ctx = this.compositeCtx;\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.drawImage(this.transparentCanvas, 0, 0);\n this.ctx.restore();\n this.transparentCanvas = null;\n }\n this.cachedCanvases.clear();\n this.webGLContext.clear();\n if (this.imageLayer) {\n this.imageLayer.endLayout();\n }\n },\n setLineWidth: function CanvasGraphics_setLineWidth(width) {\n this.current.lineWidth = width;\n this.ctx.lineWidth = width;\n },\n setLineCap: function CanvasGraphics_setLineCap(style) {\n this.ctx.lineCap = LINE_CAP_STYLES[style];\n },\n setLineJoin: function CanvasGraphics_setLineJoin(style) {\n this.ctx.lineJoin = LINE_JOIN_STYLES[style];\n },\n setMiterLimit: function CanvasGraphics_setMiterLimit(limit) {\n this.ctx.miterLimit = limit;\n },\n setDash: function CanvasGraphics_setDash(dashArray, dashPhase) {\n var ctx = this.ctx;\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash(dashArray);\n ctx.lineDashOffset = dashPhase;\n }\n },\n setRenderingIntent: function CanvasGraphics_setRenderingIntent(intent) {},\n setFlatness: function CanvasGraphics_setFlatness(flatness) {},\n setGState: function CanvasGraphics_setGState(states) {\n for (var i = 0, ii = states.length; i < ii; i++) {\n var state = states[i];\n var key = state[0];\n var value = state[1];\n switch (key) {\n case 'LW':\n this.setLineWidth(value);\n break;\n case 'LC':\n this.setLineCap(value);\n break;\n case 'LJ':\n this.setLineJoin(value);\n break;\n case 'ML':\n this.setMiterLimit(value);\n break;\n case 'D':\n this.setDash(value[0], value[1]);\n break;\n case 'RI':\n this.setRenderingIntent(value);\n break;\n case 'FL':\n this.setFlatness(value);\n break;\n case 'Font':\n this.setFont(value[0], value[1]);\n break;\n case 'CA':\n this.current.strokeAlpha = state[1];\n break;\n case 'ca':\n this.current.fillAlpha = state[1];\n this.ctx.globalAlpha = state[1];\n break;\n case 'BM':\n this.ctx.globalCompositeOperation = value;\n break;\n case 'SMask':\n if (this.current.activeSMask) {\n if (this.stateStack.length > 0 && this.stateStack[this.stateStack.length - 1].activeSMask === this.current.activeSMask) {\n this.suspendSMaskGroup();\n } else {\n this.endSMaskGroup();\n }\n }\n this.current.activeSMask = value ? this.tempSMask : null;\n if (this.current.activeSMask) {\n this.beginSMaskGroup();\n }\n this.tempSMask = null;\n break;\n }\n }\n },\n beginSMaskGroup: function CanvasGraphics_beginSMaskGroup() {\n var activeSMask = this.current.activeSMask;\n var drawnWidth = activeSMask.canvas.width;\n var drawnHeight = activeSMask.canvas.height;\n var cacheId = 'smaskGroupAt' + this.groupLevel;\n var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n var currentCtx = this.ctx;\n var currentTransform = currentCtx.mozCurrentTransform;\n this.ctx.save();\n var groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / activeSMask.scaleX, 1 / activeSMask.scaleY);\n groupCtx.translate(-activeSMask.offsetX, -activeSMask.offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n activeSMask.startTransformInverse = groupCtx.mozCurrentTransformInverse;\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([['BM', 'source-over'], ['ca', 1], ['CA', 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n },\n suspendSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);\n this.ctx.restore();\n this.ctx.save();\n copyCtxState(groupCtx, this.ctx);\n this.current.resumeSMaskCtx = groupCtx;\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n this.ctx.transform.apply(this.ctx, deltaTransform);\n groupCtx.save();\n groupCtx.setTransform(1, 0, 0, 1, 0, 0);\n groupCtx.clearRect(0, 0, groupCtx.canvas.width, groupCtx.canvas.height);\n groupCtx.restore();\n },\n resumeSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.current.resumeSMaskCtx;\n var currentCtx = this.ctx;\n this.ctx = groupCtx;\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n },\n endSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);\n this.ctx.restore();\n copyCtxState(groupCtx, this.ctx);\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n this.ctx.transform.apply(this.ctx, deltaTransform);\n },\n save: function CanvasGraphics_save() {\n this.ctx.save();\n var old = this.current;\n this.stateStack.push(old);\n this.current = old.clone();\n this.current.resumeSMaskCtx = null;\n },\n restore: function CanvasGraphics_restore() {\n if (this.current.resumeSMaskCtx) {\n this.resumeSMaskGroup();\n }\n if (this.current.activeSMask !== null && (this.stateStack.length === 0 || this.stateStack[this.stateStack.length - 1].activeSMask !== this.current.activeSMask)) {\n this.endSMaskGroup();\n }\n if (this.stateStack.length !== 0) {\n this.current = this.stateStack.pop();\n this.ctx.restore();\n this.pendingClip = null;\n this._cachedGetSinglePixelWidth = null;\n }\n },\n transform: function CanvasGraphics_transform(a, b, c, d, e, f) {\n this.ctx.transform(a, b, c, d, e, f);\n this._cachedGetSinglePixelWidth = null;\n },\n constructPath: function CanvasGraphics_constructPath(ops, args) {\n var ctx = this.ctx;\n var current = this.current;\n var x = current.x,\n y = current.y;\n for (var i = 0, j = 0, ii = ops.length; i < ii; i++) {\n switch (ops[i] | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n var width = args[j++];\n var height = args[j++];\n if (width === 0) {\n width = this.getSinglePixelWidth();\n }\n if (height === 0) {\n height = this.getSinglePixelWidth();\n }\n var xw = x + width;\n var yh = y + height;\n this.ctx.moveTo(x, y);\n this.ctx.lineTo(xw, y);\n this.ctx.lineTo(xw, yh);\n this.ctx.lineTo(x, yh);\n this.ctx.lineTo(x, y);\n this.ctx.closePath();\n break;\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n ctx.moveTo(x, y);\n break;\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n ctx.lineTo(x, y);\n break;\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y);\n j += 6;\n break;\n case _util.OPS.curveTo2:\n ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]);\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y);\n j += 4;\n break;\n case _util.OPS.closePath:\n ctx.closePath();\n break;\n }\n }\n current.setCurrentPoint(x, y);\n },\n closePath: function CanvasGraphics_closePath() {\n this.ctx.closePath();\n },\n stroke: function CanvasGraphics_stroke(consumePath) {\n consumePath = typeof consumePath !== 'undefined' ? consumePath : true;\n var ctx = this.ctx;\n var strokeColor = this.current.strokeColor;\n ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth);\n ctx.globalAlpha = this.current.strokeAlpha;\n if (strokeColor && strokeColor.hasOwnProperty('type') && strokeColor.type === 'Pattern') {\n ctx.save();\n ctx.strokeStyle = strokeColor.getPattern(ctx, this);\n ctx.stroke();\n ctx.restore();\n } else {\n ctx.stroke();\n }\n if (consumePath) {\n this.consumePath();\n }\n ctx.globalAlpha = this.current.fillAlpha;\n },\n closeStroke: function CanvasGraphics_closeStroke() {\n this.closePath();\n this.stroke();\n },\n fill: function CanvasGraphics_fill(consumePath) {\n consumePath = typeof consumePath !== 'undefined' ? consumePath : true;\n var ctx = this.ctx;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var needRestore = false;\n if (isPatternFill) {\n ctx.save();\n if (this.baseTransform) {\n ctx.setTransform.apply(ctx, this.baseTransform);\n }\n ctx.fillStyle = fillColor.getPattern(ctx, this);\n needRestore = true;\n }\n if (this.pendingEOFill) {\n ctx.fill('evenodd');\n this.pendingEOFill = false;\n } else {\n ctx.fill();\n }\n if (needRestore) {\n ctx.restore();\n }\n if (consumePath) {\n this.consumePath();\n }\n },\n eoFill: function CanvasGraphics_eoFill() {\n this.pendingEOFill = true;\n this.fill();\n },\n fillStroke: function CanvasGraphics_fillStroke() {\n this.fill(false);\n this.stroke(false);\n this.consumePath();\n },\n eoFillStroke: function CanvasGraphics_eoFillStroke() {\n this.pendingEOFill = true;\n this.fillStroke();\n },\n closeFillStroke: function CanvasGraphics_closeFillStroke() {\n this.closePath();\n this.fillStroke();\n },\n closeEOFillStroke: function CanvasGraphics_closeEOFillStroke() {\n this.pendingEOFill = true;\n this.closePath();\n this.fillStroke();\n },\n endPath: function CanvasGraphics_endPath() {\n this.consumePath();\n },\n clip: function CanvasGraphics_clip() {\n this.pendingClip = NORMAL_CLIP;\n },\n eoClip: function CanvasGraphics_eoClip() {\n this.pendingClip = EO_CLIP;\n },\n beginText: function CanvasGraphics_beginText() {\n this.current.textMatrix = _util.IDENTITY_MATRIX;\n this.current.textMatrixScale = 1;\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n },\n endText: function CanvasGraphics_endText() {\n var paths = this.pendingTextPaths;\n var ctx = this.ctx;\n if (paths === undefined) {\n ctx.beginPath();\n return;\n }\n ctx.save();\n ctx.beginPath();\n for (var i = 0; i < paths.length; i++) {\n var path = paths[i];\n ctx.setTransform.apply(ctx, path.transform);\n ctx.translate(path.x, path.y);\n path.addToPath(ctx, path.fontSize);\n }\n ctx.restore();\n ctx.clip();\n ctx.beginPath();\n delete this.pendingTextPaths;\n },\n setCharSpacing: function CanvasGraphics_setCharSpacing(spacing) {\n this.current.charSpacing = spacing;\n },\n setWordSpacing: function CanvasGraphics_setWordSpacing(spacing) {\n this.current.wordSpacing = spacing;\n },\n setHScale: function CanvasGraphics_setHScale(scale) {\n this.current.textHScale = scale / 100;\n },\n setLeading: function CanvasGraphics_setLeading(leading) {\n this.current.leading = -leading;\n },\n setFont: function CanvasGraphics_setFont(fontRefName, size) {\n var fontObj = this.commonObjs.get(fontRefName);\n var current = this.current;\n if (!fontObj) {\n throw new Error('Can\\'t find font for ' + fontRefName);\n }\n current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {\n (0, _util.warn)('Invalid font matrix for font ' + fontRefName);\n }\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n this.current.font = fontObj;\n this.current.fontSize = size;\n if (fontObj.isType3Font) {\n return;\n }\n var name = fontObj.loadedName || 'sans-serif';\n var bold = fontObj.black ? '900' : fontObj.bold ? 'bold' : 'normal';\n var italic = fontObj.italic ? 'italic' : 'normal';\n var typeface = '\"' + name + '\", ' + fontObj.fallbackName;\n var browserFontSize = size < MIN_FONT_SIZE ? MIN_FONT_SIZE : size > MAX_FONT_SIZE ? MAX_FONT_SIZE : size;\n this.current.fontSizeScale = size / browserFontSize;\n var rule = italic + ' ' + bold + ' ' + browserFontSize + 'px ' + typeface;\n this.ctx.font = rule;\n },\n setTextRenderingMode: function CanvasGraphics_setTextRenderingMode(mode) {\n this.current.textRenderingMode = mode;\n },\n setTextRise: function CanvasGraphics_setTextRise(rise) {\n this.current.textRise = rise;\n },\n moveText: function CanvasGraphics_moveText(x, y) {\n this.current.x = this.current.lineX += x;\n this.current.y = this.current.lineY += y;\n },\n setLeadingMoveText: function CanvasGraphics_setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n },\n setTextMatrix: function CanvasGraphics_setTextMatrix(a, b, c, d, e, f) {\n this.current.textMatrix = [a, b, c, d, e, f];\n this.current.textMatrixScale = Math.sqrt(a * a + b * b);\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n },\n nextLine: function CanvasGraphics_nextLine() {\n this.moveText(0, this.current.leading);\n },\n paintChar: function paintChar(character, x, y, patternTransform) {\n var ctx = this.ctx;\n var current = this.current;\n var font = current.font;\n var textRenderingMode = current.textRenderingMode;\n var fontSize = current.fontSize / current.fontSizeScale;\n var fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n var isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);\n var patternFill = current.patternFill && font.data;\n var addToPath;\n if (font.disableFontFace || isAddToPathSet || patternFill) {\n addToPath = font.getPathGenerator(this.commonObjs, character);\n }\n if (font.disableFontFace || patternFill) {\n ctx.save();\n ctx.translate(x, y);\n ctx.beginPath();\n addToPath(ctx, fontSize);\n if (patternTransform) {\n ctx.setTransform.apply(ctx, patternTransform);\n }\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fill();\n }\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.stroke();\n }\n ctx.restore();\n } else {\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fillText(character, x, y);\n }\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.strokeText(character, x, y);\n }\n }\n if (isAddToPathSet) {\n var paths = this.pendingTextPaths || (this.pendingTextPaths = []);\n paths.push({\n transform: ctx.mozCurrentTransform,\n x: x,\n y: y,\n fontSize: fontSize,\n addToPath: addToPath\n });\n }\n },\n\n get isFontSubpixelAAEnabled() {\n var ctx = this.canvasFactory.create(10, 10).context;\n ctx.scale(1.5, 1);\n ctx.fillText('I', 0, 10);\n var data = ctx.getImageData(0, 0, 10, 10).data;\n var enabled = false;\n for (var i = 3; i < data.length; i += 4) {\n if (data[i] > 0 && data[i] < 255) {\n enabled = true;\n break;\n }\n }\n return (0, _util.shadow)(this, 'isFontSubpixelAAEnabled', enabled);\n },\n showText: function CanvasGraphics_showText(glyphs) {\n var current = this.current;\n var font = current.font;\n if (font.isType3Font) {\n return this.showType3Text(glyphs);\n }\n var fontSize = current.fontSize;\n if (fontSize === 0) {\n return;\n }\n var ctx = this.ctx;\n var fontSizeScale = current.fontSizeScale;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var fontDirection = current.fontDirection;\n var textHScale = current.textHScale * fontDirection;\n var glyphsLength = glyphs.length;\n var vertical = font.vertical;\n var spacingDir = vertical ? 1 : -1;\n var defaultVMetrics = font.defaultVMetrics;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n var simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill;\n ctx.save();\n var patternTransform = void 0;\n if (current.patternFill) {\n ctx.save();\n var pattern = current.fillColor.getPattern(ctx, this);\n patternTransform = ctx.mozCurrentTransform;\n ctx.restore();\n ctx.fillStyle = pattern;\n }\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y + current.textRise);\n if (fontDirection > 0) {\n ctx.scale(textHScale, -1);\n } else {\n ctx.scale(textHScale, 1);\n }\n var lineWidth = current.lineWidth;\n var scale = current.textMatrixScale;\n if (scale === 0 || lineWidth === 0) {\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n this._cachedGetSinglePixelWidth = null;\n lineWidth = this.getSinglePixelWidth() * MIN_WIDTH_FACTOR;\n }\n } else {\n lineWidth /= scale;\n }\n if (fontSizeScale !== 1.0) {\n ctx.scale(fontSizeScale, fontSizeScale);\n lineWidth /= fontSizeScale;\n }\n ctx.lineWidth = lineWidth;\n var x = 0,\n i;\n for (i = 0; i < glyphsLength; ++i) {\n var glyph = glyphs[i];\n if ((0, _util.isNum)(glyph)) {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n var restoreNeeded = false;\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var character = glyph.fontChar;\n var accent = glyph.accent;\n var scaledX, scaledY, scaledAccentX, scaledAccentY;\n var width = glyph.width;\n if (vertical) {\n var vmetric, vx, vy;\n vmetric = glyph.vmetric || defaultVMetrics;\n vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n vx = -vx * widthAdvanceScale;\n vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n if (font.remeasure && width > 0) {\n var measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;\n if (width < measuredWidth && this.isFontSubpixelAAEnabled) {\n var characterScaleX = width / measuredWidth;\n restoreNeeded = true;\n ctx.save();\n ctx.scale(characterScaleX, 1);\n scaledX /= characterScaleX;\n } else if (width !== measuredWidth) {\n scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale;\n }\n }\n if (glyph.isInFont || font.missingFile) {\n if (simpleFillText && !accent) {\n ctx.fillText(character, scaledX, scaledY);\n } else {\n this.paintChar(character, scaledX, scaledY, patternTransform);\n if (accent) {\n scaledAccentX = scaledX + accent.offset.x / fontSizeScale;\n scaledAccentY = scaledY - accent.offset.y / fontSizeScale;\n this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform);\n }\n }\n }\n var charWidth = width * widthAdvanceScale + spacing * fontDirection;\n x += charWidth;\n if (restoreNeeded) {\n ctx.restore();\n }\n }\n if (vertical) {\n current.y -= x * textHScale;\n } else {\n current.x += x * textHScale;\n }\n ctx.restore();\n },\n showType3Text: function CanvasGraphics_showType3Text(glyphs) {\n var ctx = this.ctx;\n var current = this.current;\n var font = current.font;\n var fontSize = current.fontSize;\n var fontDirection = current.fontDirection;\n var spacingDir = font.vertical ? 1 : -1;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var textHScale = current.textHScale * fontDirection;\n var fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n var glyphsLength = glyphs.length;\n var isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE;\n var i, glyph, width, spacingLength;\n if (isTextInvisible || fontSize === 0) {\n return;\n }\n this._cachedGetSinglePixelWidth = null;\n ctx.save();\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y);\n ctx.scale(textHScale, fontDirection);\n for (i = 0; i < glyphsLength; ++i) {\n glyph = glyphs[i];\n if ((0, _util.isNum)(glyph)) {\n spacingLength = spacingDir * glyph * fontSize / 1000;\n this.ctx.translate(spacingLength, 0);\n current.x += spacingLength * textHScale;\n continue;\n }\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var operatorList = font.charProcOperatorList[glyph.operatorListId];\n if (!operatorList) {\n (0, _util.warn)('Type3 character \"' + glyph.operatorListId + '\" is not available.');\n continue;\n }\n this.processingType3 = glyph;\n this.save();\n ctx.scale(fontSize, fontSize);\n ctx.transform.apply(ctx, fontMatrix);\n this.executeOperatorList(operatorList);\n this.restore();\n var transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix);\n width = transformed[0] * fontSize + spacing;\n ctx.translate(width, 0);\n current.x += width * textHScale;\n }\n ctx.restore();\n this.processingType3 = null;\n },\n setCharWidth: function CanvasGraphics_setCharWidth(xWidth, yWidth) {},\n setCharWidthAndBounds: function CanvasGraphics_setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) {\n this.ctx.rect(llx, lly, urx - llx, ury - lly);\n this.clip();\n this.endPath();\n },\n getColorN_Pattern: function CanvasGraphics_getColorN_Pattern(IR) {\n var _this = this;\n\n var pattern;\n if (IR[0] === 'TilingPattern') {\n var color = IR[1];\n var baseTransform = this.baseTransform || this.ctx.mozCurrentTransform.slice();\n var canvasGraphicsFactory = {\n createCanvasGraphics: function createCanvasGraphics(ctx) {\n return new CanvasGraphics(ctx, _this.commonObjs, _this.objs, _this.canvasFactory, _this.webGLContext);\n }\n };\n pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform);\n } else {\n pattern = (0, _pattern_helper.getShadingPatternFromIR)(IR);\n }\n return pattern;\n },\n setStrokeColorN: function CanvasGraphics_setStrokeColorN() {\n this.current.strokeColor = this.getColorN_Pattern(arguments);\n },\n setFillColorN: function CanvasGraphics_setFillColorN() {\n this.current.fillColor = this.getColorN_Pattern(arguments);\n this.current.patternFill = true;\n },\n setStrokeRGBColor: function CanvasGraphics_setStrokeRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n this.ctx.strokeStyle = color;\n this.current.strokeColor = color;\n },\n setFillRGBColor: function CanvasGraphics_setFillRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n this.ctx.fillStyle = color;\n this.current.fillColor = color;\n this.current.patternFill = false;\n },\n shadingFill: function CanvasGraphics_shadingFill(patternIR) {\n var ctx = this.ctx;\n this.save();\n var pattern = (0, _pattern_helper.getShadingPatternFromIR)(patternIR);\n ctx.fillStyle = pattern.getPattern(ctx, this, true);\n var inv = ctx.mozCurrentTransformInverse;\n if (inv) {\n var canvas = ctx.canvas;\n var width = canvas.width;\n var height = canvas.height;\n var bl = _util.Util.applyTransform([0, 0], inv);\n var br = _util.Util.applyTransform([0, height], inv);\n var ul = _util.Util.applyTransform([width, 0], inv);\n var ur = _util.Util.applyTransform([width, height], inv);\n var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);\n } else {\n this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);\n }\n this.restore();\n },\n beginInlineImage: function CanvasGraphics_beginInlineImage() {\n (0, _util.unreachable)('Should not call beginInlineImage');\n },\n beginImageData: function CanvasGraphics_beginImageData() {\n (0, _util.unreachable)('Should not call beginImageData');\n },\n paintFormXObjectBegin: function CanvasGraphics_paintFormXObjectBegin(matrix, bbox) {\n this.save();\n this.baseTransformStack.push(this.baseTransform);\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform.apply(this, matrix);\n }\n this.baseTransform = this.ctx.mozCurrentTransform;\n if (Array.isArray(bbox) && bbox.length === 4) {\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n this.ctx.rect(bbox[0], bbox[1], width, height);\n this.clip();\n this.endPath();\n }\n },\n paintFormXObjectEnd: function CanvasGraphics_paintFormXObjectEnd() {\n this.restore();\n this.baseTransform = this.baseTransformStack.pop();\n },\n beginGroup: function CanvasGraphics_beginGroup(group) {\n this.save();\n var currentCtx = this.ctx;\n if (!group.isolated) {\n (0, _util.info)('TODO: Support non-isolated groups.');\n }\n if (group.knockout) {\n (0, _util.warn)('Knockout groups not supported.');\n }\n var currentTransform = currentCtx.mozCurrentTransform;\n if (group.matrix) {\n currentCtx.transform.apply(currentCtx, group.matrix);\n }\n if (!group.bbox) {\n throw new Error('Bounding box is required.');\n }\n var bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, currentCtx.mozCurrentTransform);\n var canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height];\n bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0];\n var offsetX = Math.floor(bounds[0]);\n var offsetY = Math.floor(bounds[1]);\n var drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);\n var drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);\n var scaleX = 1,\n scaleY = 1;\n if (drawnWidth > MAX_GROUP_SIZE) {\n scaleX = drawnWidth / MAX_GROUP_SIZE;\n drawnWidth = MAX_GROUP_SIZE;\n }\n if (drawnHeight > MAX_GROUP_SIZE) {\n scaleY = drawnHeight / MAX_GROUP_SIZE;\n drawnHeight = MAX_GROUP_SIZE;\n }\n var cacheId = 'groupAt' + this.groupLevel;\n if (group.smask) {\n cacheId += '_smask_' + this.smaskCounter++ % 2;\n }\n var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n var groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / scaleX, 1 / scaleY);\n groupCtx.translate(-offsetX, -offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n if (group.smask) {\n this.smaskStack.push({\n canvas: scratchCanvas.canvas,\n context: groupCtx,\n offsetX: offsetX,\n offsetY: offsetY,\n scaleX: scaleX,\n scaleY: scaleY,\n subtype: group.smask.subtype,\n backdrop: group.smask.backdrop,\n transferMap: group.smask.transferMap || null,\n startTransformInverse: null\n });\n } else {\n currentCtx.setTransform(1, 0, 0, 1, 0, 0);\n currentCtx.translate(offsetX, offsetY);\n currentCtx.scale(scaleX, scaleY);\n }\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([['BM', 'source-over'], ['ca', 1], ['CA', 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n this.current.activeSMask = null;\n },\n endGroup: function CanvasGraphics_endGroup(group) {\n this.groupLevel--;\n var groupCtx = this.ctx;\n this.ctx = this.groupStack.pop();\n if (this.ctx.imageSmoothingEnabled !== undefined) {\n this.ctx.imageSmoothingEnabled = false;\n } else {\n this.ctx.mozImageSmoothingEnabled = false;\n }\n if (group.smask) {\n this.tempSMask = this.smaskStack.pop();\n } else {\n this.ctx.drawImage(groupCtx.canvas, 0, 0);\n }\n this.restore();\n },\n beginAnnotations: function CanvasGraphics_beginAnnotations() {\n this.save();\n if (this.baseTransform) {\n this.ctx.setTransform.apply(this.ctx, this.baseTransform);\n }\n },\n endAnnotations: function CanvasGraphics_endAnnotations() {\n this.restore();\n },\n beginAnnotation: function CanvasGraphics_beginAnnotation(rect, transform, matrix) {\n this.save();\n resetCtxToDefault(this.ctx);\n this.current = new CanvasExtraState();\n if (Array.isArray(rect) && rect.length === 4) {\n var width = rect[2] - rect[0];\n var height = rect[3] - rect[1];\n this.ctx.rect(rect[0], rect[1], width, height);\n this.clip();\n this.endPath();\n }\n this.transform.apply(this, transform);\n this.transform.apply(this, matrix);\n },\n endAnnotation: function CanvasGraphics_endAnnotation() {\n this.restore();\n },\n paintJpegXObject: function CanvasGraphics_paintJpegXObject(objId, w, h) {\n var domImage = this.objs.get(objId);\n if (!domImage) {\n (0, _util.warn)('Dependent image isn\\'t ready yet');\n return;\n }\n this.save();\n var ctx = this.ctx;\n ctx.scale(1 / w, -1 / h);\n ctx.drawImage(domImage, 0, 0, domImage.width, domImage.height, 0, -h, w, h);\n if (this.imageLayer) {\n var currentTransform = ctx.mozCurrentTransformInverse;\n var position = this.getCanvasPosition(0, 0);\n this.imageLayer.appendImage({\n objId: objId,\n left: position[0],\n top: position[1],\n width: w / currentTransform[0],\n height: h / currentTransform[3]\n });\n }\n this.restore();\n },\n paintImageMaskXObject: function CanvasGraphics_paintImageMaskXObject(img) {\n var ctx = this.ctx;\n var width = img.width,\n height = img.height;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var glyph = this.processingType3;\n if (COMPILE_TYPE3_GLYPHS && glyph && glyph.compiled === undefined) {\n if (width <= MAX_SIZE_TO_COMPILE && height <= MAX_SIZE_TO_COMPILE) {\n glyph.compiled = compileType3Glyph({\n data: img.data,\n width: width,\n height: height\n });\n } else {\n glyph.compiled = null;\n }\n }\n if (glyph && glyph.compiled) {\n glyph.compiled(ctx);\n return;\n }\n var maskCanvas = this.cachedCanvases.getCanvas('maskCanvas', width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, img);\n maskCtx.globalCompositeOperation = 'source-in';\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n this.paintInlineImageXObject(maskCanvas.canvas);\n },\n paintImageMaskXObjectRepeat: function CanvasGraphics_paintImageMaskXObjectRepeat(imgData, scaleX, scaleY, positions) {\n var width = imgData.width;\n var height = imgData.height;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var maskCanvas = this.cachedCanvases.getCanvas('maskCanvas', width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, imgData);\n maskCtx.globalCompositeOperation = 'source-in';\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n var ctx = this.ctx;\n for (var i = 0, ii = positions.length; i < ii; i += 2) {\n ctx.save();\n ctx.transform(scaleX, 0, 0, scaleY, positions[i], positions[i + 1]);\n ctx.scale(1, -1);\n ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n },\n paintImageMaskXObjectGroup: function CanvasGraphics_paintImageMaskXObjectGroup(images) {\n var ctx = this.ctx;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n for (var i = 0, ii = images.length; i < ii; i++) {\n var image = images[i];\n var width = image.width,\n height = image.height;\n var maskCanvas = this.cachedCanvases.getCanvas('maskCanvas', width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, image);\n maskCtx.globalCompositeOperation = 'source-in';\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n ctx.save();\n ctx.transform.apply(ctx, image.transform);\n ctx.scale(1, -1);\n ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n },\n paintImageXObject: function CanvasGraphics_paintImageXObject(objId) {\n var imgData = this.objs.get(objId);\n if (!imgData) {\n (0, _util.warn)('Dependent image isn\\'t ready yet');\n return;\n }\n this.paintInlineImageXObject(imgData);\n },\n paintImageXObjectRepeat: function CanvasGraphics_paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {\n var imgData = this.objs.get(objId);\n if (!imgData) {\n (0, _util.warn)('Dependent image isn\\'t ready yet');\n return;\n }\n var width = imgData.width;\n var height = imgData.height;\n var map = [];\n for (var i = 0, ii = positions.length; i < ii; i += 2) {\n map.push({\n transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],\n x: 0,\n y: 0,\n w: width,\n h: height\n });\n }\n this.paintInlineImageXObjectGroup(imgData, map);\n },\n paintInlineImageXObject: function CanvasGraphics_paintInlineImageXObject(imgData) {\n var width = imgData.width;\n var height = imgData.height;\n var ctx = this.ctx;\n this.save();\n ctx.scale(1 / width, -1 / height);\n var currentTransform = ctx.mozCurrentTransformInverse;\n var a = currentTransform[0],\n b = currentTransform[1];\n var widthScale = Math.max(Math.sqrt(a * a + b * b), 1);\n var c = currentTransform[2],\n d = currentTransform[3];\n var heightScale = Math.max(Math.sqrt(c * c + d * d), 1);\n var imgToPaint, tmpCanvas;\n if (typeof HTMLElement === 'function' && imgData instanceof HTMLElement || !imgData.data) {\n imgToPaint = imgData;\n } else {\n tmpCanvas = this.cachedCanvases.getCanvas('inlineImage', width, height);\n var tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n imgToPaint = tmpCanvas.canvas;\n }\n var paintWidth = width,\n paintHeight = height;\n var tmpCanvasId = 'prescale1';\n while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {\n var newWidth = paintWidth,\n newHeight = paintHeight;\n if (widthScale > 2 && paintWidth > 1) {\n newWidth = Math.ceil(paintWidth / 2);\n widthScale /= paintWidth / newWidth;\n }\n if (heightScale > 2 && paintHeight > 1) {\n newHeight = Math.ceil(paintHeight / 2);\n heightScale /= paintHeight / newHeight;\n }\n tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight);\n tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, newWidth, newHeight);\n tmpCtx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight);\n imgToPaint = tmpCanvas.canvas;\n paintWidth = newWidth;\n paintHeight = newHeight;\n tmpCanvasId = tmpCanvasId === 'prescale1' ? 'prescale2' : 'prescale1';\n }\n ctx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, -height, width, height);\n if (this.imageLayer) {\n var position = this.getCanvasPosition(0, -height);\n this.imageLayer.appendImage({\n imgData: imgData,\n left: position[0],\n top: position[1],\n width: width / currentTransform[0],\n height: height / currentTransform[3]\n });\n }\n this.restore();\n },\n paintInlineImageXObjectGroup: function CanvasGraphics_paintInlineImageXObjectGroup(imgData, map) {\n var ctx = this.ctx;\n var w = imgData.width;\n var h = imgData.height;\n var tmpCanvas = this.cachedCanvases.getCanvas('inlineImage', w, h);\n var tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n for (var i = 0, ii = map.length; i < ii; i++) {\n var entry = map[i];\n ctx.save();\n ctx.transform.apply(ctx, entry.transform);\n ctx.scale(1, -1);\n ctx.drawImage(tmpCanvas.canvas, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1);\n if (this.imageLayer) {\n var position = this.getCanvasPosition(entry.x, entry.y);\n this.imageLayer.appendImage({\n imgData: imgData,\n left: position[0],\n top: position[1],\n width: w,\n height: h\n });\n }\n ctx.restore();\n }\n },\n paintSolidColorImageMask: function CanvasGraphics_paintSolidColorImageMask() {\n this.ctx.fillRect(0, 0, 1, 1);\n },\n paintXObject: function CanvasGraphics_paintXObject() {\n (0, _util.warn)('Unsupported \\'paintXObject\\' command.');\n },\n markPoint: function CanvasGraphics_markPoint(tag) {},\n markPointProps: function CanvasGraphics_markPointProps(tag, properties) {},\n beginMarkedContent: function CanvasGraphics_beginMarkedContent(tag) {},\n beginMarkedContentProps: function CanvasGraphics_beginMarkedContentProps(tag, properties) {},\n endMarkedContent: function CanvasGraphics_endMarkedContent() {},\n beginCompat: function CanvasGraphics_beginCompat() {},\n endCompat: function CanvasGraphics_endCompat() {},\n consumePath: function CanvasGraphics_consumePath() {\n var ctx = this.ctx;\n if (this.pendingClip) {\n if (this.pendingClip === EO_CLIP) {\n ctx.clip('evenodd');\n } else {\n ctx.clip();\n }\n this.pendingClip = null;\n }\n ctx.beginPath();\n },\n getSinglePixelWidth: function getSinglePixelWidth(scale) {\n if (this._cachedGetSinglePixelWidth === null) {\n var inverse = this.ctx.mozCurrentTransformInverse;\n this._cachedGetSinglePixelWidth = Math.sqrt(Math.max(inverse[0] * inverse[0] + inverse[1] * inverse[1], inverse[2] * inverse[2] + inverse[3] * inverse[3]));\n }\n return this._cachedGetSinglePixelWidth;\n },\n\n getCanvasPosition: function CanvasGraphics_getCanvasPosition(x, y) {\n var transform = this.ctx.mozCurrentTransform;\n return [transform[0] * x + transform[2] * y + transform[4], transform[1] * x + transform[3] * y + transform[5]];\n }\n };\n for (var op in _util.OPS) {\n CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op];\n }\n return CanvasGraphics;\n}();\nexports.CanvasGraphics = CanvasGraphics;\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.TilingPattern = exports.getShadingPatternFromIR = undefined;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar ShadingIRs = {};\nShadingIRs.RadialAxial = {\n fromIR: function RadialAxial_fromIR(raw) {\n var type = raw[1];\n var colorStops = raw[2];\n var p0 = raw[3];\n var p1 = raw[4];\n var r0 = raw[5];\n var r1 = raw[6];\n return {\n type: 'Pattern',\n getPattern: function RadialAxial_getPattern(ctx) {\n var grad;\n if (type === 'axial') {\n grad = ctx.createLinearGradient(p0[0], p0[1], p1[0], p1[1]);\n } else if (type === 'radial') {\n grad = ctx.createRadialGradient(p0[0], p0[1], r0, p1[0], p1[1], r1);\n }\n for (var i = 0, ii = colorStops.length; i < ii; ++i) {\n var c = colorStops[i];\n grad.addColorStop(c[0], c[1]);\n }\n return grad;\n }\n };\n }\n};\nvar createMeshCanvas = function createMeshCanvasClosure() {\n function drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {\n var coords = context.coords,\n colors = context.colors;\n var bytes = data.data,\n rowSize = data.width * 4;\n var tmp;\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n if (coords[p2 + 1] > coords[p3 + 1]) {\n tmp = p2;\n p2 = p3;\n p3 = tmp;\n tmp = c2;\n c2 = c3;\n c3 = tmp;\n }\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n var x1 = (coords[p1] + context.offsetX) * context.scaleX;\n var y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;\n var x2 = (coords[p2] + context.offsetX) * context.scaleX;\n var y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;\n var x3 = (coords[p3] + context.offsetX) * context.scaleX;\n var y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;\n if (y1 >= y3) {\n return;\n }\n var c1r = colors[c1],\n c1g = colors[c1 + 1],\n c1b = colors[c1 + 2];\n var c2r = colors[c2],\n c2g = colors[c2 + 1],\n c2b = colors[c2 + 2];\n var c3r = colors[c3],\n c3g = colors[c3 + 1],\n c3b = colors[c3 + 2];\n var minY = Math.round(y1),\n maxY = Math.round(y3);\n var xa, car, cag, cab;\n var xb, cbr, cbg, cbb;\n var k;\n for (var y = minY; y <= maxY; y++) {\n if (y < y2) {\n k = y < y1 ? 0 : y1 === y2 ? 1 : (y1 - y) / (y1 - y2);\n xa = x1 - (x1 - x2) * k;\n car = c1r - (c1r - c2r) * k;\n cag = c1g - (c1g - c2g) * k;\n cab = c1b - (c1b - c2b) * k;\n } else {\n k = y > y3 ? 1 : y2 === y3 ? 0 : (y2 - y) / (y2 - y3);\n xa = x2 - (x2 - x3) * k;\n car = c2r - (c2r - c3r) * k;\n cag = c2g - (c2g - c3g) * k;\n cab = c2b - (c2b - c3b) * k;\n }\n k = y < y1 ? 0 : y > y3 ? 1 : (y1 - y) / (y1 - y3);\n xb = x1 - (x1 - x3) * k;\n cbr = c1r - (c1r - c3r) * k;\n cbg = c1g - (c1g - c3g) * k;\n cbb = c1b - (c1b - c3b) * k;\n var x1_ = Math.round(Math.min(xa, xb));\n var x2_ = Math.round(Math.max(xa, xb));\n var j = rowSize * y + x1_ * 4;\n for (var x = x1_; x <= x2_; x++) {\n k = (xa - x) / (xa - xb);\n k = k < 0 ? 0 : k > 1 ? 1 : k;\n bytes[j++] = car - (car - cbr) * k | 0;\n bytes[j++] = cag - (cag - cbg) * k | 0;\n bytes[j++] = cab - (cab - cbb) * k | 0;\n bytes[j++] = 255;\n }\n }\n }\n function drawFigure(data, figure, context) {\n var ps = figure.coords;\n var cs = figure.colors;\n var i, ii;\n switch (figure.type) {\n case 'lattice':\n var verticesPerRow = figure.verticesPerRow;\n var rows = Math.floor(ps.length / verticesPerRow) - 1;\n var cols = verticesPerRow - 1;\n for (i = 0; i < rows; i++) {\n var q = i * verticesPerRow;\n for (var j = 0; j < cols; j++, q++) {\n drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]);\n drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]);\n }\n }\n break;\n case 'triangles':\n for (i = 0, ii = ps.length; i < ii; i += 3) {\n drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]);\n }\n break;\n default:\n throw new Error('illegal figure');\n }\n }\n function createMeshCanvas(bounds, combinesScale, coords, colors, figures, backgroundColor, cachedCanvases, webGLContext) {\n var EXPECTED_SCALE = 1.1;\n var MAX_PATTERN_SIZE = 3000;\n var BORDER_SIZE = 2;\n var offsetX = Math.floor(bounds[0]);\n var offsetY = Math.floor(bounds[1]);\n var boundsWidth = Math.ceil(bounds[2]) - offsetX;\n var boundsHeight = Math.ceil(bounds[3]) - offsetY;\n var width = Math.min(Math.ceil(Math.abs(boundsWidth * combinesScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n var height = Math.min(Math.ceil(Math.abs(boundsHeight * combinesScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n var scaleX = boundsWidth / width;\n var scaleY = boundsHeight / height;\n var context = {\n coords: coords,\n colors: colors,\n offsetX: -offsetX,\n offsetY: -offsetY,\n scaleX: 1 / scaleX,\n scaleY: 1 / scaleY\n };\n var paddedWidth = width + BORDER_SIZE * 2;\n var paddedHeight = height + BORDER_SIZE * 2;\n var canvas, tmpCanvas, i, ii;\n if (webGLContext.isEnabled) {\n canvas = webGLContext.drawFigures({\n width: width,\n height: height,\n backgroundColor: backgroundColor,\n figures: figures,\n context: context\n });\n tmpCanvas = cachedCanvases.getCanvas('mesh', paddedWidth, paddedHeight, false);\n tmpCanvas.context.drawImage(canvas, BORDER_SIZE, BORDER_SIZE);\n canvas = tmpCanvas.canvas;\n } else {\n tmpCanvas = cachedCanvases.getCanvas('mesh', paddedWidth, paddedHeight, false);\n var tmpCtx = tmpCanvas.context;\n var data = tmpCtx.createImageData(width, height);\n if (backgroundColor) {\n var bytes = data.data;\n for (i = 0, ii = bytes.length; i < ii; i += 4) {\n bytes[i] = backgroundColor[0];\n bytes[i + 1] = backgroundColor[1];\n bytes[i + 2] = backgroundColor[2];\n bytes[i + 3] = 255;\n }\n }\n for (i = 0; i < figures.length; i++) {\n drawFigure(data, figures[i], context);\n }\n tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);\n canvas = tmpCanvas.canvas;\n }\n return {\n canvas: canvas,\n offsetX: offsetX - BORDER_SIZE * scaleX,\n offsetY: offsetY - BORDER_SIZE * scaleY,\n scaleX: scaleX,\n scaleY: scaleY\n };\n }\n return createMeshCanvas;\n}();\nShadingIRs.Mesh = {\n fromIR: function Mesh_fromIR(raw) {\n var coords = raw[2];\n var colors = raw[3];\n var figures = raw[4];\n var bounds = raw[5];\n var matrix = raw[6];\n var background = raw[8];\n return {\n type: 'Pattern',\n getPattern: function Mesh_getPattern(ctx, owner, shadingFill) {\n var scale;\n if (shadingFill) {\n scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform);\n } else {\n scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);\n if (matrix) {\n var matrixScale = _util.Util.singularValueDecompose2dScale(matrix);\n scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];\n }\n }\n var temporaryPatternCanvas = createMeshCanvas(bounds, scale, coords, colors, figures, shadingFill ? null : background, owner.cachedCanvases, owner.webGLContext);\n if (!shadingFill) {\n ctx.setTransform.apply(ctx, owner.baseTransform);\n if (matrix) {\n ctx.transform.apply(ctx, matrix);\n }\n }\n ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);\n return ctx.createPattern(temporaryPatternCanvas.canvas, 'no-repeat');\n }\n };\n }\n};\nShadingIRs.Dummy = {\n fromIR: function Dummy_fromIR() {\n return {\n type: 'Pattern',\n getPattern: function Dummy_fromIR_getPattern() {\n return 'hotpink';\n }\n };\n }\n};\nfunction getShadingPatternFromIR(raw) {\n var shadingIR = ShadingIRs[raw[0]];\n if (!shadingIR) {\n throw new Error('Unknown IR type: ' + raw[0]);\n }\n return shadingIR.fromIR(raw);\n}\nvar TilingPattern = function TilingPatternClosure() {\n var PaintType = {\n COLORED: 1,\n UNCOLORED: 2\n };\n var MAX_PATTERN_SIZE = 3000;\n function TilingPattern(IR, color, ctx, canvasGraphicsFactory, baseTransform) {\n this.operatorList = IR[2];\n this.matrix = IR[3] || [1, 0, 0, 1, 0, 0];\n this.bbox = IR[4];\n this.xstep = IR[5];\n this.ystep = IR[6];\n this.paintType = IR[7];\n this.tilingType = IR[8];\n this.color = color;\n this.canvasGraphicsFactory = canvasGraphicsFactory;\n this.baseTransform = baseTransform;\n this.type = 'Pattern';\n this.ctx = ctx;\n }\n TilingPattern.prototype = {\n createPatternCanvas: function TilinPattern_createPatternCanvas(owner) {\n var operatorList = this.operatorList;\n var bbox = this.bbox;\n var xstep = this.xstep;\n var ystep = this.ystep;\n var paintType = this.paintType;\n var tilingType = this.tilingType;\n var color = this.color;\n var canvasGraphicsFactory = this.canvasGraphicsFactory;\n (0, _util.info)('TilingType: ' + tilingType);\n var x0 = bbox[0],\n y0 = bbox[1],\n x1 = bbox[2],\n y1 = bbox[3];\n var topLeft = [x0, y0];\n var botRight = [x0 + xstep, y0 + ystep];\n var width = botRight[0] - topLeft[0];\n var height = botRight[1] - topLeft[1];\n var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n var curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);\n var combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];\n width = Math.min(Math.ceil(Math.abs(width * combinedScale[0])), MAX_PATTERN_SIZE);\n height = Math.min(Math.ceil(Math.abs(height * combinedScale[1])), MAX_PATTERN_SIZE);\n var tmpCanvas = owner.cachedCanvases.getCanvas('pattern', width, height, true);\n var tmpCtx = tmpCanvas.context;\n var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);\n graphics.groupLevel = owner.groupLevel;\n this.setFillAndStrokeStyleToContext(graphics, paintType, color);\n this.setScale(width, height, xstep, ystep);\n this.transformToScale(graphics);\n var tmpTranslate = [1, 0, 0, 1, -topLeft[0], -topLeft[1]];\n graphics.transform.apply(graphics, tmpTranslate);\n this.clipBbox(graphics, bbox, x0, y0, x1, y1);\n graphics.executeOperatorList(operatorList);\n return tmpCanvas.canvas;\n },\n setScale: function TilingPattern_setScale(width, height, xstep, ystep) {\n this.scale = [width / xstep, height / ystep];\n },\n transformToScale: function TilingPattern_transformToScale(graphics) {\n var scale = this.scale;\n var tmpScale = [scale[0], 0, 0, scale[1], 0, 0];\n graphics.transform.apply(graphics, tmpScale);\n },\n scaleToContext: function TilingPattern_scaleToContext() {\n var scale = this.scale;\n this.ctx.scale(1 / scale[0], 1 / scale[1]);\n },\n clipBbox: function clipBbox(graphics, bbox, x0, y0, x1, y1) {\n if (Array.isArray(bbox) && bbox.length === 4) {\n var bboxWidth = x1 - x0;\n var bboxHeight = y1 - y0;\n graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);\n graphics.clip();\n graphics.endPath();\n }\n },\n setFillAndStrokeStyleToContext: function setFillAndStrokeStyleToContext(graphics, paintType, color) {\n var context = graphics.ctx,\n current = graphics.current;\n switch (paintType) {\n case PaintType.COLORED:\n var ctx = this.ctx;\n context.fillStyle = ctx.fillStyle;\n context.strokeStyle = ctx.strokeStyle;\n current.fillColor = ctx.fillStyle;\n current.strokeColor = ctx.strokeStyle;\n break;\n case PaintType.UNCOLORED:\n var cssColor = _util.Util.makeCssRgb(color[0], color[1], color[2]);\n context.fillStyle = cssColor;\n context.strokeStyle = cssColor;\n current.fillColor = cssColor;\n current.strokeColor = cssColor;\n break;\n default:\n throw new _util.FormatError('Unsupported paint type: ' + paintType);\n }\n },\n getPattern: function TilingPattern_getPattern(ctx, owner) {\n var temporaryPatternCanvas = this.createPatternCanvas(owner);\n ctx = this.ctx;\n ctx.setTransform.apply(ctx, this.baseTransform);\n ctx.transform.apply(ctx, this.matrix);\n this.scaleToContext();\n return ctx.createPattern(temporaryPatternCanvas, 'repeat');\n }\n };\n return TilingPattern;\n}();\nexports.getShadingPatternFromIR = getShadingPatternFromIR;\nexports.TilingPattern = TilingPattern;\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar GlobalWorkerOptions = Object.create(null);\nGlobalWorkerOptions.workerPort = GlobalWorkerOptions.workerPort === undefined ? null : GlobalWorkerOptions.workerPort;\nGlobalWorkerOptions.workerSrc = GlobalWorkerOptions.workerSrc === undefined ? '' : GlobalWorkerOptions.workerSrc;\nexports.GlobalWorkerOptions = GlobalWorkerOptions;\n\n/***/ }),\n/* 136 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MessageHandler = undefined;\n\nvar _regenerator = __w_pdfjs_require__(137);\n\nvar _regenerator2 = _interopRequireDefault(_regenerator);\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar resolveCall = function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee(fn, args) {\n var thisArg = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n return _regenerator2.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (fn) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt('return');\n\n case 2:\n return _context.abrupt('return', fn.apply(thisArg, args));\n\n case 3:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n return function resolveCall(_x2, _x3) {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction wrapReason(reason) {\n if ((typeof reason === 'undefined' ? 'undefined' : _typeof(reason)) !== 'object') {\n return reason;\n }\n switch (reason.name) {\n case 'AbortException':\n return new _util.AbortException(reason.message);\n case 'MissingPDFException':\n return new _util.MissingPDFException(reason.message);\n case 'UnexpectedResponseException':\n return new _util.UnexpectedResponseException(reason.message, reason.status);\n default:\n return new _util.UnknownErrorException(reason.message, reason.details);\n }\n}\nfunction makeReasonSerializable(reason) {\n if (!(reason instanceof Error) || reason instanceof _util.AbortException || reason instanceof _util.MissingPDFException || reason instanceof _util.UnexpectedResponseException || reason instanceof _util.UnknownErrorException) {\n return reason;\n }\n return new _util.UnknownErrorException(reason.message, reason.toString());\n}\nfunction resolveOrReject(capability, success, reason) {\n if (success) {\n capability.resolve();\n } else {\n capability.reject(reason);\n }\n}\nfunction finalize(promise) {\n return Promise.resolve(promise).catch(function () {});\n}\nfunction MessageHandler(sourceName, targetName, comObj) {\n var _this = this;\n\n this.sourceName = sourceName;\n this.targetName = targetName;\n this.comObj = comObj;\n this.callbackId = 1;\n this.streamId = 1;\n this.postMessageTransfers = true;\n this.streamSinks = Object.create(null);\n this.streamControllers = Object.create(null);\n var callbacksCapabilities = this.callbacksCapabilities = Object.create(null);\n var ah = this.actionHandler = Object.create(null);\n this._onComObjOnMessage = function (event) {\n var data = event.data;\n if (data.targetName !== _this.sourceName) {\n return;\n }\n if (data.stream) {\n _this._processStreamMessage(data);\n } else if (data.isReply) {\n var callbackId = data.callbackId;\n if (data.callbackId in callbacksCapabilities) {\n var callback = callbacksCapabilities[callbackId];\n delete callbacksCapabilities[callbackId];\n if ('error' in data) {\n callback.reject(wrapReason(data.error));\n } else {\n callback.resolve(data.data);\n }\n } else {\n throw new Error('Cannot resolve callback ' + callbackId);\n }\n } else if (data.action in ah) {\n var action = ah[data.action];\n if (data.callbackId) {\n var _sourceName = _this.sourceName;\n var _targetName = data.sourceName;\n Promise.resolve().then(function () {\n return action[0].call(action[1], data.data);\n }).then(function (result) {\n comObj.postMessage({\n sourceName: _sourceName,\n targetName: _targetName,\n isReply: true,\n callbackId: data.callbackId,\n data: result\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: _sourceName,\n targetName: _targetName,\n isReply: true,\n callbackId: data.callbackId,\n error: makeReasonSerializable(reason)\n });\n });\n } else if (data.streamId) {\n _this._createStreamSink(data);\n } else {\n action[0].call(action[1], data.data);\n }\n } else {\n throw new Error('Unknown action from worker: ' + data.action);\n }\n };\n comObj.addEventListener('message', this._onComObjOnMessage);\n}\nMessageHandler.prototype = {\n on: function on(actionName, handler, scope) {\n var ah = this.actionHandler;\n if (ah[actionName]) {\n throw new Error('There is already an actionName called \"' + actionName + '\"');\n }\n ah[actionName] = [handler, scope];\n },\n send: function send(actionName, data, transfers) {\n var message = {\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data: data\n };\n this.postMessage(message, transfers);\n },\n sendWithPromise: function sendWithPromise(actionName, data, transfers) {\n var callbackId = this.callbackId++;\n var message = {\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data: data,\n callbackId: callbackId\n };\n var capability = (0, _util.createPromiseCapability)();\n this.callbacksCapabilities[callbackId] = capability;\n try {\n this.postMessage(message, transfers);\n } catch (e) {\n capability.reject(e);\n }\n return capability.promise;\n },\n sendWithStream: function sendWithStream(actionName, data, queueingStrategy, transfers) {\n var _this2 = this;\n\n var streamId = this.streamId++;\n var sourceName = this.sourceName;\n var targetName = this.targetName;\n return new _util.ReadableStream({\n start: function start(controller) {\n var startCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId] = {\n controller: controller,\n startCall: startCapability,\n isClosed: false\n };\n _this2.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n action: actionName,\n streamId: streamId,\n data: data,\n desiredSize: controller.desiredSize\n });\n return startCapability.promise;\n },\n pull: function pull(controller) {\n var pullCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId].pullCall = pullCapability;\n _this2.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: 'pull',\n streamId: streamId,\n desiredSize: controller.desiredSize\n });\n return pullCapability.promise;\n },\n cancel: function cancel(reason) {\n var cancelCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId].cancelCall = cancelCapability;\n _this2.streamControllers[streamId].isClosed = true;\n _this2.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: 'cancel',\n reason: reason,\n streamId: streamId\n });\n return cancelCapability.promise;\n }\n }, queueingStrategy);\n },\n _createStreamSink: function _createStreamSink(data) {\n var _this3 = this;\n\n var self = this;\n var action = this.actionHandler[data.action];\n var streamId = data.streamId;\n var desiredSize = data.desiredSize;\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var capability = (0, _util.createPromiseCapability)();\n var sendStreamRequest = function sendStreamRequest(_ref2) {\n var stream = _ref2.stream,\n chunk = _ref2.chunk,\n transfers = _ref2.transfers,\n success = _ref2.success,\n reason = _ref2.reason;\n\n _this3.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: stream,\n streamId: streamId,\n chunk: chunk,\n success: success,\n reason: reason\n }, transfers);\n };\n var streamSink = {\n enqueue: function enqueue(chunk) {\n var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var transfers = arguments[2];\n\n if (this.isCancelled) {\n return;\n }\n var lastDesiredSize = this.desiredSize;\n this.desiredSize -= size;\n if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n this.sinkCapability = (0, _util.createPromiseCapability)();\n this.ready = this.sinkCapability.promise;\n }\n sendStreamRequest({\n stream: 'enqueue',\n chunk: chunk,\n transfers: transfers\n });\n },\n close: function close() {\n if (this.isCancelled) {\n return;\n }\n this.isCancelled = true;\n sendStreamRequest({ stream: 'close' });\n delete self.streamSinks[streamId];\n },\n error: function error(reason) {\n if (this.isCancelled) {\n return;\n }\n this.isCancelled = true;\n sendStreamRequest({\n stream: 'error',\n reason: reason\n });\n },\n\n sinkCapability: capability,\n onPull: null,\n onCancel: null,\n isCancelled: false,\n desiredSize: desiredSize,\n ready: null\n };\n streamSink.sinkCapability.resolve();\n streamSink.ready = streamSink.sinkCapability.promise;\n this.streamSinks[streamId] = streamSink;\n resolveCall(action[0], [data.data, streamSink], action[1]).then(function () {\n sendStreamRequest({\n stream: 'start_complete',\n success: true\n });\n }, function (reason) {\n sendStreamRequest({\n stream: 'start_complete',\n success: false,\n reason: reason\n });\n });\n },\n _processStreamMessage: function _processStreamMessage(data) {\n var _this4 = this;\n\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var streamId = data.streamId;\n var sendStreamResponse = function sendStreamResponse(_ref3) {\n var stream = _ref3.stream,\n success = _ref3.success,\n reason = _ref3.reason;\n\n _this4.comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: stream,\n success: success,\n streamId: streamId,\n reason: reason\n });\n };\n var deleteStreamController = function deleteStreamController() {\n Promise.all([_this4.streamControllers[data.streamId].startCall, _this4.streamControllers[data.streamId].pullCall, _this4.streamControllers[data.streamId].cancelCall].map(function (capability) {\n return capability && finalize(capability.promise);\n })).then(function () {\n delete _this4.streamControllers[data.streamId];\n });\n };\n switch (data.stream) {\n case 'start_complete':\n resolveOrReject(this.streamControllers[data.streamId].startCall, data.success, wrapReason(data.reason));\n break;\n case 'pull_complete':\n resolveOrReject(this.streamControllers[data.streamId].pullCall, data.success, wrapReason(data.reason));\n break;\n case 'pull':\n if (!this.streamSinks[data.streamId]) {\n sendStreamResponse({\n stream: 'pull_complete',\n success: true\n });\n break;\n }\n if (this.streamSinks[data.streamId].desiredSize <= 0 && data.desiredSize > 0) {\n this.streamSinks[data.streamId].sinkCapability.resolve();\n }\n this.streamSinks[data.streamId].desiredSize = data.desiredSize;\n resolveCall(this.streamSinks[data.streamId].onPull).then(function () {\n sendStreamResponse({\n stream: 'pull_complete',\n success: true\n });\n }, function (reason) {\n sendStreamResponse({\n stream: 'pull_complete',\n success: false,\n reason: reason\n });\n });\n break;\n case 'enqueue':\n (0, _util.assert)(this.streamControllers[data.streamId], 'enqueue should have stream controller');\n if (!this.streamControllers[data.streamId].isClosed) {\n this.streamControllers[data.streamId].controller.enqueue(data.chunk);\n }\n break;\n case 'close':\n (0, _util.assert)(this.streamControllers[data.streamId], 'close should have stream controller');\n if (this.streamControllers[data.streamId].isClosed) {\n break;\n }\n this.streamControllers[data.streamId].isClosed = true;\n this.streamControllers[data.streamId].controller.close();\n deleteStreamController();\n break;\n case 'error':\n (0, _util.assert)(this.streamControllers[data.streamId], 'error should have stream controller');\n this.streamControllers[data.streamId].controller.error(wrapReason(data.reason));\n deleteStreamController();\n break;\n case 'cancel_complete':\n resolveOrReject(this.streamControllers[data.streamId].cancelCall, data.success, wrapReason(data.reason));\n deleteStreamController();\n break;\n case 'cancel':\n if (!this.streamSinks[data.streamId]) {\n break;\n }\n resolveCall(this.streamSinks[data.streamId].onCancel, [wrapReason(data.reason)]).then(function () {\n sendStreamResponse({\n stream: 'cancel_complete',\n success: true\n });\n }, function (reason) {\n sendStreamResponse({\n stream: 'cancel_complete',\n success: false,\n reason: reason\n });\n });\n this.streamSinks[data.streamId].sinkCapability.reject(wrapReason(data.reason));\n this.streamSinks[data.streamId].isCancelled = true;\n delete this.streamSinks[data.streamId];\n break;\n default:\n throw new Error('Unexpected stream case');\n }\n },\n postMessage: function postMessage(message, transfers) {\n if (transfers && this.postMessageTransfers) {\n this.comObj.postMessage(message, transfers);\n } else {\n this.comObj.postMessage(message);\n }\n },\n destroy: function destroy() {\n this.comObj.removeEventListener('message', this._onComObjOnMessage);\n }\n};\nexports.MessageHandler = MessageHandler;\n\n/***/ }),\n/* 137 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __w_pdfjs_require__(138);\n\n/***/ }),\n/* 138 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar g = function () {\n return this;\n}() || Function(\"return this\")();\nvar hadRuntime = g.regeneratorRuntime && Object.getOwnPropertyNames(g).indexOf(\"regeneratorRuntime\") >= 0;\nvar oldRuntime = hadRuntime && g.regeneratorRuntime;\ng.regeneratorRuntime = undefined;\nmodule.exports = __w_pdfjs_require__(139);\nif (hadRuntime) {\n g.regeneratorRuntime = oldRuntime;\n} else {\n try {\n delete g.regeneratorRuntime;\n } catch (e) {\n g.regeneratorRuntime = undefined;\n }\n}\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(module) {\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n!function (global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined;\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n var inModule = ( false ? undefined : _typeof(module)) === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n module.exports = runtime;\n }\n return;\n }\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n return generator;\n }\n runtime.wrap = wrap;\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n IteratorPrototype = NativeIteratorPrototype;\n }\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] = GeneratorFunction.displayName = \"GeneratorFunction\";\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n prototype[method] = function (arg) {\n return this._invoke(method, arg);\n };\n });\n }\n runtime.isGeneratorFunction = function (genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === \"GeneratorFunction\" : false;\n };\n runtime.mark = function (genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n runtime.awrap = function (arg) {\n return { __await: arg };\n };\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value && (typeof value === \"undefined\" ? \"undefined\" : _typeof(value)) === \"object\" && hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n return Promise.resolve(value).then(function (unwrapped) {\n result.value = unwrapped;\n resolve(result);\n }, reject);\n }\n }\n var previousPromise;\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n this._invoke = enqueue;\n }\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n runtime.async = function (innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList));\n return runtime.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n };\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n return doneResult();\n }\n context.method = method;\n context.arg = arg;\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (context.method === \"next\") {\n context.sent = context._sent = context.arg;\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n context.dispatchException(context.arg);\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n state = GenStateExecuting;\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n state = context.done ? GenStateCompleted : GenStateSuspendedYield;\n if (record.arg === ContinueSentinel) {\n continue;\n }\n return {\n value: record.arg,\n done: context.done\n };\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n context.delegate = null;\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n if (context.method === \"throw\") {\n return ContinueSentinel;\n }\n }\n context.method = \"throw\";\n context.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }\n return ContinueSentinel;\n }\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n var info = record.arg;\n if (!info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n if (info.done) {\n context[delegate.resultName] = info.value;\n context.next = delegate.nextLoc;\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n } else {\n return info;\n }\n context.delegate = null;\n return ContinueSentinel;\n }\n defineIteratorMethods(Gp);\n Gp[toStringTagSymbol] = \"Generator\";\n Gp[iteratorSymbol] = function () {\n return this;\n };\n Gp.toString = function () {\n return \"[object Generator]\";\n };\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n runtime.keys = function (object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n next.done = true;\n return next;\n };\n };\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n next.value = undefined;\n next.done = true;\n return next;\n };\n return next.next = next;\n }\n }\n return { next: doneResult };\n }\n runtime.values = values;\n function doneResult() {\n return {\n value: undefined,\n done: true\n };\n }\n Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n this.method = \"next\";\n this.arg = undefined;\n this.tryEntries.forEach(resetTryEntry);\n if (!skipTempReset) {\n for (var name in this) {\n if (name.charAt(0) === \"t\" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n stop: function stop() {\n this.done = true;\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) {\n throw exception;\n }\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n if (caught) {\n context.method = \"next\";\n context.arg = undefined;\n }\n return !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n if (entry.tryLoc === \"root\") {\n return handle(\"end\");\n }\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n if (finallyEntry && (type === \"break\" || type === \"continue\") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {\n finallyEntry = null;\n }\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n return this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n if (record.type === \"break\" || record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n return ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n if (this.method === \"next\") {\n this.arg = undefined;\n }\n return ContinueSentinel;\n }\n };\n}(function () {\n return this;\n}() || Function(\"return this\")());\n/* WEBPACK VAR INJECTION */}.call(this, __w_pdfjs_require__(140)(module)))\n\n/***/ }),\n/* 140 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (module) {\n if (!module.webpackPolyfill) {\n module.deprecate = function () {};\n module.paths = [];\n if (!module.children) module.children = [];\n Object.defineProperty(module, \"loaded\", {\n enumerable: true,\n get: function get() {\n return module.l;\n }\n });\n Object.defineProperty(module, \"id\", {\n enumerable: true,\n get: function get() {\n return module.i;\n }\n });\n module.webpackPolyfill = 1;\n }\n return module;\n};\n\n/***/ }),\n/* 141 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Metadata = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _xml_parser = __w_pdfjs_require__(142);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Metadata = function () {\n function Metadata(data) {\n _classCallCheck(this, Metadata);\n\n (0, _util.assert)(typeof data === 'string', 'Metadata: input is not a string');\n data = this._repair(data);\n var parser = new _xml_parser.SimpleXMLParser();\n var xmlDocument = parser.parseFromString(data);\n this._metadata = Object.create(null);\n if (xmlDocument) {\n this._parse(xmlDocument);\n }\n }\n\n _createClass(Metadata, [{\n key: '_repair',\n value: function _repair(data) {\n return data.replace(/>\\\\376\\\\377([^<]+)/g, function (all, codes) {\n var bytes = codes.replace(/\\\\([0-3])([0-7])([0-7])/g, function (code, d1, d2, d3) {\n return String.fromCharCode(d1 * 64 + d2 * 8 + d3 * 1);\n }).replace(/&(amp|apos|gt|lt|quot);/g, function (str, name) {\n switch (name) {\n case 'amp':\n return '&';\n case 'apos':\n return '\\'';\n case 'gt':\n return '>';\n case 'lt':\n return '<';\n case 'quot':\n return '\\\"';\n }\n throw new Error('_repair: ' + name + ' isn\\'t defined.');\n });\n var chars = '';\n for (var i = 0, ii = bytes.length; i < ii; i += 2) {\n var code = bytes.charCodeAt(i) * 256 + bytes.charCodeAt(i + 1);\n if (code >= 32 && code < 127 && code !== 60 && code !== 62 && code !== 38) {\n chars += String.fromCharCode(code);\n } else {\n chars += '&#x' + (0x10000 + code).toString(16).substring(1) + ';';\n }\n }\n return '>' + chars;\n });\n }\n }, {\n key: '_parse',\n value: function _parse(xmlDocument) {\n var rdf = xmlDocument.documentElement;\n if (rdf.nodeName.toLowerCase() !== 'rdf:rdf') {\n rdf = rdf.firstChild;\n while (rdf && rdf.nodeName.toLowerCase() !== 'rdf:rdf') {\n rdf = rdf.nextSibling;\n }\n }\n var nodeName = rdf ? rdf.nodeName.toLowerCase() : null;\n if (!rdf || nodeName !== 'rdf:rdf' || !rdf.hasChildNodes()) {\n return;\n }\n var children = rdf.childNodes;\n for (var i = 0, ii = children.length; i < ii; i++) {\n var desc = children[i];\n if (desc.nodeName.toLowerCase() !== 'rdf:description') {\n continue;\n }\n for (var j = 0, jj = desc.childNodes.length; j < jj; j++) {\n if (desc.childNodes[j].nodeName.toLowerCase() !== '#text') {\n var entry = desc.childNodes[j];\n var name = entry.nodeName.toLowerCase();\n this._metadata[name] = entry.textContent.trim();\n }\n }\n }\n }\n }, {\n key: 'get',\n value: function get(name) {\n return this._metadata[name] || null;\n }\n }, {\n key: 'getAll',\n value: function getAll() {\n return this._metadata;\n }\n }, {\n key: 'has',\n value: function has(name) {\n return typeof this._metadata[name] !== 'undefined';\n }\n }]);\n\n return Metadata;\n}();\n\nexports.Metadata = Metadata;\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar XMLParserErrorCode = {\n NoError: 0,\n EndOfDocument: -1,\n UnterminatedCdat: -2,\n UnterminatedXmlDeclaration: -3,\n UnterminatedDoctypeDeclaration: -4,\n UnterminatedComment: -5,\n MalformedElement: -6,\n OutOfMemory: -7,\n UnterminatedAttributeValue: -8,\n UnterminatedElement: -9,\n ElementNeverBegun: -10\n};\nfunction isWhitespace(s, index) {\n var ch = s[index];\n return ch === ' ' || ch === '\\n' || ch === '\\r' || ch === '\\t';\n}\nfunction isWhitespaceString(s) {\n for (var i = 0, ii = s.length; i < ii; i++) {\n if (!isWhitespace(s, i)) {\n return false;\n }\n }\n return true;\n}\n\nvar XMLParserBase = function () {\n function XMLParserBase() {\n _classCallCheck(this, XMLParserBase);\n }\n\n _createClass(XMLParserBase, [{\n key: '_resolveEntities',\n value: function _resolveEntities(s) {\n return s.replace(/&([^;]+);/g, function (all, entity) {\n if (entity.substring(0, 2) === '#x') {\n return String.fromCharCode(parseInt(entity.substring(2), 16));\n } else if (entity.substring(0, 1) === '#') {\n return String.fromCharCode(parseInt(entity.substring(1), 10));\n }\n switch (entity) {\n case 'lt':\n return '<';\n case 'gt':\n return '>';\n case 'amp':\n return '&';\n case 'quot':\n return '\\\"';\n }\n return this.onResolveEntity(entity);\n });\n }\n }, {\n key: '_parseContent',\n value: function _parseContent(s, start) {\n var pos = start,\n name = void 0,\n attributes = [];\n function skipWs() {\n while (pos < s.length && isWhitespace(s, pos)) {\n ++pos;\n }\n }\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== '>' && s[pos] !== '/') {\n ++pos;\n }\n name = s.substring(start, pos);\n skipWs();\n while (pos < s.length && s[pos] !== '>' && s[pos] !== '/' && s[pos] !== '?') {\n skipWs();\n var attrName = '',\n attrValue = '';\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== '=') {\n attrName += s[pos];\n ++pos;\n }\n skipWs();\n if (s[pos] !== '=') {\n return null;\n }\n ++pos;\n skipWs();\n var attrEndChar = s[pos];\n if (attrEndChar !== '\\\"' && attrEndChar !== '\\'') {\n return null;\n }\n var attrEndIndex = s.indexOf(attrEndChar, ++pos);\n if (attrEndIndex < 0) {\n return null;\n }\n attrValue = s.substring(pos, attrEndIndex);\n attributes.push({\n name: attrName,\n value: this._resolveEntities(attrValue)\n });\n pos = attrEndIndex + 1;\n skipWs();\n }\n return {\n name: name,\n attributes: attributes,\n parsed: pos - start\n };\n }\n }, {\n key: '_parseProcessingInstruction',\n value: function _parseProcessingInstruction(s, start) {\n var pos = start,\n name = void 0,\n value = void 0;\n function skipWs() {\n while (pos < s.length && isWhitespace(s, pos)) {\n ++pos;\n }\n }\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== '>' && s[pos] !== '/') {\n ++pos;\n }\n name = s.substring(start, pos);\n skipWs();\n var attrStart = pos;\n while (pos < s.length && (s[pos] !== '?' || s[pos + 1] !== '>')) {\n ++pos;\n }\n value = s.substring(attrStart, pos);\n return {\n name: name,\n value: value,\n parsed: pos - start\n };\n }\n }, {\n key: 'parseXml',\n value: function parseXml(s) {\n var i = 0;\n while (i < s.length) {\n var ch = s[i];\n var j = i;\n if (ch === '<') {\n ++j;\n var ch2 = s[j];\n var q = void 0;\n switch (ch2) {\n case '/':\n ++j;\n q = s.indexOf('>', j);\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedElement);\n return;\n }\n this.onEndElement(s.substring(j, q));\n j = q + 1;\n break;\n case '?':\n ++j;\n var pi = this._parseProcessingInstruction(s, j);\n if (s.substring(j + pi.parsed, j + pi.parsed + 2) !== '?>') {\n this.onError(XMLParserErrorCode.UnterminatedXmlDeclaration);\n return;\n }\n this.onPi(pi.name, pi.value);\n j += pi.parsed + 2;\n break;\n case '!':\n if (s.substring(j + 1, j + 3) === '--') {\n q = s.indexOf('-->', j + 3);\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedComment);\n return;\n }\n this.onComment(s.substring(j + 3, q));\n j = q + 3;\n } else if (s.substring(j + 1, j + 8) === '[CDATA[') {\n q = s.indexOf(']]>', j + 8);\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedCdat);\n return;\n }\n this.onCdata(s.substring(j + 8, q));\n j = q + 3;\n } else if (s.substring(j + 1, j + 8) === 'DOCTYPE') {\n var q2 = s.indexOf('[', j + 8);\n var complexDoctype = false;\n q = s.indexOf('>', j + 8);\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n return;\n }\n if (q2 > 0 && q > q2) {\n q = s.indexOf(']>', j + 8);\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n return;\n }\n complexDoctype = true;\n }\n var doctypeContent = s.substring(j + 8, q + (complexDoctype ? 1 : 0));\n this.onDoctype(doctypeContent);\n j = q + (complexDoctype ? 2 : 1);\n } else {\n this.onError(XMLParserErrorCode.MalformedElement);\n return;\n }\n break;\n default:\n var content = this._parseContent(s, j);\n if (content === null) {\n this.onError(XMLParserErrorCode.MalformedElement);\n return;\n }\n var isClosed = false;\n if (s.substring(j + content.parsed, j + content.parsed + 2) === '/>') {\n isClosed = true;\n } else if (s.substring(j + content.parsed, j + content.parsed + 1) !== '>') {\n this.onError(XMLParserErrorCode.UnterminatedElement);\n return;\n }\n this.onBeginElement(content.name, content.attributes, isClosed);\n j += content.parsed + (isClosed ? 2 : 1);\n break;\n }\n } else {\n while (j < s.length && s[j] !== '<') {\n j++;\n }\n var text = s.substring(i, j);\n this.onText(this._resolveEntities(text));\n }\n i = j;\n }\n }\n }, {\n key: 'onResolveEntity',\n value: function onResolveEntity(name) {\n return '&' + name + ';';\n }\n }, {\n key: 'onPi',\n value: function onPi(name, value) {}\n }, {\n key: 'onComment',\n value: function onComment(text) {}\n }, {\n key: 'onCdata',\n value: function onCdata(text) {}\n }, {\n key: 'onDoctype',\n value: function onDoctype(doctypeContent) {}\n }, {\n key: 'onText',\n value: function onText(text) {}\n }, {\n key: 'onBeginElement',\n value: function onBeginElement(name, attributes, isEmpty) {}\n }, {\n key: 'onEndElement',\n value: function onEndElement(name) {}\n }, {\n key: 'onError',\n value: function onError(code) {}\n }]);\n\n return XMLParserBase;\n}();\n\nvar SimpleDOMNode = function () {\n function SimpleDOMNode(nodeName, nodeValue) {\n _classCallCheck(this, SimpleDOMNode);\n\n this.nodeName = nodeName;\n this.nodeValue = nodeValue;\n Object.defineProperty(this, 'parentNode', {\n value: null,\n writable: true\n });\n }\n\n _createClass(SimpleDOMNode, [{\n key: 'hasChildNodes',\n value: function hasChildNodes() {\n return this.childNodes && this.childNodes.length > 0;\n }\n }, {\n key: 'firstChild',\n get: function get() {\n return this.childNodes[0];\n }\n }, {\n key: 'nextSibling',\n get: function get() {\n var index = this.parentNode.childNodes.indexOf(this);\n return this.parentNode.childNodes[index + 1];\n }\n }, {\n key: 'textContent',\n get: function get() {\n if (!this.childNodes) {\n return this.nodeValue || '';\n }\n return this.childNodes.map(function (child) {\n return child.textContent;\n }).join('');\n }\n }]);\n\n return SimpleDOMNode;\n}();\n\nvar SimpleXMLParser = function (_XMLParserBase) {\n _inherits(SimpleXMLParser, _XMLParserBase);\n\n function SimpleXMLParser() {\n _classCallCheck(this, SimpleXMLParser);\n\n var _this = _possibleConstructorReturn(this, (SimpleXMLParser.__proto__ || Object.getPrototypeOf(SimpleXMLParser)).call(this));\n\n _this._currentFragment = null;\n _this._stack = null;\n _this._errorCode = XMLParserErrorCode.NoError;\n return _this;\n }\n\n _createClass(SimpleXMLParser, [{\n key: 'parseFromString',\n value: function parseFromString(data) {\n this._currentFragment = [];\n this._stack = [];\n this._errorCode = XMLParserErrorCode.NoError;\n this.parseXml(data);\n if (this._errorCode !== XMLParserErrorCode.NoError) {\n return undefined;\n }\n\n var _currentFragment = _slicedToArray(this._currentFragment, 1),\n documentElement = _currentFragment[0];\n\n if (!documentElement) {\n return undefined;\n }\n return { documentElement: documentElement };\n }\n }, {\n key: 'onResolveEntity',\n value: function onResolveEntity(name) {\n switch (name) {\n case 'apos':\n return '\\'';\n }\n return _get(SimpleXMLParser.prototype.__proto__ || Object.getPrototypeOf(SimpleXMLParser.prototype), 'onResolveEntity', this).call(this, name);\n }\n }, {\n key: 'onText',\n value: function onText(text) {\n if (isWhitespaceString(text)) {\n return;\n }\n var node = new SimpleDOMNode('#text', text);\n this._currentFragment.push(node);\n }\n }, {\n key: 'onCdata',\n value: function onCdata(text) {\n var node = new SimpleDOMNode('#text', text);\n this._currentFragment.push(node);\n }\n }, {\n key: 'onBeginElement',\n value: function onBeginElement(name, attributes, isEmpty) {\n var node = new SimpleDOMNode(name);\n node.childNodes = [];\n this._currentFragment.push(node);\n if (isEmpty) {\n return;\n }\n this._stack.push(this._currentFragment);\n this._currentFragment = node.childNodes;\n }\n }, {\n key: 'onEndElement',\n value: function onEndElement(name) {\n this._currentFragment = this._stack.pop();\n var lastElement = this._currentFragment[this._currentFragment.length - 1];\n for (var i = 0, ii = lastElement.childNodes.length; i < ii; i++) {\n lastElement.childNodes[i].parentNode = lastElement;\n }\n }\n }, {\n key: 'onError',\n value: function onError(code) {\n this._errorCode = code;\n }\n }]);\n\n return SimpleXMLParser;\n}(XMLParserBase);\n\nexports.SimpleXMLParser = SimpleXMLParser;\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFDataTransportStream = undefined;\n\nvar _regenerator = __w_pdfjs_require__(137);\n\nvar _regenerator2 = _interopRequireDefault(_regenerator);\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar PDFDataTransportStream = function PDFDataTransportStreamClosure() {\n function PDFDataTransportStream(params, pdfDataRangeTransport) {\n var _this = this;\n\n (0, _util.assert)(pdfDataRangeTransport);\n this._queuedChunks = [];\n var initialData = params.initialData;\n if (initialData && initialData.length > 0) {\n var buffer = new Uint8Array(initialData).buffer;\n this._queuedChunks.push(buffer);\n }\n this._pdfDataRangeTransport = pdfDataRangeTransport;\n this._isStreamingSupported = !params.disableStream;\n this._isRangeSupported = !params.disableRange;\n this._contentLength = params.length;\n this._fullRequestReader = null;\n this._rangeReaders = [];\n this._pdfDataRangeTransport.addRangeListener(function (begin, chunk) {\n _this._onReceiveData({\n begin: begin,\n chunk: chunk\n });\n });\n this._pdfDataRangeTransport.addProgressListener(function (loaded) {\n _this._onProgress({ loaded: loaded });\n });\n this._pdfDataRangeTransport.addProgressiveReadListener(function (chunk) {\n _this._onReceiveData({ chunk: chunk });\n });\n this._pdfDataRangeTransport.transportReady();\n }\n PDFDataTransportStream.prototype = {\n _onReceiveData: function PDFDataTransportStream_onReceiveData(args) {\n var buffer = new Uint8Array(args.chunk).buffer;\n if (args.begin === undefined) {\n if (this._fullRequestReader) {\n this._fullRequestReader._enqueue(buffer);\n } else {\n this._queuedChunks.push(buffer);\n }\n } else {\n var found = this._rangeReaders.some(function (rangeReader) {\n if (rangeReader._begin !== args.begin) {\n return false;\n }\n rangeReader._enqueue(buffer);\n return true;\n });\n (0, _util.assert)(found);\n }\n },\n _onProgress: function PDFDataTransportStream_onDataProgress(evt) {\n if (this._rangeReaders.length > 0) {\n var firstReader = this._rangeReaders[0];\n if (firstReader.onProgress) {\n firstReader.onProgress({ loaded: evt.loaded });\n }\n }\n },\n _removeRangeReader: function PDFDataTransportStream_removeRangeReader(reader) {\n var i = this._rangeReaders.indexOf(reader);\n if (i >= 0) {\n this._rangeReaders.splice(i, 1);\n }\n },\n getFullReader: function PDFDataTransportStream_getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n var queuedChunks = this._queuedChunks;\n this._queuedChunks = null;\n return new PDFDataTransportStreamReader(this, queuedChunks);\n },\n getRangeReader: function PDFDataTransportStream_getRangeReader(begin, end) {\n var reader = new PDFDataTransportStreamRangeReader(this, begin, end);\n this._pdfDataRangeTransport.requestDataRange(begin, end);\n this._rangeReaders.push(reader);\n return reader;\n },\n cancelAllRequests: function PDFDataTransportStream_cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n var readers = this._rangeReaders.slice(0);\n readers.forEach(function (rangeReader) {\n rangeReader.cancel(reason);\n });\n this._pdfDataRangeTransport.abort();\n }\n };\n function PDFDataTransportStreamReader(stream, queuedChunks) {\n this._stream = stream;\n this._done = false;\n this._filename = null;\n this._queuedChunks = queuedChunks || [];\n this._requests = [];\n this._headersReady = Promise.resolve();\n stream._fullRequestReader = this;\n this.onProgress = null;\n }\n PDFDataTransportStreamReader.prototype = {\n _enqueue: function PDFDataTransportStreamReader_enqueue(chunk) {\n if (this._done) {\n return;\n }\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n return;\n }\n this._queuedChunks.push(chunk);\n },\n get headersReady() {\n return this._headersReady;\n },\n get filename() {\n return this._filename;\n },\n get isRangeSupported() {\n return this._stream._isRangeSupported;\n },\n get isStreamingSupported() {\n return this._stream._isStreamingSupported;\n },\n get contentLength() {\n return this._stream._contentLength;\n },\n read: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee() {\n var chunk, requestCapability;\n return _regenerator2.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(this._queuedChunks.length > 0)) {\n _context.next = 3;\n break;\n }\n\n chunk = this._queuedChunks.shift();\n return _context.abrupt('return', {\n value: chunk,\n done: false\n });\n\n case 3:\n if (!this._done) {\n _context.next = 5;\n break;\n }\n\n return _context.abrupt('return', {\n value: undefined,\n done: true\n });\n\n case 5:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n return _context.abrupt('return', requestCapability.promise);\n\n case 8:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _ref.apply(this, arguments);\n }\n\n return read;\n }(),\n\n cancel: function PDFDataTransportStreamReader_cancel(reason) {\n this._done = true;\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n }\n };\n function PDFDataTransportStreamRangeReader(stream, begin, end) {\n this._stream = stream;\n this._begin = begin;\n this._end = end;\n this._queuedChunk = null;\n this._requests = [];\n this._done = false;\n this.onProgress = null;\n }\n PDFDataTransportStreamRangeReader.prototype = {\n _enqueue: function PDFDataTransportStreamRangeReader_enqueue(chunk) {\n if (this._done) {\n return;\n }\n if (this._requests.length === 0) {\n this._queuedChunk = chunk;\n } else {\n var requestsCapability = this._requests.shift();\n requestsCapability.resolve({\n value: chunk,\n done: false\n });\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n }\n this._done = true;\n this._stream._removeRangeReader(this);\n },\n get isStreamingSupported() {\n return false;\n },\n read: function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee2() {\n var chunk, requestCapability;\n return _regenerator2.default.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!this._queuedChunk) {\n _context2.next = 4;\n break;\n }\n\n chunk = this._queuedChunk;\n\n this._queuedChunk = null;\n return _context2.abrupt('return', {\n value: chunk,\n done: false\n });\n\n case 4:\n if (!this._done) {\n _context2.next = 6;\n break;\n }\n\n return _context2.abrupt('return', {\n value: undefined,\n done: true\n });\n\n case 6:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n return _context2.abrupt('return', requestCapability.promise);\n\n case 9:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _ref2.apply(this, arguments);\n }\n\n return read;\n }(),\n\n cancel: function PDFDataTransportStreamRangeReader_cancel(reason) {\n this._done = true;\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n this._stream._removeRangeReader(this);\n }\n };\n return PDFDataTransportStream;\n}();\nexports.PDFDataTransportStream = PDFDataTransportStream;\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.WebGLContext = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar WebGLContext = function () {\n function WebGLContext(_ref) {\n var _ref$enable = _ref.enable,\n enable = _ref$enable === undefined ? false : _ref$enable;\n\n _classCallCheck(this, WebGLContext);\n\n this._enabled = enable === true;\n }\n\n _createClass(WebGLContext, [{\n key: 'composeSMask',\n value: function composeSMask(_ref2) {\n var layer = _ref2.layer,\n mask = _ref2.mask,\n properties = _ref2.properties;\n\n return WebGLUtils.composeSMask(layer, mask, properties);\n }\n }, {\n key: 'drawFigures',\n value: function drawFigures(_ref3) {\n var width = _ref3.width,\n height = _ref3.height,\n backgroundColor = _ref3.backgroundColor,\n figures = _ref3.figures,\n context = _ref3.context;\n\n return WebGLUtils.drawFigures(width, height, backgroundColor, figures, context);\n }\n }, {\n key: 'clear',\n value: function clear() {\n WebGLUtils.cleanup();\n }\n }, {\n key: 'isEnabled',\n get: function get() {\n var enabled = this._enabled;\n if (enabled) {\n enabled = WebGLUtils.tryInitGL();\n }\n return (0, _util.shadow)(this, 'isEnabled', enabled);\n }\n }]);\n\n return WebGLContext;\n}();\n\nvar WebGLUtils = function WebGLUtilsClosure() {\n function loadShader(gl, code, shaderType) {\n var shader = gl.createShader(shaderType);\n gl.shaderSource(shader, code);\n gl.compileShader(shader);\n var compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS);\n if (!compiled) {\n var errorMsg = gl.getShaderInfoLog(shader);\n throw new Error('Error during shader compilation: ' + errorMsg);\n }\n return shader;\n }\n function createVertexShader(gl, code) {\n return loadShader(gl, code, gl.VERTEX_SHADER);\n }\n function createFragmentShader(gl, code) {\n return loadShader(gl, code, gl.FRAGMENT_SHADER);\n }\n function createProgram(gl, shaders) {\n var program = gl.createProgram();\n for (var i = 0, ii = shaders.length; i < ii; ++i) {\n gl.attachShader(program, shaders[i]);\n }\n gl.linkProgram(program);\n var linked = gl.getProgramParameter(program, gl.LINK_STATUS);\n if (!linked) {\n var errorMsg = gl.getProgramInfoLog(program);\n throw new Error('Error during program linking: ' + errorMsg);\n }\n return program;\n }\n function createTexture(gl, image, textureId) {\n gl.activeTexture(textureId);\n var texture = gl.createTexture();\n gl.bindTexture(gl.TEXTURE_2D, texture);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);\n return texture;\n }\n var currentGL, currentCanvas;\n function generateGL() {\n if (currentGL) {\n return;\n }\n currentCanvas = document.createElement('canvas');\n currentGL = currentCanvas.getContext('webgl', { premultipliedalpha: false });\n }\n var smaskVertexShaderCode = '\\\n attribute vec2 a_position; \\\n attribute vec2 a_texCoord; \\\n \\\n uniform vec2 u_resolution; \\\n \\\n varying vec2 v_texCoord; \\\n \\\n void main() { \\\n vec2 clipSpace = (a_position / u_resolution) * 2.0 - 1.0; \\\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \\\n \\\n v_texCoord = a_texCoord; \\\n } ';\n var smaskFragmentShaderCode = '\\\n precision mediump float; \\\n \\\n uniform vec4 u_backdrop; \\\n uniform int u_subtype; \\\n uniform sampler2D u_image; \\\n uniform sampler2D u_mask; \\\n \\\n varying vec2 v_texCoord; \\\n \\\n void main() { \\\n vec4 imageColor = texture2D(u_image, v_texCoord); \\\n vec4 maskColor = texture2D(u_mask, v_texCoord); \\\n if (u_backdrop.a > 0.0) { \\\n maskColor.rgb = maskColor.rgb * maskColor.a + \\\n u_backdrop.rgb * (1.0 - maskColor.a); \\\n } \\\n float lum; \\\n if (u_subtype == 0) { \\\n lum = maskColor.a; \\\n } else { \\\n lum = maskColor.r * 0.3 + maskColor.g * 0.59 + \\\n maskColor.b * 0.11; \\\n } \\\n imageColor.a *= lum; \\\n imageColor.rgb *= imageColor.a; \\\n gl_FragColor = imageColor; \\\n } ';\n var smaskCache = null;\n function initSmaskGL() {\n var canvas, gl;\n generateGL();\n canvas = currentCanvas;\n currentCanvas = null;\n gl = currentGL;\n currentGL = null;\n var vertexShader = createVertexShader(gl, smaskVertexShaderCode);\n var fragmentShader = createFragmentShader(gl, smaskFragmentShaderCode);\n var program = createProgram(gl, [vertexShader, fragmentShader]);\n gl.useProgram(program);\n var cache = {};\n cache.gl = gl;\n cache.canvas = canvas;\n cache.resolutionLocation = gl.getUniformLocation(program, 'u_resolution');\n cache.positionLocation = gl.getAttribLocation(program, 'a_position');\n cache.backdropLocation = gl.getUniformLocation(program, 'u_backdrop');\n cache.subtypeLocation = gl.getUniformLocation(program, 'u_subtype');\n var texCoordLocation = gl.getAttribLocation(program, 'a_texCoord');\n var texLayerLocation = gl.getUniformLocation(program, 'u_image');\n var texMaskLocation = gl.getUniformLocation(program, 'u_mask');\n var texCoordBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, texCoordBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0]), gl.STATIC_DRAW);\n gl.enableVertexAttribArray(texCoordLocation);\n gl.vertexAttribPointer(texCoordLocation, 2, gl.FLOAT, false, 0, 0);\n gl.uniform1i(texLayerLocation, 0);\n gl.uniform1i(texMaskLocation, 1);\n smaskCache = cache;\n }\n function composeSMask(layer, mask, properties) {\n var width = layer.width,\n height = layer.height;\n if (!smaskCache) {\n initSmaskGL();\n }\n var cache = smaskCache,\n canvas = cache.canvas,\n gl = cache.gl;\n canvas.width = width;\n canvas.height = height;\n gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n gl.uniform2f(cache.resolutionLocation, width, height);\n if (properties.backdrop) {\n gl.uniform4f(cache.resolutionLocation, properties.backdrop[0], properties.backdrop[1], properties.backdrop[2], 1);\n } else {\n gl.uniform4f(cache.resolutionLocation, 0, 0, 0, 0);\n }\n gl.uniform1i(cache.subtypeLocation, properties.subtype === 'Luminosity' ? 1 : 0);\n var texture = createTexture(gl, layer, gl.TEXTURE0);\n var maskTexture = createTexture(gl, mask, gl.TEXTURE1);\n var buffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0, 0, width, 0, 0, height, 0, height, width, 0, width, height]), gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.positionLocation);\n gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n gl.clearColor(0, 0, 0, 0);\n gl.enable(gl.BLEND);\n gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);\n gl.clear(gl.COLOR_BUFFER_BIT);\n gl.drawArrays(gl.TRIANGLES, 0, 6);\n gl.flush();\n gl.deleteTexture(texture);\n gl.deleteTexture(maskTexture);\n gl.deleteBuffer(buffer);\n return canvas;\n }\n var figuresVertexShaderCode = '\\\n attribute vec2 a_position; \\\n attribute vec3 a_color; \\\n \\\n uniform vec2 u_resolution; \\\n uniform vec2 u_scale; \\\n uniform vec2 u_offset; \\\n \\\n varying vec4 v_color; \\\n \\\n void main() { \\\n vec2 position = (a_position + u_offset) * u_scale; \\\n vec2 clipSpace = (position / u_resolution) * 2.0 - 1.0; \\\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \\\n \\\n v_color = vec4(a_color / 255.0, 1.0); \\\n } ';\n var figuresFragmentShaderCode = '\\\n precision mediump float; \\\n \\\n varying vec4 v_color; \\\n \\\n void main() { \\\n gl_FragColor = v_color; \\\n } ';\n var figuresCache = null;\n function initFiguresGL() {\n var canvas, gl;\n generateGL();\n canvas = currentCanvas;\n currentCanvas = null;\n gl = currentGL;\n currentGL = null;\n var vertexShader = createVertexShader(gl, figuresVertexShaderCode);\n var fragmentShader = createFragmentShader(gl, figuresFragmentShaderCode);\n var program = createProgram(gl, [vertexShader, fragmentShader]);\n gl.useProgram(program);\n var cache = {};\n cache.gl = gl;\n cache.canvas = canvas;\n cache.resolutionLocation = gl.getUniformLocation(program, 'u_resolution');\n cache.scaleLocation = gl.getUniformLocation(program, 'u_scale');\n cache.offsetLocation = gl.getUniformLocation(program, 'u_offset');\n cache.positionLocation = gl.getAttribLocation(program, 'a_position');\n cache.colorLocation = gl.getAttribLocation(program, 'a_color');\n figuresCache = cache;\n }\n function drawFigures(width, height, backgroundColor, figures, context) {\n if (!figuresCache) {\n initFiguresGL();\n }\n var cache = figuresCache,\n canvas = cache.canvas,\n gl = cache.gl;\n canvas.width = width;\n canvas.height = height;\n gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n gl.uniform2f(cache.resolutionLocation, width, height);\n var count = 0;\n var i, ii, rows;\n for (i = 0, ii = figures.length; i < ii; i++) {\n switch (figures[i].type) {\n case 'lattice':\n rows = figures[i].coords.length / figures[i].verticesPerRow | 0;\n count += (rows - 1) * (figures[i].verticesPerRow - 1) * 6;\n break;\n case 'triangles':\n count += figures[i].coords.length;\n break;\n }\n }\n var coords = new Float32Array(count * 2);\n var colors = new Uint8Array(count * 3);\n var coordsMap = context.coords,\n colorsMap = context.colors;\n var pIndex = 0,\n cIndex = 0;\n for (i = 0, ii = figures.length; i < ii; i++) {\n var figure = figures[i],\n ps = figure.coords,\n cs = figure.colors;\n switch (figure.type) {\n case 'lattice':\n var cols = figure.verticesPerRow;\n rows = ps.length / cols | 0;\n for (var row = 1; row < rows; row++) {\n var offset = row * cols + 1;\n for (var col = 1; col < cols; col++, offset++) {\n coords[pIndex] = coordsMap[ps[offset - cols - 1]];\n coords[pIndex + 1] = coordsMap[ps[offset - cols - 1] + 1];\n coords[pIndex + 2] = coordsMap[ps[offset - cols]];\n coords[pIndex + 3] = coordsMap[ps[offset - cols] + 1];\n coords[pIndex + 4] = coordsMap[ps[offset - 1]];\n coords[pIndex + 5] = coordsMap[ps[offset - 1] + 1];\n colors[cIndex] = colorsMap[cs[offset - cols - 1]];\n colors[cIndex + 1] = colorsMap[cs[offset - cols - 1] + 1];\n colors[cIndex + 2] = colorsMap[cs[offset - cols - 1] + 2];\n colors[cIndex + 3] = colorsMap[cs[offset - cols]];\n colors[cIndex + 4] = colorsMap[cs[offset - cols] + 1];\n colors[cIndex + 5] = colorsMap[cs[offset - cols] + 2];\n colors[cIndex + 6] = colorsMap[cs[offset - 1]];\n colors[cIndex + 7] = colorsMap[cs[offset - 1] + 1];\n colors[cIndex + 8] = colorsMap[cs[offset - 1] + 2];\n coords[pIndex + 6] = coords[pIndex + 2];\n coords[pIndex + 7] = coords[pIndex + 3];\n coords[pIndex + 8] = coords[pIndex + 4];\n coords[pIndex + 9] = coords[pIndex + 5];\n coords[pIndex + 10] = coordsMap[ps[offset]];\n coords[pIndex + 11] = coordsMap[ps[offset] + 1];\n colors[cIndex + 9] = colors[cIndex + 3];\n colors[cIndex + 10] = colors[cIndex + 4];\n colors[cIndex + 11] = colors[cIndex + 5];\n colors[cIndex + 12] = colors[cIndex + 6];\n colors[cIndex + 13] = colors[cIndex + 7];\n colors[cIndex + 14] = colors[cIndex + 8];\n colors[cIndex + 15] = colorsMap[cs[offset]];\n colors[cIndex + 16] = colorsMap[cs[offset] + 1];\n colors[cIndex + 17] = colorsMap[cs[offset] + 2];\n pIndex += 12;\n cIndex += 18;\n }\n }\n break;\n case 'triangles':\n for (var j = 0, jj = ps.length; j < jj; j++) {\n coords[pIndex] = coordsMap[ps[j]];\n coords[pIndex + 1] = coordsMap[ps[j] + 1];\n colors[cIndex] = colorsMap[cs[j]];\n colors[cIndex + 1] = colorsMap[cs[j] + 1];\n colors[cIndex + 2] = colorsMap[cs[j] + 2];\n pIndex += 2;\n cIndex += 3;\n }\n break;\n }\n }\n if (backgroundColor) {\n gl.clearColor(backgroundColor[0] / 255, backgroundColor[1] / 255, backgroundColor[2] / 255, 1.0);\n } else {\n gl.clearColor(0, 0, 0, 0);\n }\n gl.clear(gl.COLOR_BUFFER_BIT);\n var coordsBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, coordsBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, coords, gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.positionLocation);\n gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n var colorsBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, colorsBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, colors, gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.colorLocation);\n gl.vertexAttribPointer(cache.colorLocation, 3, gl.UNSIGNED_BYTE, false, 0, 0);\n gl.uniform2f(cache.scaleLocation, context.scaleX, context.scaleY);\n gl.uniform2f(cache.offsetLocation, context.offsetX, context.offsetY);\n gl.drawArrays(gl.TRIANGLES, 0, count);\n gl.flush();\n gl.deleteBuffer(coordsBuffer);\n gl.deleteBuffer(colorsBuffer);\n return canvas;\n }\n return {\n tryInitGL: function tryInitGL() {\n try {\n generateGL();\n return !!currentGL;\n } catch (ex) {}\n return false;\n },\n\n composeSMask: composeSMask,\n drawFigures: drawFigures,\n cleanup: function cleanup() {\n if (smaskCache && smaskCache.canvas) {\n smaskCache.canvas.width = 0;\n smaskCache.canvas.height = 0;\n }\n if (figuresCache && figuresCache.canvas) {\n figuresCache.canvas.width = 0;\n figuresCache.canvas.height = 0;\n }\n smaskCache = null;\n figuresCache = null;\n }\n };\n}();\nexports.WebGLContext = WebGLContext;\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.renderTextLayer = undefined;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _global_scope = __w_pdfjs_require__(3);\n\nvar _global_scope2 = _interopRequireDefault(_global_scope);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar renderTextLayer = function renderTextLayerClosure() {\n var MAX_TEXT_DIVS_TO_RENDER = 100000;\n var NonWhitespaceRegexp = /\\S/;\n function isAllWhitespace(str) {\n return !NonWhitespaceRegexp.test(str);\n }\n var styleBuf = ['left: ', 0, 'px; top: ', 0, 'px; font-size: ', 0, 'px; font-family: ', '', ';'];\n function appendText(task, geom, styles) {\n var textDiv = document.createElement('div');\n var textDivProperties = {\n style: null,\n angle: 0,\n canvasWidth: 0,\n isWhitespace: false,\n originalTransform: null,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n paddingTop: 0,\n scale: 1\n };\n task._textDivs.push(textDiv);\n if (isAllWhitespace(geom.str)) {\n textDivProperties.isWhitespace = true;\n task._textDivProperties.set(textDiv, textDivProperties);\n return;\n }\n var tx = _util.Util.transform(task._viewport.transform, geom.transform);\n var angle = Math.atan2(tx[1], tx[0]);\n var style = styles[geom.fontName];\n if (style.vertical) {\n angle += Math.PI / 2;\n }\n var fontHeight = Math.sqrt(tx[2] * tx[2] + tx[3] * tx[3]);\n var fontAscent = fontHeight;\n if (style.ascent) {\n fontAscent = style.ascent * fontAscent;\n } else if (style.descent) {\n fontAscent = (1 + style.descent) * fontAscent;\n }\n var left;\n var top;\n if (angle === 0) {\n left = tx[4];\n top = tx[5] - fontAscent;\n } else {\n left = tx[4] + fontAscent * Math.sin(angle);\n top = tx[5] - fontAscent * Math.cos(angle);\n }\n styleBuf[1] = left;\n styleBuf[3] = top;\n styleBuf[5] = fontHeight;\n styleBuf[7] = style.fontFamily;\n textDivProperties.style = styleBuf.join('');\n textDiv.setAttribute('style', textDivProperties.style);\n textDiv.textContent = geom.str;\n if (task._fontInspectorEnabled) {\n textDiv.dataset.fontName = geom.fontName;\n }\n if (angle !== 0) {\n textDivProperties.angle = angle * (180 / Math.PI);\n }\n if (geom.str.length > 1) {\n if (style.vertical) {\n textDivProperties.canvasWidth = geom.height * task._viewport.scale;\n } else {\n textDivProperties.canvasWidth = geom.width * task._viewport.scale;\n }\n }\n task._textDivProperties.set(textDiv, textDivProperties);\n if (task._textContentStream) {\n task._layoutText(textDiv);\n }\n if (task._enhanceTextSelection) {\n var angleCos = 1,\n angleSin = 0;\n if (angle !== 0) {\n angleCos = Math.cos(angle);\n angleSin = Math.sin(angle);\n }\n var divWidth = (style.vertical ? geom.height : geom.width) * task._viewport.scale;\n var divHeight = fontHeight;\n var m, b;\n if (angle !== 0) {\n m = [angleCos, angleSin, -angleSin, angleCos, left, top];\n b = _util.Util.getAxialAlignedBoundingBox([0, 0, divWidth, divHeight], m);\n } else {\n b = [left, top, left + divWidth, top + divHeight];\n }\n task._bounds.push({\n left: b[0],\n top: b[1],\n right: b[2],\n bottom: b[3],\n div: textDiv,\n size: [divWidth, divHeight],\n m: m\n });\n }\n }\n function render(task) {\n if (task._canceled) {\n return;\n }\n var textDivs = task._textDivs;\n var capability = task._capability;\n var textDivsLength = textDivs.length;\n if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {\n task._renderingDone = true;\n capability.resolve();\n return;\n }\n if (!task._textContentStream) {\n for (var i = 0; i < textDivsLength; i++) {\n task._layoutText(textDivs[i]);\n }\n }\n task._renderingDone = true;\n capability.resolve();\n }\n function expand(task) {\n var bounds = task._bounds;\n var viewport = task._viewport;\n var expanded = expandBounds(viewport.width, viewport.height, bounds);\n for (var i = 0; i < expanded.length; i++) {\n var div = bounds[i].div;\n var divProperties = task._textDivProperties.get(div);\n if (divProperties.angle === 0) {\n divProperties.paddingLeft = bounds[i].left - expanded[i].left;\n divProperties.paddingTop = bounds[i].top - expanded[i].top;\n divProperties.paddingRight = expanded[i].right - bounds[i].right;\n divProperties.paddingBottom = expanded[i].bottom - bounds[i].bottom;\n task._textDivProperties.set(div, divProperties);\n continue;\n }\n var e = expanded[i],\n b = bounds[i];\n var m = b.m,\n c = m[0],\n s = m[1];\n var points = [[0, 0], [0, b.size[1]], [b.size[0], 0], b.size];\n var ts = new Float64Array(64);\n points.forEach(function (p, i) {\n var t = _util.Util.applyTransform(p, m);\n ts[i + 0] = c && (e.left - t[0]) / c;\n ts[i + 4] = s && (e.top - t[1]) / s;\n ts[i + 8] = c && (e.right - t[0]) / c;\n ts[i + 12] = s && (e.bottom - t[1]) / s;\n ts[i + 16] = s && (e.left - t[0]) / -s;\n ts[i + 20] = c && (e.top - t[1]) / c;\n ts[i + 24] = s && (e.right - t[0]) / -s;\n ts[i + 28] = c && (e.bottom - t[1]) / c;\n ts[i + 32] = c && (e.left - t[0]) / -c;\n ts[i + 36] = s && (e.top - t[1]) / -s;\n ts[i + 40] = c && (e.right - t[0]) / -c;\n ts[i + 44] = s && (e.bottom - t[1]) / -s;\n ts[i + 48] = s && (e.left - t[0]) / s;\n ts[i + 52] = c && (e.top - t[1]) / -c;\n ts[i + 56] = s && (e.right - t[0]) / s;\n ts[i + 60] = c && (e.bottom - t[1]) / -c;\n });\n var findPositiveMin = function findPositiveMin(ts, offset, count) {\n var result = 0;\n for (var i = 0; i < count; i++) {\n var t = ts[offset++];\n if (t > 0) {\n result = result ? Math.min(t, result) : t;\n }\n }\n return result;\n };\n var boxScale = 1 + Math.min(Math.abs(c), Math.abs(s));\n divProperties.paddingLeft = findPositiveMin(ts, 32, 16) / boxScale;\n divProperties.paddingTop = findPositiveMin(ts, 48, 16) / boxScale;\n divProperties.paddingRight = findPositiveMin(ts, 0, 16) / boxScale;\n divProperties.paddingBottom = findPositiveMin(ts, 16, 16) / boxScale;\n task._textDivProperties.set(div, divProperties);\n }\n }\n function expandBounds(width, height, boxes) {\n var bounds = boxes.map(function (box, i) {\n return {\n x1: box.left,\n y1: box.top,\n x2: box.right,\n y2: box.bottom,\n index: i,\n x1New: undefined,\n x2New: undefined\n };\n });\n expandBoundsLTR(width, bounds);\n var expanded = new Array(boxes.length);\n bounds.forEach(function (b) {\n var i = b.index;\n expanded[i] = {\n left: b.x1New,\n top: 0,\n right: b.x2New,\n bottom: 0\n };\n });\n boxes.map(function (box, i) {\n var e = expanded[i],\n b = bounds[i];\n b.x1 = box.top;\n b.y1 = width - e.right;\n b.x2 = box.bottom;\n b.y2 = width - e.left;\n b.index = i;\n b.x1New = undefined;\n b.x2New = undefined;\n });\n expandBoundsLTR(height, bounds);\n bounds.forEach(function (b) {\n var i = b.index;\n expanded[i].top = b.x1New;\n expanded[i].bottom = b.x2New;\n });\n return expanded;\n }\n function expandBoundsLTR(width, bounds) {\n bounds.sort(function (a, b) {\n return a.x1 - b.x1 || a.index - b.index;\n });\n var fakeBoundary = {\n x1: -Infinity,\n y1: -Infinity,\n x2: 0,\n y2: Infinity,\n index: -1,\n x1New: 0,\n x2New: 0\n };\n var horizon = [{\n start: -Infinity,\n end: Infinity,\n boundary: fakeBoundary\n }];\n bounds.forEach(function (boundary) {\n var i = 0;\n while (i < horizon.length && horizon[i].end <= boundary.y1) {\n i++;\n }\n var j = horizon.length - 1;\n while (j >= 0 && horizon[j].start >= boundary.y2) {\n j--;\n }\n var horizonPart, affectedBoundary;\n var q,\n k,\n maxXNew = -Infinity;\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n var xNew;\n if (affectedBoundary.x2 > boundary.x1) {\n xNew = affectedBoundary.index > boundary.index ? affectedBoundary.x1New : boundary.x1;\n } else if (affectedBoundary.x2New === undefined) {\n xNew = (affectedBoundary.x2 + boundary.x1) / 2;\n } else {\n xNew = affectedBoundary.x2New;\n }\n if (xNew > maxXNew) {\n maxXNew = xNew;\n }\n }\n boundary.x1New = maxXNew;\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n if (affectedBoundary.x2New === undefined) {\n if (affectedBoundary.x2 > boundary.x1) {\n if (affectedBoundary.index > boundary.index) {\n affectedBoundary.x2New = affectedBoundary.x2;\n }\n } else {\n affectedBoundary.x2New = maxXNew;\n }\n } else if (affectedBoundary.x2New > maxXNew) {\n affectedBoundary.x2New = Math.max(maxXNew, affectedBoundary.x2);\n }\n }\n var changedHorizon = [],\n lastBoundary = null;\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n var useBoundary = affectedBoundary.x2 > boundary.x2 ? affectedBoundary : boundary;\n if (lastBoundary === useBoundary) {\n changedHorizon[changedHorizon.length - 1].end = horizonPart.end;\n } else {\n changedHorizon.push({\n start: horizonPart.start,\n end: horizonPart.end,\n boundary: useBoundary\n });\n lastBoundary = useBoundary;\n }\n }\n if (horizon[i].start < boundary.y1) {\n changedHorizon[0].start = boundary.y1;\n changedHorizon.unshift({\n start: horizon[i].start,\n end: boundary.y1,\n boundary: horizon[i].boundary\n });\n }\n if (boundary.y2 < horizon[j].end) {\n changedHorizon[changedHorizon.length - 1].end = boundary.y2;\n changedHorizon.push({\n start: boundary.y2,\n end: horizon[j].end,\n boundary: horizon[j].boundary\n });\n }\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n if (affectedBoundary.x2New !== undefined) {\n continue;\n }\n var used = false;\n for (k = i - 1; !used && k >= 0 && horizon[k].start >= affectedBoundary.y1; k--) {\n used = horizon[k].boundary === affectedBoundary;\n }\n for (k = j + 1; !used && k < horizon.length && horizon[k].end <= affectedBoundary.y2; k++) {\n used = horizon[k].boundary === affectedBoundary;\n }\n for (k = 0; !used && k < changedHorizon.length; k++) {\n used = changedHorizon[k].boundary === affectedBoundary;\n }\n if (!used) {\n affectedBoundary.x2New = maxXNew;\n }\n }\n Array.prototype.splice.apply(horizon, [i, j - i + 1].concat(changedHorizon));\n });\n horizon.forEach(function (horizonPart) {\n var affectedBoundary = horizonPart.boundary;\n if (affectedBoundary.x2New === undefined) {\n affectedBoundary.x2New = Math.max(width, affectedBoundary.x2);\n }\n });\n }\n function TextLayerRenderTask(_ref) {\n var textContent = _ref.textContent,\n textContentStream = _ref.textContentStream,\n container = _ref.container,\n viewport = _ref.viewport,\n textDivs = _ref.textDivs,\n textContentItemsStr = _ref.textContentItemsStr,\n enhanceTextSelection = _ref.enhanceTextSelection;\n\n this._textContent = textContent;\n this._textContentStream = textContentStream;\n this._container = container;\n this._viewport = viewport;\n this._textDivs = textDivs || [];\n this._textContentItemsStr = textContentItemsStr || [];\n this._enhanceTextSelection = !!enhanceTextSelection;\n this._fontInspectorEnabled = !!(_global_scope2.default.FontInspector && _global_scope2.default.FontInspector.enabled);\n this._reader = null;\n this._layoutTextLastFontSize = null;\n this._layoutTextLastFontFamily = null;\n this._layoutTextCtx = null;\n this._textDivProperties = new WeakMap();\n this._renderingDone = false;\n this._canceled = false;\n this._capability = (0, _util.createPromiseCapability)();\n this._renderTimer = null;\n this._bounds = [];\n }\n TextLayerRenderTask.prototype = {\n get promise() {\n return this._capability.promise;\n },\n cancel: function TextLayer_cancel() {\n if (this._reader) {\n this._reader.cancel(new _util.AbortException('text layer task cancelled'));\n this._reader = null;\n }\n this._canceled = true;\n if (this._renderTimer !== null) {\n clearTimeout(this._renderTimer);\n this._renderTimer = null;\n }\n this._capability.reject('canceled');\n },\n _processItems: function _processItems(items, styleCache) {\n for (var i = 0, len = items.length; i < len; i++) {\n this._textContentItemsStr.push(items[i].str);\n appendText(this, items[i], styleCache);\n }\n },\n _layoutText: function _layoutText(textDiv) {\n var textLayerFrag = this._container;\n var textDivProperties = this._textDivProperties.get(textDiv);\n if (textDivProperties.isWhitespace) {\n return;\n }\n var fontSize = textDiv.style.fontSize;\n var fontFamily = textDiv.style.fontFamily;\n if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) {\n this._layoutTextCtx.font = fontSize + ' ' + fontFamily;\n this._layoutTextLastFontSize = fontSize;\n this._layoutTextLastFontFamily = fontFamily;\n }\n var width = this._layoutTextCtx.measureText(textDiv.textContent).width;\n var transform = '';\n if (textDivProperties.canvasWidth !== 0 && width > 0) {\n textDivProperties.scale = textDivProperties.canvasWidth / width;\n transform = 'scaleX(' + textDivProperties.scale + ')';\n }\n if (textDivProperties.angle !== 0) {\n transform = 'rotate(' + textDivProperties.angle + 'deg) ' + transform;\n }\n if (transform !== '') {\n textDivProperties.originalTransform = transform;\n textDiv.style.transform = transform;\n }\n this._textDivProperties.set(textDiv, textDivProperties);\n textLayerFrag.appendChild(textDiv);\n },\n\n _render: function TextLayer_render(timeout) {\n var _this = this;\n\n var capability = (0, _util.createPromiseCapability)();\n var styleCache = Object.create(null);\n var canvas = document.createElement('canvas');\n canvas.mozOpaque = true;\n this._layoutTextCtx = canvas.getContext('2d', { alpha: false });\n if (this._textContent) {\n var textItems = this._textContent.items;\n var textStyles = this._textContent.styles;\n this._processItems(textItems, textStyles);\n capability.resolve();\n } else if (this._textContentStream) {\n var pump = function pump() {\n _this._reader.read().then(function (_ref2) {\n var value = _ref2.value,\n done = _ref2.done;\n\n if (done) {\n capability.resolve();\n return;\n }\n Object.assign(styleCache, value.styles);\n _this._processItems(value.items, styleCache);\n pump();\n }, capability.reject);\n };\n this._reader = this._textContentStream.getReader();\n pump();\n } else {\n throw new Error('Neither \"textContent\" nor \"textContentStream\"' + ' parameters specified.');\n }\n capability.promise.then(function () {\n styleCache = null;\n if (!timeout) {\n render(_this);\n } else {\n _this._renderTimer = setTimeout(function () {\n render(_this);\n _this._renderTimer = null;\n }, timeout);\n }\n }, this._capability.reject);\n },\n expandTextDivs: function TextLayer_expandTextDivs(expandDivs) {\n if (!this._enhanceTextSelection || !this._renderingDone) {\n return;\n }\n if (this._bounds !== null) {\n expand(this);\n this._bounds = null;\n }\n for (var i = 0, ii = this._textDivs.length; i < ii; i++) {\n var div = this._textDivs[i];\n var divProperties = this._textDivProperties.get(div);\n if (divProperties.isWhitespace) {\n continue;\n }\n if (expandDivs) {\n var transform = '',\n padding = '';\n if (divProperties.scale !== 1) {\n transform = 'scaleX(' + divProperties.scale + ')';\n }\n if (divProperties.angle !== 0) {\n transform = 'rotate(' + divProperties.angle + 'deg) ' + transform;\n }\n if (divProperties.paddingLeft !== 0) {\n padding += ' padding-left: ' + divProperties.paddingLeft / divProperties.scale + 'px;';\n transform += ' translateX(' + -divProperties.paddingLeft / divProperties.scale + 'px)';\n }\n if (divProperties.paddingTop !== 0) {\n padding += ' padding-top: ' + divProperties.paddingTop + 'px;';\n transform += ' translateY(' + -divProperties.paddingTop + 'px)';\n }\n if (divProperties.paddingRight !== 0) {\n padding += ' padding-right: ' + divProperties.paddingRight / divProperties.scale + 'px;';\n }\n if (divProperties.paddingBottom !== 0) {\n padding += ' padding-bottom: ' + divProperties.paddingBottom + 'px;';\n }\n if (padding !== '') {\n div.setAttribute('style', divProperties.style + padding);\n }\n if (transform !== '') {\n div.style.transform = transform;\n }\n } else {\n div.style.padding = 0;\n div.style.transform = divProperties.originalTransform || '';\n }\n }\n }\n };\n function renderTextLayer(renderParameters) {\n var task = new TextLayerRenderTask({\n textContent: renderParameters.textContent,\n textContentStream: renderParameters.textContentStream,\n container: renderParameters.container,\n viewport: renderParameters.viewport,\n textDivs: renderParameters.textDivs,\n textContentItemsStr: renderParameters.textContentItemsStr,\n enhanceTextSelection: renderParameters.enhanceTextSelection\n });\n task._render(renderParameters.timeout);\n return task;\n }\n return renderTextLayer;\n}();\nexports.renderTextLayer = renderTextLayer;\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AnnotationLayer = undefined;\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _dom_utils = __w_pdfjs_require__(130);\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar AnnotationElementFactory = function () {\n function AnnotationElementFactory() {\n _classCallCheck(this, AnnotationElementFactory);\n }\n\n _createClass(AnnotationElementFactory, null, [{\n key: 'create',\n value: function create(parameters) {\n var subtype = parameters.data.annotationType;\n switch (subtype) {\n case _util.AnnotationType.LINK:\n return new LinkAnnotationElement(parameters);\n case _util.AnnotationType.TEXT:\n return new TextAnnotationElement(parameters);\n case _util.AnnotationType.WIDGET:\n var fieldType = parameters.data.fieldType;\n switch (fieldType) {\n case 'Tx':\n return new TextWidgetAnnotationElement(parameters);\n case 'Btn':\n if (parameters.data.radioButton) {\n return new RadioButtonWidgetAnnotationElement(parameters);\n } else if (parameters.data.checkBox) {\n return new CheckboxWidgetAnnotationElement(parameters);\n }\n return new PushButtonWidgetAnnotationElement(parameters);\n case 'Ch':\n return new ChoiceWidgetAnnotationElement(parameters);\n }\n return new WidgetAnnotationElement(parameters);\n case _util.AnnotationType.POPUP:\n return new PopupAnnotationElement(parameters);\n case _util.AnnotationType.LINE:\n return new LineAnnotationElement(parameters);\n case _util.AnnotationType.SQUARE:\n return new SquareAnnotationElement(parameters);\n case _util.AnnotationType.CIRCLE:\n return new CircleAnnotationElement(parameters);\n case _util.AnnotationType.POLYLINE:\n return new PolylineAnnotationElement(parameters);\n case _util.AnnotationType.INK:\n return new InkAnnotationElement(parameters);\n case _util.AnnotationType.POLYGON:\n return new PolygonAnnotationElement(parameters);\n case _util.AnnotationType.HIGHLIGHT:\n return new HighlightAnnotationElement(parameters);\n case _util.AnnotationType.UNDERLINE:\n return new UnderlineAnnotationElement(parameters);\n case _util.AnnotationType.SQUIGGLY:\n return new SquigglyAnnotationElement(parameters);\n case _util.AnnotationType.STRIKEOUT:\n return new StrikeOutAnnotationElement(parameters);\n case _util.AnnotationType.STAMP:\n return new StampAnnotationElement(parameters);\n case _util.AnnotationType.FILEATTACHMENT:\n return new FileAttachmentAnnotationElement(parameters);\n default:\n return new AnnotationElement(parameters);\n }\n }\n }]);\n\n return AnnotationElementFactory;\n}();\n\nvar AnnotationElement = function () {\n function AnnotationElement(parameters) {\n var isRenderable = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var ignoreBorder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, AnnotationElement);\n\n this.isRenderable = isRenderable;\n this.data = parameters.data;\n this.layer = parameters.layer;\n this.page = parameters.page;\n this.viewport = parameters.viewport;\n this.linkService = parameters.linkService;\n this.downloadManager = parameters.downloadManager;\n this.imageResourcesPath = parameters.imageResourcesPath;\n this.renderInteractiveForms = parameters.renderInteractiveForms;\n this.svgFactory = parameters.svgFactory;\n if (isRenderable) {\n this.container = this._createContainer(ignoreBorder);\n }\n }\n\n _createClass(AnnotationElement, [{\n key: '_createContainer',\n value: function _createContainer() {\n var ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n var data = this.data,\n page = this.page,\n viewport = this.viewport;\n var container = document.createElement('section');\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n container.setAttribute('data-annotation-id', data.id);\n var rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]);\n container.style.transform = 'matrix(' + viewport.transform.join(',') + ')';\n container.style.transformOrigin = -rect[0] + 'px ' + -rect[1] + 'px';\n if (!ignoreBorder && data.borderStyle.width > 0) {\n container.style.borderWidth = data.borderStyle.width + 'px';\n if (data.borderStyle.style !== _util.AnnotationBorderStyleType.UNDERLINE) {\n width = width - 2 * data.borderStyle.width;\n height = height - 2 * data.borderStyle.width;\n }\n var horizontalRadius = data.borderStyle.horizontalCornerRadius;\n var verticalRadius = data.borderStyle.verticalCornerRadius;\n if (horizontalRadius > 0 || verticalRadius > 0) {\n var radius = horizontalRadius + 'px / ' + verticalRadius + 'px';\n container.style.borderRadius = radius;\n }\n switch (data.borderStyle.style) {\n case _util.AnnotationBorderStyleType.SOLID:\n container.style.borderStyle = 'solid';\n break;\n case _util.AnnotationBorderStyleType.DASHED:\n container.style.borderStyle = 'dashed';\n break;\n case _util.AnnotationBorderStyleType.BEVELED:\n (0, _util.warn)('Unimplemented border style: beveled');\n break;\n case _util.AnnotationBorderStyleType.INSET:\n (0, _util.warn)('Unimplemented border style: inset');\n break;\n case _util.AnnotationBorderStyleType.UNDERLINE:\n container.style.borderBottomStyle = 'solid';\n break;\n default:\n break;\n }\n if (data.color) {\n container.style.borderColor = _util.Util.makeCssRgb(data.color[0] | 0, data.color[1] | 0, data.color[2] | 0);\n } else {\n container.style.borderWidth = 0;\n }\n }\n container.style.left = rect[0] + 'px';\n container.style.top = rect[1] + 'px';\n container.style.width = width + 'px';\n container.style.height = height + 'px';\n return container;\n }\n }, {\n key: '_createPopup',\n value: function _createPopup(container, trigger, data) {\n if (!trigger) {\n trigger = document.createElement('div');\n trigger.style.height = container.style.height;\n trigger.style.width = container.style.width;\n container.appendChild(trigger);\n }\n var popupElement = new PopupElement({\n container: container,\n trigger: trigger,\n color: data.color,\n title: data.title,\n contents: data.contents,\n hideWrapper: true\n });\n var popup = popupElement.render();\n popup.style.left = container.style.width;\n container.appendChild(popup);\n }\n }, {\n key: 'render',\n value: function render() {\n (0, _util.unreachable)('Abstract method `AnnotationElement.render` called');\n }\n }]);\n\n return AnnotationElement;\n}();\n\nvar LinkAnnotationElement = function (_AnnotationElement) {\n _inherits(LinkAnnotationElement, _AnnotationElement);\n\n function LinkAnnotationElement(parameters) {\n _classCallCheck(this, LinkAnnotationElement);\n\n var isRenderable = !!(parameters.data.url || parameters.data.dest || parameters.data.action);\n return _possibleConstructorReturn(this, (LinkAnnotationElement.__proto__ || Object.getPrototypeOf(LinkAnnotationElement)).call(this, parameters, isRenderable));\n }\n\n _createClass(LinkAnnotationElement, [{\n key: 'render',\n value: function render() {\n this.container.className = 'linkAnnotation';\n var data = this.data,\n linkService = this.linkService;\n\n var link = document.createElement('a');\n (0, _dom_utils.addLinkAttributes)(link, {\n url: data.url,\n target: data.newWindow ? _dom_utils.LinkTarget.BLANK : linkService.externalLinkTarget,\n rel: linkService.externalLinkRel\n });\n if (!data.url) {\n if (data.action) {\n this._bindNamedAction(link, data.action);\n } else {\n this._bindLink(link, data.dest);\n }\n }\n this.container.appendChild(link);\n return this.container;\n }\n }, {\n key: '_bindLink',\n value: function _bindLink(link, destination) {\n var _this2 = this;\n\n link.href = this.linkService.getDestinationHash(destination);\n link.onclick = function () {\n if (destination) {\n _this2.linkService.navigateTo(destination);\n }\n return false;\n };\n if (destination) {\n link.className = 'internalLink';\n }\n }\n }, {\n key: '_bindNamedAction',\n value: function _bindNamedAction(link, action) {\n var _this3 = this;\n\n link.href = this.linkService.getAnchorUrl('');\n link.onclick = function () {\n _this3.linkService.executeNamedAction(action);\n return false;\n };\n link.className = 'internalLink';\n }\n }]);\n\n return LinkAnnotationElement;\n}(AnnotationElement);\n\nvar TextAnnotationElement = function (_AnnotationElement2) {\n _inherits(TextAnnotationElement, _AnnotationElement2);\n\n function TextAnnotationElement(parameters) {\n _classCallCheck(this, TextAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, (TextAnnotationElement.__proto__ || Object.getPrototypeOf(TextAnnotationElement)).call(this, parameters, isRenderable));\n }\n\n _createClass(TextAnnotationElement, [{\n key: 'render',\n value: function render() {\n this.container.className = 'textAnnotation';\n var image = document.createElement('img');\n image.style.height = this.container.style.height;\n image.style.width = this.container.style.width;\n image.src = this.imageResourcesPath + 'annotation-' + this.data.name.toLowerCase() + '.svg';\n image.alt = '[{{type}} Annotation]';\n image.dataset.l10nId = 'text_annotation_type';\n image.dataset.l10nArgs = JSON.stringify({ type: this.data.name });\n if (!this.data.hasPopup) {\n this._createPopup(this.container, image, this.data);\n }\n this.container.appendChild(image);\n return this.container;\n }\n }]);\n\n return TextAnnotationElement;\n}(AnnotationElement);\n\nvar WidgetAnnotationElement = function (_AnnotationElement3) {\n _inherits(WidgetAnnotationElement, _AnnotationElement3);\n\n function WidgetAnnotationElement() {\n _classCallCheck(this, WidgetAnnotationElement);\n\n return _possibleConstructorReturn(this, (WidgetAnnotationElement.__proto__ || Object.getPrototypeOf(WidgetAnnotationElement)).apply(this, arguments));\n }\n\n _createClass(WidgetAnnotationElement, [{\n key: 'render',\n value: function render() {\n return this.container;\n }\n }]);\n\n return WidgetAnnotationElement;\n}(AnnotationElement);\n\nvar TextWidgetAnnotationElement = function (_WidgetAnnotationElem) {\n _inherits(TextWidgetAnnotationElement, _WidgetAnnotationElem);\n\n function TextWidgetAnnotationElement(parameters) {\n _classCallCheck(this, TextWidgetAnnotationElement);\n\n var isRenderable = parameters.renderInteractiveForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;\n return _possibleConstructorReturn(this, (TextWidgetAnnotationElement.__proto__ || Object.getPrototypeOf(TextWidgetAnnotationElement)).call(this, parameters, isRenderable));\n }\n\n _createClass(TextWidgetAnnotationElement, [{\n key: 'render',\n value: function render() {\n var TEXT_ALIGNMENT = ['left', 'center', 'right'];\n this.container.className = 'textWidgetAnnotation';\n var element = null;\n if (this.renderInteractiveForms) {\n if (this.data.multiLine) {\n element = document.createElement('textarea');\n element.textContent = this.data.fieldValue;\n } else {\n element = document.createElement('input');\n element.type = 'text';\n element.setAttribute('value', this.data.fieldValue);\n }\n element.disabled = this.data.readOnly;\n if (this.data.maxLen !== null) {\n element.maxLength = this.data.maxLen;\n }\n if (this.data.comb) {\n var fieldWidth = this.data.rect[2] - this.data.rect[0];\n var combWidth = fieldWidth / this.data.maxLen;\n element.classList.add('comb');\n element.style.letterSpacing = 'calc(' + combWidth + 'px - 1ch)';\n }\n } else {\n element = document.createElement('div');\n element.textContent = this.data.fieldValue;\n element.style.verticalAlign = 'middle';\n element.style.display = 'table-cell';\n var font = null;\n if (this.data.fontRefName) {\n font = this.page.commonObjs.getData(this.data.fontRefName);\n }\n this._setTextStyle(element, font);\n }\n if (this.data.textAlignment !== null) {\n element.style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];\n }\n this.container.appendChild(element);\n return this.container;\n }\n }, {\n key: '_setTextStyle',\n value: function _setTextStyle(element, font) {\n var style = element.style;\n style.fontSize = this.data.fontSize + 'px';\n style.direction = this.data.fontDirection < 0 ? 'rtl' : 'ltr';\n if (!font) {\n return;\n }\n style.fontWeight = font.black ? font.bold ? '900' : 'bold' : font.bold ? 'bold' : 'normal';\n style.fontStyle = font.italic ? 'italic' : 'normal';\n var fontFamily = font.loadedName ? '\"' + font.loadedName + '\", ' : '';\n var fallbackName = font.fallbackName || 'Helvetica, sans-serif';\n style.fontFamily = fontFamily + fallbackName;\n }\n }]);\n\n return TextWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar CheckboxWidgetAnnotationElement = function (_WidgetAnnotationElem2) {\n _inherits(CheckboxWidgetAnnotationElement, _WidgetAnnotationElem2);\n\n function CheckboxWidgetAnnotationElement(parameters) {\n _classCallCheck(this, CheckboxWidgetAnnotationElement);\n\n return _possibleConstructorReturn(this, (CheckboxWidgetAnnotationElement.__proto__ || Object.getPrototypeOf(CheckboxWidgetAnnotationElement)).call(this, parameters, parameters.renderInteractiveForms));\n }\n\n _createClass(CheckboxWidgetAnnotationElement, [{\n key: 'render',\n value: function render() {\n this.container.className = 'buttonWidgetAnnotation checkBox';\n var element = document.createElement('input');\n element.disabled = this.data.readOnly;\n element.type = 'checkbox';\n if (this.data.fieldValue && this.data.fieldValue !== 'Off') {\n element.setAttribute('checked', true);\n }\n this.container.appendChild(element);\n return this.container;\n }\n }]);\n\n return CheckboxWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar RadioButtonWidgetAnnotationElement = function (_WidgetAnnotationElem3) {\n _inherits(RadioButtonWidgetAnnotationElement, _WidgetAnnotationElem3);\n\n function RadioButtonWidgetAnnotationElement(parameters) {\n _classCallCheck(this, RadioButtonWidgetAnnotationElement);\n\n return _possibleConstructorReturn(this, (RadioButtonWidgetAnnotationElement.__proto__ || Object.getPrototypeOf(RadioButtonWidgetAnnotationElement)).call(this, parameters, parameters.renderInteractiveForms));\n }\n\n _createClass(RadioButtonWidgetAnnotationElement, [{\n key: 'render',\n value: function render() {\n this.container.className = 'buttonWidgetAnnotation radioButton';\n var element = document.createElement('input');\n element.disabled = this.data.readOnly;\n element.type = 'radio';\n element.name = this.data.fieldName;\n if (this.data.fieldValue === this.data.buttonValue) {\n element.setAttribute('checked', true);\n }\n this.container.appendChild(element);\n return this.container;\n }\n }]);\n\n return RadioButtonWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar PushButtonWidgetAnnotationElement = function (_LinkAnnotationElemen) {\n _inherits(PushButtonWidgetAnnotationElement, _LinkAnnotationElemen);\n\n function PushButtonWidgetAnnotationElement() {\n _classCallCheck(this, PushButtonWidgetAnnotationElement);\n\n return _possibleConstructorReturn(this, (PushButtonWidgetAnnotationElement.__proto__ || Object.getPrototypeOf(PushButtonWidgetAnnotationElement)).apply(this, arguments));\n }\n\n _createClass(PushButtonWidgetAnnotationElement, [{\n key: 'render',\n value: function render() {\n var container = _get(PushButtonWidgetAnnotationElement.prototype.__proto__ || Object.getPrototypeOf(PushButtonWidgetAnnotationElement.prototype), 'render', this).call(this);\n container.className = 'buttonWidgetAnnotation pushButton';\n return container;\n }\n }]);\n\n return PushButtonWidgetAnnotationElement;\n}(LinkAnnotationElement);\n\nvar ChoiceWidgetAnnotationElement = function (_WidgetAnnotationElem4) {\n _inherits(ChoiceWidgetAnnotationElement, _WidgetAnnotationElem4);\n\n function ChoiceWidgetAnnotationElement(parameters) {\n _classCallCheck(this, ChoiceWidgetAnnotationElement);\n\n return _possibleConstructorReturn(this, (ChoiceWidgetAnnotationElement.__proto__ || Object.getPrototypeOf(ChoiceWidgetAnnotationElement)).call(this, parameters, parameters.renderInteractiveForms));\n }\n\n _createClass(ChoiceWidgetAnnotationElement, [{\n key: 'render',\n value: function render() {\n this.container.className = 'choiceWidgetAnnotation';\n var selectElement = document.createElement('select');\n selectElement.disabled = this.data.readOnly;\n if (!this.data.combo) {\n selectElement.size = this.data.options.length;\n if (this.data.multiSelect) {\n selectElement.multiple = true;\n }\n }\n for (var i = 0, ii = this.data.options.length; i < ii; i++) {\n var option = this.data.options[i];\n var optionElement = document.createElement('option');\n optionElement.textContent = option.displayValue;\n optionElement.value = option.exportValue;\n if (this.data.fieldValue.includes(option.displayValue)) {\n optionElement.setAttribute('selected', true);\n }\n selectElement.appendChild(optionElement);\n }\n this.container.appendChild(selectElement);\n return this.container;\n }\n }]);\n\n return ChoiceWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar PopupAnnotationElement = function (_AnnotationElement4) {\n _inherits(PopupAnnotationElement, _AnnotationElement4);\n\n function PopupAnnotationElement(parameters) {\n _classCallCheck(this, PopupAnnotationElement);\n\n var isRenderable = !!(parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, (PopupAnnotationElement.__proto__ || Object.getPrototypeOf(PopupAnnotationElement)).call(this, parameters, isRenderable));\n }\n\n _createClass(PopupAnnotationElement, [{\n key: 'render',\n value: function render() {\n var IGNORE_TYPES = ['Line', 'Square', 'Circle', 'PolyLine', 'Polygon', 'Ink'];\n this.container.className = 'popupAnnotation';\n if (IGNORE_TYPES.includes(this.data.parentType)) {\n return this.container;\n }\n var selector = '[data-annotation-id=\"' + this.data.parentId + '\"]';\n var parentElement = this.layer.querySelector(selector);\n if (!parentElement) {\n return this.container;\n }\n var popup = new PopupElement({\n container: this.container,\n trigger: parentElement,\n color: this.data.color,\n title: this.data.title,\n contents: this.data.contents\n });\n var parentLeft = parseFloat(parentElement.style.left);\n var parentWidth = parseFloat(parentElement.style.width);\n this.container.style.transformOrigin = -(parentLeft + parentWidth) + 'px -' + parentElement.style.top;\n this.container.style.left = parentLeft + parentWidth + 'px';\n this.container.appendChild(popup.render());\n return this.container;\n }\n }]);\n\n return PopupAnnotationElement;\n}(AnnotationElement);\n\nvar PopupElement = function () {\n function PopupElement(parameters) {\n _classCallCheck(this, PopupElement);\n\n this.container = parameters.container;\n this.trigger = parameters.trigger;\n this.color = parameters.color;\n this.title = parameters.title;\n this.contents = parameters.contents;\n this.hideWrapper = parameters.hideWrapper || false;\n this.pinned = false;\n }\n\n _createClass(PopupElement, [{\n key: 'render',\n value: function render() {\n var BACKGROUND_ENLIGHT = 0.7;\n var wrapper = document.createElement('div');\n wrapper.className = 'popupWrapper';\n this.hideElement = this.hideWrapper ? wrapper : this.container;\n this.hideElement.setAttribute('hidden', true);\n var popup = document.createElement('div');\n popup.className = 'popup';\n var color = this.color;\n if (color) {\n var r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];\n var g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];\n var b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];\n popup.style.backgroundColor = _util.Util.makeCssRgb(r | 0, g | 0, b | 0);\n }\n var contents = this._formatContents(this.contents);\n var title = document.createElement('h1');\n title.textContent = this.title;\n this.trigger.addEventListener('click', this._toggle.bind(this));\n this.trigger.addEventListener('mouseover', this._show.bind(this, false));\n this.trigger.addEventListener('mouseout', this._hide.bind(this, false));\n popup.addEventListener('click', this._hide.bind(this, true));\n popup.appendChild(title);\n popup.appendChild(contents);\n wrapper.appendChild(popup);\n return wrapper;\n }\n }, {\n key: '_formatContents',\n value: function _formatContents(contents) {\n var p = document.createElement('p');\n var lines = contents.split(/(?:\\r\\n?|\\n)/);\n for (var i = 0, ii = lines.length; i < ii; ++i) {\n var line = lines[i];\n p.appendChild(document.createTextNode(line));\n if (i < ii - 1) {\n p.appendChild(document.createElement('br'));\n }\n }\n return p;\n }\n }, {\n key: '_toggle',\n value: function _toggle() {\n if (this.pinned) {\n this._hide(true);\n } else {\n this._show(true);\n }\n }\n }, {\n key: '_show',\n value: function _show() {\n var pin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (pin) {\n this.pinned = true;\n }\n if (this.hideElement.hasAttribute('hidden')) {\n this.hideElement.removeAttribute('hidden');\n this.container.style.zIndex += 1;\n }\n }\n }, {\n key: '_hide',\n value: function _hide() {\n var unpin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (unpin) {\n this.pinned = false;\n }\n if (!this.hideElement.hasAttribute('hidden') && !this.pinned) {\n this.hideElement.setAttribute('hidden', true);\n this.container.style.zIndex -= 1;\n }\n }\n }]);\n\n return PopupElement;\n}();\n\nvar LineAnnotationElement = function (_AnnotationElement5) {\n _inherits(LineAnnotationElement, _AnnotationElement5);\n\n function LineAnnotationElement(parameters) {\n _classCallCheck(this, LineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, (LineAnnotationElement.__proto__ || Object.getPrototypeOf(LineAnnotationElement)).call(this, parameters, isRenderable, true));\n }\n\n _createClass(LineAnnotationElement, [{\n key: 'render',\n value: function render() {\n this.container.className = 'lineAnnotation';\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var line = this.svgFactory.createElement('svg:line');\n line.setAttribute('x1', data.rect[2] - data.lineCoordinates[0]);\n line.setAttribute('y1', data.rect[3] - data.lineCoordinates[1]);\n line.setAttribute('x2', data.rect[2] - data.lineCoordinates[2]);\n line.setAttribute('y2', data.rect[3] - data.lineCoordinates[3]);\n line.setAttribute('stroke-width', data.borderStyle.width);\n line.setAttribute('stroke', 'transparent');\n svg.appendChild(line);\n this.container.append(svg);\n this._createPopup(this.container, line, data);\n return this.container;\n }\n }]);\n\n return LineAnnotationElement;\n}(AnnotationElement);\n\nvar SquareAnnotationElement = function (_AnnotationElement6) {\n _inherits(SquareAnnotationElement, _AnnotationElement6);\n\n function SquareAnnotationElement(parameters) {\n _classCallCheck(this, SquareAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, (SquareAnnotationElement.__proto__ || Object.getPrototypeOf(SquareAnnotationElement)).call(this, parameters, isRenderable, true));\n }\n\n _createClass(SquareAnnotationElement, [{\n key: 'render',\n value: function render() {\n this.container.className = 'squareAnnotation';\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var borderWidth = data.borderStyle.width;\n var square = this.svgFactory.createElement('svg:rect');\n square.setAttribute('x', borderWidth / 2);\n square.setAttribute('y', borderWidth / 2);\n square.setAttribute('width', width - borderWidth);\n square.setAttribute('height', height - borderWidth);\n square.setAttribute('stroke-width', borderWidth);\n square.setAttribute('stroke', 'transparent');\n square.setAttribute('fill', 'none');\n svg.appendChild(square);\n this.container.append(svg);\n this._createPopup(this.container, square, data);\n return this.container;\n }\n }]);\n\n return SquareAnnotationElement;\n}(AnnotationElement);\n\nvar CircleAnnotationElement = function (_AnnotationElement7) {\n _inherits(CircleAnnotationElement, _AnnotationElement7);\n\n function CircleAnnotationElement(parameters) {\n _classCallCheck(this, CircleAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, (CircleAnnotationElement.__proto__ || Object.getPrototypeOf(CircleAnnotationElement)).call(this, parameters, isRenderable, true));\n }\n\n _createClass(CircleAnnotationElement, [{\n key: 'render',\n value: function render() {\n this.container.className = 'circleAnnotation';\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var borderWidth = data.borderStyle.width;\n var circle = this.svgFactory.createElement('svg:ellipse');\n circle.setAttribute('cx', width / 2);\n circle.setAttribute('cy', height / 2);\n circle.setAttribute('rx', width / 2 - borderWidth / 2);\n circle.setAttribute('ry', height / 2 - borderWidth / 2);\n circle.setAttribute('stroke-width', borderWidth);\n circle.setAttribute('stroke', 'transparent');\n circle.setAttribute('fill', 'none');\n svg.appendChild(circle);\n this.container.append(svg);\n this._createPopup(this.container, circle, data);\n return this.container;\n }\n }]);\n\n return CircleAnnotationElement;\n}(AnnotationElement);\n\nvar PolylineAnnotationElement = function (_AnnotationElement8) {\n _inherits(PolylineAnnotationElement, _AnnotationElement8);\n\n function PolylineAnnotationElement(parameters) {\n _classCallCheck(this, PolylineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n\n var _this15 = _possibleConstructorReturn(this, (PolylineAnnotationElement.__proto__ || Object.getPrototypeOf(PolylineAnnotationElement)).call(this, parameters, isRenderable, true));\n\n _this15.containerClassName = 'polylineAnnotation';\n _this15.svgElementName = 'svg:polyline';\n return _this15;\n }\n\n _createClass(PolylineAnnotationElement, [{\n key: 'render',\n value: function render() {\n this.container.className = this.containerClassName;\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var vertices = data.vertices;\n var points = [];\n for (var i = 0, ii = vertices.length; i < ii; i++) {\n var x = vertices[i].x - data.rect[0];\n var y = data.rect[3] - vertices[i].y;\n points.push(x + ',' + y);\n }\n points = points.join(' ');\n var borderWidth = data.borderStyle.width;\n var polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute('points', points);\n polyline.setAttribute('stroke-width', borderWidth);\n polyline.setAttribute('stroke', 'transparent');\n polyline.setAttribute('fill', 'none');\n svg.appendChild(polyline);\n this.container.append(svg);\n this._createPopup(this.container, polyline, data);\n return this.container;\n }\n }]);\n\n return PolylineAnnotationElement;\n}(AnnotationElement);\n\nvar PolygonAnnotationElement = function (_PolylineAnnotationEl) {\n _inherits(PolygonAnnotationElement, _PolylineAnnotationEl);\n\n function PolygonAnnotationElement(parameters) {\n _classCallCheck(this, PolygonAnnotationElement);\n\n var _this16 = _possibleConstructorReturn(this, (PolygonAnnotationElement.__proto__ || Object.getPrototypeOf(PolygonAnnotationElement)).call(this, parameters));\n\n _this16.containerClassName = 'polygonAnnotation';\n _this16.svgElementName = 'svg:polygon';\n return _this16;\n }\n\n return PolygonAnnotationElement;\n}(PolylineAnnotationElement);\n\nvar InkAnnotationElement = function (_AnnotationElement9) {\n _inherits(InkAnnotationElement, _AnnotationElement9);\n\n function InkAnnotationElement(parameters) {\n _classCallCheck(this, InkAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n\n var _this17 = _possibleConstructorReturn(this, (InkAnnotationElement.__proto__ || Object.getPrototypeOf(InkAnnotationElement)).call(this, parameters, isRenderable, true));\n\n _this17.containerClassName = 'inkAnnotation';\n _this17.svgElementName = 'svg:polyline';\n return _this17;\n }\n\n _createClass(InkAnnotationElement, [{\n key: 'render',\n value: function render() {\n this.container.className = this.containerClassName;\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var inkLists = data.inkLists;\n for (var i = 0, ii = inkLists.length; i < ii; i++) {\n var inkList = inkLists[i];\n var points = [];\n for (var j = 0, jj = inkList.length; j < jj; j++) {\n var x = inkList[j].x - data.rect[0];\n var y = data.rect[3] - inkList[j].y;\n points.push(x + ',' + y);\n }\n points = points.join(' ');\n var borderWidth = data.borderStyle.width;\n var polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute('points', points);\n polyline.setAttribute('stroke-width', borderWidth);\n polyline.setAttribute('stroke', 'transparent');\n polyline.setAttribute('fill', 'none');\n this._createPopup(this.container, polyline, data);\n svg.appendChild(polyline);\n }\n this.container.append(svg);\n return this.container;\n }\n }]);\n\n return InkAnnotationElement;\n}(AnnotationElement);\n\nvar HighlightAnnotationElement = function (_AnnotationElement10) {\n _inherits(HighlightAnnotationElement, _AnnotationElement10);\n\n function HighlightAnnotationElement(parameters) {\n _classCallCheck(this, HighlightAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, (HighlightAnnotationElement.__proto__ || Object.getPrototypeOf(HighlightAnnotationElement)).call(this, parameters, isRenderable, true));\n }\n\n _createClass(HighlightAnnotationElement, [{\n key: 'render',\n value: function render() {\n this.container.className = 'highlightAnnotation';\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n }]);\n\n return HighlightAnnotationElement;\n}(AnnotationElement);\n\nvar UnderlineAnnotationElement = function (_AnnotationElement11) {\n _inherits(UnderlineAnnotationElement, _AnnotationElement11);\n\n function UnderlineAnnotationElement(parameters) {\n _classCallCheck(this, UnderlineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, (UnderlineAnnotationElement.__proto__ || Object.getPrototypeOf(UnderlineAnnotationElement)).call(this, parameters, isRenderable, true));\n }\n\n _createClass(UnderlineAnnotationElement, [{\n key: 'render',\n value: function render() {\n this.container.className = 'underlineAnnotation';\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n }]);\n\n return UnderlineAnnotationElement;\n}(AnnotationElement);\n\nvar SquigglyAnnotationElement = function (_AnnotationElement12) {\n _inherits(SquigglyAnnotationElement, _AnnotationElement12);\n\n function SquigglyAnnotationElement(parameters) {\n _classCallCheck(this, SquigglyAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, (SquigglyAnnotationElement.__proto__ || Object.getPrototypeOf(SquigglyAnnotationElement)).call(this, parameters, isRenderable, true));\n }\n\n _createClass(SquigglyAnnotationElement, [{\n key: 'render',\n value: function render() {\n this.container.className = 'squigglyAnnotation';\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n }]);\n\n return SquigglyAnnotationElement;\n}(AnnotationElement);\n\nvar StrikeOutAnnotationElement = function (_AnnotationElement13) {\n _inherits(StrikeOutAnnotationElement, _AnnotationElement13);\n\n function StrikeOutAnnotationElement(parameters) {\n _classCallCheck(this, StrikeOutAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, (StrikeOutAnnotationElement.__proto__ || Object.getPrototypeOf(StrikeOutAnnotationElement)).call(this, parameters, isRenderable, true));\n }\n\n _createClass(StrikeOutAnnotationElement, [{\n key: 'render',\n value: function render() {\n this.container.className = 'strikeoutAnnotation';\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n }]);\n\n return StrikeOutAnnotationElement;\n}(AnnotationElement);\n\nvar StampAnnotationElement = function (_AnnotationElement14) {\n _inherits(StampAnnotationElement, _AnnotationElement14);\n\n function StampAnnotationElement(parameters) {\n _classCallCheck(this, StampAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, (StampAnnotationElement.__proto__ || Object.getPrototypeOf(StampAnnotationElement)).call(this, parameters, isRenderable, true));\n }\n\n _createClass(StampAnnotationElement, [{\n key: 'render',\n value: function render() {\n this.container.className = 'stampAnnotation';\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n }]);\n\n return StampAnnotationElement;\n}(AnnotationElement);\n\nvar FileAttachmentAnnotationElement = function (_AnnotationElement15) {\n _inherits(FileAttachmentAnnotationElement, _AnnotationElement15);\n\n function FileAttachmentAnnotationElement(parameters) {\n _classCallCheck(this, FileAttachmentAnnotationElement);\n\n var _this23 = _possibleConstructorReturn(this, (FileAttachmentAnnotationElement.__proto__ || Object.getPrototypeOf(FileAttachmentAnnotationElement)).call(this, parameters, true));\n\n var _this23$data$file = _this23.data.file,\n filename = _this23$data$file.filename,\n content = _this23$data$file.content;\n\n _this23.filename = (0, _dom_utils.getFilenameFromUrl)(filename);\n _this23.content = content;\n if (_this23.linkService.eventBus) {\n _this23.linkService.eventBus.dispatch('fileattachmentannotation', {\n source: _this23,\n id: (0, _util.stringToPDFString)(filename),\n filename: filename,\n content: content\n });\n }\n return _this23;\n }\n\n _createClass(FileAttachmentAnnotationElement, [{\n key: 'render',\n value: function render() {\n this.container.className = 'fileAttachmentAnnotation';\n var trigger = document.createElement('div');\n trigger.style.height = this.container.style.height;\n trigger.style.width = this.container.style.width;\n trigger.addEventListener('dblclick', this._download.bind(this));\n if (!this.data.hasPopup && (this.data.title || this.data.contents)) {\n this._createPopup(this.container, trigger, this.data);\n }\n this.container.appendChild(trigger);\n return this.container;\n }\n }, {\n key: '_download',\n value: function _download() {\n if (!this.downloadManager) {\n (0, _util.warn)('Download cannot be started due to unavailable download manager');\n return;\n }\n this.downloadManager.downloadData(this.content, this.filename, '');\n }\n }]);\n\n return FileAttachmentAnnotationElement;\n}(AnnotationElement);\n\nvar AnnotationLayer = function () {\n function AnnotationLayer() {\n _classCallCheck(this, AnnotationLayer);\n }\n\n _createClass(AnnotationLayer, null, [{\n key: 'render',\n value: function render(parameters) {\n for (var i = 0, ii = parameters.annotations.length; i < ii; i++) {\n var data = parameters.annotations[i];\n if (!data) {\n continue;\n }\n var element = AnnotationElementFactory.create({\n data: data,\n layer: parameters.div,\n page: parameters.page,\n viewport: parameters.viewport,\n linkService: parameters.linkService,\n downloadManager: parameters.downloadManager,\n imageResourcesPath: parameters.imageResourcesPath || '',\n renderInteractiveForms: parameters.renderInteractiveForms || false,\n svgFactory: new _dom_utils.DOMSVGFactory()\n });\n if (element.isRenderable) {\n parameters.div.appendChild(element.render());\n }\n }\n }\n }, {\n key: 'update',\n value: function update(parameters) {\n for (var i = 0, ii = parameters.annotations.length; i < ii; i++) {\n var data = parameters.annotations[i];\n var element = parameters.div.querySelector('[data-annotation-id=\"' + data.id + '\"]');\n if (element) {\n element.style.transform = 'matrix(' + parameters.viewport.transform.join(',') + ')';\n }\n }\n parameters.div.removeAttribute('hidden');\n }\n }]);\n\n return AnnotationLayer;\n}();\n\nexports.AnnotationLayer = AnnotationLayer;\n\n/***/ }),\n/* 147 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SVGGraphics = undefined;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _dom_utils = __w_pdfjs_require__(130);\n\nvar _is_node = __w_pdfjs_require__(4);\n\nvar _is_node2 = _interopRequireDefault(_is_node);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar SVGGraphics = function SVGGraphics() {\n throw new Error('Not implemented: SVGGraphics');\n};\n{\n var SVG_DEFAULTS = {\n fontStyle: 'normal',\n fontWeight: 'normal',\n fillColor: '#000000'\n };\n var convertImgDataToPng = function convertImgDataToPngClosure() {\n var PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);\n var CHUNK_WRAPPER_SIZE = 12;\n var crcTable = new Int32Array(256);\n for (var i = 0; i < 256; i++) {\n var c = i;\n for (var h = 0; h < 8; h++) {\n if (c & 1) {\n c = 0xedB88320 ^ c >> 1 & 0x7fffffff;\n } else {\n c = c >> 1 & 0x7fffffff;\n }\n }\n crcTable[i] = c;\n }\n function crc32(data, start, end) {\n var crc = -1;\n for (var i = start; i < end; i++) {\n var a = (crc ^ data[i]) & 0xff;\n var b = crcTable[a];\n crc = crc >>> 8 ^ b;\n }\n return crc ^ -1;\n }\n function writePngChunk(type, body, data, offset) {\n var p = offset;\n var len = body.length;\n data[p] = len >> 24 & 0xff;\n data[p + 1] = len >> 16 & 0xff;\n data[p + 2] = len >> 8 & 0xff;\n data[p + 3] = len & 0xff;\n p += 4;\n data[p] = type.charCodeAt(0) & 0xff;\n data[p + 1] = type.charCodeAt(1) & 0xff;\n data[p + 2] = type.charCodeAt(2) & 0xff;\n data[p + 3] = type.charCodeAt(3) & 0xff;\n p += 4;\n data.set(body, p);\n p += body.length;\n var crc = crc32(data, offset + 4, p);\n data[p] = crc >> 24 & 0xff;\n data[p + 1] = crc >> 16 & 0xff;\n data[p + 2] = crc >> 8 & 0xff;\n data[p + 3] = crc & 0xff;\n }\n function adler32(data, start, end) {\n var a = 1;\n var b = 0;\n for (var i = start; i < end; ++i) {\n a = (a + (data[i] & 0xff)) % 65521;\n b = (b + a) % 65521;\n }\n return b << 16 | a;\n }\n function deflateSync(literals) {\n if (!(0, _is_node2.default)()) {\n return deflateSyncUncompressed(literals);\n }\n try {\n var input;\n if (parseInt(process.versions.node) >= 8) {\n input = literals;\n } else {\n input = new Buffer(literals);\n }\n var output = require('zlib').deflateSync(input, { level: 9 });\n return output instanceof Uint8Array ? output : new Uint8Array(output);\n } catch (e) {\n (0, _util.warn)('Not compressing PNG because zlib.deflateSync is unavailable: ' + e);\n }\n return deflateSyncUncompressed(literals);\n }\n function deflateSyncUncompressed(literals) {\n var len = literals.length;\n var maxBlockLength = 0xFFFF;\n var deflateBlocks = Math.ceil(len / maxBlockLength);\n var idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4);\n var pi = 0;\n idat[pi++] = 0x78;\n idat[pi++] = 0x9c;\n var pos = 0;\n while (len > maxBlockLength) {\n idat[pi++] = 0x00;\n idat[pi++] = 0xff;\n idat[pi++] = 0xff;\n idat[pi++] = 0x00;\n idat[pi++] = 0x00;\n idat.set(literals.subarray(pos, pos + maxBlockLength), pi);\n pi += maxBlockLength;\n pos += maxBlockLength;\n len -= maxBlockLength;\n }\n idat[pi++] = 0x01;\n idat[pi++] = len & 0xff;\n idat[pi++] = len >> 8 & 0xff;\n idat[pi++] = ~len & 0xffff & 0xff;\n idat[pi++] = (~len & 0xffff) >> 8 & 0xff;\n idat.set(literals.subarray(pos), pi);\n pi += literals.length - pos;\n var adler = adler32(literals, 0, literals.length);\n idat[pi++] = adler >> 24 & 0xff;\n idat[pi++] = adler >> 16 & 0xff;\n idat[pi++] = adler >> 8 & 0xff;\n idat[pi++] = adler & 0xff;\n return idat;\n }\n function encode(imgData, kind, forceDataSchema, isMask) {\n var width = imgData.width;\n var height = imgData.height;\n var bitDepth, colorType, lineSize;\n var bytes = imgData.data;\n switch (kind) {\n case _util.ImageKind.GRAYSCALE_1BPP:\n colorType = 0;\n bitDepth = 1;\n lineSize = width + 7 >> 3;\n break;\n case _util.ImageKind.RGB_24BPP:\n colorType = 2;\n bitDepth = 8;\n lineSize = width * 3;\n break;\n case _util.ImageKind.RGBA_32BPP:\n colorType = 6;\n bitDepth = 8;\n lineSize = width * 4;\n break;\n default:\n throw new Error('invalid format');\n }\n var literals = new Uint8Array((1 + lineSize) * height);\n var offsetLiterals = 0,\n offsetBytes = 0;\n var y, i;\n for (y = 0; y < height; ++y) {\n literals[offsetLiterals++] = 0;\n literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals);\n offsetBytes += lineSize;\n offsetLiterals += lineSize;\n }\n if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) {\n offsetLiterals = 0;\n for (y = 0; y < height; y++) {\n offsetLiterals++;\n for (i = 0; i < lineSize; i++) {\n literals[offsetLiterals++] ^= 0xFF;\n }\n }\n }\n var ihdr = new Uint8Array([width >> 24 & 0xff, width >> 16 & 0xff, width >> 8 & 0xff, width & 0xff, height >> 24 & 0xff, height >> 16 & 0xff, height >> 8 & 0xff, height & 0xff, bitDepth, colorType, 0x00, 0x00, 0x00]);\n var idat = deflateSync(literals);\n var pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;\n var data = new Uint8Array(pngLength);\n var offset = 0;\n data.set(PNG_HEADER, offset);\n offset += PNG_HEADER.length;\n writePngChunk('IHDR', ihdr, data, offset);\n offset += CHUNK_WRAPPER_SIZE + ihdr.length;\n writePngChunk('IDATA', idat, data, offset);\n offset += CHUNK_WRAPPER_SIZE + idat.length;\n writePngChunk('IEND', new Uint8Array(0), data, offset);\n return (0, _util.createObjectURL)(data, 'image/png', forceDataSchema);\n }\n return function convertImgDataToPng(imgData, forceDataSchema, isMask) {\n var kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind;\n return encode(imgData, kind, forceDataSchema, isMask);\n };\n }();\n var SVGExtraState = function SVGExtraStateClosure() {\n function SVGExtraState() {\n this.fontSizeScale = 1;\n this.fontWeight = SVG_DEFAULTS.fontWeight;\n this.fontSize = 0;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRise = 0;\n this.fillColor = SVG_DEFAULTS.fillColor;\n this.strokeColor = '#000000';\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.lineJoin = '';\n this.lineCap = '';\n this.miterLimit = 0;\n this.dashArray = [];\n this.dashPhase = 0;\n this.dependencies = [];\n this.activeClipUrl = null;\n this.clipGroup = null;\n this.maskId = '';\n }\n SVGExtraState.prototype = {\n clone: function SVGExtraState_clone() {\n return Object.create(this);\n },\n setCurrentPoint: function SVGExtraState_setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n };\n return SVGExtraState;\n }();\n exports.SVGGraphics = SVGGraphics = function SVGGraphicsClosure() {\n function opListToTree(opList) {\n var opTree = [];\n var tmp = [];\n var opListLen = opList.length;\n for (var x = 0; x < opListLen; x++) {\n if (opList[x].fn === 'save') {\n opTree.push({\n 'fnId': 92,\n 'fn': 'group',\n 'items': []\n });\n tmp.push(opTree);\n opTree = opTree[opTree.length - 1].items;\n continue;\n }\n if (opList[x].fn === 'restore') {\n opTree = tmp.pop();\n } else {\n opTree.push(opList[x]);\n }\n }\n return opTree;\n }\n function pf(value) {\n if (Number.isInteger(value)) {\n return value.toString();\n }\n var s = value.toFixed(10);\n var i = s.length - 1;\n if (s[i] !== '0') {\n return s;\n }\n do {\n i--;\n } while (s[i] === '0');\n return s.substring(0, s[i] === '.' ? i : i + 1);\n }\n function pm(m) {\n if (m[4] === 0 && m[5] === 0) {\n if (m[1] === 0 && m[2] === 0) {\n if (m[0] === 1 && m[3] === 1) {\n return '';\n }\n return 'scale(' + pf(m[0]) + ' ' + pf(m[3]) + ')';\n }\n if (m[0] === m[3] && m[1] === -m[2]) {\n var a = Math.acos(m[0]) * 180 / Math.PI;\n return 'rotate(' + pf(a) + ')';\n }\n } else {\n if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {\n return 'translate(' + pf(m[4]) + ' ' + pf(m[5]) + ')';\n }\n }\n return 'matrix(' + pf(m[0]) + ' ' + pf(m[1]) + ' ' + pf(m[2]) + ' ' + pf(m[3]) + ' ' + pf(m[4]) + ' ' + pf(m[5]) + ')';\n }\n function SVGGraphics(commonObjs, objs, forceDataSchema) {\n this.svgFactory = new _dom_utils.DOMSVGFactory();\n this.current = new SVGExtraState();\n this.transformMatrix = _util.IDENTITY_MATRIX;\n this.transformStack = [];\n this.extraStack = [];\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.embedFonts = false;\n this.embeddedFonts = Object.create(null);\n this.cssStyle = null;\n this.forceDataSchema = !!forceDataSchema;\n }\n var XML_NS = 'http://www.w3.org/XML/1998/namespace';\n var XLINK_NS = 'http://www.w3.org/1999/xlink';\n var LINE_CAP_STYLES = ['butt', 'round', 'square'];\n var LINE_JOIN_STYLES = ['miter', 'round', 'bevel'];\n var clipCount = 0;\n var maskCount = 0;\n SVGGraphics.prototype = {\n save: function SVGGraphics_save() {\n this.transformStack.push(this.transformMatrix);\n var old = this.current;\n this.extraStack.push(old);\n this.current = old.clone();\n },\n restore: function SVGGraphics_restore() {\n this.transformMatrix = this.transformStack.pop();\n this.current = this.extraStack.pop();\n this.pendingClip = null;\n this.tgrp = null;\n },\n group: function SVGGraphics_group(items) {\n this.save();\n this.executeOpTree(items);\n this.restore();\n },\n loadDependencies: function SVGGraphics_loadDependencies(operatorList) {\n var _this = this;\n\n var fnArray = operatorList.fnArray;\n var fnArrayLen = fnArray.length;\n var argsArray = operatorList.argsArray;\n for (var i = 0; i < fnArrayLen; i++) {\n if (_util.OPS.dependency === fnArray[i]) {\n var deps = argsArray[i];\n for (var n = 0, nn = deps.length; n < nn; n++) {\n var obj = deps[n];\n var common = obj.substring(0, 2) === 'g_';\n var promise;\n if (common) {\n promise = new Promise(function (resolve) {\n _this.commonObjs.get(obj, resolve);\n });\n } else {\n promise = new Promise(function (resolve) {\n _this.objs.get(obj, resolve);\n });\n }\n this.current.dependencies.push(promise);\n }\n }\n }\n return Promise.all(this.current.dependencies);\n },\n transform: function SVGGraphics_transform(a, b, c, d, e, f) {\n var transformMatrix = [a, b, c, d, e, f];\n this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix);\n this.tgrp = null;\n },\n getSVG: function SVGGraphics_getSVG(operatorList, viewport) {\n var _this2 = this;\n\n this.viewport = viewport;\n var svgElement = this._initialize(viewport);\n return this.loadDependencies(operatorList).then(function () {\n _this2.transformMatrix = _util.IDENTITY_MATRIX;\n var opTree = _this2.convertOpList(operatorList);\n _this2.executeOpTree(opTree);\n return svgElement;\n });\n },\n convertOpList: function SVGGraphics_convertOpList(operatorList) {\n var argsArray = operatorList.argsArray;\n var fnArray = operatorList.fnArray;\n var fnArrayLen = fnArray.length;\n var REVOPS = [];\n var opList = [];\n for (var op in _util.OPS) {\n REVOPS[_util.OPS[op]] = op;\n }\n for (var x = 0; x < fnArrayLen; x++) {\n var fnId = fnArray[x];\n opList.push({\n 'fnId': fnId,\n 'fn': REVOPS[fnId],\n 'args': argsArray[x]\n });\n }\n return opListToTree(opList);\n },\n executeOpTree: function SVGGraphics_executeOpTree(opTree) {\n var opTreeLen = opTree.length;\n for (var x = 0; x < opTreeLen; x++) {\n var fn = opTree[x].fn;\n var fnId = opTree[x].fnId;\n var args = opTree[x].args;\n switch (fnId | 0) {\n case _util.OPS.beginText:\n this.beginText();\n break;\n case _util.OPS.dependency:\n break;\n case _util.OPS.setLeading:\n this.setLeading(args);\n break;\n case _util.OPS.setLeadingMoveText:\n this.setLeadingMoveText(args[0], args[1]);\n break;\n case _util.OPS.setFont:\n this.setFont(args);\n break;\n case _util.OPS.showText:\n this.showText(args[0]);\n break;\n case _util.OPS.showSpacedText:\n this.showText(args[0]);\n break;\n case _util.OPS.endText:\n this.endText();\n break;\n case _util.OPS.moveText:\n this.moveText(args[0], args[1]);\n break;\n case _util.OPS.setCharSpacing:\n this.setCharSpacing(args[0]);\n break;\n case _util.OPS.setWordSpacing:\n this.setWordSpacing(args[0]);\n break;\n case _util.OPS.setHScale:\n this.setHScale(args[0]);\n break;\n case _util.OPS.setTextMatrix:\n this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n case _util.OPS.setTextRise:\n this.setTextRise(args[0]);\n break;\n case _util.OPS.setTextRenderingMode:\n this.setTextRenderingMode(args[0]);\n break;\n case _util.OPS.setLineWidth:\n this.setLineWidth(args[0]);\n break;\n case _util.OPS.setLineJoin:\n this.setLineJoin(args[0]);\n break;\n case _util.OPS.setLineCap:\n this.setLineCap(args[0]);\n break;\n case _util.OPS.setMiterLimit:\n this.setMiterLimit(args[0]);\n break;\n case _util.OPS.setFillRGBColor:\n this.setFillRGBColor(args[0], args[1], args[2]);\n break;\n case _util.OPS.setStrokeRGBColor:\n this.setStrokeRGBColor(args[0], args[1], args[2]);\n break;\n case _util.OPS.setDash:\n this.setDash(args[0], args[1]);\n break;\n case _util.OPS.setGState:\n this.setGState(args[0]);\n break;\n case _util.OPS.fill:\n this.fill();\n break;\n case _util.OPS.eoFill:\n this.eoFill();\n break;\n case _util.OPS.stroke:\n this.stroke();\n break;\n case _util.OPS.fillStroke:\n this.fillStroke();\n break;\n case _util.OPS.eoFillStroke:\n this.eoFillStroke();\n break;\n case _util.OPS.clip:\n this.clip('nonzero');\n break;\n case _util.OPS.eoClip:\n this.clip('evenodd');\n break;\n case _util.OPS.paintSolidColorImageMask:\n this.paintSolidColorImageMask();\n break;\n case _util.OPS.paintJpegXObject:\n this.paintJpegXObject(args[0], args[1], args[2]);\n break;\n case _util.OPS.paintImageXObject:\n this.paintImageXObject(args[0]);\n break;\n case _util.OPS.paintInlineImageXObject:\n this.paintInlineImageXObject(args[0]);\n break;\n case _util.OPS.paintImageMaskXObject:\n this.paintImageMaskXObject(args[0]);\n break;\n case _util.OPS.paintFormXObjectBegin:\n this.paintFormXObjectBegin(args[0], args[1]);\n break;\n case _util.OPS.paintFormXObjectEnd:\n this.paintFormXObjectEnd();\n break;\n case _util.OPS.closePath:\n this.closePath();\n break;\n case _util.OPS.closeStroke:\n this.closeStroke();\n break;\n case _util.OPS.closeFillStroke:\n this.closeFillStroke();\n break;\n case _util.OPS.closeEOFillStroke:\n this.closeEOFillStroke();\n break;\n case _util.OPS.nextLine:\n this.nextLine();\n break;\n case _util.OPS.transform:\n this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n case _util.OPS.constructPath:\n this.constructPath(args[0], args[1]);\n break;\n case _util.OPS.endPath:\n this.endPath();\n break;\n case 92:\n this.group(opTree[x].items);\n break;\n default:\n (0, _util.warn)('Unimplemented operator ' + fn);\n break;\n }\n }\n },\n setWordSpacing: function SVGGraphics_setWordSpacing(wordSpacing) {\n this.current.wordSpacing = wordSpacing;\n },\n setCharSpacing: function SVGGraphics_setCharSpacing(charSpacing) {\n this.current.charSpacing = charSpacing;\n },\n nextLine: function SVGGraphics_nextLine() {\n this.moveText(0, this.current.leading);\n },\n setTextMatrix: function SVGGraphics_setTextMatrix(a, b, c, d, e, f) {\n var current = this.current;\n this.current.textMatrix = this.current.lineMatrix = [a, b, c, d, e, f];\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n current.xcoords = [];\n current.tspan = this.svgFactory.createElement('svg:tspan');\n current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);\n current.tspan.setAttributeNS(null, 'font-size', pf(current.fontSize) + 'px');\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n current.txtElement = this.svgFactory.createElement('svg:text');\n current.txtElement.appendChild(current.tspan);\n },\n beginText: function SVGGraphics_beginText() {\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n this.current.textMatrix = _util.IDENTITY_MATRIX;\n this.current.lineMatrix = _util.IDENTITY_MATRIX;\n this.current.tspan = this.svgFactory.createElement('svg:tspan');\n this.current.txtElement = this.svgFactory.createElement('svg:text');\n this.current.txtgrp = this.svgFactory.createElement('svg:g');\n this.current.xcoords = [];\n },\n moveText: function SVGGraphics_moveText(x, y) {\n var current = this.current;\n this.current.x = this.current.lineX += x;\n this.current.y = this.current.lineY += y;\n current.xcoords = [];\n current.tspan = this.svgFactory.createElement('svg:tspan');\n current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);\n current.tspan.setAttributeNS(null, 'font-size', pf(current.fontSize) + 'px');\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n },\n showText: function SVGGraphics_showText(glyphs) {\n var current = this.current;\n var font = current.font;\n var fontSize = current.fontSize;\n if (fontSize === 0) {\n return;\n }\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var fontDirection = current.fontDirection;\n var textHScale = current.textHScale * fontDirection;\n var glyphsLength = glyphs.length;\n var vertical = font.vertical;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n var x = 0,\n i;\n for (i = 0; i < glyphsLength; ++i) {\n var glyph = glyphs[i];\n if (glyph === null) {\n x += fontDirection * wordSpacing;\n continue;\n } else if ((0, _util.isNum)(glyph)) {\n x += -glyph * fontSize * 0.001;\n continue;\n }\n var width = glyph.width;\n var character = glyph.fontChar;\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var charWidth = width * widthAdvanceScale + spacing * fontDirection;\n if (!glyph.isInFont && !font.missingFile) {\n x += charWidth;\n continue;\n }\n current.xcoords.push(current.x + x * textHScale);\n current.tspan.textContent += character;\n x += charWidth;\n }\n if (vertical) {\n current.y -= x * textHScale;\n } else {\n current.x += x * textHScale;\n }\n current.tspan.setAttributeNS(null, 'x', current.xcoords.map(pf).join(' '));\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);\n current.tspan.setAttributeNS(null, 'font-size', pf(current.fontSize) + 'px');\n if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {\n current.tspan.setAttributeNS(null, 'font-style', current.fontStyle);\n }\n if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {\n current.tspan.setAttributeNS(null, 'font-weight', current.fontWeight);\n }\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n if (current.fillColor !== SVG_DEFAULTS.fillColor) {\n current.tspan.setAttributeNS(null, 'fill', current.fillColor);\n }\n if (current.fillAlpha < 1) {\n current.tspan.setAttributeNS(null, 'fill-opacity', current.fillAlpha);\n }\n } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) {\n current.tspan.setAttributeNS(null, 'fill', 'transparent');\n } else {\n current.tspan.setAttributeNS(null, 'fill', 'none');\n }\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n this._setStrokeAttributes(current.tspan);\n }\n var textMatrix = current.textMatrix;\n if (current.textRise !== 0) {\n textMatrix = textMatrix.slice();\n textMatrix[5] += current.textRise;\n }\n current.txtElement.setAttributeNS(null, 'transform', pm(textMatrix) + ' scale(1, -1)');\n current.txtElement.setAttributeNS(XML_NS, 'xml:space', 'preserve');\n current.txtElement.appendChild(current.tspan);\n current.txtgrp.appendChild(current.txtElement);\n this._ensureTransformGroup().appendChild(current.txtElement);\n },\n setLeadingMoveText: function SVGGraphics_setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n },\n addFontStyle: function SVGGraphics_addFontStyle(fontObj) {\n if (!this.cssStyle) {\n this.cssStyle = this.svgFactory.createElement('svg:style');\n this.cssStyle.setAttributeNS(null, 'type', 'text/css');\n this.defs.appendChild(this.cssStyle);\n }\n var url = (0, _util.createObjectURL)(fontObj.data, fontObj.mimetype, this.forceDataSchema);\n this.cssStyle.textContent += '@font-face { font-family: \"' + fontObj.loadedName + '\";' + ' src: url(' + url + '); }\\n';\n },\n setFont: function SVGGraphics_setFont(details) {\n var current = this.current;\n var fontObj = this.commonObjs.get(details[0]);\n var size = details[1];\n this.current.font = fontObj;\n if (this.embedFonts && fontObj.data && !this.embeddedFonts[fontObj.loadedName]) {\n this.addFontStyle(fontObj);\n this.embeddedFonts[fontObj.loadedName] = fontObj;\n }\n current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n var bold = fontObj.black ? fontObj.bold ? 'bolder' : 'bold' : fontObj.bold ? 'bold' : 'normal';\n var italic = fontObj.italic ? 'italic' : 'normal';\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n current.fontSize = size;\n current.fontFamily = fontObj.loadedName;\n current.fontWeight = bold;\n current.fontStyle = italic;\n current.tspan = this.svgFactory.createElement('svg:tspan');\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n current.xcoords = [];\n },\n endText: function endText() {\n var current = this.current;\n if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && current.txtElement && current.txtElement.hasChildNodes()) {\n current.element = current.txtElement;\n this.clip('nonzero');\n this.endPath();\n }\n },\n\n setLineWidth: function SVGGraphics_setLineWidth(width) {\n this.current.lineWidth = width;\n },\n setLineCap: function SVGGraphics_setLineCap(style) {\n this.current.lineCap = LINE_CAP_STYLES[style];\n },\n setLineJoin: function SVGGraphics_setLineJoin(style) {\n this.current.lineJoin = LINE_JOIN_STYLES[style];\n },\n setMiterLimit: function SVGGraphics_setMiterLimit(limit) {\n this.current.miterLimit = limit;\n },\n setStrokeAlpha: function SVGGraphics_setStrokeAlpha(strokeAlpha) {\n this.current.strokeAlpha = strokeAlpha;\n },\n setStrokeRGBColor: function SVGGraphics_setStrokeRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n this.current.strokeColor = color;\n },\n setFillAlpha: function SVGGraphics_setFillAlpha(fillAlpha) {\n this.current.fillAlpha = fillAlpha;\n },\n setFillRGBColor: function SVGGraphics_setFillRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n this.current.fillColor = color;\n this.current.tspan = this.svgFactory.createElement('svg:tspan');\n this.current.xcoords = [];\n },\n setDash: function SVGGraphics_setDash(dashArray, dashPhase) {\n this.current.dashArray = dashArray;\n this.current.dashPhase = dashPhase;\n },\n constructPath: function SVGGraphics_constructPath(ops, args) {\n var current = this.current;\n var x = current.x,\n y = current.y;\n current.path = this.svgFactory.createElement('svg:path');\n var d = [];\n var opLength = ops.length;\n for (var i = 0, j = 0; i < opLength; i++) {\n switch (ops[i] | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n var width = args[j++];\n var height = args[j++];\n var xw = x + width;\n var yh = y + height;\n d.push('M', pf(x), pf(y), 'L', pf(xw), pf(y), 'L', pf(xw), pf(yh), 'L', pf(x), pf(yh), 'Z');\n break;\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n d.push('M', pf(x), pf(y));\n break;\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n d.push('L', pf(x), pf(y));\n break;\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n d.push('C', pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y));\n j += 6;\n break;\n case _util.OPS.curveTo2:\n x = args[j + 2];\n y = args[j + 3];\n d.push('C', pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]));\n j += 4;\n break;\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n d.push('C', pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y));\n j += 4;\n break;\n case _util.OPS.closePath:\n d.push('Z');\n break;\n }\n }\n current.path.setAttributeNS(null, 'd', d.join(' '));\n current.path.setAttributeNS(null, 'fill', 'none');\n this._ensureTransformGroup().appendChild(current.path);\n current.element = current.path;\n current.setCurrentPoint(x, y);\n },\n endPath: function SVGGraphics_endPath() {\n if (!this.pendingClip) {\n return;\n }\n var current = this.current;\n var clipId = 'clippath' + clipCount;\n clipCount++;\n var clipPath = this.svgFactory.createElement('svg:clipPath');\n clipPath.setAttributeNS(null, 'id', clipId);\n clipPath.setAttributeNS(null, 'transform', pm(this.transformMatrix));\n var clipElement = current.element.cloneNode(true);\n if (this.pendingClip === 'evenodd') {\n clipElement.setAttributeNS(null, 'clip-rule', 'evenodd');\n } else {\n clipElement.setAttributeNS(null, 'clip-rule', 'nonzero');\n }\n this.pendingClip = null;\n clipPath.appendChild(clipElement);\n this.defs.appendChild(clipPath);\n if (current.activeClipUrl) {\n current.clipGroup = null;\n this.extraStack.forEach(function (prev) {\n prev.clipGroup = null;\n });\n clipPath.setAttributeNS(null, 'clip-path', current.activeClipUrl);\n }\n current.activeClipUrl = 'url(#' + clipId + ')';\n this.tgrp = null;\n },\n clip: function SVGGraphics_clip(type) {\n this.pendingClip = type;\n },\n closePath: function SVGGraphics_closePath() {\n var current = this.current;\n if (current.path) {\n var d = current.path.getAttributeNS(null, 'd');\n d += 'Z';\n current.path.setAttributeNS(null, 'd', d);\n }\n },\n setLeading: function SVGGraphics_setLeading(leading) {\n this.current.leading = -leading;\n },\n setTextRise: function SVGGraphics_setTextRise(textRise) {\n this.current.textRise = textRise;\n },\n setTextRenderingMode: function setTextRenderingMode(textRenderingMode) {\n this.current.textRenderingMode = textRenderingMode;\n },\n\n setHScale: function SVGGraphics_setHScale(scale) {\n this.current.textHScale = scale / 100;\n },\n setGState: function SVGGraphics_setGState(states) {\n for (var i = 0, ii = states.length; i < ii; i++) {\n var state = states[i];\n var key = state[0];\n var value = state[1];\n switch (key) {\n case 'LW':\n this.setLineWidth(value);\n break;\n case 'LC':\n this.setLineCap(value);\n break;\n case 'LJ':\n this.setLineJoin(value);\n break;\n case 'ML':\n this.setMiterLimit(value);\n break;\n case 'D':\n this.setDash(value[0], value[1]);\n break;\n case 'Font':\n this.setFont(value);\n break;\n case 'CA':\n this.setStrokeAlpha(value);\n break;\n case 'ca':\n this.setFillAlpha(value);\n break;\n default:\n (0, _util.warn)('Unimplemented graphic state ' + key);\n break;\n }\n }\n },\n fill: function SVGGraphics_fill() {\n var current = this.current;\n if (current.element) {\n current.element.setAttributeNS(null, 'fill', current.fillColor);\n current.element.setAttributeNS(null, 'fill-opacity', current.fillAlpha);\n this.endPath();\n }\n },\n stroke: function SVGGraphics_stroke() {\n var current = this.current;\n if (current.element) {\n this._setStrokeAttributes(current.element);\n current.element.setAttributeNS(null, 'fill', 'none');\n this.endPath();\n }\n },\n _setStrokeAttributes: function _setStrokeAttributes(element) {\n var current = this.current;\n element.setAttributeNS(null, 'stroke', current.strokeColor);\n element.setAttributeNS(null, 'stroke-opacity', current.strokeAlpha);\n element.setAttributeNS(null, 'stroke-miterlimit', pf(current.miterLimit));\n element.setAttributeNS(null, 'stroke-linecap', current.lineCap);\n element.setAttributeNS(null, 'stroke-linejoin', current.lineJoin);\n element.setAttributeNS(null, 'stroke-width', pf(current.lineWidth) + 'px');\n element.setAttributeNS(null, 'stroke-dasharray', current.dashArray.map(pf).join(' '));\n element.setAttributeNS(null, 'stroke-dashoffset', pf(current.dashPhase) + 'px');\n },\n\n eoFill: function SVGGraphics_eoFill() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, 'fill-rule', 'evenodd');\n }\n this.fill();\n },\n fillStroke: function SVGGraphics_fillStroke() {\n this.stroke();\n this.fill();\n },\n eoFillStroke: function SVGGraphics_eoFillStroke() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, 'fill-rule', 'evenodd');\n }\n this.fillStroke();\n },\n closeStroke: function SVGGraphics_closeStroke() {\n this.closePath();\n this.stroke();\n },\n closeFillStroke: function SVGGraphics_closeFillStroke() {\n this.closePath();\n this.fillStroke();\n },\n closeEOFillStroke: function closeEOFillStroke() {\n this.closePath();\n this.eoFillStroke();\n },\n\n paintSolidColorImageMask: function SVGGraphics_paintSolidColorImageMask() {\n var current = this.current;\n var rect = this.svgFactory.createElement('svg:rect');\n rect.setAttributeNS(null, 'x', '0');\n rect.setAttributeNS(null, 'y', '0');\n rect.setAttributeNS(null, 'width', '1px');\n rect.setAttributeNS(null, 'height', '1px');\n rect.setAttributeNS(null, 'fill', current.fillColor);\n this._ensureTransformGroup().appendChild(rect);\n },\n paintJpegXObject: function SVGGraphics_paintJpegXObject(objId, w, h) {\n var imgObj = this.objs.get(objId);\n var imgEl = this.svgFactory.createElement('svg:image');\n imgEl.setAttributeNS(XLINK_NS, 'xlink:href', imgObj.src);\n imgEl.setAttributeNS(null, 'width', pf(w));\n imgEl.setAttributeNS(null, 'height', pf(h));\n imgEl.setAttributeNS(null, 'x', '0');\n imgEl.setAttributeNS(null, 'y', pf(-h));\n imgEl.setAttributeNS(null, 'transform', 'scale(' + pf(1 / w) + ' ' + pf(-1 / h) + ')');\n this._ensureTransformGroup().appendChild(imgEl);\n },\n paintImageXObject: function SVGGraphics_paintImageXObject(objId) {\n var imgData = this.objs.get(objId);\n if (!imgData) {\n (0, _util.warn)('Dependent image isn\\'t ready yet');\n return;\n }\n this.paintInlineImageXObject(imgData);\n },\n paintInlineImageXObject: function SVGGraphics_paintInlineImageXObject(imgData, mask) {\n var width = imgData.width;\n var height = imgData.height;\n var imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);\n var cliprect = this.svgFactory.createElement('svg:rect');\n cliprect.setAttributeNS(null, 'x', '0');\n cliprect.setAttributeNS(null, 'y', '0');\n cliprect.setAttributeNS(null, 'width', pf(width));\n cliprect.setAttributeNS(null, 'height', pf(height));\n this.current.element = cliprect;\n this.clip('nonzero');\n var imgEl = this.svgFactory.createElement('svg:image');\n imgEl.setAttributeNS(XLINK_NS, 'xlink:href', imgSrc);\n imgEl.setAttributeNS(null, 'x', '0');\n imgEl.setAttributeNS(null, 'y', pf(-height));\n imgEl.setAttributeNS(null, 'width', pf(width) + 'px');\n imgEl.setAttributeNS(null, 'height', pf(height) + 'px');\n imgEl.setAttributeNS(null, 'transform', 'scale(' + pf(1 / width) + ' ' + pf(-1 / height) + ')');\n if (mask) {\n mask.appendChild(imgEl);\n } else {\n this._ensureTransformGroup().appendChild(imgEl);\n }\n },\n paintImageMaskXObject: function SVGGraphics_paintImageMaskXObject(imgData) {\n var current = this.current;\n var width = imgData.width;\n var height = imgData.height;\n var fillColor = current.fillColor;\n current.maskId = 'mask' + maskCount++;\n var mask = this.svgFactory.createElement('svg:mask');\n mask.setAttributeNS(null, 'id', current.maskId);\n var rect = this.svgFactory.createElement('svg:rect');\n rect.setAttributeNS(null, 'x', '0');\n rect.setAttributeNS(null, 'y', '0');\n rect.setAttributeNS(null, 'width', pf(width));\n rect.setAttributeNS(null, 'height', pf(height));\n rect.setAttributeNS(null, 'fill', fillColor);\n rect.setAttributeNS(null, 'mask', 'url(#' + current.maskId + ')');\n this.defs.appendChild(mask);\n this._ensureTransformGroup().appendChild(rect);\n this.paintInlineImageXObject(imgData, mask);\n },\n paintFormXObjectBegin: function SVGGraphics_paintFormXObjectBegin(matrix, bbox) {\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);\n }\n if (Array.isArray(bbox) && bbox.length === 4) {\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n var cliprect = this.svgFactory.createElement('svg:rect');\n cliprect.setAttributeNS(null, 'x', bbox[0]);\n cliprect.setAttributeNS(null, 'y', bbox[1]);\n cliprect.setAttributeNS(null, 'width', pf(width));\n cliprect.setAttributeNS(null, 'height', pf(height));\n this.current.element = cliprect;\n this.clip('nonzero');\n this.endPath();\n }\n },\n paintFormXObjectEnd: function SVGGraphics_paintFormXObjectEnd() {},\n _initialize: function _initialize(viewport) {\n var svg = this.svgFactory.create(viewport.width, viewport.height);\n var definitions = this.svgFactory.createElement('svg:defs');\n svg.appendChild(definitions);\n this.defs = definitions;\n var rootGroup = this.svgFactory.createElement('svg:g');\n rootGroup.setAttributeNS(null, 'transform', pm(viewport.transform));\n svg.appendChild(rootGroup);\n this.svg = rootGroup;\n return svg;\n },\n\n _ensureClipGroup: function SVGGraphics_ensureClipGroup() {\n if (!this.current.clipGroup) {\n var clipGroup = this.svgFactory.createElement('svg:g');\n clipGroup.setAttributeNS(null, 'clip-path', this.current.activeClipUrl);\n this.svg.appendChild(clipGroup);\n this.current.clipGroup = clipGroup;\n }\n return this.current.clipGroup;\n },\n _ensureTransformGroup: function SVGGraphics_ensureTransformGroup() {\n if (!this.tgrp) {\n this.tgrp = this.svgFactory.createElement('svg:g');\n this.tgrp.setAttributeNS(null, 'transform', pm(this.transformMatrix));\n if (this.current.activeClipUrl) {\n this._ensureClipGroup().appendChild(this.tgrp);\n } else {\n this.svg.appendChild(this.tgrp);\n }\n }\n return this.tgrp;\n }\n };\n return SVGGraphics;\n }();\n}\nexports.SVGGraphics = SVGGraphics;\n\n/***/ }),\n/* 148 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFNodeStream = undefined;\n\nvar _regenerator = __w_pdfjs_require__(137);\n\nvar _regenerator2 = _interopRequireDefault(_regenerator);\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(149);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar fs = require('fs');\nvar http = require('http');\nvar https = require('https');\nvar url = require('url');\n\nvar fileUriRegex = /^file:\\/\\/\\/[a-zA-Z]:\\//;\nfunction parseUrl(sourceUrl) {\n var parsedUrl = url.parse(sourceUrl);\n if (parsedUrl.protocol === 'file:' || parsedUrl.host) {\n return parsedUrl;\n }\n if (/^[a-z]:[/\\\\]/i.test(sourceUrl)) {\n return url.parse('file:///' + sourceUrl);\n }\n if (!parsedUrl.host) {\n parsedUrl.protocol = 'file:';\n }\n return parsedUrl;\n}\n\nvar PDFNodeStream = function () {\n function PDFNodeStream(source) {\n _classCallCheck(this, PDFNodeStream);\n\n this.source = source;\n this.url = parseUrl(source.url);\n this.isHttp = this.url.protocol === 'http:' || this.url.protocol === 'https:';\n this.isFsUrl = this.url.protocol === 'file:';\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequest = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFNodeStream, [{\n key: 'getFullReader',\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequest);\n this._fullRequest = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);\n return this._fullRequest;\n }\n }, {\n key: 'getRangeReader',\n value: function getRangeReader(start, end) {\n var rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);\n this._rangeRequestReaders.push(rangeReader);\n return rangeReader;\n }\n }, {\n key: 'cancelAllRequests',\n value: function cancelAllRequests(reason) {\n if (this._fullRequest) {\n this._fullRequest.cancel(reason);\n }\n var readers = this._rangeRequestReaders.slice(0);\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }]);\n\n return PDFNodeStream;\n}();\n\nvar BaseFullReader = function () {\n function BaseFullReader(stream) {\n _classCallCheck(this, BaseFullReader);\n\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n var source = stream.source;\n this._contentLength = source.length;\n this._loaded = 0;\n this._filename = null;\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._headersCapability = (0, _util.createPromiseCapability)();\n }\n\n _createClass(BaseFullReader, [{\n key: 'read',\n value: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee() {\n var chunk, buffer;\n return _regenerator2.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._readCapability.promise;\n\n case 2:\n if (!this._done) {\n _context.next = 4;\n break;\n }\n\n return _context.abrupt('return', {\n value: undefined,\n done: true\n });\n\n case 4:\n if (!this._storedError) {\n _context.next = 6;\n break;\n }\n\n throw this._storedError;\n\n case 6:\n chunk = this._readableStream.read();\n\n if (!(chunk === null)) {\n _context.next = 10;\n break;\n }\n\n this._readCapability = (0, _util.createPromiseCapability)();\n return _context.abrupt('return', this.read());\n\n case 10:\n this._loaded += chunk.length;\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n buffer = new Uint8Array(chunk).buffer;\n return _context.abrupt('return', {\n value: buffer,\n done: false\n });\n\n case 14:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _ref.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: 'cancel',\n value: function cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n return;\n }\n this._readableStream.destroy(reason);\n }\n }, {\n key: '_error',\n value: function _error(reason) {\n this._storedError = reason;\n this._readCapability.resolve();\n }\n }, {\n key: '_setReadableStream',\n value: function _setReadableStream(readableStream) {\n var _this = this;\n\n this._readableStream = readableStream;\n readableStream.on('readable', function () {\n _this._readCapability.resolve();\n });\n readableStream.on('end', function () {\n readableStream.destroy();\n _this._done = true;\n _this._readCapability.resolve();\n });\n readableStream.on('error', function (reason) {\n _this._error(reason);\n });\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this._error(new _util.AbortException('streaming is disabled'));\n }\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n }, {\n key: 'headersReady',\n get: function get() {\n return this._headersCapability.promise;\n }\n }, {\n key: 'filename',\n get: function get() {\n return this._filename;\n }\n }, {\n key: 'contentLength',\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: 'isRangeSupported',\n get: function get() {\n return this._isRangeSupported;\n }\n }, {\n key: 'isStreamingSupported',\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return BaseFullReader;\n}();\n\nvar BaseRangeReader = function () {\n function BaseRangeReader(stream) {\n _classCallCheck(this, BaseRangeReader);\n\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n this._loaded = 0;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n var source = stream.source;\n this._isStreamingSupported = !source.disableStream;\n }\n\n _createClass(BaseRangeReader, [{\n key: 'read',\n value: function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee2() {\n var chunk, buffer;\n return _regenerator2.default.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this._readCapability.promise;\n\n case 2:\n if (!this._done) {\n _context2.next = 4;\n break;\n }\n\n return _context2.abrupt('return', {\n value: undefined,\n done: true\n });\n\n case 4:\n if (!this._storedError) {\n _context2.next = 6;\n break;\n }\n\n throw this._storedError;\n\n case 6:\n chunk = this._readableStream.read();\n\n if (!(chunk === null)) {\n _context2.next = 10;\n break;\n }\n\n this._readCapability = (0, _util.createPromiseCapability)();\n return _context2.abrupt('return', this.read());\n\n case 10:\n this._loaded += chunk.length;\n if (this.onProgress) {\n this.onProgress({ loaded: this._loaded });\n }\n buffer = new Uint8Array(chunk).buffer;\n return _context2.abrupt('return', {\n value: buffer,\n done: false\n });\n\n case 14:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _ref2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: 'cancel',\n value: function cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n return;\n }\n this._readableStream.destroy(reason);\n }\n }, {\n key: '_error',\n value: function _error(reason) {\n this._storedError = reason;\n this._readCapability.resolve();\n }\n }, {\n key: '_setReadableStream',\n value: function _setReadableStream(readableStream) {\n var _this2 = this;\n\n this._readableStream = readableStream;\n readableStream.on('readable', function () {\n _this2._readCapability.resolve();\n });\n readableStream.on('end', function () {\n readableStream.destroy();\n _this2._done = true;\n _this2._readCapability.resolve();\n });\n readableStream.on('error', function (reason) {\n _this2._error(reason);\n });\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n }, {\n key: 'isStreamingSupported',\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return BaseRangeReader;\n}();\n\nfunction createRequestOptions(url, headers) {\n return {\n protocol: url.protocol,\n auth: url.auth,\n host: url.hostname,\n port: url.port,\n path: url.path,\n method: 'GET',\n headers: headers\n };\n}\n\nvar PDFNodeStreamFullReader = function (_BaseFullReader) {\n _inherits(PDFNodeStreamFullReader, _BaseFullReader);\n\n function PDFNodeStreamFullReader(stream) {\n _classCallCheck(this, PDFNodeStreamFullReader);\n\n var _this3 = _possibleConstructorReturn(this, (PDFNodeStreamFullReader.__proto__ || Object.getPrototypeOf(PDFNodeStreamFullReader)).call(this, stream));\n\n var handleResponse = function handleResponse(response) {\n if (response.statusCode === 404) {\n var error = new _util.MissingPDFException('Missing PDF \"' + _this3._url + '\".');\n _this3._storedError = error;\n _this3._headersCapability.reject(error);\n return;\n }\n _this3._headersCapability.resolve();\n _this3._setReadableStream(response);\n var getResponseHeader = function getResponseHeader(name) {\n return _this3._readableStream.headers[name.toLowerCase()];\n };\n\n var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: stream.isHttp,\n rangeChunkSize: _this3._rangeChunkSize,\n disableRange: _this3._disableRange\n }),\n allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n suggestedLength = _validateRangeRequest.suggestedLength;\n\n _this3._isRangeSupported = allowRangeRequests;\n _this3._contentLength = suggestedLength || _this3._contentLength;\n _this3._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n };\n _this3._request = null;\n if (_this3._url.protocol === 'http:') {\n _this3._request = http.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse);\n } else {\n _this3._request = https.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse);\n }\n _this3._request.on('error', function (reason) {\n _this3._storedError = reason;\n _this3._headersCapability.reject(reason);\n });\n _this3._request.end();\n return _this3;\n }\n\n return PDFNodeStreamFullReader;\n}(BaseFullReader);\n\nvar PDFNodeStreamRangeReader = function (_BaseRangeReader) {\n _inherits(PDFNodeStreamRangeReader, _BaseRangeReader);\n\n function PDFNodeStreamRangeReader(stream, start, end) {\n _classCallCheck(this, PDFNodeStreamRangeReader);\n\n var _this4 = _possibleConstructorReturn(this, (PDFNodeStreamRangeReader.__proto__ || Object.getPrototypeOf(PDFNodeStreamRangeReader)).call(this, stream));\n\n _this4._httpHeaders = {};\n for (var property in stream.httpHeaders) {\n var value = stream.httpHeaders[property];\n if (typeof value === 'undefined') {\n continue;\n }\n _this4._httpHeaders[property] = value;\n }\n _this4._httpHeaders['Range'] = 'bytes=' + start + '-' + (end - 1);\n var handleResponse = function handleResponse(response) {\n if (response.statusCode === 404) {\n var error = new _util.MissingPDFException('Missing PDF \"' + _this4._url + '\".');\n _this4._storedError = error;\n return;\n }\n _this4._setReadableStream(response);\n };\n _this4._request = null;\n if (_this4._url.protocol === 'http:') {\n _this4._request = http.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse);\n } else {\n _this4._request = https.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse);\n }\n _this4._request.on('error', function (reason) {\n _this4._storedError = reason;\n });\n _this4._request.end();\n return _this4;\n }\n\n return PDFNodeStreamRangeReader;\n}(BaseRangeReader);\n\nvar PDFNodeStreamFsFullReader = function (_BaseFullReader2) {\n _inherits(PDFNodeStreamFsFullReader, _BaseFullReader2);\n\n function PDFNodeStreamFsFullReader(stream) {\n _classCallCheck(this, PDFNodeStreamFsFullReader);\n\n var _this5 = _possibleConstructorReturn(this, (PDFNodeStreamFsFullReader.__proto__ || Object.getPrototypeOf(PDFNodeStreamFsFullReader)).call(this, stream));\n\n var path = decodeURIComponent(_this5._url.path);\n if (fileUriRegex.test(_this5._url.href)) {\n path = path.replace(/^\\//, '');\n }\n fs.lstat(path, function (error, stat) {\n if (error) {\n if (error.code === 'ENOENT') {\n error = new _util.MissingPDFException('Missing PDF \"' + path + '\".');\n }\n _this5._storedError = error;\n _this5._headersCapability.reject(error);\n return;\n }\n _this5._contentLength = stat.size;\n _this5._setReadableStream(fs.createReadStream(path));\n _this5._headersCapability.resolve();\n });\n return _this5;\n }\n\n return PDFNodeStreamFsFullReader;\n}(BaseFullReader);\n\nvar PDFNodeStreamFsRangeReader = function (_BaseRangeReader2) {\n _inherits(PDFNodeStreamFsRangeReader, _BaseRangeReader2);\n\n function PDFNodeStreamFsRangeReader(stream, start, end) {\n _classCallCheck(this, PDFNodeStreamFsRangeReader);\n\n var _this6 = _possibleConstructorReturn(this, (PDFNodeStreamFsRangeReader.__proto__ || Object.getPrototypeOf(PDFNodeStreamFsRangeReader)).call(this, stream));\n\n var path = decodeURIComponent(_this6._url.path);\n if (fileUriRegex.test(_this6._url.href)) {\n path = path.replace(/^\\//, '');\n }\n _this6._setReadableStream(fs.createReadStream(path, {\n start: start,\n end: end - 1\n }));\n return _this6;\n }\n\n return PDFNodeStreamFsRangeReader;\n}(BaseRangeReader);\n\nexports.PDFNodeStream = PDFNodeStream;\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.validateResponseStatus = exports.validateRangeRequestCapabilities = exports.extractFilenameFromHeader = exports.createResponseStatusError = undefined;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _content_disposition = __w_pdfjs_require__(150);\n\nfunction validateRangeRequestCapabilities(_ref) {\n var getResponseHeader = _ref.getResponseHeader,\n isHttp = _ref.isHttp,\n rangeChunkSize = _ref.rangeChunkSize,\n disableRange = _ref.disableRange;\n\n (0, _util.assert)(rangeChunkSize > 0, 'Range chunk size must be larger than zero');\n var returnValues = {\n allowRangeRequests: false,\n suggestedLength: undefined\n };\n var length = parseInt(getResponseHeader('Content-Length'), 10);\n if (!Number.isInteger(length)) {\n return returnValues;\n }\n returnValues.suggestedLength = length;\n if (length <= 2 * rangeChunkSize) {\n return returnValues;\n }\n if (disableRange || !isHttp) {\n return returnValues;\n }\n if (getResponseHeader('Accept-Ranges') !== 'bytes') {\n return returnValues;\n }\n var contentEncoding = getResponseHeader('Content-Encoding') || 'identity';\n if (contentEncoding !== 'identity') {\n return returnValues;\n }\n returnValues.allowRangeRequests = true;\n return returnValues;\n}\nfunction extractFilenameFromHeader(getResponseHeader) {\n var contentDisposition = getResponseHeader('Content-Disposition');\n if (contentDisposition) {\n var filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);\n if (/\\.pdf$/i.test(filename)) {\n return filename;\n }\n }\n return null;\n}\nfunction createResponseStatusError(status, url) {\n if (status === 404 || status === 0 && /^file:/.test(url)) {\n return new _util.MissingPDFException('Missing PDF \"' + url + '\".');\n }\n return new _util.UnexpectedResponseException('Unexpected server response (' + status + ') while retrieving PDF \"' + url + '\".', status);\n}\nfunction validateResponseStatus(status) {\n return status === 200 || status === 206;\n}\nexports.createResponseStatusError = createResponseStatusError;\nexports.extractFilenameFromHeader = extractFilenameFromHeader;\nexports.validateRangeRequestCapabilities = validateRangeRequestCapabilities;\nexports.validateResponseStatus = validateResponseStatus;\n\n/***/ }),\n/* 150 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nfunction getFilenameFromContentDispositionHeader(contentDisposition) {\n var needsEncodingFixup = true;\n var tmp = toParamRegExp('filename\\\\*', 'i').exec(contentDisposition);\n if (tmp) {\n tmp = tmp[1];\n var filename = rfc2616unquote(tmp);\n filename = unescape(filename);\n filename = rfc5987decode(filename);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n tmp = rfc2231getparam(contentDisposition);\n if (tmp) {\n var _filename = rfc2047decode(tmp);\n return fixupEncoding(_filename);\n }\n tmp = toParamRegExp('filename', 'i').exec(contentDisposition);\n if (tmp) {\n tmp = tmp[1];\n var _filename2 = rfc2616unquote(tmp);\n _filename2 = rfc2047decode(_filename2);\n return fixupEncoding(_filename2);\n }\n function toParamRegExp(attributePattern, flags) {\n return new RegExp('(?:^|;)\\\\s*' + attributePattern + '\\\\s*=\\\\s*' + '(' + '[^\";\\\\s][^;\\\\s]*' + '|' + '\"(?:[^\"\\\\\\\\]|\\\\\\\\\"?)+\"?' + ')', flags);\n }\n function textdecode(encoding, value) {\n if (encoding) {\n if (!/^[\\x00-\\xFF]+$/.test(value)) {\n return value;\n }\n try {\n var decoder = new TextDecoder(encoding, { fatal: true });\n var bytes = new Array(value.length);\n for (var i = 0; i < value.length; ++i) {\n bytes[i] = value.charCodeAt(i);\n }\n value = decoder.decode(new Uint8Array(bytes));\n needsEncodingFixup = false;\n } catch (e) {\n if (/^utf-?8$/i.test(encoding)) {\n try {\n value = decodeURIComponent(escape(value));\n needsEncodingFixup = false;\n } catch (err) {}\n }\n }\n }\n return value;\n }\n function fixupEncoding(value) {\n if (needsEncodingFixup && /[\\x80-\\xff]/.test(value)) {\n value = textdecode('utf-8', value);\n if (needsEncodingFixup) {\n value = textdecode('iso-8859-1', value);\n }\n }\n return value;\n }\n function rfc2231getparam(contentDisposition) {\n var matches = [],\n match = void 0;\n var iter = toParamRegExp('filename\\\\*((?!0\\\\d)\\\\d+)(\\\\*?)', 'ig');\n while ((match = iter.exec(contentDisposition)) !== null) {\n var _match = match,\n _match2 = _slicedToArray(_match, 4),\n n = _match2[1],\n quot = _match2[2],\n part = _match2[3];\n\n n = parseInt(n, 10);\n if (n in matches) {\n if (n === 0) {\n break;\n }\n continue;\n }\n matches[n] = [quot, part];\n }\n var parts = [];\n for (var _n = 0; _n < matches.length; ++_n) {\n if (!(_n in matches)) {\n break;\n }\n\n var _matches$_n = _slicedToArray(matches[_n], 2),\n _quot = _matches$_n[0],\n _part = _matches$_n[1];\n\n _part = rfc2616unquote(_part);\n if (_quot) {\n _part = unescape(_part);\n if (_n === 0) {\n _part = rfc5987decode(_part);\n }\n }\n parts.push(_part);\n }\n return parts.join('');\n }\n function rfc2616unquote(value) {\n if (value.charAt(0) === '\"') {\n var parts = value.slice(1).split('\\\\\"');\n for (var i = 0; i < parts.length; ++i) {\n var quotindex = parts[i].indexOf('\"');\n if (quotindex !== -1) {\n parts[i] = parts[i].slice(0, quotindex);\n parts.length = i + 1;\n }\n parts[i] = parts[i].replace(/\\\\(.)/g, '$1');\n }\n value = parts.join('\"');\n }\n return value;\n }\n function rfc5987decode(extvalue) {\n var encodingend = extvalue.indexOf('\\'');\n if (encodingend === -1) {\n return extvalue;\n }\n var encoding = extvalue.slice(0, encodingend);\n var langvalue = extvalue.slice(encodingend + 1);\n var value = langvalue.replace(/^[^']*'/, '');\n return textdecode(encoding, value);\n }\n function rfc2047decode(value) {\n if (value.slice(0, 2) !== '=?' || /[\\x00-\\x19\\x80-\\xff]/.test(value)) {\n return value;\n }\n return value.replace(/=\\?([\\w-]*)\\?([QqBb])\\?((?:[^?]|\\?(?!=))*)\\?=/g, function (_, charset, encoding, text) {\n if (encoding === 'q' || encoding === 'Q') {\n text = text.replace(/_/g, ' ');\n text = text.replace(/=([0-9a-fA-F]{2})/g, function (_, hex) {\n return String.fromCharCode(parseInt(hex, 16));\n });\n return textdecode(charset, text);\n }\n try {\n text = atob(text);\n } catch (e) {}\n return textdecode(charset, text);\n });\n }\n return '';\n}\nexports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader;\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFFetchStream = undefined;\n\nvar _regenerator = __w_pdfjs_require__(137);\n\nvar _regenerator2 = _interopRequireDefault(_regenerator);\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(149);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction createFetchOptions(headers, withCredentials, abortController) {\n return {\n method: 'GET',\n headers: headers,\n signal: abortController && abortController.signal,\n mode: 'cors',\n credentials: withCredentials ? 'include' : 'same-origin',\n redirect: 'follow'\n };\n}\n\nvar PDFFetchStream = function () {\n function PDFFetchStream(source) {\n _classCallCheck(this, PDFFetchStream);\n\n this.source = source;\n this.isHttp = /^https?:/i.test(source.url);\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFFetchStream, [{\n key: 'getFullReader',\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n this._fullRequestReader = new PDFFetchStreamReader(this);\n return this._fullRequestReader;\n }\n }, {\n key: 'getRangeReader',\n value: function getRangeReader(begin, end) {\n var reader = new PDFFetchStreamRangeReader(this, begin, end);\n this._rangeRequestReaders.push(reader);\n return reader;\n }\n }, {\n key: 'cancelAllRequests',\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n var readers = this._rangeRequestReaders.slice(0);\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }]);\n\n return PDFFetchStream;\n}();\n\nvar PDFFetchStreamReader = function () {\n function PDFFetchStreamReader(stream) {\n var _this = this;\n\n _classCallCheck(this, PDFFetchStreamReader);\n\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n this._filename = null;\n var source = stream.source;\n this._withCredentials = source.withCredentials;\n this._contentLength = source.length;\n this._headersCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n if (typeof AbortController !== 'undefined') {\n this._abortController = new AbortController();\n }\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._headers = new Headers();\n for (var property in this._stream.httpHeaders) {\n var value = this._stream.httpHeaders[property];\n if (typeof value === 'undefined') {\n continue;\n }\n this._headers.append(property, value);\n }\n var url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n _this._reader = response.body.getReader();\n _this._headersCapability.resolve();\n var getResponseHeader = function getResponseHeader(name) {\n return response.headers.get(name);\n };\n\n var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: _this._stream.isHttp,\n rangeChunkSize: _this._rangeChunkSize,\n disableRange: _this._disableRange\n }),\n allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n suggestedLength = _validateRangeRequest.suggestedLength;\n\n _this._isRangeSupported = allowRangeRequests;\n _this._contentLength = suggestedLength || _this._contentLength;\n _this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n if (!_this._isStreamingSupported && _this._isRangeSupported) {\n _this.cancel(new _util.AbortException('streaming is disabled'));\n }\n }).catch(this._headersCapability.reject);\n this.onProgress = null;\n }\n\n _createClass(PDFFetchStreamReader, [{\n key: 'read',\n value: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee() {\n var _ref2, value, done, buffer;\n\n return _regenerator2.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._headersCapability.promise;\n\n case 2:\n _context.next = 4;\n return this._reader.read();\n\n case 4:\n _ref2 = _context.sent;\n value = _ref2.value;\n done = _ref2.done;\n\n if (!done) {\n _context.next = 9;\n break;\n }\n\n return _context.abrupt('return', {\n value: value,\n done: done\n });\n\n case 9:\n this._loaded += value.byteLength;\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n buffer = new Uint8Array(value).buffer;\n return _context.abrupt('return', {\n value: buffer,\n done: false\n });\n\n case 13:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _ref.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: 'cancel',\n value: function cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n }, {\n key: 'headersReady',\n get: function get() {\n return this._headersCapability.promise;\n }\n }, {\n key: 'filename',\n get: function get() {\n return this._filename;\n }\n }, {\n key: 'contentLength',\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: 'isRangeSupported',\n get: function get() {\n return this._isRangeSupported;\n }\n }, {\n key: 'isStreamingSupported',\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return PDFFetchStreamReader;\n}();\n\nvar PDFFetchStreamRangeReader = function () {\n function PDFFetchStreamRangeReader(stream, begin, end) {\n var _this2 = this;\n\n _classCallCheck(this, PDFFetchStreamRangeReader);\n\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n var source = stream.source;\n this._withCredentials = source.withCredentials;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._isStreamingSupported = !source.disableStream;\n if (typeof AbortController !== 'undefined') {\n this._abortController = new AbortController();\n }\n this._headers = new Headers();\n for (var property in this._stream.httpHeaders) {\n var value = this._stream.httpHeaders[property];\n if (typeof value === 'undefined') {\n continue;\n }\n this._headers.append(property, value);\n }\n var rangeStr = begin + '-' + (end - 1);\n this._headers.append('Range', 'bytes=' + rangeStr);\n var url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n _this2._readCapability.resolve();\n _this2._reader = response.body.getReader();\n });\n this.onProgress = null;\n }\n\n _createClass(PDFFetchStreamRangeReader, [{\n key: 'read',\n value: function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee2() {\n var _ref4, value, done, buffer;\n\n return _regenerator2.default.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this._readCapability.promise;\n\n case 2:\n _context2.next = 4;\n return this._reader.read();\n\n case 4:\n _ref4 = _context2.sent;\n value = _ref4.value;\n done = _ref4.done;\n\n if (!done) {\n _context2.next = 9;\n break;\n }\n\n return _context2.abrupt('return', {\n value: value,\n done: done\n });\n\n case 9:\n this._loaded += value.byteLength;\n if (this.onProgress) {\n this.onProgress({ loaded: this._loaded });\n }\n buffer = new Uint8Array(value).buffer;\n return _context2.abrupt('return', {\n value: buffer,\n done: false\n });\n\n case 13:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _ref3.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: 'cancel',\n value: function cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n }, {\n key: 'isStreamingSupported',\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return PDFFetchStreamRangeReader;\n}();\n\nexports.PDFFetchStream = PDFFetchStream;\n\n/***/ }),\n/* 152 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.NetworkManager = exports.PDFNetworkStream = undefined;\n\nvar _regenerator = __w_pdfjs_require__(137);\n\nvar _regenerator2 = _interopRequireDefault(_regenerator);\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(149);\n\nvar _global_scope = __w_pdfjs_require__(3);\n\nvar _global_scope2 = _interopRequireDefault(_global_scope);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n;\nvar OK_RESPONSE = 200;\nvar PARTIAL_CONTENT_RESPONSE = 206;\nfunction NetworkManager(url, args) {\n this.url = url;\n args = args || {};\n this.isHttp = /^https?:/i.test(url);\n this.httpHeaders = this.isHttp && args.httpHeaders || {};\n this.withCredentials = args.withCredentials || false;\n this.getXhr = args.getXhr || function NetworkManager_getXhr() {\n return new XMLHttpRequest();\n };\n this.currXhrId = 0;\n this.pendingRequests = Object.create(null);\n this.loadedRequests = Object.create(null);\n}\nfunction getArrayBuffer(xhr) {\n var data = xhr.response;\n if (typeof data !== 'string') {\n return data;\n }\n var array = (0, _util.stringToBytes)(data);\n return array.buffer;\n}\nvar supportsMozChunked = function supportsMozChunkedClosure() {\n try {\n var x = new XMLHttpRequest();\n x.open('GET', _global_scope2.default.location.href);\n x.responseType = 'moz-chunked-arraybuffer';\n return x.responseType === 'moz-chunked-arraybuffer';\n } catch (e) {\n return false;\n }\n}();\nNetworkManager.prototype = {\n requestRange: function NetworkManager_requestRange(begin, end, listeners) {\n var args = {\n begin: begin,\n end: end\n };\n for (var prop in listeners) {\n args[prop] = listeners[prop];\n }\n return this.request(args);\n },\n requestFull: function NetworkManager_requestFull(listeners) {\n return this.request(listeners);\n },\n request: function NetworkManager_request(args) {\n var xhr = this.getXhr();\n var xhrId = this.currXhrId++;\n var pendingRequest = this.pendingRequests[xhrId] = { xhr: xhr };\n xhr.open('GET', this.url);\n xhr.withCredentials = this.withCredentials;\n for (var property in this.httpHeaders) {\n var value = this.httpHeaders[property];\n if (typeof value === 'undefined') {\n continue;\n }\n xhr.setRequestHeader(property, value);\n }\n if (this.isHttp && 'begin' in args && 'end' in args) {\n var rangeStr = args.begin + '-' + (args.end - 1);\n xhr.setRequestHeader('Range', 'bytes=' + rangeStr);\n pendingRequest.expectedStatus = 206;\n } else {\n pendingRequest.expectedStatus = 200;\n }\n var useMozChunkedLoading = supportsMozChunked && !!args.onProgressiveData;\n if (useMozChunkedLoading) {\n xhr.responseType = 'moz-chunked-arraybuffer';\n pendingRequest.onProgressiveData = args.onProgressiveData;\n pendingRequest.mozChunked = true;\n } else {\n xhr.responseType = 'arraybuffer';\n }\n if (args.onError) {\n xhr.onerror = function (evt) {\n args.onError(xhr.status);\n };\n }\n xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);\n xhr.onprogress = this.onProgress.bind(this, xhrId);\n pendingRequest.onHeadersReceived = args.onHeadersReceived;\n pendingRequest.onDone = args.onDone;\n pendingRequest.onError = args.onError;\n pendingRequest.onProgress = args.onProgress;\n xhr.send(null);\n return xhrId;\n },\n onProgress: function NetworkManager_onProgress(xhrId, evt) {\n var pendingRequest = this.pendingRequests[xhrId];\n if (!pendingRequest) {\n return;\n }\n if (pendingRequest.mozChunked) {\n var chunk = getArrayBuffer(pendingRequest.xhr);\n pendingRequest.onProgressiveData(chunk);\n }\n var onProgress = pendingRequest.onProgress;\n if (onProgress) {\n onProgress(evt);\n }\n },\n onStateChange: function NetworkManager_onStateChange(xhrId, evt) {\n var pendingRequest = this.pendingRequests[xhrId];\n if (!pendingRequest) {\n return;\n }\n var xhr = pendingRequest.xhr;\n if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {\n pendingRequest.onHeadersReceived();\n delete pendingRequest.onHeadersReceived;\n }\n if (xhr.readyState !== 4) {\n return;\n }\n if (!(xhrId in this.pendingRequests)) {\n return;\n }\n delete this.pendingRequests[xhrId];\n if (xhr.status === 0 && this.isHttp) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n return;\n }\n var xhrStatus = xhr.status || OK_RESPONSE;\n var ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;\n if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n return;\n }\n this.loadedRequests[xhrId] = true;\n var chunk = getArrayBuffer(xhr);\n if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {\n var rangeHeader = xhr.getResponseHeader('Content-Range');\n var matches = /bytes (\\d+)-(\\d+)\\/(\\d+)/.exec(rangeHeader);\n var begin = parseInt(matches[1], 10);\n pendingRequest.onDone({\n begin: begin,\n chunk: chunk\n });\n } else if (pendingRequest.onProgressiveData) {\n pendingRequest.onDone(null);\n } else if (chunk) {\n pendingRequest.onDone({\n begin: 0,\n chunk: chunk\n });\n } else if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n },\n hasPendingRequests: function NetworkManager_hasPendingRequests() {\n for (var xhrId in this.pendingRequests) {\n return true;\n }\n return false;\n },\n getRequestXhr: function NetworkManager_getXhr(xhrId) {\n return this.pendingRequests[xhrId].xhr;\n },\n isStreamingRequest: function NetworkManager_isStreamingRequest(xhrId) {\n return !!this.pendingRequests[xhrId].onProgressiveData;\n },\n isPendingRequest: function NetworkManager_isPendingRequest(xhrId) {\n return xhrId in this.pendingRequests;\n },\n isLoadedRequest: function NetworkManager_isLoadedRequest(xhrId) {\n return xhrId in this.loadedRequests;\n },\n abortAllRequests: function NetworkManager_abortAllRequests() {\n for (var xhrId in this.pendingRequests) {\n this.abortRequest(xhrId | 0);\n }\n },\n abortRequest: function NetworkManager_abortRequest(xhrId) {\n var xhr = this.pendingRequests[xhrId].xhr;\n delete this.pendingRequests[xhrId];\n xhr.abort();\n }\n};\nfunction PDFNetworkStream(source) {\n this._source = source;\n this._manager = new NetworkManager(source.url, {\n httpHeaders: source.httpHeaders,\n withCredentials: source.withCredentials\n });\n this._rangeChunkSize = source.rangeChunkSize;\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n}\nPDFNetworkStream.prototype = {\n _onRangeRequestReaderClosed: function PDFNetworkStream_onRangeRequestReaderClosed(reader) {\n var i = this._rangeRequestReaders.indexOf(reader);\n if (i >= 0) {\n this._rangeRequestReaders.splice(i, 1);\n }\n },\n getFullReader: function PDFNetworkStream_getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);\n return this._fullRequestReader;\n },\n getRangeReader: function PDFNetworkStream_getRangeReader(begin, end) {\n var reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);\n reader.onClosed = this._onRangeRequestReaderClosed.bind(this);\n this._rangeRequestReaders.push(reader);\n return reader;\n },\n cancelAllRequests: function PDFNetworkStream_cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n var readers = this._rangeRequestReaders.slice(0);\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n};\nfunction PDFNetworkStreamFullRequestReader(manager, source) {\n this._manager = manager;\n var args = {\n onHeadersReceived: this._onHeadersReceived.bind(this),\n onProgressiveData: source.disableStream ? null : this._onProgressiveData.bind(this),\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._url = source.url;\n this._fullRequestId = manager.requestFull(args);\n this._headersReceivedCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._contentLength = source.length;\n this._rangeChunkSize = source.rangeChunkSize;\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n this._isStreamingSupported = false;\n this._isRangeSupported = false;\n this._cachedChunks = [];\n this._requests = [];\n this._done = false;\n this._storedError = undefined;\n this._filename = null;\n this.onProgress = null;\n}\nPDFNetworkStreamFullRequestReader.prototype = {\n _onHeadersReceived: function PDFNetworkStreamFullRequestReader_onHeadersReceived() {\n var fullRequestXhrId = this._fullRequestId;\n var fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);\n var getResponseHeader = function getResponseHeader(name) {\n return fullRequestXhr.getResponseHeader(name);\n };\n\n var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: this._manager.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n }),\n allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n suggestedLength = _validateRangeRequest.suggestedLength;\n\n if (allowRangeRequests) {\n this._isRangeSupported = true;\n }\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n var networkManager = this._manager;\n if (networkManager.isStreamingRequest(fullRequestXhrId)) {\n this._isStreamingSupported = true;\n } else if (this._isRangeSupported) {\n networkManager.abortRequest(fullRequestXhrId);\n }\n this._headersReceivedCapability.resolve();\n },\n _onProgressiveData: function PDFNetworkStreamFullRequestReader_onProgressiveData(chunk) {\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._cachedChunks.push(chunk);\n }\n },\n _onDone: function PDFNetworkStreamFullRequestReader_onDone(args) {\n if (args) {\n this._onProgressiveData(args.chunk);\n }\n this._done = true;\n if (this._cachedChunks.length > 0) {\n return;\n }\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n },\n _onError: function PDFNetworkStreamFullRequestReader_onError(status) {\n var url = this._url;\n var exception = (0, _network_utils.createResponseStatusError)(status, url);\n this._storedError = exception;\n this._headersReceivedCapability.reject(exception);\n this._requests.forEach(function (requestCapability) {\n requestCapability.reject(exception);\n });\n this._requests = [];\n this._cachedChunks = [];\n },\n _onProgress: function PDFNetworkStreamFullRequestReader_onProgress(data) {\n if (this.onProgress) {\n this.onProgress({\n loaded: data.loaded,\n total: data.lengthComputable ? data.total : this._contentLength\n });\n }\n },\n get filename() {\n return this._filename;\n },\n get isRangeSupported() {\n return this._isRangeSupported;\n },\n get isStreamingSupported() {\n return this._isStreamingSupported;\n },\n get contentLength() {\n return this._contentLength;\n },\n get headersReady() {\n return this._headersReceivedCapability.promise;\n },\n read: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee() {\n var chunk, requestCapability;\n return _regenerator2.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!this._storedError) {\n _context.next = 2;\n break;\n }\n\n throw this._storedError;\n\n case 2:\n if (!(this._cachedChunks.length > 0)) {\n _context.next = 5;\n break;\n }\n\n chunk = this._cachedChunks.shift();\n return _context.abrupt('return', {\n value: chunk,\n done: false\n });\n\n case 5:\n if (!this._done) {\n _context.next = 7;\n break;\n }\n\n return _context.abrupt('return', {\n value: undefined,\n done: true\n });\n\n case 7:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n return _context.abrupt('return', requestCapability.promise);\n\n case 10:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _ref.apply(this, arguments);\n }\n\n return read;\n }(),\n\n cancel: function PDFNetworkStreamFullRequestReader_cancel(reason) {\n this._done = true;\n this._headersReceivedCapability.reject(reason);\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n if (this._manager.isPendingRequest(this._fullRequestId)) {\n this._manager.abortRequest(this._fullRequestId);\n }\n this._fullRequestReader = null;\n }\n};\nfunction PDFNetworkStreamRangeRequestReader(manager, begin, end) {\n this._manager = manager;\n var args = {\n onDone: this._onDone.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._requestId = manager.requestRange(begin, end, args);\n this._requests = [];\n this._queuedChunk = null;\n this._done = false;\n this.onProgress = null;\n this.onClosed = null;\n}\nPDFNetworkStreamRangeRequestReader.prototype = {\n _close: function PDFNetworkStreamRangeRequestReader_close() {\n if (this.onClosed) {\n this.onClosed(this);\n }\n },\n _onDone: function PDFNetworkStreamRangeRequestReader_onDone(data) {\n var chunk = data.chunk;\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunk = chunk;\n }\n this._done = true;\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n this._close();\n },\n _onProgress: function PDFNetworkStreamRangeRequestReader_onProgress(evt) {\n if (!this.isStreamingSupported && this.onProgress) {\n this.onProgress({ loaded: evt.loaded });\n }\n },\n get isStreamingSupported() {\n return false;\n },\n read: function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee2() {\n var chunk, requestCapability;\n return _regenerator2.default.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!(this._queuedChunk !== null)) {\n _context2.next = 4;\n break;\n }\n\n chunk = this._queuedChunk;\n\n this._queuedChunk = null;\n return _context2.abrupt('return', {\n value: chunk,\n done: false\n });\n\n case 4:\n if (!this._done) {\n _context2.next = 6;\n break;\n }\n\n return _context2.abrupt('return', {\n value: undefined,\n done: true\n });\n\n case 6:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n return _context2.abrupt('return', requestCapability.promise);\n\n case 9:\n case 'end':\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _ref2.apply(this, arguments);\n }\n\n return read;\n }(),\n\n cancel: function PDFNetworkStreamRangeRequestReader_cancel(reason) {\n this._done = true;\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n if (this._manager.isPendingRequest(this._requestId)) {\n this._manager.abortRequest(this._requestId);\n }\n this._close();\n }\n};\nexports.PDFNetworkStream = PDFNetworkStream;\nexports.NetworkManager = NetworkManager;\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=pdf.js.map"],"sourceRoot":""}