{"version":3,"sources":["webpack:///./node_modules/url/url.js","webpack:///./node_modules/node-libs-browser/node_modules/punycode/punycode.js","webpack:///./node_modules/url/util.js","webpack:///./node_modules/querystring-es3/decode.js","webpack:///./node_modules/pdfjs-dist/build/pdf.js","webpack:///./node_modules/querystring-es3/index.js","webpack:///./node_modules/querystring-es3/encode.js"],"names":["punycode","util","Url","this","protocol","slashes","auth","host","port","hostname","hash","search","query","pathname","path","href","exports","parse","urlParse","resolve","urlResolve","resolveObject","urlResolveObject","format","urlFormat","protocolPattern","portPattern","simplePathPattern","delims","unwise","concat","autoEscape","nonHostChars","hostEndingChars","hostnameMaxLen","hostnamePartPattern","hostnamePartStart","unsafeProtocol","hostlessProtocol","slashedProtocol","querystring","url","parseQueryString","slashesDenoteHost","isObject","u","obj","isString","prototype","call","source","relative","TypeError","queryIndex","indexOf","splitter","uSplit","split","slashRegex","replace","join","rest","trim","length","simplePath","exec","substr","proto","lowerProto","toLowerCase","match","atSign","hostEnd","i","hec","lastIndexOf","slice","decodeURIComponent","parseHost","ipv6Hostname","hostparts","l","part","newpart","j","k","charCodeAt","validParts","notHost","bit","push","unshift","toASCII","p","h","ae","esc","encodeURIComponent","escape","qm","s","Object","keys","stringify","charAt","rel","result","tkeys","tk","tkey","rkeys","rk","rkey","v","relPath","shift","isSourceAbs","isRelAbs","mustEndAbs","removeAllDots","srcPath","psychotic","pop","isNullOrUndefined","authInHost","isNull","last","hasTrailingSlash","up","splice","isAbsolute","root","nodeType","module","freeGlobal","global","window","self","maxInt","base","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexPunycode","regexNonASCII","regexSeparators","errors","baseMinusTMin","floor","Math","stringFromCharCode","String","fromCharCode","error","type","RangeError","map","array","fn","mapDomain","string","parts","labels","encoded","ucs2decode","value","extra","output","counter","ucs2encode","basicToDigit","codePoint","digitToBasic","digit","flag","adapt","delta","numPoints","firstTime","decode","input","out","basic","index","oldi","w","t","baseMinusT","inputLength","n","bias","encode","handledCPCount","basicLength","m","q","currentValue","handledCPCountPlusOne","qMinusT","toUnicode","test","arg","hasOwnProperty","prop","qs","sep","eq","options","regexp","maxKeys","len","kstr","vstr","x","idx","isArray","Array","xs","toString","factory","modules","installedModules","__w_pdfjs_require__","moduleId","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","mode","__esModule","ns","create","key","bind","object","property","pdfjsSharedUtil","pdfjsDisplayAPI","pdfjsDisplayTextLayer","pdfjsDisplayAnnotationLayer","pdfjsDisplayDisplayUtils","pdfjsDisplaySVG","pdfjsDisplayWorkerOptions","pdfjsDisplayAPICompatibility","isNodeJS","PDFNodeStream","setPDFNetworkStreamFactory","params","PDFFetchStream","PDFNetworkStream","isFetchSupported","isValidFetchUrl","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","ReadableStream","RenderingCancelledException","getFilenameFromUrl","LinkTarget","addLinkAttributes","loadScript","PDFDateString","GlobalWorkerOptions","apiCompatibilityParams","arrayByteLength","arraysToBytes","assert","bytesToString","getVerbosityLevel","info","isArrayBuffer","isArrayEqual","isBool","isEmptyObj","isNum","isSpace","isSameOrigin","isLittleEndian","isEvalSupported","log2","readInt8","readUint16","readUint32","setVerbosityLevel","string32","stringToBytes","stringToPDFString","stringToUTF8String","utf8StringToString","warn","unreachable","_streams_polyfill","FormatError","UnknownErrorException","TextRenderingMode","StreamType","PasswordException","AbortException","ImageKind","FontType","AnnotationType","AnnotationStateModelType","AnnotationReviewState","AnnotationReplyType","AnnotationMarkedState","AnnotationFlag","AnnotationFieldFlag","AnnotationBorderStyleType","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","BaseException","_defineProperties","target","props","descriptor","configurable","writable","_createClass","Constructor","protoProps","staticProps","_typeof","iterator","constructor","_classCallCheck","instance","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","_getPrototypeOf","setPrototypeOf","getPrototypeOf","__proto__","_inherits","subClass","superClass","_setPrototypeOf","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","MARKED","REVIEW","UNMARKED","ACCEPTED","REJECTED","CANCELLED","COMPLETED","GROUP","REPLY","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","RLX","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","Error","cond","baseUrl","otherUrl","URL","origin","e","other","_isValidProtocol","absoluteUrl","ex","message","_BaseException","code","_this","_BaseException2","details","_this2","_BaseException3","apply","arguments","_BaseException4","_BaseException5","status","_this3","_BaseException6","_BaseException7","NullCharactersRegExp","str","bytes","undefined","MAX_ARGUMENT_COUNT","strBuf","chunkEnd","min","chunk","subarray","Uint8Array","arr","byteLength","resultLength","pos","data","_i","item","itemLength","set","ceil","start","offset","buffer8","view32","Uint32Array","buffer","Function","rgbBuf","g","b","m1","m2","xt","yt","p1","applyTransform","p2","p3","p4","max","transpose","a","first","second","sqrt","sx","sy","rect","rect1","rect2","compare","orderedX","sort","orderedY","normalizeRect","PDFStringTranslateTable","_i2","unescape","arr1","arr2","every","element","ch","capability","isSettled","promise","Promise","reject","reason","digits","contentType","forceDataSchema","blob","Blob","ii","b1","b2","b3","d1","d2","d3","d4","globalScope","_pdfjsCompatibilityChecked","hasDOM","document","btoa","chars","Buffer","from","atob","Element","remove","parentNode","removeChild","div","createElement","classList","add","contains","OriginalDOMTokenListAdd","DOMTokenList","OriginalDOMTokenListRemove","_len","tokens","_key","_tokens","token","_len2","_key2","_tokens2","toggle","force","startsWith","endsWith","includes","assign","isNaN","WeakMap","WeakSet","codePointAt","fromCodePoint","padStart","padEnd","values","process","versions","entryUnbind","$","toLength","notARegExp","requireObjectCoercible","correctIsRegExpLogic","nativeStartsWith","forced","searchString","that","getOwnPropertyDescriptor","f","hide","redefine","setGlobal","copyConstructorProperties","isForced","FORCED","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","noTargetGet","sham","O","check","it","globalThis","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPrimitive","has","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","P","fails","nativePropertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","1","V","bitmap","IndexedObject","classof","PREFERRED_STRING","val","valueOf","EXISTS","definePropertyModule","anObject","nativeDefineProperty","Attributes","shared","nativeFunctionToString","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","unsafe","simple","IS_PURE","SHARED","store","copyright","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","getterFor","TYPE","state","wmget","wmhas","wmset","metadata","STATE","uid","id","postfix","random","ownKeys","getOwnPropertyDescriptorModule","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getOwnPropertySymbols","aFunction","variable","namespace","method","internalObjectKeys","enumBugKeys","getOwnPropertyNames","names","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","toInteger","argument","integer","replacement","feature","detection","normalize","POLYFILL","NATIVE","isRegExp","wellKnownSymbol","MATCH","NATIVE_SYMBOL","METHOD_NAME","CONSTRUCTOR","METHOD","nativeEndsWith","endPosition","end","$includes","addToUnscopables","UNSCOPABLES","ArrayPrototype","defineProperties","html","documentCreateElement","IE_PROTO","PROTOTYPE","Empty","createDict","iframeDocument","iframe","lt","script","gt","js","style","display","appendChild","src","contentWindow","open","write","close","F","Properties","objectKeys","defineIterator","STRING_ITERATOR","setInternalState","iterated","point","done","CONVERT_TO_STRING","S","position","size","codeAt","createIteratorConstructor","setToStringTag","Iterators","IteratorsCore","IteratorPrototype","BUGGY_SAFARI_ITERATORS","ITERATOR","KEYS","VALUES","ENTRIES","returnThis","Iterable","NAME","IteratorConstructor","next","DEFAULT","IS_SET","CurrentIteratorPrototype","methods","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","TO_STRING_TAG","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","PrototypeOfArrayIteratorPrototype","arrayIterator","toObject","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","TAG","aPossiblePrototype","setter","CORRECT_SETTER","checkCorrectnessOfIteration","INCORRECT_ITERATION","iterable","callWithSafeIterationClosing","isArrayIteratorMethod","createProperty","getIteratorMethod","arrayLike","step","C","argumentsLength","mapfn","mapping","iteratorMethod","returnMethod","propertyKey","classofRaw","CORRECT_ARGUMENTS","tryGet","tag","callee","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","nativeAssign","A","B","symbol","alphabet","forEach","chr","T","LN2","number","isFinite","DOMIterables","ArrayIteratorMethods","ArrayValues","COLLECTION_NAME","Collection","CollectionPrototype","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","ARRAY_ITERATOR","kind","Arguments","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","NativePromise","redefineAll","setSpecies","anInstance","iterate","speciesConstructor","task","microtask","promiseResolve","hostReportErrors","newPromiseCapabilityModule","perform","userAgent","SPECIES","PROMISE","getInternalPromiseState","PromiseConstructor","$fetch","fetch","v8","newPromiseCapability","newGenericPromiseCapability","IS_NODE","DISPATCH_EVENT","createEvent","dispatchEvent","UNHANDLED_REJECTION","REJECTION_HANDLED","PENDING","FULFILLED","HANDLED","UNHANDLED","empty","FakePromise","PromiseRejectionEvent","then","all","isThenable","notify","isReject","notified","chain","reactions","ok","exited","reaction","handler","fail","domain","rejection","onHandleUnhandled","enter","exit","onUnhandled","event","initEvent","IS_UNHANDLED","isUnhandled","emit","parent","unwrap","internalReject","internalResolve","wrapper","executor","onFulfilled","onRejected","wrap","$promiseResolve","remaining","alreadyCalled","race","CONSTRUCTOR_NAME","Result","stopped","AS_ENTRIES","IS_ITERATOR","iterFn","boundFunction","stop","defaultConstructor","defer","channel","location","setImmediate","clear","clearImmediate","MessageChannel","Dispatch","queue","ONREADYSTATECHANGE","run","runner","listener","post","postMessage","args","nextTick","now","port2","port1","onmessage","addEventListener","importScripts","setTimeout","flush","head","node","macrotask","MutationObserver","WebKitMutationObserver","queueMicrotaskDescriptor","queueMicrotask","createTextNode","observe","characterData","promiseCapability","PromiseCapability","$$resolve","$$reject","allSettled","real","onFinally","isFunction","EOF","USE_NATIVE_URL","arrayFrom","URLSearchParamsModule","NativeURL","URLSearchParams","getInternalSearchParamsState","getState","getInternalURLState","pow","INVALID_AUTHORITY","INVALID_SCHEME","INVALID_HOST","INVALID_PORT","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","codePoints","parseIPv6","isSpecial","parseIPv4","percentEncode","C0ControlPercentEncodeSet","partsLength","numbers","radix","ipv4","parseInt","numbersSeen","ipv4Piece","swaps","swap","address","pieceIndex","compress","pointer","char","findLongestZeroSequence","ipv6","maxIndex","maxLength","currStart","currLength","serializeHost","ignore0","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","specialSchemes","ftp","file","gopher","http","https","ws","wss","scheme","includesCredentials","username","password","cannotHaveUsernamePasswordPort","cannotBeABaseURL","isWindowsDriveLetter","normalized","startsWithWindowsDriveLetter","third","shortenURLsPath","pathSize","isSingleDot","segment","isDoubleDot","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","parseURL","stateOverride","bufferCodePoints","failure","seenAt","seenBracket","seenPasswordToken","fragment","encodedCodePoints","URLConstructor","baseState","urlString","searchParams","searchParamsState","updateSearchParams","updateURL","serializeURL","getOrigin","getProtocol","getUsername","getPassword","getHost","getHostname","getPort","getPathname","getSearch","getSearchParams","getHash","URLPrototype","accessorDescriptor","nativeCreateObjectURL","nativeRevokeObjectURL","revokeObjectURL","toJSON","OVERFLOW_ERROR","label","hasOwn","getIterator","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","getInternalIteratorState","plus","sequences","percentSequence","RegExp","percentDecode","sequence","deserialize","find","replacer","serialize","parseSearchParams","attribute","entry","attributes","validateArgumentsLength","passed","required","URLSearchParamsIterator","URLSearchParamsConstructor","entryIterator","init","URLSearchParamsPrototype","append","getAll","found","entriesIndex","sliceIndex","callback","InternalWeakMap","InternalMetadataModule","collection","collectionWeak","enforceIternalState","IS_IE11","ActiveXObject","isExtensible","$WeakMap","getConstructor","WeakMapPrototype","nativeDelete","nativeHas","nativeGet","nativeSet","frozen","FREEZING","METADATA","setMetadata","objectID","weakData","fastKey","getWeakData","onFreeze","meta","preventExtensions","inheritIfRequired","common","IS_MAP","IS_WEAK","NativeConstructor","NativePrototype","ADDER","exported","fixMethod","nativeMethod","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","setStrong","Wrapper","NewTarget","NewTargetPrototype","ArrayIterationModule","$has","internalStateGetterFor","findIndex","uncaughtFrozenStore","UncaughtFrozenStore","findUncaughtFrozen","define","arraySpeciesCreate","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","callbackfn","specificCreate","filter","some","originalArray","nativeFromCodePoint","INCORRECT_LENGTH","elements","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","isConcatSpreadable","spreadable","E","foo","Boolean","nativeObjectCreate","getOwnPropertyNamesExternal","wrappedWellKnownSymbolModule","defineWellKnownSymbol","$forEach","SYMBOL","TO_PRIMITIVE","$Symbol","JSON","nativeJSONStringify","nativeGetOwnPropertyNames","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","WellKnownSymbolsStore","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","description","isSymbol","$defineProperty","$defineProperties","properties","$getOwnPropertySymbols","$propertyIsEnumerable","$create","$getOwnPropertyDescriptor","$getOwnPropertyNames","IS_OBJECT_PROTOTYPE","keyFor","sym","useSetter","useSimple","$replacer","windowNames","getWindowNames","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","desc","$padStart","WEBKIT_BUG","repeat","IS_END","fillString","fillLen","stringFiller","stringLength","fillStr","intMaxLength","count","Infinity","$padEnd","$values","TO_ENTRIES","isReadableStreamSupported","controller","__webpack_module__","__webpack_exports__","ByteLengthQueuingStrategy","CountQueuingStrategy","TransformStream","WritableStream","SymbolPolyfill","noop","NumberIsNaN","typeIsObject","createArrayFromList","ArrayBufferCopy","dest","destOffset","srcOffset","IsFiniteNonNegativeNumber","IsNonNegativeNumber","Call","CreateAlgorithmFromUnderlyingMethod","underlyingObject","methodName","algoArgCount","extraArgs","PromiseCall","fullArgs","InvokeOrNoop","TransferArrayBuffer","IsDetachedBuffer","ValidateAndNormalizeHighWaterMark","highWaterMark","MakeSizeAlgorithmFromSizeFunction","QUEUE_MAX_ARRAY_SIZE","SimpleQueue","_cursor","_size","_front","_elements","_next","_back","oldBack","newBack","oldFront","newFront","oldCursor","newCursor","peek","front","cursor","ReadableStreamCreateReadResult","forAuthorCode","ReadableStreamReaderGenericInitialize","reader","stream","_forAuthorCode","_ownerReadableStream","_reader","_state","defaultReaderClosedPromiseInitialize","defaultReaderClosedPromiseInitializeAsResolved","defaultReaderClosedPromiseInitializeAsRejected","_storedError","ReadableStreamReaderGenericCancel","ReadableStreamCancel","ReadableStreamReaderGenericRelease","defaultReaderClosedPromiseReject","defaultReaderClosedPromiseResetToRejected","readerLockException","_closedPromise","_closedPromise_resolve","_closedPromise_reject","defaultReaderClosedPromiseResolve","catch","CancelSteps","PullSteps","AcquireReadableStreamDefaultReader","ReadableStreamDefaultReader","ReadableStreamAddReadRequest","readRequest","_resolve","_reject","_readRequests","ReadableStreamFulfillReadRequest","ReadableStreamGetNumReadRequests","ReadableStreamHasDefaultReader","IsReadableStreamDefaultReader","_a","AsyncIteratorPrototype","IsReadableStream","IsReadableStreamLocked","defaultReaderBrandCheckException","cancel","read","ReadableStreamDefaultReaderRead","releaseLock","_disturbed","_readableStreamController","asyncIterator","ReadableStreamAsyncIteratorPrototype","IsReadableStreamAsyncIterator","streamAsyncIteratorBrandCheckException","_asyncIteratorReader","return","_preventCancel","AcquireReadableStreamAsyncIterator","preventCancel","rethrowAssertionErrorRejection","DequeueValue","container","pair","_queue","_queueTotalSize","EnqueueValueWithSize","PeekQueueValue","ResetQueue","AbortSteps","ErrorSteps","underlyingSink","strategy","InitializeWritableStream","sizeAlgorithm","SetUpWritableStreamDefaultControllerFromUnderlyingSink","IsWritableStream","streamBrandCheckException","IsWritableStreamLocked","abort","WritableStreamAbort","getWriter","AcquireWritableStreamDefaultWriter","WritableStreamDefaultWriter","CreateWritableStream","startAlgorithm","writeAlgorithm","closeAlgorithm","abortAlgorithm","WritableStreamDefaultController","SetUpWritableStreamDefaultController","_writer","_writableStreamController","_writeRequests","_inFlightWriteRequest","_closeRequest","_inFlightCloseRequest","_pendingAbortRequest","_backpressure","_promise","wasAlreadyErroring","_reason","_wasAlreadyErroring","WritableStreamStartErroring","WritableStreamAddWriteRequest","writeRequest","WritableStreamDealWithRejection","WritableStreamFinishErroring","writer","WritableStreamDefaultWriterEnsureReadyPromiseRejected","WritableStreamHasOperationMarkedInFlight","_started","storedError","abortRequest","WritableStreamRejectCloseAndClosedPromiseIfNeeded","WritableStreamFinishInFlightWrite","WritableStreamFinishInFlightWriteWithError","WritableStreamFinishInFlightClose","defaultWriterClosedPromiseResolve","WritableStreamFinishInFlightCloseWithError","WritableStreamCloseQueuedOrInFlight","WritableStreamMarkCloseRequestInFlight","WritableStreamMarkFirstWriteRequestInFlight","defaultWriterClosedPromiseReject","WritableStreamUpdateBackpressure","backpressure","defaultWriterReadyPromiseReset","defaultWriterReadyPromiseResolve","_ownerWritableStream","defaultWriterReadyPromiseInitialize","defaultWriterReadyPromiseInitializeAsResolved","defaultWriterClosedPromiseInitialize","defaultWriterReadyPromiseInitializeAsRejected","defaultWriterClosedPromiseInitializeAsResolved","defaultWriterClosedPromiseInitializeAsRejected","IsWritableStreamDefaultWriter","defaultWriterBrandCheckException","defaultWriterLockException","WritableStreamDefaultWriterGetDesiredSize","_readyPromise","WritableStreamDefaultWriterAbort","WritableStreamDefaultWriterClose","WritableStreamDefaultWriterRelease","WritableStreamDefaultWriterWrite","closeRequest","WritableStreamDefaultControllerClose","WritableStreamDefaultWriterCloseWithErrorPropagation","WritableStreamDefaultWriterEnsureClosedPromiseRejected","_closedPromiseState","defaultWriterClosedPromiseResetToRejected","_readyPromiseState","defaultWriterReadyPromiseReject","defaultWriterReadyPromiseResetToRejected","WritableStreamDefaultControllerGetDesiredSize","releasedError","chunkSize","WritableStreamDefaultControllerGetChunkSize","WritableStreamDefaultControllerWrite","IsWritableStreamDefaultController","_controlledWritableStream","WritableStreamDefaultControllerError","_abortAlgorithm","WritableStreamDefaultControllerClearAlgorithms","_strategySizeAlgorithm","_strategyHWM","_writeAlgorithm","_closeAlgorithm","WritableStreamDefaultControllerGetBackpressure","startResult","startPromise","WritableStreamDefaultControllerAdvanceQueueIfNeeded","chunkSizeE","WritableStreamDefaultControllerErrorIfNeeded","writeRecord","enqueueE","WritableStreamDefaultControllerProcessClose","WritableStreamDefaultControllerProcessWrite","sinkClosePromise","sinkWritePromise","desiredSize","_readyPromise_resolve","_readyPromise_reject","ReadableStreamPipeTo","preventClose","preventAbort","signal","shuttingDown","currentWrite","DOMException","actions","shutdownWithAction","action","aborted","pipeLoop","resolveLoop","rejectLoop","pipeStep","isOrBecomesErrored","shutdown","isOrBecomesClosed","destClosed_1","waitForWritesToFinish","oldCurrentWrite","originalIsError","originalError","doTheRest","finalize","newError","isError","removeEventListener","ReadableStreamDefaultController","IsReadableStreamDefaultController","defaultControllerBrandCheckException","ReadableStreamDefaultControllerGetDesiredSize","ReadableStreamDefaultControllerCanCloseOrEnqueue","ReadableStreamDefaultControllerClose","enqueue","ReadableStreamDefaultControllerEnqueue","ReadableStreamDefaultControllerError","_cancelAlgorithm","ReadableStreamDefaultControllerClearAlgorithms","_controlledReadableStream","_closeRequested","ReadableStreamClose","ReadableStreamDefaultControllerCallPullIfNeeded","pendingPromise","shouldPull","ReadableStreamDefaultControllerShouldCallPull","_pulling","pullPromise","_pullAlgorithm","_pullAgain","ReadableStreamError","ReadableStreamDefaultControllerHasBackpressure","SetUpReadableStreamDefaultController","pullAlgorithm","cancelAlgorithm","SetUpReadableStreamDefaultControllerFromUnderlyingSource","underlyingSource","ReadableStreamTee","cloneForBranch2","reason1","reason2","branch1","branch2","resolveCancelPromise","reading","canceled1","canceled2","cancelPromise","readPromise","value1","value2","cancel1Algorithm","compositeReason","cancelResult","cancel2Algorithm","CreateReadableStream","NumberIsInteger","ReadableStreamBYOBRequest","IsReadableStreamBYOBRequest","byobRequestBrandCheckException","_view","respond","bytesWritten","_associatedReadableByteStreamController","ReadableByteStreamControllerRespond","respondWithNewView","view","ArrayBuffer","isView","ReadableByteStreamControllerRespondWithNewView","ReadableByteStreamController","IsReadableByteStreamController","byteStreamControllerBrandCheckException","_byobRequest","_pendingPullIntos","firstDescriptor","byteOffset","bytesFilled","byobRequest","SetUpReadableStreamBYOBRequest","ReadableByteStreamControllerGetDesiredSize","_controlledReadableByteStream","ReadableByteStreamControllerClose","ReadableByteStreamControllerEnqueue","ReadableByteStreamControllerError","ReadableByteStreamControllerClearAlgorithms","ReadableByteStreamControllerHandleQueueDrain","viewE","autoAllocateChunkSize","_autoAllocateChunkSize","bufferE","pullIntoDescriptor","elementSize","ctor","readerType","ReadableByteStreamControllerCallPullIfNeeded","ReadableByteStreamControllerShouldCallPull","ReadableByteStreamControllerClearPendingPullIntos","ReadableByteStreamControllerInvalidateBYOBRequest","ReadableByteStreamControllerCommitPullIntoDescriptor","filledView","ReadableByteStreamControllerConvertPullIntoDescriptor","ReadableStreamFulfillReadIntoRequest","ReadableByteStreamControllerEnqueueChunkToQueue","ReadableByteStreamControllerFillPullIntoDescriptorFromQueue","currentAlignedBytes","maxBytesToCopy","maxBytesFilled","maxAlignedBytes","totalBytesToCopyRemaining","ready","headOfQueue","bytesToCopy","destStart","ReadableByteStreamControllerFillHeadPullIntoDescriptor","ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue","ReadableByteStreamControllerShiftPendingPullInto","ReadableByteStreamControllerPullInto","DataView","BYTES_PER_ELEMENT","ReadableStreamAddReadIntoRequest","emptyView","ReadableByteStreamControllerRespondInClosedState","ReadableStreamHasBYOBReader","ReadableStreamGetNumReadIntoRequests","ReadableByteStreamControllerRespondInReadableState","remainderSize","remainder","ReadableByteStreamControllerRespondInternal","firstPendingPullInto","transferredBuffer","transferredView","SetUpReadableByteStreamController","SetUpReadableByteStreamControllerFromUnderlyingSource","underlyingByteSource","request","AcquireReadableStreamBYOBReader","ReadableStreamBYOBReader","readIntoRequest","_readIntoRequests","IsReadableStreamBYOBReader","byobReaderBrandCheckException","ReadableStreamBYOBReaderRead","InitializeReadableStream","typeString","streamBrandCheckException$1","getReader","pipeThrough","_b","readable","_c","isAbortSignal","pipeTo","tee","branches","sourceCancelPromise","AbortSignal","transformer","writableStrategy","readableStrategy","writableSizeFunction","writableHighWaterMark","readableSizeFunction","readableHighWaterMark","writableType","writableSizeAlgorithm","readableType","startPromise_resolve","readableSizeAlgorithm","InitializeTransformStream","SetUpTransformStreamDefaultControllerFromTransformer","_transformStreamController","IsTransformStream","streamBrandCheckException$2","_readable","_writable","TransformStreamDefaultSinkWriteAlgorithm","TransformStreamDefaultSinkAbortAlgorithm","TransformStreamDefaultSinkCloseAlgorithm","TransformStreamDefaultSourcePullAlgorithm","TransformStreamErrorWritableAndUnblockWrite","_backpressureChangePromise","_backpressureChangePromise_resolve","TransformStreamSetBackpressure","TransformStreamError","TransformStreamDefaultControllerClearAlgorithms","TransformStreamDefaultController","IsTransformStreamDefaultController","defaultControllerBrandCheckException$1","readableController","_controlledTransformStream","TransformStreamDefaultControllerEnqueue","TransformStreamDefaultControllerError","terminate","TransformStreamDefaultControllerTerminate","SetUpTransformStreamDefaultController","transformAlgorithm","flushAlgorithm","_transformAlgorithm","_flushAlgorithm","transformResultE","transformMethod","TransformStreamDefaultControllerPerformTransform","transformPromise","backpressureChangePromise","flushPromise","PDFPageProxy","PDFDocumentProxy","_regenerator","_interopRequireDefault","_util","_display_utils","_font_loader","_api_compatibility","_canvas","_global_scope","_worker_options","_message_handler","_metadata","_transport_stream","_webgl","default","asyncGeneratorStep","gen","_throw","_asyncToGenerator","err","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_arr","_n","_d","_e","_s","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","iter","fallbackWorkerSrc","DEFAULT_RANGE_CHUNK_SIZE","RENDERING_CANCELLED_TIMEOUT","isWorkerDisabled","fakeWorkerFilesLoader","useRequireEnsure","requirejs","toUrl","createPDFNetworkStream","dynamicLoaderSupported","load","worker","WorkerMessageHandler","pdfjsFilePath","currentScript","pdfNetworkStreamFactory","PDFDocumentLoadingTask","range","rangeTransport","pdfBytes","rangeChunkSize","CMapReaderFactory","DOMCMapReaderFactory","ignoreErrors","stopAtErrors","pdfBug","NativeImageDecoderValues","nativeImageDecoderSupport","maxImageSize","disableFontFace","disableRange","disableStream","disableAutoFetch","disableCreateObjectURL","workerParams","workerPort","fromPort","_worker","docId","destroyed","_fetchDocument","workerId","networkStream","PDFDataTransportStream","initialData","progressiveDone","httpHeaders","withCredentials","messageHandler","MessageHandler","postMessageTransfers","transport","WorkerTransport","_transport","send","_capability","pdfDataRangeTransport","sendWithPromise","apiVersion","docBaseUrl","nextDocumentId","onPassword","onProgress","onUnsupportedFeature","transportDestroyed","destroy","deprecated","_rangeListeners","_progressListeners","_progressiveReadListeners","_progressiveDoneListeners","_readyCapability","begin","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","loaded","total","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","_this4","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_step4","_iterator4","pdfInfo","_pdfInfo","pageNumber","getPage","ref","getPageIndex","getDestinations","getDestination","getPageLabels","getPageLayout","getPageMode","getViewerPreferences","getOpenActionDestination","getAttachments","getJavaScript","getOutline","getPermissions","getMetadata","getData","downloadInfoCapability","getStats","startCleanup","loadingTask","numPages","fingerprint","loadingParams","pageIndex","pageInfo","_pageInfo","_stats","StatTimer","DummyStatTimer","_pdfBug","commonObjs","objs","PDFObjects","cleanupAfterRender","pendingCleanup","intentStates","_ref","scale","_ref$rotation","rotation","rotate","_ref$dontFlip","dontFlip","PageViewport","viewBox","_ref2","_ref2$intent","intent","annotationsPromise","annotationsIntent","getAnnotations","_ref3","_this5","canvasContext","viewport","_ref3$intent","_ref3$enableWebGL","enableWebGL","_ref3$renderInteracti","renderInteractiveForms","_ref3$transform","_ref3$imageLayer","imageLayer","_ref3$canvasFactory","canvasFactory","_ref3$background","background","stats","time","renderingIntent","intentState","streamReaderCancelTimeout","clearTimeout","canvasFactoryInstance","DOMCanvasFactory","webGLContext","WebGLContext","enable","displayReadyCapability","operatorList","fnArray","argsArray","lastChunk","_pumpOperatorList","complete","renderTasks","internalRenderTask","_tryCleanup","_abortOperatorList","timeEnd","InternalRenderTask","useRequestAnimationFrame","renderTask","transparency","initializeGraphics","operatorListChanged","opListReadCapability","opListTask","_ref4","_ref4$normalizeWhites","normalizeWhitespace","_ref4$disableCombineT","disableCombineTextItems","TEXT_CONTENT_CHUNK_SIZE","sendWithStream","combineTextItems","textContent","items","readableStream","streamTextContent","pump","_ref5","_textContent$items","styles","_this6","pageCache","waitOn","renderCompleted","resetStats","_this7","operatorListChunk","_this8","streamReader","_ref6","_renderPageChunk","_ref7","_this9","_ref7$force","cleanup","userUnit","_listeners","_defer","_deferred","transfers","_this10","cloneValue","cloned","transferable","fakeWorkerFilesLoadedCapability","pdfWorkerPorts","nextFakeWorkerId","_getWorkerSrc","workerSrc","getMainThreadWorkerMessageHandler","pdfjsWorker","setupFakeWorkerGlobal","mainWorkerMessageHandler","loader","createCDNWrapper","_ref8","_ref8$name","_ref8$port","_ref8$verbosity","_port","_webWorker","_messageHandler","_initializeFromPort","_initialize","on","_this11","Worker","terminateEarly","onWorkerError","_setupFakeWorker","supportTransfers","sendTest","testObj","_this12","workerHandler","setup","fontLoader","FontLoader","_onUnsupportedFeature","_params","cMapUrl","isCompressed","cMapPacked","destroyCapability","_passwordCapability","_networkStream","_fullReader","_lastProgress","pagePromises","setupMessageHandler","_this13","page","_destroy","terminated","cancelAllRequests","_this14","sink","getFullReader","evt","onPull","_ref9","onCancel","headersCapability","fullReader","headersReady","isStreamingSupported","isRangeSupported","contentLength","rangeReader","getRangeReader","_ref10","_ref11","_numPages","exception","updatePassword","_startRenderPage","_data","exportedData","exportedError","fontRegistry","FontInspector","enabled","registerFont","fontAdded","FontFaceObject","_data2","imageData","pageProxy","img","Image","onload","onerror","releaseImageResources","MAX_IMAGE_SIZE_TO_STORE","_data3","imageUrl","components","width","height","rgbaLength","buf","Uint8ClampedArray","tmpCanvas","tmpCtx","getContext","drawImage","getImageData","_j","fetched","builtInCMap","cMapData","_ref12","featureId","_this15","_this16","results","Metadata","contentDispositionFilename","filename","_this17","_objs","objId","resolved","_ensureObj","RenderTask","_internalRenderTask","onContinue","canvasInRendering","_ref13","_ref13$useRequestAnim","_ref13$pdfBug","operatorListIdx","running","graphicsReadyCallback","graphicsReady","_useRequestAnimationFrame","cancelled","_continueBound","_continue","_scheduleNextBound","_scheduleNext","_nextBound","canvas","StepperManager","stepper","nextBreakPoint","getNextBreakPoint","_this$params","gfx","CanvasGraphics","beginDrawing","endDrawing","updateOperatorList","_this18","requestAnimationFrame","_next2","mark","_callee","_context","prev","abrupt","executeOperatorList","runtime","Op","iteratorSymbol","asyncIteratorSymbol","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","context","Context","_invoke","makeInvokeMethod","tryCatch","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","invoke","record","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","displayName","isGeneratorFunction","genFun","awrap","async","reverse","skipTempReset","rootEntry","rootRecord","rval","handle","loc","caught","hasCatch","hasFinally","finallyEntry","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","webpackPolyfill","deprecate","paths","children","DOMSVGFactory","DEFAULT_LINK_REL","SVG_NS","canvasAndContext","_ref$baseUrl","_ref$isCompressed","_fetch","_x","_callee2","compressionType","_context2","baseURI","response","statusText","t0","arrayBuffer","t1","t2","text","t3","_x3","XMLHttpRequest","responseType","onreadystatechange","readyState","DONE","responseText","_x2","svg","createElementNS","setAttribute","_ref5$offsetX","offsetX","_ref5$offsetY","offsetY","_ref5$dontFlip","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","centerX","centerY","abs","_ref6$scale","_ref6$rotation","_ref6$dontFlip","y","topLeft","bottomRight","applyInverseTransform","SELF","BLANK","PARENT","TOP","LinkTargetStringMap","link","_ref7$enabled","urlNullRemoved","title","onclick","LinkTargetValues","targetIndex","anchor","substring","started","times","Date","longest","_time","duration","pdfDateStringRegex","Response","documentElement","removeAttribute","matches","year","month","day","hour","minute","universalTimeRelation","offsetHour","offsetMinute","UTC","BaseFontLoader","nativeFontFaces","styleElement","nativeFontFace","fonts","rule","getElementsByTagName","styleSheet","sheet","insertRule","cssRules","_bind","attached","missingFile","isFontLoadingAPISupported","createNativeFontFace","addNativeFontFace","family","createFontFaceRule","isSyncFontLoadingSupported","_queueLoadingCallback","_prepareFontLoadEvent","rules","fontsToLoad","_BaseFontLoader","GenericFontLoader","loadingContext","requests","nextRequestId","loadTestFontId","completeRequest","otherRequest","int32","spliceString","insert","chunk1","chunk2","ctx","isFontReady","fillText","_loadTestFont","COMMENT_OFFSET","CFF_CHECKSUM_OFFSET","XXXX_VALUE","checksum","loadedName","span","fontFamily","body","supported","navigator","getLoadTestFont","IsEvalSupportedCached","translatedData","_ref2$isEvalSupported","_ref2$disableFontFace","_ref2$ignoreErrors","_ref2$onUnsupportedFe","_ref2$fontRegistry","compiledGlyphs","FontFace","mimetype","character","cmds","current","cmd","_ii","compatibilityParams","isIE","isIOSChrome","freeze","_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","angle","cosValue","cos","sinValue","sin","CachedCanvases","cache","getCanvas","trackTransform","canvasEntry","compileType3Glyph","imgData","j0","POINT_TO_PROCESS_LIMIT","width1","points","POINT_TYPES","lineSize","data0","mask","elem","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","res","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","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$transparency","_ref$background","fillRect","transparentCanvas","compositeCtx","beginLayout","executionStartIdx","continueCallback","argsArrayLen","fnId","chunkOperations","endTime","breakIt","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","singularValueDecompose2dScale","getPattern","isPatternFill","needRestore","pendingTextPaths","addToPath","spacing","fontRefName","fontObj","fontDirection","isType3Font","bold","italic","typeface","fallbackName","browserFontSize","rise","paintChar","patternTransform","fillStrokeMode","isAddToPathSet","getPathGenerator","strokeText","_this$cachedCanvases$","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","makeCssRgb","patternIR","inv","bl","br","ul","ur","x0","y0","x1","y1","matrix","bbox","group","isolated","knockout","bounds","getAxialAlignedBoundingBox","canvasBounds","intersect","imageSmoothingEnabled","mozImageSmoothingEnabled","domImage","getCanvasPosition","appendImage","left","top","compiled","maskCanvas","positions","images","image","imgToPaint","widthScale","heightScale","HTMLElement","paintWidth","paintHeight","tmpCanvasId","newWidth","newHeight","inverse","ShadingIRs","applyBoundingBox","Path2D","region","RadialAxial","fromIR","raw","colorStops","r1","grad","createLinearGradient","createRadialGradient","addColorStop","createMeshCanvas","drawTriangle","c1","c2","c3","tmp","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","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","curMatrixScale","combinedScale","dimx","getSizeAndScale","dimy","graphics","setFillAndStrokeStyleToContext","clipBbox","realOutputSize","maxSize","bboxWidth","bboxHeight","cssColor","StreamKind","CANCEL","CANCEL_COMPLETE","CLOSE","ENQUEUE","ERROR","PULL","PULL_COMPLETE","START_COMPLETE","wrapReason","sourceName","targetName","comObj","callbackId","streamId","streamSinks","streamControllers","callbacksCapabilities","ah","actionHandler","_onComObjOnMessage","_processStreamMessage","isReply","_sourceName","_targetName","_createStreamSink","actionName","queueingStrategy","startCapability","startCall","pullCall","cancelCall","isClosed","pull","pullCapability","cancelCapability","streamSink","isCancelled","lastDesiredSize","sinkCapability","success","deleteStreamController","_xml_parser","_repair","parser","SimpleXMLParser","xmlDocument","parseFromString","_parse","codes","rdf","nodeName","firstChild","nextSibling","hasChildNodes","childNodes","_get","receiver","Reflect","_superPropBase","XMLParserErrorCode","NoError","EndOfDocument","UnterminatedCdat","UnterminatedXmlDeclaration","UnterminatedDoctypeDeclaration","UnterminatedComment","MalformedElement","OutOfMemory","UnterminatedAttributeValue","UnterminatedElement","ElementNeverBegun","isWhitespace","isWhitespaceString","XMLParserBase","entity","onResolveEntity","skipWs","attrName","attrValue","attrEndChar","attrEndIndex","_resolveEntities","parsed","attrStart","ch2","onError","onEndElement","pi","_parseProcessingInstruction","onPi","onComment","onCdata","q2","complexDoctype","doctypeContent","onDoctype","content","_parseContent","onBeginElement","onText","isEmpty","SimpleDOMNode","nodeValue","child","_XMLParserBase","_currentFragment","_stack","_errorCode","parseXml","_this$_currentFragmen","lastElement","_queuedChunks","_progressiveDone","_pdfDataRangeTransport","_isStreamingSupported","_isRangeSupported","_contentLength","_fullRequestReader","_rangeReaders","addRangeListener","_onReceiveData","addProgressListener","_onProgress","addProgressiveReadListener","addProgressiveDoneListener","_onProgressiveDone","transportReady","_enqueue","_begin","firstReader","queuedChunks","PDFDataTransportStreamReader","_progressiveDataLength","PDFDataTransportStreamRangeReader","requestDataRange","readers","_loaded","_stream","_done","_filename","_requests","_headersReady","requestCapability","_read","_end","_queuedChunk","requestsCapability","_removeRangeReader","_read2","_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","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","render","_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","used","TextLayerRenderTask","textContentStream","textContentItemsStr","enhanceTextSelection","_textContent","_container","_textContentItemsStr","_layoutTextLastFontSize","_layoutTextLastFontFamily","_layoutTextCtx","_renderTimer","renderParameters","_render","timeout","_processItems","styleCache","_textDiv$style","_this$_layoutTextCtx$","mozOpaque","textItems","textStyles","expandTextDivs","expandDivs","NO_PADDING","transformBuf","paddingBuf","divProps","padding","AnnotationElementFactory","parameters","annotationType","LinkAnnotationElement","TextAnnotationElement","fieldType","TextWidgetAnnotationElement","radioButton","RadioButtonWidgetAnnotationElement","checkBox","CheckboxWidgetAnnotationElement","PushButtonWidgetAnnotationElement","ChoiceWidgetAnnotationElement","WidgetAnnotationElement","PopupAnnotationElement","FreeTextAnnotationElement","LineAnnotationElement","SquareAnnotationElement","CircleAnnotationElement","PolylineAnnotationElement","CaretAnnotationElement","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","modificationDate","contents","hideWrapper","popup","_AnnotationElement","className","newWindow","externalLinkTarget","externalLinkRel","externalLinkEnabled","_bindNamedAction","_bindLink","destination","getDestinationHash","navigateTo","getAnchorUrl","executeNamedAction","_AnnotationElement2","hasPopup","alt","l10nId","l10nArgs","_createPopup","_AnnotationElement3","_WidgetAnnotationElem","hasAppearance","fieldValue","TEXT_ALIGNMENT","multiLine","disabled","readOnly","maxLen","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","dateObject","toDateObject","date","toLocaleDateString","toLocaleTimeString","_formatContents","_toggle","_show","_hide","lines","line","pin","hasAttribute","zIndex","unpin","_AnnotationElement5","_AnnotationElement6","lineCoordinates","_AnnotationElement7","square","_AnnotationElement8","circle","_AnnotationElement9","containerClassName","svgElementName","vertices","coordinate","polyline","_PolylineAnnotationEl","_AnnotationElement10","_AnnotationElement11","inkLists","inkList","_AnnotationElement12","_AnnotationElement13","_AnnotationElement14","_AnnotationElement15","_AnnotationElement16","_AnnotationElement17","_this6$data$file","eventBus","dispatch","_download","downloadData","_iteratorNormalCompletion5","_didIteratorError5","_iteratorError5","_step5","_iterator5","annotations","_iteratorNormalCompletion6","_didIteratorError6","_iteratorError6","_step6","_iterator6","_is_node","opListToTree","opList","opTree","opListElement","pf","toFixed","pm","acos","SVG_DEFAULTS","XML_NS","XLINK_NS","convertImgDataToPng","PNG_HEADER","CHUNK_WRAPPER_SIZE","crcTable","crc32","crc","writePngChunk","adler32","deflateSync","literals","deflateSyncUncompressed","maxBlockLength","deflateBlocks","idat","adler","isMask","bitDepth","colorType","offsetLiterals","offsetBytes","_y","_i3","ihdr","pngLength","SVGExtraState","dependencies","activeClipUrl","clipGroup","maskId","clipCount","maskCount","shadingCount","transformMatrix","transformStack","extraStack","embedFonts","embeddedFonts","cssStyle","_operatorIdMapping","tgrp","executeOpTree","_loop","svgElement","loadDependencies","convertOpList","operatorIdMapping","opTreeElement","lineMatrix","xcoords","tspan","setAttributeNS","txtElement","txtgrp","lineWidthScale","_setStrokeAttributes","_ensureTransformGroup","defs","addFontStyle","_makeColorN_Pattern","inverseTransform","_makeShadingPattern","_makeTilingPattern","_args$","tilingId","_Util$applyTransform","_Util$applyTransform2","tx0","ty0","_Util$applyTransform3","_Util$applyTransform4","tx1","ty1","_Util$singularValueDe","_Util$singularValueDe2","xscale","yscale","txstep","tystep","tiling","gradient","shadingId","point0","point1","focalPoint","circlePoint","focalRadius","circleRadius","colorStop","getAttributeNS","clipId","clipPath","clipElement","cloneNode","_iteratorNormalCompletion7","_didIteratorError7","_iteratorError7","_step7","_iterator7","_step7$value","setStrokeAlpha","setFillAlpha","imgObj","imgEl","imgSrc","cliprect","definitions","rootGroup","_ensureClipGroup","_network_utils","fs","fileUriRegex","parseUrl","sourceUrl","parsedUrl","isHttp","isFsUrl","_rangeRequestReaders","PDFNodeStreamFsFullReader","PDFNodeStreamFullReader","PDFNodeStreamFsRangeReader","PDFNodeStreamRangeReader","BaseFullReader","_url","_disableRange","_rangeChunkSize","_readableStream","_readCapability","_headersCapability","_error","BaseRangeReader","createRequestOptions","headers","_BaseFullReader","handleResponse","statusCode","_setReadableStream","getResponseHeader","_validateRangeRequest","validateRangeRequestCapabilities","allowRangeRequests","suggestedLength","extractFilenameFromHeader","_request","_BaseRangeReader","_httpHeaders","_BaseFullReader2","lstat","createReadStream","_BaseRangeReader2","createResponseStatusError","validateResponseStatus","_content_disposition","returnValues","contentEncoding","contentDisposition","getFilenameFromContentDispositionHeader","needsEncodingFixup","toParamRegExp","rfc2616unquote","rfc5987decode","rfc2047decode","fixupEncoding","rfc2231getparam","_filename2","attributePattern","flags","textdecode","encoding","decoder","TextDecoder","fatal","_match","_match2","quot","_matches$n","quotindex","extvalue","encodingend","langvalue","_","charset","hex","OK_RESPONSE","PARTIAL_CONTENT_RESPONSE","getArrayBuffer","xhr","NetworkManager","getXhr","currXhrId","pendingRequests","listeners","xhrId","pendingRequest","setRequestHeader","expectedStatus","onStateChange","onprogress","onHeadersReceived","onDone","xhrStatus","ok_response_on_range_request","rangeHeader","_source","_manager","PDFNetworkStreamFullRequestReader","PDFNetworkStreamRangeRequestReader","onClosed","_onRangeRequestReaderClosed","manager","_onHeadersReceived","_onDone","_onError","_fullRequestId","requestFull","_headersReceivedCapability","_cachedChunks","fullRequestXhrId","fullRequestXhr","getRequestXhr","lengthComputable","isPendingRequest","_requestId","requestRange","_close","createFetchOptions","abortController","credentials","redirect","PDFFetchStreamReader","PDFFetchStreamRangeReader","_withCredentials","AbortController","_abortController","_headers","Headers","stringifyPrimitive","ks"],"mappings":"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","file":"js/pdfjs.b95491fd.js","sourcesContent":["// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar punycode = require('punycode');\nvar util = require('./util');\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\n\nexports.Url = Url;\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.host = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.query = null;\n this.pathname = null;\n this.path = null;\n this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n// define these here so at least they only have to be\n// compiled once on the first module load.\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,\n\n // RFC 2396: characters reserved for delimiting URLs.\n // We actually just auto-escape these.\n delims = ['<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = ['{', '}', '|', '\\\\', '^', '`'].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = ['\\''].concat(unwise),\n // Characters that are never ever allowed in a hostname.\n // Note that any invalid chars are also handled, but these\n // are the ones that are *expected* to be seen, so we fast-path\n // them.\n nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape),\n hostEndingChars = ['/', '?', '#'],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n unsafeProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that never have a hostname.\n hostlessProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n 'http': true,\n 'https': true,\n 'ftp': true,\n 'gopher': true,\n 'file': true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n },\n querystring = require('querystring');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n if (url && util.isObject(url) && url instanceof Url) return url;\n\n var u = new Url;\n u.parse(url, parseQueryString, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {\n if (!util.isString(url)) {\n throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n }\n\n // Copy chrome, IE, opera backslash-handling behavior.\n // Back slashes before the query string get converted to forward slashes\n // See: https://code.google.com/p/chromium/issues/detail?id=25916\n var queryIndex = url.indexOf('?'),\n splitter =\n (queryIndex !== -1 && queryIndex < url.indexOf('#')) ? '?' : '#',\n uSplit = url.split(splitter),\n slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, '/');\n url = uSplit.join(splitter);\n\n var rest = url;\n\n // trim before proceeding.\n // This is to support parse stuff like \" http://foo.com \\n\"\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.path = rest;\n this.href = rest;\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n if (parseQueryString) {\n this.query = querystring.parse(this.search.substr(1));\n } else {\n this.query = this.search.substr(1);\n }\n } else if (parseQueryString) {\n this.search = '';\n this.query = {};\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto;\n rest = rest.substr(proto.length);\n }\n\n // figure out if it's got a host\n // user@server is *always* interpreted as a hostname, and url\n // resolution will treat //foo/bar as host=foo,path=bar because that's\n // how the browser resolves relative URLs.\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)) {\n var slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] &&\n (slashes || (proto && !slashedProtocol[proto]))) {\n\n // there's a hostname.\n // the first instance of /, ?, ;, or # ends the host.\n //\n // If there is an @ in the hostname, then non-host chars *are* allowed\n // to the left of the last @ sign, unless some host-ending character\n // comes *before* the @-sign.\n // URLs are obnoxious.\n //\n // ex:\n // http://a@b@c/ => user:a@b host:c\n // http://a@b?@c => user:a host:c path:/?@c\n\n // v0.12 TODO(isaacs): This is not quite how Chrome does things.\n // Review our test case against browsers more comprehensively.\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (var i = 0; i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n\n // at this point, either we have an explicit point where the\n // auth portion cannot go past, or the last @ char is the decider.\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n // atSign must be in auth portion.\n // http://a@b/c@d => host:b auth:a path:/c@d\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n // Now we have a portion which is definitely the auth.\n // Pull that off.\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = decodeURIComponent(auth);\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (var i = 0; i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1)\n hostEnd = rest.length;\n\n this.host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost();\n\n // we've indicated that there is a hostname,\n // so even if it's empty, it has to be present.\n this.hostname = this.hostname || '';\n\n // if hostname begins with [ and ends with ]\n // assume that it's an IPv6 address.\n var ipv6Hostname = this.hostname[0] === '[' &&\n this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) continue;\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n // we replace non-ASCII char with a temporary placeholder\n // we need this to make sure size of hostname is not\n // broken by replacing non-ASCII by nothing\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = '/' + notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n } else {\n // hostnames are always lower case.\n this.hostname = this.hostname.toLowerCase();\n }\n\n if (!ipv6Hostname) {\n // IDNA Support: Returns a punycoded representation of \"domain\".\n // It only converts parts of the domain name that\n // have non-ASCII characters, i.e. it doesn't matter if\n // you call it with a domain that already is ASCII-only.\n this.hostname = punycode.toASCII(this.hostname);\n }\n\n var p = this.port ? ':' + this.port : '';\n var h = this.hostname || '';\n this.host = h + p;\n this.href += this.host;\n\n // strip [ and ] from the hostname\n // the host field still retains them, though\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n if (rest[0] !== '/') {\n rest = '/' + rest;\n }\n }\n }\n\n // now rest is set to the post-host stuff.\n // chop off any delim chars.\n if (!unsafeProtocol[lowerProto]) {\n\n // First, make 100% sure that any \"autoEscape\" chars get\n // escaped, even if encodeURIComponent doesn't think they\n // need to be.\n for (var i = 0, l = autoEscape.length; i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1)\n continue;\n var esc = encodeURIComponent(ae);\n if (esc === ae) {\n esc = escape(ae);\n }\n rest = rest.split(ae).join(esc);\n }\n }\n\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n this.query = rest.substr(qm + 1);\n if (parseQueryString) {\n this.query = querystring.parse(this.query);\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString) {\n // no query string, but parseQueryString still requested\n this.search = '';\n this.query = {};\n }\n if (rest) this.pathname = rest;\n if (slashedProtocol[lowerProto] &&\n this.hostname && !this.pathname) {\n this.pathname = '/';\n }\n\n //to support http.request\n if (this.pathname || this.search) {\n var p = this.pathname || '';\n var s = this.search || '';\n this.path = p + s;\n }\n\n // finally, reconstruct the href based on what has been validated.\n this.href = this.format();\n return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n // ensure it's an object, and not a string url.\n // If it's an obj, this is a no-op.\n // this way, you can call url_format() on strings\n // to clean up potentially wonky urls.\n if (util.isString(obj)) obj = urlParse(obj);\n if (!(obj instanceof Url)) return Url.prototype.format.call(obj);\n return obj.format();\n}\n\nUrl.prototype.format = function() {\n var auth = this.auth || '';\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, ':');\n auth += '@';\n }\n\n var protocol = this.protocol || '',\n pathname = this.pathname || '',\n hash = this.hash || '',\n host = false,\n query = '';\n\n if (this.host) {\n host = auth + this.host;\n } else if (this.hostname) {\n host = auth + (this.hostname.indexOf(':') === -1 ?\n this.hostname :\n '[' + this.hostname + ']');\n if (this.port) {\n host += ':' + this.port;\n }\n }\n\n if (this.query &&\n util.isObject(this.query) &&\n Object.keys(this.query).length) {\n query = querystring.stringify(this.query);\n }\n\n var search = this.search || (query && ('?' + query)) || '';\n\n if (protocol && protocol.substr(-1) !== ':') protocol += ':';\n\n // only the slashedProtocols get the //. Not mailto:, xmpp:, etc.\n // unless they had them to begin with.\n if (this.slashes ||\n (!protocol || slashedProtocol[protocol]) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname;\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash.charAt(0) !== '#') hash = '#' + hash;\n if (search && search.charAt(0) !== '?') search = '?' + search;\n\n pathname = pathname.replace(/[?#]/g, function(match) {\n return encodeURIComponent(match);\n });\n search = search.replace('#', '%23');\n\n return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function(relative) {\n return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n if (!source) return relative;\n return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function(relative) {\n if (util.isString(relative)) {\n var rel = new Url();\n rel.parse(relative, false, true);\n relative = rel;\n }\n\n var result = new Url();\n var tkeys = Object.keys(this);\n for (var tk = 0; tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n\n // hash is always overridden, no matter what.\n // even href=\"\" will remove it.\n result.hash = relative.hash;\n\n // if the relative url is empty, then there's nothing left to do here.\n if (relative.href === '') {\n result.href = result.format();\n return result;\n }\n\n // hrefs like //foo/bar always cut to the protocol.\n if (relative.slashes && !relative.protocol) {\n // take everything except the protocol from relative\n var rkeys = Object.keys(relative);\n for (var rk = 0; rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== 'protocol')\n result[rkey] = relative[rkey];\n }\n\n //urlParse appends trailing / to urls like http://www.example.com\n if (slashedProtocol[result.protocol] &&\n result.hostname && !result.pathname) {\n result.path = result.pathname = '/';\n }\n\n result.href = result.format();\n return result;\n }\n\n if (relative.protocol && relative.protocol !== result.protocol) {\n // if it's a known url protocol, then changing\n // the protocol does weird things\n // first, if it's not file:, then we MUST have a host,\n // and if there was a path\n // to begin with, then we MUST have a path.\n // if it is file:, then the host is dropped,\n // because that's known to be hostless.\n // anything else is assumed to be absolute.\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0; v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n result.href = result.format();\n return result;\n }\n\n result.protocol = relative.protocol;\n if (!relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || '').split('/');\n while (relPath.length && !(relative.host = relPath.shift()));\n if (!relative.host) relative.host = '';\n if (!relative.hostname) relative.hostname = '';\n if (relPath[0] !== '') relPath.unshift('');\n if (relPath.length < 2) relPath.unshift('');\n result.pathname = relPath.join('/');\n } else {\n result.pathname = relative.pathname;\n }\n result.search = relative.search;\n result.query = relative.query;\n result.host = relative.host || '';\n result.auth = relative.auth;\n result.hostname = relative.hostname || relative.host;\n result.port = relative.port;\n // to support http.request\n if (result.pathname || result.search) {\n var p = result.pathname || '';\n var s = result.search || '';\n result.path = p + s;\n }\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n }\n\n var isSourceAbs = (result.pathname && result.pathname.charAt(0) === '/'),\n isRelAbs = (\n relative.host ||\n relative.pathname && relative.pathname.charAt(0) === '/'\n ),\n mustEndAbs = (isRelAbs || isSourceAbs ||\n (result.host && relative.pathname)),\n removeAllDots = mustEndAbs,\n srcPath = result.pathname && result.pathname.split('/') || [],\n relPath = relative.pathname && relative.pathname.split('/') || [],\n psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n // if the url is a non-slashed url, then relative\n // links like ../.. should be able\n // to crawl up to the hostname, as well. This is strange.\n // result.protocol has already been set by now.\n // Later on, put the first path part into the host field.\n if (psychotic) {\n result.hostname = '';\n result.port = null;\n if (result.host) {\n if (srcPath[0] === '') srcPath[0] = result.host;\n else srcPath.unshift(result.host);\n }\n result.host = '';\n if (relative.protocol) {\n relative.hostname = null;\n relative.port = null;\n if (relative.host) {\n if (relPath[0] === '') relPath[0] = relative.host;\n else relPath.unshift(relative.host);\n }\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n }\n\n if (isRelAbs) {\n // it's absolute.\n result.host = (relative.host || relative.host === '') ?\n relative.host : result.host;\n result.hostname = (relative.hostname || relative.hostname === '') ?\n relative.hostname : result.hostname;\n result.search = relative.search;\n result.query = relative.query;\n srcPath = relPath;\n // fall through to the dot-handling below.\n } else if (relPath.length) {\n // it's relative\n // throw away the existing file, and take the new path instead.\n if (!srcPath) srcPath = [];\n srcPath.pop();\n srcPath = srcPath.concat(relPath);\n result.search = relative.search;\n result.query = relative.query;\n } else if (!util.isNullOrUndefined(relative.search)) {\n // just pull out the search.\n // like href='?foo'.\n // Put this after the other two cases because it simplifies the booleans\n if (psychotic) {\n result.hostname = result.host = srcPath.shift();\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n result.search = relative.search;\n result.query = relative.query;\n //to support http.request\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.href = result.format();\n return result;\n }\n\n if (!srcPath.length) {\n // no path at all. easy.\n // we've already handled the other stuff above.\n result.pathname = null;\n //to support http.request\n if (result.search) {\n result.path = '/' + result.search;\n } else {\n result.path = null;\n }\n result.href = result.format();\n return result;\n }\n\n // if a url ENDs in . or .., then it must get a trailing slash.\n // however, if it ends in anything else non-slashy,\n // then it must NOT get a trailing slash.\n var last = srcPath.slice(-1)[0];\n var hasTrailingSlash = (\n (result.host || relative.host || srcPath.length > 1) &&\n (last === '.' || last === '..') || last === '');\n\n // strip single dots, resolve double dots to parent dir\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = srcPath.length; i >= 0; i--) {\n last = srcPath[i];\n if (last === '.') {\n srcPath.splice(i, 1);\n } else if (last === '..') {\n srcPath.splice(i, 1);\n up++;\n } else if (up) {\n srcPath.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (!mustEndAbs && !removeAllDots) {\n for (; up--; up) {\n srcPath.unshift('..');\n }\n }\n\n if (mustEndAbs && srcPath[0] !== '' &&\n (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n srcPath.unshift('');\n }\n\n if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n srcPath.push('');\n }\n\n var isAbsolute = srcPath[0] === '' ||\n (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n // put the host back\n if (psychotic) {\n result.hostname = result.host = isAbsolute ? '' :\n srcPath.length ? srcPath.shift() : '';\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n\n mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n if (mustEndAbs && !isAbsolute) {\n srcPath.unshift('');\n }\n\n if (!srcPath.length) {\n result.pathname = null;\n result.path = null;\n } else {\n result.pathname = srcPath.join('/');\n }\n\n //to support request.http\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.auth = relative.auth || result.auth;\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n};\n\nUrl.prototype.parseHost = function() {\n var host = this.host;\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) this.hostname = host;\n};\n","/*! https://mths.be/punycode v1.4.1 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow new RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see \n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * https://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.4.1',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see \n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) {\n\t\t\t// in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else {\n\t\t\t// in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n","'use strict';\n\nmodule.exports = {\n isString: function(arg) {\n return typeof(arg) === 'string';\n },\n isObject: function(arg) {\n return typeof(arg) === 'object' && arg !== null;\n },\n isNull: function(arg) {\n return arg === null;\n },\n isNullOrUndefined: function(arg) {\n return arg == null;\n }\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr, vstr, k, v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n","/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\n * Copyright 2019 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.3.200';\nvar pdfjsBuild = '4ae3f9fc';\n\nvar pdfjsSharedUtil = __w_pdfjs_require__(1);\n\nvar pdfjsDisplayAPI = __w_pdfjs_require__(179);\n\nvar pdfjsDisplayTextLayer = __w_pdfjs_require__(194);\n\nvar pdfjsDisplayAnnotationLayer = __w_pdfjs_require__(195);\n\nvar pdfjsDisplayDisplayUtils = __w_pdfjs_require__(183);\n\nvar pdfjsDisplaySVG = __w_pdfjs_require__(196);\n\nvar pdfjsDisplayWorkerOptions = __w_pdfjs_require__(188);\n\nvar pdfjsDisplayAPICompatibility = __w_pdfjs_require__(185);\n\n{\n var isNodeJS = __w_pdfjs_require__(4);\n\n if (isNodeJS()) {\n var PDFNodeStream = __w_pdfjs_require__(197).PDFNodeStream;\n\n pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {\n return new PDFNodeStream(params);\n });\n } else {\n var PDFNetworkStream = __w_pdfjs_require__(200).PDFNetworkStream;\n\n var PDFFetchStream;\n\n if (pdfjsDisplayDisplayUtils.isFetchSupported()) {\n PDFFetchStream = __w_pdfjs_require__(201).PDFFetchStream;\n }\n\n pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {\n if (PDFFetchStream && pdfjsDisplayDisplayUtils.isValidFetchUrl(params.url)) {\n return new PDFFetchStream(params);\n }\n\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.RenderingCancelledException = pdfjsDisplayDisplayUtils.RenderingCancelledException;\nexports.getFilenameFromUrl = pdfjsDisplayDisplayUtils.getFilenameFromUrl;\nexports.LinkTarget = pdfjsDisplayDisplayUtils.LinkTarget;\nexports.addLinkAttributes = pdfjsDisplayDisplayUtils.addLinkAttributes;\nexports.loadScript = pdfjsDisplayDisplayUtils.loadScript;\nexports.PDFDateString = pdfjsDisplayDisplayUtils.PDFDateString;\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.arrayByteLength = arrayByteLength;\nexports.arraysToBytes = arraysToBytes;\nexports.assert = assert;\nexports.bytesToString = bytesToString;\nexports.createPromiseCapability = createPromiseCapability;\nexports.getVerbosityLevel = getVerbosityLevel;\nexports.info = info;\nexports.isArrayBuffer = isArrayBuffer;\nexports.isArrayEqual = isArrayEqual;\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.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;\nObject.defineProperty(exports, \"ReadableStream\", {\n enumerable: true,\n get: function () {\n return _streams_polyfill.ReadableStream;\n }\n});\nexports.createObjectURL = exports.FormatError = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.NativeImageDecoding = exports.MissingPDFException = exports.InvalidPDFException = exports.AbortException = exports.CMapCompressionType = exports.ImageKind = exports.FontType = exports.AnnotationType = exports.AnnotationStateModelType = exports.AnnotationReviewState = exports.AnnotationReplyType = exports.AnnotationMarkedState = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.UNSUPPORTED_FEATURES = exports.VerbosityLevel = exports.OPS = exports.IDENTITY_MATRIX = exports.FONT_IDENTITY_MATRIX = exports.BaseException = void 0;\n\n__w_pdfjs_require__(2);\n\nvar _streams_polyfill = __w_pdfjs_require__(177);\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nexports.IDENTITY_MATRIX = IDENTITY_MATRIX;\nvar FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\nexports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\nvar NativeImageDecoding = {\n NONE: 'none',\n DECODE: 'decode',\n DISPLAY: 'display'\n};\nexports.NativeImageDecoding = NativeImageDecoding;\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};\nexports.PermissionFlag = PermissionFlag;\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};\nexports.TextRenderingMode = TextRenderingMode;\nvar ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n};\nexports.ImageKind = ImageKind;\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};\nexports.AnnotationType = AnnotationType;\nvar AnnotationStateModelType = {\n MARKED: 'Marked',\n REVIEW: 'Review'\n};\nexports.AnnotationStateModelType = AnnotationStateModelType;\nvar AnnotationMarkedState = {\n MARKED: 'Marked',\n UNMARKED: 'Unmarked'\n};\nexports.AnnotationMarkedState = AnnotationMarkedState;\nvar AnnotationReviewState = {\n ACCEPTED: 'Accepted',\n REJECTED: 'Rejected',\n CANCELLED: 'Cancelled',\n COMPLETED: 'Completed',\n NONE: 'None'\n};\nexports.AnnotationReviewState = AnnotationReviewState;\nvar AnnotationReplyType = {\n GROUP: 'Group',\n REPLY: 'R'\n};\nexports.AnnotationReplyType = AnnotationReplyType;\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};\nexports.AnnotationFlag = AnnotationFlag;\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};\nexports.AnnotationFieldFlag = AnnotationFieldFlag;\nvar AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n};\nexports.AnnotationBorderStyleType = AnnotationBorderStyleType;\nvar StreamType = {\n UNKNOWN: 'UNKNOWN',\n FLATE: 'FLATE',\n LZW: 'LZW',\n DCT: 'DCT',\n JPX: 'JPX',\n JBIG: 'JBIG',\n A85: 'A85',\n AHX: 'AHX',\n CCF: 'CCF',\n RLX: 'RLX'\n};\nexports.StreamType = StreamType;\nvar FontType = {\n UNKNOWN: 'UNKNOWN',\n TYPE1: 'TYPE1',\n TYPE1C: 'TYPE1C',\n CIDFONTTYPE0: 'CIDFONTTYPE0',\n CIDFONTTYPE0C: 'CIDFONTTYPE0C',\n TRUETYPE: 'TRUETYPE',\n CIDFONTTYPE2: 'CIDFONTTYPE2',\n TYPE3: 'TYPE3',\n OPENTYPE: 'OPENTYPE',\n TYPE0: 'TYPE0',\n MMTYPE1: 'MMTYPE1'\n};\nexports.FontType = FontType;\nvar VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n};\nexports.VerbosityLevel = VerbosityLevel;\nvar CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2\n};\nexports.CMapCompressionType = CMapCompressionType;\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};\nexports.OPS = OPS;\nvar UNSUPPORTED_FEATURES = {\n unknown: 'unknown',\n forms: 'forms',\n javaScript: 'javaScript',\n smask: 'smask',\n shadingPattern: 'shadingPattern',\n font: 'font'\n};\nexports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;\nvar PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n};\nexports.PasswordResponses = PasswordResponses;\nvar verbosity = VerbosityLevel.WARNINGS;\n\nfunction setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n}\n\nfunction getVerbosityLevel() {\n return verbosity;\n}\n\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(\"Info: \".concat(msg));\n }\n}\n\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(\"Warning: \".concat(msg));\n }\n}\n\nfunction unreachable(msg) {\n throw new Error(msg);\n}\n\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\n\nfunction isSameOrigin(baseUrl, otherUrl) {\n var base;\n\n try {\n base = new URL(baseUrl);\n\n if (!base.origin || base.origin === 'null') {\n return false;\n }\n } catch (e) {\n return false;\n }\n\n var other = new URL(otherUrl, base);\n return base.origin === other.origin;\n}\n\nfunction _isValidProtocol(url) {\n if (!url) {\n return false;\n }\n\n switch (url.protocol) {\n case 'http:':\n case 'https:':\n case 'ftp:':\n case 'mailto:':\n case 'tel:':\n return true;\n\n default:\n return false;\n }\n}\n\nfunction createValidAbsoluteUrl(url, baseUrl) {\n if (!url) {\n return null;\n }\n\n try {\n var absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {}\n\n return null;\n}\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}\n\nvar BaseException = function BaseExceptionClosure() {\n function BaseException(message) {\n if (this.constructor === BaseException) {\n unreachable('Cannot initialize BaseException.');\n }\n\n this.message = message;\n this.name = this.constructor.name;\n }\n\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n return BaseException;\n}();\n\nexports.BaseException = BaseException;\n\nvar PasswordException =\n/*#__PURE__*/\nfunction (_BaseException) {\n _inherits(PasswordException, _BaseException);\n\n function PasswordException(msg, code) {\n var _this;\n\n _classCallCheck(this, PasswordException);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(PasswordException).call(this, msg));\n _this.code = code;\n return _this;\n }\n\n return PasswordException;\n}(BaseException);\n\nexports.PasswordException = PasswordException;\n\nvar UnknownErrorException =\n/*#__PURE__*/\nfunction (_BaseException2) {\n _inherits(UnknownErrorException, _BaseException2);\n\n function UnknownErrorException(msg, details) {\n var _this2;\n\n _classCallCheck(this, UnknownErrorException);\n\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(UnknownErrorException).call(this, msg));\n _this2.details = details;\n return _this2;\n }\n\n return UnknownErrorException;\n}(BaseException);\n\nexports.UnknownErrorException = UnknownErrorException;\n\nvar InvalidPDFException =\n/*#__PURE__*/\nfunction (_BaseException3) {\n _inherits(InvalidPDFException, _BaseException3);\n\n function InvalidPDFException() {\n _classCallCheck(this, InvalidPDFException);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(InvalidPDFException).apply(this, arguments));\n }\n\n return InvalidPDFException;\n}(BaseException);\n\nexports.InvalidPDFException = InvalidPDFException;\n\nvar MissingPDFException =\n/*#__PURE__*/\nfunction (_BaseException4) {\n _inherits(MissingPDFException, _BaseException4);\n\n function MissingPDFException() {\n _classCallCheck(this, MissingPDFException);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(MissingPDFException).apply(this, arguments));\n }\n\n return MissingPDFException;\n}(BaseException);\n\nexports.MissingPDFException = MissingPDFException;\n\nvar UnexpectedResponseException =\n/*#__PURE__*/\nfunction (_BaseException5) {\n _inherits(UnexpectedResponseException, _BaseException5);\n\n function UnexpectedResponseException(msg, status) {\n var _this3;\n\n _classCallCheck(this, UnexpectedResponseException);\n\n _this3 = _possibleConstructorReturn(this, _getPrototypeOf(UnexpectedResponseException).call(this, msg));\n _this3.status = status;\n return _this3;\n }\n\n return UnexpectedResponseException;\n}(BaseException);\n\nexports.UnexpectedResponseException = UnexpectedResponseException;\n\nvar FormatError =\n/*#__PURE__*/\nfunction (_BaseException6) {\n _inherits(FormatError, _BaseException6);\n\n function FormatError() {\n _classCallCheck(this, FormatError);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(FormatError).apply(this, arguments));\n }\n\n return FormatError;\n}(BaseException);\n\nexports.FormatError = FormatError;\n\nvar AbortException =\n/*#__PURE__*/\nfunction (_BaseException7) {\n _inherits(AbortException, _BaseException7);\n\n function AbortException() {\n _classCallCheck(this, AbortException);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(AbortException).apply(this, arguments));\n }\n\n return AbortException;\n}(BaseException);\n\nexports.AbortException = AbortException;\nvar NullCharactersRegExp = /\\x00/g;\n\nfunction removeNullCharacters(str) {\n if (typeof str !== 'string') {\n warn('The argument for removeNullCharacters must be a string.');\n return str;\n }\n\n return str.replace(NullCharactersRegExp, '');\n}\n\nfunction bytesToString(bytes) {\n assert(bytes !== null && _typeof(bytes) === 'object' && bytes.length !== undefined, 'Invalid argument for bytesToString');\n var length = bytes.length;\n var MAX_ARGUMENT_COUNT = 8192;\n\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n\n var strBuf = [];\n\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\n return strBuf.join('');\n}\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\n for (var i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xFF;\n }\n\n return bytes;\n}\n\nfunction arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n\n assert(arr.byteLength !== undefined);\n return arr.byteLength;\n}\n\nfunction arraysToBytes(arr) {\n var length = arr.length;\n\n if (length === 1 && arr[0] instanceof Uint8Array) {\n return arr[0];\n }\n\n var resultLength = 0;\n\n for (var i = 0; i < length; i++) {\n resultLength += arrayByteLength(arr[i]);\n }\n\n var pos = 0;\n var data = new Uint8Array(resultLength);\n\n for (var _i = 0; _i < length; _i++) {\n var item = arr[_i];\n\n if (!(item instanceof Uint8Array)) {\n if (typeof item === 'string') {\n item = stringToBytes(item);\n } else {\n item = new Uint8Array(item);\n }\n }\n\n var itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n\n return data;\n}\n\nfunction string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n}\n\nfunction log2(x) {\n if (x <= 0) {\n return 0;\n }\n\n return Math.ceil(Math.log2(x));\n}\n\nfunction readInt8(data, start) {\n return data[start] << 24 >> 24;\n}\n\nfunction readUint16(data, offset) {\n return data[offset] << 8 | data[offset + 1];\n}\n\nfunction readUint32(data, offset) {\n return (data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3]) >>> 0;\n}\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}\n\nfunction isEvalSupported() {\n try {\n new Function('');\n return true;\n } catch (e) {\n return false;\n }\n}\n\nvar rgbBuf = ['rgb(', 0, ',', 0, ',', 0, ')'];\n\nvar Util =\n/*#__PURE__*/\nfunction () {\n function Util() {\n _classCallCheck(this, Util);\n }\n\n _createClass(Util, null, [{\n key: \"makeCssRgb\",\n value: function makeCssRgb(r, g, b) {\n rgbBuf[1] = r;\n rgbBuf[3] = g;\n rgbBuf[5] = b;\n return rgbBuf.join('');\n }\n }, {\n key: \"transform\",\n value: function 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 }, {\n key: \"applyTransform\",\n value: function 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 }, {\n key: \"applyInverseTransform\",\n value: function 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 }, {\n key: \"getAxialAlignedBoundingBox\",\n value: function 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 }, {\n key: \"inverseTransform\",\n value: function 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 }, {\n key: \"apply3dTransform\",\n value: function 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 }, {\n key: \"singularValueDecompose2dScale\",\n value: function 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 }, {\n key: \"normalizeRect\",\n value: function normalizeRect(rect) {\n var r = rect.slice(0);\n\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n\n return r;\n }\n }, {\n key: \"intersect\",\n value: function intersect(rect1, rect2) {\n function compare(a, b) {\n return a - b;\n }\n\n var orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare);\n var orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);\n var result = [];\n rect1 = Util.normalizeRect(rect1);\n rect2 = Util.normalizeRect(rect2);\n\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 null;\n }\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 null;\n }\n\n return result;\n }\n }]);\n\n return Util;\n}();\n\nexports.Util = Util;\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];\n\nfunction stringToPDFString(str) {\n var length = str.length,\n strBuf = [];\n\n if (str[0] === '\\xFE' && str[1] === '\\xFF') {\n for (var i = 2; i < length; i += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1)));\n }\n } else {\n for (var _i2 = 0; _i2 < length; ++_i2) {\n var code = PDFStringTranslateTable[str.charCodeAt(_i2)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(_i2));\n }\n }\n\n return strBuf.join('');\n}\n\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\n\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\n\nfunction isEmptyObj(obj) {\n for (var key in obj) {\n return false;\n }\n\n return true;\n}\n\nfunction isBool(v) {\n return typeof v === 'boolean';\n}\n\nfunction isNum(v) {\n return typeof v === 'number';\n}\n\nfunction isString(v) {\n return typeof v === 'string';\n}\n\nfunction isArrayBuffer(v) {\n return _typeof(v) === 'object' && v !== null && v.byteLength !== undefined;\n}\n\nfunction isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n\n return arr1.every(function (element, index) {\n return element === arr2[index];\n });\n}\n\nfunction isSpace(ch) {\n return ch === 0x20 || ch === 0x09 || ch === 0x0D || ch === 0x0A;\n}\n\nfunction createPromiseCapability() {\n var capability = Object.create(null);\n var isSettled = false;\n Object.defineProperty(capability, 'settled', {\n get: function get() {\n return isSettled;\n }\n });\n capability.promise = new Promise(function (resolve, reject) {\n capability.resolve = function (data) {\n isSettled = true;\n resolve(data);\n };\n\n capability.reject = function (reason) {\n isSettled = true;\n reject(reason);\n };\n });\n return capability;\n}\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.createObjectURL) {\n var blob = new Blob([data], {\n type: contentType\n });\n return URL.createObjectURL(blob);\n }\n\n var buffer = \"data:\".concat(contentType, \";base64,\");\n\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\n return buffer;\n };\n}();\n\nexports.createObjectURL = createObjectURL;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar globalScope = __w_pdfjs_require__(3);\n\nif (!globalScope._pdfjsCompatibilityChecked) {\n globalScope._pdfjsCompatibilityChecked = true;\n\n var isNodeJS = __w_pdfjs_require__(4);\n\n var hasDOM = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === 'object' && (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) === 'object';\n\n (function checkNodeBtoa() {\n if (globalScope.btoa || !isNodeJS()) {\n return;\n }\n\n globalScope.btoa = function (chars) {\n return Buffer.from(chars, 'binary').toString('base64');\n };\n })();\n\n (function checkNodeAtob() {\n if (globalScope.atob || !isNodeJS()) {\n return;\n }\n\n globalScope.atob = function (input) {\n return Buffer.from(input, 'base64').toString('binary');\n };\n })();\n\n (function checkChildNodeRemove() {\n if (!hasDOM) {\n return;\n }\n\n if (typeof Element.prototype.remove !== 'undefined') {\n return;\n }\n\n Element.prototype.remove = function () {\n if (this.parentNode) {\n this.parentNode.removeChild(this);\n }\n };\n })();\n\n (function checkDOMTokenListAddRemove() {\n if (!hasDOM || isNodeJS()) {\n return;\n }\n\n var div = document.createElement('div');\n div.classList.add('testOne', 'testTwo');\n\n if (div.classList.contains('testOne') === true && div.classList.contains('testTwo') === true) {\n return;\n }\n\n var OriginalDOMTokenListAdd = DOMTokenList.prototype.add;\n var OriginalDOMTokenListRemove = DOMTokenList.prototype.remove;\n\n DOMTokenList.prototype.add = function () {\n for (var _len = arguments.length, tokens = new Array(_len), _key = 0; _key < _len; _key++) {\n tokens[_key] = arguments[_key];\n }\n\n for (var _i = 0, _tokens = tokens; _i < _tokens.length; _i++) {\n var token = _tokens[_i];\n OriginalDOMTokenListAdd.call(this, token);\n }\n };\n\n DOMTokenList.prototype.remove = function () {\n for (var _len2 = arguments.length, tokens = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n tokens[_key2] = arguments[_key2];\n }\n\n for (var _i2 = 0, _tokens2 = tokens; _i2 < _tokens2.length; _i2++) {\n var token = _tokens2[_i2];\n OriginalDOMTokenListRemove.call(this, token);\n }\n };\n })();\n\n (function checkDOMTokenListToggle() {\n if (!hasDOM || isNodeJS()) {\n return;\n }\n\n var div = document.createElement('div');\n\n if (div.classList.toggle('test', 0) === false) {\n return;\n }\n\n DOMTokenList.prototype.toggle = function (token) {\n var force = arguments.length > 1 ? !!arguments[1] : !this.contains(token);\n return this[force ? 'add' : 'remove'](token), force;\n };\n })();\n\n (function checkStringStartsWith() {\n if (String.prototype.startsWith) {\n return;\n }\n\n __w_pdfjs_require__(5);\n })();\n\n (function checkStringEndsWith() {\n if (String.prototype.endsWith) {\n return;\n }\n\n __w_pdfjs_require__(57);\n })();\n\n (function checkStringIncludes() {\n if (String.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(59);\n })();\n\n (function checkArrayIncludes() {\n if (Array.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(61);\n })();\n\n (function checkArrayFrom() {\n if (Array.from) {\n return;\n }\n\n __w_pdfjs_require__(68);\n })();\n\n (function checkObjectAssign() {\n if (Object.assign) {\n return;\n }\n\n __w_pdfjs_require__(89);\n })();\n\n (function checkMathLog2() {\n if (Math.log2) {\n return;\n }\n\n Math.log2 = __w_pdfjs_require__(92);\n })();\n\n (function checkNumberIsNaN() {\n if (Number.isNaN) {\n return;\n }\n\n Number.isNaN = __w_pdfjs_require__(94);\n })();\n\n (function checkNumberIsInteger() {\n if (Number.isInteger) {\n return;\n }\n\n Number.isInteger = __w_pdfjs_require__(96);\n })();\n\n (function checkPromise() {\n if (globalScope.Promise && globalScope.Promise.prototype && globalScope.Promise.prototype[\"finally\"]) {\n return;\n }\n\n globalScope.Promise = __w_pdfjs_require__(99);\n })();\n\n (function checkURL() {\n globalScope.URL = __w_pdfjs_require__(121);\n })();\n\n (function checkWeakMap() {\n if (globalScope.WeakMap) {\n return;\n }\n\n globalScope.WeakMap = __w_pdfjs_require__(128);\n })();\n\n (function checkWeakSet() {\n if (globalScope.WeakSet) {\n return;\n }\n\n globalScope.WeakSet = __w_pdfjs_require__(138);\n })();\n\n (function checkStringCodePointAt() {\n if (String.prototype.codePointAt) {\n return;\n }\n\n __w_pdfjs_require__(140);\n })();\n\n (function checkStringFromCodePoint() {\n if (String.fromCodePoint) {\n return;\n }\n\n String.fromCodePoint = __w_pdfjs_require__(142);\n })();\n\n (function checkSymbol() {\n if (globalScope.Symbol) {\n return;\n }\n\n __w_pdfjs_require__(144);\n })();\n\n (function checkStringPadStart() {\n if (String.prototype.padStart) {\n return;\n }\n\n __w_pdfjs_require__(167);\n })();\n\n (function checkStringPadEnd() {\n if (String.prototype.padEnd) {\n return;\n }\n\n __w_pdfjs_require__(172);\n })();\n\n (function checkObjectValues() {\n if (Object.values) {\n return;\n }\n\n Object.values = __w_pdfjs_require__(174);\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\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nmodule.exports = function isNodeJS() {\n return (typeof process === \"undefined\" ? \"undefined\" : _typeof(process)) === 'object' && process + '' === '[object process]' && !process.versions['nw'] && !process.versions['electron'];\n};\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(6);\nvar entryUnbind = __w_pdfjs_require__(54);\nmodule.exports = entryUnbind('String', 'startsWith');\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar toLength = __w_pdfjs_require__(43);\nvar notARegExp = __w_pdfjs_require__(49);\nvar requireObjectCoercible = __w_pdfjs_require__(17);\nvar correctIsRegExpLogic = __w_pdfjs_require__(53);\nvar nativeStartsWith = ''.startsWith;\nvar min = Math.min;\n$({\n target: 'String',\n proto: true,\n forced: !correctIsRegExpLogic('startsWith')\n}, {\n startsWith: function startsWith(searchString) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return nativeStartsWith ? nativeStartsWith.call(that, search, index) : that.slice(index, index + search.length) === search;\n }\n});\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(8);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(9).f;\nvar hide = __w_pdfjs_require__(23);\nvar redefine = __w_pdfjs_require__(26);\nvar setGlobal = __w_pdfjs_require__(28);\nvar copyConstructorProperties = __w_pdfjs_require__(36);\nvar isForced = __w_pdfjs_require__(48);\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target)\n for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else\n targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty)\n continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n if (options.sham || targetProperty && targetProperty.sham) {\n hide(sourceProperty, 'sham', true);\n }\n redefine(target, key, sourceProperty, options);\n }\n};\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\nvar O = 'object';\nvar check = function (it) {\n return it && it.Math == Math && it;\n};\nmodule.exports = check(typeof globalThis == O && globalThis) || check(typeof window == O && window) || check(typeof self == O && self) || check(typeof global == O && global) || Function('return this')();\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(10);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(12);\nvar createPropertyDescriptor = __w_pdfjs_require__(13);\nvar toIndexedObject = __w_pdfjs_require__(14);\nvar toPrimitive = __w_pdfjs_require__(18);\nvar has = __w_pdfjs_require__(20);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(21);\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE)\n try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) {\n }\n if (has(O, P))\n return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(11);\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 'a', {\n get: function () {\n return 7;\n }\n }).a != 7;\n});\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports) {\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/* 14 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar IndexedObject = __w_pdfjs_require__(15);\nvar requireObjectCoercible = __w_pdfjs_require__(17);\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(11);\nvar classof = __w_pdfjs_require__(16);\nvar split = ''.split;\nmodule.exports = fails(function () {\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n if (it == undefined)\n throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(19);\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input))\n return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))\n return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input)))\n return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))\n return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(10);\nvar fails = __w_pdfjs_require__(11);\nvar createElement = __w_pdfjs_require__(22);\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () {\n return 7;\n }\n }).a != 7;\n});\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(8);\nvar isObject = __w_pdfjs_require__(19);\nvar document = global.document;\nvar EXISTS = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(10);\nvar definePropertyModule = __w_pdfjs_require__(24);\nvar createPropertyDescriptor = __w_pdfjs_require__(13);\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(10);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(21);\nvar anObject = __w_pdfjs_require__(25);\nvar toPrimitive = __w_pdfjs_require__(18);\nvar nativeDefineProperty = Object.defineProperty;\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE)\n try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) {\n }\n if ('get' in Attributes || 'set' in Attributes)\n throw TypeError('Accessors not supported');\n if ('value' in Attributes)\n O[P] = Attributes.value;\n return O;\n};\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(19);\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n }\n return it;\n};\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(8);\nvar shared = __w_pdfjs_require__(27);\nvar hide = __w_pdfjs_require__(23);\nvar has = __w_pdfjs_require__(20);\nvar setGlobal = __w_pdfjs_require__(28);\nvar nativeFunctionToString = __w_pdfjs_require__(30);\nvar InternalStateModule = __w_pdfjs_require__(31);\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(nativeFunctionToString).split('toString');\nshared('inspectSource', function (it) {\n return nativeFunctionToString.call(it);\n});\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name'))\n hide(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple)\n O[key] = value;\n else\n setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple)\n O[key] = value;\n else\n hide(O, key, value);\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || nativeFunctionToString.call(this);\n});\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(8);\nvar setGlobal = __w_pdfjs_require__(28);\nvar IS_PURE = __w_pdfjs_require__(29);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.2.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(8);\nvar hide = __w_pdfjs_require__(23);\nmodule.exports = function (key, value) {\n try {\n hide(global, key, value);\n } catch (error) {\n global[key] = value;\n }\n return value;\n};\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports) {\n\nmodule.exports = false;\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar shared = __w_pdfjs_require__(27);\nmodule.exports = shared('native-function-to-string', Function.toString);\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar NATIVE_WEAK_MAP = __w_pdfjs_require__(32);\nvar global = __w_pdfjs_require__(8);\nvar isObject = __w_pdfjs_require__(19);\nvar hide = __w_pdfjs_require__(23);\nvar objectHas = __w_pdfjs_require__(20);\nvar sharedKey = __w_pdfjs_require__(33);\nvar hiddenKeys = __w_pdfjs_require__(35);\nvar WeakMap = global.WeakMap;\nvar set, get, has;\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n }\n return state;\n };\n};\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n hide(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(8);\nvar nativeFunctionToString = __w_pdfjs_require__(30);\nvar WeakMap = global.WeakMap;\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(nativeFunctionToString.call(WeakMap));\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar shared = __w_pdfjs_require__(27);\nvar uid = __w_pdfjs_require__(34);\nvar keys = shared('keys');\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar postfix = Math.random();\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(20);\nvar ownKeys = __w_pdfjs_require__(37);\nvar getOwnPropertyDescriptorModule = __w_pdfjs_require__(9);\nvar definePropertyModule = __w_pdfjs_require__(24);\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key))\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(38);\nvar getOwnPropertyNamesModule = __w_pdfjs_require__(40);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(47);\nvar anObject = __w_pdfjs_require__(25);\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar path = __w_pdfjs_require__(39);\nvar global = __w_pdfjs_require__(8);\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace]) : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nmodule.exports = __w_pdfjs_require__(8);\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar internalObjectKeys = __w_pdfjs_require__(41);\nvar enumBugKeys = __w_pdfjs_require__(46);\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(20);\nvar toIndexedObject = __w_pdfjs_require__(14);\nvar indexOf = __w_pdfjs_require__(42).indexOf;\nvar hiddenKeys = __w_pdfjs_require__(35);\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O)\n !has(hiddenKeys, key) && has(O, key) && result.push(key);\n while (names.length > i)\n if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toIndexedObject = __w_pdfjs_require__(14);\nvar toLength = __w_pdfjs_require__(43);\nvar toAbsoluteIndex = __w_pdfjs_require__(45);\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n if (IS_INCLUDES && el != el)\n while (length > index) {\n value = O[index++];\n if (value != value)\n return true;\n }\n else\n for (; length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el)\n return IS_INCLUDES || index || 0;\n }\n return !IS_INCLUDES && -1;\n };\n};\nmodule.exports = {\n includes: createMethod(true),\n indexOf: createMethod(false)\n};\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(44);\nvar min = Math.min;\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0;\n};\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports) {\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(44);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports) {\n\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(11);\nvar replacement = /#|\\.prototype\\./;\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true : value == NATIVE ? false : typeof detection == 'function' ? fails(detection) : !!detection;\n};\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\nmodule.exports = isForced;\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isRegExp = __w_pdfjs_require__(50);\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n }\n return it;\n};\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(19);\nvar classof = __w_pdfjs_require__(16);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar MATCH = wellKnownSymbol('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(8);\nvar shared = __w_pdfjs_require__(27);\nvar uid = __w_pdfjs_require__(34);\nvar NATIVE_SYMBOL = __w_pdfjs_require__(52);\nvar Symbol = global.Symbol;\nvar store = shared('wks');\nmodule.exports = function (name) {\n return store[name] || (store[name] = NATIVE_SYMBOL && Symbol[name] || (NATIVE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(11);\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n return !String(Symbol());\n});\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar MATCH = wellKnownSymbol('match');\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (e) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (f) {\n }\n }\n return false;\n};\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(8);\nvar bind = __w_pdfjs_require__(55);\nvar call = Function.call;\nmodule.exports = function (CONSTRUCTOR, METHOD, length) {\n return bind(call, global[CONSTRUCTOR].prototype[METHOD], length);\n};\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar aFunction = __w_pdfjs_require__(56);\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined)\n return fn;\n switch (length) {\n case 0:\n return function () {\n return fn.call(that);\n };\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/* 56 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n }\n return it;\n};\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(58);\nvar entryUnbind = __w_pdfjs_require__(54);\nmodule.exports = entryUnbind('String', 'endsWith');\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar toLength = __w_pdfjs_require__(43);\nvar notARegExp = __w_pdfjs_require__(49);\nvar requireObjectCoercible = __w_pdfjs_require__(17);\nvar correctIsRegExpLogic = __w_pdfjs_require__(53);\nvar nativeEndsWith = ''.endsWith;\nvar min = Math.min;\n$({\n target: 'String',\n proto: true,\n forced: !correctIsRegExpLogic('endsWith')\n}, {\n endsWith: function endsWith(searchString) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : min(toLength(endPosition), len);\n var search = String(searchString);\n return nativeEndsWith ? nativeEndsWith.call(that, search, end) : that.slice(end - search.length, end) === search;\n }\n});\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(60);\nvar entryUnbind = __w_pdfjs_require__(54);\nmodule.exports = entryUnbind('String', 'includes');\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar notARegExp = __w_pdfjs_require__(49);\nvar requireObjectCoercible = __w_pdfjs_require__(17);\nvar correctIsRegExpLogic = __w_pdfjs_require__(53);\n$({\n target: 'String',\n proto: true,\n forced: !correctIsRegExpLogic('includes')\n}, {\n includes: function includes(searchString) {\n return !!~String(requireObjectCoercible(this)).indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(62);\nvar entryUnbind = __w_pdfjs_require__(54);\nmodule.exports = entryUnbind('Array', 'includes');\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar $includes = __w_pdfjs_require__(42).includes;\nvar addToUnscopables = __w_pdfjs_require__(63);\n$({\n target: 'Array',\n proto: true\n}, {\n includes: function includes(el) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\naddToUnscopables('includes');\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar create = __w_pdfjs_require__(64);\nvar hide = __w_pdfjs_require__(23);\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n hide(ArrayPrototype, UNSCOPABLES, create(null));\n}\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(25);\nvar defineProperties = __w_pdfjs_require__(65);\nvar enumBugKeys = __w_pdfjs_require__(46);\nvar hiddenKeys = __w_pdfjs_require__(35);\nvar html = __w_pdfjs_require__(67);\nvar documentCreateElement = __w_pdfjs_require__(22);\nvar sharedKey = __w_pdfjs_require__(33);\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar PROTOTYPE = 'prototype';\nvar Empty = function () {\n};\nvar createDict = function () {\n var iframe = documentCreateElement('iframe');\n var length = enumBugKeys.length;\n var lt = '<';\n var script = 'script';\n var gt = '>';\n var js = 'java' + script + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n iframe.src = String(js);\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 (length--)\n delete createDict[PROTOTYPE][enumBugKeys[length]];\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\n result = createDict();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\nhiddenKeys[IE_PROTO] = true;\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(10);\nvar definePropertyModule = __w_pdfjs_require__(24);\nvar anObject = __w_pdfjs_require__(25);\nvar objectKeys = __w_pdfjs_require__(66);\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index)\n definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar internalObjectKeys = __w_pdfjs_require__(41);\nvar enumBugKeys = __w_pdfjs_require__(46);\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(38);\nmodule.exports = getBuiltIn('document', 'documentElement');\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(69);\n__w_pdfjs_require__(81);\nvar path = __w_pdfjs_require__(39);\nmodule.exports = path.Array.from;\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar charAt = __w_pdfjs_require__(70).charAt;\nvar InternalStateModule = __w_pdfjs_require__(31);\nvar defineIterator = __w_pdfjs_require__(71);\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length)\n return {\n value: undefined,\n done: true\n };\n point = charAt(string, index);\n state.index += point.length;\n return {\n value: point,\n done: false\n };\n});\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(44);\nvar requireObjectCoercible = __w_pdfjs_require__(17);\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size)\n return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF ? CONVERT_TO_STRING ? S.charAt(position) : first : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\nmodule.exports = {\n codeAt: createMethod(false),\n charAt: createMethod(true)\n};\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar createIteratorConstructor = __w_pdfjs_require__(72);\nvar getPrototypeOf = __w_pdfjs_require__(74);\nvar setPrototypeOf = __w_pdfjs_require__(79);\nvar setToStringTag = __w_pdfjs_require__(77);\nvar hide = __w_pdfjs_require__(23);\nvar redefine = __w_pdfjs_require__(26);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar IS_PURE = __w_pdfjs_require__(29);\nvar Iterators = __w_pdfjs_require__(78);\nvar IteratorsCore = __w_pdfjs_require__(73);\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\nvar returnThis = function () {\n return this;\n};\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator)\n return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype)\n return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS:\n return function keys() {\n return new IteratorConstructor(this, KIND);\n };\n case VALUES:\n return function values() {\n return new IteratorConstructor(this, KIND);\n };\n case ENTRIES:\n return function entries() {\n return new IteratorConstructor(this, KIND);\n };\n }\n return function () {\n return new IteratorConstructor(this);\n };\n };\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR] || IterablePrototype['@@iterator'] || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n hide(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE)\n Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() {\n return nativeIterator.call(this);\n };\n }\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n hide(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED)\n for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n }\n else\n $({\n target: NAME,\n proto: true,\n forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME\n }, methods);\n }\n return methods;\n};\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar IteratorPrototype = __w_pdfjs_require__(73).IteratorPrototype;\nvar create = __w_pdfjs_require__(64);\nvar createPropertyDescriptor = __w_pdfjs_require__(13);\nvar setToStringTag = __w_pdfjs_require__(77);\nvar Iterators = __w_pdfjs_require__(78);\nvar returnThis = function () {\n return this;\n};\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar getPrototypeOf = __w_pdfjs_require__(74);\nvar hide = __w_pdfjs_require__(23);\nvar has = __w_pdfjs_require__(20);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar IS_PURE = __w_pdfjs_require__(29);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\nvar returnThis = function () {\n return this;\n};\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\nif ([].keys) {\n arrayIterator = [].keys();\n if (!('next' in arrayIterator))\n BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype)\n IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\nif (IteratorPrototype == undefined)\n IteratorPrototype = {};\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR))\n hide(IteratorPrototype, ITERATOR, returnThis);\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(20);\nvar toObject = __w_pdfjs_require__(75);\nvar sharedKey = __w_pdfjs_require__(33);\nvar CORRECT_PROTOTYPE_GETTER = __w_pdfjs_require__(76);\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO))\n 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 ? ObjectPrototype : null;\n};\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar requireObjectCoercible = __w_pdfjs_require__(17);\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(11);\nmodule.exports = !fails(function () {\n function F() {\n }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineProperty = __w_pdfjs_require__(24).f;\nvar has = __w_pdfjs_require__(20);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, {\n configurable: true,\n value: TAG\n });\n }\n};\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(25);\nvar aPossiblePrototype = __w_pdfjs_require__(80);\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) {\n }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER)\n setter.call(O, proto);\n else\n O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(19);\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n }\n return it;\n};\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(7);\nvar from = __w_pdfjs_require__(82);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(88);\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n Array.from(iterable);\n});\n$({\n target: 'Array',\n stat: true,\n forced: INCORRECT_ITERATION\n}, { from: from });\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar bind = __w_pdfjs_require__(55);\nvar toObject = __w_pdfjs_require__(75);\nvar callWithSafeIterationClosing = __w_pdfjs_require__(83);\nvar isArrayIteratorMethod = __w_pdfjs_require__(84);\nvar toLength = __w_pdfjs_require__(43);\nvar createProperty = __w_pdfjs_require__(85);\nvar getIteratorMethod = __w_pdfjs_require__(86);\nmodule.exports = function from(arrayLike) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iteratorMethod = getIteratorMethod(O);\n var length, result, step, iterator;\n if (mapping)\n mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n result = new C();\n for (; !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? callWithSafeIterationClosing(iterator, mapfn, [\n step.value,\n index\n ], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (; length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n};\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(25);\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined)\n anObject(returnMethod.call(iterator));\n throw error;\n }\n};\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar Iterators = __w_pdfjs_require__(78);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toPrimitive = __w_pdfjs_require__(18);\nvar definePropertyModule = __w_pdfjs_require__(24);\nvar createPropertyDescriptor = __w_pdfjs_require__(13);\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object)\n definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else\n object[propertyKey] = value;\n};\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar classof = __w_pdfjs_require__(87);\nvar Iterators = __w_pdfjs_require__(78);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar ITERATOR = wellKnownSymbol('iterator');\nmodule.exports = function (it) {\n if (it != undefined)\n return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];\n};\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar classofRaw = __w_pdfjs_require__(16);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar CORRECT_ARGUMENTS = classofRaw(function () {\n return arguments;\n}()) == 'Arguments';\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) {\n }\n};\nmodule.exports = function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n Array.from(iteratorWithReturn, function () {\n throw 2;\n });\n} catch (error) {\n}\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING)\n return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) {\n }\n return ITERATION_SUPPORT;\n};\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(90);\nvar path = __w_pdfjs_require__(39);\nmodule.exports = path.Object.assign;\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(7);\nvar assign = __w_pdfjs_require__(91);\n$({\n target: 'Object',\n stat: true,\n forced: Object.assign !== assign\n}, { assign: assign });\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar DESCRIPTORS = __w_pdfjs_require__(10);\nvar fails = __w_pdfjs_require__(11);\nvar objectKeys = __w_pdfjs_require__(66);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(47);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(12);\nvar toObject = __w_pdfjs_require__(75);\nvar IndexedObject = __w_pdfjs_require__(15);\nvar nativeAssign = Object.assign;\nmodule.exports = !nativeAssign || fails(function () {\n var A = {};\n var B = {};\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) {\n B[chr] = chr;\n });\n return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) {\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key))\n T[key] = S[key];\n }\n }\n return T;\n} : nativeAssign;\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(93);\nvar path = __w_pdfjs_require__(39);\nmodule.exports = path.Math.log2;\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(7);\nvar log = Math.log;\nvar LN2 = Math.LN2;\n$({\n target: 'Math',\n stat: true\n}, {\n log2: function log2(x) {\n return log(x) / LN2;\n }\n});\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(95);\nvar path = __w_pdfjs_require__(39);\nmodule.exports = path.Number.isNaN;\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(7);\n$({\n target: 'Number',\n stat: true\n}, {\n isNaN: function isNaN(number) {\n return number != number;\n }\n});\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(97);\nvar path = __w_pdfjs_require__(39);\nmodule.exports = path.Number.isInteger;\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(7);\nvar isInteger = __w_pdfjs_require__(98);\n$({\n target: 'Number',\n stat: true\n}, { isInteger: isInteger });\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(19);\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(100);\n__w_pdfjs_require__(69);\n__w_pdfjs_require__(102);\n__w_pdfjs_require__(105);\n__w_pdfjs_require__(119);\n__w_pdfjs_require__(120);\nvar path = __w_pdfjs_require__(39);\nmodule.exports = path.Promise;\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar redefine = __w_pdfjs_require__(26);\nvar toString = __w_pdfjs_require__(101);\nvar ObjectPrototype = Object.prototype;\nif (toString !== ObjectPrototype.toString) {\n redefine(ObjectPrototype, 'toString', toString, { unsafe: true });\n}\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar classof = __w_pdfjs_require__(87);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\ntest[TO_STRING_TAG] = 'z';\nmodule.exports = String(test) !== '[object z]' ? function toString() {\n return '[object ' + classof(this) + ']';\n} : test.toString;\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(8);\nvar DOMIterables = __w_pdfjs_require__(103);\nvar ArrayIteratorMethods = __w_pdfjs_require__(104);\nvar hide = __w_pdfjs_require__(23);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n if (CollectionPrototype[ITERATOR] !== ArrayValues)\n try {\n hide(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG])\n hide(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n if (DOMIterables[COLLECTION_NAME])\n for (var METHOD_NAME in ArrayIteratorMethods) {\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME])\n try {\n hide(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toIndexedObject = __w_pdfjs_require__(14);\nvar addToUnscopables = __w_pdfjs_require__(63);\nvar Iterators = __w_pdfjs_require__(78);\nvar InternalStateModule = __w_pdfjs_require__(31);\nvar defineIterator = __w_pdfjs_require__(71);\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated),\n index: 0,\n kind: kind\n });\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return {\n value: undefined,\n done: true\n };\n }\n if (kind == 'keys')\n return {\n value: index,\n done: false\n };\n if (kind == 'values')\n return {\n value: target[index],\n done: false\n };\n return {\n value: [\n index,\n target[index]\n ],\n done: false\n };\n}, 'values');\nIterators.Arguments = Iterators.Array;\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar IS_PURE = __w_pdfjs_require__(29);\nvar global = __w_pdfjs_require__(8);\nvar path = __w_pdfjs_require__(39);\nvar NativePromise = __w_pdfjs_require__(106);\nvar redefine = __w_pdfjs_require__(26);\nvar redefineAll = __w_pdfjs_require__(107);\nvar setToStringTag = __w_pdfjs_require__(77);\nvar setSpecies = __w_pdfjs_require__(108);\nvar isObject = __w_pdfjs_require__(19);\nvar aFunction = __w_pdfjs_require__(56);\nvar anInstance = __w_pdfjs_require__(109);\nvar classof = __w_pdfjs_require__(16);\nvar iterate = __w_pdfjs_require__(110);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(88);\nvar speciesConstructor = __w_pdfjs_require__(111);\nvar task = __w_pdfjs_require__(112).set;\nvar microtask = __w_pdfjs_require__(113);\nvar promiseResolve = __w_pdfjs_require__(115);\nvar hostReportErrors = __w_pdfjs_require__(117);\nvar newPromiseCapabilityModule = __w_pdfjs_require__(116);\nvar perform = __w_pdfjs_require__(118);\nvar userAgent = __w_pdfjs_require__(114);\nvar InternalStateModule = __w_pdfjs_require__(31);\nvar isForced = __w_pdfjs_require__(48);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar $fetch = global.fetch;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar IS_NODE = classof(process) == 'process';\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\nvar FORCED = isForced(PROMISE, function () {\n var promise = PromiseConstructor.resolve(1);\n var empty = function () {\n };\n var FakePromise = (promise.constructor = {})[SPECIES] = function (exec) {\n exec(empty, empty);\n };\n return !((IS_NODE || typeof PromiseRejectionEvent == 'function') && (!IS_PURE || promise['finally']) && promise.then(empty) instanceof FakePromise && v8.indexOf('6.6') !== 0 && userAgent.indexOf('Chrome/66') === -1);\n});\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () {\n });\n});\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, state, isReject) {\n if (state.notified)\n return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n while (chain.length > index) {\n var reaction = chain[index++];\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 (state.rejection === UNHANDLED)\n onHandleUnhandled(promise, state);\n state.rejection = HANDLED;\n }\n if (handler === true)\n result = value;\n else {\n if (domain)\n 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\n resolve(result);\n } else\n reject(value);\n } catch (error) {\n if (domain && !exited)\n domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection)\n onUnhandled(promise, state);\n });\n};\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else\n event = {\n promise: promise,\n reason: reason\n };\n if (handler = global['on' + name])\n handler(event);\n else if (name === UNHANDLED_REJECTION)\n hostReportErrors('Unhandled promise rejection', reason);\n};\nvar onUnhandled = function (promise, state) {\n task.call(global, function () {\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else\n dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error)\n throw result.value;\n }\n });\n};\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\nvar onHandleUnhandled = function (promise, state) {\n task.call(global, function () {\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else\n dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\nvar bind = function (fn, promise, state, unwrap) {\n return function (value) {\n fn(promise, state, value, unwrap);\n };\n};\nvar internalReject = function (promise, state, value, unwrap) {\n if (state.done)\n return;\n state.done = true;\n if (unwrap)\n state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(promise, state, true);\n};\nvar internalResolve = function (promise, state, value, unwrap) {\n if (state.done)\n return;\n state.done = true;\n if (unwrap)\n state = unwrap;\n try {\n if (promise === value)\n throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n then.call(value, bind(internalResolve, promise, wrapper, state), bind(internalReject, promise, wrapper, state));\n } catch (error) {\n internalReject(promise, wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(promise, state, false);\n }\n } catch (error) {\n internalReject(promise, { done: false }, error, state);\n }\n};\nif (FORCED) {\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, this, state), bind(internalReject, this, state));\n } catch (error) {\n internalReject(this, state, error);\n }\n };\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING)\n notify(this, state, false);\n return reaction.promise;\n },\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, promise, state);\n this.reject = bind(internalReject, promise, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C);\n };\n if (!IS_PURE && typeof NativePromise == 'function') {\n nativeThen = NativePromise.prototype.then;\n redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n });\n if (typeof $fetch == 'function')\n $({\n global: true,\n enumerable: true,\n forced: true\n }, {\n fetch: function fetch(input) {\n return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\n }\n });\n }\n}\n$({\n global: true,\n wrap: true,\n forced: FORCED\n}, { Promise: PromiseConstructor });\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\nPromiseWrapper = path[PROMISE];\n$({\n target: PROMISE,\n stat: true,\n forced: FORCED\n}, {\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n$({\n target: PROMISE,\n stat: true,\n forced: IS_PURE || FORCED\n}, {\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n$({\n target: PROMISE,\n stat: true,\n forced: INCORRECT_ITERATION\n}, {\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 $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled)\n return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error)\n reject(result.value);\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 var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error)\n reject(result.value);\n return capability.promise;\n }\n});\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(8);\nmodule.exports = global.Promise;\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar redefine = __w_pdfjs_require__(26);\nmodule.exports = function (target, src, options) {\n for (var key in src)\n redefine(target, key, src[key], options);\n return target;\n};\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar getBuiltIn = __w_pdfjs_require__(38);\nvar definePropertyModule = __w_pdfjs_require__(24);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar DESCRIPTORS = __w_pdfjs_require__(10);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () {\n return this;\n }\n });\n }\n};\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n }\n return it;\n};\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(25);\nvar isArrayIteratorMethod = __w_pdfjs_require__(84);\nvar toLength = __w_pdfjs_require__(43);\nvar bind = __w_pdfjs_require__(55);\nvar getIteratorMethod = __w_pdfjs_require__(86);\nvar callWithSafeIterationClosing = __w_pdfjs_require__(83);\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\nvar iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n var iterator, iterFn, index, length, result, step;\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function')\n throw TypeError('Target is not iterable');\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = AS_ENTRIES ? boundFunction(anObject(step = iterable[index])[0], step[1]) : boundFunction(iterable[index]);\n if (result && result instanceof Result)\n return result;\n }\n return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n while (!(step = iterator.next()).done) {\n result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n if (result && result instanceof Result)\n return result;\n }\n return new Result(false);\n};\niterate.stop = function (result) {\n return new Result(true, result);\n};\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(25);\nvar aFunction = __w_pdfjs_require__(56);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(8);\nvar fails = __w_pdfjs_require__(11);\nvar classof = __w_pdfjs_require__(16);\nvar bind = __w_pdfjs_require__(55);\nvar html = __w_pdfjs_require__(67);\nvar createElement = __w_pdfjs_require__(22);\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function (id) {\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\nvar listener = function (event) {\n run(event.data);\n};\nvar post = function (id) {\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\nif (!set || !clear) {\n set = 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 (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n if (classof(process) == 'process') {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port, 1);\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && !fails(post)) {\n defer = post;\n global.addEventListener('message', listener, false);\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\nmodule.exports = {\n set: set,\n clear: clear\n};\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(8);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(9).f;\nvar classof = __w_pdfjs_require__(16);\nvar macrotask = __w_pdfjs_require__(112).set;\nvar userAgent = __w_pdfjs_require__(114);\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar IS_NODE = classof(process) == 'process';\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\nvar flush, head, last, notify, toggle, node, promise, then;\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain))\n parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head)\n notify();\n else\n last = undefined;\n throw error;\n }\n }\n last = undefined;\n if (parent)\n parent.enter();\n };\n if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n } else if (MutationObserver && !/(iphone|ipod|ipad).*applewebkit/i.test(userAgent)) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n } else if (Promise && Promise.resolve) {\n promise = Promise.resolve(undefined);\n then = promise.then;\n notify = function () {\n then.call(promise, flush);\n };\n } else {\n notify = function () {\n macrotask.call(global, flush);\n };\n }\n}\nmodule.exports = queueMicrotask || function (fn) {\n var task = {\n fn: fn,\n next: undefined\n };\n if (last)\n last.next = task;\n if (!head) {\n head = task;\n notify();\n }\n last = task;\n};\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(38);\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n\n/***/ }),\n/* 115 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(25);\nvar isObject = __w_pdfjs_require__(19);\nvar newPromiseCapability = __w_pdfjs_require__(116);\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C)\n return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar aFunction = __w_pdfjs_require__(56);\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined)\n 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/* 117 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(8);\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n\n/***/ }),\n/* 118 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return {\n error: false,\n value: exec()\n };\n } catch (error) {\n return {\n error: true,\n value: error\n };\n }\n};\n\n/***/ }),\n/* 119 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar aFunction = __w_pdfjs_require__(56);\nvar newPromiseCapabilityModule = __w_pdfjs_require__(116);\nvar perform = __w_pdfjs_require__(118);\nvar iterate = __w_pdfjs_require__(110);\n$({\n target: 'Promise',\n stat: true\n}, {\n allSettled: function allSettled(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled)\n return;\n alreadyCalled = true;\n values[index] = {\n status: 'fulfilled',\n value: value\n };\n --remaining || resolve(values);\n }, function (e) {\n if (alreadyCalled)\n return;\n alreadyCalled = true;\n values[index] = {\n status: 'rejected',\n reason: e\n };\n --remaining || resolve(values);\n });\n });\n --remaining || resolve(values);\n });\n if (result.error)\n reject(result.value);\n return capability.promise;\n }\n});\n\n/***/ }),\n/* 120 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar IS_PURE = __w_pdfjs_require__(29);\nvar NativePromise = __w_pdfjs_require__(106);\nvar getBuiltIn = __w_pdfjs_require__(38);\nvar speciesConstructor = __w_pdfjs_require__(111);\nvar promiseResolve = __w_pdfjs_require__(115);\nvar redefine = __w_pdfjs_require__(26);\n$({\n target: 'Promise',\n proto: true,\n real: true\n}, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('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});\nif (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {\n redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);\n}\n\n/***/ }),\n/* 121 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(122);\n__w_pdfjs_require__(127);\n__w_pdfjs_require__(125);\nvar path = __w_pdfjs_require__(39);\nmodule.exports = path.URL;\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n__w_pdfjs_require__(69);\nvar $ = __w_pdfjs_require__(7);\nvar DESCRIPTORS = __w_pdfjs_require__(10);\nvar USE_NATIVE_URL = __w_pdfjs_require__(123);\nvar global = __w_pdfjs_require__(8);\nvar defineProperties = __w_pdfjs_require__(65);\nvar redefine = __w_pdfjs_require__(26);\nvar anInstance = __w_pdfjs_require__(109);\nvar has = __w_pdfjs_require__(20);\nvar assign = __w_pdfjs_require__(91);\nvar arrayFrom = __w_pdfjs_require__(82);\nvar codeAt = __w_pdfjs_require__(70).codeAt;\nvar toASCII = __w_pdfjs_require__(124);\nvar setToStringTag = __w_pdfjs_require__(77);\nvar URLSearchParamsModule = __w_pdfjs_require__(125);\nvar InternalStateModule = __w_pdfjs_require__(31);\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\nvar ALPHA = /[A-Za-z]/;\nvar ALPHANUMERIC = /[\\d+\\-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^(0x|0X)/;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\nvar FORBIDDEN_HOST_CODE_POINT = /[\\u0000\\u0009\\u000A\\u000D #%/:?@[\\\\]]/;\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\u0000\\u0009\\u000A\\u000D #/:?@[\\\\]]/;\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u001F ]+|[\\u0000-\\u001F ]+$/g;\nvar TAB_AND_NEW_LINE = /[\\u0009\\u000A\\u000D]/g;\nvar EOF;\nvar parseHost = function (url, input) {\n var result, codePoints, index;\n if (input.charAt(0) == '[') {\n if (input.charAt(input.length - 1) != ']')\n return INVALID_HOST;\n result = parseIPv6(input.slice(1, -1));\n if (!result)\n return INVALID_HOST;\n url.host = result;\n } else if (!isSpecial(url)) {\n if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input))\n return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n url.host = result;\n } else {\n input = toASCII(input);\n if (FORBIDDEN_HOST_CODE_POINT.test(input))\n return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null)\n return INVALID_HOST;\n url.host = result;\n }\n};\nvar parseIPv4 = function (input) {\n var parts = input.split('.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.pop();\n }\n partsLength = parts.length;\n if (partsLength > 4)\n return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '')\n return input;\n radix = 10;\n if (part.length > 1 && part.charAt(0) == '0') {\n radix = HEX_START.test(part) ? 16 : 8;\n part = part.slice(radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part))\n return input;\n number = parseInt(part, radix);\n }\n numbers.push(number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength))\n return null;\n } else if (number > 255)\n return null;\n }\n ipv4 = numbers.pop();\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\nvar parseIPv6 = function (input) {\n var address = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n var char = function () {\n return input.charAt(pointer);\n };\n if (char() == ':') {\n if (input.charAt(1) != ':')\n return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (char()) {\n if (pieceIndex == 8)\n return;\n if (char() == ':') {\n if (compress !== null)\n return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && HEX.test(char())) {\n value = value * 16 + parseInt(char(), 16);\n pointer++;\n length++;\n }\n if (char() == '.') {\n if (length == 0)\n return;\n pointer -= length;\n if (pieceIndex > 6)\n return;\n numbersSeen = 0;\n while (char()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (char() == '.' && numbersSeen < 4)\n pointer++;\n else\n return;\n }\n if (!DIGIT.test(char()))\n return;\n while (DIGIT.test(char())) {\n number = parseInt(char(), 10);\n if (ipv4Piece === null)\n ipv4Piece = number;\n else if (ipv4Piece == 0)\n return;\n else\n ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255)\n return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4)\n pieceIndex++;\n }\n if (numbersSeen != 4)\n return;\n break;\n } else if (char() == ':') {\n pointer++;\n if (!char())\n return;\n } else if (char())\n return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8)\n return;\n return address;\n};\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null)\n currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n result.unshift(host % 256);\n host = floor(host / 256);\n }\n return result.join('.');\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0)\n continue;\n if (ignore0)\n ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += host[index].toString(16);\n if (index < 7)\n result += ':';\n }\n }\n return '[' + result + ']';\n }\n return host;\n};\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1,\n '\"': 1,\n '<': 1,\n '>': 1,\n '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1,\n '?': 1,\n '{': 1,\n '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1,\n ':': 1,\n ';': 1,\n '=': 1,\n '@': 1,\n '[': 1,\n '\\\\': 1,\n ']': 1,\n '^': 1,\n '|': 1\n});\nvar percentEncode = function (char, set) {\n var code = codeAt(char, 0);\n return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);\n};\nvar specialSchemes = {\n ftp: 21,\n file: null,\n gopher: 70,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\nvar isSpecial = function (url) {\n return has(specialSchemes, url.scheme);\n};\nvar includesCredentials = function (url) {\n return url.username != '' || url.password != '';\n};\nvar cannotHaveUsernamePasswordPort = function (url) {\n return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && ALPHA.test(string.charAt(0)) && ((second = string.charAt(1)) == ':' || !normalized && second == '|');\n};\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (string.length == 2 || ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#'));\n};\nvar shortenURLsPath = function (url) {\n var path = url.path;\n var pathSize = path.length;\n if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.pop();\n }\n};\nvar isSingleDot = function (segment) {\n return segment === '.' || segment.toLowerCase() === '%2e';\n};\nvar isDoubleDot = function (segment) {\n segment = segment.toLowerCase();\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\nvar parseURL = function (url, input, stateOverride, base) {\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, char, bufferCodePoints, failure;\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n input = input.replace(TAB_AND_NEW_LINE, '');\n codePoints = arrayFrom(input);\n while (pointer <= codePoints.length) {\n char = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (char && ALPHA.test(char)) {\n buffer += char.toLowerCase();\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else\n return INVALID_SCHEME;\n break;\n case SCHEME:\n if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {\n buffer += char.toLowerCase();\n } else if (char == ':') {\n if (stateOverride && (isSpecial(url) != has(specialSchemes, buffer) || buffer == 'file' && (includesCredentials(url) || url.port !== null) || url.scheme == 'file' && !url.host))\n return;\n url.scheme = buffer;\n if (stateOverride) {\n if (isSpecial(url) && specialSchemes[url.scheme] == url.port)\n url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (isSpecial(url)) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n url.path.push('');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else\n return INVALID_SCHEME;\n break;\n case NO_SCHEME:\n if (!base || base.cannotBeABaseURL && char != '#')\n return INVALID_SCHEME;\n if (base.cannotBeABaseURL && char == '#') {\n url.scheme = base.scheme;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (char == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n }\n break;\n case PATH_OR_AUTHORITY:\n if (char == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n case RELATIVE:\n url.scheme = base.scheme;\n if (char == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '/' || char == '\\\\' && isSpecial(url)) {\n state = RELATIVE_SLASH;\n } else if (char == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.path.pop();\n state = PATH;\n continue;\n }\n break;\n case RELATIVE_SLASH:\n if (isSpecial(url) && (char == '/' || char == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (char == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n }\n break;\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (char != '/' || buffer.charAt(pointer + 1) != '/')\n continue;\n pointer++;\n break;\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (char != '/' && char != '\\\\') {\n state = AUTHORITY;\n continue;\n }\n break;\n case AUTHORITY:\n if (char == '@') {\n if (seenAt)\n buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken)\n url.password += encodedCodePoints;\n else\n url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\\\' && isSpecial(url)) {\n if (seenAt && buffer == '')\n return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else\n buffer += char;\n break;\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (char == ':' && !seenBracket) {\n if (buffer == '')\n return INVALID_HOST;\n failure = parseHost(url, buffer);\n if (failure)\n return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME)\n return;\n } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\\\' && isSpecial(url)) {\n if (isSpecial(url) && buffer == '')\n return INVALID_HOST;\n if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null))\n return;\n failure = parseHost(url, buffer);\n if (failure)\n return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride)\n return;\n continue;\n } else {\n if (char == '[')\n seenBracket = true;\n else if (char == ']')\n seenBracket = false;\n buffer += char;\n }\n break;\n case PORT:\n if (DIGIT.test(char)) {\n buffer += char;\n } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\\\' && isSpecial(url) || stateOverride) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF)\n return INVALID_PORT;\n url.port = isSpecial(url) && port === specialSchemes[url.scheme] ? null : port;\n buffer = '';\n }\n if (stateOverride)\n return;\n state = PATH_START;\n continue;\n } else\n return INVALID_PORT;\n break;\n case FILE:\n url.scheme = 'file';\n if (char == '/' || char == '\\\\')\n state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (char == EOF) {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '?') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n url.host = base.host;\n url.path = base.path.slice();\n shortenURLsPath(url);\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n }\n break;\n case FILE_SLASH:\n if (char == '/' || char == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n if (isWindowsDriveLetter(base.path[0], true))\n url.path.push(base.path[0]);\n else\n url.host = base.host;\n }\n state = PATH;\n continue;\n case FILE_HOST:\n if (char == EOF || char == '/' || char == '\\\\' || char == '?' || char == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride)\n return;\n state = PATH_START;\n } else {\n failure = parseHost(url, buffer);\n if (failure)\n return failure;\n if (url.host == 'localhost')\n url.host = '';\n if (stateOverride)\n return;\n buffer = '';\n state = PATH_START;\n }\n continue;\n } else\n buffer += char;\n break;\n case PATH_START:\n if (isSpecial(url)) {\n state = PATH;\n if (char != '/' && char != '\\\\')\n continue;\n } else if (!stateOverride && char == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n state = PATH;\n if (char != '/')\n continue;\n }\n break;\n case PATH:\n if (char == EOF || char == '/' || char == '\\\\' && isSpecial(url) || !stateOverride && (char == '?' || char == '#')) {\n if (isDoubleDot(buffer)) {\n shortenURLsPath(url);\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else if (isSingleDot(buffer)) {\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host)\n url.host = '';\n buffer = buffer.charAt(0) + ':';\n }\n url.path.push(buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n url.path.shift();\n }\n }\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(char, pathPercentEncodeSet);\n }\n break;\n case CANNOT_BE_A_BASE_URL_PATH:\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);\n }\n break;\n case QUERY:\n if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n if (char == \"'\" && isSpecial(url))\n url.query += '%27';\n else if (char == '#')\n url.query += '%23';\n else\n url.query += percentEncode(char, C0ControlPercentEncodeSet);\n }\n break;\n case FRAGMENT:\n if (char != EOF)\n url.fragment += percentEncode(char, fragmentPercentEncodeSet);\n break;\n }\n pointer++;\n }\n};\nvar URLConstructor = function URL(url) {\n var that = anInstance(this, URLConstructor, 'URL');\n var base = arguments.length > 1 ? arguments[1] : undefined;\n var urlString = String(url);\n var state = setInternalState(that, { type: 'URL' });\n var baseState, failure;\n if (base !== undefined) {\n if (base instanceof URLConstructor)\n baseState = getInternalURLState(base);\n else {\n failure = parseURL(baseState = {}, String(base));\n if (failure)\n throw TypeError(failure);\n }\n }\n failure = parseURL(state, urlString, null, baseState);\n if (failure)\n throw TypeError(failure);\n var searchParams = state.searchParams = new URLSearchParams();\n var searchParamsState = getInternalSearchParamsState(searchParams);\n searchParamsState.updateSearchParams(state.query);\n searchParamsState.updateURL = function () {\n state.query = String(searchParams) || null;\n };\n if (!DESCRIPTORS) {\n that.href = serializeURL.call(that);\n that.origin = getOrigin.call(that);\n that.protocol = getProtocol.call(that);\n that.username = getUsername.call(that);\n that.password = getPassword.call(that);\n that.host = getHost.call(that);\n that.hostname = getHostname.call(that);\n that.port = getPort.call(that);\n that.pathname = getPathname.call(that);\n that.search = getSearch.call(that);\n that.searchParams = getSearchParams.call(that);\n that.hash = getHash.call(that);\n }\n};\nvar URLPrototype = URLConstructor.prototype;\nvar serializeURL = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (includesCredentials(url)) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null)\n output += ':' + port;\n } else if (scheme == 'file')\n output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n if (query !== null)\n output += '?' + query;\n if (fragment !== null)\n output += '#' + fragment;\n return output;\n};\nvar getOrigin = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var port = url.port;\n if (scheme == 'blob')\n try {\n return new URL(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !isSpecial(url))\n return 'null';\n return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\nvar getProtocol = function () {\n return getInternalURLState(this).scheme + ':';\n};\nvar getUsername = function () {\n return getInternalURLState(this).username;\n};\nvar getPassword = function () {\n return getInternalURLState(this).password;\n};\nvar getHost = function () {\n var url = getInternalURLState(this);\n var host = url.host;\n var port = url.port;\n return host === null ? '' : port === null ? serializeHost(host) : serializeHost(host) + ':' + port;\n};\nvar getHostname = function () {\n var host = getInternalURLState(this).host;\n return host === null ? '' : serializeHost(host);\n};\nvar getPort = function () {\n var port = getInternalURLState(this).port;\n return port === null ? '' : String(port);\n};\nvar getPathname = function () {\n var url = getInternalURLState(this);\n var path = url.path;\n return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\nvar getSearch = function () {\n var query = getInternalURLState(this).query;\n return query ? '?' + query : '';\n};\nvar getSearchParams = function () {\n return getInternalURLState(this).searchParams;\n};\nvar getHash = function () {\n var fragment = getInternalURLState(this).fragment;\n return fragment ? '#' + fragment : '';\n};\nvar accessorDescriptor = function (getter, setter) {\n return {\n get: getter,\n set: setter,\n configurable: true,\n enumerable: true\n };\n};\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n href: accessorDescriptor(serializeURL, function (href) {\n var url = getInternalURLState(this);\n var urlString = String(href);\n var failure = parseURL(url, urlString);\n if (failure)\n throw TypeError(failure);\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n origin: accessorDescriptor(getOrigin),\n protocol: accessorDescriptor(getProtocol, function (protocol) {\n var url = getInternalURLState(this);\n parseURL(url, String(protocol) + ':', SCHEME_START);\n }),\n username: accessorDescriptor(getUsername, function (username) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(username));\n if (cannotHaveUsernamePasswordPort(url))\n return;\n url.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n password: accessorDescriptor(getPassword, function (password) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(password));\n if (cannotHaveUsernamePasswordPort(url))\n return;\n url.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n host: accessorDescriptor(getHost, function (host) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL)\n return;\n parseURL(url, String(host), HOST);\n }),\n hostname: accessorDescriptor(getHostname, function (hostname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL)\n return;\n parseURL(url, String(hostname), HOSTNAME);\n }),\n port: accessorDescriptor(getPort, function (port) {\n var url = getInternalURLState(this);\n if (cannotHaveUsernamePasswordPort(url))\n return;\n port = String(port);\n if (port == '')\n url.port = null;\n else\n parseURL(url, port, PORT);\n }),\n pathname: accessorDescriptor(getPathname, function (pathname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL)\n return;\n url.path = [];\n parseURL(url, pathname + '', PATH_START);\n }),\n search: accessorDescriptor(getSearch, function (search) {\n var url = getInternalURLState(this);\n search = String(search);\n if (search == '') {\n url.query = null;\n } else {\n if ('?' == search.charAt(0))\n search = search.slice(1);\n url.query = '';\n parseURL(url, search, QUERY);\n }\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n searchParams: accessorDescriptor(getSearchParams),\n hash: accessorDescriptor(getHash, function (hash) {\n var url = getInternalURLState(this);\n hash = String(hash);\n if (hash == '') {\n url.fragment = null;\n return;\n }\n if ('#' == hash.charAt(0))\n hash = hash.slice(1);\n url.fragment = '';\n parseURL(url, hash, FRAGMENT);\n })\n });\n}\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return serializeURL.call(this);\n}, { enumerable: true });\nredefine(URLPrototype, 'toString', function toString() {\n return serializeURL.call(this);\n}, { enumerable: true });\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n if (nativeCreateObjectURL)\n redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n return nativeCreateObjectURL.apply(NativeURL, arguments);\n });\n if (nativeRevokeObjectURL)\n redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n return nativeRevokeObjectURL.apply(NativeURL, arguments);\n });\n}\nsetToStringTag(URLConstructor, 'URL');\n$({\n global: true,\n forced: !USE_NATIVE_URL,\n sham: !DESCRIPTORS\n}, { URL: URLConstructor });\n\n/***/ }),\n/* 123 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(11);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar IS_PURE = __w_pdfjs_require__(29);\nvar ITERATOR = wellKnownSymbol('iterator');\nmodule.exports = !fails(function () {\n var url = new URL('b?e=1', 'http://a');\n var searchParams = url.searchParams;\n url.pathname = 'c%20d';\n return IS_PURE && !url.toJSON || !searchParams.sort || url.href !== 'http://a/c%20d?e=1' || searchParams.get('e') !== '1' || String(new URLSearchParams('?a=1')) !== 'a=1' || !searchParams[ITERATOR] || new URL('https://a@b').username !== 'a' || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b' || new URL('http://тест').host !== 'xn--e1aybc' || new URL('http://a#б').hash !== '#%D0%B1';\n});\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar maxInt = 2147483647;\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128;\nvar delimiter = '-';\nvar regexNonASCII = /[^\\0-\\u007E]/;\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g;\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n var extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) {\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n};\nvar digitToBasic = function (digit) {\n return digit + 22 + 75 * (digit < 26);\n};\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n delta = floor(delta / baseMinusTMin);\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\nvar encode = function (input) {\n var output = [];\n input = ucs2decode(input);\n var inputLength = input.length;\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n output.push(stringFromCharCode(currentValue));\n }\n }\n var basicLength = output.length;\n var handledCPCount = basicLength;\n if (basicLength) {\n output.push(delimiter);\n }\n while (handledCPCount < inputLength) {\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n var q = delta;\n for (var k = base;; k += base) {\n var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n if (q < t)\n break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n }\n output.push(stringFromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n ++handledCPCount;\n }\n }\n ++delta;\n ++n;\n }\n return output.join('');\n};\nmodule.exports = function (input) {\n var encoded = [];\n var labels = input.toLowerCase().replace(regexSeparators, '\\u002E').split('.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);\n }\n return encoded.join('.');\n};\n\n/***/ }),\n/* 125 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n__w_pdfjs_require__(104);\nvar $ = __w_pdfjs_require__(7);\nvar USE_NATIVE_URL = __w_pdfjs_require__(123);\nvar redefine = __w_pdfjs_require__(26);\nvar redefineAll = __w_pdfjs_require__(107);\nvar setToStringTag = __w_pdfjs_require__(77);\nvar createIteratorConstructor = __w_pdfjs_require__(72);\nvar InternalStateModule = __w_pdfjs_require__(31);\nvar anInstance = __w_pdfjs_require__(109);\nvar hasOwn = __w_pdfjs_require__(20);\nvar bind = __w_pdfjs_require__(55);\nvar anObject = __w_pdfjs_require__(25);\nvar isObject = __w_pdfjs_require__(19);\nvar getIterator = __w_pdfjs_require__(126);\nvar getIteratorMethod = __w_pdfjs_require__(86);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\nvar plus = /\\+/g;\nvar sequences = Array(4);\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\nvar deserialize = function (it) {\n var result = it.replace(plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = result.replace(percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\nvar find = /[!'()~]|%20/g;\nvar replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\nvar replacer = function (match) {\n return replace[match];\n};\nvar serialize = function (it) {\n return encodeURIComponent(it).replace(find, replacer);\n};\nvar parseSearchParams = function (result, query) {\n if (query) {\n var attributes = query.split('&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = attribute.split('=');\n result.push({\n key: deserialize(entry.shift()),\n value: deserialize(entry.join('='))\n });\n }\n }\n }\n};\nvar updateSearchParams = function (query) {\n this.entries.length = 0;\n parseSearchParams(this.entries, query);\n};\nvar validateArgumentsLength = function (passed, required) {\n if (passed < required)\n throw TypeError('Not enough arguments');\n};\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [\n entry.key,\n entry.value\n ];\n }\n return step;\n});\nvar URLSearchParamsConstructor = function URLSearchParams() {\n anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var that = this;\n var entries = [];\n var iteratorMethod, iterator, step, entryIterator, first, second, key;\n setInternalState(that, {\n type: URL_SEARCH_PARAMS,\n entries: entries,\n updateURL: function () {\n },\n updateSearchParams: updateSearchParams\n });\n if (init !== undefined) {\n if (isObject(init)) {\n iteratorMethod = getIteratorMethod(init);\n if (typeof iteratorMethod === 'function') {\n iterator = iteratorMethod.call(init);\n while (!(step = iterator.next()).done) {\n entryIterator = getIterator(anObject(step.value));\n if ((first = entryIterator.next()).done || (second = entryIterator.next()).done || !entryIterator.next().done)\n throw TypeError('Expected sequence with length 2');\n entries.push({\n key: first.value + '',\n value: second.value + ''\n });\n }\n } else\n for (key in init)\n if (hasOwn(init, key))\n entries.push({\n key: key,\n value: init[key] + ''\n });\n } else {\n parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');\n }\n }\n};\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\nredefineAll(URLSearchParamsPrototype, {\n append: function append(name, value) {\n validateArgumentsLength(arguments.length, 2);\n var state = getInternalParamsState(this);\n state.entries.push({\n key: name + '',\n value: value + ''\n });\n state.updateURL();\n },\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key)\n entries.splice(index, 1);\n else\n index++;\n }\n state.updateURL();\n },\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key)\n return entries[index].value;\n }\n return null;\n },\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key)\n result.push(entries[index].value);\n }\n return result;\n },\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key)\n return true;\n }\n return false;\n },\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = name + '';\n var val = value + '';\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found)\n entries.splice(index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found)\n entries.push({\n key: key,\n value: val\n });\n state.updateURL();\n },\n sort: function sort() {\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var slice = entries.slice();\n var entry, entriesIndex, sliceIndex;\n entries.length = 0;\n for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n entry = slice[sliceIndex];\n for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n if (entries[entriesIndex].key > entry.key) {\n entries.splice(entriesIndex, 0, entry);\n break;\n }\n }\n if (entriesIndex === sliceIndex)\n entries.push(entry);\n }\n state.updateURL();\n },\n forEach: function forEach(callback) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n var entries = getInternalParamsState(this).entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n result.push(serialize(entry.key) + '=' + serialize(entry.value));\n }\n return result.join('&');\n}, { enumerable: true });\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n$({\n global: true,\n forced: !USE_NATIVE_URL\n}, { URLSearchParams: URLSearchParamsConstructor });\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(25);\nvar getIteratorMethod = __w_pdfjs_require__(86);\nmodule.exports = function (it) {\n var iteratorMethod = getIteratorMethod(it);\n if (typeof iteratorMethod != 'function') {\n throw TypeError(String(it) + ' is not iterable');\n }\n return anObject(iteratorMethod.call(it));\n};\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\n$({\n target: 'URL',\n proto: true,\n enumerable: true\n}, {\n toJSON: function toJSON() {\n return URL.prototype.toString.call(this);\n }\n});\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(100);\n__w_pdfjs_require__(129);\n__w_pdfjs_require__(102);\nvar path = __w_pdfjs_require__(39);\nmodule.exports = path.WeakMap;\n\n/***/ }),\n/* 129 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar global = __w_pdfjs_require__(8);\nvar redefineAll = __w_pdfjs_require__(107);\nvar InternalMetadataModule = __w_pdfjs_require__(130);\nvar collection = __w_pdfjs_require__(132);\nvar collectionWeak = __w_pdfjs_require__(134);\nvar isObject = __w_pdfjs_require__(19);\nvar enforceIternalState = __w_pdfjs_require__(31).enforce;\nvar NATIVE_WEAK_MAP = __w_pdfjs_require__(32);\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar isExtensible = Object.isExtensible;\nvar InternalWeakMap;\nvar wrapper = function (get) {\n return function WeakMap() {\n return get(this, arguments.length ? arguments[0] : undefined);\n };\n};\nvar $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak, true, true);\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);\n InternalMetadataModule.REQUIRED = true;\n var WeakMapPrototype = $WeakMap.prototype;\n var nativeDelete = WeakMapPrototype['delete'];\n var nativeHas = WeakMapPrototype.has;\n var nativeGet = WeakMapPrototype.get;\n var nativeSet = WeakMapPrototype.set;\n redefineAll(WeakMapPrototype, {\n 'delete': function (key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen)\n state.frozen = new InternalWeakMap();\n return nativeDelete.call(this, key) || state.frozen['delete'](key);\n }\n return nativeDelete.call(this, key);\n },\n has: function has(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen)\n state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) || state.frozen.has(key);\n }\n return nativeHas.call(this, key);\n },\n get: function get(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen)\n state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key);\n }\n return nativeGet.call(this, key);\n },\n set: function set(key, value) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen)\n state.frozen = new InternalWeakMap();\n nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value);\n } else\n nativeSet.call(this, key, value);\n return this;\n }\n });\n}\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar hiddenKeys = __w_pdfjs_require__(35);\nvar isObject = __w_pdfjs_require__(19);\nvar has = __w_pdfjs_require__(20);\nvar defineProperty = __w_pdfjs_require__(24).f;\nvar uid = __w_pdfjs_require__(34);\nvar FREEZING = __w_pdfjs_require__(131);\nvar METADATA = uid('meta');\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, {\n value: {\n objectID: 'O' + ++id,\n weakData: {}\n }\n });\n};\nvar fastKey = function (it, create) {\n if (!isObject(it))\n return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n if (!isExtensible(it))\n return 'F';\n if (!create)\n return 'E';\n setMetadata(it);\n }\n return it[METADATA].objectID;\n};\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n if (!isExtensible(it))\n return true;\n if (!create)\n return false;\n setMetadata(it);\n }\n return it[METADATA].weakData;\n};\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA))\n setMetadata(it);\n return it;\n};\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\nhiddenKeys[METADATA] = true;\n\n/***/ }),\n/* 131 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(11);\nmodule.exports = !fails(function () {\n return Object.isExtensible(Object.preventExtensions({}));\n});\n\n/***/ }),\n/* 132 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar global = __w_pdfjs_require__(8);\nvar isForced = __w_pdfjs_require__(48);\nvar redefine = __w_pdfjs_require__(26);\nvar InternalMetadataModule = __w_pdfjs_require__(130);\nvar iterate = __w_pdfjs_require__(110);\nvar anInstance = __w_pdfjs_require__(109);\nvar isObject = __w_pdfjs_require__(19);\nvar fails = __w_pdfjs_require__(11);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(88);\nvar setToStringTag = __w_pdfjs_require__(77);\nvar inheritIfRequired = __w_pdfjs_require__(133);\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common, IS_MAP, IS_WEAK) {\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var ADDER = IS_MAP ? 'set' : 'add';\n var exported = {};\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY, KEY == 'add' ? function add(value) {\n nativeMethod.call(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n nativeMethod.call(this, key === 0 ? 0 : key, value);\n return this;\n });\n };\n if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n })))) {\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.REQUIRED = true;\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\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 = checkCorrectnessOfIteration(function (iterable) {\n new NativeConstructor(iterable);\n });\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--)\n $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined)\n iterate(iterable, that[ADDER], that, IS_MAP);\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\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)\n fixMethod(ADDER);\n if (IS_WEAK && NativePrototype.clear)\n delete NativePrototype.clear;\n }\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({\n global: true,\n forced: Constructor != NativeConstructor\n }, exported);\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n if (!IS_WEAK)\n common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n return Constructor;\n};\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(19);\nvar setPrototypeOf = __w_pdfjs_require__(79);\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (setPrototypeOf && typeof (NewTarget = dummy.constructor) == 'function' && NewTarget !== Wrapper && isObject(NewTargetPrototype = NewTarget.prototype) && NewTargetPrototype !== Wrapper.prototype)\n setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar redefineAll = __w_pdfjs_require__(107);\nvar getWeakData = __w_pdfjs_require__(130).getWeakData;\nvar anObject = __w_pdfjs_require__(25);\nvar isObject = __w_pdfjs_require__(19);\nvar anInstance = __w_pdfjs_require__(109);\nvar iterate = __w_pdfjs_require__(110);\nvar ArrayIterationModule = __w_pdfjs_require__(135);\nvar $has = __w_pdfjs_require__(20);\nvar InternalStateModule = __w_pdfjs_require__(31);\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nvar find = ArrayIterationModule.find;\nvar findIndex = ArrayIterationModule.findIndex;\nvar id = 0;\nvar uncaughtFrozenStore = function (store) {\n return store.frozen || (store.frozen = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.entries = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return find(store.entries, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry)\n return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry)\n entry[1] = value;\n else\n this.entries.push([\n key,\n value\n ]);\n },\n 'delete': function (key) {\n var index = findIndex(this.entries, function (it) {\n return it[0] === key;\n });\n if (~index)\n this.entries.splice(index, 1);\n return !!~index;\n }\n};\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n id: id++,\n frozen: undefined\n });\n if (iterable != undefined)\n iterate(iterable, that[ADDER], that, IS_MAP);\n });\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var data = getWeakData(anObject(key), true);\n if (data === true)\n uncaughtFrozenStore(state).set(key, value);\n else\n data[state.id] = value;\n return that;\n };\n redefineAll(C.prototype, {\n 'delete': function (key) {\n var state = getInternalState(this);\n if (!isObject(key))\n return false;\n var data = getWeakData(key);\n if (data === true)\n return uncaughtFrozenStore(state)['delete'](key);\n return data && $has(data, state.id) && delete data[state.id];\n },\n has: function has(key) {\n var state = getInternalState(this);\n if (!isObject(key))\n return false;\n var data = getWeakData(key);\n if (data === true)\n return uncaughtFrozenStore(state).has(key);\n return data && $has(data, state.id);\n }\n });\n redefineAll(C.prototype, IS_MAP ? {\n get: function get(key) {\n var state = getInternalState(this);\n if (isObject(key)) {\n var data = getWeakData(key);\n if (data === true)\n return uncaughtFrozenStore(state).get(key);\n return data ? data[state.id] : undefined;\n }\n },\n set: function set(key, value) {\n return define(this, key, value);\n }\n } : {\n add: function add(value) {\n return define(this, value, true);\n }\n });\n return C;\n }\n};\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar bind = __w_pdfjs_require__(55);\nvar IndexedObject = __w_pdfjs_require__(15);\nvar toObject = __w_pdfjs_require__(75);\nvar toLength = __w_pdfjs_require__(43);\nvar arraySpeciesCreate = __w_pdfjs_require__(136);\nvar push = [].push;\nvar createMethod = function (TYPE) {\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 return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (; length > index; index++)\n if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP)\n target[index] = result;\n else if (result)\n switch (TYPE) {\n case 3:\n return true;\n case 5:\n return value;\n case 6:\n return index;\n case 2:\n push.call(target, value);\n }\n else if (IS_EVERY)\n return false;\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\nmodule.exports = {\n forEach: createMethod(0),\n map: createMethod(1),\n filter: createMethod(2),\n some: createMethod(3),\n every: createMethod(4),\n find: createMethod(5),\n findIndex: createMethod(6)\n};\n\n/***/ }),\n/* 136 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(19);\nvar isArray = __w_pdfjs_require__(137);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n if (typeof C == 'function' && (C === Array || isArray(C.prototype)))\n C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null)\n C = undefined;\n }\n }\n return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n\n/***/ }),\n/* 137 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar classof = __w_pdfjs_require__(16);\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n\n/***/ }),\n/* 138 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(100);\n__w_pdfjs_require__(139);\n__w_pdfjs_require__(102);\nvar path = __w_pdfjs_require__(39);\nmodule.exports = path.WeakSet;\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar collection = __w_pdfjs_require__(132);\nvar collectionWeak = __w_pdfjs_require__(134);\ncollection('WeakSet', function (get) {\n return function WeakSet() {\n return get(this, arguments.length ? arguments[0] : undefined);\n };\n}, collectionWeak, false, true);\n\n/***/ }),\n/* 140 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(141);\nvar entryUnbind = __w_pdfjs_require__(54);\nmodule.exports = entryUnbind('String', 'codePointAt');\n\n/***/ }),\n/* 141 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar codeAt = __w_pdfjs_require__(70).codeAt;\n$({\n target: 'String',\n proto: true\n}, {\n codePointAt: function codePointAt(pos) {\n return codeAt(this, pos);\n }\n});\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(143);\nvar path = __w_pdfjs_require__(39);\nmodule.exports = path.String.fromCodePoint;\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(7);\nvar toAbsoluteIndex = __w_pdfjs_require__(45);\nvar fromCharCode = String.fromCharCode;\nvar nativeFromCodePoint = String.fromCodePoint;\nvar INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1;\n$({\n target: 'String',\n stat: true,\n forced: INCORRECT_LENGTH\n}, {\n fromCodePoint: function fromCodePoint(x) {\n var elements = [];\n var length = arguments.length;\n var i = 0;\n var code;\n while (length > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10FFFF) !== code)\n throw RangeError(code + ' is not a valid code point');\n elements.push(code < 0x10000 ? fromCharCode(code) : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00));\n }\n return elements.join('');\n }\n});\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(145);\n__w_pdfjs_require__(100);\n__w_pdfjs_require__(147);\n__w_pdfjs_require__(151);\n__w_pdfjs_require__(152);\n__w_pdfjs_require__(153);\n__w_pdfjs_require__(154);\n__w_pdfjs_require__(155);\n__w_pdfjs_require__(156);\n__w_pdfjs_require__(157);\n__w_pdfjs_require__(158);\n__w_pdfjs_require__(159);\n__w_pdfjs_require__(160);\n__w_pdfjs_require__(161);\n__w_pdfjs_require__(162);\n__w_pdfjs_require__(163);\n__w_pdfjs_require__(164);\n__w_pdfjs_require__(165);\n__w_pdfjs_require__(166);\nvar path = __w_pdfjs_require__(39);\nmodule.exports = path.Symbol;\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar fails = __w_pdfjs_require__(11);\nvar isArray = __w_pdfjs_require__(137);\nvar isObject = __w_pdfjs_require__(19);\nvar toObject = __w_pdfjs_require__(75);\nvar toLength = __w_pdfjs_require__(43);\nvar createProperty = __w_pdfjs_require__(85);\nvar arraySpeciesCreate = __w_pdfjs_require__(136);\nvar arrayMethodHasSpeciesSupport = __w_pdfjs_require__(146);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\nvar IS_CONCAT_SPREADABLE_SUPPORT = !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\nvar isConcatSpreadable = function (O) {\n if (!isObject(O))\n return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n$({\n target: 'Array',\n proto: true,\n forced: FORCED\n}, {\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER)\n throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++)\n if (k in E)\n createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER)\n throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(11);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (METHOD_NAME) {\n return !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n\n/***/ }),\n/* 147 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar global = __w_pdfjs_require__(8);\nvar IS_PURE = __w_pdfjs_require__(29);\nvar DESCRIPTORS = __w_pdfjs_require__(10);\nvar NATIVE_SYMBOL = __w_pdfjs_require__(52);\nvar fails = __w_pdfjs_require__(11);\nvar has = __w_pdfjs_require__(20);\nvar isArray = __w_pdfjs_require__(137);\nvar isObject = __w_pdfjs_require__(19);\nvar anObject = __w_pdfjs_require__(25);\nvar toObject = __w_pdfjs_require__(75);\nvar toIndexedObject = __w_pdfjs_require__(14);\nvar toPrimitive = __w_pdfjs_require__(18);\nvar createPropertyDescriptor = __w_pdfjs_require__(13);\nvar nativeObjectCreate = __w_pdfjs_require__(64);\nvar objectKeys = __w_pdfjs_require__(66);\nvar getOwnPropertyNamesModule = __w_pdfjs_require__(40);\nvar getOwnPropertyNamesExternal = __w_pdfjs_require__(148);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(47);\nvar getOwnPropertyDescriptorModule = __w_pdfjs_require__(9);\nvar definePropertyModule = __w_pdfjs_require__(24);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(12);\nvar hide = __w_pdfjs_require__(23);\nvar redefine = __w_pdfjs_require__(26);\nvar shared = __w_pdfjs_require__(27);\nvar sharedKey = __w_pdfjs_require__(33);\nvar hiddenKeys = __w_pdfjs_require__(35);\nvar uid = __w_pdfjs_require__(34);\nvar wellKnownSymbol = __w_pdfjs_require__(51);\nvar wrappedWellKnownSymbolModule = __w_pdfjs_require__(149);\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\nvar setToStringTag = __w_pdfjs_require__(77);\nvar InternalStateModule = __w_pdfjs_require__(31);\nvar $forEach = __w_pdfjs_require__(135).forEach;\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar JSON = global.JSON;\nvar nativeJSONStringify = JSON && JSON.stringify;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () {\n return nativeDefineProperty(this, 'a', { value: 7 }).a;\n }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor)\n delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS)\n symbol.description = description;\n return symbol;\n};\nvar isSymbol = NATIVE_SYMBOL && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype)\n $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN))\n nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key])\n O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n }\n return setSymbolDescriptor(O, key, Attributes);\n }\n return nativeDefineProperty(O, key, Attributes);\n};\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key))\n $defineProperty(O, key, properties[key]);\n });\n return O;\n};\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P))\n return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key))\n return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key))\n result.push(key);\n });\n return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol)\n throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype)\n setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag))\n this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER)\n setSymbolDescriptor(ObjectPrototype, tag, {\n configurable: true,\n set: setter\n });\n return wrap(tag, description);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n if (DESCRIPTORS) {\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n}\n$({\n global: true,\n wrap: true,\n forced: !NATIVE_SYMBOL,\n sham: !NATIVE_SYMBOL\n}, { Symbol: $Symbol });\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n$({\n target: SYMBOL,\n stat: true,\n forced: !NATIVE_SYMBOL\n}, {\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string))\n return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym))\n throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym))\n return SymbolToStringRegistry[sym];\n },\n useSetter: function () {\n USE_SETTER = true;\n },\n useSimple: function () {\n USE_SETTER = false;\n }\n});\n$({\n target: 'Object',\n stat: true,\n forced: !NATIVE_SYMBOL,\n sham: !DESCRIPTORS\n}, {\n create: $create,\n defineProperty: $defineProperty,\n defineProperties: $defineProperties,\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n$({\n target: 'Object',\n stat: true,\n forced: !NATIVE_SYMBOL\n}, {\n getOwnPropertyNames: $getOwnPropertyNames,\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n$({\n target: 'Object',\n stat: true,\n forced: fails(function () {\n getOwnPropertySymbolsModule.f(1);\n })\n}, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\nJSON && $({\n target: 'JSON',\n stat: true,\n forced: !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n return nativeJSONStringify([symbol]) != '[null]' || nativeJSONStringify({ a: symbol }) != '{}' || nativeJSONStringify(Object(symbol)) != '{}';\n })\n}, {\n stringify: function stringify(it) {\n var args = [it];\n var index = 1;\n var replacer, $replacer;\n while (arguments.length > index)\n args.push(arguments[index++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it))\n return;\n if (!isArray(replacer))\n replacer = function (key, value) {\n if (typeof $replacer == 'function')\n value = $replacer.call(this, key, value);\n if (!isSymbol(value))\n return value;\n };\n args[1] = replacer;\n return nativeJSONStringify.apply(JSON, args);\n }\n});\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE])\n hide($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\nsetToStringTag($Symbol, SYMBOL);\nhiddenKeys[HIDDEN] = true;\n\n/***/ }),\n/* 148 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toIndexedObject = __w_pdfjs_require__(14);\nvar nativeGetOwnPropertyNames = __w_pdfjs_require__(40).f;\nvar toString = {}.toString;\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];\nvar getWindowNames = function (it) {\n try {\n return nativeGetOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : nativeGetOwnPropertyNames(toIndexedObject(it));\n};\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nexports.f = __w_pdfjs_require__(51);\n\n/***/ }),\n/* 150 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar path = __w_pdfjs_require__(39);\nvar has = __w_pdfjs_require__(20);\nvar wrappedWellKnownSymbolModule = __w_pdfjs_require__(149);\nvar defineProperty = __w_pdfjs_require__(24).f;\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME))\n defineProperty(Symbol, NAME, { value: wrappedWellKnownSymbolModule.f(NAME) });\n};\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\ndefineWellKnownSymbol('asyncIterator');\n\n/***/ }),\n/* 152 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar DESCRIPTORS = __w_pdfjs_require__(10);\nvar global = __w_pdfjs_require__(8);\nvar has = __w_pdfjs_require__(20);\nvar isObject = __w_pdfjs_require__(19);\nvar defineProperty = __w_pdfjs_require__(24).f;\nvar copyConstructorProperties = __w_pdfjs_require__(36);\nvar NativeSymbol = global.Symbol;\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) || NativeSymbol().description !== undefined)) {\n var EmptyStringDescriptionStore = {};\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper ? new NativeSymbol(description) : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '')\n EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol))\n return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n $({\n global: true,\n forced: true\n }, { Symbol: SymbolWrapper });\n}\n\n/***/ }),\n/* 153 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\ndefineWellKnownSymbol('hasInstance');\n\n/***/ }),\n/* 154 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\ndefineWellKnownSymbol('isConcatSpreadable');\n\n/***/ }),\n/* 155 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\ndefineWellKnownSymbol('iterator');\n\n/***/ }),\n/* 156 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\ndefineWellKnownSymbol('match');\n\n/***/ }),\n/* 157 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\ndefineWellKnownSymbol('matchAll');\n\n/***/ }),\n/* 158 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\ndefineWellKnownSymbol('replace');\n\n/***/ }),\n/* 159 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\ndefineWellKnownSymbol('search');\n\n/***/ }),\n/* 160 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\ndefineWellKnownSymbol('species');\n\n/***/ }),\n/* 161 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\ndefineWellKnownSymbol('split');\n\n/***/ }),\n/* 162 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\ndefineWellKnownSymbol('toPrimitive');\n\n/***/ }),\n/* 163 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\ndefineWellKnownSymbol('toStringTag');\n\n/***/ }),\n/* 164 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(150);\ndefineWellKnownSymbol('unscopables');\n\n/***/ }),\n/* 165 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar setToStringTag = __w_pdfjs_require__(77);\nsetToStringTag(Math, 'Math', true);\n\n/***/ }),\n/* 166 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(8);\nvar setToStringTag = __w_pdfjs_require__(77);\nsetToStringTag(global.JSON, 'JSON', true);\n\n/***/ }),\n/* 167 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(168);\nvar entryUnbind = __w_pdfjs_require__(54);\nmodule.exports = entryUnbind('String', 'padStart');\n\n/***/ }),\n/* 168 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar $padStart = __w_pdfjs_require__(169).start;\nvar WEBKIT_BUG = __w_pdfjs_require__(171);\n$({\n target: 'String',\n proto: true,\n forced: WEBKIT_BUG\n}, {\n padStart: function padStart(maxLength) {\n return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n/***/ }),\n/* 169 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toLength = __w_pdfjs_require__(43);\nvar repeat = __w_pdfjs_require__(170);\nvar requireObjectCoercible = __w_pdfjs_require__(17);\nvar ceil = Math.ceil;\nvar createMethod = function (IS_END) {\n return function ($this, maxLength, fillString) {\n var S = String(requireObjectCoercible($this));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n var fillLen, stringFiller;\n if (intMaxLength <= stringLength || fillStr == '')\n return S;\n fillLen = intMaxLength - stringLength;\n stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen)\n stringFiller = stringFiller.slice(0, fillLen);\n return IS_END ? S + stringFiller : stringFiller + S;\n };\n};\nmodule.exports = {\n start: createMethod(false),\n end: createMethod(true)\n};\n\n/***/ }),\n/* 170 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toInteger = __w_pdfjs_require__(44);\nvar requireObjectCoercible = __w_pdfjs_require__(17);\nmodule.exports = ''.repeat || function repeat(count) {\n var str = String(requireObjectCoercible(this));\n var result = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity)\n throw RangeError('Wrong number of repetitions');\n for (; n > 0; (n >>>= 1) && (str += str))\n if (n & 1)\n result += str;\n return result;\n};\n\n/***/ }),\n/* 171 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar userAgent = __w_pdfjs_require__(114);\nmodule.exports = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n/***/ }),\n/* 172 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(173);\nvar entryUnbind = __w_pdfjs_require__(54);\nmodule.exports = entryUnbind('String', 'padEnd');\n\n/***/ }),\n/* 173 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(7);\nvar $padEnd = __w_pdfjs_require__(169).end;\nvar WEBKIT_BUG = __w_pdfjs_require__(171);\n$({\n target: 'String',\n proto: true,\n forced: WEBKIT_BUG\n}, {\n padEnd: function padEnd(maxLength) {\n return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n/***/ }),\n/* 174 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(175);\nvar path = __w_pdfjs_require__(39);\nmodule.exports = path.Object.values;\n\n/***/ }),\n/* 175 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(7);\nvar $values = __w_pdfjs_require__(176).values;\n$({\n target: 'Object',\n stat: true\n}, {\n values: function values(O) {\n return $values(O);\n }\n});\n\n/***/ }),\n/* 176 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(10);\nvar objectKeys = __w_pdfjs_require__(66);\nvar toIndexedObject = __w_pdfjs_require__(14);\nvar propertyIsEnumerable = __w_pdfjs_require__(12).f;\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {\n result.push(TO_ENTRIES ? [\n key,\n O[key]\n ] : O[key]);\n }\n }\n return result;\n };\n};\nmodule.exports = {\n entries: createMethod(true),\n values: createMethod(false)\n};\n\n/***/ }),\n/* 177 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n{\n var isReadableStreamSupported = false;\n\n if (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 }\n\n if (isReadableStreamSupported) {\n exports.ReadableStream = ReadableStream;\n } else {\n exports.ReadableStream = __w_pdfjs_require__(178).ReadableStream;\n }\n}\n\n/***/ }),\n/* 178 */\n/***/ (function(__webpack_module__, __webpack_exports__, __w_pdfjs_require__) {\n\n\"use strict\";\n__w_pdfjs_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __w_pdfjs_require__.d(__webpack_exports__, \"ByteLengthQueuingStrategy\", function() { return ByteLengthQueuingStrategy; });\n/* harmony export (binding) */ __w_pdfjs_require__.d(__webpack_exports__, \"CountQueuingStrategy\", function() { return CountQueuingStrategy; });\n/* harmony export (binding) */ __w_pdfjs_require__.d(__webpack_exports__, \"ReadableStream\", function() { return ReadableStream; });\n/* harmony export (binding) */ __w_pdfjs_require__.d(__webpack_exports__, \"TransformStream\", function() { return TransformStream; });\n/* harmony export (binding) */ __w_pdfjs_require__.d(__webpack_exports__, \"WritableStream\", function() { return WritableStream; });\nvar SymbolPolyfill = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol : function (description) {\n return \"Symbol(\" + description + \")\";\n};\nfunction noop() {\n}\nvar NumberIsNaN = Number.isNaN || function (x) {\n return x !== x;\n};\nfunction typeIsObject(x) {\n return typeof x === 'object' && x !== null || typeof x === 'function';\n}\nfunction createArrayFromList(elements) {\n return elements.slice();\n}\nfunction ArrayBufferCopy(dest, destOffset, src, srcOffset, n) {\n new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);\n}\nfunction IsFiniteNonNegativeNumber(v) {\n if (IsNonNegativeNumber(v) === false) {\n return false;\n }\n if (v === Infinity) {\n return false;\n }\n return true;\n}\nfunction IsNonNegativeNumber(v) {\n if (typeof v !== 'number') {\n return false;\n }\n if (NumberIsNaN(v)) {\n return false;\n }\n if (v < 0) {\n return false;\n }\n return true;\n}\nfunction 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}\nfunction CreateAlgorithmFromUnderlyingMethod(underlyingObject, methodName, algoArgCount, extraArgs) {\n var method = underlyingObject[methodName];\n if (method !== undefined) {\n if (typeof method !== 'function') {\n throw new TypeError(method + \" is not a method\");\n }\n switch (algoArgCount) {\n case 0: {\n return function () {\n return PromiseCall(method, underlyingObject, extraArgs);\n };\n }\n case 1: {\n return function (arg) {\n var fullArgs = [arg].concat(extraArgs);\n return PromiseCall(method, underlyingObject, fullArgs);\n };\n }\n }\n }\n return function () {\n return Promise.resolve();\n };\n}\nfunction InvokeOrNoop(O, P, args) {\n var method = O[P];\n if (method === undefined) {\n return undefined;\n }\n return Call(method, O, args);\n}\nfunction PromiseCall(F, V, args) {\n try {\n return Promise.resolve(Call(F, V, args));\n } catch (value) {\n return Promise.reject(value);\n }\n}\nfunction TransferArrayBuffer(O) {\n return O;\n}\nfunction IsDetachedBuffer(O) {\n return false;\n}\nfunction ValidateAndNormalizeHighWaterMark(highWaterMark) {\n highWaterMark = Number(highWaterMark);\n if (NumberIsNaN(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}\nfunction MakeSizeAlgorithmFromSizeFunction(size) {\n if (size === undefined) {\n return function () {\n return 1;\n };\n }\n if (typeof size !== 'function') {\n throw new TypeError('size property of a queuing strategy must be a function');\n }\n return function (chunk) {\n return size(chunk);\n };\n}\nvar QUEUE_MAX_ARRAY_SIZE = 16384;\nvar SimpleQueue = function () {\n function SimpleQueue() {\n this._cursor = 0;\n this._size = 0;\n this._front = {\n _elements: [],\n _next: undefined\n };\n this._back = this._front;\n this._cursor = 0;\n this._size = 0;\n }\n Object.defineProperty(SimpleQueue.prototype, \"length\", {\n get: function () {\n return this._size;\n },\n enumerable: true,\n configurable: true\n });\n SimpleQueue.prototype.push = function (element) {\n var oldBack = this._back;\n var newBack = oldBack;\n if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) {\n newBack = {\n _elements: [],\n _next: undefined\n };\n }\n oldBack._elements.push(element);\n if (newBack !== oldBack) {\n this._back = newBack;\n oldBack._next = newBack;\n }\n ++this._size;\n };\n SimpleQueue.prototype.shift = function () {\n var oldFront = this._front;\n var newFront = oldFront;\n var oldCursor = this._cursor;\n var newCursor = oldCursor + 1;\n var elements = oldFront._elements;\n var element = elements[oldCursor];\n if (newCursor === QUEUE_MAX_ARRAY_SIZE) {\n newFront = oldFront._next;\n newCursor = 0;\n }\n --this._size;\n this._cursor = newCursor;\n if (oldFront !== newFront) {\n this._front = newFront;\n }\n elements[oldCursor] = undefined;\n return element;\n };\n SimpleQueue.prototype.forEach = function (callback) {\n var i = this._cursor;\n var node = this._front;\n var elements = node._elements;\n while (i !== elements.length || node._next !== undefined) {\n if (i === elements.length) {\n node = node._next;\n elements = node._elements;\n i = 0;\n if (elements.length === 0) {\n break;\n }\n }\n callback(elements[i]);\n ++i;\n }\n };\n SimpleQueue.prototype.peek = function () {\n var front = this._front;\n var cursor = this._cursor;\n return front._elements[cursor];\n };\n return SimpleQueue;\n}();\nfunction ReadableStreamCreateReadResult(value, done, forAuthorCode) {\n var prototype = null;\n if (forAuthorCode === true) {\n prototype = Object.prototype;\n }\n var obj = Object.create(prototype);\n obj.value = value;\n obj.done = done;\n return obj;\n}\nfunction ReadableStreamReaderGenericInitialize(reader, stream) {\n reader._forAuthorCode = true;\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 defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);\n }\n}\nfunction ReadableStreamReaderGenericCancel(reader, reason) {\n var stream = reader._ownerReadableStream;\n return ReadableStreamCancel(stream, reason);\n}\nfunction ReadableStreamReaderGenericRelease(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._ownerReadableStream._reader = undefined;\n reader._ownerReadableStream = undefined;\n}\nfunction readerLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released reader');\n}\nfunction defaultReaderClosedPromiseInitialize(reader) {\n reader._closedPromise = new Promise(function (resolve, reject) {\n reader._closedPromise_resolve = resolve;\n reader._closedPromise_reject = reject;\n });\n}\nfunction defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {\n defaultReaderClosedPromiseInitialize(reader);\n defaultReaderClosedPromiseReject(reader, reason);\n}\nfunction defaultReaderClosedPromiseInitializeAsResolved(reader) {\n defaultReaderClosedPromiseInitialize(reader);\n defaultReaderClosedPromiseResolve(reader);\n}\nfunction defaultReaderClosedPromiseReject(reader, reason) {\n reader._closedPromise.catch(noop);\n reader._closedPromise_reject(reason);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n}\nfunction defaultReaderClosedPromiseResetToRejected(reader, reason) {\n defaultReaderClosedPromiseInitializeAsRejected(reader, reason);\n}\nfunction defaultReaderClosedPromiseResolve(reader) {\n reader._closedPromise_resolve(undefined);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n}\nvar CancelSteps = SymbolPolyfill('[[CancelSteps]]');\nvar PullSteps = SymbolPolyfill('[[PullSteps]]');\nfunction AcquireReadableStreamDefaultReader(stream, forAuthorCode) {\n if (forAuthorCode === void 0) {\n forAuthorCode = false;\n }\n var reader = new ReadableStreamDefaultReader(stream);\n reader._forAuthorCode = forAuthorCode;\n return reader;\n}\nfunction ReadableStreamAddReadRequest(stream) {\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}\nfunction ReadableStreamFulfillReadRequest(stream, chunk, done) {\n var reader = stream._reader;\n var readRequest = reader._readRequests.shift();\n readRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));\n}\nfunction ReadableStreamGetNumReadRequests(stream) {\n return stream._reader._readRequests.length;\n}\nfunction ReadableStreamHasDefaultReader(stream) {\n var reader = stream._reader;\n if (reader === undefined) {\n return false;\n }\n if (!IsReadableStreamDefaultReader(reader)) {\n return false;\n }\n return true;\n}\nvar ReadableStreamDefaultReader = function () {\n function ReadableStreamDefaultReader(stream) {\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 = new SimpleQueue();\n }\n Object.defineProperty(ReadableStreamDefaultReader.prototype, \"closed\", {\n get: function () {\n if (!IsReadableStreamDefaultReader(this)) {\n return Promise.reject(defaultReaderBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamDefaultReader.prototype.cancel = function (reason) {\n if (!IsReadableStreamDefaultReader(this)) {\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 ReadableStreamDefaultReader.prototype.read = function () {\n if (!IsReadableStreamDefaultReader(this)) {\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 ReadableStreamDefaultReader.prototype.releaseLock = function () {\n if (!IsReadableStreamDefaultReader(this)) {\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 return ReadableStreamDefaultReader;\n}();\nfunction 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}\nfunction ReadableStreamDefaultReaderRead(reader) {\n var stream = reader._ownerReadableStream;\n stream._disturbed = true;\n if (stream._state === 'closed') {\n return Promise.resolve(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));\n }\n if (stream._state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n return stream._readableStreamController[PullSteps]();\n}\nfunction defaultReaderBrandCheckException(name) {\n return new TypeError(\"ReadableStreamDefaultReader.prototype.\" + name + \" can only be used on a ReadableStreamDefaultReader\");\n}\nvar _a;\nvar AsyncIteratorPrototype;\nif (typeof SymbolPolyfill.asyncIterator === 'symbol') {\n AsyncIteratorPrototype = (_a = {}, _a[SymbolPolyfill.asyncIterator] = function () {\n return this;\n }, _a);\n Object.defineProperty(AsyncIteratorPrototype, SymbolPolyfill.asyncIterator, { enumerable: false });\n}\nvar ReadableStreamAsyncIteratorPrototype = {\n next: function () {\n if (IsReadableStreamAsyncIterator(this) === false) {\n return Promise.reject(streamAsyncIteratorBrandCheckException('next'));\n }\n var reader = this._asyncIteratorReader;\n if (reader._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('iterate'));\n }\n return ReadableStreamDefaultReaderRead(reader).then(function (result) {\n var done = result.done;\n if (done) {\n ReadableStreamReaderGenericRelease(reader);\n }\n var value = result.value;\n return ReadableStreamCreateReadResult(value, done, true);\n });\n },\n return: function (value) {\n if (IsReadableStreamAsyncIterator(this) === false) {\n return Promise.reject(streamAsyncIteratorBrandCheckException('next'));\n }\n var reader = this._asyncIteratorReader;\n if (reader._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('finish iterating'));\n }\n if (reader._readRequests.length > 0) {\n return Promise.reject(new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled'));\n }\n if (this._preventCancel === false) {\n var result = ReadableStreamReaderGenericCancel(reader, value);\n ReadableStreamReaderGenericRelease(reader);\n return result.then(function () {\n return ReadableStreamCreateReadResult(value, true, true);\n });\n }\n ReadableStreamReaderGenericRelease(reader);\n return Promise.resolve(ReadableStreamCreateReadResult(value, true, true));\n }\n};\nif (AsyncIteratorPrototype !== undefined) {\n Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype);\n}\nObject.defineProperty(ReadableStreamAsyncIteratorPrototype, 'next', { enumerable: false });\nObject.defineProperty(ReadableStreamAsyncIteratorPrototype, 'return', { enumerable: false });\nfunction AcquireReadableStreamAsyncIterator(stream, preventCancel) {\n if (preventCancel === void 0) {\n preventCancel = false;\n }\n var reader = AcquireReadableStreamDefaultReader(stream);\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype);\n iterator._asyncIteratorReader = reader;\n iterator._preventCancel = Boolean(preventCancel);\n return iterator;\n}\nfunction IsReadableStreamAsyncIterator(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_asyncIteratorReader')) {\n return false;\n }\n return true;\n}\nfunction streamAsyncIteratorBrandCheckException(name) {\n return new TypeError(\"ReadableStreamAsyncIterator.\" + name + \" can only be used on a ReadableSteamAsyncIterator\");\n}\nvar rethrowAssertionErrorRejection = noop;\nfunction DequeueValue(container) {\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}\nfunction EnqueueValueWithSize(container, value, size) {\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}\nfunction PeekQueueValue(container) {\n var pair = container._queue.peek();\n return pair.value;\n}\nfunction ResetQueue(container) {\n container._queue = new SimpleQueue();\n container._queueTotalSize = 0;\n}\nvar AbortSteps = SymbolPolyfill('[[AbortSteps]]');\nvar ErrorSteps = SymbolPolyfill('[[ErrorSteps]]');\nvar WritableStream = function () {\n function WritableStream(underlyingSink, strategy) {\n if (underlyingSink === void 0) {\n underlyingSink = {};\n }\n if (strategy === void 0) {\n strategy = {};\n }\n InitializeWritableStream(this);\n var size = strategy.size;\n var highWaterMark = strategy.highWaterMark;\n var type = underlyingSink.type;\n if (type !== undefined) {\n throw new RangeError('Invalid type is specified');\n }\n var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);\n if (highWaterMark === undefined) {\n highWaterMark = 1;\n }\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm);\n }\n Object.defineProperty(WritableStream.prototype, \"locked\", {\n get: function () {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('locked');\n }\n return IsWritableStreamLocked(this);\n },\n enumerable: true,\n configurable: true\n });\n WritableStream.prototype.abort = function (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 WritableStream.prototype.getWriter = function () {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('getWriter');\n }\n return AcquireWritableStreamDefaultWriter(this);\n };\n return WritableStream;\n}();\nfunction AcquireWritableStreamDefaultWriter(stream) {\n return new WritableStreamDefaultWriter(stream);\n}\nfunction CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\n if (highWaterMark === void 0) {\n highWaterMark = 1;\n }\n if (sizeAlgorithm === void 0) {\n sizeAlgorithm = function () {\n return 1;\n };\n }\n var stream = Object.create(WritableStream.prototype);\n InitializeWritableStream(stream);\n var controller = Object.create(WritableStreamDefaultController.prototype);\n SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\n return stream;\n}\nfunction InitializeWritableStream(stream) {\n stream._state = 'writable';\n stream._storedError = undefined;\n stream._writer = undefined;\n stream._writableStreamController = undefined;\n stream._writeRequests = new SimpleQueue();\n stream._inFlightWriteRequest = undefined;\n stream._closeRequest = undefined;\n stream._inFlightCloseRequest = undefined;\n stream._pendingAbortRequest = undefined;\n stream._backpressure = false;\n}\nfunction 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}\nfunction IsWritableStreamLocked(stream) {\n if (stream._writer === undefined) {\n return false;\n }\n return true;\n}\nfunction WritableStreamAbort(stream, reason) {\n var state = stream._state;\n if (state === 'closed' || state === 'errored') {\n return Promise.resolve(undefined);\n }\n if (stream._pendingAbortRequest !== undefined) {\n return stream._pendingAbortRequest._promise;\n }\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 _promise: undefined,\n _resolve: resolve,\n _reject: reject,\n _reason: reason,\n _wasAlreadyErroring: wasAlreadyErroring\n };\n });\n stream._pendingAbortRequest._promise = promise;\n if (wasAlreadyErroring === false) {\n WritableStreamStartErroring(stream, reason);\n }\n return promise;\n}\nfunction WritableStreamAddWriteRequest(stream) {\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}\nfunction WritableStreamDealWithRejection(stream, error) {\n var state = stream._state;\n if (state === 'writable') {\n WritableStreamStartErroring(stream, error);\n return;\n }\n WritableStreamFinishErroring(stream);\n}\nfunction WritableStreamStartErroring(stream, reason) {\n var controller = stream._writableStreamController;\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}\nfunction WritableStreamFinishErroring(stream) {\n stream._state = 'errored';\n stream._writableStreamController[ErrorSteps]();\n var storedError = stream._storedError;\n stream._writeRequests.forEach(function (writeRequest) {\n writeRequest._reject(storedError);\n });\n stream._writeRequests = new SimpleQueue();\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}\nfunction WritableStreamFinishInFlightWrite(stream) {\n stream._inFlightWriteRequest._resolve(undefined);\n stream._inFlightWriteRequest = undefined;\n}\nfunction WritableStreamFinishInFlightWriteWithError(stream, error) {\n stream._inFlightWriteRequest._reject(error);\n stream._inFlightWriteRequest = undefined;\n WritableStreamDealWithRejection(stream, error);\n}\nfunction WritableStreamFinishInFlightClose(stream) {\n stream._inFlightCloseRequest._resolve(undefined);\n stream._inFlightCloseRequest = undefined;\n var state = stream._state;\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}\nfunction WritableStreamFinishInFlightCloseWithError(stream, error) {\n stream._inFlightCloseRequest._reject(error);\n stream._inFlightCloseRequest = undefined;\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._reject(error);\n stream._pendingAbortRequest = undefined;\n }\n WritableStreamDealWithRejection(stream, error);\n}\nfunction WritableStreamCloseQueuedOrInFlight(stream) {\n if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n}\nfunction WritableStreamHasOperationMarkedInFlight(stream) {\n if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n}\nfunction WritableStreamMarkCloseRequestInFlight(stream) {\n stream._inFlightCloseRequest = stream._closeRequest;\n stream._closeRequest = undefined;\n}\nfunction WritableStreamMarkFirstWriteRequestInFlight(stream) {\n stream._inFlightWriteRequest = stream._writeRequests.shift();\n}\nfunction WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {\n if (stream._closeRequest !== 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 }\n}\nfunction WritableStreamUpdateBackpressure(stream, backpressure) {\n var writer = stream._writer;\n if (writer !== undefined && backpressure !== stream._backpressure) {\n if (backpressure === true) {\n defaultWriterReadyPromiseReset(writer);\n } else {\n defaultWriterReadyPromiseResolve(writer);\n }\n }\n stream._backpressure = backpressure;\n}\nvar WritableStreamDefaultWriter = function () {\n function WritableStreamDefaultWriter(stream) {\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 defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'closed') {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n defaultWriterClosedPromiseInitializeAsResolved(this);\n } else {\n var storedError = stream._storedError;\n defaultWriterReadyPromiseInitializeAsRejected(this, storedError);\n defaultWriterClosedPromiseInitializeAsRejected(this, storedError);\n }\n }\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"closed\", {\n get: function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"desiredSize\", {\n get: function () {\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 enumerable: true,\n configurable: true\n });\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"ready\", {\n get: function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('ready'));\n }\n return this._readyPromise;\n },\n enumerable: true,\n configurable: true\n });\n WritableStreamDefaultWriter.prototype.abort = function (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 WritableStreamDefaultWriter.prototype.close = function () {\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 WritableStreamDefaultWriter.prototype.releaseLock = function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('releaseLock');\n }\n var stream = this._ownerWritableStream;\n if (stream === undefined) {\n return;\n }\n WritableStreamDefaultWriterRelease(this);\n };\n WritableStreamDefaultWriter.prototype.write = function (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 return WritableStreamDefaultWriter;\n}();\nfunction 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}\nfunction WritableStreamDefaultWriterAbort(writer, reason) {\n var stream = writer._ownerWritableStream;\n return WritableStreamAbort(stream, reason);\n}\nfunction WritableStreamDefaultWriterClose(writer) {\n var stream = writer._ownerWritableStream;\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 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}\nfunction WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {\n var stream = writer._ownerWritableStream;\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 return WritableStreamDefaultWriterClose(writer);\n}\nfunction WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {\n if (writer._closedPromiseState === 'pending') {\n defaultWriterClosedPromiseReject(writer, error);\n } else {\n defaultWriterClosedPromiseResetToRejected(writer, error);\n }\n}\nfunction WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {\n if (writer._readyPromiseState === 'pending') {\n defaultWriterReadyPromiseReject(writer, error);\n } else {\n defaultWriterReadyPromiseResetToRejected(writer, error);\n }\n}\nfunction 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}\nfunction WritableStreamDefaultWriterRelease(writer) {\n var stream = writer._ownerWritableStream;\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}\nfunction WritableStreamDefaultWriterWrite(writer, chunk) {\n var stream = writer._ownerWritableStream;\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 var promise = WritableStreamAddWriteRequest(stream);\n WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);\n return promise;\n}\nvar WritableStreamDefaultController = function () {\n function WritableStreamDefaultController() {\n throw new TypeError('WritableStreamDefaultController cannot be constructed explicitly');\n }\n WritableStreamDefaultController.prototype.error = function (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 WritableStreamDefaultController.prototype[AbortSteps] = function (reason) {\n var result = this._abortAlgorithm(reason);\n WritableStreamDefaultControllerClearAlgorithms(this);\n return result;\n };\n WritableStreamDefaultController.prototype[ErrorSteps] = function () {\n ResetQueue(this);\n };\n return WritableStreamDefaultController;\n}();\nfunction IsWritableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledWritableStream')) {\n return false;\n }\n return true;\n}\nfunction SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\n controller._controlledWritableStream = stream;\n stream._writableStreamController = controller;\n controller._queue = undefined;\n controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._started = false;\n controller._strategySizeAlgorithm = sizeAlgorithm;\n controller._strategyHWM = highWaterMark;\n controller._writeAlgorithm = writeAlgorithm;\n controller._closeAlgorithm = closeAlgorithm;\n controller._abortAlgorithm = abortAlgorithm;\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n var startResult = startAlgorithm();\n var startPromise = Promise.resolve(startResult);\n startPromise.then(function () {\n controller._started = true;\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, function (r) {\n controller._started = true;\n WritableStreamDealWithRejection(stream, r);\n }).catch(rethrowAssertionErrorRejection);\n}\nfunction SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream, underlyingSink, highWaterMark, sizeAlgorithm) {\n var controller = Object.create(WritableStreamDefaultController.prototype);\n function startAlgorithm() {\n return InvokeOrNoop(underlyingSink, 'start', [controller]);\n }\n var writeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'write', 1, [controller]);\n var closeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'close', 0, []);\n var abortAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'abort', 1, []);\n SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\n}\nfunction WritableStreamDefaultControllerClearAlgorithms(controller) {\n controller._writeAlgorithm = undefined;\n controller._closeAlgorithm = undefined;\n controller._abortAlgorithm = undefined;\n controller._strategySizeAlgorithm = undefined;\n}\nfunction WritableStreamDefaultControllerClose(controller) {\n EnqueueValueWithSize(controller, 'close', 0);\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n}\nfunction WritableStreamDefaultControllerGetChunkSize(controller, chunk) {\n try {\n return controller._strategySizeAlgorithm(chunk);\n } catch (chunkSizeE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n return 1;\n }\n}\nfunction WritableStreamDefaultControllerGetDesiredSize(controller) {\n return controller._strategyHWM - controller._queueTotalSize;\n}\nfunction 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}\nfunction 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 === '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}\nfunction WritableStreamDefaultControllerErrorIfNeeded(controller, error) {\n if (controller._controlledWritableStream._state === 'writable') {\n WritableStreamDefaultControllerError(controller, error);\n }\n}\nfunction WritableStreamDefaultControllerProcessClose(controller) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkCloseRequestInFlight(stream);\n DequeueValue(controller);\n var sinkClosePromise = controller._closeAlgorithm();\n WritableStreamDefaultControllerClearAlgorithms(controller);\n sinkClosePromise.then(function () {\n WritableStreamFinishInFlightClose(stream);\n }, function (reason) {\n WritableStreamFinishInFlightCloseWithError(stream, reason);\n }).catch(rethrowAssertionErrorRejection);\n}\nfunction WritableStreamDefaultControllerProcessWrite(controller, chunk) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkFirstWriteRequestInFlight(stream);\n var sinkWritePromise = controller._writeAlgorithm(chunk);\n sinkWritePromise.then(function () {\n WritableStreamFinishInFlightWrite(stream);\n var state = stream._state;\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 if (stream._state === 'writable') {\n WritableStreamDefaultControllerClearAlgorithms(controller);\n }\n WritableStreamFinishInFlightWriteWithError(stream, reason);\n }).catch(rethrowAssertionErrorRejection);\n}\nfunction WritableStreamDefaultControllerGetBackpressure(controller) {\n var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);\n return desiredSize <= 0;\n}\nfunction WritableStreamDefaultControllerError(controller, error) {\n var stream = controller._controlledWritableStream;\n WritableStreamDefaultControllerClearAlgorithms(controller);\n WritableStreamStartErroring(stream, error);\n}\nfunction streamBrandCheckException(name) {\n return new TypeError(\"WritableStream.prototype.\" + name + \" can only be used on a WritableStream\");\n}\nfunction defaultWriterBrandCheckException(name) {\n return new TypeError(\"WritableStreamDefaultWriter.prototype.\" + name + \" can only be used on a WritableStreamDefaultWriter\");\n}\nfunction defaultWriterLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released writer');\n}\nfunction 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}\nfunction defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {\n defaultWriterClosedPromiseInitialize(writer);\n defaultWriterClosedPromiseReject(writer, reason);\n}\nfunction defaultWriterClosedPromiseInitializeAsResolved(writer) {\n defaultWriterClosedPromiseInitialize(writer);\n defaultWriterClosedPromiseResolve(writer);\n}\nfunction defaultWriterClosedPromiseReject(writer, reason) {\n writer._closedPromise.catch(noop);\n writer._closedPromise_reject(reason);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'rejected';\n}\nfunction defaultWriterClosedPromiseResetToRejected(writer, reason) {\n defaultWriterClosedPromiseInitializeAsRejected(writer, reason);\n}\nfunction defaultWriterClosedPromiseResolve(writer) {\n writer._closedPromise_resolve(undefined);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'resolved';\n}\nfunction 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}\nfunction defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {\n defaultWriterReadyPromiseInitialize(writer);\n defaultWriterReadyPromiseReject(writer, reason);\n}\nfunction defaultWriterReadyPromiseInitializeAsResolved(writer) {\n defaultWriterReadyPromiseInitialize(writer);\n defaultWriterReadyPromiseResolve(writer);\n}\nfunction defaultWriterReadyPromiseReject(writer, reason) {\n writer._readyPromise.catch(noop);\n writer._readyPromise_reject(reason);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'rejected';\n}\nfunction defaultWriterReadyPromiseReset(writer) {\n defaultWriterReadyPromiseInitialize(writer);\n}\nfunction defaultWriterReadyPromiseResetToRejected(writer, reason) {\n defaultWriterReadyPromiseInitializeAsRejected(writer, reason);\n}\nfunction defaultWriterReadyPromiseResolve(writer) {\n writer._readyPromise_resolve(undefined);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'fulfilled';\n}\nfunction ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) {\n var reader = AcquireReadableStreamDefaultReader(source);\n var writer = AcquireWritableStreamDefaultWriter(dest);\n var shuttingDown = false;\n var currentWrite = Promise.resolve();\n return new Promise(function (resolve, reject) {\n var abortAlgorithm;\n if (signal !== undefined) {\n abortAlgorithm = function () {\n var error = new DOMException('Aborted', 'AbortError');\n var actions = [];\n if (preventAbort === false) {\n actions.push(function () {\n if (dest._state === 'writable') {\n return WritableStreamAbort(dest, error);\n }\n return Promise.resolve();\n });\n }\n if (preventCancel === false) {\n actions.push(function () {\n if (source._state === 'readable') {\n return ReadableStreamCancel(source, error);\n }\n return Promise.resolve();\n });\n }\n shutdownWithAction(function () {\n return Promise.all(actions.map(function (action) {\n return action();\n }));\n }, true, error);\n };\n if (signal.aborted === true) {\n abortAlgorithm();\n return;\n }\n signal.addEventListener('abort', abortAlgorithm);\n }\n function pipeLoop() {\n return new Promise(function (resolveLoop, rejectLoop) {\n function next(done) {\n if (done) {\n resolveLoop();\n } else {\n pipeStep().then(next, rejectLoop);\n }\n }\n next(false);\n });\n }\n function pipeStep() {\n if (shuttingDown === true) {\n return Promise.resolve(true);\n }\n return writer._readyPromise.then(function () {\n return ReadableStreamDefaultReaderRead(reader).then(function (_a) {\n var value = _a.value, done = _a.done;\n if (done === true) {\n return true;\n }\n currentWrite = WritableStreamDefaultWriterWrite(writer, value).catch(noop);\n return false;\n });\n });\n }\n isOrBecomesErrored(source, 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(source, storedError);\n }, true, storedError);\n } else {\n shutdown(true, storedError);\n }\n });\n isOrBecomesClosed(source, 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_1 = 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(source, destClosed_1);\n }, true, destClosed_1);\n } else {\n shutdown(true, destClosed_1);\n }\n }\n pipeLoop().catch(rethrowAssertionErrorRejection);\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 (signal !== undefined) {\n signal.removeEventListener('abort', abortAlgorithm);\n }\n if (isError) {\n reject(error);\n } else {\n resolve(undefined);\n }\n }\n });\n}\nvar ReadableStreamDefaultController = function () {\n function ReadableStreamDefaultController() {\n throw new TypeError();\n }\n Object.defineProperty(ReadableStreamDefaultController.prototype, \"desiredSize\", {\n get: function () {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('desiredSize');\n }\n return ReadableStreamDefaultControllerGetDesiredSize(this);\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamDefaultController.prototype.close = function () {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('close');\n }\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {\n throw new TypeError('The stream is not in a state that permits close');\n }\n ReadableStreamDefaultControllerClose(this);\n };\n ReadableStreamDefaultController.prototype.enqueue = function (chunk) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('enqueue');\n }\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {\n throw new TypeError('The stream is not in a state that permits enqueue');\n }\n return ReadableStreamDefaultControllerEnqueue(this, chunk);\n };\n ReadableStreamDefaultController.prototype.error = function (e) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('error');\n }\n ReadableStreamDefaultControllerError(this, e);\n };\n ReadableStreamDefaultController.prototype[CancelSteps] = function (reason) {\n ResetQueue(this);\n var result = this._cancelAlgorithm(reason);\n ReadableStreamDefaultControllerClearAlgorithms(this);\n return result;\n };\n ReadableStreamDefaultController.prototype[PullSteps] = function () {\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 ReadableStreamDefaultControllerClearAlgorithms(this);\n ReadableStreamClose(stream);\n } else {\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n }\n return Promise.resolve(ReadableStreamCreateReadResult(chunk, false, stream._reader._forAuthorCode));\n }\n var pendingPromise = ReadableStreamAddReadRequest(stream);\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n return pendingPromise;\n };\n return ReadableStreamDefaultController;\n}();\nfunction IsReadableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableStream')) {\n return false;\n }\n return true;\n}\nfunction ReadableStreamDefaultControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);\n if (shouldPull === false) {\n return;\n }\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return;\n }\n controller._pulling = true;\n var pullPromise = controller._pullAlgorithm();\n pullPromise.then(function () {\n controller._pulling = false;\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n }, function (e) {\n ReadableStreamDefaultControllerError(controller, e);\n }).catch(rethrowAssertionErrorRejection);\n}\nfunction ReadableStreamDefaultControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableStream;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) === false) {\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}\nfunction ReadableStreamDefaultControllerClearAlgorithms(controller) {\n controller._pullAlgorithm = undefined;\n controller._cancelAlgorithm = undefined;\n controller._strategySizeAlgorithm = undefined;\n}\nfunction ReadableStreamDefaultControllerClose(controller) {\n var stream = controller._controlledReadableStream;\n controller._closeRequested = true;\n if (controller._queue.length === 0) {\n ReadableStreamDefaultControllerClearAlgorithms(controller);\n ReadableStreamClose(stream);\n }\n}\nfunction ReadableStreamDefaultControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableStream;\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n ReadableStreamFulfillReadRequest(stream, chunk, false);\n } else {\n var chunkSize = void 0;\n try {\n chunkSize = controller._strategySizeAlgorithm(chunk);\n } catch (chunkSizeE) {\n ReadableStreamDefaultControllerError(controller, chunkSizeE);\n throw chunkSizeE;\n }\n try {\n EnqueueValueWithSize(controller, chunk, chunkSize);\n } catch (enqueueE) {\n ReadableStreamDefaultControllerError(controller, enqueueE);\n throw enqueueE;\n }\n }\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n}\nfunction ReadableStreamDefaultControllerError(controller, e) {\n var stream = controller._controlledReadableStream;\n if (stream._state !== 'readable') {\n return;\n }\n ResetQueue(controller);\n ReadableStreamDefaultControllerClearAlgorithms(controller);\n ReadableStreamError(stream, e);\n}\nfunction 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}\nfunction ReadableStreamDefaultControllerHasBackpressure(controller) {\n if (ReadableStreamDefaultControllerShouldCallPull(controller) === true) {\n return false;\n }\n return true;\n}\nfunction ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) {\n var state = controller._controlledReadableStream._state;\n if (controller._closeRequested === false && state === 'readable') {\n return true;\n }\n return false;\n}\nfunction SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\n controller._controlledReadableStream = stream;\n controller._queue = undefined;\n controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._started = false;\n controller._closeRequested = false;\n controller._pullAgain = false;\n controller._pulling = false;\n controller._strategySizeAlgorithm = sizeAlgorithm;\n controller._strategyHWM = highWaterMark;\n controller._pullAlgorithm = pullAlgorithm;\n controller._cancelAlgorithm = cancelAlgorithm;\n stream._readableStreamController = controller;\n var startResult = startAlgorithm();\n Promise.resolve(startResult).then(function () {\n controller._started = true;\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableStreamDefaultControllerError(controller, r);\n }).catch(rethrowAssertionErrorRejection);\n}\nfunction SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream, underlyingSource, highWaterMark, sizeAlgorithm) {\n var controller = Object.create(ReadableStreamDefaultController.prototype);\n function startAlgorithm() {\n return InvokeOrNoop(underlyingSource, 'start', [controller]);\n }\n var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'pull', 0, [controller]);\n var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'cancel', 1, []);\n SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\n}\nfunction defaultControllerBrandCheckException(name) {\n return new TypeError(\"ReadableStreamDefaultController.prototype.\" + name + \" can only be used on a ReadableStreamDefaultController\");\n}\nfunction ReadableStreamTee(stream, cloneForBranch2) {\n var reader = AcquireReadableStreamDefaultReader(stream);\n var reading = false;\n var canceled1 = false;\n var canceled2 = false;\n var reason1;\n var reason2;\n var branch1;\n var branch2;\n var resolveCancelPromise;\n var cancelPromise = new Promise(function (resolve) {\n resolveCancelPromise = resolve;\n });\n function pullAlgorithm() {\n if (reading === true) {\n return Promise.resolve();\n }\n reading = true;\n var readPromise = ReadableStreamDefaultReaderRead(reader).then(function (result) {\n reading = false;\n var done = result.done;\n if (done === true) {\n if (canceled1 === false) {\n ReadableStreamDefaultControllerClose(branch1._readableStreamController);\n }\n if (canceled2 === false) {\n ReadableStreamDefaultControllerClose(branch2._readableStreamController);\n }\n return;\n }\n var value = result.value;\n var value1 = value;\n var value2 = value;\n if (canceled1 === false) {\n ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, value1);\n }\n if (canceled2 === false) {\n ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, value2);\n }\n });\n readPromise.catch(rethrowAssertionErrorRejection);\n return Promise.resolve();\n }\n function cancel1Algorithm(reason) {\n canceled1 = true;\n reason1 = reason;\n if (canceled2 === true) {\n var compositeReason = createArrayFromList([\n reason1,\n reason2\n ]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n resolveCancelPromise(cancelResult);\n }\n return cancelPromise;\n }\n function cancel2Algorithm(reason) {\n canceled2 = true;\n reason2 = reason;\n if (canceled1 === true) {\n var compositeReason = createArrayFromList([\n reason1,\n reason2\n ]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n resolveCancelPromise(cancelResult);\n }\n return cancelPromise;\n }\n function startAlgorithm() {\n }\n branch1 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel1Algorithm);\n branch2 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel2Algorithm);\n reader._closedPromise.catch(function (r) {\n ReadableStreamDefaultControllerError(branch1._readableStreamController, r);\n ReadableStreamDefaultControllerError(branch2._readableStreamController, r);\n });\n return [\n branch1,\n branch2\n ];\n}\nvar NumberIsInteger = Number.isInteger || function (value) {\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n};\nvar ReadableStreamBYOBRequest = function () {\n function ReadableStreamBYOBRequest() {\n throw new TypeError('ReadableStreamBYOBRequest cannot be used directly');\n }\n Object.defineProperty(ReadableStreamBYOBRequest.prototype, \"view\", {\n get: function () {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('view');\n }\n return this._view;\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamBYOBRequest.prototype.respond = function (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 if (IsDetachedBuffer(this._view.buffer) === true);\n ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);\n };\n ReadableStreamBYOBRequest.prototype.respondWithNewView = function (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 if (IsDetachedBuffer(view.buffer) === true);\n ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);\n };\n return ReadableStreamBYOBRequest;\n}();\nvar ReadableByteStreamController = function () {\n function ReadableByteStreamController() {\n throw new TypeError('ReadableByteStreamController constructor cannot be used directly');\n }\n Object.defineProperty(ReadableByteStreamController.prototype, \"byobRequest\", {\n get: function () {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('byobRequest');\n }\n if (this._byobRequest === undefined && this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos.peek();\n var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);\n var byobRequest = Object.create(ReadableStreamBYOBRequest.prototype);\n SetUpReadableStreamBYOBRequest(byobRequest, this, view);\n this._byobRequest = byobRequest;\n }\n return this._byobRequest;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ReadableByteStreamController.prototype, \"desiredSize\", {\n get: function () {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('desiredSize');\n }\n return ReadableByteStreamControllerGetDesiredSize(this);\n },\n enumerable: true,\n configurable: true\n });\n ReadableByteStreamController.prototype.close = function () {\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._controlledReadableByteStream._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 ReadableByteStreamController.prototype.enqueue = function (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._controlledReadableByteStream._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 if (IsDetachedBuffer(chunk.buffer) === true);\n ReadableByteStreamControllerEnqueue(this, chunk);\n };\n ReadableByteStreamController.prototype.error = function (e) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('error');\n }\n ReadableByteStreamControllerError(this, e);\n };\n ReadableByteStreamController.prototype[CancelSteps] = function (reason) {\n if (this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos.peek();\n firstDescriptor.bytesFilled = 0;\n }\n ResetQueue(this);\n var result = this._cancelAlgorithm(reason);\n ReadableByteStreamControllerClearAlgorithms(this);\n return result;\n };\n ReadableByteStreamController.prototype[PullSteps] = function () {\n var stream = this._controlledReadableByteStream;\n if (this._queueTotalSize > 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(ReadableStreamCreateReadResult(view, false, stream._reader._forAuthorCode));\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 return ReadableByteStreamController;\n}();\nfunction IsReadableByteStreamController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableByteStream')) {\n return false;\n }\n return true;\n}\nfunction 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}\nfunction ReadableByteStreamControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);\n if (shouldPull === false) {\n return;\n }\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return;\n }\n controller._pulling = true;\n var pullPromise = controller._pullAlgorithm();\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 ReadableByteStreamControllerError(controller, e);\n }).catch(rethrowAssertionErrorRejection);\n}\nfunction ReadableByteStreamControllerClearPendingPullIntos(controller) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n controller._pendingPullIntos = new SimpleQueue();\n}\nfunction ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {\n var done = false;\n if (stream._state === 'closed') {\n done = true;\n }\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n if (pullIntoDescriptor.readerType === 'default') {\n ReadableStreamFulfillReadRequest(stream, filledView, done);\n } else {\n ReadableStreamFulfillReadIntoRequest(stream, filledView, done);\n }\n}\nfunction ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {\n var bytesFilled = pullIntoDescriptor.bytesFilled;\n var elementSize = pullIntoDescriptor.elementSize;\n return new pullIntoDescriptor.ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize);\n}\nfunction ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {\n controller._queue.push({\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength\n });\n controller._queueTotalSize += byteLength;\n}\nfunction 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.peek();\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 return ready;\n}\nfunction ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n pullIntoDescriptor.bytesFilled += size;\n}\nfunction ReadableByteStreamControllerHandleQueueDrain(controller) {\n if (controller._queueTotalSize === 0 && controller._closeRequested === true) {\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamClose(controller._controlledReadableByteStream);\n } else {\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n}\nfunction 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}\nfunction ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {\n while (controller._pendingPullIntos.length > 0) {\n if (controller._queueTotalSize === 0) {\n return;\n }\n var pullIntoDescriptor = controller._pendingPullIntos.peek();\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\n }\n }\n}\nfunction ReadableByteStreamControllerPullInto(controller, view) {\n var stream = controller._controlledReadableByteStream;\n var elementSize = 1;\n if (view.constructor !== DataView) {\n elementSize = view.constructor.BYTES_PER_ELEMENT;\n }\n var ctor = view.constructor;\n var buffer = TransferArrayBuffer(view.buffer);\n var pullIntoDescriptor = {\n buffer: 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 controller._pendingPullIntos.push(pullIntoDescriptor);\n return ReadableStreamAddReadIntoRequest(stream);\n }\n if (stream._state === 'closed') {\n var emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);\n return Promise.resolve(ReadableStreamCreateReadResult(emptyView, true, stream._reader._forAuthorCode));\n }\n if (controller._queueTotalSize > 0) {\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n ReadableByteStreamControllerHandleQueueDrain(controller);\n return Promise.resolve(ReadableStreamCreateReadResult(filledView, false, stream._reader._forAuthorCode));\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 controller._pendingPullIntos.push(pullIntoDescriptor);\n var promise = ReadableStreamAddReadIntoRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n return promise;\n}\nfunction ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {\n firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);\n var stream = controller._controlledReadableByteStream;\n if (ReadableStreamHasBYOBReader(stream) === true) {\n while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);\n }\n }\n}\nfunction 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._controlledReadableByteStream, pullIntoDescriptor);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n}\nfunction ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {\n var firstDescriptor = controller._pendingPullIntos.peek();\n var stream = controller._controlledReadableByteStream;\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 ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);\n }\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n}\nfunction ReadableByteStreamControllerShiftPendingPullInto(controller) {\n var descriptor = controller._pendingPullIntos.shift();\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n return descriptor;\n}\nfunction ReadableByteStreamControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableByteStream;\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 var desiredSize = ReadableByteStreamControllerGetDesiredSize(controller);\n if (desiredSize > 0) {\n return true;\n }\n return false;\n}\nfunction ReadableByteStreamControllerClearAlgorithms(controller) {\n controller._pullAlgorithm = undefined;\n controller._cancelAlgorithm = undefined;\n}\nfunction ReadableByteStreamControllerClose(controller) {\n var stream = controller._controlledReadableByteStream;\n if (controller._queueTotalSize > 0) {\n controller._closeRequested = true;\n return;\n }\n if (controller._pendingPullIntos.length > 0) {\n var firstPendingPullInto = controller._pendingPullIntos.peek();\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 ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamClose(stream);\n}\nfunction ReadableByteStreamControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableByteStream;\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 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 ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n }\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n}\nfunction ReadableByteStreamControllerError(controller, e) {\n var stream = controller._controlledReadableByteStream;\n if (stream._state !== 'readable') {\n return;\n }\n ReadableByteStreamControllerClearPendingPullIntos(controller);\n ResetQueue(controller);\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamError(stream, e);\n}\nfunction ReadableByteStreamControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableByteStream;\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}\nfunction ReadableByteStreamControllerRespond(controller, bytesWritten) {\n bytesWritten = Number(bytesWritten);\n if (IsFiniteNonNegativeNumber(bytesWritten) === false) {\n throw new RangeError('bytesWritten must be a finite');\n }\n ReadableByteStreamControllerRespondInternal(controller, bytesWritten);\n}\nfunction ReadableByteStreamControllerRespondWithNewView(controller, view) {\n var firstDescriptor = controller._pendingPullIntos.peek();\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}\nfunction SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize) {\n controller._controlledReadableByteStream = stream;\n controller._pullAgain = false;\n controller._pulling = false;\n controller._byobRequest = undefined;\n controller._queue = controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._closeRequested = false;\n controller._started = false;\n controller._strategyHWM = ValidateAndNormalizeHighWaterMark(highWaterMark);\n controller._pullAlgorithm = pullAlgorithm;\n controller._cancelAlgorithm = cancelAlgorithm;\n controller._autoAllocateChunkSize = autoAllocateChunkSize;\n controller._pendingPullIntos = new SimpleQueue();\n stream._readableStreamController = controller;\n var startResult = startAlgorithm();\n Promise.resolve(startResult).then(function () {\n controller._started = true;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableByteStreamControllerError(controller, r);\n }).catch(rethrowAssertionErrorRejection);\n}\nfunction SetUpReadableByteStreamControllerFromUnderlyingSource(stream, underlyingByteSource, highWaterMark) {\n var controller = Object.create(ReadableByteStreamController.prototype);\n function startAlgorithm() {\n return InvokeOrNoop(underlyingByteSource, 'start', [controller]);\n }\n var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'pull', 0, [controller]);\n var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'cancel', 1, []);\n var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;\n if (autoAllocateChunkSize !== undefined) {\n autoAllocateChunkSize = Number(autoAllocateChunkSize);\n if (NumberIsInteger(autoAllocateChunkSize) === false || autoAllocateChunkSize <= 0) {\n throw new RangeError('autoAllocateChunkSize must be a positive integer');\n }\n }\n SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize);\n}\nfunction SetUpReadableStreamBYOBRequest(request, controller, view) {\n request._associatedReadableByteStreamController = controller;\n request._view = view;\n}\nfunction byobRequestBrandCheckException(name) {\n return new TypeError(\"ReadableStreamBYOBRequest.prototype.\" + name + \" can only be used on a ReadableStreamBYOBRequest\");\n}\nfunction byteStreamControllerBrandCheckException(name) {\n return new TypeError(\"ReadableByteStreamController.prototype.\" + name + \" can only be used on a ReadableByteStreamController\");\n}\nfunction AcquireReadableStreamBYOBReader(stream, forAuthorCode) {\n if (forAuthorCode === void 0) {\n forAuthorCode = false;\n }\n var reader = new ReadableStreamBYOBReader(stream);\n reader._forAuthorCode = forAuthorCode;\n return reader;\n}\nfunction ReadableStreamAddReadIntoRequest(stream) {\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}\nfunction ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {\n var reader = stream._reader;\n var readIntoRequest = reader._readIntoRequests.shift();\n readIntoRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));\n}\nfunction ReadableStreamGetNumReadIntoRequests(stream) {\n return stream._reader._readIntoRequests.length;\n}\nfunction ReadableStreamHasBYOBReader(stream) {\n var reader = stream._reader;\n if (reader === undefined) {\n return false;\n }\n if (!IsReadableStreamBYOBReader(reader)) {\n return false;\n }\n return true;\n}\nvar ReadableStreamBYOBReader = function () {\n function ReadableStreamBYOBReader(stream) {\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 = new SimpleQueue();\n }\n Object.defineProperty(ReadableStreamBYOBReader.prototype, \"closed\", {\n get: function () {\n if (!IsReadableStreamBYOBReader(this)) {\n return Promise.reject(byobReaderBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamBYOBReader.prototype.cancel = function (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 ReadableStreamBYOBReader.prototype.read = function (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 (IsDetachedBuffer(view.buffer) === true);\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 ReadableStreamBYOBReader.prototype.releaseLock = function () {\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 return ReadableStreamBYOBReader;\n}();\nfunction 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}\nfunction ReadableStreamBYOBReaderRead(reader, view) {\n var stream = reader._ownerReadableStream;\n stream._disturbed = true;\n if (stream._state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n return ReadableByteStreamControllerPullInto(stream._readableStreamController, view);\n}\nfunction byobReaderBrandCheckException(name) {\n return new TypeError(\"ReadableStreamBYOBReader.prototype.\" + name + \" can only be used on a ReadableStreamBYOBReader\");\n}\nvar ReadableStream = function () {\n function ReadableStream(underlyingSource, strategy) {\n if (underlyingSource === void 0) {\n underlyingSource = {};\n }\n if (strategy === void 0) {\n strategy = {};\n }\n InitializeReadableStream(this);\n var size = strategy.size;\n var highWaterMark = strategy.highWaterMark;\n var type = underlyingSource.type;\n var typeString = String(type);\n if (typeString === 'bytes') {\n if (size !== undefined) {\n throw new RangeError('The strategy for a byte stream cannot have a size function');\n }\n if (highWaterMark === undefined) {\n highWaterMark = 0;\n }\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark);\n } else if (type === undefined) {\n var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);\n if (highWaterMark === undefined) {\n highWaterMark = 1;\n }\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, sizeAlgorithm);\n } else {\n throw new RangeError('Invalid type is specified');\n }\n }\n Object.defineProperty(ReadableStream.prototype, \"locked\", {\n get: function () {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('locked');\n }\n return IsReadableStreamLocked(this);\n },\n enumerable: true,\n configurable: true\n });\n ReadableStream.prototype.cancel = function (reason) {\n if (IsReadableStream(this) === false) {\n return Promise.reject(streamBrandCheckException$1('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 ReadableStream.prototype.getReader = function (_a) {\n var mode = (_a === void 0 ? {} : _a).mode;\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('getReader');\n }\n if (mode === undefined) {\n return AcquireReadableStreamDefaultReader(this, true);\n }\n mode = String(mode);\n if (mode === 'byob') {\n return AcquireReadableStreamBYOBReader(this, true);\n }\n throw new RangeError('Invalid mode is specified');\n };\n ReadableStream.prototype.pipeThrough = function (_a, _b) {\n var writable = _a.writable, readable = _a.readable;\n var _c = _b === void 0 ? {} : _b, preventClose = _c.preventClose, preventAbort = _c.preventAbort, preventCancel = _c.preventCancel, signal = _c.signal;\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('pipeThrough');\n }\n if (IsWritableStream(writable) === false) {\n throw new TypeError('writable argument to pipeThrough must be a WritableStream');\n }\n if (IsReadableStream(readable) === false) {\n throw new TypeError('readable argument to pipeThrough must be a ReadableStream');\n }\n preventClose = Boolean(preventClose);\n preventAbort = Boolean(preventAbort);\n preventCancel = Boolean(preventCancel);\n if (signal !== undefined && !isAbortSignal(signal)) {\n throw new TypeError('ReadableStream.prototype.pipeThrough\\'s signal option must be an AbortSignal');\n }\n if (IsReadableStreamLocked(this) === true) {\n throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream');\n }\n if (IsWritableStreamLocked(writable) === true) {\n throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream');\n }\n var promise = ReadableStreamPipeTo(this, writable, preventClose, preventAbort, preventCancel, signal);\n promise.catch(noop);\n return readable;\n };\n ReadableStream.prototype.pipeTo = function (dest, _a) {\n var _b = _a === void 0 ? {} : _a, preventClose = _b.preventClose, preventAbort = _b.preventAbort, preventCancel = _b.preventCancel, signal = _b.signal;\n if (IsReadableStream(this) === false) {\n return Promise.reject(streamBrandCheckException$1('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 (signal !== undefined && !isAbortSignal(signal)) {\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo\\'s signal option must be an AbortSignal'));\n }\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 return ReadableStreamPipeTo(this, dest, preventClose, preventAbort, preventCancel, signal);\n };\n ReadableStream.prototype.tee = function () {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('tee');\n }\n var branches = ReadableStreamTee(this);\n return createArrayFromList(branches);\n };\n ReadableStream.prototype.getIterator = function (_a) {\n var _b = (_a === void 0 ? {} : _a).preventCancel, preventCancel = _b === void 0 ? false : _b;\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('getIterator');\n }\n return AcquireReadableStreamAsyncIterator(this, preventCancel);\n };\n return ReadableStream;\n}();\nif (typeof SymbolPolyfill.asyncIterator === 'symbol') {\n Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.asyncIterator, {\n value: ReadableStream.prototype.getIterator,\n enumerable: false,\n writable: true,\n configurable: true\n });\n}\nfunction CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\n if (highWaterMark === void 0) {\n highWaterMark = 1;\n }\n if (sizeAlgorithm === void 0) {\n sizeAlgorithm = function () {\n return 1;\n };\n }\n var stream = Object.create(ReadableStream.prototype);\n InitializeReadableStream(stream);\n var controller = Object.create(ReadableStreamDefaultController.prototype);\n SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\n return stream;\n}\nfunction InitializeReadableStream(stream) {\n stream._state = 'readable';\n stream._reader = undefined;\n stream._storedError = undefined;\n stream._disturbed = false;\n}\nfunction 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}\nfunction IsReadableStreamLocked(stream) {\n if (stream._reader === undefined) {\n return false;\n }\n return true;\n}\nfunction 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}\nfunction ReadableStreamClose(stream) {\n stream._state = 'closed';\n var reader = stream._reader;\n if (reader === undefined) {\n return;\n }\n if (IsReadableStreamDefaultReader(reader)) {\n reader._readRequests.forEach(function (readRequest) {\n readRequest._resolve(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));\n });\n reader._readRequests = new SimpleQueue();\n }\n defaultReaderClosedPromiseResolve(reader);\n}\nfunction ReadableStreamError(stream, e) {\n stream._state = 'errored';\n stream._storedError = e;\n var reader = stream._reader;\n if (reader === undefined) {\n return;\n }\n if (IsReadableStreamDefaultReader(reader)) {\n reader._readRequests.forEach(function (readRequest) {\n readRequest._reject(e);\n });\n reader._readRequests = new SimpleQueue();\n } else {\n reader._readIntoRequests.forEach(function (readIntoRequest) {\n readIntoRequest._reject(e);\n });\n reader._readIntoRequests = new SimpleQueue();\n }\n defaultReaderClosedPromiseReject(reader, e);\n}\nfunction isAbortSignal(value) {\n if (typeof value !== 'object' || value === null) {\n return false;\n }\n var aborted = Object.getOwnPropertyDescriptor(AbortSignal.prototype, 'aborted').get;\n try {\n aborted.call(value);\n return true;\n } catch (e) {\n return false;\n }\n}\nfunction streamBrandCheckException$1(name) {\n return new TypeError(\"ReadableStream.prototype.\" + name + \" can only be used on a ReadableStream\");\n}\nvar ByteLengthQueuingStrategy = function () {\n function ByteLengthQueuingStrategy(_a) {\n var highWaterMark = _a.highWaterMark;\n this.highWaterMark = highWaterMark;\n }\n ByteLengthQueuingStrategy.prototype.size = function (chunk) {\n return chunk.byteLength;\n };\n return ByteLengthQueuingStrategy;\n}();\nvar CountQueuingStrategy = function () {\n function CountQueuingStrategy(_a) {\n var highWaterMark = _a.highWaterMark;\n this.highWaterMark = highWaterMark;\n }\n CountQueuingStrategy.prototype.size = function () {\n return 1;\n };\n return CountQueuingStrategy;\n}();\nvar TransformStream = function () {\n function TransformStream(transformer, writableStrategy, readableStrategy) {\n if (transformer === void 0) {\n transformer = {};\n }\n if (writableStrategy === void 0) {\n writableStrategy = {};\n }\n if (readableStrategy === void 0) {\n readableStrategy = {};\n }\n var writableSizeFunction = writableStrategy.size;\n var writableHighWaterMark = writableStrategy.highWaterMark;\n var readableSizeFunction = readableStrategy.size;\n var readableHighWaterMark = readableStrategy.highWaterMark;\n var writableType = transformer.writableType;\n if (writableType !== undefined) {\n throw new RangeError('Invalid writable type specified');\n }\n var writableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(writableSizeFunction);\n if (writableHighWaterMark === undefined) {\n writableHighWaterMark = 1;\n }\n writableHighWaterMark = ValidateAndNormalizeHighWaterMark(writableHighWaterMark);\n var readableType = transformer.readableType;\n if (readableType !== undefined) {\n throw new RangeError('Invalid readable type specified');\n }\n var readableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(readableSizeFunction);\n if (readableHighWaterMark === undefined) {\n readableHighWaterMark = 0;\n }\n readableHighWaterMark = ValidateAndNormalizeHighWaterMark(readableHighWaterMark);\n var startPromise_resolve;\n var startPromise = new Promise(function (resolve) {\n startPromise_resolve = resolve;\n });\n InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\n SetUpTransformStreamDefaultControllerFromTransformer(this, transformer);\n var startResult = InvokeOrNoop(transformer, 'start', [this._transformStreamController]);\n startPromise_resolve(startResult);\n }\n Object.defineProperty(TransformStream.prototype, \"readable\", {\n get: function () {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException$2('readable');\n }\n return this._readable;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(TransformStream.prototype, \"writable\", {\n get: function () {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException$2('writable');\n }\n return this._writable;\n },\n enumerable: true,\n configurable: true\n });\n return TransformStream;\n}();\nfunction InitializeTransformStream(stream, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm) {\n function startAlgorithm() {\n return startPromise;\n }\n function writeAlgorithm(chunk) {\n return TransformStreamDefaultSinkWriteAlgorithm(stream, chunk);\n }\n function abortAlgorithm(reason) {\n return TransformStreamDefaultSinkAbortAlgorithm(stream, reason);\n }\n function closeAlgorithm() {\n return TransformStreamDefaultSinkCloseAlgorithm(stream);\n }\n stream._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, writableHighWaterMark, writableSizeAlgorithm);\n function pullAlgorithm() {\n return TransformStreamDefaultSourcePullAlgorithm(stream);\n }\n function cancelAlgorithm(reason) {\n TransformStreamErrorWritableAndUnblockWrite(stream, reason);\n return Promise.resolve();\n }\n stream._readable = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\n stream._backpressure = undefined;\n stream._backpressureChangePromise = undefined;\n stream._backpressureChangePromise_resolve = undefined;\n TransformStreamSetBackpressure(stream, true);\n stream._transformStreamController = undefined;\n}\nfunction 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}\nfunction TransformStreamError(stream, e) {\n ReadableStreamDefaultControllerError(stream._readable._readableStreamController, e);\n TransformStreamErrorWritableAndUnblockWrite(stream, e);\n}\nfunction TransformStreamErrorWritableAndUnblockWrite(stream, e) {\n TransformStreamDefaultControllerClearAlgorithms(stream._transformStreamController);\n WritableStreamDefaultControllerErrorIfNeeded(stream._writable._writableStreamController, e);\n if (stream._backpressure === true) {\n TransformStreamSetBackpressure(stream, false);\n }\n}\nfunction TransformStreamSetBackpressure(stream, backpressure) {\n if (stream._backpressureChangePromise !== undefined) {\n stream._backpressureChangePromise_resolve();\n }\n stream._backpressureChangePromise = new Promise(function (resolve) {\n stream._backpressureChangePromise_resolve = resolve;\n });\n stream._backpressure = backpressure;\n}\nvar TransformStreamDefaultController = function () {\n function TransformStreamDefaultController() {\n throw new TypeError('TransformStreamDefaultController instances cannot be created directly');\n }\n Object.defineProperty(TransformStreamDefaultController.prototype, \"desiredSize\", {\n get: function () {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('desiredSize');\n }\n var readableController = this._controlledTransformStream._readable._readableStreamController;\n return ReadableStreamDefaultControllerGetDesiredSize(readableController);\n },\n enumerable: true,\n configurable: true\n });\n TransformStreamDefaultController.prototype.enqueue = function (chunk) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('enqueue');\n }\n TransformStreamDefaultControllerEnqueue(this, chunk);\n };\n TransformStreamDefaultController.prototype.error = function (reason) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('error');\n }\n TransformStreamDefaultControllerError(this, reason);\n };\n TransformStreamDefaultController.prototype.terminate = function () {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('terminate');\n }\n TransformStreamDefaultControllerTerminate(this);\n };\n return TransformStreamDefaultController;\n}();\nfunction 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}\nfunction SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm) {\n controller._controlledTransformStream = stream;\n stream._transformStreamController = controller;\n controller._transformAlgorithm = transformAlgorithm;\n controller._flushAlgorithm = flushAlgorithm;\n}\nfunction SetUpTransformStreamDefaultControllerFromTransformer(stream, transformer) {\n var controller = Object.create(TransformStreamDefaultController.prototype);\n var transformAlgorithm = function (chunk) {\n try {\n TransformStreamDefaultControllerEnqueue(controller, chunk);\n return Promise.resolve();\n } catch (transformResultE) {\n return Promise.reject(transformResultE);\n }\n };\n var transformMethod = transformer.transform;\n if (transformMethod !== undefined) {\n if (typeof transformMethod !== 'function') {\n throw new TypeError('transform is not a method');\n }\n transformAlgorithm = function (chunk) {\n return PromiseCall(transformMethod, transformer, [\n chunk,\n controller\n ]);\n };\n }\n var flushAlgorithm = CreateAlgorithmFromUnderlyingMethod(transformer, 'flush', 0, [controller]);\n SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm);\n}\nfunction TransformStreamDefaultControllerClearAlgorithms(controller) {\n controller._transformAlgorithm = undefined;\n controller._flushAlgorithm = undefined;\n}\nfunction TransformStreamDefaultControllerEnqueue(controller, chunk) {\n var stream = controller._controlledTransformStream;\n var readableController = stream._readable._readableStreamController;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === false) {\n throw new TypeError('Readable side is not in a state that permits enqueue');\n }\n try {\n ReadableStreamDefaultControllerEnqueue(readableController, chunk);\n } catch (e) {\n TransformStreamErrorWritableAndUnblockWrite(stream, e);\n throw stream._readable._storedError;\n }\n var backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController);\n if (backpressure !== stream._backpressure) {\n TransformStreamSetBackpressure(stream, true);\n }\n}\nfunction TransformStreamDefaultControllerError(controller, e) {\n TransformStreamError(controller._controlledTransformStream, e);\n}\nfunction TransformStreamDefaultControllerPerformTransform(controller, chunk) {\n var transformPromise = controller._transformAlgorithm(chunk);\n return transformPromise.catch(function (r) {\n TransformStreamError(controller._controlledTransformStream, r);\n throw r;\n });\n}\nfunction TransformStreamDefaultControllerTerminate(controller) {\n var stream = controller._controlledTransformStream;\n var readableController = stream._readable._readableStreamController;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {\n ReadableStreamDefaultControllerClose(readableController);\n }\n var error = new TypeError('TransformStream terminated');\n TransformStreamErrorWritableAndUnblockWrite(stream, error);\n}\nfunction TransformStreamDefaultSinkWriteAlgorithm(stream, chunk) {\n var controller = stream._transformStreamController;\n if (stream._backpressure === true) {\n var backpressureChangePromise = stream._backpressureChangePromise;\n return backpressureChangePromise.then(function () {\n var writable = stream._writable;\n var state = writable._state;\n if (state === 'erroring') {\n throw writable._storedError;\n }\n return TransformStreamDefaultControllerPerformTransform(controller, chunk);\n });\n }\n return TransformStreamDefaultControllerPerformTransform(controller, chunk);\n}\nfunction TransformStreamDefaultSinkAbortAlgorithm(stream, reason) {\n TransformStreamError(stream, reason);\n return Promise.resolve();\n}\nfunction TransformStreamDefaultSinkCloseAlgorithm(stream) {\n var readable = stream._readable;\n var controller = stream._transformStreamController;\n var flushPromise = controller._flushAlgorithm();\n TransformStreamDefaultControllerClearAlgorithms(controller);\n return flushPromise.then(function () {\n if (readable._state === 'errored') {\n throw readable._storedError;\n }\n var readableController = readable._readableStreamController;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {\n ReadableStreamDefaultControllerClose(readableController);\n }\n }).catch(function (r) {\n TransformStreamError(stream, r);\n throw readable._storedError;\n });\n}\nfunction TransformStreamDefaultSourcePullAlgorithm(stream) {\n TransformStreamSetBackpressure(stream, false);\n return stream._backpressureChangePromise;\n}\nfunction defaultControllerBrandCheckException$1(name) {\n return new TypeError(\"TransformStreamDefaultController.prototype.\" + name + \" can only be used on a TransformStreamDefaultController\");\n}\nfunction streamBrandCheckException$2(name) {\n return new TypeError(\"TransformStream.prototype.\" + name + \" can only be used on a TransformStream\");\n}\n\n\n/***/ }),\n/* 179 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getDocument = getDocument;\nexports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory;\nexports.build = exports.version = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFWorker = exports.PDFDataRangeTransport = exports.LoopbackPort = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(180));\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _display_utils = __w_pdfjs_require__(183);\n\nvar _font_loader = __w_pdfjs_require__(184);\n\nvar _api_compatibility = __w_pdfjs_require__(185);\n\nvar _canvas = __w_pdfjs_require__(186);\n\nvar _global_scope = _interopRequireDefault(__w_pdfjs_require__(3));\n\nvar _worker_options = __w_pdfjs_require__(188);\n\nvar _message_handler = __w_pdfjs_require__(189);\n\nvar _metadata = __w_pdfjs_require__(190);\n\nvar _transport_stream = __w_pdfjs_require__(192);\n\nvar _webgl = __w_pdfjs_require__(193);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } 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\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar DEFAULT_RANGE_CHUNK_SIZE = 65536;\nvar RENDERING_CANCELLED_TIMEOUT = 100;\nvar isWorkerDisabled = false;\nvar fallbackWorkerSrc;\nvar fakeWorkerFilesLoader = null;\n{\n var useRequireEnsure = false;\n\n if (typeof window === 'undefined') {\n isWorkerDisabled = true;\n\n if (typeof require.ensure === 'undefined') {\n require.ensure = require('node-ensure');\n }\n\n useRequireEnsure = true;\n } else if (typeof require !== 'undefined' && typeof require.ensure === 'function') {\n useRequireEnsure = true;\n }\n\n if (typeof requirejs !== 'undefined' && requirejs.toUrl) {\n fallbackWorkerSrc = requirejs.toUrl('pdfjs-dist/build/pdf.worker.js');\n }\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;\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\n if (!fallbackWorkerSrc && (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) === 'object' && 'currentScript' in document) {\n var pdfjsFilePath = document.currentScript && document.currentScript.src;\n\n if (pdfjsFilePath) {\n fallbackWorkerSrc = pdfjsFilePath.replace(/(\\.(?:min\\.)?js)(\\?.*)?$/i, '.worker$1$2');\n }\n }\n}\nvar createPDFNetworkStream;\n\nfunction setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {\n createPDFNetworkStream = pdfNetworkStreamFactory;\n}\n\nfunction getDocument(src) {\n var task = new PDFDocumentLoadingTask();\n var source;\n\n if (typeof src === 'string') {\n source = {\n url: src\n };\n } else if ((0, _util.isArrayBuffer)(src)) {\n source = {\n data: src\n };\n } else if (src instanceof PDFDataRangeTransport) {\n source = {\n range: src\n };\n } else {\n if (_typeof(src) !== 'object') {\n throw new Error('Invalid parameter in getDocument, ' + 'need either Uint8Array, string or a parameter object');\n }\n\n if (!src.url && !src.data && !src.range) {\n throw new Error('Invalid parameter object: need either .data, .range or .url');\n }\n\n source = src;\n }\n\n var params = Object.create(null);\n var rangeTransport = null,\n worker = null;\n\n for (var key in source) {\n if (key === 'url' && typeof window !== 'undefined') {\n params[key] = new 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\n if (typeof pdfBytes === 'string') {\n params[key] = (0, _util.stringToBytes)(pdfBytes);\n } else if (_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\n continue;\n }\n\n params[key] = source[key];\n }\n\n params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;\n params.CMapReaderFactory = params.CMapReaderFactory || _display_utils.DOMCMapReaderFactory;\n params.ignoreErrors = params.stopAtErrors !== true;\n params.pdfBug = params.pdfBug === true;\n var NativeImageDecoderValues = Object.values(_util.NativeImageDecoding);\n\n if (params.nativeImageDecoderSupport === undefined || !NativeImageDecoderValues.includes(params.nativeImageDecoderSupport)) {\n params.nativeImageDecoderSupport = _api_compatibility.apiCompatibilityParams.nativeImageDecoderSupport || _util.NativeImageDecoding.DECODE;\n }\n\n if (!Number.isInteger(params.maxImageSize)) {\n params.maxImageSize = -1;\n }\n\n if (typeof params.isEvalSupported !== 'boolean') {\n params.isEvalSupported = true;\n }\n\n if (typeof params.disableFontFace !== 'boolean') {\n params.disableFontFace = _api_compatibility.apiCompatibilityParams.disableFontFace || false;\n }\n\n if (typeof params.disableRange !== 'boolean') {\n params.disableRange = false;\n }\n\n if (typeof params.disableStream !== 'boolean') {\n params.disableStream = false;\n }\n\n if (typeof params.disableAutoFetch !== 'boolean') {\n params.disableAutoFetch = false;\n }\n\n if (typeof params.disableCreateObjectURL !== 'boolean') {\n params.disableCreateObjectURL = _api_compatibility.apiCompatibilityParams.disableCreateObjectURL || false;\n }\n\n (0, _util.setVerbosityLevel)(params.verbosity);\n\n if (!worker) {\n var workerParams = {\n verbosity: params.verbosity,\n port: _worker_options.GlobalWorkerOptions.workerPort\n };\n worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams);\n task._worker = worker;\n }\n\n var docId = task.docId;\n worker.promise.then(function () {\n if (task.destroyed) {\n throw new Error('Loading aborted');\n }\n\n return _fetchDocument(worker, params, rangeTransport, docId).then(function (workerId) {\n if (task.destroyed) {\n throw new Error('Loading aborted');\n }\n\n var networkStream;\n\n if (rangeTransport) {\n networkStream = new _transport_stream.PDFDataTransportStream({\n length: params.length,\n initialData: params.initialData,\n progressiveDone: params.progressiveDone,\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\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}\n\nfunction _fetchDocument(worker, source, pdfDataRangeTransport, docId) {\n if (worker.destroyed) {\n return Promise.reject(new Error('Worker was destroyed'));\n }\n\n if (pdfDataRangeTransport) {\n source.length = pdfDataRangeTransport.length;\n source.initialData = pdfDataRangeTransport.initialData;\n source.progressiveDone = pdfDataRangeTransport.progressiveDone;\n }\n\n return worker.messageHandler.sendWithPromise('GetDocRequest', {\n docId: docId,\n apiVersion: '2.3.200',\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\n return workerId;\n });\n}\n\nvar PDFDocumentLoadingTask = function PDFDocumentLoadingTaskClosure() {\n var nextDocumentId = 0;\n\n var PDFDocumentLoadingTask =\n /*#__PURE__*/\n function () {\n function PDFDocumentLoadingTask() {\n _classCallCheck(this, PDFDocumentLoadingTask);\n\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\n _createClass(PDFDocumentLoadingTask, [{\n key: \"destroy\",\n value: 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\n if (_this._worker) {\n _this._worker.destroy();\n\n _this._worker = null;\n }\n });\n }\n }, {\n key: \"then\",\n value: function then(onFulfilled, onRejected) {\n (0, _display_utils.deprecated)('PDFDocumentLoadingTask.then method, ' + 'use the `promise` getter instead.');\n return this.promise.then.apply(this.promise, arguments);\n }\n }, {\n key: \"promise\",\n get: function get() {\n return this._capability.promise;\n }\n }]);\n\n return PDFDocumentLoadingTask;\n }();\n\n return PDFDocumentLoadingTask;\n}();\n\nvar PDFDataRangeTransport =\n/*#__PURE__*/\nfunction () {\n function PDFDataRangeTransport(length, initialData) {\n var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, PDFDataRangeTransport);\n\n this.length = length;\n this.initialData = initialData;\n this.progressiveDone = progressiveDone;\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._progressiveDoneListeners = [];\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: \"addProgressiveDoneListener\",\n value: function addProgressiveDoneListener(listener) {\n this._progressiveDoneListeners.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 listener(begin, chunk);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator[\"return\"] != null) {\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, total) {\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 listener(loaded, total);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2[\"return\"] != null) {\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 listener(chunk);\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3[\"return\"] != null) {\n _iterator3[\"return\"]();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n });\n }\n }, {\n key: \"onDataProgressiveDone\",\n value: function onDataProgressiveDone() {\n var _this4 = this;\n\n this._readyCapability.promise.then(function () {\n var _iteratorNormalCompletion4 = true;\n var _didIteratorError4 = false;\n var _iteratorError4 = undefined;\n\n try {\n for (var _iterator4 = _this4._progressiveDoneListeners[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var listener = _step4.value;\n listener();\n }\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4[\"return\"] != null) {\n _iterator4[\"return\"]();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\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\nexports.PDFDataRangeTransport = PDFDataRangeTransport;\n\nvar PDFDocumentProxy =\n/*#__PURE__*/\nfunction () {\n function PDFDocumentProxy(pdfInfo, transport) {\n _classCallCheck(this, PDFDocumentProxy);\n\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: \"getPageLayout\",\n value: function getPageLayout() {\n return this._transport.getPageLayout();\n }\n }, {\n key: \"getPageMode\",\n value: function getPageMode() {\n return this._transport.getPageMode();\n }\n }, {\n key: \"getViewerPreferences\",\n value: function getViewerPreferences() {\n return this._transport.getViewerPreferences();\n }\n }, {\n key: \"getOpenActionDestination\",\n value: function getOpenActionDestination() {\n return this._transport.getOpenActionDestination();\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 key: \"loadingTask\",\n get: function get() {\n return this._transport.loadingTask;\n }\n }]);\n\n return PDFDocumentProxy;\n}();\n\nexports.PDFDocumentProxy = PDFDocumentProxy;\n\nvar PDFPageProxy =\n/*#__PURE__*/\nfunction () {\n function PDFPageProxy(pageIndex, pageInfo, transport) {\n var pdfBug = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n _classCallCheck(this, PDFPageProxy);\n\n this.pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._transport = transport;\n this._stats = pdfBug ? new _display_utils.StatTimer() : _display_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\n _createClass(PDFPageProxy, [{\n key: \"getViewport\",\n value: function getViewport() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n scale = _ref.scale,\n _ref$rotation = _ref.rotation,\n rotation = _ref$rotation === void 0 ? this.rotate : _ref$rotation,\n _ref$dontFlip = _ref.dontFlip,\n dontFlip = _ref$dontFlip === void 0 ? false : _ref$dontFlip;\n\n if (arguments.length > 1 || typeof arguments[0] === 'number') {\n (0, _display_utils.deprecated)('getViewport is called with obsolete arguments.');\n scale = arguments[0];\n rotation = typeof arguments[1] === 'number' ? arguments[1] : this.rotate;\n dontFlip = typeof arguments[2] === 'boolean' ? arguments[2] : false;\n }\n\n return new _display_utils.PageViewport({\n viewBox: this.view,\n scale: scale,\n rotation: rotation,\n dontFlip: dontFlip\n });\n }\n }, {\n key: \"getAnnotations\",\n value: function getAnnotations() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref2$intent = _ref2.intent,\n intent = _ref2$intent === void 0 ? null : _ref2$intent;\n\n if (!this.annotationsPromise || this.annotationsIntent !== intent) {\n this.annotationsPromise = this._transport.getAnnotations(this.pageIndex, intent);\n this.annotationsIntent = intent;\n }\n\n return this.annotationsPromise;\n }\n }, {\n key: \"render\",\n value: function render(_ref3) {\n var _this5 = this;\n\n var canvasContext = _ref3.canvasContext,\n viewport = _ref3.viewport,\n _ref3$intent = _ref3.intent,\n intent = _ref3$intent === void 0 ? 'display' : _ref3$intent,\n _ref3$enableWebGL = _ref3.enableWebGL,\n enableWebGL = _ref3$enableWebGL === void 0 ? false : _ref3$enableWebGL,\n _ref3$renderInteracti = _ref3.renderInteractiveForms,\n renderInteractiveForms = _ref3$renderInteracti === void 0 ? false : _ref3$renderInteracti,\n _ref3$transform = _ref3.transform,\n transform = _ref3$transform === void 0 ? null : _ref3$transform,\n _ref3$imageLayer = _ref3.imageLayer,\n imageLayer = _ref3$imageLayer === void 0 ? null : _ref3$imageLayer,\n _ref3$canvasFactory = _ref3.canvasFactory,\n canvasFactory = _ref3$canvasFactory === void 0 ? null : _ref3$canvasFactory,\n _ref3$background = _ref3.background,\n background = _ref3$background === void 0 ? null : _ref3$background;\n var stats = this._stats;\n stats.time('Overall');\n var renderingIntent = intent === 'print' ? 'print' : 'display';\n this.pendingCleanup = false;\n\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n\n var intentState = this.intentStates[renderingIntent];\n\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n\n var canvasFactoryInstance = canvasFactory || new _display_utils.DOMCanvasFactory();\n var webGLContext = new _webgl.WebGLContext({\n enable: enableWebGL\n });\n\n if (!intentState.displayReadyCapability) {\n intentState.displayReadyCapability = (0, _util.createPromiseCapability)();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false\n };\n stats.time('Page Request');\n\n this._pumpOperatorList({\n pageIndex: this.pageNumber - 1,\n intent: renderingIntent,\n renderInteractiveForms: renderInteractiveForms === true\n });\n }\n\n var complete = function complete(error) {\n var i = intentState.renderTasks.indexOf(internalRenderTask);\n\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n\n if (_this5.cleanupAfterRender || renderingIntent === 'print') {\n _this5.pendingCleanup = true;\n }\n\n _this5._tryCleanup();\n\n if (error) {\n internalRenderTask.capability.reject(error);\n\n _this5._abortOperatorList({\n intentState: intentState,\n reason: error\n });\n } else {\n internalRenderTask.capability.resolve();\n }\n\n stats.timeEnd('Rendering');\n stats.timeEnd('Overall');\n };\n\n var internalRenderTask = new InternalRenderTask({\n callback: complete,\n params: {\n canvasContext: canvasContext,\n viewport: viewport,\n transform: transform,\n imageLayer: imageLayer,\n background: background\n },\n objs: this.objs,\n commonObjs: this.commonObjs,\n operatorList: intentState.operatorList,\n pageNumber: this.pageNumber,\n canvasFactory: canvasFactoryInstance,\n webGLContext: webGLContext,\n useRequestAnimationFrame: renderingIntent !== 'print',\n pdfBug: this._pdfBug\n });\n\n if (!intentState.renderTasks) {\n intentState.renderTasks = [];\n }\n\n intentState.renderTasks.push(internalRenderTask);\n var renderTask = internalRenderTask.task;\n intentState.displayReadyCapability.promise.then(function (transparency) {\n if (_this5.pendingCleanup) {\n complete();\n return;\n }\n\n stats.time('Rendering');\n internalRenderTask.initializeGraphics(transparency);\n internalRenderTask.operatorListChanged();\n })[\"catch\"](complete);\n return renderTask;\n }\n }, {\n key: \"getOperatorList\",\n value: function getOperatorList() {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n var i = intentState.renderTasks.indexOf(opListTask);\n\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n }\n }\n\n var renderingIntent = 'oplist';\n\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n\n var intentState = this.intentStates[renderingIntent];\n var opListTask;\n\n if (!intentState.opListReadCapability) {\n opListTask = {};\n opListTask.operatorListChanged = operatorListChanged;\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\n this._stats.time('Page Request');\n\n this._pumpOperatorList({\n pageIndex: this.pageIndex,\n intent: renderingIntent\n });\n }\n\n return intentState.opListReadCapability.promise;\n }\n }, {\n key: \"streamTextContent\",\n value: function streamTextContent() {\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref4$normalizeWhites = _ref4.normalizeWhitespace,\n normalizeWhitespace = _ref4$normalizeWhites === void 0 ? false : _ref4$normalizeWhites,\n _ref4$disableCombineT = _ref4.disableCombineTextItems,\n disableCombineTextItems = _ref4$disableCombineT === void 0 ? false : _ref4$disableCombineT;\n\n var TEXT_CONTENT_CHUNK_SIZE = 100;\n return this._transport.messageHandler.sendWithStream('GetTextContent', {\n pageIndex: this.pageNumber - 1,\n normalizeWhitespace: normalizeWhitespace === true,\n combineTextItems: disableCombineTextItems !== true\n }, {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n size: function size(textContent) {\n return textContent.items.length;\n }\n });\n }\n }, {\n key: \"getTextContent\",\n value: function getTextContent() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var readableStream = this.streamTextContent(params);\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function (_ref5) {\n var _textContent$items;\n\n var value = _ref5.value,\n done = _ref5.done;\n\n if (done) {\n resolve(textContent);\n return;\n }\n\n Object.assign(textContent.styles, value.styles);\n\n (_textContent$items = textContent.items).push.apply(_textContent$items, _toConsumableArray(value.items));\n\n pump();\n }, reject);\n }\n\n var reader = readableStream.getReader();\n var textContent = {\n items: [],\n styles: Object.create(null)\n };\n pump();\n });\n }\n }, {\n key: \"_destroy\",\n value: function _destroy() {\n var _this6 = this;\n\n this.destroyed = true;\n this._transport.pageCache[this.pageIndex] = null;\n var waitOn = [];\n Object.keys(this.intentStates).forEach(function (intent) {\n var intentState = _this6.intentStates[intent];\n\n _this6._abortOperatorList({\n intentState: intentState,\n reason: new Error('Page was destroyed.'),\n force: true\n });\n\n if (intent === 'oplist') {\n return;\n }\n\n intentState.renderTasks.forEach(function (renderTask) {\n var renderCompleted = renderTask.capability.promise[\"catch\"](function () {});\n waitOn.push(renderCompleted);\n renderTask.cancel();\n });\n });\n this.objs.clear();\n this.annotationsPromise = null;\n this.pendingCleanup = false;\n return Promise.all(waitOn);\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n this.pendingCleanup = true;\n\n this._tryCleanup(resetStats);\n }\n }, {\n key: \"_tryCleanup\",\n value: function _tryCleanup() {\n var _this7 = this;\n\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 = _this7.intentStates[intent];\n return intentState.renderTasks.length !== 0 || !intentState.operatorList.lastChunk;\n })) {\n return;\n }\n\n Object.keys(this.intentStates).forEach(function (intent) {\n delete _this7.intentStates[intent];\n });\n this.objs.clear();\n this.annotationsPromise = null;\n\n if (resetStats && this._stats instanceof _display_utils.StatTimer) {\n this._stats = new _display_utils.StatTimer();\n }\n\n this.pendingCleanup = false;\n }\n }, {\n key: \"_startRenderPage\",\n value: function _startRenderPage(transparency, intent) {\n var intentState = this.intentStates[intent];\n\n if (!intentState) {\n return;\n }\n\n this._stats.timeEnd('Page Request');\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.resolve(transparency);\n }\n }\n }, {\n key: \"_renderPageChunk\",\n value: function _renderPageChunk(operatorListChunk, intentState) {\n for (var 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\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n\n for (var _i = 0; _i < intentState.renderTasks.length; _i++) {\n intentState.renderTasks[_i].operatorListChanged();\n }\n\n if (operatorListChunk.lastChunk) {\n this._tryCleanup();\n }\n }\n }, {\n key: \"_pumpOperatorList\",\n value: function _pumpOperatorList(args) {\n var _this8 = this;\n\n (0, _util.assert)(args.intent, 'PDFPageProxy._pumpOperatorList: Expected \"intent\" argument.');\n\n var readableStream = this._transport.messageHandler.sendWithStream('GetOperatorList', args);\n\n var reader = readableStream.getReader();\n var intentState = this.intentStates[args.intent];\n intentState.streamReader = reader;\n\n var pump = function pump() {\n reader.read().then(function (_ref6) {\n var value = _ref6.value,\n done = _ref6.done;\n\n if (done) {\n intentState.streamReader = null;\n return;\n }\n\n if (_this8._transport.destroyed) {\n return;\n }\n\n _this8._renderPageChunk(value, intentState);\n\n pump();\n }, function (reason) {\n intentState.streamReader = null;\n\n if (_this8._transport.destroyed) {\n return;\n }\n\n if (intentState.operatorList) {\n intentState.operatorList.lastChunk = true;\n\n for (var i = 0; i < intentState.renderTasks.length; i++) {\n intentState.renderTasks[i].operatorListChanged();\n }\n\n _this8._tryCleanup();\n }\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(reason);\n } else if (intentState.opListReadCapability) {\n intentState.opListReadCapability.reject(reason);\n } else {\n throw reason;\n }\n });\n };\n\n pump();\n }\n }, {\n key: \"_abortOperatorList\",\n value: function _abortOperatorList(_ref7) {\n var _this9 = this;\n\n var intentState = _ref7.intentState,\n reason = _ref7.reason,\n _ref7$force = _ref7.force,\n force = _ref7$force === void 0 ? false : _ref7$force;\n (0, _util.assert)(reason instanceof Error, 'PDFPageProxy._abortOperatorList: Expected \"reason\" argument.');\n\n if (!intentState.streamReader) {\n return;\n }\n\n if (!force) {\n if (intentState.renderTasks.length !== 0) {\n return;\n }\n\n if (reason instanceof _display_utils.RenderingCancelledException) {\n intentState.streamReaderCancelTimeout = setTimeout(function () {\n _this9._abortOperatorList({\n intentState: intentState,\n reason: reason,\n force: true\n });\n\n intentState.streamReaderCancelTimeout = null;\n }, RENDERING_CANCELLED_TIMEOUT);\n return;\n }\n }\n\n intentState.streamReader.cancel(new _util.AbortException(reason && reason.message));\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return;\n }\n\n Object.keys(this.intentStates).some(function (intent) {\n if (_this9.intentStates[intent] === intentState) {\n delete _this9.intentStates[intent];\n return true;\n }\n\n return false;\n });\n this.cleanup();\n }\n }, {\n key: \"pageNumber\",\n get: function get() {\n return this.pageIndex + 1;\n }\n }, {\n key: \"rotate\",\n get: function get() {\n return this._pageInfo.rotate;\n }\n }, {\n key: \"ref\",\n get: function get() {\n return this._pageInfo.ref;\n }\n }, {\n key: \"userUnit\",\n get: function get() {\n return this._pageInfo.userUnit;\n }\n }, {\n key: \"view\",\n get: function get() {\n return this._pageInfo.view;\n }\n }, {\n key: \"stats\",\n get: function get() {\n return this._stats instanceof _display_utils.StatTimer ? this._stats : null;\n }\n }]);\n\n return PDFPageProxy;\n}();\n\nexports.PDFPageProxy = PDFPageProxy;\n\nvar LoopbackPort =\n/*#__PURE__*/\nfunction () {\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 _this10 = this;\n\n function cloneValue(value) {\n if (_typeof(value) !== 'object' || value === null) {\n return value;\n }\n\n if (cloned.has(value)) {\n return cloned.get(value);\n }\n\n var buffer, result;\n\n if ((buffer = value.buffer) && (0, _util.isArrayBuffer)(buffer)) {\n var transferable = transfers && transfers.includes(buffer);\n\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\n cloned.set(value, result);\n return result;\n }\n\n result = Array.isArray(value) ? [] : {};\n cloned.set(value, result);\n\n for (var i in value) {\n var desc = void 0,\n p = value;\n\n while (!(desc = Object.getOwnPropertyDescriptor(p, i))) {\n p = Object.getPrototypeOf(p);\n }\n\n if (typeof desc.value === 'undefined') {\n continue;\n }\n\n if (typeof desc.value === 'function') {\n if (value.hasOwnProperty && value.hasOwnProperty(i)) {\n throw new Error(\"LoopbackPort.postMessage - cannot clone: \".concat(value[i]));\n }\n\n continue;\n }\n\n result[i] = cloneValue(desc.value);\n }\n\n return result;\n }\n\n if (!this._defer) {\n this._listeners.forEach(function (listener) {\n listener.call(_this10, {\n data: obj\n });\n });\n\n return;\n }\n\n var cloned = new WeakMap();\n var e = {\n data: cloneValue(obj)\n };\n\n this._deferred.then(function () {\n _this10._listeners.forEach(function (listener) {\n listener.call(_this10, e);\n });\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\n this._listeners.splice(i, 1);\n }\n }, {\n key: \"terminate\",\n value: function terminate() {\n this._listeners.length = 0;\n }\n }]);\n\n return LoopbackPort;\n}();\n\nexports.LoopbackPort = LoopbackPort;\n\nvar PDFWorker = function PDFWorkerClosure() {\n var pdfWorkerPorts = new WeakMap();\n var nextFakeWorkerId = 0;\n var fakeWorkerFilesLoadedCapability;\n\n function _getWorkerSrc() {\n if (_worker_options.GlobalWorkerOptions.workerSrc) {\n return _worker_options.GlobalWorkerOptions.workerSrc;\n }\n\n if (typeof fallbackWorkerSrc !== 'undefined') {\n return fallbackWorkerSrc;\n }\n\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n function getMainThreadWorkerMessageHandler() {\n try {\n if (typeof window !== 'undefined') {\n return window.pdfjsWorker && window.pdfjsWorker.WorkerMessageHandler;\n }\n } catch (ex) {}\n\n return null;\n }\n\n function setupFakeWorkerGlobal() {\n if (fakeWorkerFilesLoadedCapability) {\n return fakeWorkerFilesLoadedCapability.promise;\n }\n\n fakeWorkerFilesLoadedCapability = (0, _util.createPromiseCapability)();\n var mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();\n\n if (mainWorkerMessageHandler) {\n fakeWorkerFilesLoadedCapability.resolve(mainWorkerMessageHandler);\n return fakeWorkerFilesLoadedCapability.promise;\n }\n\n var loader = fakeWorkerFilesLoader || function () {\n return (0, _display_utils.loadScript)(_getWorkerSrc()).then(function () {\n return window.pdfjsWorker.WorkerMessageHandler;\n });\n };\n\n loader().then(fakeWorkerFilesLoadedCapability.resolve, fakeWorkerFilesLoadedCapability.reject);\n return fakeWorkerFilesLoadedCapability.promise;\n }\n\n function createCDNWrapper(url) {\n var wrapper = 'importScripts(\\'' + url + '\\');';\n return URL.createObjectURL(new Blob([wrapper]));\n }\n\n var PDFWorker =\n /*#__PURE__*/\n function () {\n function PDFWorker() {\n var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref8$name = _ref8.name,\n name = _ref8$name === void 0 ? null : _ref8$name,\n _ref8$port = _ref8.port,\n port = _ref8$port === void 0 ? null : _ref8$port,\n _ref8$verbosity = _ref8.verbosity,\n verbosity = _ref8$verbosity === void 0 ? (0, _util.getVerbosityLevel)() : _ref8$verbosity;\n\n _classCallCheck(this, PDFWorker);\n\n if (port && pdfWorkerPorts.has(port)) {\n throw new Error('Cannot use more than one PDFWorker per port');\n }\n\n this.name = name;\n this.destroyed = false;\n this.postMessageTransfers = true;\n this.verbosity = verbosity;\n this._readyCapability = (0, _util.createPromiseCapability)();\n this._port = null;\n this._webWorker = null;\n this._messageHandler = null;\n\n if (port) {\n pdfWorkerPorts.set(port, this);\n\n this._initializeFromPort(port);\n\n return;\n }\n\n this._initialize();\n }\n\n _createClass(PDFWorker, [{\n key: \"_initializeFromPort\",\n value: function _initializeFromPort(port) {\n this._port = port;\n this._messageHandler = new _message_handler.MessageHandler('main', 'worker', port);\n\n this._messageHandler.on('ready', function () {});\n\n this._readyCapability.resolve();\n }\n }, {\n key: \"_initialize\",\n value: function _initialize() {\n var _this11 = this;\n\n if (typeof Worker !== 'undefined' && !isWorkerDisabled && !getMainThreadWorkerMessageHandler()) {\n var workerSrc = _getWorkerSrc();\n\n try {\n if (!(0, _util.isSameOrigin)(window.location.href, workerSrc)) {\n workerSrc = createCDNWrapper(new URL(workerSrc, window.location).href);\n }\n\n var worker = new Worker(workerSrc);\n var messageHandler = new _message_handler.MessageHandler('main', 'worker', worker);\n\n var terminateEarly = function terminateEarly() {\n worker.removeEventListener('error', onWorkerError);\n messageHandler.destroy();\n worker.terminate();\n\n if (_this11.destroyed) {\n _this11._readyCapability.reject(new Error('Worker was destroyed'));\n } else {\n _this11._setupFakeWorker();\n }\n };\n\n var onWorkerError = function onWorkerError() {\n if (!_this11._webWorker) {\n terminateEarly();\n }\n };\n\n worker.addEventListener('error', onWorkerError);\n messageHandler.on('test', function (data) {\n worker.removeEventListener('error', onWorkerError);\n\n if (_this11.destroyed) {\n terminateEarly();\n return;\n }\n\n if (data) {\n _this11._messageHandler = messageHandler;\n _this11._port = worker;\n _this11._webWorker = worker;\n\n if (!data.supportTransfers) {\n _this11.postMessageTransfers = false;\n }\n\n _this11._readyCapability.resolve();\n\n messageHandler.send('configure', {\n verbosity: _this11.verbosity\n });\n } else {\n _this11._setupFakeWorker();\n\n messageHandler.destroy();\n worker.terminate();\n }\n });\n messageHandler.on('ready', function (data) {\n worker.removeEventListener('error', onWorkerError);\n\n if (_this11.destroyed) {\n terminateEarly();\n return;\n }\n\n try {\n sendTest();\n } catch (e) {\n _this11._setupFakeWorker();\n }\n });\n\n var sendTest = function sendTest() {\n var testObj = new Uint8Array([_this11.postMessageTransfers ? 255 : 0]);\n\n try {\n messageHandler.send('test', testObj, [testObj.buffer]);\n } catch (ex) {\n (0, _util.warn)('Cannot use postMessage transfers.');\n testObj[0] = 0;\n messageHandler.send('test', testObj);\n }\n };\n\n sendTest();\n return;\n } catch (e) {\n (0, _util.info)('The worker has been disabled.');\n }\n }\n\n this._setupFakeWorker();\n }\n }, {\n key: \"_setupFakeWorker\",\n value: function _setupFakeWorker() {\n var _this12 = this;\n\n if (!isWorkerDisabled) {\n (0, _util.warn)('Setting up fake worker.');\n isWorkerDisabled = true;\n }\n\n setupFakeWorkerGlobal().then(function (WorkerMessageHandler) {\n if (_this12.destroyed) {\n _this12._readyCapability.reject(new Error('Worker was destroyed'));\n\n return;\n }\n\n var port = new LoopbackPort();\n _this12._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 _this12._messageHandler = messageHandler;\n\n _this12._readyCapability.resolve();\n })[\"catch\"](function (reason) {\n _this12._readyCapability.reject(new Error(\"Setting up fake worker failed: \\\"\".concat(reason.message, \"\\\".\")));\n });\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.destroyed = true;\n\n if (this._webWorker) {\n this._webWorker.terminate();\n\n this._webWorker = null;\n }\n\n pdfWorkerPorts[\"delete\"](this._port);\n this._port = null;\n\n if (this._messageHandler) {\n this._messageHandler.destroy();\n\n this._messageHandler = null;\n }\n }\n }, {\n key: \"promise\",\n get: function get() {\n return this._readyCapability.promise;\n }\n }, {\n key: \"port\",\n get: function get() {\n return this._port;\n }\n }, {\n key: \"messageHandler\",\n get: function get() {\n return this._messageHandler;\n }\n }], [{\n key: \"fromPort\",\n value: function fromPort(params) {\n if (!params || !params.port) {\n throw new Error('PDFWorker.fromPort - invalid method signature.');\n }\n\n if (pdfWorkerPorts.has(params.port)) {\n return pdfWorkerPorts.get(params.port);\n }\n\n return new PDFWorker(params);\n }\n }, {\n key: \"getWorkerSrc\",\n value: function getWorkerSrc() {\n return _getWorkerSrc();\n }\n }]);\n\n return PDFWorker;\n }();\n\n return PDFWorker;\n}();\n\nexports.PDFWorker = PDFWorker;\n\nvar WorkerTransport =\n/*#__PURE__*/\nfunction () {\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({\n docId: loadingTask.docId,\n onUnsupportedFeature: this._onUnsupportedFeature.bind(this)\n });\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 _this13 = this;\n\n if (this.destroyCapability) {\n return this.destroyCapability.promise;\n }\n\n this.destroyed = true;\n this.destroyCapability = (0, _util.createPromiseCapability)();\n\n if (this._passwordCapability) {\n this._passwordCapability.reject(new Error('Worker was destroyed during onPassword callback'));\n }\n\n var waitOn = [];\n this.pageCache.forEach(function (page) {\n if (page) {\n waitOn.push(page._destroy());\n }\n });\n this.pageCache.length = 0;\n this.pagePromises.length = 0;\n var terminated = this.messageHandler.sendWithPromise('Terminate', null);\n waitOn.push(terminated);\n Promise.all(waitOn).then(function () {\n _this13.fontLoader.clear();\n\n if (_this13._networkStream) {\n _this13._networkStream.cancelAllRequests(new _util.AbortException('Worker was terminated.'));\n }\n\n if (_this13.messageHandler) {\n _this13.messageHandler.destroy();\n\n _this13.messageHandler = null;\n }\n\n _this13.destroyCapability.resolve();\n }, this.destroyCapability.reject);\n return this.destroyCapability.promise;\n }\n }, {\n key: \"setupMessageHandler\",\n value: function setupMessageHandler() {\n var _this14 = this;\n\n var messageHandler = this.messageHandler,\n loadingTask = this.loadingTask;\n messageHandler.on('GetReader', function (data, sink) {\n (0, _util.assert)(_this14._networkStream);\n _this14._fullReader = _this14._networkStream.getFullReader();\n\n _this14._fullReader.onProgress = function (evt) {\n _this14._lastProgress = {\n loaded: evt.loaded,\n total: evt.total\n };\n };\n\n sink.onPull = function () {\n _this14._fullReader.read().then(function (_ref9) {\n var value = _ref9.value,\n done = _ref9.done;\n\n if (done) {\n sink.close();\n return;\n }\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\n sink.onCancel = function (reason) {\n _this14._fullReader.cancel(reason);\n };\n });\n messageHandler.on('ReaderHeadersReady', function (data) {\n var headersCapability = (0, _util.createPromiseCapability)();\n var fullReader = _this14._fullReader;\n fullReader.headersReady.then(function () {\n if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {\n if (_this14._lastProgress && loadingTask.onProgress) {\n loadingTask.onProgress(_this14._lastProgress);\n }\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\n headersCapability.resolve({\n isStreamingSupported: fullReader.isStreamingSupported,\n isRangeSupported: fullReader.isRangeSupported,\n contentLength: fullReader.contentLength\n });\n }, headersCapability.reject);\n return headersCapability.promise;\n });\n messageHandler.on('GetRangeReader', function (data, sink) {\n (0, _util.assert)(_this14._networkStream);\n\n var rangeReader = _this14._networkStream.getRangeReader(data.begin, data.end);\n\n if (!rangeReader) {\n sink.close();\n return;\n }\n\n sink.onPull = function () {\n rangeReader.read().then(function (_ref10) {\n var value = _ref10.value,\n done = _ref10.done;\n\n if (done) {\n sink.close();\n return;\n }\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\n sink.onCancel = function (reason) {\n rangeReader.cancel(reason);\n };\n });\n messageHandler.on('GetDoc', function (_ref11) {\n var pdfInfo = _ref11.pdfInfo;\n _this14._numPages = pdfInfo.numPages;\n\n loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, _this14));\n });\n messageHandler.on('PasswordRequest', function (exception) {\n _this14._passwordCapability = (0, _util.createPromiseCapability)();\n\n if (loadingTask.onPassword) {\n var updatePassword = function updatePassword(password) {\n _this14._passwordCapability.resolve({\n password: password\n });\n };\n\n try {\n loadingTask.onPassword(updatePassword, exception.code);\n } catch (ex) {\n _this14._passwordCapability.reject(ex);\n }\n } else {\n _this14._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));\n }\n\n return _this14._passwordCapability.promise;\n });\n messageHandler.on('PasswordException', function (exception) {\n loadingTask._capability.reject(new _util.PasswordException(exception.message, exception.code));\n });\n messageHandler.on('InvalidPDF', function (exception) {\n loadingTask._capability.reject(new _util.InvalidPDFException(exception.message));\n });\n messageHandler.on('MissingPDF', function (exception) {\n loadingTask._capability.reject(new _util.MissingPDFException(exception.message));\n });\n messageHandler.on('UnexpectedResponse', function (exception) {\n loadingTask._capability.reject(new _util.UnexpectedResponseException(exception.message, exception.status));\n });\n messageHandler.on('UnknownError', function (exception) {\n loadingTask._capability.reject(new _util.UnknownErrorException(exception.message, exception.details));\n });\n messageHandler.on('DataLoaded', function (data) {\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.length,\n total: data.length\n });\n }\n\n _this14.downloadInfoCapability.resolve(data);\n });\n messageHandler.on('StartRenderPage', function (data) {\n if (_this14.destroyed) {\n return;\n }\n\n var page = _this14.pageCache[data.pageIndex];\n\n page._startRenderPage(data.transparency, data.intent);\n });\n messageHandler.on('commonobj', function (data) {\n if (_this14.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 (_this14.commonObjs.has(id)) {\n return;\n }\n\n switch (type) {\n case 'Font':\n var params = _this14._params;\n\n if ('error' in exportedData) {\n var exportedError = exportedData.error;\n (0, _util.warn)(\"Error during font loading: \".concat(exportedError));\n\n _this14.commonObjs.resolve(id, exportedError);\n\n break;\n }\n\n var fontRegistry = null;\n\n if (params.pdfBug && _global_scope[\"default\"].FontInspector && _global_scope[\"default\"].FontInspector.enabled) {\n fontRegistry = {\n registerFont: function registerFont(font, url) {\n _global_scope[\"default\"]['FontInspector'].fontAdded(font, url);\n }\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: _this14._onUnsupportedFeature.bind(_this14),\n fontRegistry: fontRegistry\n });\n\n _this14.fontLoader.bind(font).then(function () {\n _this14.commonObjs.resolve(id, font);\n }, function (reason) {\n messageHandler.sendWithPromise('FontFallback', {\n id: id\n })[\"finally\"](function () {\n _this14.commonObjs.resolve(id, font);\n });\n });\n\n break;\n\n case 'FontPath':\n case 'FontType3Res':\n _this14.commonObjs.resolve(id, exportedData);\n\n break;\n\n default:\n throw new Error(\"Got unknown common object type \".concat(type));\n }\n });\n messageHandler.on('obj', function (data) {\n if (_this14.destroyed) {\n return undefined;\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 = _this14.pageCache[pageIndex];\n\n if (pageProxy.objs.has(id)) {\n return undefined;\n }\n\n switch (type) {\n case 'JpegStream':\n return new Promise(function (resolve, reject) {\n var img = new Image();\n\n img.onload = function () {\n resolve(img);\n };\n\n img.onerror = function () {\n reject(new Error('Error during JPEG image loading'));\n (0, _display_utils.releaseImageResources)(img);\n };\n\n img.src = imageData;\n }).then(function (img) {\n pageProxy.objs.resolve(id, img);\n });\n\n case 'Image':\n pageProxy.objs.resolve(id, imageData);\n var MAX_IMAGE_SIZE_TO_STORE = 8000000;\n\n if (imageData && 'data' in imageData && imageData.data.length > MAX_IMAGE_SIZE_TO_STORE) {\n pageProxy.cleanupAfterRender = true;\n }\n\n break;\n\n default:\n throw new Error(\"Got unknown object type \".concat(type));\n }\n\n return undefined;\n });\n messageHandler.on('DocProgress', function (data) {\n if (_this14.destroyed) {\n return;\n }\n\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.loaded,\n total: data.total\n });\n }\n });\n messageHandler.on('UnsupportedFeature', this._onUnsupportedFeature.bind(this));\n messageHandler.on('JpegDecode', function (data) {\n if (_this14.destroyed) {\n return Promise.reject(new Error('Worker was destroyed'));\n }\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\n return new Promise(function (resolve, reject) {\n var img = new Image();\n\n img.onload = function () {\n var width = img.width,\n 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\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 _i2 = 0, _j = 0; _i2 < rgbaLength; _i2 += 4, _j++) {\n buf[_j] = data[_i2];\n }\n }\n\n resolve({\n data: buf,\n width: width,\n height: height\n });\n (0, _display_utils.releaseImageResources)(img);\n tmpCanvas.width = 0;\n tmpCanvas.height = 0;\n tmpCanvas = null;\n tmpCtx = null;\n };\n\n img.onerror = function () {\n reject(new Error('JpegDecode failed to load image'));\n (0, _display_utils.releaseImageResources)(img);\n };\n\n img.src = imageUrl;\n });\n });\n messageHandler.on('FetchBuiltInCMap', function (data, sink) {\n if (_this14.destroyed) {\n sink.error(new Error('Worker was destroyed'));\n return;\n }\n\n var fetched = false;\n\n sink.onPull = function () {\n if (fetched) {\n sink.close();\n return;\n }\n\n fetched = true;\n\n _this14.CMapReaderFactory.fetch(data).then(function (builtInCMap) {\n sink.enqueue(builtInCMap, 1, [builtInCMap.cMapData.buffer]);\n })[\"catch\"](function (reason) {\n sink.error(reason);\n });\n };\n });\n }\n }, {\n key: \"_onUnsupportedFeature\",\n value: function _onUnsupportedFeature(_ref12) {\n var featureId = _ref12.featureId;\n\n if (this.destroyed) {\n return;\n }\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 _this15 = this;\n\n if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) {\n return Promise.reject(new Error('Invalid page request'));\n }\n\n var pageIndex = pageNumber - 1;\n\n if (pageIndex in this.pagePromises) {\n return this.pagePromises[pageIndex];\n }\n\n var promise = this.messageHandler.sendWithPromise('GetPage', {\n pageIndex: pageIndex\n }).then(function (pageInfo) {\n if (_this15.destroyed) {\n throw new Error('Transport destroyed');\n }\n\n var page = new PDFPageProxy(pageIndex, pageInfo, _this15, _this15._params.pdfBug);\n _this15.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', {\n ref: ref\n })[\"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\n return this.messageHandler.sendWithPromise('GetDestination', {\n id: id\n });\n }\n }, {\n key: \"getPageLabels\",\n value: function getPageLabels() {\n return this.messageHandler.sendWithPromise('GetPageLabels', null);\n }\n }, {\n key: \"getPageLayout\",\n value: function getPageLayout() {\n return this.messageHandler.sendWithPromise('GetPageLayout', null);\n }\n }, {\n key: \"getPageMode\",\n value: function getPageMode() {\n return this.messageHandler.sendWithPromise('GetPageMode', null);\n }\n }, {\n key: \"getViewerPreferences\",\n value: function getViewerPreferences() {\n return this.messageHandler.sendWithPromise('GetViewerPreferences', null);\n }\n }, {\n key: \"getOpenActionDestination\",\n value: function getOpenActionDestination() {\n return this.messageHandler.sendWithPromise('GetOpenActionDestination', 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 _this16 = 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: _this16._fullReader ? _this16._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 _this17 = this;\n\n this.messageHandler.sendWithPromise('Cleanup', null).then(function () {\n for (var i = 0, ii = _this17.pageCache.length; i < ii; i++) {\n var page = _this17.pageCache[i];\n\n if (page) {\n page.cleanup();\n }\n }\n\n _this17.commonObjs.clear();\n\n _this17.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 =\n/*#__PURE__*/\nfunction () {\n function PDFObjects() {\n _classCallCheck(this, PDFObjects);\n\n this._objs = Object.create(null);\n }\n\n _createClass(PDFObjects, [{\n key: \"_ensureObj\",\n value: function _ensureObj(objId) {\n if (this._objs[objId]) {\n return this._objs[objId];\n }\n\n return this._objs[objId] = {\n capability: (0, _util.createPromiseCapability)(),\n data: null,\n resolved: false\n };\n }\n }, {\n key: \"get\",\n value: function get(objId) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (callback) {\n this._ensureObj(objId).capability.promise.then(callback);\n\n return null;\n }\n\n var obj = this._objs[objId];\n\n if (!obj || !obj.resolved) {\n throw new Error(\"Requesting object that isn't resolved yet \".concat(objId, \".\"));\n }\n\n return obj.data;\n }\n }, {\n key: \"has\",\n value: function has(objId) {\n var obj = this._objs[objId];\n return obj ? obj.resolved : false;\n }\n }, {\n key: \"resolve\",\n value: function resolve(objId, data) {\n var obj = this._ensureObj(objId);\n\n obj.resolved = true;\n obj.data = data;\n obj.capability.resolve(data);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n for (var objId in this._objs) {\n var data = this._objs[objId].data;\n\n if (typeof Image !== 'undefined' && data instanceof Image) {\n (0, _display_utils.releaseImageResources)(data);\n }\n }\n\n this._objs = Object.create(null);\n }\n }]);\n\n return PDFObjects;\n}();\n\nvar RenderTask =\n/*#__PURE__*/\nfunction () {\n function RenderTask(internalRenderTask) {\n _classCallCheck(this, RenderTask);\n\n this._internalRenderTask = internalRenderTask;\n this.onContinue = null;\n }\n\n _createClass(RenderTask, [{\n key: \"cancel\",\n value: function cancel() {\n this._internalRenderTask.cancel();\n }\n }, {\n key: \"then\",\n value: function then(onFulfilled, onRejected) {\n (0, _display_utils.deprecated)('RenderTask.then method, use the `promise` getter instead.');\n return this.promise.then.apply(this.promise, arguments);\n }\n }, {\n key: \"promise\",\n get: function get() {\n return this._internalRenderTask.capability.promise;\n }\n }]);\n\n return RenderTask;\n}();\n\nvar InternalRenderTask = function InternalRenderTaskClosure() {\n var canvasInRendering = new WeakSet();\n\n var InternalRenderTask =\n /*#__PURE__*/\n function () {\n function InternalRenderTask(_ref13) {\n var callback = _ref13.callback,\n params = _ref13.params,\n objs = _ref13.objs,\n commonObjs = _ref13.commonObjs,\n operatorList = _ref13.operatorList,\n pageNumber = _ref13.pageNumber,\n canvasFactory = _ref13.canvasFactory,\n webGLContext = _ref13.webGLContext,\n _ref13$useRequestAnim = _ref13.useRequestAnimationFrame,\n useRequestAnimationFrame = _ref13$useRequestAnim === void 0 ? false : _ref13$useRequestAnim,\n _ref13$pdfBug = _ref13.pdfBug,\n pdfBug = _ref13$pdfBug === void 0 ? false : _ref13$pdfBug;\n\n _classCallCheck(this, InternalRenderTask);\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 = useRequestAnimationFrame === true && typeof window !== 'undefined';\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\n _createClass(InternalRenderTask, [{\n key: \"initializeGraphics\",\n value: function initializeGraphics() {\n var transparency = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (this.cancelled) {\n return;\n }\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\n canvasInRendering.add(this._canvas);\n }\n\n if (this._pdfBug && _global_scope[\"default\"].StepperManager && _global_scope[\"default\"].StepperManager.enabled) {\n this.stepper = _global_scope[\"default\"].StepperManager.create(this.pageNumber - 1);\n this.stepper.init(this.operatorList);\n this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();\n }\n\n var _this$params = this.params,\n canvasContext = _this$params.canvasContext,\n viewport = _this$params.viewport,\n transform = _this$params.transform,\n imageLayer = _this$params.imageLayer,\n background = _this$params.background;\n this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.webGLContext, imageLayer);\n this.gfx.beginDrawing({\n transform: transform,\n viewport: viewport,\n transparency: transparency,\n background: background\n });\n this.operatorListIdx = 0;\n this.graphicsReady = true;\n\n if (this.graphicsReadyCallback) {\n this.graphicsReadyCallback();\n }\n }\n }, {\n key: \"cancel\",\n value: function cancel() {\n var error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n this.running = false;\n this.cancelled = true;\n\n if (this.gfx) {\n this.gfx.endDrawing();\n }\n\n if (this._canvas) {\n canvasInRendering[\"delete\"](this._canvas);\n }\n\n this.callback(error || new _display_utils.RenderingCancelledException(\"Rendering cancelled, page \".concat(this.pageNumber), 'canvas'));\n }\n }, {\n key: \"operatorListChanged\",\n value: function operatorListChanged() {\n if (!this.graphicsReady) {\n if (!this.graphicsReadyCallback) {\n this.graphicsReadyCallback = this._continueBound;\n }\n\n return;\n }\n\n if (this.stepper) {\n this.stepper.updateOperatorList(this.operatorList);\n }\n\n if (this.running) {\n return;\n }\n\n this._continue();\n }\n }, {\n key: \"_continue\",\n value: function _continue() {\n this.running = true;\n\n if (this.cancelled) {\n return;\n }\n\n if (this.task.onContinue) {\n this.task.onContinue(this._scheduleNextBound);\n } else {\n this._scheduleNext();\n }\n }\n }, {\n key: \"_scheduleNext\",\n value: function _scheduleNext() {\n var _this18 = this;\n\n if (this._useRequestAnimationFrame) {\n window.requestAnimationFrame(function () {\n _this18._nextBound()[\"catch\"](_this18.cancel.bind(_this18));\n });\n } else {\n Promise.resolve().then(this._nextBound)[\"catch\"](this.cancel.bind(this));\n }\n }\n }, {\n key: \"_next\",\n value: function () {\n var _next2 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee() {\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!this.cancelled) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 2:\n this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper);\n\n if (this.operatorListIdx === this.operatorList.argsArray.length) {\n this.running = false;\n\n if (this.operatorList.lastChunk) {\n this.gfx.endDrawing();\n\n if (this._canvas) {\n canvasInRendering[\"delete\"](this._canvas);\n }\n\n this.callback();\n }\n }\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function _next() {\n return _next2.apply(this, arguments);\n }\n\n return _next;\n }()\n }]);\n\n return InternalRenderTask;\n }();\n\n return InternalRenderTask;\n}();\n\nvar version = '2.3.200';\nexports.version = version;\nvar build = '4ae3f9fc';\nexports.build = build;\n\n/***/ }),\n/* 180 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __w_pdfjs_require__(181);\n\n/***/ }),\n/* 181 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(module) {\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar runtime = function (exports) {\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\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\n exports.wrap = wrap;\n\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\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n var ContinueSentinel = {};\n\n function Generator() {}\n\n function GeneratorFunction() {}\n\n function GeneratorFunctionPrototype() {}\n\n var IteratorPrototype = {};\n\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n\n if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n IteratorPrototype = NativeIteratorPrototype;\n }\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\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\n exports.isGeneratorFunction = function (genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === \"GeneratorFunction\" : false;\n };\n\n exports.mark = function (genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n exports.awrap = function (arg) {\n return {\n __await: arg\n };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n\n if (value && _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\n return Promise.resolve(value).then(function (unwrapped) {\n result.value = unwrapped;\n resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n\n exports.AsyncIterator = AsyncIterator;\n\n exports.async = function (innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList));\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\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\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\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\n context.dispatchException(context.arg);\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n var record = tryCatch(innerFn, self, context);\n\n if (record.type === \"normal\") {\n state = context.done ? GenStateCompleted : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\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\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n\n if (method === undefined) {\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator[\"return\"]) {\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\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\n if (info.done) {\n context[delegate.resultName] = info.value;\n context.next = delegate.nextLoc;\n\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n } else {\n return info;\n }\n\n context.delegate = null;\n return ContinueSentinel;\n }\n\n defineIteratorMethods(Gp);\n Gp[toStringTagSymbol] = \"Generator\";\n\n Gp[iteratorSymbol] = function () {\n return this;\n };\n\n Gp.toString = function () {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function (object) {\n var keys = [];\n\n for (var key in object) {\n keys.push(key);\n }\n\n keys.reverse();\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\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\n next.value = undefined;\n next.done = true;\n return next;\n };\n\n return next.next = next;\n }\n }\n\n return {\n next: doneResult\n };\n }\n\n exports.values = values;\n\n function doneResult() {\n return {\n value: undefined,\n done: true\n };\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\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\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !!caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\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\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry && (type === \"break\" || type === \"continue\") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\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\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\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\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n\n return thrown;\n }\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\n if (this.method === \"next\") {\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n return exports;\n}(( false ? undefined : _typeof(module)) === \"object\" ? module.exports : {});\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n/* WEBPACK VAR INJECTION */}.call(this, __w_pdfjs_require__(182)(module)))\n\n/***/ }),\n/* 182 */\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\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\n return module;\n};\n\n/***/ }),\n/* 183 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addLinkAttributes = addLinkAttributes;\nexports.getFilenameFromUrl = getFilenameFromUrl;\nexports.isFetchSupported = isFetchSupported;\nexports.isValidFetchUrl = isValidFetchUrl;\nexports.loadScript = loadScript;\nexports.deprecated = deprecated;\nexports.releaseImageResources = releaseImageResources;\nexports.PDFDateString = exports.DummyStatTimer = exports.StatTimer = exports.DOMSVGFactory = exports.DOMCMapReaderFactory = exports.DOMCanvasFactory = exports.DEFAULT_LINK_REL = exports.LinkTarget = exports.RenderingCancelledException = exports.PageViewport = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(180));\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar DEFAULT_LINK_REL = 'noopener noreferrer nofollow';\nexports.DEFAULT_LINK_REL = DEFAULT_LINK_REL;\nvar SVG_NS = 'http://www.w3.org/2000/svg';\n\nvar DOMCanvasFactory =\n/*#__PURE__*/\nfunction () {\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\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\n if (width <= 0 || height <= 0) {\n throw new Error('Invalid canvas size');\n }\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\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\nexports.DOMCanvasFactory = DOMCanvasFactory;\n\nvar DOMCMapReaderFactory =\n/*#__PURE__*/\nfunction () {\n function DOMCMapReaderFactory(_ref) {\n var _ref$baseUrl = _ref.baseUrl,\n baseUrl = _ref$baseUrl === void 0 ? null : _ref$baseUrl,\n _ref$isCompressed = _ref.isCompressed,\n isCompressed = _ref$isCompressed === void 0 ? 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) {\n function fetch(_x) {\n return _fetch.apply(this, arguments);\n }\n\n fetch.toString = function () {\n return _fetch.toString();\n };\n\n return fetch;\n }(\n /*#__PURE__*/\n function () {\n var _ref3 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee2(_ref2) {\n var _this = this;\n\n var name, url, compressionType;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n name = _ref2.name;\n\n if (this.baseUrl) {\n _context2.next = 3;\n break;\n }\n\n throw new Error('The CMap \"baseUrl\" parameter must be specified, ensure that ' + 'the \"cMapUrl\" and \"cMapPacked\" API parameters are provided.');\n\n case 3:\n if (name) {\n _context2.next = 5;\n break;\n }\n\n throw new Error('CMap name must be specified.');\n\n case 5:\n url = this.baseUrl + name + (this.isCompressed ? '.bcmap' : '');\n compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE;\n\n if (!(isFetchSupported() && isValidFetchUrl(url, document.baseURI))) {\n _context2.next = 9;\n break;\n }\n\n return _context2.abrupt(\"return\", fetch(url).then(\n /*#__PURE__*/\n function () {\n var _ref4 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee(response) {\n var cMapData;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (response.ok) {\n _context.next = 2;\n break;\n }\n\n throw new Error(response.statusText);\n\n case 2:\n if (!_this.isCompressed) {\n _context.next = 10;\n break;\n }\n\n _context.t0 = Uint8Array;\n _context.next = 6;\n return response.arrayBuffer();\n\n case 6:\n _context.t1 = _context.sent;\n cMapData = new _context.t0(_context.t1);\n _context.next = 15;\n break;\n\n case 10:\n _context.t2 = _util.stringToBytes;\n _context.next = 13;\n return response.text();\n\n case 13:\n _context.t3 = _context.sent;\n cMapData = (0, _context.t2)(_context.t3);\n\n case 15:\n return _context.abrupt(\"return\", {\n cMapData: cMapData,\n compressionType: compressionType\n });\n\n case 16:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x3) {\n return _ref4.apply(this, arguments);\n };\n }())[\"catch\"](function (reason) {\n throw new Error(\"Unable to load \".concat(_this.isCompressed ? 'binary ' : '') + \"CMap at: \".concat(url));\n }));\n\n case 9:\n return _context2.abrupt(\"return\", new Promise(function (resolve, reject) {\n var request = new XMLHttpRequest();\n request.open('GET', url, true);\n\n if (_this.isCompressed) {\n request.responseType = 'arraybuffer';\n }\n\n request.onreadystatechange = function () {\n if (request.readyState !== XMLHttpRequest.DONE) {\n return;\n }\n\n if (request.status === 200 || request.status === 0) {\n var cMapData;\n\n if (_this.isCompressed && request.response) {\n cMapData = new Uint8Array(request.response);\n } else if (!_this.isCompressed && request.responseText) {\n cMapData = (0, _util.stringToBytes)(request.responseText);\n }\n\n if (cMapData) {\n resolve({\n cMapData: cMapData,\n compressionType: compressionType\n });\n return;\n }\n }\n\n reject(new Error(request.statusText));\n };\n\n request.send(null);\n })[\"catch\"](function (reason) {\n throw new Error(\"Unable to load \".concat(_this.isCompressed ? 'binary ' : '') + \"CMap at: \".concat(url));\n }));\n\n case 10:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n return function (_x2) {\n return _ref3.apply(this, arguments);\n };\n }())\n }]);\n\n return DOMCMapReaderFactory;\n}();\n\nexports.DOMCMapReaderFactory = DOMCMapReaderFactory;\n\nvar DOMSVGFactory =\n/*#__PURE__*/\nfunction () {\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\nexports.DOMSVGFactory = DOMSVGFactory;\n\nvar PageViewport =\n/*#__PURE__*/\nfunction () {\n function PageViewport(_ref5) {\n var viewBox = _ref5.viewBox,\n scale = _ref5.scale,\n rotation = _ref5.rotation,\n _ref5$offsetX = _ref5.offsetX,\n offsetX = _ref5$offsetX === void 0 ? 0 : _ref5$offsetX,\n _ref5$offsetY = _ref5.offsetY,\n offsetY = _ref5$offsetY === void 0 ? 0 : _ref5$offsetY,\n _ref5$dontFlip = _ref5.dontFlip,\n dontFlip = _ref5$dontFlip === void 0 ? false : _ref5$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, rotateB, rotateC, rotateD;\n rotation = rotation % 360;\n rotation = rotation < 0 ? rotation + 360 : rotation;\n\n switch (rotation) {\n case 180:\n rotateA = -1;\n rotateB = 0;\n rotateC = 0;\n rotateD = 1;\n break;\n\n case 90:\n rotateA = 0;\n rotateB = 1;\n rotateC = 1;\n rotateD = 0;\n break;\n\n case 270:\n rotateA = 0;\n rotateB = -1;\n rotateC = -1;\n rotateD = 0;\n break;\n\n default:\n rotateA = 1;\n rotateB = 0;\n rotateC = 0;\n rotateD = -1;\n break;\n }\n\n if (dontFlip) {\n rotateC = -rotateC;\n rotateD = -rotateD;\n }\n\n var offsetCanvasX, offsetCanvasY;\n var width, height;\n\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\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 _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref6$scale = _ref6.scale,\n scale = _ref6$scale === void 0 ? this.scale : _ref6$scale,\n _ref6$rotation = _ref6.rotation,\n rotation = _ref6$rotation === void 0 ? this.rotation : _ref6$rotation,\n _ref6$dontFlip = _ref6.dontFlip,\n dontFlip = _ref6$dontFlip === void 0 ? false : _ref6$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 topLeft = _util.Util.applyTransform([rect[0], rect[1]], this.transform);\n\n var bottomRight = _util.Util.applyTransform([rect[2], rect[3]], this.transform);\n\n return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[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\nexports.PageViewport = PageViewport;\n\nvar RenderingCancelledException =\n/*#__PURE__*/\nfunction (_BaseException) {\n _inherits(RenderingCancelledException, _BaseException);\n\n function RenderingCancelledException(msg, type) {\n var _this2;\n\n _classCallCheck(this, RenderingCancelledException);\n\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(RenderingCancelledException).call(this, msg));\n _this2.type = type;\n return _this2;\n }\n\n return RenderingCancelledException;\n}(_util.BaseException);\n\nexports.RenderingCancelledException = RenderingCancelledException;\nvar LinkTarget = {\n NONE: 0,\n SELF: 1,\n BLANK: 2,\n PARENT: 3,\n TOP: 4\n};\nexports.LinkTarget = LinkTarget;\nvar LinkTargetStringMap = ['', '_self', '_blank', '_parent', '_top'];\n\nfunction addLinkAttributes(link) {\n var _ref7 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n url = _ref7.url,\n target = _ref7.target,\n rel = _ref7.rel,\n _ref7$enabled = _ref7.enabled,\n enabled = _ref7$enabled === void 0 ? true : _ref7$enabled;\n\n (0, _util.assert)(url && typeof url === 'string', 'addLinkAttributes: A valid \"url\" parameter must provided.');\n var urlNullRemoved = (0, _util.removeNullCharacters)(url);\n\n if (enabled) {\n link.href = link.title = urlNullRemoved;\n } else {\n link.href = '';\n link.title = \"Disabled: \".concat(urlNullRemoved);\n\n link.onclick = function () {\n return false;\n };\n }\n\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 =\n/*#__PURE__*/\nfunction () {\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\n if (name in this.started) {\n (0, _util.warn)('Timer is already running for ' + name);\n }\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\n if (!(name in this.started)) {\n (0, _util.warn)('Timer has not been started for ' + name);\n }\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 out = '',\n longest = 0;\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this.times[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var time = _step.value;\n var name = time.name;\n\n if (name.length > longest) {\n longest = name.length;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator[\"return\"] != null) {\n _iterator[\"return\"]();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = this.times[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var _time = _step2.value;\n var duration = _time.end - _time.start;\n out += \"\".concat(_time.name.padEnd(longest), \" \").concat(duration, \"ms\\n\");\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2[\"return\"] != null) {\n _iterator2[\"return\"]();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n\n return out;\n }\n }]);\n\n return StatTimer;\n}();\n\nexports.StatTimer = StatTimer;\n\nvar DummyStatTimer =\n/*#__PURE__*/\nfunction () {\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\nexports.DummyStatTimer = DummyStatTimer;\n\nfunction isFetchSupported() {\n return typeof fetch !== 'undefined' && typeof Response !== 'undefined' && 'body' in Response.prototype && typeof ReadableStream !== 'undefined';\n}\n\nfunction isValidFetchUrl(url, baseUrl) {\n try {\n var _ref8 = baseUrl ? new URL(url, baseUrl) : new URL(url),\n protocol = _ref8.protocol;\n\n return protocol === 'http:' || protocol === 'https:';\n } catch (ex) {\n return false;\n }\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\n script.onerror = function () {\n reject(new Error(\"Cannot load script at: \".concat(script.src)));\n };\n\n (document.head || document.documentElement).appendChild(script);\n });\n}\n\nfunction deprecated(details) {\n console.log('Deprecated API usage: ' + details);\n}\n\nfunction releaseImageResources(img) {\n (0, _util.assert)(img instanceof Image, 'Invalid `img` parameter.');\n var url = img.src;\n\n if (typeof url === 'string' && url.startsWith('blob:') && URL.revokeObjectURL) {\n URL.revokeObjectURL(url);\n }\n\n img.removeAttribute('src');\n}\n\nvar pdfDateStringRegex;\n\nvar PDFDateString =\n/*#__PURE__*/\nfunction () {\n function PDFDateString() {\n _classCallCheck(this, PDFDateString);\n }\n\n _createClass(PDFDateString, null, [{\n key: \"toDateObject\",\n value: function toDateObject(input) {\n if (!input || !(0, _util.isString)(input)) {\n return null;\n }\n\n if (!pdfDateStringRegex) {\n pdfDateStringRegex = new RegExp('^D:' + '(\\\\d{4})' + '(\\\\d{2})?' + '(\\\\d{2})?' + '(\\\\d{2})?' + '(\\\\d{2})?' + '(\\\\d{2})?' + '([Z|+|-])?' + '(\\\\d{2})?' + '\\'?' + '(\\\\d{2})?' + '\\'?');\n }\n\n var matches = pdfDateStringRegex.exec(input);\n\n if (!matches) {\n return null;\n }\n\n var year = parseInt(matches[1], 10);\n var month = parseInt(matches[2], 10);\n month = month >= 1 && month <= 12 ? month - 1 : 0;\n var day = parseInt(matches[3], 10);\n day = day >= 1 && day <= 31 ? day : 1;\n var hour = parseInt(matches[4], 10);\n hour = hour >= 0 && hour <= 23 ? hour : 0;\n var minute = parseInt(matches[5], 10);\n minute = minute >= 0 && minute <= 59 ? minute : 0;\n var second = parseInt(matches[6], 10);\n second = second >= 0 && second <= 59 ? second : 0;\n var universalTimeRelation = matches[7] || 'Z';\n var offsetHour = parseInt(matches[8], 10);\n offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;\n var offsetMinute = parseInt(matches[9], 10) || 0;\n offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;\n\n if (universalTimeRelation === '-') {\n hour += offsetHour;\n minute += offsetMinute;\n } else if (universalTimeRelation === '+') {\n hour -= offsetHour;\n minute -= offsetMinute;\n }\n\n return new Date(Date.UTC(year, month, day, hour, minute, second));\n }\n }]);\n\n return PDFDateString;\n}();\n\nexports.PDFDateString = PDFDateString;\n\n/***/ }),\n/* 184 */\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 = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(180));\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar BaseFontLoader =\n/*#__PURE__*/\nfunction () {\n function BaseFontLoader(_ref) {\n var docId = _ref.docId,\n onUnsupportedFeature = _ref.onUnsupportedFeature;\n\n _classCallCheck(this, BaseFontLoader);\n\n if (this.constructor === BaseFontLoader) {\n (0, _util.unreachable)('Cannot initialize BaseFontLoader.');\n }\n\n this.docId = docId;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this.nativeFontFaces = [];\n this.styleElement = null;\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\n if (!styleElement) {\n styleElement = this.styleElement = document.createElement('style');\n styleElement.id = \"PDFJS_FONT_STYLE_TAG_\".concat(this.docId);\n document.documentElement.getElementsByTagName('head')[0].appendChild(styleElement);\n }\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\n if (this.styleElement) {\n this.styleElement.remove();\n this.styleElement = null;\n }\n }\n }, {\n key: \"bind\",\n value: function () {\n var _bind = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee(font) {\n var _this = this;\n\n var nativeFontFace, rule;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(font.attached || font.missingFile)) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\", undefined);\n\n case 2:\n font.attached = true;\n\n if (!this.isFontLoadingAPISupported) {\n _context.next = 19;\n break;\n }\n\n nativeFontFace = font.createNativeFontFace();\n\n if (!nativeFontFace) {\n _context.next = 18;\n break;\n }\n\n this.addNativeFontFace(nativeFontFace);\n _context.prev = 7;\n _context.next = 10;\n return nativeFontFace.loaded;\n\n case 10:\n _context.next = 18;\n break;\n\n case 12:\n _context.prev = 12;\n _context.t0 = _context[\"catch\"](7);\n\n this._onUnsupportedFeature({\n featureId: _util.UNSUPPORTED_FEATURES.font\n });\n\n (0, _util.warn)(\"Failed to load font '\".concat(nativeFontFace.family, \"': '\").concat(_context.t0, \"'.\"));\n font.disableFontFace = true;\n throw _context.t0;\n\n case 18:\n return _context.abrupt(\"return\", undefined);\n\n case 19:\n rule = font.createFontFaceRule();\n\n if (!rule) {\n _context.next = 25;\n break;\n }\n\n this.insertRule(rule);\n\n if (!this.isSyncFontLoadingSupported) {\n _context.next = 24;\n break;\n }\n\n return _context.abrupt(\"return\", undefined);\n\n case 24:\n return _context.abrupt(\"return\", new Promise(function (resolve) {\n var request = _this._queueLoadingCallback(resolve);\n\n _this._prepareFontLoadEvent([rule], [font], request);\n }));\n\n case 25:\n return _context.abrupt(\"return\", undefined);\n\n case 26:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this, [[7, 12]]);\n }));\n\n function bind(_x) {\n return _bind.apply(this, arguments);\n }\n\n return bind;\n }()\n }, {\n key: \"_queueLoadingCallback\",\n value: function _queueLoadingCallback(callback) {\n (0, _util.unreachable)('Abstract method `_queueLoadingCallback`.');\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;\nexports.FontLoader = FontLoader;\n{\n exports.FontLoader = FontLoader =\n /*#__PURE__*/\n function (_BaseFontLoader) {\n _inherits(GenericFontLoader, _BaseFontLoader);\n\n function GenericFontLoader(docId) {\n var _this2;\n\n _classCallCheck(this, GenericFontLoader);\n\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(GenericFontLoader).call(this, docId));\n _this2.loadingContext = {\n requests: [],\n nextRequestId: 0\n };\n _this2.loadTestFontId = 0;\n return _this2;\n }\n\n _createClass(GenericFontLoader, [{\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\n while (context.requests.length > 0 && context.requests[0].done) {\n var otherRequest = context.requests.shift();\n setTimeout(otherRequest.callback, 0);\n }\n }\n\n var context = this.loadingContext;\n var request = {\n id: \"pdfjs-font-loading-\".concat(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, 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\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\n var i, ii;\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\n function isFontReady(name, callback) {\n called++;\n\n if (called > 30) {\n (0, _util.warn)('Load test font never loaded.');\n callback();\n return;\n }\n\n ctx.font = '30px ' + name;\n ctx.fillText('.', 0, 20);\n var imageData = ctx.getImageData(0, 0, 1, 1);\n\n if (imageData.data[3] > 0) {\n callback();\n return;\n }\n\n setTimeout(isFontReady.bind(null, name, callback));\n }\n\n var loadTestFontId = \"lt\".concat(Date.now()).concat(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\n for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;\n }\n\n if (i < loadTestFontId.length) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId + 'XXX', i) | 0;\n }\n\n data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));\n var url = \"url(data:font/opentype;base64,\".concat(btoa(data), \");\");\n var rule = \"@font-face {font-family:\\\"\".concat(loadTestFontId, \"\\\";src:\").concat(url, \"}\");\n this.insertRule(rule);\n var names = [];\n\n for (i = 0, ii = fonts.length; i < ii; i++) {\n names.push(fonts[i].loadedName);\n }\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\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\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\n if (supported && typeof navigator !== 'undefined') {\n var m = /Mozilla\\/5.0.*?rv:(\\d+).*? Gecko/.exec(navigator.userAgent);\n\n if (m && m[1] < 63) {\n supported = false;\n }\n }\n\n return (0, _util.shadow)(this, 'isFontLoadingAPISupported', supported);\n }\n }, {\n key: \"isSyncFontLoadingSupported\",\n get: function get() {\n var supported = false;\n\n if (typeof navigator === 'undefined') {\n supported = true;\n } else {\n var m = /Mozilla\\/5.0.*?rv:(\\d+).*? Gecko/.exec(navigator.userAgent);\n\n if (m && m[1] >= 14) {\n supported = true;\n }\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\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};\n\nvar FontFaceObject =\n/*#__PURE__*/\nfunction () {\n function FontFaceObject(translatedData, _ref2) {\n var _ref2$isEvalSupported = _ref2.isEvalSupported,\n isEvalSupported = _ref2$isEvalSupported === void 0 ? true : _ref2$isEvalSupported,\n _ref2$disableFontFace = _ref2.disableFontFace,\n disableFontFace = _ref2$disableFontFace === void 0 ? false : _ref2$disableFontFace,\n _ref2$ignoreErrors = _ref2.ignoreErrors,\n ignoreErrors = _ref2$ignoreErrors === void 0 ? false : _ref2$ignoreErrors,\n _ref2$onUnsupportedFe = _ref2.onUnsupportedFeature,\n onUnsupportedFeature = _ref2$onUnsupportedFe === void 0 ? null : _ref2$onUnsupportedFe,\n _ref2$fontRegistry = _ref2.fontRegistry,\n fontRegistry = _ref2$fontRegistry === void 0 ? null : _ref2$fontRegistry;\n\n _classCallCheck(this, FontFaceObject);\n\n this.compiledGlyphs = Object.create(null);\n\n for (var i in translatedData) {\n this[i] = translatedData[i];\n }\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\n var nativeFontFace = new FontFace(this.loadedName, this.data, {});\n\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this);\n }\n\n return nativeFontFace;\n }\n }, {\n key: \"createFontFaceRule\",\n value: function createFontFaceRule() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n\n var data = (0, _util.bytesToString)(new Uint8Array(this.data));\n var url = \"url(data:\".concat(this.mimetype, \";base64,\").concat(btoa(data), \");\");\n var rule = \"@font-face {font-family:\\\"\".concat(this.loadedName, \"\\\";src:\").concat(url, \"}\");\n\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this, url);\n }\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\n var cmds, current;\n\n try {\n cmds = objs.get(this.loadedName + '_path_' + character);\n } catch (ex) {\n if (!this.ignoreErrors) {\n throw ex;\n }\n\n if (this._onUnsupportedFeature) {\n this._onUnsupportedFeature({\n featureId: _util.UNSUPPORTED_FEATURES.font\n });\n }\n\n (0, _util.warn)(\"getPathGenerator - ignoring character: \\\"\".concat(ex, \"\\\".\"));\n return this.compiledGlyphs[character] = function (c, size) {};\n }\n\n if (this.isEvalSupported && IsEvalSupportedCached.value) {\n var args,\n js = '';\n\n for (var i = 0, ii = cmds.length; i < ii; i++) {\n current = cmds[i];\n\n if (current.args !== undefined) {\n args = current.args.join(',');\n } else {\n args = '';\n }\n\n js += 'c.' + current.cmd + '(' + args + ');\\n';\n }\n\n return this.compiledGlyphs[character] = new Function('c', 'size', js);\n }\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\n if (current.cmd === 'scale') {\n current.args = [size, -size];\n }\n\n c[current.cmd].apply(c, current.args);\n }\n };\n }\n }]);\n\n return FontFaceObject;\n}();\n\nexports.FontFaceObject = FontFaceObject;\n\n/***/ }),\n/* 185 */\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\n var userAgent = typeof navigator !== 'undefined' && navigator.userAgent || '';\n var isIE = /Trident/.test(userAgent);\n var isIOSChrome = /CriOS/.test(userAgent);\n\n (function checkOnBlobSupport() {\n if (isIE || isIOSChrome) {\n compatibilityParams.disableCreateObjectURL = true;\n }\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/* 186 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CanvasGraphics = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _pattern_helper = __w_pdfjs_require__(187);\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\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\n ctx.save = function ctxSave() {\n var old = this._transformMatrix;\n\n this._transformStack.push(old);\n\n this._transformMatrix = old.slice(0, 6);\n\n this._originalSave();\n };\n\n ctx.restore = function ctxRestore() {\n var prev = this._transformStack.pop();\n\n if (prev) {\n this._transformMatrix = prev;\n\n this._originalRestore();\n }\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\n this._originalTranslate(x, y);\n };\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\n this._originalScale(x, y);\n };\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\n ctx._originalTransform(a, b, c, d, e, f);\n };\n\n ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {\n this._transformMatrix = [a, b, c, d, e, f];\n\n ctx._originalSetTransform(a, b, c, d, e, f);\n };\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\n this._originalRotate(angle);\n };\n }\n}\n\nvar CachedCanvases = function CachedCanvasesClosure() {\n function CachedCanvases(canvasFactory) {\n this.canvasFactory = canvasFactory;\n this.cache = Object.create(null);\n }\n\n CachedCanvases.prototype = {\n getCanvas: function CachedCanvases_getCanvas(id, width, height, trackTransform) {\n var canvasEntry;\n\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\n if (trackTransform) {\n addContextCurrentTransform(canvasEntry.context);\n }\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}();\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\n for (i = 0, ii = data0.length; i < ii; i++) {\n var mask = 128,\n elem = data0[i];\n\n while (mask > 0) {\n data[pos++] = elem & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n\n var count = 0;\n pos = 0;\n\n if (data[pos] !== 0) {\n points[0] = 1;\n ++count;\n }\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\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j] = 2;\n ++count;\n }\n\n for (i = 1; i < height; i++) {\n pos = i * lineSize;\n j0 = i * width1;\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0] = data[pos] ? 1 : 8;\n ++count;\n }\n\n var sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);\n\n for (j = 1; j < width; j++) {\n sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);\n\n if (POINT_TYPES[sum]) {\n points[j0 + j] = POINT_TYPES[sum];\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0 + j] = data[pos] ? 2 : 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n }\n\n pos = lineSize * (height - 1);\n j0 = i * width1;\n\n if (data[pos] !== 0) {\n points[j0] = 8;\n ++count;\n }\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\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j0 + j] = 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n\n var steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);\n var outlines = [];\n\n for (i = 0; count && i <= height; i++) {\n var p = i * width1;\n var end = p + width;\n\n while (p < end && !points[p]) {\n p++;\n }\n\n if (p === end) {\n continue;\n }\n\n var coords = [p % width1, i];\n var type = points[p],\n p0 = p,\n pp;\n\n do {\n var step = steps[type];\n\n do {\n p += step;\n } while (!points[p]);\n\n pp = points[p];\n\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\n coords.push(p % width1);\n coords.push(p / width1 | 0);\n\n if (!points[p]) {\n --count;\n }\n } while (p0 !== p);\n\n outlines.push(coords);\n --i;\n }\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\n for (var i = 0, ii = outlines.length; i < ii; i++) {\n var o = outlines[i];\n c.moveTo(o[0], o[1]);\n\n for (var j = 2, jj = o.length; j < jj; j += 2) {\n c.lineTo(o[j], o[j + 1]);\n }\n }\n\n c.fill();\n c.beginPath();\n c.restore();\n };\n\n return drawOutline;\n}\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\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}();\n\nvar CanvasGraphics = function CanvasGraphicsClosure() {\n var EXECUTION_TIME = 15;\n var EXECUTION_STEPS = 10;\n\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\n if (canvasCtx) {\n addContextCurrentTransform(canvasCtx);\n }\n\n this._cachedGetSinglePixelWidth = null;\n }\n\n function putBinaryImageData(ctx, imgData) {\n if (typeof ImageData !== 'undefined' && imgData instanceof ImageData) {\n ctx.putImageData(imgData, 0, 0);\n return;\n }\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\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\n for (i = 0; i < totalChunks; i++) {\n thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n destPos = 0;\n\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\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\n for (; k < kEnd; k++) {\n if (mask === 0) {\n srcByte = src[srcPos++];\n mask = 128;\n }\n\n dest32[destPos++] = srcByte & mask ? white : black;\n mask >>= 1;\n }\n }\n\n while (destPos < dest32DataLength) {\n dest32[destPos++] = 0;\n }\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\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\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\n for (i = 0; i < totalChunks; i++) {\n if (i >= fullChunks) {\n thisChunkHeight = partialChunkHeight;\n elemsInThisChunk = width * thisChunkHeight;\n }\n\n destPos = 0;\n\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\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else {\n throw new Error(\"bad image kind: \".concat(imgData.kind));\n }\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\n for (var i = 0; i < totalChunks; i++) {\n var thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n var destPos = 3;\n\n for (var j = 0; j < thisChunkHeight; j++) {\n var mask = 0;\n\n for (var k = 0; k < width; k++) {\n if (!mask) {\n var elem = src[srcPos++];\n mask = 128;\n }\n\n dest[destPos] = elem & mask ? 0 : 255;\n destPos += 4;\n mask >>= 1;\n }\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n }\n\n function copyCtxState(sourceCtx, destCtx) {\n var properties = ['strokeStyle', 'fillStyle', 'fillRule', 'globalAlpha', 'lineWidth', 'lineCap', 'lineJoin', 'miterLimit', 'globalCompositeOperation', 'font'];\n\n for (var i = 0, ii = properties.length; i < ii; i++) {\n var property = properties[i];\n\n if (sourceCtx[property] !== undefined) {\n destCtx[property] = sourceCtx[property];\n }\n }\n\n if (sourceCtx.setLineDash !== undefined) {\n destCtx.setLineDash(sourceCtx.getLineDash());\n destCtx.lineDashOffset = sourceCtx.lineDashOffset;\n }\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\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash([]);\n ctx.lineDashOffset = 0;\n }\n }\n\n function composeSMaskBackdrop(bytes, r0, g0, b0) {\n var length = bytes.length;\n\n for (var i = 3; i < length; i += 4) {\n var alpha = bytes[i];\n\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\n function composeSMaskAlpha(maskData, layerData, transferMap) {\n var length = maskData.length;\n var scale = 1 / 255;\n\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\n function composeSMaskLuminosity(maskData, layerData, transferMap) {\n var length = maskData.length;\n\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\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\n if (subtype === 'Luminosity') {\n composeFn = composeSMaskLuminosity;\n } else {\n composeFn = composeSMaskAlpha;\n }\n\n var PIXELS_TO_PROCESS = 1048576;\n var chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));\n\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\n if (hasBackdrop) {\n composeSMaskBackdrop(maskData.data, r0, g0, b0);\n }\n\n composeFn(maskData.data, layerData.data, transferMap);\n maskCtx.putImageData(layerData, 0, row);\n }\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\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\n genericComposeSMask(maskCtx, layerCtx, mask.width, mask.height, smask.subtype, backdrop, smask.transferMap);\n ctx.drawImage(mask, 0, 0);\n }\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 _ref$transparency = _ref.transparency,\n transparency = _ref$transparency === void 0 ? false : _ref$transparency,\n _ref$background = _ref.background,\n background = _ref$background === void 0 ? null : _ref$background;\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\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\n this.ctx.save();\n resetCtxToDefault(this.ctx);\n\n if (transform) {\n this.ctx.transform.apply(this.ctx, transform);\n }\n\n this.ctx.transform.apply(this.ctx, viewport.transform);\n this.baseTransform = this.ctx.mozCurrentTransform.slice();\n\n if (this.imageLayer) {\n this.imageLayer.beginLayout();\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\n if (argsArrayLen === i) {\n return i;\n }\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\n while (true) {\n if (stepper !== undefined && i === stepper.nextBreakPoint) {\n stepper.breakIt(i, continueCallback);\n return i;\n }\n\n fnId = fnArray[i];\n\n if (fnId !== _util.OPS.dependency) {\n this[fnId].apply(this, argsArray[i]);\n } else {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = argsArray[i][Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var depObjId = _step.value;\n var objsPool = depObjId.startsWith('g_') ? commonObjs : objs;\n\n if (!objsPool.has(depObjId)) {\n objsPool.get(depObjId, continueCallback);\n return i;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator[\"return\"] != null) {\n _iterator[\"return\"]();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n\n i++;\n\n if (i === argsArrayLen) {\n return i;\n }\n\n if (chunkOperations && ++steps > EXECUTION_STEPS) {\n if (Date.now() > endTime) {\n continueCallback();\n return i;\n }\n\n steps = 0;\n }\n }\n },\n endDrawing: function CanvasGraphics_endDrawing() {\n if (this.current.activeSMask !== null) {\n this.endSMaskGroup();\n }\n\n this.ctx.restore();\n\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\n this.cachedCanvases.clear();\n this.webGLContext.clear();\n\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\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash(dashArray);\n ctx.lineDashOffset = dashPhase;\n }\n },\n setRenderingIntent: function setRenderingIntent(intent) {},\n setFlatness: function 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\n switch (key) {\n case 'LW':\n this.setLineWidth(value);\n break;\n\n case 'LC':\n this.setLineCap(value);\n break;\n\n case 'LJ':\n this.setLineJoin(value);\n break;\n\n case 'ML':\n this.setMiterLimit(value);\n break;\n\n case 'D':\n this.setDash(value[0], value[1]);\n break;\n\n case 'RI':\n this.setRenderingIntent(value);\n break;\n\n case 'FL':\n this.setFlatness(value);\n break;\n\n case 'Font':\n this.setFont(value[0], value[1]);\n break;\n\n case 'CA':\n this.current.strokeAlpha = state[1];\n break;\n\n case 'ca':\n this.current.fillAlpha = state[1];\n this.ctx.globalAlpha = state[1];\n break;\n\n case 'BM':\n this.ctx.globalCompositeOperation = value;\n break;\n\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\n this.current.activeSMask = value ? this.tempSMask : null;\n\n if (this.current.activeSMask) {\n this.beginSMaskGroup();\n }\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\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n\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\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n\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\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\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\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\n if (width === 0) {\n width = this.getSinglePixelWidth();\n }\n\n if (height === 0) {\n height = this.getSinglePixelWidth();\n }\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\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n ctx.moveTo(x, y);\n break;\n\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n ctx.lineTo(x, y);\n break;\n\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\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\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\n case _util.OPS.closePath:\n ctx.closePath();\n break;\n }\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.globalAlpha = this.current.strokeAlpha;\n\n if (strokeColor && strokeColor.hasOwnProperty('type') && strokeColor.type === 'Pattern') {\n ctx.save();\n var transform = ctx.mozCurrentTransform;\n\n var scale = _util.Util.singularValueDecompose2dScale(transform)[0];\n\n ctx.strokeStyle = strokeColor.getPattern(ctx, this);\n ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth * scale);\n ctx.stroke();\n ctx.restore();\n } else {\n ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth);\n ctx.stroke();\n }\n\n if (consumePath) {\n this.consumePath();\n }\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\n if (isPatternFill) {\n ctx.save();\n\n if (this.baseTransform) {\n ctx.setTransform.apply(ctx, this.baseTransform);\n }\n\n ctx.fillStyle = fillColor.getPattern(ctx, this);\n needRestore = true;\n }\n\n if (this.pendingEOFill) {\n ctx.fill('evenodd');\n this.pendingEOFill = false;\n } else {\n ctx.fill();\n }\n\n if (needRestore) {\n ctx.restore();\n }\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\n if (paths === undefined) {\n ctx.beginPath();\n return;\n }\n\n ctx.save();\n ctx.beginPath();\n\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\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\n if (!fontObj) {\n throw new Error(\"Can't find font for \".concat(fontRefName));\n }\n\n current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n\n if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {\n (0, _util.warn)('Invalid font matrix for font ' + fontRefName);\n }\n\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n\n this.current.font = fontObj;\n this.current.fontSize = size;\n\n if (fontObj.isType3Font) {\n return;\n }\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 = \"\\\"\".concat(name, \"\\\", \").concat(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 this.ctx.font = \"\".concat(italic, \" \").concat(bold, \" \").concat(browserFontSize, \"px \").concat(typeface);\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\n if (font.disableFontFace || isAddToPathSet || patternFill) {\n addToPath = font.getPathGenerator(this.commonObjs, character);\n }\n\n if (font.disableFontFace || patternFill) {\n ctx.save();\n ctx.translate(x, y);\n ctx.beginPath();\n addToPath(ctx, fontSize);\n\n if (patternTransform) {\n ctx.setTransform.apply(ctx, patternTransform);\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fill();\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.stroke();\n }\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\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.strokeText(character, x, y);\n }\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 _this$cachedCanvases$ = this.cachedCanvases.getCanvas('isFontSubpixelAAEnabled', 10, 10),\n ctx = _this$cachedCanvases$.context;\n\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\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\n return (0, _util.shadow)(this, 'isFontSubpixelAAEnabled', enabled);\n },\n\n showText: function CanvasGraphics_showText(glyphs) {\n var current = this.current;\n var font = current.font;\n\n if (font.isType3Font) {\n return this.showType3Text(glyphs);\n }\n\n var fontSize = current.fontSize;\n\n if (fontSize === 0) {\n return undefined;\n }\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;\n\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\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y + current.textRise);\n\n if (fontDirection > 0) {\n ctx.scale(textHScale, -1);\n } else {\n ctx.scale(textHScale, 1);\n }\n\n var lineWidth = current.lineWidth;\n var scale = current.textMatrixScale;\n\n if (scale === 0 || lineWidth === 0) {\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\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\n if (fontSizeScale !== 1.0) {\n ctx.scale(fontSizeScale, fontSizeScale);\n lineWidth /= fontSizeScale;\n }\n\n ctx.lineWidth = lineWidth;\n var x = 0,\n i;\n\n for (i = 0; i < glyphsLength; ++i) {\n var glyph = glyphs[i];\n\n if ((0, _util.isNum)(glyph)) {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\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\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\n if (font.remeasure && width > 0) {\n var measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;\n\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\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\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\n var charWidth = width * widthAdvanceScale + spacing * fontDirection;\n x += charWidth;\n\n if (restoreNeeded) {\n ctx.restore();\n }\n }\n\n if (vertical) {\n current.y -= x * textHScale;\n } else {\n current.x += x * textHScale;\n }\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\n if (isTextInvisible || fontSize === 0) {\n return;\n }\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\n for (i = 0; i < glyphsLength; ++i) {\n glyph = glyphs[i];\n\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\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var operatorList = font.charProcOperatorList[glyph.operatorListId];\n\n if (!operatorList) {\n (0, _util.warn)(\"Type3 character \\\"\".concat(glyph.operatorListId, \"\\\" is not available.\"));\n continue;\n }\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\n var transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix);\n\n width = transformed[0] * fontSize + spacing;\n ctx.translate(width, 0);\n current.x += width * textHScale;\n }\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\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\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\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\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\n if (inv) {\n var canvas = ctx.canvas;\n var width = canvas.width;\n var height = canvas.height;\n\n var bl = _util.Util.applyTransform([0, 0], inv);\n\n var br = _util.Util.applyTransform([0, height], inv);\n\n var ul = _util.Util.applyTransform([width, 0], inv);\n\n var ur = _util.Util.applyTransform([width, height], inv);\n\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\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\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform.apply(this, matrix);\n }\n\n this.baseTransform = this.ctx.mozCurrentTransform;\n\n if (bbox) {\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\n if (!group.isolated) {\n (0, _util.info)('TODO: Support non-isolated groups.');\n }\n\n if (group.knockout) {\n (0, _util.warn)('Knockout groups not supported.');\n }\n\n var currentTransform = currentCtx.mozCurrentTransform;\n\n if (group.matrix) {\n currentCtx.transform.apply(currentCtx, group.matrix);\n }\n\n if (!group.bbox) {\n throw new Error('Bounding box is required.');\n }\n\n var bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, currentCtx.mozCurrentTransform);\n\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\n if (drawnWidth > MAX_GROUP_SIZE) {\n scaleX = drawnWidth / MAX_GROUP_SIZE;\n drawnWidth = MAX_GROUP_SIZE;\n }\n\n if (drawnHeight > MAX_GROUP_SIZE) {\n scaleY = drawnHeight / MAX_GROUP_SIZE;\n drawnHeight = MAX_GROUP_SIZE;\n }\n\n var cacheId = 'groupAt' + this.groupLevel;\n\n if (group.smask) {\n cacheId += '_smask_' + this.smaskCounter++ % 2;\n }\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\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\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\n if (this.ctx.imageSmoothingEnabled !== undefined) {\n this.ctx.imageSmoothingEnabled = false;\n } else {\n this.ctx.mozImageSmoothingEnabled = false;\n }\n\n if (group.smask) {\n this.tempSMask = this.smaskStack.pop();\n } else {\n this.ctx.drawImage(groupCtx.canvas, 0, 0);\n }\n\n this.restore();\n },\n beginAnnotations: function CanvasGraphics_beginAnnotations() {\n this.save();\n\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\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\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.processingType3 ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!domImage) {\n (0, _util.warn)('Dependent image isn\\'t ready yet');\n return;\n }\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\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\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\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\n if (glyph && glyph.compiled) {\n glyph.compiled(ctx);\n return;\n }\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\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\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.processingType3 ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)('Dependent image isn\\'t ready yet');\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n },\n paintImageXObjectRepeat: function CanvasGraphics_paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {\n var imgData = this.processingType3 ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)('Dependent image isn\\'t ready yet');\n return;\n }\n\n var width = imgData.width;\n var height = imgData.height;\n var map = [];\n\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\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\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\n var paintWidth = width,\n paintHeight = height;\n var tmpCanvasId = 'prescale1';\n\n while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {\n var newWidth = paintWidth,\n newHeight = paintHeight;\n\n if (widthScale > 2 && paintWidth > 1) {\n newWidth = Math.ceil(paintWidth / 2);\n widthScale /= paintWidth / newWidth;\n }\n\n if (heightScale > 2 && paintHeight > 1) {\n newHeight = Math.ceil(paintHeight / 2);\n heightScale /= paintHeight / newHeight;\n }\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\n ctx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, -height, width, height);\n\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\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\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\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\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\n if (this.pendingClip) {\n if (this.pendingClip === EO_CLIP) {\n ctx.clip('evenodd');\n } else {\n ctx.clip();\n }\n\n this.pendingClip = null;\n }\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\n return this._cachedGetSinglePixelWidth;\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\n for (var op in _util.OPS) {\n CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op];\n }\n\n return CanvasGraphics;\n}();\n\nexports.CanvasGraphics = CanvasGraphics;\n\n/***/ }),\n/* 187 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getShadingPatternFromIR = getShadingPatternFromIR;\nexports.TilingPattern = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar ShadingIRs = {};\n\nfunction applyBoundingBox(ctx, bbox) {\n if (!bbox || typeof Path2D === 'undefined') {\n return;\n }\n\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n var region = new Path2D();\n region.rect(bbox[0], bbox[1], width, height);\n ctx.clip(region);\n}\n\nShadingIRs.RadialAxial = {\n fromIR: function RadialAxial_fromIR(raw) {\n var type = raw[1];\n var bbox = raw[2];\n var colorStops = raw[3];\n var p0 = raw[4];\n var p1 = raw[5];\n var r0 = raw[6];\n var r1 = raw[7];\n return {\n type: 'Pattern',\n getPattern: function RadialAxial_getPattern(ctx) {\n applyBoundingBox(ctx, bbox);\n var grad;\n\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\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\n return grad;\n }\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\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\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\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\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\n if (y1 >= y3) {\n return;\n }\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\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\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\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\n function drawFigure(data, figure, context) {\n var ps = figure.coords;\n var cs = figure.colors;\n var i, ii;\n\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\n for (i = 0; i < rows; i++) {\n var q = i * verticesPerRow;\n\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\n break;\n\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\n break;\n\n default:\n throw new Error('illegal figure');\n }\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\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\n if (backgroundColor) {\n var bytes = data.data;\n\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\n for (i = 0; i < figures.length; i++) {\n drawFigure(data, figures[i], context);\n }\n\n tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);\n canvas = tmpCanvas.canvas;\n }\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\n return createMeshCanvas;\n}();\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 bbox = raw[7];\n var background = raw[8];\n return {\n type: 'Pattern',\n getPattern: function Mesh_getPattern(ctx, owner, shadingFill) {\n applyBoundingBox(ctx, bbox);\n var scale;\n\n if (shadingFill) {\n scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform);\n } else {\n scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);\n\n if (matrix) {\n var matrixScale = _util.Util.singularValueDecompose2dScale(matrix);\n\n scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];\n }\n }\n\n var temporaryPatternCanvas = createMeshCanvas(bounds, scale, coords, colors, figures, shadingFill ? null : background, owner.cachedCanvases, owner.webGLContext);\n\n if (!shadingFill) {\n ctx.setTransform.apply(ctx, owner.baseTransform);\n\n if (matrix) {\n ctx.transform.apply(ctx, matrix);\n }\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};\n\nfunction getShadingPatternFromIR(raw) {\n var shadingIR = ShadingIRs[raw[0]];\n\n if (!shadingIR) {\n throw new Error(\"Unknown IR type: \".concat(raw[0]));\n }\n\n return shadingIR.fromIR(raw);\n}\n\nvar TilingPattern = function TilingPatternClosure() {\n var PaintType = {\n COLORED: 1,\n UNCOLORED: 2\n };\n var MAX_PATTERN_SIZE = 3000;\n\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\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\n var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n\n var curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);\n\n var combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];\n var dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]);\n var dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]);\n var tmpCanvas = owner.cachedCanvases.getCanvas('pattern', dimx.size, dimy.size, true);\n var tmpCtx = tmpCanvas.context;\n var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);\n graphics.groupLevel = owner.groupLevel;\n this.setFillAndStrokeStyleToContext(graphics, paintType, color);\n graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0);\n graphics.transform(1, 0, 0, 1, -x0, -y0);\n this.clipBbox(graphics, bbox, x0, y0, x1, y1);\n graphics.executeOperatorList(operatorList);\n this.ctx.transform(1, 0, 0, 1, x0, y0);\n this.ctx.scale(1 / dimx.scale, 1 / dimy.scale);\n return tmpCanvas.canvas;\n },\n getSizeAndScale: function TilingPattern_getSizeAndScale(step, realOutputSize, scale) {\n step = Math.abs(step);\n var maxSize = Math.max(MAX_PATTERN_SIZE, realOutputSize);\n var size = Math.ceil(step * scale);\n\n if (size >= maxSize) {\n size = maxSize;\n } else {\n scale = size / step;\n }\n\n return {\n scale: scale,\n size: size\n };\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\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\n case PaintType.UNCOLORED:\n var cssColor = _util.Util.makeCssRgb(color[0], color[1], color[2]);\n\n context.fillStyle = cssColor;\n context.strokeStyle = cssColor;\n current.fillColor = cssColor;\n current.strokeColor = cssColor;\n break;\n\n default:\n throw new _util.FormatError(\"Unsupported paint type: \".concat(paintType));\n }\n },\n getPattern: function TilingPattern_getPattern(ctx, owner) {\n ctx = this.ctx;\n ctx.setTransform.apply(ctx, this.baseTransform);\n ctx.transform.apply(ctx, this.matrix);\n var temporaryPatternCanvas = this.createPatternCanvas(owner);\n return ctx.createPattern(temporaryPatternCanvas, 'repeat');\n }\n };\n return TilingPattern;\n}();\n\nexports.TilingPattern = TilingPattern;\n\n/***/ }),\n/* 188 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.GlobalWorkerOptions = void 0;\nvar GlobalWorkerOptions = Object.create(null);\nexports.GlobalWorkerOptions = GlobalWorkerOptions;\nGlobalWorkerOptions.workerPort = GlobalWorkerOptions.workerPort === undefined ? null : GlobalWorkerOptions.workerPort;\nGlobalWorkerOptions.workerSrc = GlobalWorkerOptions.workerSrc === undefined ? '' : GlobalWorkerOptions.workerSrc;\n\n/***/ }),\n/* 189 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MessageHandler = MessageHandler;\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar StreamKind = {\n UNKNOWN: 0,\n CANCEL: 1,\n CANCEL_COMPLETE: 2,\n CLOSE: 3,\n ENQUEUE: 4,\n ERROR: 5,\n PULL: 6,\n PULL_COMPLETE: 7,\n START_COMPLETE: 8\n};\n\nfunction wrapReason(reason) {\n if (_typeof(reason) !== 'object') {\n return reason;\n }\n\n switch (reason.name) {\n case 'AbortException':\n return new _util.AbortException(reason.message);\n\n case 'MissingPDFException':\n return new _util.MissingPDFException(reason.message);\n\n case 'UnexpectedResponseException':\n return new _util.UnexpectedResponseException(reason.message, reason.status);\n\n case 'UnknownErrorException':\n return new _util.UnknownErrorException(reason.message, reason.details);\n\n default:\n return new _util.UnknownErrorException(reason.message, reason.toString());\n }\n}\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\n this._onComObjOnMessage = function (event) {\n var data = event.data;\n\n if (data.targetName !== _this.sourceName) {\n return;\n }\n\n if (data.stream) {\n _this._processStreamMessage(data);\n } else if (data.isReply) {\n var callbackId = data.callbackId;\n\n if (data.callbackId in callbacksCapabilities) {\n var callback = callbacksCapabilities[callbackId];\n delete callbacksCapabilities[callbackId];\n\n if ('reason' in data) {\n callback.reject(wrapReason(data.reason));\n } else {\n callback.resolve(data.data);\n }\n } else {\n throw new Error(\"Cannot resolve callback \".concat(callbackId));\n }\n } else if (data.action in ah) {\n var action = ah[data.action];\n\n if (data.callbackId) {\n var _sourceName = _this.sourceName;\n var _targetName = data.sourceName;\n new Promise(function (resolve) {\n resolve(action(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 reason: wrapReason(reason)\n });\n });\n } else if (data.streamId) {\n _this._createStreamSink(data);\n } else {\n action(data.data);\n }\n } else {\n throw new Error(\"Unknown action from worker: \".concat(data.action));\n }\n };\n\n comObj.addEventListener('message', this._onComObjOnMessage);\n}\n\nMessageHandler.prototype = {\n on: function on(actionName, handler) {\n var ah = this.actionHandler;\n\n if (ah[actionName]) {\n throw new Error(\"There is already an actionName called \\\"\".concat(actionName, \"\\\"\"));\n }\n\n ah[actionName] = handler;\n },\n send: function send(actionName, data, transfers) {\n this.postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data: data\n }, transfers);\n },\n sendWithPromise: function sendWithPromise(actionName, data, transfers) {\n var callbackId = this.callbackId++;\n var capability = (0, _util.createPromiseCapability)();\n this.callbacksCapabilities[callbackId] = capability;\n\n try {\n this.postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n callbackId: callbackId,\n data: data\n }, transfers);\n } catch (ex) {\n capability.reject(ex);\n }\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 var comObj = this.comObj;\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 pullCall: null,\n cancelCall: null,\n isClosed: false\n };\n\n _this2.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n action: actionName,\n streamId: streamId,\n data: data,\n desiredSize: controller.desiredSize\n }, transfers);\n\n return startCapability.promise;\n },\n pull: function pull(controller) {\n var pullCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId].pullCall = pullCapability;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL,\n streamId: streamId,\n desiredSize: controller.desiredSize\n });\n return pullCapability.promise;\n },\n cancel: function cancel(reason) {\n (0, _util.assert)(reason instanceof Error, 'cancel must have a valid reason');\n var cancelCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId].cancelCall = cancelCapability;\n _this2.streamControllers[streamId].isClosed = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n return cancelCapability.promise;\n }\n }, queueingStrategy);\n },\n _createStreamSink: function _createStreamSink(data) {\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 comObj = this.comObj;\n var streamSink = {\n enqueue: function enqueue(chunk) {\n var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var transfers = arguments.length > 2 ? arguments[2] : undefined;\n\n if (this.isCancelled) {\n return;\n }\n\n var lastDesiredSize = this.desiredSize;\n this.desiredSize -= size;\n\n if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n this.sinkCapability = (0, _util.createPromiseCapability)();\n this.ready = this.sinkCapability.promise;\n }\n\n self.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.ENQUEUE,\n streamId: streamId,\n chunk: chunk\n }, transfers);\n },\n close: function close() {\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CLOSE,\n streamId: streamId\n });\n delete self.streamSinks[streamId];\n },\n error: function error(reason) {\n (0, _util.assert)(reason instanceof Error, 'error must have a valid reason');\n\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.ERROR,\n streamId: streamId,\n reason: wrapReason(reason)\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 new Promise(function (resolve) {\n resolve(action(data.data, streamSink));\n }).then(function () {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.START_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.START_COMPLETE,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n });\n },\n _processStreamMessage: function _processStreamMessage(data) {\n var _this3 = this;\n\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var streamId = data.streamId;\n var comObj = this.comObj;\n\n var deleteStreamController = function deleteStreamController() {\n Promise.all([_this3.streamControllers[streamId].startCall, _this3.streamControllers[streamId].pullCall, _this3.streamControllers[streamId].cancelCall].map(function (capability) {\n return capability && capability.promise[\"catch\"](function () {});\n })).then(function () {\n delete _this3.streamControllers[streamId];\n });\n };\n\n switch (data.stream) {\n case StreamKind.START_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].startCall.resolve();\n } else {\n this.streamControllers[streamId].startCall.reject(wrapReason(data.reason));\n }\n\n break;\n\n case StreamKind.PULL_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].pullCall.resolve();\n } else {\n this.streamControllers[streamId].pullCall.reject(wrapReason(data.reason));\n }\n\n break;\n\n case StreamKind.PULL:\n if (!this.streamSinks[streamId]) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n success: true\n });\n break;\n }\n\n if (this.streamSinks[streamId].desiredSize <= 0 && data.desiredSize > 0) {\n this.streamSinks[streamId].sinkCapability.resolve();\n }\n\n this.streamSinks[streamId].desiredSize = data.desiredSize;\n var onPull = this.streamSinks[data.streamId].onPull;\n new Promise(function (resolve) {\n resolve(onPull && onPull());\n }).then(function () {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n });\n break;\n\n case StreamKind.ENQUEUE:\n (0, _util.assert)(this.streamControllers[streamId], 'enqueue should have stream controller');\n\n if (this.streamControllers[streamId].isClosed) {\n break;\n }\n\n this.streamControllers[streamId].controller.enqueue(data.chunk);\n break;\n\n case StreamKind.CLOSE:\n (0, _util.assert)(this.streamControllers[streamId], 'close should have stream controller');\n\n if (this.streamControllers[streamId].isClosed) {\n break;\n }\n\n this.streamControllers[streamId].isClosed = true;\n this.streamControllers[streamId].controller.close();\n deleteStreamController();\n break;\n\n case StreamKind.ERROR:\n (0, _util.assert)(this.streamControllers[streamId], 'error should have stream controller');\n this.streamControllers[streamId].controller.error(wrapReason(data.reason));\n deleteStreamController();\n break;\n\n case StreamKind.CANCEL_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].cancelCall.resolve();\n } else {\n this.streamControllers[streamId].cancelCall.reject(wrapReason(data.reason));\n }\n\n deleteStreamController();\n break;\n\n case StreamKind.CANCEL:\n if (!this.streamSinks[streamId]) {\n break;\n }\n\n var onCancel = this.streamSinks[data.streamId].onCancel;\n new Promise(function (resolve) {\n resolve(onCancel && onCancel(wrapReason(data.reason)));\n }).then(function () {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n });\n this.streamSinks[streamId].sinkCapability.reject(wrapReason(data.reason));\n this.streamSinks[streamId].isCancelled = true;\n delete this.streamSinks[streamId];\n break;\n\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};\n\n/***/ }),\n/* 190 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Metadata = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _xml_parser = __w_pdfjs_require__(191);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar Metadata =\n/*#__PURE__*/\nfunction () {\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\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(/^([^<]+)/, '').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\n case 'apos':\n return '\\'';\n\n case 'gt':\n return '>';\n\n case 'lt':\n return '<';\n\n case 'quot':\n return '\\\"';\n }\n\n throw new Error(\"_repair: \".concat(name, \" isn't defined.\"));\n });\n var chars = '';\n\n for (var i = 0, ii = bytes.length; i < ii; i += 2) {\n var code = bytes.charCodeAt(i) * 256 + bytes.charCodeAt(i + 1);\n\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\n return '>' + chars;\n });\n }\n }, {\n key: \"_parse\",\n value: function _parse(xmlDocument) {\n var rdf = xmlDocument.documentElement;\n\n if (rdf.nodeName.toLowerCase() !== 'rdf:rdf') {\n rdf = rdf.firstChild;\n\n while (rdf && rdf.nodeName.toLowerCase() !== 'rdf:rdf') {\n rdf = rdf.nextSibling;\n }\n }\n\n var nodeName = rdf ? rdf.nodeName.toLowerCase() : null;\n\n if (!rdf || nodeName !== 'rdf:rdf' || !rdf.hasChildNodes()) {\n return;\n }\n\n var children = rdf.childNodes;\n\n for (var i = 0, ii = children.length; i < ii; i++) {\n var desc = children[i];\n\n if (desc.nodeName.toLowerCase() !== 'rdf:description') {\n continue;\n }\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 var data = this._metadata[name];\n return typeof data !== 'undefined' ? data : 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/* 191 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SimpleXMLParser = void 0;\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } 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\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\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};\n\nfunction isWhitespace(s, index) {\n var ch = s[index];\n return ch === ' ' || ch === '\\n' || ch === '\\r' || ch === '\\t';\n}\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\n return true;\n}\n\nvar XMLParserBase =\n/*#__PURE__*/\nfunction () {\n function XMLParserBase() {\n _classCallCheck(this, XMLParserBase);\n }\n\n _createClass(XMLParserBase, [{\n key: \"_resolveEntities\",\n value: function _resolveEntities(s) {\n var _this = this;\n\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\n switch (entity) {\n case 'lt':\n return '<';\n\n case 'gt':\n return '>';\n\n case 'amp':\n return '&';\n\n case 'quot':\n return '\\\"';\n }\n\n return _this.onResolveEntity(entity);\n });\n }\n }, {\n key: \"_parseContent\",\n value: function _parseContent(s, start) {\n var pos = start,\n name,\n attributes = [];\n\n function skipWs() {\n while (pos < s.length && isWhitespace(s, pos)) {\n ++pos;\n }\n }\n\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== '>' && s[pos] !== '/') {\n ++pos;\n }\n\n name = s.substring(start, pos);\n skipWs();\n\n while (pos < s.length && s[pos] !== '>' && s[pos] !== '/' && s[pos] !== '?') {\n skipWs();\n var attrName = '',\n attrValue = '';\n\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== '=') {\n attrName += s[pos];\n ++pos;\n }\n\n skipWs();\n\n if (s[pos] !== '=') {\n return null;\n }\n\n ++pos;\n skipWs();\n var attrEndChar = s[pos];\n\n if (attrEndChar !== '\\\"' && attrEndChar !== '\\'') {\n return null;\n }\n\n var attrEndIndex = s.indexOf(attrEndChar, ++pos);\n\n if (attrEndIndex < 0) {\n return null;\n }\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\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,\n value;\n\n function skipWs() {\n while (pos < s.length && isWhitespace(s, pos)) {\n ++pos;\n }\n }\n\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== '>' && s[pos] !== '/') {\n ++pos;\n }\n\n name = s.substring(start, pos);\n skipWs();\n var attrStart = pos;\n\n while (pos < s.length && (s[pos] !== '?' || s[pos + 1] !== '>')) {\n ++pos;\n }\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\n while (i < s.length) {\n var ch = s[i];\n var j = i;\n\n if (ch === '<') {\n ++j;\n var ch2 = s[j];\n var q = void 0;\n\n switch (ch2) {\n case '/':\n ++j;\n q = s.indexOf('>', j);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedElement);\n return;\n }\n\n this.onEndElement(s.substring(j, q));\n j = q + 1;\n break;\n\n case '?':\n ++j;\n\n var pi = this._parseProcessingInstruction(s, j);\n\n if (s.substring(j + pi.parsed, j + pi.parsed + 2) !== '?>') {\n this.onError(XMLParserErrorCode.UnterminatedXmlDeclaration);\n return;\n }\n\n this.onPi(pi.name, pi.value);\n j += pi.parsed + 2;\n break;\n\n case '!':\n if (s.substring(j + 1, j + 3) === '--') {\n q = s.indexOf('-->', j + 3);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedComment);\n return;\n }\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\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedCdat);\n return;\n }\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\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n return;\n }\n\n if (q2 > 0 && q > q2) {\n q = s.indexOf(']>', j + 8);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n return;\n }\n\n complexDoctype = true;\n }\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\n break;\n\n default:\n var content = this._parseContent(s, j);\n\n if (content === null) {\n this.onError(XMLParserErrorCode.MalformedElement);\n return;\n }\n\n var isClosed = false;\n\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\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\n var text = s.substring(i, j);\n this.onText(this._resolveEntities(text));\n }\n\n i = j;\n }\n }\n }, {\n key: \"onResolveEntity\",\n value: function onResolveEntity(name) {\n return \"&\".concat(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 =\n/*#__PURE__*/\nfunction () {\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 && this.childNodes[0];\n }\n }, {\n key: \"nextSibling\",\n get: function get() {\n var childNodes = this.parentNode.childNodes;\n\n if (!childNodes) {\n return undefined;\n }\n\n var index = childNodes.indexOf(this);\n\n if (index === -1) {\n return undefined;\n }\n\n return childNodes[index + 1];\n }\n }, {\n key: \"textContent\",\n get: function get() {\n if (!this.childNodes) {\n return this.nodeValue || '';\n }\n\n return this.childNodes.map(function (child) {\n return child.textContent;\n }).join('');\n }\n }]);\n\n return SimpleDOMNode;\n}();\n\nvar SimpleXMLParser =\n/*#__PURE__*/\nfunction (_XMLParserBase) {\n _inherits(SimpleXMLParser, _XMLParserBase);\n\n function SimpleXMLParser() {\n var _this2;\n\n _classCallCheck(this, SimpleXMLParser);\n\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(SimpleXMLParser).call(this));\n _this2._currentFragment = null;\n _this2._stack = null;\n _this2._errorCode = XMLParserErrorCode.NoError;\n return _this2;\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\n if (this._errorCode !== XMLParserErrorCode.NoError) {\n return undefined;\n }\n\n var _this$_currentFragmen = _slicedToArray(this._currentFragment, 1),\n documentElement = _this$_currentFragmen[0];\n\n if (!documentElement) {\n return undefined;\n }\n\n return {\n documentElement: documentElement\n };\n }\n }, {\n key: \"onResolveEntity\",\n value: function onResolveEntity(name) {\n switch (name) {\n case 'apos':\n return '\\'';\n }\n\n return _get(_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\n var node = new SimpleDOMNode('#text', text);\n\n this._currentFragment.push(node);\n }\n }, {\n key: \"onCdata\",\n value: function onCdata(text) {\n var node = new SimpleDOMNode('#text', text);\n\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\n this._currentFragment.push(node);\n\n if (isEmpty) {\n return;\n }\n\n this._stack.push(this._currentFragment);\n\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\n if (!lastElement) {\n return;\n }\n\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/* 192 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFDataTransportStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(180));\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar PDFDataTransportStream =\n/*#__PURE__*/\nfunction () {\n function PDFDataTransportStream(params, pdfDataRangeTransport) {\n var _this = this;\n\n _classCallCheck(this, PDFDataTransportStream);\n\n (0, _util.assert)(pdfDataRangeTransport);\n this._queuedChunks = [];\n this._progressiveDone = params.progressiveDone || false;\n var initialData = params.initialData;\n\n if (initialData && initialData.length > 0) {\n var buffer = new Uint8Array(initialData).buffer;\n\n this._queuedChunks.push(buffer);\n }\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\n this._pdfDataRangeTransport.addRangeListener(function (begin, chunk) {\n _this._onReceiveData({\n begin: begin,\n chunk: chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressListener(function (loaded, total) {\n _this._onProgress({\n loaded: loaded,\n total: total\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveReadListener(function (chunk) {\n _this._onReceiveData({\n chunk: chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveDoneListener(function () {\n _this._onProgressiveDone();\n });\n\n this._pdfDataRangeTransport.transportReady();\n }\n\n _createClass(PDFDataTransportStream, [{\n key: \"_onReceiveData\",\n value: function _onReceiveData(args) {\n var buffer = new Uint8Array(args.chunk).buffer;\n\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\n rangeReader._enqueue(buffer);\n\n return true;\n });\n\n (0, _util.assert)(found);\n }\n }\n }, {\n key: \"_onProgress\",\n value: function _onProgress(evt) {\n if (evt.total === undefined) {\n var firstReader = this._rangeReaders[0];\n\n if (firstReader && firstReader.onProgress) {\n firstReader.onProgress({\n loaded: evt.loaded\n });\n }\n } else {\n var fullReader = this._fullRequestReader;\n\n if (fullReader && fullReader.onProgress) {\n fullReader.onProgress({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n }\n }\n }, {\n key: \"_onProgressiveDone\",\n value: function _onProgressiveDone() {\n if (this._fullRequestReader) {\n this._fullRequestReader.progressiveDone();\n }\n\n this._progressiveDone = true;\n }\n }, {\n key: \"_removeRangeReader\",\n value: function _removeRangeReader(reader) {\n var i = this._rangeReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeReaders.splice(i, 1);\n }\n }\n }, {\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n var queuedChunks = this._queuedChunks;\n this._queuedChunks = null;\n return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone);\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n var reader = new PDFDataTransportStreamRangeReader(this, begin, end);\n\n this._pdfDataRangeTransport.requestDataRange(begin, end);\n\n this._rangeReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeReaders.slice(0);\n\n readers.forEach(function (rangeReader) {\n rangeReader.cancel(reason);\n });\n\n this._pdfDataRangeTransport.abort();\n }\n }, {\n key: \"_progressiveDataLength\",\n get: function get() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n }]);\n\n return PDFDataTransportStream;\n}();\n\nexports.PDFDataTransportStream = PDFDataTransportStream;\n\nvar PDFDataTransportStreamReader =\n/*#__PURE__*/\nfunction () {\n function PDFDataTransportStreamReader(stream, queuedChunks) {\n var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, PDFDataTransportStreamReader);\n\n this._stream = stream;\n this._done = progressiveDone || false;\n this._filename = null;\n this._queuedChunks = queuedChunks || [];\n this._loaded = 0;\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this._queuedChunks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var chunk = _step.value;\n this._loaded += chunk.byteLength;\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator[\"return\"] != null) {\n _iterator[\"return\"]();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n this._requests = [];\n this._headersReady = Promise.resolve();\n stream._fullRequestReader = this;\n this.onProgress = null;\n }\n\n _createClass(PDFDataTransportStreamReader, [{\n key: \"_enqueue\",\n value: function _enqueue(chunk) {\n if (this._done) {\n return;\n }\n\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunks.push(chunk);\n }\n\n this._loaded += chunk.byteLength;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee() {\n var chunk, requestCapability;\n return _regenerator[\"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\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 _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n }, {\n key: \"progressiveDone\",\n value: function progressiveDone() {\n if (this._done) {\n return;\n }\n\n this._done = true;\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersReady;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._stream._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._stream._isStreamingSupported;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._stream._contentLength;\n }\n }]);\n\n return PDFDataTransportStreamReader;\n}();\n\nvar PDFDataTransportStreamRangeReader =\n/*#__PURE__*/\nfunction () {\n function PDFDataTransportStreamRangeReader(stream, begin, end) {\n _classCallCheck(this, PDFDataTransportStreamRangeReader);\n\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\n _createClass(PDFDataTransportStreamRangeReader, [{\n key: \"_enqueue\",\n value: function _enqueue(chunk) {\n if (this._done) {\n return;\n }\n\n if (this._requests.length === 0) {\n this._queuedChunk = chunk;\n } else {\n var requestsCapability = this._requests.shift();\n\n requestsCapability.resolve({\n value: chunk,\n done: false\n });\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n\n this._done = true;\n\n this._stream._removeRangeReader(this);\n }\n }, {\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee2() {\n var chunk, requestCapability;\n return _regenerator[\"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 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\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 _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n this._stream._removeRangeReader(this);\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return false;\n }\n }]);\n\n return PDFDataTransportStreamRangeReader;\n}();\n\n/***/ }),\n/* 193 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.WebGLContext = void 0;\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\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar WebGLContext =\n/*#__PURE__*/\nfunction () {\n function WebGLContext(_ref) {\n var _ref$enable = _ref.enable,\n enable = _ref$enable === void 0 ? 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 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 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\n if (enabled) {\n enabled = WebGLUtils.tryInitGL();\n }\n\n return (0, _util.shadow)(this, 'isEnabled', enabled);\n }\n }]);\n\n return WebGLContext;\n}();\n\nexports.WebGLContext = WebGLContext;\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\n if (!compiled) {\n var errorMsg = gl.getShaderInfoLog(shader);\n throw new Error('Error during shader compilation: ' + errorMsg);\n }\n\n return shader;\n }\n\n function createVertexShader(gl, code) {\n return loadShader(gl, code, gl.VERTEX_SHADER);\n }\n\n function createFragmentShader(gl, code) {\n return loadShader(gl, code, gl.FRAGMENT_SHADER);\n }\n\n function createProgram(gl, shaders) {\n var program = gl.createProgram();\n\n for (var i = 0, ii = shaders.length; i < ii; ++i) {\n gl.attachShader(program, shaders[i]);\n }\n\n gl.linkProgram(program);\n var linked = gl.getProgramParameter(program, gl.LINK_STATUS);\n\n if (!linked) {\n var errorMsg = gl.getProgramInfoLog(program);\n throw new Error('Error during program linking: ' + errorMsg);\n }\n\n return program;\n }\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\n var currentGL, currentCanvas;\n\n function generateGL() {\n if (currentGL) {\n return;\n }\n\n currentCanvas = document.createElement('canvas');\n currentGL = currentCanvas.getContext('webgl', {\n premultipliedalpha: false\n });\n }\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\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\n function composeSMask(layer, mask, properties) {\n var width = layer.width,\n height = layer.height;\n\n if (!smaskCache) {\n initSmaskGL();\n }\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\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\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\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\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\n function drawFigures(width, height, backgroundColor, figures, context) {\n if (!figuresCache) {\n initFiguresGL();\n }\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\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\n case 'triangles':\n count += figures[i].coords.length;\n break;\n }\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\n for (i = 0, ii = figures.length; i < ii; i++) {\n var figure = figures[i],\n ps = figure.coords,\n cs = figure.colors;\n\n switch (figure.type) {\n case 'lattice':\n var cols = figure.verticesPerRow;\n rows = ps.length / cols | 0;\n\n for (var row = 1; row < rows; row++) {\n var offset = row * cols + 1;\n\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\n break;\n\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\n break;\n }\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\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\n return {\n tryInitGL: function tryInitGL() {\n try {\n generateGL();\n return !!currentGL;\n } catch (ex) {}\n\n return false;\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\n if (figuresCache && figuresCache.canvas) {\n figuresCache.canvas.width = 0;\n figuresCache.canvas.height = 0;\n }\n\n smaskCache = null;\n figuresCache = null;\n }\n };\n}();\n\n/***/ }),\n/* 194 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.renderTextLayer = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _global_scope = _interopRequireDefault(__w_pdfjs_require__(3));\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\n function isAllWhitespace(str) {\n return !NonWhitespaceRegexp.test(str);\n }\n\n function appendText(task, geom, styles) {\n var textDiv = document.createElement('span');\n var textDivProperties = {\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\n task._textDivs.push(textDiv);\n\n if (isAllWhitespace(geom.str)) {\n textDivProperties.isWhitespace = true;\n\n task._textDivProperties.set(textDiv, textDivProperties);\n\n return;\n }\n\n var tx = _util.Util.transform(task._viewport.transform, geom.transform);\n\n var angle = Math.atan2(tx[1], tx[0]);\n var style = styles[geom.fontName];\n\n if (style.vertical) {\n angle += Math.PI / 2;\n }\n\n var fontHeight = Math.sqrt(tx[2] * tx[2] + tx[3] * tx[3]);\n var fontAscent = fontHeight;\n\n if (style.ascent) {\n fontAscent = style.ascent * fontAscent;\n } else if (style.descent) {\n fontAscent = (1 + style.descent) * fontAscent;\n }\n\n var left, top;\n\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\n textDiv.style.left = \"\".concat(left, \"px\");\n textDiv.style.top = \"\".concat(top, \"px\");\n textDiv.style.fontSize = \"\".concat(fontHeight, \"px\");\n textDiv.style.fontFamily = style.fontFamily;\n textDiv.textContent = geom.str;\n\n if (task._fontInspectorEnabled) {\n textDiv.dataset.fontName = geom.fontName;\n }\n\n if (angle !== 0) {\n textDivProperties.angle = angle * (180 / Math.PI);\n }\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\n task._textDivProperties.set(textDiv, textDivProperties);\n\n if (task._textContentStream) {\n task._layoutText(textDiv);\n }\n\n if (task._enhanceTextSelection) {\n var angleCos = 1,\n angleSin = 0;\n\n if (angle !== 0) {\n angleCos = Math.cos(angle);\n angleSin = Math.sin(angle);\n }\n\n var divWidth = (style.vertical ? geom.height : geom.width) * task._viewport.scale;\n var divHeight = fontHeight;\n var m, b;\n\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\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\n function render(task) {\n if (task._canceled) {\n return;\n }\n\n var textDivs = task._textDivs;\n var capability = task._capability;\n var textDivsLength = textDivs.length;\n\n if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {\n task._renderingDone = true;\n capability.resolve();\n return;\n }\n\n if (!task._textContentStream) {\n for (var i = 0; i < textDivsLength; i++) {\n task._layoutText(textDivs[i]);\n }\n }\n\n task._renderingDone = true;\n capability.resolve();\n }\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\n for (var i = 0; i < expanded.length; i++) {\n var div = bounds[i].div;\n\n var divProperties = task._textDivProperties.get(div);\n\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\n task._textDivProperties.set(div, divProperties);\n\n continue;\n }\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\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\n var findPositiveMin = function findPositiveMin(ts, offset, count) {\n var result = 0;\n\n for (var i = 0; i < count; i++) {\n var t = ts[offset++];\n\n if (t > 0) {\n result = result ? Math.min(t, result) : t;\n }\n }\n\n return result;\n };\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\n task._textDivProperties.set(div, divProperties);\n }\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\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\n while (i < horizon.length && horizon[i].end <= boundary.y1) {\n i++;\n }\n\n var j = horizon.length - 1;\n\n while (j >= 0 && horizon[j].start >= boundary.y2) {\n j--;\n }\n\n var horizonPart, affectedBoundary;\n var q,\n k,\n maxXNew = -Infinity;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n var xNew;\n\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\n if (xNew > maxXNew) {\n maxXNew = xNew;\n }\n }\n\n boundary.x1New = maxXNew;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n\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\n var changedHorizon = [],\n lastBoundary = null;\n\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\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\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\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\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New !== undefined) {\n continue;\n }\n\n var used = false;\n\n for (k = i - 1; !used && k >= 0 && horizon[k].start >= affectedBoundary.y1; k--) {\n used = horizon[k].boundary === affectedBoundary;\n }\n\n for (k = j + 1; !used && k < horizon.length && horizon[k].end <= affectedBoundary.y2; k++) {\n used = horizon[k].boundary === affectedBoundary;\n }\n\n for (k = 0; !used && k < changedHorizon.length; k++) {\n used = changedHorizon[k].boundary === affectedBoundary;\n }\n\n if (!used) {\n affectedBoundary.x2New = maxXNew;\n }\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\n if (affectedBoundary.x2New === undefined) {\n affectedBoundary.x2New = Math.max(width, affectedBoundary.x2);\n }\n });\n }\n\n function TextLayerRenderTask(_ref) {\n var _this = this;\n\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 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_scope[\"default\"].FontInspector && _global_scope[\"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 this._capability.promise[\"finally\"](function () {\n if (_this._layoutTextCtx) {\n _this._layoutTextCtx.canvas.width = 0;\n _this._layoutTextCtx.canvas.height = 0;\n _this._layoutTextCtx = null;\n }\n })[\"catch\"](function () {});\n }\n\n TextLayerRenderTask.prototype = {\n get promise() {\n return this._capability.promise;\n },\n\n cancel: function TextLayer_cancel() {\n this._canceled = true;\n\n if (this._reader) {\n this._reader.cancel(new _util.AbortException('TextLayer task cancelled.'));\n\n this._reader = null;\n }\n\n if (this._renderTimer !== null) {\n clearTimeout(this._renderTimer);\n this._renderTimer = null;\n }\n\n this._capability.reject(new Error('TextLayer task cancelled.'));\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\n appendText(this, items[i], styleCache);\n }\n },\n _layoutText: function _layoutText(textDiv) {\n var textDivProperties = this._textDivProperties.get(textDiv);\n\n if (textDivProperties.isWhitespace) {\n return;\n }\n\n var transform = '';\n\n if (textDivProperties.canvasWidth !== 0) {\n var _textDiv$style = textDiv.style,\n fontSize = _textDiv$style.fontSize,\n fontFamily = _textDiv$style.fontFamily;\n\n if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) {\n this._layoutTextCtx.font = \"\".concat(fontSize, \" \").concat(fontFamily);\n this._layoutTextLastFontSize = fontSize;\n this._layoutTextLastFontFamily = fontFamily;\n }\n\n var _this$_layoutTextCtx$ = this._layoutTextCtx.measureText(textDiv.textContent),\n width = _this$_layoutTextCtx$.width;\n\n if (width > 0) {\n textDivProperties.scale = textDivProperties.canvasWidth / width;\n transform = \"scaleX(\".concat(textDivProperties.scale, \")\");\n }\n }\n\n if (textDivProperties.angle !== 0) {\n transform = \"rotate(\".concat(textDivProperties.angle, \"deg) \").concat(transform);\n }\n\n if (transform.length > 0) {\n if (this._enhanceTextSelection) {\n textDivProperties.originalTransform = transform;\n }\n\n textDiv.style.transform = transform;\n }\n\n this._textDivProperties.set(textDiv, textDivProperties);\n\n this._container.appendChild(textDiv);\n },\n _render: function TextLayer_render(timeout) {\n var _this2 = 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', {\n alpha: false\n });\n\n if (this._textContent) {\n var textItems = this._textContent.items;\n var textStyles = this._textContent.styles;\n\n this._processItems(textItems, textStyles);\n\n capability.resolve();\n } else if (this._textContentStream) {\n var pump = function pump() {\n _this2._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\n Object.assign(styleCache, value.styles);\n\n _this2._processItems(value.items, styleCache);\n\n pump();\n }, capability.reject);\n };\n\n this._reader = this._textContentStream.getReader();\n pump();\n } else {\n throw new Error('Neither \"textContent\" nor \"textContentStream\"' + ' parameters specified.');\n }\n\n capability.promise.then(function () {\n styleCache = null;\n\n if (!timeout) {\n render(_this2);\n } else {\n _this2._renderTimer = setTimeout(function () {\n render(_this2);\n _this2._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\n if (this._bounds !== null) {\n expand(this);\n this._bounds = null;\n }\n\n var NO_PADDING = '0 0 0 0';\n var transformBuf = [],\n paddingBuf = [];\n\n for (var i = 0, ii = this._textDivs.length; i < ii; i++) {\n var div = this._textDivs[i];\n\n var divProps = this._textDivProperties.get(div);\n\n if (divProps.isWhitespace) {\n continue;\n }\n\n if (expandDivs) {\n transformBuf.length = 0;\n paddingBuf.length = 0;\n\n if (divProps.originalTransform) {\n transformBuf.push(divProps.originalTransform);\n }\n\n if (divProps.paddingTop > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingTop, \"px\"));\n transformBuf.push(\"translateY(\".concat(-divProps.paddingTop, \"px)\"));\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingRight > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingRight / divProps.scale, \"px\"));\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingBottom > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingBottom, \"px\"));\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingLeft > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingLeft / divProps.scale, \"px\"));\n transformBuf.push(\"translateX(\".concat(-divProps.paddingLeft / divProps.scale, \"px)\"));\n } else {\n paddingBuf.push(0);\n }\n\n var padding = paddingBuf.join(' ');\n\n if (padding !== NO_PADDING) {\n div.style.padding = padding;\n }\n\n if (transformBuf.length) {\n div.style.transform = transformBuf.join(' ');\n }\n } else {\n div.style.padding = null;\n div.style.transform = divProps.originalTransform;\n }\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\n task._render(renderParameters.timeout);\n\n return task;\n }\n\n return renderTextLayer;\n}();\n\nexports.renderTextLayer = renderTextLayer;\n\n/***/ }),\n/* 195 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AnnotationLayer = void 0;\n\nvar _display_utils = __w_pdfjs_require__(183);\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar AnnotationElementFactory =\n/*#__PURE__*/\nfunction () {\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\n switch (subtype) {\n case _util.AnnotationType.LINK:\n return new LinkAnnotationElement(parameters);\n\n case _util.AnnotationType.TEXT:\n return new TextAnnotationElement(parameters);\n\n case _util.AnnotationType.WIDGET:\n var fieldType = parameters.data.fieldType;\n\n switch (fieldType) {\n case 'Tx':\n return new TextWidgetAnnotationElement(parameters);\n\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\n return new PushButtonWidgetAnnotationElement(parameters);\n\n case 'Ch':\n return new ChoiceWidgetAnnotationElement(parameters);\n }\n\n return new WidgetAnnotationElement(parameters);\n\n case _util.AnnotationType.POPUP:\n return new PopupAnnotationElement(parameters);\n\n case _util.AnnotationType.FREETEXT:\n return new FreeTextAnnotationElement(parameters);\n\n case _util.AnnotationType.LINE:\n return new LineAnnotationElement(parameters);\n\n case _util.AnnotationType.SQUARE:\n return new SquareAnnotationElement(parameters);\n\n case _util.AnnotationType.CIRCLE:\n return new CircleAnnotationElement(parameters);\n\n case _util.AnnotationType.POLYLINE:\n return new PolylineAnnotationElement(parameters);\n\n case _util.AnnotationType.CARET:\n return new CaretAnnotationElement(parameters);\n\n case _util.AnnotationType.INK:\n return new InkAnnotationElement(parameters);\n\n case _util.AnnotationType.POLYGON:\n return new PolygonAnnotationElement(parameters);\n\n case _util.AnnotationType.HIGHLIGHT:\n return new HighlightAnnotationElement(parameters);\n\n case _util.AnnotationType.UNDERLINE:\n return new UnderlineAnnotationElement(parameters);\n\n case _util.AnnotationType.SQUIGGLY:\n return new SquigglyAnnotationElement(parameters);\n\n case _util.AnnotationType.STRIKEOUT:\n return new StrikeOutAnnotationElement(parameters);\n\n case _util.AnnotationType.STAMP:\n return new StampAnnotationElement(parameters);\n\n case _util.AnnotationType.FILEATTACHMENT:\n return new FileAttachmentAnnotationElement(parameters);\n\n default:\n return new AnnotationElement(parameters);\n }\n }\n }]);\n\n return AnnotationElementFactory;\n}();\n\nvar AnnotationElement =\n/*#__PURE__*/\nfunction () {\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\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 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\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\n container.style.transform = \"matrix(\".concat(viewport.transform.join(','), \")\");\n container.style.transformOrigin = \"-\".concat(rect[0], \"px -\").concat(rect[1], \"px\");\n\n if (!ignoreBorder && data.borderStyle.width > 0) {\n container.style.borderWidth = \"\".concat(data.borderStyle.width, \"px\");\n\n if (data.borderStyle.style !== _util.AnnotationBorderStyleType.UNDERLINE) {\n width = width - 2 * data.borderStyle.width;\n height = height - 2 * data.borderStyle.width;\n }\n\n var horizontalRadius = data.borderStyle.horizontalCornerRadius;\n var verticalRadius = data.borderStyle.verticalCornerRadius;\n\n if (horizontalRadius > 0 || verticalRadius > 0) {\n var radius = \"\".concat(horizontalRadius, \"px / \").concat(verticalRadius, \"px\");\n container.style.borderRadius = radius;\n }\n\n switch (data.borderStyle.style) {\n case _util.AnnotationBorderStyleType.SOLID:\n container.style.borderStyle = 'solid';\n break;\n\n case _util.AnnotationBorderStyleType.DASHED:\n container.style.borderStyle = 'dashed';\n break;\n\n case _util.AnnotationBorderStyleType.BEVELED:\n (0, _util.warn)('Unimplemented border style: beveled');\n break;\n\n case _util.AnnotationBorderStyleType.INSET:\n (0, _util.warn)('Unimplemented border style: inset');\n break;\n\n case _util.AnnotationBorderStyleType.UNDERLINE:\n container.style.borderBottomStyle = 'solid';\n break;\n\n default:\n break;\n }\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\n container.style.left = \"\".concat(rect[0], \"px\");\n container.style.top = \"\".concat(rect[1], \"px\");\n container.style.width = \"\".concat(width, \"px\");\n container.style.height = \"\".concat(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\n var popupElement = new PopupElement({\n container: container,\n trigger: trigger,\n color: data.color,\n title: data.title,\n modificationDate: data.modificationDate,\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 =\n/*#__PURE__*/\nfunction (_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, _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 var link = document.createElement('a');\n\n if (data.url) {\n (0, _display_utils.addLinkAttributes)(link, {\n url: data.url,\n target: data.newWindow ? _display_utils.LinkTarget.BLANK : linkService.externalLinkTarget,\n rel: linkService.externalLinkRel,\n enabled: linkService.externalLinkEnabled\n });\n } else 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 _this = this;\n\n link.href = this.linkService.getDestinationHash(destination);\n\n link.onclick = function () {\n if (destination) {\n _this.linkService.navigateTo(destination);\n }\n\n return false;\n };\n\n if (destination) {\n link.className = 'internalLink';\n }\n }\n }, {\n key: \"_bindNamedAction\",\n value: function _bindNamedAction(link, action) {\n var _this2 = this;\n\n link.href = this.linkService.getAnchorUrl('');\n\n link.onclick = function () {\n _this2.linkService.executeNamedAction(action);\n\n return false;\n };\n\n link.className = 'internalLink';\n }\n }]);\n\n return LinkAnnotationElement;\n}(AnnotationElement);\n\nvar TextAnnotationElement =\n/*#__PURE__*/\nfunction (_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, _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({\n type: this.data.name\n });\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, image, this.data);\n }\n\n this.container.appendChild(image);\n return this.container;\n }\n }]);\n\n return TextAnnotationElement;\n}(AnnotationElement);\n\nvar WidgetAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement3) {\n _inherits(WidgetAnnotationElement, _AnnotationElement3);\n\n function WidgetAnnotationElement() {\n _classCallCheck(this, WidgetAnnotationElement);\n\n return _possibleConstructorReturn(this, _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 =\n/*#__PURE__*/\nfunction (_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, _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\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\n element.disabled = this.data.readOnly;\n\n if (this.data.maxLen !== null) {\n element.maxLength = this.data.maxLen;\n }\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(\".concat(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\n if (this.data.fontRefName && this.page.commonObjs.has(this.data.fontRefName)) {\n font = this.page.commonObjs.get(this.data.fontRefName);\n }\n\n this._setTextStyle(element, font);\n }\n\n if (this.data.textAlignment !== null) {\n element.style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];\n }\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 = \"\".concat(this.data.fontSize, \"px\");\n style.direction = this.data.fontDirection < 0 ? 'rtl' : 'ltr';\n\n if (!font) {\n return;\n }\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 ? \"\\\"\".concat(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 =\n/*#__PURE__*/\nfunction (_WidgetAnnotationElem2) {\n _inherits(CheckboxWidgetAnnotationElement, _WidgetAnnotationElem2);\n\n function CheckboxWidgetAnnotationElement(parameters) {\n _classCallCheck(this, CheckboxWidgetAnnotationElement);\n\n return _possibleConstructorReturn(this, _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\n if (this.data.fieldValue && this.data.fieldValue !== 'Off') {\n element.setAttribute('checked', true);\n }\n\n this.container.appendChild(element);\n return this.container;\n }\n }]);\n\n return CheckboxWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar RadioButtonWidgetAnnotationElement =\n/*#__PURE__*/\nfunction (_WidgetAnnotationElem3) {\n _inherits(RadioButtonWidgetAnnotationElement, _WidgetAnnotationElem3);\n\n function RadioButtonWidgetAnnotationElement(parameters) {\n _classCallCheck(this, RadioButtonWidgetAnnotationElement);\n\n return _possibleConstructorReturn(this, _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\n if (this.data.fieldValue === this.data.buttonValue) {\n element.setAttribute('checked', true);\n }\n\n this.container.appendChild(element);\n return this.container;\n }\n }]);\n\n return RadioButtonWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar PushButtonWidgetAnnotationElement =\n/*#__PURE__*/\nfunction (_LinkAnnotationElemen) {\n _inherits(PushButtonWidgetAnnotationElement, _LinkAnnotationElemen);\n\n function PushButtonWidgetAnnotationElement() {\n _classCallCheck(this, PushButtonWidgetAnnotationElement);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(PushButtonWidgetAnnotationElement).apply(this, arguments));\n }\n\n _createClass(PushButtonWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var container = _get(_getPrototypeOf(PushButtonWidgetAnnotationElement.prototype), \"render\", this).call(this);\n\n container.className = 'buttonWidgetAnnotation pushButton';\n return container;\n }\n }]);\n\n return PushButtonWidgetAnnotationElement;\n}(LinkAnnotationElement);\n\nvar ChoiceWidgetAnnotationElement =\n/*#__PURE__*/\nfunction (_WidgetAnnotationElem4) {\n _inherits(ChoiceWidgetAnnotationElement, _WidgetAnnotationElem4);\n\n function ChoiceWidgetAnnotationElement(parameters) {\n _classCallCheck(this, ChoiceWidgetAnnotationElement);\n\n return _possibleConstructorReturn(this, _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\n if (!this.data.combo) {\n selectElement.size = this.data.options.length;\n\n if (this.data.multiSelect) {\n selectElement.multiple = true;\n }\n }\n\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this.data.options[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var option = _step.value;\n var optionElement = document.createElement('option');\n optionElement.textContent = option.displayValue;\n optionElement.value = option.exportValue;\n\n if (this.data.fieldValue.includes(option.displayValue)) {\n optionElement.setAttribute('selected', true);\n }\n\n selectElement.appendChild(optionElement);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator[\"return\"] != null) {\n _iterator[\"return\"]();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n this.container.appendChild(selectElement);\n return this.container;\n }\n }]);\n\n return ChoiceWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar PopupAnnotationElement =\n/*#__PURE__*/\nfunction (_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, _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\n if (IGNORE_TYPES.includes(this.data.parentType)) {\n return this.container;\n }\n\n var selector = \"[data-annotation-id=\\\"\".concat(this.data.parentId, \"\\\"]\");\n var parentElement = this.layer.querySelector(selector);\n\n if (!parentElement) {\n return this.container;\n }\n\n var popup = new PopupElement({\n container: this.container,\n trigger: parentElement,\n color: this.data.color,\n title: this.data.title,\n modificationDate: this.data.modificationDate,\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 = \"-\".concat(parentLeft + parentWidth, \"px -\").concat(parentElement.style.top);\n this.container.style.left = \"\".concat(parentLeft + parentWidth, \"px\");\n this.container.appendChild(popup.render());\n return this.container;\n }\n }]);\n\n return PopupAnnotationElement;\n}(AnnotationElement);\n\nvar PopupElement =\n/*#__PURE__*/\nfunction () {\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.modificationDate = parameters.modificationDate;\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\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\n var title = document.createElement('h1');\n title.textContent = this.title;\n popup.appendChild(title);\n\n var dateObject = _display_utils.PDFDateString.toDateObject(this.modificationDate);\n\n if (dateObject) {\n var modificationDate = document.createElement('span');\n modificationDate.textContent = '{{date}}, {{time}}';\n modificationDate.dataset.l10nId = 'annotation_date_string';\n modificationDate.dataset.l10nArgs = JSON.stringify({\n date: dateObject.toLocaleDateString(),\n time: dateObject.toLocaleTimeString()\n });\n popup.appendChild(modificationDate);\n }\n\n var contents = this._formatContents(this.contents);\n\n popup.appendChild(contents);\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 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\n for (var i = 0, ii = lines.length; i < ii; ++i) {\n var line = lines[i];\n p.appendChild(document.createTextNode(line));\n\n if (i < ii - 1) {\n p.appendChild(document.createElement('br'));\n }\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\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\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 FreeTextAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement5) {\n _inherits(FreeTextAnnotationElement, _AnnotationElement5);\n\n function FreeTextAnnotationElement(parameters) {\n _classCallCheck(this, FreeTextAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(FreeTextAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(FreeTextAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'freeTextAnnotation';\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return FreeTextAnnotationElement;\n}(AnnotationElement);\n\nvar LineAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement6) {\n _inherits(LineAnnotationElement, _AnnotationElement6);\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, _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\n this._createPopup(this.container, line, data);\n\n return this.container;\n }\n }]);\n\n return LineAnnotationElement;\n}(AnnotationElement);\n\nvar SquareAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement7) {\n _inherits(SquareAnnotationElement, _AnnotationElement7);\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, _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\n this._createPopup(this.container, square, data);\n\n return this.container;\n }\n }]);\n\n return SquareAnnotationElement;\n}(AnnotationElement);\n\nvar CircleAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement8) {\n _inherits(CircleAnnotationElement, _AnnotationElement8);\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, _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\n this._createPopup(this.container, circle, data);\n\n return this.container;\n }\n }]);\n\n return CircleAnnotationElement;\n}(AnnotationElement);\n\nvar PolylineAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement9) {\n _inherits(PolylineAnnotationElement, _AnnotationElement9);\n\n function PolylineAnnotationElement(parameters) {\n var _this3;\n\n _classCallCheck(this, PolylineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n _this3 = _possibleConstructorReturn(this, _getPrototypeOf(PolylineAnnotationElement).call(this, parameters, isRenderable, true));\n _this3.containerClassName = 'polylineAnnotation';\n _this3.svgElementName = 'svg:polyline';\n return _this3;\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 points = [];\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = data.vertices[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var coordinate = _step2.value;\n var x = coordinate.x - data.rect[0];\n var y = data.rect[3] - coordinate.y;\n points.push(x + ',' + y);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2[\"return\"] != null) {\n _iterator2[\"return\"]();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n\n points = points.join(' ');\n var polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute('points', points);\n polyline.setAttribute('stroke-width', data.borderStyle.width);\n polyline.setAttribute('stroke', 'transparent');\n polyline.setAttribute('fill', 'none');\n svg.appendChild(polyline);\n this.container.append(svg);\n\n this._createPopup(this.container, polyline, data);\n\n return this.container;\n }\n }]);\n\n return PolylineAnnotationElement;\n}(AnnotationElement);\n\nvar PolygonAnnotationElement =\n/*#__PURE__*/\nfunction (_PolylineAnnotationEl) {\n _inherits(PolygonAnnotationElement, _PolylineAnnotationEl);\n\n function PolygonAnnotationElement(parameters) {\n var _this4;\n\n _classCallCheck(this, PolygonAnnotationElement);\n\n _this4 = _possibleConstructorReturn(this, _getPrototypeOf(PolygonAnnotationElement).call(this, parameters));\n _this4.containerClassName = 'polygonAnnotation';\n _this4.svgElementName = 'svg:polygon';\n return _this4;\n }\n\n return PolygonAnnotationElement;\n}(PolylineAnnotationElement);\n\nvar CaretAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement10) {\n _inherits(CaretAnnotationElement, _AnnotationElement10);\n\n function CaretAnnotationElement(parameters) {\n _classCallCheck(this, CaretAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(CaretAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(CaretAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'caretAnnotation';\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return CaretAnnotationElement;\n}(AnnotationElement);\n\nvar InkAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement11) {\n _inherits(InkAnnotationElement, _AnnotationElement11);\n\n function InkAnnotationElement(parameters) {\n var _this5;\n\n _classCallCheck(this, InkAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n _this5 = _possibleConstructorReturn(this, _getPrototypeOf(InkAnnotationElement).call(this, parameters, isRenderable, true));\n _this5.containerClassName = 'inkAnnotation';\n _this5.svgElementName = 'svg:polyline';\n return _this5;\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 _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n\n try {\n for (var _iterator3 = data.inkLists[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var inkList = _step3.value;\n var points = [];\n var _iteratorNormalCompletion4 = true;\n var _didIteratorError4 = false;\n var _iteratorError4 = undefined;\n\n try {\n for (var _iterator4 = inkList[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var coordinate = _step4.value;\n var x = coordinate.x - data.rect[0];\n var y = data.rect[3] - coordinate.y;\n points.push(\"\".concat(x, \",\").concat(y));\n }\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4[\"return\"] != null) {\n _iterator4[\"return\"]();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\n }\n }\n }\n\n points = points.join(' ');\n var polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute('points', points);\n polyline.setAttribute('stroke-width', data.borderStyle.width);\n polyline.setAttribute('stroke', 'transparent');\n polyline.setAttribute('fill', 'none');\n\n this._createPopup(this.container, polyline, data);\n\n svg.appendChild(polyline);\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3[\"return\"] != null) {\n _iterator3[\"return\"]();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n\n this.container.append(svg);\n return this.container;\n }\n }]);\n\n return InkAnnotationElement;\n}(AnnotationElement);\n\nvar HighlightAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement12) {\n _inherits(HighlightAnnotationElement, _AnnotationElement12);\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, _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\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return HighlightAnnotationElement;\n}(AnnotationElement);\n\nvar UnderlineAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement13) {\n _inherits(UnderlineAnnotationElement, _AnnotationElement13);\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, _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\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return UnderlineAnnotationElement;\n}(AnnotationElement);\n\nvar SquigglyAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement14) {\n _inherits(SquigglyAnnotationElement, _AnnotationElement14);\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, _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\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return SquigglyAnnotationElement;\n}(AnnotationElement);\n\nvar StrikeOutAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement15) {\n _inherits(StrikeOutAnnotationElement, _AnnotationElement15);\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, _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\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return StrikeOutAnnotationElement;\n}(AnnotationElement);\n\nvar StampAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement16) {\n _inherits(StampAnnotationElement, _AnnotationElement16);\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, _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\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return StampAnnotationElement;\n}(AnnotationElement);\n\nvar FileAttachmentAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement17) {\n _inherits(FileAttachmentAnnotationElement, _AnnotationElement17);\n\n function FileAttachmentAnnotationElement(parameters) {\n var _this6;\n\n _classCallCheck(this, FileAttachmentAnnotationElement);\n\n _this6 = _possibleConstructorReturn(this, _getPrototypeOf(FileAttachmentAnnotationElement).call(this, parameters, true));\n var _this6$data$file = _this6.data.file,\n filename = _this6$data$file.filename,\n content = _this6$data$file.content;\n _this6.filename = (0, _display_utils.getFilenameFromUrl)(filename);\n _this6.content = content;\n\n if (_this6.linkService.eventBus) {\n _this6.linkService.eventBus.dispatch('fileattachmentannotation', {\n source: _assertThisInitialized(_this6),\n id: (0, _util.stringToPDFString)(filename),\n filename: filename,\n content: content\n });\n }\n\n return _this6;\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\n if (!this.data.hasPopup && (this.data.title || this.data.contents)) {\n this._createPopup(this.container, trigger, this.data);\n }\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\n this.downloadManager.downloadData(this.content, this.filename, '');\n }\n }]);\n\n return FileAttachmentAnnotationElement;\n}(AnnotationElement);\n\nvar AnnotationLayer =\n/*#__PURE__*/\nfunction () {\n function AnnotationLayer() {\n _classCallCheck(this, AnnotationLayer);\n }\n\n _createClass(AnnotationLayer, null, [{\n key: \"render\",\n value: function render(parameters) {\n var _iteratorNormalCompletion5 = true;\n var _didIteratorError5 = false;\n var _iteratorError5 = undefined;\n\n try {\n for (var _iterator5 = parameters.annotations[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {\n var data = _step5.value;\n\n if (!data) {\n continue;\n }\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 _display_utils.DOMSVGFactory()\n });\n\n if (element.isRenderable) {\n parameters.div.appendChild(element.render());\n }\n }\n } catch (err) {\n _didIteratorError5 = true;\n _iteratorError5 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion5 && _iterator5[\"return\"] != null) {\n _iterator5[\"return\"]();\n }\n } finally {\n if (_didIteratorError5) {\n throw _iteratorError5;\n }\n }\n }\n }\n }, {\n key: \"update\",\n value: function update(parameters) {\n var _iteratorNormalCompletion6 = true;\n var _didIteratorError6 = false;\n var _iteratorError6 = undefined;\n\n try {\n for (var _iterator6 = parameters.annotations[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {\n var data = _step6.value;\n var element = parameters.div.querySelector(\"[data-annotation-id=\\\"\".concat(data.id, \"\\\"]\"));\n\n if (element) {\n element.style.transform = \"matrix(\".concat(parameters.viewport.transform.join(','), \")\");\n }\n }\n } catch (err) {\n _didIteratorError6 = true;\n _iteratorError6 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion6 && _iterator6[\"return\"] != null) {\n _iterator6[\"return\"]();\n }\n } finally {\n if (_didIteratorError6) {\n throw _iteratorError6;\n }\n }\n }\n\n parameters.div.removeAttribute('hidden');\n }\n }]);\n\n return AnnotationLayer;\n}();\n\nexports.AnnotationLayer = AnnotationLayer;\n\n/***/ }),\n/* 196 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SVGGraphics = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _display_utils = __w_pdfjs_require__(183);\n\nvar _is_node = _interopRequireDefault(__w_pdfjs_require__(4));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } 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\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar SVGGraphics = function SVGGraphics() {\n throw new Error('Not implemented: SVGGraphics');\n};\n\nexports.SVGGraphics = SVGGraphics;\n{\n var opListToTree = function opListToTree(opList) {\n var opTree = [];\n var tmp = [];\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = opList[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var opListElement = _step.value;\n\n if (opListElement.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\n if (opListElement.fn === 'restore') {\n opTree = tmp.pop();\n } else {\n opTree.push(opListElement);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator[\"return\"] != null) {\n _iterator[\"return\"]();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return opTree;\n };\n\n var pf = function pf(value) {\n if (Number.isInteger(value)) {\n return value.toString();\n }\n\n var s = value.toFixed(10);\n var i = s.length - 1;\n\n if (s[i] !== '0') {\n return s;\n }\n\n do {\n i--;\n } while (s[i] === '0');\n\n return s.substring(0, s[i] === '.' ? i : i + 1);\n };\n\n var pm = 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\n return \"scale(\".concat(pf(m[0]), \" \").concat(pf(m[3]), \")\");\n }\n\n if (m[0] === m[3] && m[1] === -m[2]) {\n var a = Math.acos(m[0]) * 180 / Math.PI;\n return \"rotate(\".concat(pf(a), \")\");\n }\n } else {\n if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {\n return \"translate(\".concat(pf(m[4]), \" \").concat(pf(m[5]), \")\");\n }\n }\n\n return \"matrix(\".concat(pf(m[0]), \" \").concat(pf(m[1]), \" \").concat(pf(m[2]), \" \").concat(pf(m[3]), \" \").concat(pf(m[4]), \" \") + \"\".concat(pf(m[5]), \")\");\n };\n\n var SVG_DEFAULTS = {\n fontStyle: 'normal',\n fontWeight: 'normal',\n fillColor: '#000000'\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\n var convertImgDataToPng = function () {\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\n for (var i = 0; i < 256; i++) {\n var c = i;\n\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\n crcTable[i] = c;\n }\n\n function crc32(data, start, end) {\n var crc = -1;\n\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\n return crc ^ -1;\n }\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\n function adler32(data, start, end) {\n var a = 1;\n var b = 0;\n\n for (var _i2 = start; _i2 < end; ++_i2) {\n a = (a + (data[_i2] & 0xff)) % 65521;\n b = (b + a) % 65521;\n }\n\n return b << 16 | a;\n }\n\n function deflateSync(literals) {\n if (!(0, _is_node[\"default\"])()) {\n return deflateSyncUncompressed(literals);\n }\n\n try {\n var input;\n\n if (parseInt(process.versions.node) >= 8) {\n input = literals;\n } else {\n input = new Buffer(literals);\n }\n\n var output = require('zlib').deflateSync(input, {\n level: 9\n });\n\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\n return deflateSyncUncompressed(literals);\n }\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\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\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\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\n switch (kind) {\n case _util.ImageKind.GRAYSCALE_1BPP:\n colorType = 0;\n bitDepth = 1;\n lineSize = width + 7 >> 3;\n break;\n\n case _util.ImageKind.RGB_24BPP:\n colorType = 2;\n bitDepth = 8;\n lineSize = width * 3;\n break;\n\n case _util.ImageKind.RGBA_32BPP:\n colorType = 6;\n bitDepth = 8;\n lineSize = width * 4;\n break;\n\n default:\n throw new Error('invalid format');\n }\n\n var literals = new Uint8Array((1 + lineSize) * height);\n var offsetLiterals = 0,\n offsetBytes = 0;\n\n for (var 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\n if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) {\n offsetLiterals = 0;\n\n for (var _y = 0; _y < height; _y++) {\n offsetLiterals++;\n\n for (var _i3 = 0; _i3 < lineSize; _i3++) {\n literals[offsetLiterals++] ^= 0xFF;\n }\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\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\n var SVGExtraState =\n /*#__PURE__*/\n function () {\n function SVGExtraState() {\n _classCallCheck(this, SVGExtraState);\n\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.textMatrixScale = 1;\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\n _createClass(SVGExtraState, [{\n key: \"clone\",\n value: function clone() {\n return Object.create(this);\n }\n }, {\n key: \"setCurrentPoint\",\n value: function setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n }]);\n\n return SVGExtraState;\n }();\n\n var clipCount = 0;\n var maskCount = 0;\n var shadingCount = 0;\n\n exports.SVGGraphics = SVGGraphics =\n /*#__PURE__*/\n function () {\n function SVGGraphics(commonObjs, objs, forceDataSchema) {\n _classCallCheck(this, SVGGraphics);\n\n this.svgFactory = new _display_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 this._operatorIdMapping = [];\n\n for (var op in _util.OPS) {\n this._operatorIdMapping[_util.OPS[op]] = op;\n }\n }\n\n _createClass(SVGGraphics, [{\n key: \"save\",\n value: function save() {\n this.transformStack.push(this.transformMatrix);\n var old = this.current;\n this.extraStack.push(old);\n this.current = old.clone();\n }\n }, {\n key: \"restore\",\n value: function restore() {\n this.transformMatrix = this.transformStack.pop();\n this.current = this.extraStack.pop();\n this.pendingClip = null;\n this.tgrp = null;\n }\n }, {\n key: \"group\",\n value: function group(items) {\n this.save();\n this.executeOpTree(items);\n this.restore();\n }\n }, {\n key: \"loadDependencies\",\n value: function loadDependencies(operatorList) {\n var _this = this;\n\n var fnArray = operatorList.fnArray;\n var argsArray = operatorList.argsArray;\n\n for (var i = 0, ii = fnArray.length; i < ii; i++) {\n if (fnArray[i] !== _util.OPS.dependency) {\n continue;\n }\n\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n var _loop = function _loop() {\n var obj = _step2.value;\n var objsPool = obj.startsWith('g_') ? _this.commonObjs : _this.objs;\n var promise = new Promise(function (resolve) {\n objsPool.get(obj, resolve);\n });\n\n _this.current.dependencies.push(promise);\n };\n\n for (var _iterator2 = argsArray[i][Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n _loop();\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2[\"return\"] != null) {\n _iterator2[\"return\"]();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n }\n\n return Promise.all(this.current.dependencies);\n }\n }, {\n key: \"transform\",\n value: function 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 }, {\n key: \"getSVG\",\n value: function getSVG(operatorList, viewport) {\n var _this2 = this;\n\n this.viewport = viewport;\n\n var svgElement = this._initialize(viewport);\n\n return this.loadDependencies(operatorList).then(function () {\n _this2.transformMatrix = _util.IDENTITY_MATRIX;\n\n _this2.executeOpTree(_this2.convertOpList(operatorList));\n\n return svgElement;\n });\n }\n }, {\n key: \"convertOpList\",\n value: function convertOpList(operatorList) {\n var operatorIdMapping = this._operatorIdMapping;\n var argsArray = operatorList.argsArray;\n var fnArray = operatorList.fnArray;\n var opList = [];\n\n for (var i = 0, ii = fnArray.length; i < ii; i++) {\n var fnId = fnArray[i];\n opList.push({\n 'fnId': fnId,\n 'fn': operatorIdMapping[fnId],\n 'args': argsArray[i]\n });\n }\n\n return opListToTree(opList);\n }\n }, {\n key: \"executeOpTree\",\n value: function executeOpTree(opTree) {\n var _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n\n try {\n for (var _iterator3 = opTree[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var opTreeElement = _step3.value;\n var fn = opTreeElement.fn;\n var fnId = opTreeElement.fnId;\n var args = opTreeElement.args;\n\n switch (fnId | 0) {\n case _util.OPS.beginText:\n this.beginText();\n break;\n\n case _util.OPS.dependency:\n break;\n\n case _util.OPS.setLeading:\n this.setLeading(args);\n break;\n\n case _util.OPS.setLeadingMoveText:\n this.setLeadingMoveText(args[0], args[1]);\n break;\n\n case _util.OPS.setFont:\n this.setFont(args);\n break;\n\n case _util.OPS.showText:\n this.showText(args[0]);\n break;\n\n case _util.OPS.showSpacedText:\n this.showText(args[0]);\n break;\n\n case _util.OPS.endText:\n this.endText();\n break;\n\n case _util.OPS.moveText:\n this.moveText(args[0], args[1]);\n break;\n\n case _util.OPS.setCharSpacing:\n this.setCharSpacing(args[0]);\n break;\n\n case _util.OPS.setWordSpacing:\n this.setWordSpacing(args[0]);\n break;\n\n case _util.OPS.setHScale:\n this.setHScale(args[0]);\n break;\n\n case _util.OPS.setTextMatrix:\n this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.setTextRise:\n this.setTextRise(args[0]);\n break;\n\n case _util.OPS.setTextRenderingMode:\n this.setTextRenderingMode(args[0]);\n break;\n\n case _util.OPS.setLineWidth:\n this.setLineWidth(args[0]);\n break;\n\n case _util.OPS.setLineJoin:\n this.setLineJoin(args[0]);\n break;\n\n case _util.OPS.setLineCap:\n this.setLineCap(args[0]);\n break;\n\n case _util.OPS.setMiterLimit:\n this.setMiterLimit(args[0]);\n break;\n\n case _util.OPS.setFillRGBColor:\n this.setFillRGBColor(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.setStrokeRGBColor:\n this.setStrokeRGBColor(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.setStrokeColorN:\n this.setStrokeColorN(args);\n break;\n\n case _util.OPS.setFillColorN:\n this.setFillColorN(args);\n break;\n\n case _util.OPS.shadingFill:\n this.shadingFill(args[0]);\n break;\n\n case _util.OPS.setDash:\n this.setDash(args[0], args[1]);\n break;\n\n case _util.OPS.setRenderingIntent:\n this.setRenderingIntent(args[0]);\n break;\n\n case _util.OPS.setFlatness:\n this.setFlatness(args[0]);\n break;\n\n case _util.OPS.setGState:\n this.setGState(args[0]);\n break;\n\n case _util.OPS.fill:\n this.fill();\n break;\n\n case _util.OPS.eoFill:\n this.eoFill();\n break;\n\n case _util.OPS.stroke:\n this.stroke();\n break;\n\n case _util.OPS.fillStroke:\n this.fillStroke();\n break;\n\n case _util.OPS.eoFillStroke:\n this.eoFillStroke();\n break;\n\n case _util.OPS.clip:\n this.clip('nonzero');\n break;\n\n case _util.OPS.eoClip:\n this.clip('evenodd');\n break;\n\n case _util.OPS.paintSolidColorImageMask:\n this.paintSolidColorImageMask();\n break;\n\n case _util.OPS.paintJpegXObject:\n this.paintJpegXObject(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.paintImageXObject:\n this.paintImageXObject(args[0]);\n break;\n\n case _util.OPS.paintInlineImageXObject:\n this.paintInlineImageXObject(args[0]);\n break;\n\n case _util.OPS.paintImageMaskXObject:\n this.paintImageMaskXObject(args[0]);\n break;\n\n case _util.OPS.paintFormXObjectBegin:\n this.paintFormXObjectBegin(args[0], args[1]);\n break;\n\n case _util.OPS.paintFormXObjectEnd:\n this.paintFormXObjectEnd();\n break;\n\n case _util.OPS.closePath:\n this.closePath();\n break;\n\n case _util.OPS.closeStroke:\n this.closeStroke();\n break;\n\n case _util.OPS.closeFillStroke:\n this.closeFillStroke();\n break;\n\n case _util.OPS.closeEOFillStroke:\n this.closeEOFillStroke();\n break;\n\n case _util.OPS.nextLine:\n this.nextLine();\n break;\n\n case _util.OPS.transform:\n this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.constructPath:\n this.constructPath(args[0], args[1]);\n break;\n\n case _util.OPS.endPath:\n this.endPath();\n break;\n\n case 92:\n this.group(opTreeElement.items);\n break;\n\n default:\n (0, _util.warn)(\"Unimplemented operator \".concat(fn));\n break;\n }\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3[\"return\"] != null) {\n _iterator3[\"return\"]();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n }\n }, {\n key: \"setWordSpacing\",\n value: function setWordSpacing(wordSpacing) {\n this.current.wordSpacing = wordSpacing;\n }\n }, {\n key: \"setCharSpacing\",\n value: function setCharSpacing(charSpacing) {\n this.current.charSpacing = charSpacing;\n }\n }, {\n key: \"nextLine\",\n value: function nextLine() {\n this.moveText(0, this.current.leading);\n }\n }, {\n key: \"setTextMatrix\",\n value: function setTextMatrix(a, b, c, d, e, f) {\n var current = this.current;\n current.textMatrix = current.lineMatrix = [a, b, c, d, e, f];\n current.textMatrixScale = Math.sqrt(a * a + b * b);\n current.x = current.lineX = 0;\n current.y = 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', \"\".concat(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 }, {\n key: \"beginText\",\n value: function beginText() {\n var current = this.current;\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.textMatrix = _util.IDENTITY_MATRIX;\n current.lineMatrix = _util.IDENTITY_MATRIX;\n current.textMatrixScale = 1;\n current.tspan = this.svgFactory.createElement('svg:tspan');\n current.txtElement = this.svgFactory.createElement('svg:text');\n current.txtgrp = this.svgFactory.createElement('svg:g');\n current.xcoords = [];\n }\n }, {\n key: \"moveText\",\n value: function moveText(x, y) {\n var current = this.current;\n current.x = current.lineX += x;\n current.y = 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', \"\".concat(pf(current.fontSize), \"px\"));\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n }\n }, {\n key: \"showText\",\n value: function showText(glyphs) {\n var current = this.current;\n var font = current.font;\n var fontSize = current.fontSize;\n\n if (fontSize === 0) {\n return;\n }\n\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var fontDirection = current.fontDirection;\n var textHScale = current.textHScale * fontDirection;\n var vertical = font.vertical;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n var x = 0;\n var _iteratorNormalCompletion4 = true;\n var _didIteratorError4 = false;\n var _iteratorError4 = undefined;\n\n try {\n for (var _iterator4 = glyphs[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var glyph = _step4.value;\n\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\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\n if (!glyph.isInFont && !font.missingFile) {\n x += charWidth;\n continue;\n }\n\n current.xcoords.push(current.x + x * textHScale);\n current.tspan.textContent += character;\n x += charWidth;\n }\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4[\"return\"] != null) {\n _iterator4[\"return\"]();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\n }\n }\n }\n\n if (vertical) {\n current.y -= x * textHScale;\n } else {\n current.x += x * textHScale;\n }\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', \"\".concat(pf(current.fontSize), \"px\"));\n\n if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {\n current.tspan.setAttributeNS(null, 'font-style', current.fontStyle);\n }\n\n if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {\n current.tspan.setAttributeNS(null, 'font-weight', current.fontWeight);\n }\n\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\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\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\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n var lineWidthScale = 1 / (current.textMatrixScale || 1);\n\n this._setStrokeAttributes(current.tspan, lineWidthScale);\n }\n\n var textMatrix = current.textMatrix;\n\n if (current.textRise !== 0) {\n textMatrix = textMatrix.slice();\n textMatrix[5] += current.textRise;\n }\n\n current.txtElement.setAttributeNS(null, 'transform', \"\".concat(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\n this._ensureTransformGroup().appendChild(current.txtElement);\n }\n }, {\n key: \"setLeadingMoveText\",\n value: function setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n }\n }, {\n key: \"addFontStyle\",\n value: function 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\n var url = (0, _util.createObjectURL)(fontObj.data, fontObj.mimetype, this.forceDataSchema);\n this.cssStyle.textContent += \"@font-face { font-family: \\\"\".concat(fontObj.loadedName, \"\\\";\") + \" src: url(\".concat(url, \"); }\\n\");\n }\n }, {\n key: \"setFont\",\n value: function setFont(details) {\n var current = this.current;\n var fontObj = this.commonObjs.get(details[0]);\n var size = details[1];\n current.font = fontObj;\n\n if (this.embedFonts && fontObj.data && !this.embeddedFonts[fontObj.loadedName]) {\n this.addFontStyle(fontObj);\n this.embeddedFonts[fontObj.loadedName] = fontObj;\n }\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\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\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 }, {\n key: \"endText\",\n value: function endText() {\n var current = this.current;\n\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 key: \"setLineWidth\",\n value: function setLineWidth(width) {\n if (width > 0) {\n this.current.lineWidth = width;\n }\n }\n }, {\n key: \"setLineCap\",\n value: function setLineCap(style) {\n this.current.lineCap = LINE_CAP_STYLES[style];\n }\n }, {\n key: \"setLineJoin\",\n value: function setLineJoin(style) {\n this.current.lineJoin = LINE_JOIN_STYLES[style];\n }\n }, {\n key: \"setMiterLimit\",\n value: function setMiterLimit(limit) {\n this.current.miterLimit = limit;\n }\n }, {\n key: \"setStrokeAlpha\",\n value: function setStrokeAlpha(strokeAlpha) {\n this.current.strokeAlpha = strokeAlpha;\n }\n }, {\n key: \"setStrokeRGBColor\",\n value: function setStrokeRGBColor(r, g, b) {\n this.current.strokeColor = _util.Util.makeCssRgb(r, g, b);\n }\n }, {\n key: \"setFillAlpha\",\n value: function setFillAlpha(fillAlpha) {\n this.current.fillAlpha = fillAlpha;\n }\n }, {\n key: \"setFillRGBColor\",\n value: function setFillRGBColor(r, g, b) {\n this.current.fillColor = _util.Util.makeCssRgb(r, g, b);\n this.current.tspan = this.svgFactory.createElement('svg:tspan');\n this.current.xcoords = [];\n }\n }, {\n key: \"setStrokeColorN\",\n value: function setStrokeColorN(args) {\n this.current.strokeColor = this._makeColorN_Pattern(args);\n }\n }, {\n key: \"setFillColorN\",\n value: function setFillColorN(args) {\n this.current.fillColor = this._makeColorN_Pattern(args);\n }\n }, {\n key: \"shadingFill\",\n value: function shadingFill(args) {\n var width = this.viewport.width;\n var height = this.viewport.height;\n\n var inv = _util.Util.inverseTransform(this.transformMatrix);\n\n var bl = _util.Util.applyTransform([0, 0], inv);\n\n var br = _util.Util.applyTransform([0, height], inv);\n\n var ul = _util.Util.applyTransform([width, 0], inv);\n\n var ur = _util.Util.applyTransform([width, height], inv);\n\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 var rect = this.svgFactory.createElement('svg:rect');\n rect.setAttributeNS(null, 'x', x0);\n rect.setAttributeNS(null, 'y', y0);\n rect.setAttributeNS(null, 'width', x1 - x0);\n rect.setAttributeNS(null, 'height', y1 - y0);\n rect.setAttributeNS(null, 'fill', this._makeShadingPattern(args));\n\n this._ensureTransformGroup().appendChild(rect);\n }\n }, {\n key: \"_makeColorN_Pattern\",\n value: function _makeColorN_Pattern(args) {\n if (args[0] === 'TilingPattern') {\n return this._makeTilingPattern(args);\n }\n\n return this._makeShadingPattern(args);\n }\n }, {\n key: \"_makeTilingPattern\",\n value: function _makeTilingPattern(args) {\n var color = args[1];\n var operatorList = args[2];\n var matrix = args[3] || _util.IDENTITY_MATRIX;\n\n var _args$ = _slicedToArray(args[4], 4),\n x0 = _args$[0],\n y0 = _args$[1],\n x1 = _args$[2],\n y1 = _args$[3];\n\n var xstep = args[5];\n var ystep = args[6];\n var paintType = args[7];\n var tilingId = \"shading\".concat(shadingCount++);\n\n var _Util$applyTransform = _util.Util.applyTransform([x0, y0], matrix),\n _Util$applyTransform2 = _slicedToArray(_Util$applyTransform, 2),\n tx0 = _Util$applyTransform2[0],\n ty0 = _Util$applyTransform2[1];\n\n var _Util$applyTransform3 = _util.Util.applyTransform([x1, y1], matrix),\n _Util$applyTransform4 = _slicedToArray(_Util$applyTransform3, 2),\n tx1 = _Util$applyTransform4[0],\n ty1 = _Util$applyTransform4[1];\n\n var _Util$singularValueDe = _util.Util.singularValueDecompose2dScale(matrix),\n _Util$singularValueDe2 = _slicedToArray(_Util$singularValueDe, 2),\n xscale = _Util$singularValueDe2[0],\n yscale = _Util$singularValueDe2[1];\n\n var txstep = xstep * xscale;\n var tystep = ystep * yscale;\n var tiling = this.svgFactory.createElement('svg:pattern');\n tiling.setAttributeNS(null, 'id', tilingId);\n tiling.setAttributeNS(null, 'patternUnits', 'userSpaceOnUse');\n tiling.setAttributeNS(null, 'width', txstep);\n tiling.setAttributeNS(null, 'height', tystep);\n tiling.setAttributeNS(null, 'x', \"\".concat(tx0));\n tiling.setAttributeNS(null, 'y', \"\".concat(ty0));\n var svg = this.svg;\n var transformMatrix = this.transformMatrix;\n var fillColor = this.current.fillColor;\n var strokeColor = this.current.strokeColor;\n var bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0);\n this.svg = bbox;\n this.transformMatrix = matrix;\n\n if (paintType === 2) {\n var cssColor = _util.Util.makeCssRgb.apply(_util.Util, _toConsumableArray(color));\n\n this.current.fillColor = cssColor;\n this.current.strokeColor = cssColor;\n }\n\n this.executeOpTree(this.convertOpList(operatorList));\n this.svg = svg;\n this.transformMatrix = transformMatrix;\n this.current.fillColor = fillColor;\n this.current.strokeColor = strokeColor;\n tiling.appendChild(bbox.childNodes[0]);\n this.defs.appendChild(tiling);\n return \"url(#\".concat(tilingId, \")\");\n }\n }, {\n key: \"_makeShadingPattern\",\n value: function _makeShadingPattern(args) {\n switch (args[0]) {\n case 'RadialAxial':\n var shadingId = \"shading\".concat(shadingCount++);\n var colorStops = args[2];\n var gradient;\n\n switch (args[1]) {\n case 'axial':\n var point0 = args[3];\n var point1 = args[4];\n gradient = this.svgFactory.createElement('svg:linearGradient');\n gradient.setAttributeNS(null, 'id', shadingId);\n gradient.setAttributeNS(null, 'gradientUnits', 'userSpaceOnUse');\n gradient.setAttributeNS(null, 'x1', point0[0]);\n gradient.setAttributeNS(null, 'y1', point0[1]);\n gradient.setAttributeNS(null, 'x2', point1[0]);\n gradient.setAttributeNS(null, 'y2', point1[1]);\n break;\n\n case 'radial':\n var focalPoint = args[3];\n var circlePoint = args[4];\n var focalRadius = args[5];\n var circleRadius = args[6];\n gradient = this.svgFactory.createElement('svg:radialGradient');\n gradient.setAttributeNS(null, 'id', shadingId);\n gradient.setAttributeNS(null, 'gradientUnits', 'userSpaceOnUse');\n gradient.setAttributeNS(null, 'cx', circlePoint[0]);\n gradient.setAttributeNS(null, 'cy', circlePoint[1]);\n gradient.setAttributeNS(null, 'r', circleRadius);\n gradient.setAttributeNS(null, 'fx', focalPoint[0]);\n gradient.setAttributeNS(null, 'fy', focalPoint[1]);\n gradient.setAttributeNS(null, 'fr', focalRadius);\n break;\n\n default:\n throw new Error(\"Unknown RadialAxial type: \".concat(args[1]));\n }\n\n var _iteratorNormalCompletion5 = true;\n var _didIteratorError5 = false;\n var _iteratorError5 = undefined;\n\n try {\n for (var _iterator5 = colorStops[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {\n var colorStop = _step5.value;\n var stop = this.svgFactory.createElement('svg:stop');\n stop.setAttributeNS(null, 'offset', colorStop[0]);\n stop.setAttributeNS(null, 'stop-color', colorStop[1]);\n gradient.appendChild(stop);\n }\n } catch (err) {\n _didIteratorError5 = true;\n _iteratorError5 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion5 && _iterator5[\"return\"] != null) {\n _iterator5[\"return\"]();\n }\n } finally {\n if (_didIteratorError5) {\n throw _iteratorError5;\n }\n }\n }\n\n this.defs.appendChild(gradient);\n return \"url(#\".concat(shadingId, \")\");\n\n case 'Mesh':\n (0, _util.warn)('Unimplemented pattern Mesh');\n return null;\n\n case 'Dummy':\n return 'hotpink';\n\n default:\n throw new Error(\"Unknown IR type: \".concat(args[0]));\n }\n }\n }, {\n key: \"setDash\",\n value: function setDash(dashArray, dashPhase) {\n this.current.dashArray = dashArray;\n this.current.dashPhase = dashPhase;\n }\n }, {\n key: \"constructPath\",\n value: function constructPath(ops, args) {\n var current = this.current;\n var x = current.x,\n y = current.y;\n var d = [];\n var j = 0;\n var _iteratorNormalCompletion6 = true;\n var _didIteratorError6 = false;\n var _iteratorError6 = undefined;\n\n try {\n for (var _iterator6 = ops[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {\n var op = _step6.value;\n\n switch (op | 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\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n d.push('M', pf(x), pf(y));\n break;\n\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n d.push('L', pf(x), pf(y));\n break;\n\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\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\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\n case _util.OPS.closePath:\n d.push('Z');\n break;\n }\n }\n } catch (err) {\n _didIteratorError6 = true;\n _iteratorError6 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion6 && _iterator6[\"return\"] != null) {\n _iterator6[\"return\"]();\n }\n } finally {\n if (_didIteratorError6) {\n throw _iteratorError6;\n }\n }\n }\n\n d = d.join(' ');\n\n if (current.path && ops.length > 0 && ops[0] !== _util.OPS.rectangle && ops[0] !== _util.OPS.moveTo) {\n d = current.path.getAttributeNS(null, 'd') + d;\n } else {\n current.path = this.svgFactory.createElement('svg:path');\n\n this._ensureTransformGroup().appendChild(current.path);\n }\n\n current.path.setAttributeNS(null, 'd', d);\n current.path.setAttributeNS(null, 'fill', 'none');\n current.element = current.path;\n current.setCurrentPoint(x, y);\n }\n }, {\n key: \"endPath\",\n value: function endPath() {\n var current = this.current;\n current.path = null;\n\n if (!this.pendingClip) {\n return;\n }\n\n if (!current.element) {\n this.pendingClip = null;\n return;\n }\n\n var clipId = \"clippath\".concat(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\n if (this.pendingClip === 'evenodd') {\n clipElement.setAttributeNS(null, 'clip-rule', 'evenodd');\n } else {\n clipElement.setAttributeNS(null, 'clip-rule', 'nonzero');\n }\n\n this.pendingClip = null;\n clipPath.appendChild(clipElement);\n this.defs.appendChild(clipPath);\n\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\n current.activeClipUrl = \"url(#\".concat(clipId, \")\");\n this.tgrp = null;\n }\n }, {\n key: \"clip\",\n value: function clip(type) {\n this.pendingClip = type;\n }\n }, {\n key: \"closePath\",\n value: function closePath() {\n var current = this.current;\n\n if (current.path) {\n var d = \"\".concat(current.path.getAttributeNS(null, 'd'), \"Z\");\n current.path.setAttributeNS(null, 'd', d);\n }\n }\n }, {\n key: \"setLeading\",\n value: function setLeading(leading) {\n this.current.leading = -leading;\n }\n }, {\n key: \"setTextRise\",\n value: function setTextRise(textRise) {\n this.current.textRise = textRise;\n }\n }, {\n key: \"setTextRenderingMode\",\n value: function setTextRenderingMode(textRenderingMode) {\n this.current.textRenderingMode = textRenderingMode;\n }\n }, {\n key: \"setHScale\",\n value: function setHScale(scale) {\n this.current.textHScale = scale / 100;\n }\n }, {\n key: \"setRenderingIntent\",\n value: function setRenderingIntent(intent) {}\n }, {\n key: \"setFlatness\",\n value: function setFlatness(flatness) {}\n }, {\n key: \"setGState\",\n value: function setGState(states) {\n var _iteratorNormalCompletion7 = true;\n var _didIteratorError7 = false;\n var _iteratorError7 = undefined;\n\n try {\n for (var _iterator7 = states[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) {\n var _step7$value = _slicedToArray(_step7.value, 2),\n key = _step7$value[0],\n value = _step7$value[1];\n\n switch (key) {\n case 'LW':\n this.setLineWidth(value);\n break;\n\n case 'LC':\n this.setLineCap(value);\n break;\n\n case 'LJ':\n this.setLineJoin(value);\n break;\n\n case 'ML':\n this.setMiterLimit(value);\n break;\n\n case 'D':\n this.setDash(value[0], value[1]);\n break;\n\n case 'RI':\n this.setRenderingIntent(value);\n break;\n\n case 'FL':\n this.setFlatness(value);\n break;\n\n case 'Font':\n this.setFont(value);\n break;\n\n case 'CA':\n this.setStrokeAlpha(value);\n break;\n\n case 'ca':\n this.setFillAlpha(value);\n break;\n\n default:\n (0, _util.warn)(\"Unimplemented graphic state operator \".concat(key));\n break;\n }\n }\n } catch (err) {\n _didIteratorError7 = true;\n _iteratorError7 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion7 && _iterator7[\"return\"] != null) {\n _iterator7[\"return\"]();\n }\n } finally {\n if (_didIteratorError7) {\n throw _iteratorError7;\n }\n }\n }\n }\n }, {\n key: \"fill\",\n value: function fill() {\n var current = this.current;\n\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 }, {\n key: \"stroke\",\n value: function stroke() {\n var current = this.current;\n\n if (current.element) {\n this._setStrokeAttributes(current.element);\n\n current.element.setAttributeNS(null, 'fill', 'none');\n this.endPath();\n }\n }\n }, {\n key: \"_setStrokeAttributes\",\n value: function _setStrokeAttributes(element) {\n var lineWidthScale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var current = this.current;\n var dashArray = current.dashArray;\n\n if (lineWidthScale !== 1 && dashArray.length > 0) {\n dashArray = dashArray.map(function (value) {\n return lineWidthScale * value;\n });\n }\n\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(lineWidthScale * current.lineWidth) + 'px');\n element.setAttributeNS(null, 'stroke-dasharray', dashArray.map(pf).join(' '));\n element.setAttributeNS(null, 'stroke-dashoffset', pf(lineWidthScale * current.dashPhase) + 'px');\n }\n }, {\n key: \"eoFill\",\n value: function eoFill() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, 'fill-rule', 'evenodd');\n }\n\n this.fill();\n }\n }, {\n key: \"fillStroke\",\n value: function fillStroke() {\n this.stroke();\n this.fill();\n }\n }, {\n key: \"eoFillStroke\",\n value: function eoFillStroke() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, 'fill-rule', 'evenodd');\n }\n\n this.fillStroke();\n }\n }, {\n key: \"closeStroke\",\n value: function closeStroke() {\n this.closePath();\n this.stroke();\n }\n }, {\n key: \"closeFillStroke\",\n value: function closeFillStroke() {\n this.closePath();\n this.fillStroke();\n }\n }, {\n key: \"closeEOFillStroke\",\n value: function closeEOFillStroke() {\n this.closePath();\n this.eoFillStroke();\n }\n }, {\n key: \"paintSolidColorImageMask\",\n value: function paintSolidColorImageMask() {\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', this.current.fillColor);\n\n this._ensureTransformGroup().appendChild(rect);\n }\n }, {\n key: \"paintJpegXObject\",\n value: function 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(\".concat(pf(1 / w), \" \").concat(pf(-1 / h), \")\"));\n\n this._ensureTransformGroup().appendChild(imgEl);\n }\n }, {\n key: \"paintImageXObject\",\n value: function paintImageXObject(objId) {\n var imgData = this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)(\"Dependent image with object ID \".concat(objId, \" is not ready yet\"));\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n }\n }, {\n key: \"paintInlineImageXObject\",\n value: function 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(\".concat(pf(1 / width), \" \").concat(pf(-1 / height), \")\"));\n\n if (mask) {\n mask.appendChild(imgEl);\n } else {\n this._ensureTransformGroup().appendChild(imgEl);\n }\n }\n }, {\n key: \"paintImageMaskXObject\",\n value: function 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\".concat(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(#\".concat(current.maskId, \")\"));\n this.defs.appendChild(mask);\n\n this._ensureTransformGroup().appendChild(rect);\n\n this.paintInlineImageXObject(imgData, mask);\n }\n }, {\n key: \"paintFormXObjectBegin\",\n value: function 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\n if (bbox) {\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 }, {\n key: \"paintFormXObjectEnd\",\n value: function paintFormXObjectEnd() {}\n }, {\n key: \"_initialize\",\n value: 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 key: \"_ensureClipGroup\",\n value: function _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\n return this.current.clipGroup;\n }\n }, {\n key: \"_ensureTransformGroup\",\n value: function _ensureTransformGroup() {\n if (!this.tgrp) {\n this.tgrp = this.svgFactory.createElement('svg:g');\n this.tgrp.setAttributeNS(null, 'transform', pm(this.transformMatrix));\n\n if (this.current.activeClipUrl) {\n this._ensureClipGroup().appendChild(this.tgrp);\n } else {\n this.svg.appendChild(this.tgrp);\n }\n }\n\n return this.tgrp;\n }\n }]);\n\n return SVGGraphics;\n }();\n}\n\n/***/ }),\n/* 197 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFNodeStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(180));\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(198);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar fs = require('fs');\n\nvar http = require('http');\n\nvar https = require('https');\n\nvar url = require('url');\n\nvar fileUriRegex = /^file:\\/\\/\\/[a-zA-Z]:\\//;\n\nfunction parseUrl(sourceUrl) {\n var parsedUrl = url.parse(sourceUrl);\n\n if (parsedUrl.protocol === 'file:' || parsedUrl.host) {\n return parsedUrl;\n }\n\n if (/^[a-z]:[/\\\\]/i.test(sourceUrl)) {\n return url.parse(\"file:///\".concat(sourceUrl));\n }\n\n if (!parsedUrl.host) {\n parsedUrl.protocol = 'file:';\n }\n\n return parsedUrl;\n}\n\nvar PDFNodeStream =\n/*#__PURE__*/\nfunction () {\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._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFNodeStream, [{\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);\n return this._fullRequestReader;\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(start, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n var rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);\n\n this._rangeRequestReaders.push(rangeReader);\n\n return rangeReader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }, {\n key: \"_progressiveDataLength\",\n get: function get() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n }]);\n\n return PDFNodeStream;\n}();\n\nexports.PDFNodeStream = PDFNodeStream;\n\nvar BaseFullReader =\n/*#__PURE__*/\nfunction () {\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\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\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 _read = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee() {\n var chunk, buffer;\n return _regenerator[\"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\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\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 _read.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\n return;\n }\n\n this._readableStream.destroy(reason);\n }\n }, {\n key: \"_error\",\n value: function _error(reason) {\n this._storedError = reason;\n\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\n _this._readCapability.resolve();\n });\n readableStream.on('error', function (reason) {\n _this._error(reason);\n });\n\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this._error(new _util.AbortException('streaming is disabled'));\n }\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 =\n/*#__PURE__*/\nfunction () {\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 _read2 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee2() {\n var chunk, buffer;\n return _regenerator[\"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\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded\n });\n }\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 _read2.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\n return;\n }\n\n this._readableStream.destroy(reason);\n }\n }, {\n key: \"_error\",\n value: function _error(reason) {\n this._storedError = reason;\n\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\n _this2._readCapability.resolve();\n });\n readableStream.on('error', function (reason) {\n _this2._error(reason);\n });\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 =\n/*#__PURE__*/\nfunction (_BaseFullReader) {\n _inherits(PDFNodeStreamFullReader, _BaseFullReader);\n\n function PDFNodeStreamFullReader(stream) {\n var _this3;\n\n _classCallCheck(this, PDFNodeStreamFullReader);\n\n _this3 = _possibleConstructorReturn(this, _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 \\\"\".concat(_this3._url, \"\\\".\"));\n _this3._storedError = error;\n\n _this3._headersCapability.reject(error);\n\n return;\n }\n\n _this3._headersCapability.resolve();\n\n _this3._setReadableStream(response);\n\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\n _this3._request = null;\n\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\n _this3._request.on('error', function (reason) {\n _this3._storedError = reason;\n\n _this3._headersCapability.reject(reason);\n });\n\n _this3._request.end();\n\n return _this3;\n }\n\n return PDFNodeStreamFullReader;\n}(BaseFullReader);\n\nvar PDFNodeStreamRangeReader =\n/*#__PURE__*/\nfunction (_BaseRangeReader) {\n _inherits(PDFNodeStreamRangeReader, _BaseRangeReader);\n\n function PDFNodeStreamRangeReader(stream, start, end) {\n var _this4;\n\n _classCallCheck(this, PDFNodeStreamRangeReader);\n\n _this4 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamRangeReader).call(this, stream));\n _this4._httpHeaders = {};\n\n for (var property in stream.httpHeaders) {\n var value = stream.httpHeaders[property];\n\n if (typeof value === 'undefined') {\n continue;\n }\n\n _this4._httpHeaders[property] = value;\n }\n\n _this4._httpHeaders['Range'] = \"bytes=\".concat(start, \"-\").concat(end - 1);\n\n var handleResponse = function handleResponse(response) {\n if (response.statusCode === 404) {\n var error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(_this4._url, \"\\\".\"));\n _this4._storedError = error;\n return;\n }\n\n _this4._setReadableStream(response);\n };\n\n _this4._request = null;\n\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\n _this4._request.on('error', function (reason) {\n _this4._storedError = reason;\n });\n\n _this4._request.end();\n\n return _this4;\n }\n\n return PDFNodeStreamRangeReader;\n}(BaseRangeReader);\n\nvar PDFNodeStreamFsFullReader =\n/*#__PURE__*/\nfunction (_BaseFullReader2) {\n _inherits(PDFNodeStreamFsFullReader, _BaseFullReader2);\n\n function PDFNodeStreamFsFullReader(stream) {\n var _this5;\n\n _classCallCheck(this, PDFNodeStreamFsFullReader);\n\n _this5 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamFsFullReader).call(this, stream));\n var path = decodeURIComponent(_this5._url.path);\n\n if (fileUriRegex.test(_this5._url.href)) {\n path = path.replace(/^\\//, '');\n }\n\n fs.lstat(path, function (error, stat) {\n if (error) {\n if (error.code === 'ENOENT') {\n error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(path, \"\\\".\"));\n }\n\n _this5._storedError = error;\n\n _this5._headersCapability.reject(error);\n\n return;\n }\n\n _this5._contentLength = stat.size;\n\n _this5._setReadableStream(fs.createReadStream(path));\n\n _this5._headersCapability.resolve();\n });\n return _this5;\n }\n\n return PDFNodeStreamFsFullReader;\n}(BaseFullReader);\n\nvar PDFNodeStreamFsRangeReader =\n/*#__PURE__*/\nfunction (_BaseRangeReader2) {\n _inherits(PDFNodeStreamFsRangeReader, _BaseRangeReader2);\n\n function PDFNodeStreamFsRangeReader(stream, start, end) {\n var _this6;\n\n _classCallCheck(this, PDFNodeStreamFsRangeReader);\n\n _this6 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamFsRangeReader).call(this, stream));\n var path = decodeURIComponent(_this6._url.path);\n\n if (fileUriRegex.test(_this6._url.href)) {\n path = path.replace(/^\\//, '');\n }\n\n _this6._setReadableStream(fs.createReadStream(path, {\n start: start,\n end: end - 1\n }));\n\n return _this6;\n }\n\n return PDFNodeStreamFsRangeReader;\n}(BaseRangeReader);\n\n/***/ }),\n/* 198 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createResponseStatusError = createResponseStatusError;\nexports.extractFilenameFromHeader = extractFilenameFromHeader;\nexports.validateRangeRequestCapabilities = validateRangeRequestCapabilities;\nexports.validateResponseStatus = validateResponseStatus;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _content_disposition = __w_pdfjs_require__(199);\n\nfunction validateRangeRequestCapabilities(_ref) {\n var getResponseHeader = _ref.getResponseHeader,\n isHttp = _ref.isHttp,\n rangeChunkSize = _ref.rangeChunkSize,\n disableRange = _ref.disableRange;\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\n if (!Number.isInteger(length)) {\n return returnValues;\n }\n\n returnValues.suggestedLength = length;\n\n if (length <= 2 * rangeChunkSize) {\n return returnValues;\n }\n\n if (disableRange || !isHttp) {\n return returnValues;\n }\n\n if (getResponseHeader('Accept-Ranges') !== 'bytes') {\n return returnValues;\n }\n\n var contentEncoding = getResponseHeader('Content-Encoding') || 'identity';\n\n if (contentEncoding !== 'identity') {\n return returnValues;\n }\n\n returnValues.allowRangeRequests = true;\n return returnValues;\n}\n\nfunction extractFilenameFromHeader(getResponseHeader) {\n var contentDisposition = getResponseHeader('Content-Disposition');\n\n if (contentDisposition) {\n var filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);\n\n if (filename.includes('%')) {\n try {\n filename = decodeURIComponent(filename);\n } catch (ex) {}\n }\n\n if (/\\.pdf$/i.test(filename)) {\n return filename;\n }\n }\n\n return null;\n}\n\nfunction createResponseStatusError(status, url) {\n if (status === 404 || status === 0 && /^file:/.test(url)) {\n return new _util.MissingPDFException('Missing PDF \"' + url + '\".');\n }\n\n return new _util.UnexpectedResponseException('Unexpected server response (' + status + ') while retrieving PDF \"' + url + '\".', status);\n}\n\nfunction validateResponseStatus(status) {\n return status === 200 || status === 206;\n}\n\n/***/ }),\n/* 199 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader;\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } 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\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction getFilenameFromContentDispositionHeader(contentDisposition) {\n var needsEncodingFixup = true;\n var tmp = toParamRegExp('filename\\\\*', 'i').exec(contentDisposition);\n\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\n tmp = rfc2231getparam(contentDisposition);\n\n if (tmp) {\n var _filename = rfc2047decode(tmp);\n\n return fixupEncoding(_filename);\n }\n\n tmp = toParamRegExp('filename', 'i').exec(contentDisposition);\n\n if (tmp) {\n tmp = tmp[1];\n\n var _filename2 = rfc2616unquote(tmp);\n\n _filename2 = rfc2047decode(_filename2);\n return fixupEncoding(_filename2);\n }\n\n function toParamRegExp(attributePattern, flags) {\n return new RegExp('(?:^|;)\\\\s*' + attributePattern + '\\\\s*=\\\\s*' + '(' + '[^\";\\\\s][^;\\\\s]*' + '|' + '\"(?:[^\"\\\\\\\\]|\\\\\\\\\"?)+\"?' + ')', flags);\n }\n\n function textdecode(encoding, value) {\n if (encoding) {\n if (!/^[\\x00-\\xFF]+$/.test(value)) {\n return value;\n }\n\n try {\n var decoder = new TextDecoder(encoding, {\n fatal: true\n });\n var bytes = Array.from(value, function (ch) {\n return ch.charCodeAt(0) & 0xFF;\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\n return value;\n }\n\n function fixupEncoding(value) {\n if (needsEncodingFixup && /[\\x80-\\xff]/.test(value)) {\n value = textdecode('utf-8', value);\n\n if (needsEncodingFixup) {\n value = textdecode('iso-8859-1', value);\n }\n }\n\n return value;\n }\n\n function rfc2231getparam(contentDisposition) {\n var matches = [],\n match;\n var iter = toParamRegExp('filename\\\\*((?!0\\\\d)\\\\d+)(\\\\*?)', 'ig');\n\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\n if (n in matches) {\n if (n === 0) {\n break;\n }\n\n continue;\n }\n\n matches[n] = [quot, part];\n }\n\n var parts = [];\n\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\n if (quot) {\n part = unescape(part);\n\n if (n === 0) {\n part = rfc5987decode(part);\n }\n }\n\n parts.push(part);\n }\n\n return parts.join('');\n }\n\n function rfc2616unquote(value) {\n if (value.startsWith('\"')) {\n var parts = value.slice(1).split('\\\\\"');\n\n for (var i = 0; i < parts.length; ++i) {\n var quotindex = parts[i].indexOf('\"');\n\n if (quotindex !== -1) {\n parts[i] = parts[i].slice(0, quotindex);\n parts.length = i + 1;\n }\n\n parts[i] = parts[i].replace(/\\\\(.)/g, '$1');\n }\n\n value = parts.join('\"');\n }\n\n return value;\n }\n\n function rfc5987decode(extvalue) {\n var encodingend = extvalue.indexOf('\\'');\n\n if (encodingend === -1) {\n return extvalue;\n }\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\n function rfc2047decode(value) {\n if (!value.startsWith('=?') || /[\\x00-\\x19\\x80-\\xff]/.test(value)) {\n return value;\n }\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\n try {\n text = atob(text);\n } catch (e) {}\n\n return textdecode(charset, text);\n });\n }\n\n return '';\n}\n\n/***/ }),\n/* 200 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFNetworkStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(180));\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(198);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n;\nvar OK_RESPONSE = 200;\nvar PARTIAL_CONTENT_RESPONSE = 206;\n\nfunction getArrayBuffer(xhr) {\n var data = xhr.response;\n\n if (typeof data !== 'string') {\n return data;\n }\n\n var array = (0, _util.stringToBytes)(data);\n return array.buffer;\n}\n\nvar NetworkManager =\n/*#__PURE__*/\nfunction () {\n function NetworkManager(url, args) {\n _classCallCheck(this, NetworkManager);\n\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\n this.getXhr = args.getXhr || function NetworkManager_getXhr() {\n return new XMLHttpRequest();\n };\n\n this.currXhrId = 0;\n this.pendingRequests = Object.create(null);\n }\n\n _createClass(NetworkManager, [{\n key: \"requestRange\",\n value: function requestRange(begin, end, listeners) {\n var args = {\n begin: begin,\n end: end\n };\n\n for (var prop in listeners) {\n args[prop] = listeners[prop];\n }\n\n return this.request(args);\n }\n }, {\n key: \"requestFull\",\n value: function requestFull(listeners) {\n return this.request(listeners);\n }\n }, {\n key: \"request\",\n value: function request(args) {\n var xhr = this.getXhr();\n var xhrId = this.currXhrId++;\n var pendingRequest = this.pendingRequests[xhrId] = {\n xhr: xhr\n };\n xhr.open('GET', this.url);\n xhr.withCredentials = this.withCredentials;\n\n for (var property in this.httpHeaders) {\n var value = this.httpHeaders[property];\n\n if (typeof value === 'undefined') {\n continue;\n }\n\n xhr.setRequestHeader(property, value);\n }\n\n if (this.isHttp && 'begin' in args && 'end' in args) {\n xhr.setRequestHeader('Range', \"bytes=\".concat(args.begin, \"-\").concat(args.end - 1));\n pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE;\n } else {\n pendingRequest.expectedStatus = OK_RESPONSE;\n }\n\n xhr.responseType = 'arraybuffer';\n\n if (args.onError) {\n xhr.onerror = function (evt) {\n args.onError(xhr.status);\n };\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 }, {\n key: \"onProgress\",\n value: function onProgress(xhrId, evt) {\n var pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n if (pendingRequest.onProgress) {\n pendingRequest.onProgress(evt);\n }\n }\n }, {\n key: \"onStateChange\",\n value: function onStateChange(xhrId, evt) {\n var pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n var xhr = pendingRequest.xhr;\n\n if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {\n pendingRequest.onHeadersReceived();\n delete pendingRequest.onHeadersReceived;\n }\n\n if (xhr.readyState !== 4) {\n return;\n }\n\n if (!(xhrId in this.pendingRequests)) {\n return;\n }\n\n delete this.pendingRequests[xhrId];\n\n if (xhr.status === 0 && this.isHttp) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n\n return;\n }\n\n var xhrStatus = xhr.status || OK_RESPONSE;\n var ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;\n\n if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n\n return;\n }\n\n var chunk = getArrayBuffer(xhr);\n\n if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {\n var rangeHeader = xhr.getResponseHeader('Content-Range');\n var matches = /bytes (\\d+)-(\\d+)\\/(\\d+)/.exec(rangeHeader);\n pendingRequest.onDone({\n begin: parseInt(matches[1], 10),\n chunk: chunk\n });\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 }, {\n key: \"hasPendingRequests\",\n value: function hasPendingRequests() {\n for (var xhrId in this.pendingRequests) {\n return true;\n }\n\n return false;\n }\n }, {\n key: \"getRequestXhr\",\n value: function getRequestXhr(xhrId) {\n return this.pendingRequests[xhrId].xhr;\n }\n }, {\n key: \"isPendingRequest\",\n value: function isPendingRequest(xhrId) {\n return xhrId in this.pendingRequests;\n }\n }, {\n key: \"abortAllRequests\",\n value: function abortAllRequests() {\n for (var xhrId in this.pendingRequests) {\n this.abortRequest(xhrId | 0);\n }\n }\n }, {\n key: \"abortRequest\",\n value: function abortRequest(xhrId) {\n var xhr = this.pendingRequests[xhrId].xhr;\n delete this.pendingRequests[xhrId];\n xhr.abort();\n }\n }]);\n\n return NetworkManager;\n}();\n\nvar PDFNetworkStream =\n/*#__PURE__*/\nfunction () {\n function PDFNetworkStream(source) {\n _classCallCheck(this, PDFNetworkStream);\n\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 }\n\n _createClass(PDFNetworkStream, [{\n key: \"_onRangeRequestReaderClosed\",\n value: function _onRangeRequestReaderClosed(reader) {\n var i = this._rangeRequestReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeRequestReaders.splice(i, 1);\n }\n }\n }, {\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);\n return this._fullRequestReader;\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n var reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);\n reader.onClosed = this._onRangeRequestReaderClosed.bind(this);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }]);\n\n return PDFNetworkStream;\n}();\n\nexports.PDFNetworkStream = PDFNetworkStream;\n\nvar PDFNetworkStreamFullRequestReader =\n/*#__PURE__*/\nfunction () {\n function PDFNetworkStreamFullRequestReader(manager, source) {\n _classCallCheck(this, PDFNetworkStreamFullRequestReader);\n\n this._manager = manager;\n var args = {\n onHeadersReceived: this._onHeadersReceived.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\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\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 }\n\n _createClass(PDFNetworkStreamFullRequestReader, [{\n key: \"_onHeadersReceived\",\n value: function _onHeadersReceived() {\n var fullRequestXhrId = this._fullRequestId;\n\n var fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);\n\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\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n\n if (this._isRangeSupported) {\n this._manager.abortRequest(fullRequestXhrId);\n }\n\n this._headersReceivedCapability.resolve();\n }\n }, {\n key: \"_onDone\",\n value: function _onDone(args) {\n if (args) {\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: args.chunk,\n done: false\n });\n } else {\n this._cachedChunks.push(args.chunk);\n }\n }\n\n this._done = true;\n\n if (this._cachedChunks.length > 0) {\n return;\n }\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n }, {\n key: \"_onError\",\n value: function _onError(status) {\n var url = this._url;\n var exception = (0, _network_utils.createResponseStatusError)(status, url);\n this._storedError = exception;\n\n this._headersReceivedCapability.reject(exception);\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.reject(exception);\n });\n\n this._requests = [];\n this._cachedChunks = [];\n }\n }, {\n key: \"_onProgress\",\n value: function _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 }, {\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee() {\n var chunk, requestCapability;\n return _regenerator[\"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\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 _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._headersReceivedCapability.reject(reason);\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n if (this._manager.isPendingRequest(this._fullRequestId)) {\n this._manager.abortRequest(this._fullRequestId);\n }\n\n this._fullRequestReader = null;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\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 key: \"contentLength\",\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersReceivedCapability.promise;\n }\n }]);\n\n return PDFNetworkStreamFullRequestReader;\n}();\n\nvar PDFNetworkStreamRangeRequestReader =\n/*#__PURE__*/\nfunction () {\n function PDFNetworkStreamRangeRequestReader(manager, begin, end) {\n _classCallCheck(this, PDFNetworkStreamRangeRequestReader);\n\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 }\n\n _createClass(PDFNetworkStreamRangeRequestReader, [{\n key: \"_close\",\n value: function _close() {\n if (this.onClosed) {\n this.onClosed(this);\n }\n }\n }, {\n key: \"_onDone\",\n value: function _onDone(data) {\n var chunk = data.chunk;\n\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunk = chunk;\n }\n\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n this._close();\n }\n }, {\n key: \"_onProgress\",\n value: function _onProgress(evt) {\n if (!this.isStreamingSupported && this.onProgress) {\n this.onProgress({\n loaded: evt.loaded\n });\n }\n }\n }, {\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee2() {\n var chunk, requestCapability;\n return _regenerator[\"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 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\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 _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n if (this._manager.isPendingRequest(this._requestId)) {\n this._manager.abortRequest(this._requestId);\n }\n\n this._close();\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return false;\n }\n }]);\n\n return PDFNetworkStreamRangeRequestReader;\n}();\n\n/***/ }),\n/* 201 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFFetchStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(180));\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(198);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\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 =\n/*#__PURE__*/\nfunction () {\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 if (end <= this._progressiveDataLength) {\n return null;\n }\n\n var reader = new PDFFetchStreamRangeReader(this, begin, end);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }, {\n key: \"_progressiveDataLength\",\n get: function get() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n }]);\n\n return PDFFetchStream;\n}();\n\nexports.PDFFetchStream = PDFFetchStream;\n\nvar PDFFetchStreamReader =\n/*#__PURE__*/\nfunction () {\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 || false;\n this._contentLength = source.length;\n this._headersCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n if (typeof AbortController !== 'undefined') {\n this._abortController = new AbortController();\n }\n\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._headers = new Headers();\n\n for (var property in this._stream.httpHeaders) {\n var value = this._stream.httpHeaders[property];\n\n if (typeof value === 'undefined') {\n continue;\n }\n\n this._headers.append(property, value);\n }\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\n _this._reader = response.body.getReader();\n\n _this._headersCapability.resolve();\n\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\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 _read = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee() {\n var _ref, value, done, buffer;\n\n return _regenerator[\"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 _ref = _context.sent;\n value = _ref.value;\n done = _ref.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\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\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 _read.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\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 =\n/*#__PURE__*/\nfunction () {\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 || false;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._isStreamingSupported = !source.disableStream;\n\n if (typeof AbortController !== 'undefined') {\n this._abortController = new AbortController();\n }\n\n this._headers = new Headers();\n\n for (var property in this._stream.httpHeaders) {\n var value = this._stream.httpHeaders[property];\n\n if (typeof value === 'undefined') {\n continue;\n }\n\n this._headers.append(property, value);\n }\n\n this._headers.append('Range', \"bytes=\".concat(begin, \"-\").concat(end - 1));\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\n _this2._readCapability.resolve();\n\n _this2._reader = response.body.getReader();\n });\n this.onProgress = null;\n }\n\n _createClass(PDFFetchStreamRangeReader, [{\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee2() {\n var _ref2, value, done, buffer;\n\n return _regenerator[\"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 _ref2 = _context2.sent;\n value = _ref2.value;\n done = _ref2.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\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded\n });\n }\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 _read2.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\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\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=pdf.js.map","'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar stringifyPrimitive = function(v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return map(objectKeys(obj), function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (isArray(obj[k])) {\n return map(obj[k], function(v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq +\n encodeURIComponent(stringifyPrimitive(obj));\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n\nfunction map (xs, f) {\n if (xs.map) return xs.map(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n res.push(f(xs[i], i));\n }\n return res;\n}\n\nvar objectKeys = Object.keys || function (obj) {\n var res = [];\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key);\n }\n return res;\n};\n"],"sourceRoot":""}