{"version":3,"sources":["webpack:///./node_modules/vue-dragscroll/dist/vue-dragscroll.min.js","webpack:///./node_modules/vue-pdf/node_modules/pdfjs-dist/es5/build/pdf.worker.js","webpack:///./src/pages/Shared/communications/Global/detail/components/ReplyModal/index.vue?e8ad","webpack:///./src/components/Modals/PDF/index.vue?ff60","webpack:///./node_modules/vue-resize-sensor/src/resize-sensor.vue","webpack:///node_modules/vue-resize-sensor/src/resize-sensor.vue","webpack:///./node_modules/vue-resize-sensor/src/resize-sensor.vue?66bd","webpack:///./node_modules/vue-pdf/src/componentFactory.js","webpack:///node_modules/vue-pdf/src/vuePdfNoSss.vue","webpack:///./node_modules/vue-pdf/src/vuePdfNoSss.vue","webpack:///./node_modules/vue-pdf/src/vuePdfNoSss.vue?04aa","webpack:///./src/pages/Shared/communications/Global/detail/index.vue?1a18","webpack:///./src/pages/Shared/communications/Global/newConversation/index.vue?4c16","webpack:///./node_modules/vue-pdf/src/pdfjsWrapper.js","webpack:///./src/components/tiles/PDF.vue?9714","webpack:///src/components/tiles/PDF.vue","webpack:///./src/components/tiles/PDF.vue?cd04","webpack:///./src/components/tiles/PDF.vue","webpack:///./node_modules/vue-resize-sensor/src/resize-sensor.vue?56a6","webpack:///./node_modules/vue-pdf/node_modules/pdfjs-dist/es5/web/pdf_viewer.js","webpack:///./src/pages/Shared/communications/Global/detail/index.vue?ad58","webpack:///./src/pages/Shared/communications/Global/detail/components/ReplyModal/index.vue?38bf","webpack:///./src/pages/Shared/communications/Global/detail/components/ReplyModal/keys/data.js","webpack:///./src/services/Conversations/ConversationDetails/store.js","webpack:///./src/pages/Shared/communications/Global/detail/components/ReplyModal/keys/methods.js","webpack:///src/pages/Shared/communications/Global/detail/components/ReplyModal/index.vue","webpack:///./src/pages/Shared/communications/Global/detail/components/ReplyModal/index.vue?14d0","webpack:///./src/pages/Shared/communications/Global/detail/components/ReplyModal/index.vue","webpack:///./src/pages/Shared/communications/Global/detail/keys/data.js","webpack:///./src/pages/Shared/communications/Global/detail/keys/methods.js","webpack:///src/pages/Shared/communications/Global/detail/index.vue","webpack:///./src/pages/Shared/communications/Global/detail/index.vue?d115","webpack:///./src/pages/Shared/communications/Global/detail/index.vue","webpack:///./src/components/Modals/PDF/index.vue?cb06","webpack:///./src/components/Modals/PDF/keys/methods.js","webpack:///src/components/Modals/PDF/index.vue","webpack:///./src/components/Modals/PDF/index.vue?ed7b","webpack:///./src/components/Modals/PDF/index.vue","webpack:///./node_modules/vue-pdf/node_modules/pdfjs-dist/es5/build/pdf.js","webpack:///./node_modules/vue-pdf/src/annotationLayer.css?9eb7","webpack:///./src/pages/Shared/communications/Global/newConversation/index.vue?412f","webpack:///src/pages/Shared/communications/Global/newConversation/index.vue","webpack:///./src/pages/Shared/communications/Global/newConversation/index.vue?5299","webpack:///./src/pages/Shared/communications/Global/newConversation/index.vue"],"names":["e","o","module","exports","window","t","n","r","i","l","call","m","c","d","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","__esModule","create","bind","default","prototype","hasOwnProperty","p","s","length","addEventListener","passive","removeEventListener","componentInstance","$emit","CustomEvent","detail","document","createEvent","initCustomEvent","elm","dispatchEvent","iterator","constructor","u","a","f","target","querySelector","console","error","container","active","scrollBy","scrollLeft","scrollTop","v","md","MouseEvent","pageX","touches","pageY","elementFromPoint","pageXOffset","pageYOffset","arg","modifiers","noleft","noright","nomiddle","noback","noforward","w","h","y","firstChild","g","dataset","dragscroll","noDragscroll","which","clientX","clientY","mu","mm","preventDefault","clientWidth","scrollWidth","clientHeight","scrollHeight","pass","x","body","deltaX","deltaY","readyState","inserted","update","JSON","stringify","oldValue","unbind","install","Number","version","split","Error","concat","directive","Vue","VueDragscroll","use","Worker","render","staticRenderFns","component","createLoadingTask","pdfjsWrapper","PDFJSWrapper","attrs","style","ref","class","props","initial","on","resize","this","src","type","String","Uint8Array","page","rotate","watch","pdf","loadDocument","loadPage","renderPage","methods","size","$el","parentNode","width","height","$refs","canvas","offsetWidth","resolutionScale","getResolutionScale","print","dpi","pageList","printPage","mounted","annotationLayer","$on","destroyed","destroy","pendingOperation","Promise","resolve","isPDFDocumentLoadingTask","obj","__PDFDocumentLoadingTask","options","source","url","data","TypeError","assign","withCredentials","loadingTask","PDFJS","getDocument","onPassword","onProgress","canvasElt","annotationLayerElt","emitEvent","pdfDoc","pdfPage","pdfRender","canceling","clearCanvas","getContext","clearRect","clearAnnotations","removeChild","save","pageNumberOnly","PRINT_RESOLUTION","undefined","PRINT_UNITS","CSS_UNITS","iframeElt","createElement","reject","frameBorder","scrolling","cssText","onload","contentWindow","appendChild","then","win","title","getPage","viewport","getViewport","scale","head","textContent","allPages","pageNumber","numPages","indexOf","push","printCanvasElt","canvasContext","transform","intent","promise","all","focus","queryCommandSupported","execCommand","removeIframe","catch","err","cancel","pageRotate","devicePixelRatio","rotation","visibility","viewer","scrollPageIntoView","params","linkService","setDocument","setViewer","getAnnotationsOperation","getAnnotations","annotations","AnnotationLayer","clone","dontFlip","div","renderInteractiveForms","pdfRenderOperation","RenderingCancelledException","forEachPage","pageCallback","next","pageNum","removeAttribute","updatePassword","reason","reasonStr","PasswordResponses","NEED_PASSWORD","INCORRECT_PASSWORD","status","ratio","loaded","total","Math","min","transformOrigin","_vm","_h","$createElement","_c","_self","staticStyle","base64pdf","$event","pageCount","Array","_l","index","key","components","PDF","root","factory","modules","installedModules","__w_pdfjs_require__","moduleId","name","getter","mode","ns","object","property","_annotation_layer_builder","AnnotationLayerBuilder","DefaultAnnotationLayerFactory","_text_layer_builder","DefaultTextLayerFactory","TextLayerBuilder","_ui_utils","EventBus","NullL10n","ProgressBar","_pdf_link_service","PDFLinkService","SimpleLinkService","_download_manager","DownloadManager","_genericl10n","GenericL10n","_pdf_find_controller","PDFFindController","_pdf_history","PDFHistory","_pdf_page_view","PDFPageView","_pdf_single_page_viewer","PDFSinglePageViewer","_pdf_viewer","PDFViewer","_pdfjsLib","_classCallCheck","instance","Constructor","_defineProperties","descriptor","configurable","writable","_createClass","protoProps","staticProps","_ref","pageDiv","downloadManager","_ref$imageResourcesPa","imageResourcesPath","_ref$renderInteractiv","_ref$l10n","l10n","_cancelled","_this","arguments","parameters","className","translate","setAttribute","pdfjsLib","isValidRotation","isValidScrollMode","isValidSpreadMode","isPortraitOrientation","clamp","getPDFFileNameFromURL","noContextMenuHandler","parseQueryString","backtrackBeforeAllVisibleElements","getVisibleElements","roundToDivide","getPageSizeInches","approximateFraction","getOutputScale","scrollIntoView","watchScroll","binarySearchFirstItem","normalizeWheelEventDelta","waitOnEventOrTimeout","moveToEndOfArray","WaitOnType","animationStarted","SpreadMode","ScrollMode","TextLayerMode","RendererType","PresentationModeState","VERTICAL_PADDING","SCROLLBAR_PADDING","MAX_AUTO_SCALE","UNKNOWN_SCALE","MAX_SCALE","MIN_SCALE","DEFAULT_SCALE","DEFAULT_SCALE_VALUE","AutoPrintRegExp","_regenerator","_interopRequireDefault","_typeof","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","minLen","_arrayLikeToArray","toString","slice","from","test","len","arr2","_arr","_n","_d","_e","_s","_i","done","isArray","asyncGeneratorStep","gen","_next","_throw","info","_asyncToGenerator","fn","self","args","apply","UNKNOWN","NORMAL","CHANGING","FULLSCREEN","CANVAS","SVG","DISABLE","ENABLE","ENABLE_ENHANCE","VERTICAL","HORIZONTAL","WRAPPED","NONE","ODD","EVEN","formatL10nValue","text","replace","getLanguage","mark","_callee","wrap","_context","prev","abrupt","stop","getDirection","_callee2","_context2","fallback","_callee3","_context3","element","_callee4","_context4","ctx","backingStoreRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","pixelRatio","sx","sy","scaled","spot","skipOverflowHiddenElements","parent","offsetParent","offsetY","offsetTop","clientTop","offsetX","offsetLeft","clientLeft","getComputedStyle","overflow","_scaleY","_scaleX","top","left","viewAreaElement","callback","debounceScroll","evt","rAF","requestAnimationFrame","currentX","lastX","state","right","currentY","lastY","down","_eventHandler","query","parts","ii","param","toLowerCase","decodeURIComponent","items","condition","minIndex","maxIndex","currentIndex","currentItem","floor","xinv","limit","result","x_","b","q","round","view","userUnit","_view","x1","y1","x2","y2","changeOrientation","views","elt","pageTop","scrollEl","sortByVisibility","horizontal","bottom","isElementBottomAfterViewTop","elementBottom","isElementRightAfterViewLeft","elementRight","visible","numViews","firstVisibleElementInd","lastEdge","currentWidth","currentHeight","viewWidth","viewHeight","viewRight","viewBottom","hiddenHeight","max","hiddenWidth","percent","id","first","last","sort","pc","abs","isDataSchema","trim","substring","defaultFilename","warn","reURI","reFilename","splitURI","exec","suggestedFilename","includes","ex","delta","sqrt","angle","atan2","PI","MOUSE_DOM_DELTA_PIXEL_MODE","MOUSE_DOM_DELTA_LINE_MODE","MOUSE_PIXELS_PER_LINE","MOUSE_LINES_PER_PAGE","deltaMode","isInteger","values","EVENT","TIMEOUT","_ref2","_ref2$delay","delay","handler","_off","eventHandler","timeout","clearTimeout","_on","timeoutHandler","setTimeout","_listeners","eventName","listener","external","eventListeners","externalListeners","forEach","_ref3","splice","_ref4","units","bar","_indeterminate","classList","add","remove","progressSize","_percent","scrollbarWidth","set","val","isNaN","_updateBar","moved","write","read","_read","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","context","Context","_invoke","makeInvokeMethod","tryCatch","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","Gp","defineIteratorMethods","method","AsyncIterator","PromiseImpl","invoke","record","__await","unwrapped","previousPromise","enqueue","callInvokeWithMethodAndArg","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","displayName","isGeneratorFunction","genFun","ctor","setPrototypeOf","__proto__","awrap","async","iter","keys","reverse","pop","skipTempReset","charAt","rootEntry","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","Function","webpackPolyfill","deprecate","paths","children","eventBus","_ref$externalLinkTarg","externalLinkTarget","_ref$externalLinkRel","externalLinkRel","_ref$externalLinkEnab","externalLinkEnabled","_ref$ignoreDestinatio","ignoreDestinationZoom","_ignoreDestinationZoom","baseUrl","pdfDocument","pdfViewer","pdfHistory","_pagesRefCache","dest","goToDestination","namedDest","explicitDest","destRef","_cachedPageNumber","getPageIndex","pageIndex","cachePageRef","pagesCount","pushCurrentPosition","destArray","getDestination","getAnchorUrl","escape","str","anchor","hash","dispatch","search","phraseSearch","phrase","zoomArgs","zoom","zoomArg","zoomArgNumber","parseFloat","allowNegativeOffset","pagemode","navigateTo","nameddest","unescape","parse","isValidExplicitDestination","action","back","forward","pageRef","refStr","num","isPageVisible","currentPageNumber","pagesRotation","destLength","allowNull","EXPAND_DIVS_TIMEOUT","textLayerDiv","_ref$findController","findController","_ref$enhanceTextSelec","enhanceTextSelection","textContentItemsStr","textContentStream","renderingDone","pageIdx","matches","textDivs","textLayerRenderTask","_onUpdateTextLayerMatches","_bindMouse","endOfContent","numTextDivs","textLayerFrag","createDocumentFragment","renderTextLayer","_finishRendering","_updateMatches","readableStream","matchesLength","iIndex","end","queryLen","matchIdx","match","begin","divIdx","offset","isSelectedPage","selected","selectedMatchIdx","highlightAll","prevEnd","infinity","i0","i1","isSelected","highlightSuffix","scrollMatchIntoView","matchIndex","appendTextToDiv","beginText","n0","n1","fromOffset","toOffset","content","node","createTextNode","span","clearedUntilDivIdx","highlightMatches","pageMatches","pageMatchesLength","_convertMatches","_renderMatches","_this2","expandDivsTimer","expandTextDivs","adjustTop","getPropertyValue","divBounds","getBoundingClientRect","toFixed","_viewer_compatibility","DISABLE_CREATE_OBJECT_URL","viewerCompatibilityParams","disableCreateObjectURL","_download","blobUrl","filename","click","href","download","documentElement","_ref$disableCreateObj","createValidAbsoluteUrl","contentType","navigator","msSaveBlob","Blob","createObjectURL","blob","downloadUrl","URL","compatibilityParams","userAgent","platform","maxTouchPoints","isAndroid","isIE","isIOS","isIOSChrome","maxCanvasPixels","freeze","webL10n","lang","_lang","_ready","setLanguage","_getLanguage","_getDirection","_get","_x","_x2","_x3","_translate","_x4","gL10nData","gTextData","gTextProp","gLanguage","gMacros","gReadyState","gAsyncResourceLoading","getL10nResourceLinks","querySelectorAll","getL10nDictionary","script","innerHTML","getTranslatableChildren","getL10nAttributes","l10nId","getAttribute","l10nArgs","xhrLoadText","onSuccess","onFailure","xhr","XMLHttpRequest","open","overrideMimeType","onreadystatechange","responseText","onerror","ontimeout","send","parseResource","successCallback","failureCallback","baseURL","evalString","lastIndexOf","parseProperties","parsedPropertiesCallback","dictionary","reBlank","reComment","reSection","reImport","reSplit","parseRawLines","rawText","extendedSyntax","parsedRawLinesCallback","entries","currentLang","genericLang","skipLang","nextEntry","line","shift","loadImport","tmp","response","prop","loadLocale","clear","langLinks","langCount","onResourceLoaded","gResourceCount","resource","L10nResourceLink","load","dict","locales","default_locale","log","defaultLocale","anyCaseLang","link","getPluralRules","locales2rules","isIn","list","isBetween","start","pluralRules","getL10nData","rv","substIndexes","substArguments","reIndex","reMatch","macroName","paramName","macro","reArgs","matched_text","translateElement","getChildElementCount","childNodes","found","nodeType","nodeValue","textNode","insertBefore","k","childElementCount","count","translateFragment","elementCount","plural","_pluralRules","fallbackString","getData","getText","rtlList","shortCode","getReadyState","ready","once","FindState","_pdf_find_utils","FOUND","NOT_FOUND","PENDING","FIND_TIMEOUT","MATCH_SCROLL_OFFSET_TOP","MATCH_SCROLL_OFFSET_LEFT","CHARACTERS_TO_NORMALIZE","normalizationRegex","normalize","join","RegExp","ch","_linkService","_eventBus","_reset","_onFindBarClose","_pdfDocument","_firstPageCapability","cmd","_state","_shouldDirtyMatch","_dirtyMatch","_updateUIState","_extractText","findbarClosed","_highlightMatches","pendingTimeout","_findTimeout","_nextMatch","_updateAllPages","_ref2$element","_ref2$pageIndex","_ref2$matchIndex","_scrollMatches","_selected","_pageMatches","_pageMatchesLength","_offset","wrapped","_extractTextPromises","_pageContents","_matchesCountTotal","_pagesToSearch","_pendingFindMatches","_resumePageIdx","createPromiseCapability","matchesWithLength","isSubTerm","currentElem","nextElem","skipped","prevElem","matchLength","startIdx","charCodeAt","getCharacterType","endIdx","_limit","pageContent","entireWord","_isEntireWord","queryArray","subquery","subqueryLen","_prepareMatches","_query","_this$_state","caseSensitive","_calculatePhraseMatch","_calculateWordMatch","_updatePage","_nextPageMatch","pageMatchesCount","_updateUIResultsCount","_loop","extractTextCapability","getTextContent","normalizeWhitespace","textItems","strBuf","j","jj","_this3","previous","findPrevious","currentPageIndex","_calculateMatch","numPageMatches","_updateMatch","_advanceOffsetPage","numMatches","_matchesReady","previousPage","_this4","_this$_selected","current","matchesCount","_requestMatchesCount","_rawQuery","_normalizedQuery","CharacterType","SPACE","ALPHA_LETTER","PUNCT","HAN_LETTER","KATAKANA_LETTER","HIRAGANA_LETTER","HALFWIDTH_KATAKANA_LETTER","THAI_LETTER","isAlphabeticalScript","charCode","isAscii","isAsciiAlpha","isAsciiDigit","isAsciiSpace","isHan","isKatakana","isHiragana","isHalfwidthKatakana","isThai","isDestHashesEqual","isDestArraysEqual","HASH_CHANGE_TIMEOUT","POSITION_UPDATED_THRESHOLD","UPDATE_VIEWAREA_TIMEOUT","getCurrentHash","location","_initialized","_fingerprint","_boundEvents","_isViewerInPresentationMode","switchInProgress","_isPagesLoaded","onPagesLoaded","fingerprint","_ref2$resetHistory","resetHistory","_ref2$updateUrl","updateUrl","reInitialized","_updateUrl","_bindEvents","history","_popStateInProgress","_blockHashChange","_currentHash","_numPositionUpdates","_uid","_maxUid","_destination","_position","_isValidState","_this$_parseCurrentHa","_parseCurrentHash","_pushOrReplaceState","destination","_updateInternalState","uid","_initialRotation","_initialBookmark","_pageHide","_unbindEvents","_updateViewareaTimeout","_ref3$namedDest","forceReplace","_tryPushCurrentPosition","newUrl","shouldReplace","newState","startsWith","replaceState","pushState","temporary","position","checkReload","_performance$getEntri","performance","getEntriesByType","_performance$getEntri2","perfEntry","removeTemporary","checkNameddest","pdfOpenParams","_ref5","newHash","hashChanged","setHash","_this$_parseCurrentHa2","updateViewarea","_updateViewarea","popState","_popState","pageHide","destHash","pushHash","_parseQueryString","firstDest","secondDest","isEntryEqual","second","_pdf_rendering_queue","MAX_CANVAS_PIXELS","defaultViewport","renderingId","pageLabel","pdfPageRotate","hasRestrictedScaling","textLayerMode","useOnlyCssZoom","renderingQueue","textLayerFactory","annotationLayerFactory","renderer","enableWebGL","paintTask","paintedViewportMap","WeakMap","renderingState","RenderingStates","INITIAL","resume","textLayer","zoomLayer","totalRotation","stats","cleanup","removeFromDOM","zoomLayerCanvas","keepZoomLayer","keepAnnotations","cancelRendering","currentZoomLayerNode","currentAnnotationNode","hide","_resetZoomLayer","svg","loadingIconDiv","cssTransform","timestamp","now","isScalingRestricted","outputScale","hasAttribute","redrawAnnotations","relativeRotation","absRotation","scaleX","scaleY","textLayerViewport","textRelativeRotation","textAbsRotation","transX","transY","convertToPdfPoint","FINISHED","RUNNING","canvasWrapper","createTextLayerBuilder","renderContinueCallback","cont","isHighestPriority","PAUSED","finishPaintTask","paintOnSvg","paintOnCanvas","onRenderContinue","resultPromise","streamTextContent","setTextContentStream","createAnnotationLayerBuilder","renderCapability","renderTask","msg","isCanvasHidden","showCanvas","mozOpaque","alpha","actualSizeViewport","pixelsInViewport","maxScale","sfx","sfy","renderContext","onContinue","wrapper","cancelled","ensureNotCancelled","getOperatorList","opList","svgGfx","SVGGraphics","commonObjs","objs","getSVG","label","PDFRenderingQueue","CLEANUP_TIMEOUT","pdfThumbnailViewer","onIdle","highestPriorityPage","idleTimeout","printing","isThumbnailViewEnabled","currentlyVisiblePages","forceRendering","scrolledDown","visibleViews","numVisible","isViewFinished","nextPageIndex","previousPageIndex","draw","renderHighestPriority","_base_viewer","receiver","Reflect","base","_superPropBase","desc","getOwnPropertyDescriptor","_getPrototypeOf","_inherits","subClass","superClass","_setPrototypeOf","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","Super","NewTarget","construct","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","sham","Proxy","Date","_BaseViewer","_super","_ensurePageViewVisible","_previousPageNumber","_shadowViewer","_updateScrollDown","pageView","_pages","_currentPageNumber","previousPageView","viewerNodes","_ref$pageSpot","pageSpot","_ref$pageNumber","_setCurrentPageNumber","scroll","_getCurrentVisiblePage","visiblePages","shadow","BaseViewer","DEFAULT_CACHE_SIZE","PDFPageViewBuffer","newSize","pagesToKeep","pageIdsToKeep","Set","iMax","has","isSameScale","oldScale","newScale","_name","firstElementChild","removePageBorders","enablePrintAutoRotate","defaultRenderingQueue","_scrollUpdate","presentationModeState","_onBeforeDraw","_onAfterDraw","_resetView","resetCurrentPageView","_resetCurrentPageView","_pageLabels","_getVisiblePages","_onePageRenderedCapability","_cancelRendering","firstPagePromise","_pagesCapability","_buffer","settled","firstPdfPage","currentScale","_viewerElement","firstPageView","setPdfPage","_spreadMode","_updateSpreadMode","_onePageRenderedOrForceFetch","loadingParams","disableAutoFetch","getPagesLeft","_pageNum","labels","setPageLabel","_currentScale","_currentScaleValue","_location","_pagesRotation","_pagesRequests","_scrollMode","_updateScrollMode","newValue","noScroll","preset","presetValue","isInPresentationMode","isChangingPresentationMode","_setScaleUpdatePages","currentPage","noPadding","hPadding","vPadding","_isScrollModeHorizontal","pageWidthScale","pageHeightScale","horizontalScale","_setScale","_scrollIntoView","_ref3$destArray","_ref3$allowNegativeOf","_ref3$ignoreDestinati","widthScale","heightScale","pageWidth","pageHeight","currentScaleValue","boundingRect","convertToViewportPoint","firstPage","normalizedScaleValue","currentPageView","topLeft","getPagePoint","intLeft","intTop","numVisiblePages","newCacheSize","_updateHelper","_updateLocation","contains","some","scrollAhead","getHighestPriority","_ensurePdfPageLoaded","renderView","pagesOverview","map","isFirstPagePortrait","scrollMode","toggle","pages","parity","spread","_iMax","cloneNode","every","_createForOfIteratorHelper","allowArrayLike","it","F","normalCompletion","didErr","step","_e2","_this$container","_step","currentId","stillFullyVisible","_iterator","staticClass","_v","$t","display","alignItems","margin","path","$store","friendlyMessage","participantsLine","openRecipentModal","subject","redirectToReferenceLink","recipientLine","messageFrom","indentation","identityInformation","formatDateFn","createdDate","messageText","replyToMessage","photos","filter","privateThreadMessageID","paddingRight","paddingLeft","overflowY","photo","pindex","justifyContent","borderRadius","boxShadow","openPhotoModal","flexShrink","maxWidth","maxHeight","objectFit","cursor","documents","doc","dindex","openPDFModal","zIndex","model","photoModal","$$v","$set","expression","replyPrivateThreadMessageParent","toggleCommittee","vendorHoaID","toggleVendor","toggleHomeowner","toggleBoard","toggleManagement","toggleRecipients","recipientList","addLabel","parseInt","addValue","filterBy","onRecipientChange","addRecipientModal","recipientsSelected","privateThreadID","parentSubject","parentFrom","scopedSlots","_u","handleSubmit","submitReplyMessage","replyMessage","files","directives","rawName","previews","image","deleteDropFile","loading","errors","isDebug","isOpen","docPreviews","actions","getMessageWithRepliesById","debug","kms","message","notifyProblem","addMessageReply","replyToMessageID","post","results","details","notifyError","Vuex","conversationDetail","Store","mutations","getters","reload","privateThreadMessageParent","formData","addReplyMessage","saveAttachments","notifyMessage","closeModal","attachments","updateAttachments","file","conversationAttachmentStore","returned","privateThreadMessageAttachmentID","payload","$","ValidationObserver","ValidationProvider","Markdown","computed","privateThread","privateThreadMessages","privateThreadParticipants","privateThreadAttachments","conversationAttachmentFile","author","referenceType","referenceId","lGet","photoIds","documentIds","styles","mainContainer","minHeight","vendorHoaList","moment","format","loadingComponent","$buefy","$route","scope","loadMessageAndReplyThreads","authUser","vendorGlobalID","getVendorHoaDropDown","resetPersistedArrays","close","committeeID","vendorIds","ownerIds","accountManagerIds","conversationList","recipient","addRecipient","added","tempHolder","selectedOwnerIDsJson","newRecipient","isThisAlreadyInArray","ownerID","selectedVendorIDsJson","vendorID","selectedAccountManagerIDsJson","accountManagingUserId","referenceDescription","ordinalThreadMessages","previousReplyId","rootIndentation","counter","indentationLevel","privateThreadMessageAttachments","getAttachments","orderedMessages","referenceObjectName","aspNetUserID","participantType","privateThreadMessage","parentID","asBase64","searchTerm","flattenAddedIds","flattenDocAddedIds","pdfModal","$router","returnToParent","PageContentLayoutOnly","ReplyModal","Modal","PDFModal","PDFTile","VueMarkdown","CommitteeModal","VendorModal","HomeownerModal","BoardModal","ManagementModal","RecipientsModal","hoaId","selectedOtherCommitteeID","i18n","messages","en","pdfTitle","setTitle","direction","amt","_display_utils","addLinkAttributes","getFilenameFromUrl","LinkTarget","loadScript","PDFDateString","_api","build","LoopbackPort","PDFDataRangeTransport","PDFWorker","_util","CMapCompressionType","InvalidPDFException","MissingPDFException","OPS","PermissionFlag","removeNullCharacters","UnexpectedResponseException","UNSUPPORTED_FEATURES","Util","VerbosityLevel","_annotation_layer","_api_compatibility","apiCompatibilityParams","_worker_options","GlobalWorkerOptions","_text_layer","_svg","_require","isNodeJS","PDFNodeStream","setPDFNetworkStreamFactory","PDFFetchStream","PDFNetworkStream","isFetchSupported","isValidFetchUrl","deprecated","StatTimer","DOMSVGFactory","DOMCMapReaderFactory","DOMCanvasFactory","DEFAULT_LINK_REL","PageViewport","SVG_NS","canvasAndContext","_ref$baseUrl","_ref$isCompressed","isCompressed","_fetch","fetch","compressionType","BINARY","baseURI","cMapData","ok","statusText","t0","arrayBuffer","t1","t2","stringToBytes","t3","request","responseType","DONE","assert","createElementNS","viewBox","_ref5$offsetX","_ref5$offsetY","_ref5$dontFlip","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","centerX","centerY","_ref6","_ref6$scale","_ref6$rotation","_ref6$offsetX","_ref6$offsetY","_ref6$dontFlip","applyTransform","rect","bottomRight","applyInverseTransform","_BaseException","BaseException","SELF","BLANK","PARENT","TOP","_ref7","rel","_ref7$enabled","enabled","urlNullRemoved","onclick","targetStr","pdfDateStringRegex","started","times","outBuf","longest","time","_step2","_iterator2","_time","duration","padEnd","Response","ReadableStream","_ref8","protocol","input","isString","year","month","day","hour","minute","universalTimeRelation","offsetHour","offsetMinute","UTC","arrayByteLength","arraysToBytes","bytesToString","getVerbosityLevel","isArrayBuffer","isArrayEqual","isBool","isEmptyObj","isNum","isSameOrigin","setVerbosityLevel","string32","stringToPDFString","stringToUTF8String","utf8StringToString","unreachable","IsEvalSupportedCached","IsLittleEndianCached","FormatError","UnknownErrorException","TextRenderingMode","StreamType","PasswordException","AbortException","ImageKind","FontType","AnnotationType","AnnotationStateModelType","AnnotationReviewState","AnnotationReplyType","AnnotationMarkedState","AnnotationFlag","AnnotationFieldFlag","AnnotationBorderStyleType","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","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","FLATE","LZW","DCT","JPX","JBIG","A85","AHX","CCF","RLX","TYPE1","TYPE1C","CIDFONTTYPE0","CIDFONTTYPE0C","TRUETYPE","CIDFONTTYPE2","TYPE3","OPENTYPE","TYPE0","MMTYPE1","ERRORS","WARNINGS","INFOS","STREAM","dependency","setLineWidth","setLineCap","setLineJoin","setMiterLimit","setDash","setRenderingIntent","setFlatness","setGState","restore","moveTo","lineTo","curveTo","curveTo2","curveTo3","closePath","rectangle","stroke","closeStroke","fill","eoFill","fillStroke","eoFillStroke","closeFillStroke","closeEOFillStroke","endPath","clip","eoClip","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","errorTilingPattern","errorExtGState","errorXObject","errorFontLoadType3","errorFontState","errorFontMissing","errorFontTranslate","errorColorSpace","errorOperatorList","errorFontToUnicode","errorFontLoadNative","errorFontGetPath","verbosity","level","cond","otherUrl","origin","other","_isValidProtocol","absoluteUrl","code","_BaseException2","_super2","_BaseException3","_super3","_BaseException4","_super4","_BaseException5","_super5","_BaseException6","_super6","_BaseException7","_super7","NullCharactersRegExp","bytes","MAX_ARGUMENT_COUNT","fromCharCode","chunkEnd","chunk","subarray","byteLength","resultLength","pos","item","itemLength","isLittleEndian","buffer8","view32","Uint32Array","buffer","isEvalSupported","rgbBuf","m1","m2","xt","yt","p1","p2","p3","p4","transpose","rect1","rect2","compare","orderedX","orderedY","normalizeRect","PDFStringTranslateTable","_i2","_i3","encodeURIComponent","arr1","capability","isSettled","digits","forceDataSchema","b1","b2","b3","d1","d2","d3","d4","_is_node","globalThis","_pdfjsCompatibilityChecked","hasDOM","btoa","chars","Buffer","atob","Element","OriginalDOMTokenListAdd","DOMTokenList","OriginalDOMTokenListRemove","_len","tokens","_key","_tokens","token","_len2","_key2","_tokens2","force","OriginalPushState","OriginalReplaceState","endsWith","log2","allSettled","isReadableStreamSupported","controller","Map","WeakSet","codePointAt","fromCodePoint","padStart","process","versions","nw","electron","global","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","FORCED","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","noTargetGet","forced","check","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPrimitive","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","O","P","fails","nativePropertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","1","V","bitmap","IndexedObject","requireObjectCoercible","classof","isObject","PREFERRED_STRING","valueOf","EXISTS","definePropertyModule","anObject","nativeDefineProperty","Attributes","inspectSource","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","unsafe","simple","store","functionToString","SHARED","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","getterFor","TYPE","wmget","wmhas","wmset","metadata","STATE","shared","IS_PURE","copyright","postfix","random","ownKeys","getOwnPropertyDescriptorModule","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getOwnPropertySymbols","aFunction","variable","namespace","internalObjectKeys","enumBugKeys","getOwnPropertyNames","names","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","toInteger","argument","ceil","integer","replacement","feature","detection","POLYFILL","NATIVE","string","entryUnbind","notARegExp","correctIsRegExpLogic","nativeStartsWith","CORRECT_IS_REGEXP_LOGIC","MDN_POLYFILL_BUG","proto","searchString","that","isRegExp","wellKnownSymbol","MATCH","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","METHOD_NAME","regexp","CONSTRUCTOR","METHOD","nativeEndsWith","endPosition","$includes","addToUnscopables","arrayMethodUsesToLength","USES_TO_LENGTH","ACCESSORS","UNSCOPABLES","ArrayPrototype","activeXDocument","defineProperties","html","documentCreateElement","GT","LT","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","NullProtoObjectViaActiveX","temp","parentWindow","NullProtoObjectViaIFrame","iframeDocument","iframe","JS","NullProtoObject","domain","ActiveXObject","Properties","objectKeys","cache","thrower","argument0","argument1","defineIterator","STRING_ITERATOR","setInternalState","iterated","point","CONVERT_TO_STRING","S","codeAt","createIteratorConstructor","setToStringTag","Iterators","IteratorsCore","BUGGY_SAFARI_ITERATORS","ITERATOR","KEYS","VALUES","ENTRIES","returnThis","Iterable","NAME","IteratorConstructor","DEFAULT","IS_SET","CurrentIteratorPrototype","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","TO_STRING_TAG","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","PrototypeOfArrayIteratorPrototype","arrayIterator","toObject","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","TAG","aPossiblePrototype","setter","CORRECT_SETTER","checkCorrectnessOfIteration","INCORRECT_ITERATION","callWithSafeIterationClosing","isArrayIteratorMethod","createProperty","getIteratorMethod","arrayLike","C","argumentsLength","mapfn","mapping","returnMethod","propertyKey","TO_STRING_TAG_SUPPORT","classofRaw","CORRECT_ARGUMENTS","tryGet","tag","callee","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","nativeAssign","A","B","symbol","alphabet","chr","T","LN2","number","isFinite","ArrayBufferViewCore","speciesConstructor","aTypedArray","aTypedArrayConstructor","exportTypedArrayMethod","$slice","Int8Array","NATIVE_ARRAY_BUFFER","Int8ArrayPrototype","Uint8ClampedArray","Uint8ClampedArrayPrototype","TypedArray","TypedArrayPrototype","isPrototypeOf","TYPED_ARRAY_TAG","NATIVE_ARRAY_BUFFER_VIEWS","opera","TYPED_ARRAY_TAG_REQIRED","TypedArrayConstructorsList","Int16Array","Uint16Array","Int32Array","Float32Array","Float64Array","isView","klass","isTypedArray","ARRAY","TypedArrayConstructor","exportTypedArrayStaticMethod","ArrayBuffer","DataView","SPECIES","defaultConstructor","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","task","microtask","promiseResolve","hostReportErrors","newPromiseCapabilityModule","perform","V8_VERSION","PROMISE","getInternalPromiseState","PromiseConstructor","$fetch","newPromiseCapability","newGenericPromiseCapability","IS_NODE","DISPATCH_EVENT","UNHANDLED_REJECTION","REJECTION_HANDLED","FULFILLED","HANDLED","UNHANDLED","GLOBAL_CORE_JS_PROMISE","PromiseRejectionEvent","FakePromise","isThenable","notify","isReject","notified","chain","reactions","exited","reaction","fail","rejection","onHandleUnhandled","enter","exit","onUnhandled","event","initEvent","IS_UNHANDLED","isUnhandled","emit","unwrap","internalReject","internalResolve","executor","onFulfilled","onRejected","$promiseResolve","remaining","alreadyCalled","race","CONSTRUCTOR_NAME","Result","stopped","AS_ENTRIES","IS_ITERATOR","iterFn","boundFunction","defer","channel","port","IS_IOS","setImmediate","clearImmediate","MessageChannel","Dispatch","queue","ONREADYSTATECHANGE","run","runner","postMessage","host","nextTick","port2","port1","onmessage","importScripts","flush","macrotask","MutationObserver","WebKitMutationObserver","queueMicrotaskDescriptor","queueMicrotask","observe","characterData","promiseCapability","PromiseCapability","$$resolve","$$reject","v8","NON_GENERIC","real","onFinally","isFunction","EOF","USE_NATIVE_URL","arrayFrom","toASCII","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","parseHost","codePoints","parseIPv6","isSpecial","parseIPv4","percentEncode","C0ControlPercentEncodeSet","partsLength","numbers","part","radix","ipv4","numbersSeen","ipv4Piece","swaps","swap","address","pieceIndex","compress","pointer","char","findLongestZeroSequence","ipv6","maxLength","currStart","currLength","serializeHost","ignore0","unshift","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","specialSchemes","ftp","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","codePoint","encodedCodePoints","URLConstructor","baseState","urlString","searchParams","searchParamsState","updateSearchParams","updateURL","serializeURL","getOrigin","getProtocol","getUsername","getPassword","getHost","hostname","getHostname","getPort","pathname","getPathname","getSearch","getSearchParams","getHash","URLPrototype","output","accessorDescriptor","nativeCreateObjectURL","nativeRevokeObjectURL","revokeObjectURL","toJSON","maxInt","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexNonASCII","regexSeparators","OVERFLOW_ERROR","baseMinusTMin","stringFromCharCode","ucs2decode","extra","digitToBasic","digit","adapt","numPoints","firstTime","encode","currentValue","inputLength","bias","basicLength","handledCPCount","handledCPCountPlusOne","RangeError","qMinusT","baseMinusT","encoded","getIterator","Headers","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","getInternalIteratorState","plus","sequences","percentSequence","percentDecode","sequence","deserialize","find","replacer","serialize","parseSearchParams","attribute","attributes","validateArgumentsLength","passed","required","URLSearchParamsIterator","URLSearchParamsConstructor","entryIterator","entryNext","init","URLSearchParamsPrototype","append","getAll","entriesIndex","sliceIndex","headers","SymbolPolyfill","description","noop","NumberIsNaN","rethrowAssertionErrorRejection","typeIsObject","createArrayFromList","elements","ArrayBufferCopy","destOffset","srcOffset","IsFiniteNonNegativeNumber","IsNonNegativeNumber","Infinity","Call","CreateAlgorithmFromUnderlyingMethod","underlyingObject","methodName","algoArgCount","extraArgs","PromiseCall","fullArgs","promiseResolvedWith","InvokeOrNoop","promiseRejectedWith","TransferArrayBuffer","IsDetachedBuffer","ValidateAndNormalizeHighWaterMark","highWaterMark","MakeSizeAlgorithmFromSizeFunction","originalPromise","originalPromiseThen","originalPromiseResolve","originalPromiseReject","newPromise","PerformPromiseThen","uponPromise","uponFulfillment","uponRejection","transformPromiseWith","fulfillmentHandler","rejectionHandler","setPromiseIsHandledToTrue","QUEUE_MAX_ARRAY_SIZE","SimpleQueue","_cursor","_size","_front","_elements","_back","oldBack","newBack","oldFront","newFront","oldCursor","newCursor","peek","front","ReadableStreamCreateReadResult","forAuthorCode","ReadableStreamReaderGenericInitialize","reader","stream","_forAuthorCode","_ownerReadableStream","_reader","defaultReaderClosedPromiseInitialize","defaultReaderClosedPromiseInitializeAsResolved","defaultReaderClosedPromiseInitializeAsRejected","_storedError","ReadableStreamReaderGenericCancel","ReadableStreamCancel","ReadableStreamReaderGenericRelease","defaultReaderClosedPromiseReject","defaultReaderClosedPromiseResetToRejected","readerLockException","_closedPromise","_closedPromise_resolve","_closedPromise_reject","defaultReaderClosedPromiseResolve","CancelSteps","PullSteps","AcquireReadableStreamDefaultReader","ReadableStreamDefaultReader","ReadableStreamAddReadRequest","readRequest","_resolve","_reject","_readRequests","ReadableStreamFulfillReadRequest","ReadableStreamGetNumReadRequests","ReadableStreamHasDefaultReader","IsReadableStreamDefaultReader","_a","AsyncIteratorPrototype","IsReadableStream","IsReadableStreamLocked","defaultReaderBrandCheckException","ReadableStreamDefaultReaderRead","releaseLock","_disturbed","_readableStreamController","ReadableStreamAsyncIteratorPrototype","IsReadableStreamAsyncIterator","streamAsyncIteratorBrandCheckException","_asyncIteratorReader","return","_preventCancel","AcquireReadableStreamAsyncIterator","preventCancel","Boolean","DequeueValue","pair","_queue","_queueTotalSize","EnqueueValueWithSize","PeekQueueValue","ResetQueue","AbortSteps","ErrorSteps","WritableStream","underlyingSink","strategy","InitializeWritableStream","sizeAlgorithm","SetUpWritableStreamDefaultControllerFromUnderlyingSink","IsWritableStream","streamBrandCheckException","IsWritableStreamLocked","abort","WritableStreamAbort","WritableStreamCloseQueuedOrInFlight","WritableStreamClose","getWriter","AcquireWritableStreamDefaultWriter","WritableStreamDefaultWriter","CreateWritableStream","startAlgorithm","writeAlgorithm","closeAlgorithm","abortAlgorithm","WritableStreamDefaultController","SetUpWritableStreamDefaultController","_writer","_writableStreamController","_writeRequests","_inFlightWriteRequest","_closeRequest","_inFlightCloseRequest","_pendingAbortRequest","_backpressure","_promise","wasAlreadyErroring","_reason","_wasAlreadyErroring","WritableStreamStartErroring","closeRequest","writer","defaultWriterReadyPromiseResolve","WritableStreamDefaultControllerClose","WritableStreamAddWriteRequest","writeRequest","WritableStreamDealWithRejection","WritableStreamFinishErroring","WritableStreamDefaultWriterEnsureReadyPromiseRejected","WritableStreamHasOperationMarkedInFlight","_started","storedError","abortRequest","WritableStreamRejectCloseAndClosedPromiseIfNeeded","WritableStreamFinishInFlightWrite","WritableStreamFinishInFlightWriteWithError","WritableStreamFinishInFlightClose","defaultWriterClosedPromiseResolve","WritableStreamFinishInFlightCloseWithError","WritableStreamMarkCloseRequestInFlight","WritableStreamMarkFirstWriteRequestInFlight","defaultWriterClosedPromiseReject","WritableStreamUpdateBackpressure","backpressure","defaultWriterReadyPromiseReset","_ownerWritableStream","defaultWriterReadyPromiseInitialize","defaultWriterReadyPromiseInitializeAsResolved","defaultWriterClosedPromiseInitialize","defaultWriterReadyPromiseInitializeAsRejected","defaultWriterClosedPromiseInitializeAsResolved","defaultWriterClosedPromiseInitializeAsRejected","IsWritableStreamDefaultWriter","defaultWriterBrandCheckException","defaultWriterLockException","WritableStreamDefaultWriterGetDesiredSize","_readyPromise","WritableStreamDefaultWriterAbort","WritableStreamDefaultWriterClose","WritableStreamDefaultWriterRelease","WritableStreamDefaultWriterWrite","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","isAbortSignal","aborted","NativeDOMException","DOMException","isDOMExceptionConstructor","createDOMExceptionPolyfill","captureStackTrace","DOMException$1","ReadableStreamPipeTo","preventClose","preventAbort","signal","shuttingDown","currentWrite","shutdownWithAction","pipeLoop","resolveLoop","rejectLoop","pipeStep","isOrBecomesErrored","shutdown","isOrBecomesClosed","destClosed_1","waitForWritesToFinish","oldCurrentWrite","originalIsError","originalError","doTheRest","finalize","newError","isError","ReadableStreamDefaultController","IsReadableStreamDefaultController","defaultControllerBrandCheckException","ReadableStreamDefaultControllerGetDesiredSize","ReadableStreamDefaultControllerCanCloseOrEnqueue","ReadableStreamDefaultControllerClose","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","respond","bytesWritten","_associatedReadableByteStreamController","ReadableByteStreamControllerRespond","respondWithNewView","ReadableByteStreamControllerRespondWithNewView","ReadableByteStreamController","IsReadableByteStreamController","byteStreamControllerBrandCheckException","_byobRequest","_pendingPullIntos","firstDescriptor","byteOffset","bytesFilled","byobRequest","SetUpReadableStreamBYOBRequest","ReadableByteStreamControllerGetDesiredSize","_controlledReadableByteStream","ReadableByteStreamControllerClose","ReadableByteStreamControllerEnqueue","ReadableByteStreamControllerError","ReadableByteStreamControllerClearAlgorithms","ReadableByteStreamControllerHandleQueueDrain","viewE","autoAllocateChunkSize","_autoAllocateChunkSize","bufferE","pullIntoDescriptor","elementSize","readerType","ReadableByteStreamControllerCallPullIfNeeded","ReadableByteStreamControllerShouldCallPull","ReadableByteStreamControllerClearPendingPullIntos","ReadableByteStreamControllerInvalidateBYOBRequest","ReadableByteStreamControllerCommitPullIntoDescriptor","filledView","ReadableByteStreamControllerConvertPullIntoDescriptor","ReadableStreamFulfillReadIntoRequest","ReadableByteStreamControllerEnqueueChunkToQueue","ReadableByteStreamControllerFillPullIntoDescriptorFromQueue","currentAlignedBytes","maxBytesToCopy","maxBytesFilled","maxAlignedBytes","totalBytesToCopyRemaining","headOfQueue","bytesToCopy","destStart","ReadableByteStreamControllerFillHeadPullIntoDescriptor","ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue","ReadableByteStreamControllerShiftPendingPullInto","ReadableByteStreamControllerPullInto","BYTES_PER_ELEMENT","ReadableStreamAddReadIntoRequest","emptyView","ReadableByteStreamControllerRespondInClosedState","ReadableStreamHasBYOBReader","ReadableStreamGetNumReadIntoRequests","ReadableByteStreamControllerRespondInReadableState","remainderSize","remainder","ReadableByteStreamControllerRespondInternal","firstPendingPullInto","transferredBuffer","transferredView","SetUpReadableByteStreamController","SetUpReadableByteStreamControllerFromUnderlyingSource","underlyingByteSource","AcquireReadableStreamBYOBReader","ReadableStreamBYOBReader","readIntoRequest","_readIntoRequests","IsReadableStreamBYOBReader","byobReaderBrandCheckException","ReadableStreamBYOBReaderRead","InitializeReadableStream","typeString","streamBrandCheckException$1","getReader","pipeThrough","_b","readable","pipeTo","tee","branches","sourceCancelPromise","ByteLengthQueuingStrategy","CountQueuingStrategy","TransformStream","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","collection","collectionStrong","InternalMetadataModule","inheritIfRequired","common","IS_MAP","IS_WEAK","ADDER","NativeConstructor","NativePrototype","exported","fixMethod","nativeMethod","getConstructor","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","setStrong","FREEZING","METADATA","isExtensible","setMetadata","objectID","weakData","fastKey","getWeakData","onFreeze","meta","preventExtensions","Wrapper","NewTargetPrototype","internalStateGetterFor","define","getEntry","removed","callbackfn","ITERATOR_NAME","getInternalCollectionState","InternalWeakMap","collectionWeak","enforceIternalState","IS_IE11","$WeakMap","WeakMapPrototype","nativeDelete","nativeHas","nativeGet","nativeSet","frozen","ArrayIterationModule","$has","findIndex","uncaughtFrozenStore","UncaughtFrozenStore","findUncaughtFrozen","arraySpeciesCreate","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","specificCreate","originalArray","nativeFromCodePoint","INCORRECT_LENGTH","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","array","SPECIES_SUPPORT","isConcatSpreadable","spreadable","E","foo","nativeObjectCreate","getOwnPropertyNamesExternal","wrappedWellKnownSymbolModule","defineWellKnownSymbol","$forEach","SYMBOL","TO_PRIMITIVE","$stringify","nativeGetOwnPropertyNames","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","isSymbol","$defineProperty","$defineProperties","properties","$getOwnPropertySymbols","$propertyIsEnumerable","$create","$getOwnPropertyDescriptor","$getOwnPropertyNames","IS_OBJECT_PROTOTYPE","keyFor","sym","useSetter","useSimple","FORCED_JSON_STRINGIFY","space","$replacer","windowNames","getWindowNames","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","$padStart","WEBKIT_BUG","repeat","IS_END","fillString","fillLen","stringFiller","stringLength","fillStr","intMaxLength","$padEnd","$values","TO_ENTRIES","PDFPageProxy","PDFDocumentProxy","_font_loader","_canvas","_message_handler","_metadata","_transport_stream","_webgl","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_e3","DEFAULT_RANGE_CHUNK_SIZE","RENDERING_CANCELLED_TIMEOUT","createPDFNetworkStream","pdfNetworkStreamFactory","PDFDocumentLoadingTask","range","rangeTransport","worker","pdfBytes","rangeChunkSize","CMapReaderFactory","ignoreErrors","stopAtErrors","fontExtraProperties","pdfBug","maxImageSize","disableFontFace","disableRange","disableStream","workerParams","workerPort","fromPort","_worker","docId","workerIdPromise","_fetchDocument","networkStreamPromise","networkStream","PDFDataTransportStream","initialData","progressiveDone","httpHeaders","workerId","messageHandler","MessageHandler","postMessageTransfers","transport","WorkerTransport","_transport","_capability","pdfDataRangeTransport","sendWithPromise","apiVersion","docBaseUrl","nextDocumentId","onUnsupportedFeature","transportDestroyed","_rangeListeners","_progressListeners","_progressiveReadListeners","_progressiveDoneListeners","_readyCapability","_step3","_iterator3","_step4","_iterator4","pdfInfo","_pdfInfo","getDestinations","getPageLabels","getPageLayout","getPageMode","getViewerPreferences","getOpenAction","openAction","getJavaScript","getOutline","getPermissions","getMetadata","downloadInfoCapability","getStats","startCleanup","pageInfo","_pageIndex","_pageInfo","_stats","_pdfBug","PDFObjects","cleanupAfterRender","pendingCleanup","intentStates","_ref3$rotation","_ref3$offsetX","_ref3$offsetY","_ref3$dontFlip","_ref4$intent","annotationsPromise","annotationsIntent","_this5","_ref5$intent","_ref5$enableWebGL","_ref5$renderInteracti","_ref5$transform","_ref5$imageLayer","imageLayer","_ref5$canvasFactory","canvasFactory","_ref5$background","background","renderingIntent","intentState","streamReaderCancelTimeout","canvasFactoryInstance","webGLContext","WebGLContext","enable","displayReadyCapability","operatorList","fnArray","argsArray","lastChunk","_pumpOperatorList","renderTasks","internalRenderTask","_tryCleanup","_abortOperatorList","timeEnd","InternalRenderTask","useRequestAnimationFrame","transparency","initializeGraphics","operatorListChanged","opListReadCapability","opListTask","_ref6$normalizeWhites","_ref6$disableCombineT","disableCombineTextItems","TEXT_CONTENT_CHUNK_SIZE","sendWithStream","combineTextItems","pump","_textContent$items","_this6","pageCache","waitOn","renderCompleted","resetStats","_this7","operatorListChunk","_this8","streamReader","_renderPageChunk","_ref9","_this9","_ref9$force","_defer","_deferred","transfers","_this10","cloneValue","cloned","transferable","PDFWorkerClosure","pdfWorkerPorts","isWorkerDisabled","fallbackWorkerSrc","nextFakeWorkerId","fakeWorkerCapability","pdfjsFilePath","currentScript","_getWorkerSrc","workerSrc","getMainThreadWorkerMessageHandler","mainWorkerMessageHandler","pdfjsWorker","WorkerMessageHandler","setupFakeWorkerGlobal","loader","_ref10","_callee$","eval","createCDNWrapper","_ref11","_ref11$name","_ref11$port","_ref11$verbosity","_port","_webWorker","_messageHandler","_initializeFromPort","_initialize","_this11","terminateEarly","onWorkerError","_setupFakeWorker","supportTransfers","sendTest","testObj","_this12","workerHandler","setup","fontLoader","FontLoader","_onUnsupportedFeature","_params","cMapUrl","cMapPacked","destroyCapability","_passwordCapability","_networkStream","_fullReader","_lastProgress","pagePromises","setupMessageHandler","_this13","_destroy","terminated","cancelAllRequests","_this14","sink","getFullReader","onPull","_ref12","onCancel","headersCapability","fullReader","headersReady","isStreamingSupported","isRangeSupported","contentLength","rangeReader","getRangeReader","_ref13","_ref14","_numPages","_startRenderPage","_data","exportedData","exportedError","fontRegistry","FontInspector","registerFont","fontAdded","FontFaceObject","_data2","imageData","pageProxy","MAX_IMAGE_SIZE_TO_STORE","fetched","builtInCMap","_ref15","featureId","_this15","_this16","Metadata","contentDispositionFilename","_this17","cleanupSuccessful","_objs","objId","resolved","_ensureObj","RenderTask","_internalRenderTask","canvasInRendering","_ref16","_ref16$useRequestAnim","_ref16$pdfBug","operatorListIdx","running","graphicsReadyCallback","graphicsReady","_useRequestAnimationFrame","_continueBound","_continue","_scheduleNextBound","_scheduleNext","_nextBound","StepperManager","stepper","nextBreakPoint","getNextBreakPoint","_this$params","gfx","CanvasGraphics","beginDrawing","endDrawing","updateOperatorList","_this18","_next2","executeOperatorList","BaseFontLoader","nativeFontFaces","styleElement","nativeFontFace","fonts","rule","getElementsByTagName","styleSheet","sheet","insertRule","cssRules","_bind","attached","missingFile","isFontLoadingAPISupported","createNativeFontFace","addNativeFontFace","family","createFontFaceRule","isSyncFontLoadingSupported","_queueLoadingCallback","_prepareFontLoadEvent","rules","fontsToLoad","supported","_BaseFontLoader","GenericFontLoader","loadingContext","requests","nextRequestId","loadTestFontId","completeRequest","otherRequest","int32","spliceString","insert","chunk1","chunk2","isFontReady","fillText","getImageData","_loadTestFont","COMMENT_OFFSET","CFF_CHECKSUM_OFFSET","XXXX_VALUE","checksum","loadedName","fontFamily","getLoadTestFont","translatedData","_ref2$isEvalSupported","_ref2$disableFontFace","_ref2$ignoreErrors","_ref2$onUnsupportedFe","_ref2$fontRegistry","compiledGlyphs","FontFace","mimetype","character","cmds","js","_ii","_pattern_helper","MIN_FONT_SIZE","MAX_FONT_SIZE","MAX_GROUP_SIZE","MIN_WIDTH_FACTOR","COMPILE_TYPE3_GLYPHS","MAX_SIZE_TO_COMPILE","FULL_CHUNK_HEIGHT","addContextCurrentTransform","mozCurrentTransform","_originalSave","_originalRestore","_originalRotate","_originalScale","_originalTranslate","_originalTransform","_originalSetTransform","setTransform","_transformMatrix","_transformStack","ad_bc","bc_ad","old","cosValue","cos","sinValue","sin","CachedCanvases","getCanvas","trackTransform","canvasEntry","compileType3Glyph","imgData","j0","POINT_TO_PROCESS_LIMIT","width1","points","POINT_TYPES","lineSize","data0","mask","elem","sum","steps","outlines","pp","coords","p0","drawOutline","beginPath","kk","ll","CanvasExtraState","alphaIsShape","fontSize","fontSizeScale","textMatrix","textMatrixScale","fontMatrix","leading","lineX","lineY","charSpacing","wordSpacing","textHScale","textRenderingMode","textRise","fillColor","strokeColor","patternFill","fillAlpha","strokeAlpha","lineWidth","activeSMask","resumeSMaskCtx","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_","composeSMaskAlpha","maskData","layerData","transferMap","composeSMaskLuminosity","genericComposeSMask","maskCtx","layerCtx","subtype","backdrop","composeFn","hasBackdrop","PIXELS_TO_PROCESS","row","chunkHeight","composeSMask","isEnabled","composed","layer","drawImage","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","dashArray","dashPhase","flatness","states","suspendSMaskGroup","beginSMaskGroup","drawnWidth","drawnHeight","cacheId","scratchCanvas","currentCtx","currentTransform","groupCtx","startTransformInverse","mozCurrentTransformInverse","deltaTransform","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","charWidth","restoreNeeded","isSpace","fontChar","accent","remeasure","measuredWidth","measureText","isFontSubpixelAAEnabled","characterScaleX","isInFont","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","matrix","bbox","group","isolated","knockout","bounds","getAxialAlignedBoundingBox","canvasBounds","intersect","imageSmoothingEnabled","mozImageSmoothingEnabled","img","compiled","maskCanvas","positions","images","imgToPaint","tmpCanvas","HTMLElement","tmpCtx","paintWidth","paintHeight","tmpCanvasId","newWidth","newHeight","getCanvasPosition","appendImage","inverse","ShadingIRs","applyBoundingBox","Path2D","region","RadialAxial","fromIR","raw","colorStops","r1","grad","createLinearGradient","createRadialGradient","addColorStop","createMeshCanvas","drawTriangle","c1","c2","c3","colors","rowSize","x3","y3","xa","car","cag","cab","xb","cbr","cbg","cbb","c1r","c1g","c1b","c2r","c2g","c2b","c3r","c3g","c3b","minY","maxY","_k","_k2","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","CallbackKind","DATA","ERROR","StreamKind","CANCEL","CANCEL_COMPLETE","CLOSE","ENQUEUE","PULL","PULL_COMPLETE","START_COMPLETE","wrapReason","sourceName","targetName","comObj","callbackId","streamId","streamSinks","streamControllers","callbackCapabilities","actionHandler","_onComObjOnMessage","_processStreamMessage","cbSourceName","cbTargetName","_createStreamSink","actionName","ah","_postMessage","queueingStrategy","startCapability","startCall","pullCall","cancelCall","isClosed","pull","pullCapability","cancelCapability","streamSink","isCancelled","lastDesiredSize","sinkCapability","success","_deleteStreamController","_deleteStreamController2","_xml_parser","_repair","parser","SimpleXMLParser","xmlDocument","parseFromString","_metadataMap","_parse","codes","rdf","nodeName","nextSibling","hasChildNodes","_step$value","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","_parseContent","onBeginElement","onText","isEmpty","SimpleDOMNode","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","_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","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","AnnotationElementFactory","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","svgFactory","_createContainer","borderStyle","borderWidth","horizontalRadius","horizontalCornerRadius","verticalRadius","verticalCornerRadius","radius","borderBottomStyle","borderColor","trigger","popupElement","PopupElement","modificationDate","contents","hideWrapper","popup","_AnnotationElement","newWindow","_bindNamedAction","_bindLink","getDestinationHash","executeNamedAction","_AnnotationElement2","hasPopup","alt","_createPopup","_AnnotationElement3","_WidgetAnnotationElem","hasAppearance","fieldValue","TEXT_ALIGNMENT","multiLine","disabled","readOnly","fieldName","maxLen","comb","fieldWidth","combWidth","letterSpacing","verticalAlign","_setTextStyle","textAlignment","textAlign","fontWeight","fontStyle","_WidgetAnnotationElem2","_WidgetAnnotationElem3","buttonValue","_LinkAnnotationElemen","_WidgetAnnotationElem4","_super8","selectElement","combo","multiSelect","multiple","option","optionElement","displayValue","exportValue","_AnnotationElement4","_super9","IGNORE_TYPES","parentType","selector","parentId","parentElement","parentLeft","parentWidth","pinned","BACKGROUND_ENLIGHT","hideElement","dateObject","toDateObject","date","toLocaleDateString","toLocaleTimeString","_formatContents","_toggle","_show","_hide","lines","pin","unpin","_AnnotationElement5","_super10","_AnnotationElement6","_super11","lineCoordinates","_AnnotationElement7","_super12","square","_AnnotationElement8","_super13","circle","_AnnotationElement9","_super14","containerClassName","svgElementName","vertices","coordinate","polyline","_PolylineAnnotationEl","_super15","_AnnotationElement10","_super16","_AnnotationElement11","_super17","inkLists","inkList","_AnnotationElement12","_super18","_AnnotationElement13","_super19","_AnnotationElement14","_super20","_AnnotationElement15","_super21","_AnnotationElement16","_super22","_AnnotationElement17","_super23","_this6$data$file","downloadData","_step5","sortedAnnotations","popupAnnotations","_iterator5","_sortedAnnotations","_step6","_iterator6","MAX_TEXT_DIVS_TO_RENDER","NonWhitespaceRegexp","isAllWhitespace","appendText","geom","textDiv","textDivProperties","canvasWidth","originalTransform","paddingBottom","paddingTop","_textDivs","_textDivProperties","tx","_viewport","fontName","fontHeight","fontAscent","ascent","descent","_fontInspectorEnabled","shouldScaleText","absScaleX","absScaleY","_textContentStream","_layoutText","_enhanceTextSelection","angleCos","angleSin","divWidth","divHeight","_bounds","_canceled","textDivsLength","_renderingDone","findPositiveMin","ts","expand","expanded","expandBounds","divProperties","boxScale","boxes","box","x1New","x2New","expandBoundsLTR","fakeBoundary","horizon","boundary","horizonPart","affectedBoundary","maxXNew","xNew","changedHorizon","lastBoundary","useBoundary","used","TextLayerRenderTask","_textContent","_container","_textContentItemsStr","_layoutTextLastFontSize","_layoutTextLastFontFamily","_layoutTextCtx","_renderTimer","renderParameters","_render","_processItems","styleCache","_textDiv$style","_this$_layoutTextCtx$","textStyles","expandDivs","transformBuf","paddingBuf","divProps","padding","opListToTree","opTree","opListElement","pf","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","ihdr","pngLength","SVGExtraState","dependencies","activeClipUrl","clipGroup","maskId","clipCount","maskCount","shadingCount","transformMatrix","transformStack","extraStack","embedFonts","embeddedFonts","cssStyle","_operatorIdMapping","tgrp","executeOpTree","svgElement","loadDependencies","convertOpList","operatorIdMapping","opTreeElement","lineMatrix","xcoords","ycoords","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","_step7","_iterator7","_step7$value","setStrokeAlpha","setFillAlpha","imgSrc","cliprect","imgEl","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","auth","_BaseFullReader","handleResponse","statusCode","_setReadableStream","getResponseHeader","_validateRangeRequest","validateRangeRequestCapabilities","allowRangeRequests","suggestedLength","extractFilenameFromHeader","_request","_BaseRangeReader","_httpHeaders","Range","_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","decode","contentDispositionStr","_match","_match2","quot","_n2","_matches$_n","_quot","_part","quotindex","extvalue","encodingend","langvalue","charset","hex","OK_RESPONSE","PARTIAL_CONTENT_RESPONSE","getArrayBuffer","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","createHeaders","PDFFetchStreamReader","PDFFetchStreamRangeReader","_withCredentials","AbortController","_abortController","_headers","_yield$this$_reader$r","_yield$this$_reader$r2","NewConversation"],"mappings":"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","file":"js/conversations.bf434433.js","sourcesContent":["!function(e,o){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=o():\"function\"==typeof define&&define.amd?define([],o):\"object\"==typeof exports?exports.VueDragScroll=o():e.VueDragScroll=o()}(window,(function(){return function(e){var o={};function t(n){if(o[n])return o[n].exports;var r=o[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,t),r.l=!0,r.exports}return t.m=e,t.c=o,t.d=function(e,o,n){t.o(e,o)||Object.defineProperty(e,o,{enumerable:!0,get:n})},t.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},t.t=function(e,o){if(1&o&&(e=t(e)),8&o)return e;if(4&o&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&o&&\"string\"!=typeof e)for(var r in e)t.d(n,r,function(o){return e[o]}.bind(null,r));return n},t.n=function(e){var o=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(o,\"a\",o),o},t.o=function(e,o){return Object.prototype.hasOwnProperty.call(e,o)},t.p=\"/dist/\",t(t.s=0)}([function(e,o,t){\"use strict\";t.r(o),t.d(o,\"dragscroll\",(function(){return d}));var n=function(e,o,t){for(var n=0,r=o.length;n=s.scrollWidth||0===s.scrollLeft,p=s.scrollTop+s.clientHeight>=s.scrollHeight||0===s.scrollTop;u=-e+(e=a?n.clientX:n.touches[0].clientX),c=-r+(r=a?n.clientY:n.touches[0].clientY),o.modifiers.pass?(s.scrollLeft-=o.modifiers.y?-0:u,s.scrollTop-=o.modifiers.x?-0:c,s===document.body&&(s.scrollLeft-=o.modifiers.y?-0:u,s.scrollTop-=o.modifiers.x?-0:c),(v||o.modifiers.y)&&m(-u,0),(p||o.modifiers.x)&&m(0,-c)):(o.modifiers.x&&(c=-0),o.modifiers.y&&(u=-0),s.scrollLeft-=u,s.scrollTop-=c,s===document.body&&(s.scrollLeft-=u,s.scrollTop-=c)),f.deltaX=-u,f.deltaY=-c,i(t,\"dragscrollmove\",f)}},n(s,u,s.md),n(window,a,s.mu),n(window,c,s.mm)};d?\"complete\"===document.readyState?v():window.addEventListener(\"load\",v):(r(s,u,s.md),r(window,a,s.mu),r(window,c,s.mm))},d={inserted:function(e,o,t){s(e,o,t)},update:function(e,o,t,n){JSON.stringify(o.value)!==JSON.stringify(o.oldValue)&&s(e,o,t)},unbind:function(e,o,t){var n=e;r(n,u,n.md),r(window,a,n.mu),r(window,c,n.mm)}},f={install:function(e,o){var t=Number(e.version.split(\".\")[0]),n=Number(e.version.split(\".\")[1]);if(t<2&&n<1)throw new Error(\"v-dragscroll supports vue version 2.1 and above. You are using Vue@\".concat(e.version,\". Please upgrade to the latest version of Vue.\"));e.directive(\"dragscroll\",d)}};\"undefined\"!=typeof window&&window.Vue&&(window.VueDragscroll=f,window.Vue.use(f));o.default=f}])}));\n//# sourceMappingURL=vue-dragscroll.min.js.map","module.exports = function() {\n return new Worker(__webpack_public_path__ + \"21d031a7db88f08d3efd.worker.js\");\n};","import mod from \"-!../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=scss&\"","var render, staticRenderFns\nimport script from \"./resize-sensor.vue?vue&type=script&lang=js&\"\nexport * from \"./resize-sensor.vue?vue&type=script&lang=js&\"\nimport style0 from \"./resize-sensor.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n","import mod from \"-!../../cache-loader/dist/cjs.js??ref--12-0!../../thread-loader/dist/cjs.js!../../babel-loader/lib/index.js!../../cache-loader/dist/cjs.js??ref--0-0!../../vue-loader/lib/index.js??vue-loader-options!./resize-sensor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../cache-loader/dist/cjs.js??ref--12-0!../../thread-loader/dist/cjs.js!../../babel-loader/lib/index.js!../../cache-loader/dist/cjs.js??ref--0-0!../../vue-loader/lib/index.js??vue-loader-options!./resize-sensor.vue?vue&type=script&lang=js&\"","import resizeSensor from 'vue-resize-sensor'\r\n\r\nexport default function(pdfjsWrapper) {\r\n\r\n\tvar createLoadingTask = pdfjsWrapper.createLoadingTask;\r\n\tvar PDFJSWrapper = pdfjsWrapper.PDFJSWrapper;\r\n\r\n\treturn {\r\n\t\tcreateLoadingTask: createLoadingTask,\r\n\t\trender: function(h) {\r\n\t\t\treturn h('span', {\r\n\t\t\t\tattrs: {\r\n\t\t\t\t\tstyle: 'position: relative; display: block'\r\n\t\t\t\t}\r\n\t\t\t}, [\r\n\t\t\t\th('canvas', {\r\n\t\t\t\t\tattrs: {\r\n\t\t\t\t\t\tstyle: 'display: inline-block; width: 100%; height: 100%; vertical-align: top',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tref:'canvas'\r\n\t\t\t\t}),\r\n\t\t\t\th('span', {\r\n\t\t\t\t\tstyle: 'display: inline-block; width: 100%; height: 100%',\r\n\t\t\t\t\tclass: 'annotationLayer',\r\n\t\t\t\t\tref:'annotationLayer'\r\n\t\t\t\t}),\r\n\t\t\t\th(resizeSensor, {\r\n\t\t\t\t\tprops: {\r\n\t\t\t\t\t\tinitial: true\r\n\t\t\t\t\t},\r\n\t\t\t\t\ton: {\r\n\t\t\t\t\t\tresize: this.resize\r\n\t\t\t\t\t},\r\n\t\t\t\t})\r\n\t\t\t])\r\n\t\t},\r\n\t\tprops: {\r\n\t\t\tsrc: {\r\n\t\t\t\ttype: [String, Object, Uint8Array],\r\n\t\t\t\tdefault: '',\r\n\t\t\t},\r\n\t\t\tpage: {\r\n\t\t\t\ttype: Number,\r\n\t\t\t\tdefault: 1,\r\n\t\t\t},\r\n\t\t\trotate: {\r\n\t\t\t\ttype: Number,\r\n\t\t\t},\r\n\t\t},\r\n\t\twatch: {\r\n\t\t\tsrc: function() {\r\n\r\n\t\t\t\tthis.pdf.loadDocument(this.src);\r\n\t\t\t},\r\n\t\t\tpage: function() {\r\n\r\n\t\t\t\tthis.pdf.loadPage(this.page, this.rotate);\r\n\t\t\t},\r\n\t\t\trotate: function() {\r\n\t\t\t\tthis.pdf.renderPage(this.rotate);\r\n\t\t\t},\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\tresize: function(size) {\r\n\r\n\t\t\t\t// check if the element is attached to the dom tree || resizeSensor being destroyed\r\n\t\t\t\tif ( this.$el.parentNode === null || (size.width === 0 && size.height === 0) )\r\n\t\t\t\t\treturn;\r\n\r\n\t\t\t\t// on IE10- canvas height must be set\r\n\t\t\t\tthis.$refs.canvas.style.height = this.$refs.canvas.offsetWidth * (this.$refs.canvas.height / this.$refs.canvas.width) + 'px';\r\n\t\t\t\t// update the page when the resolution is too poor\r\n\t\t\t\tvar resolutionScale = this.pdf.getResolutionScale();\r\n\r\n\t\t\t\tif ( resolutionScale < 0.85 || resolutionScale > 1.15 )\r\n\t\t\t\t\tthis.pdf.renderPage(this.rotate);\r\n\r\n\t\t\t\t// this.$refs.annotationLayer.style.transform = 'scale('+resolutionScale+')';\r\n\t\t\t},\r\n\t\t\tprint: function(dpi, pageList) {\r\n\r\n\t\t\t\tthis.pdf.printPage(dpi, pageList);\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t// doc: mounted hook is not called during server-side rendering.\r\n\t\tmounted: function() {\r\n\r\n\t\t\tthis.pdf = new PDFJSWrapper(this.$refs.canvas, this.$refs.annotationLayer, this.$emit.bind(this));\r\n\r\n\t\t\tthis.$on('loaded', function() {\r\n\r\n\t\t\t\tthis.pdf.loadPage(this.page, this.rotate);\r\n\t\t\t});\r\n\r\n\t\t\tthis.$on('page-size', function(width, height) {\r\n\r\n\t\t\t\tthis.$refs.canvas.style.height = this.$refs.canvas.offsetWidth * (height / width) + 'px';\r\n\t\t\t});\r\n\r\n\t\t\tthis.pdf.loadDocument(this.src);\r\n\t\t},\r\n\r\n\t\t// doc: destroyed hook is not called during server-side rendering.\r\n\t\tdestroyed: function() {\r\n\r\n\t\t\tthis.pdf.destroy();\r\n\t\t}\r\n\t}\r\n\r\n}\r\n","\r\n","var render, staticRenderFns\nimport script from \"./vuePdfNoSss.vue?vue&type=script&lang=js&\"\nexport * from \"./vuePdfNoSss.vue?vue&type=script&lang=js&\"\nimport style0 from \"./annotationLayer.css?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../cache-loader/dist/cjs.js??ref--12-0!../../thread-loader/dist/cjs.js!../../babel-loader/lib/index.js!../../cache-loader/dist/cjs.js??ref--0-0!../../vue-loader/lib/index.js??vue-loader-options!./vuePdfNoSss.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../cache-loader/dist/cjs.js??ref--12-0!../../thread-loader/dist/cjs.js!../../babel-loader/lib/index.js!../../cache-loader/dist/cjs.js??ref--0-0!../../vue-loader/lib/index.js??vue-loader-options!./vuePdfNoSss.vue?vue&type=script&lang=js&\"","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=7ff88ea3&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=7ff88ea3&lang=scss&scoped=true&\"","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=6ea3e045&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=6ea3e045&lang=scss&scoped=true&\"","import { PDFLinkService } from 'pdfjs-dist/es5/web/pdf_viewer';\r\n\r\nvar pendingOperation = Promise.resolve();\r\n\r\nexport default function(PDFJS) {\r\n\r\n\tfunction isPDFDocumentLoadingTask(obj) {\r\n\r\n\t\treturn typeof(obj) === 'object' && obj !== null && obj.__PDFDocumentLoadingTask === true;\r\n\t\t// or: return obj.constructor.name === 'PDFDocumentLoadingTask';\r\n\t}\r\n\r\n\tfunction createLoadingTask(src, options) {\r\n\r\n\t\tvar source;\r\n\t\tif ( typeof(src) === 'string' )\r\n\t\t\tsource = { url: src };\r\n\t\telse if ( src instanceof Uint8Array )\r\n\t\t\tsource = { data: src };\r\n\t\telse if ( typeof(src) === 'object' && src !== null )\r\n\t\t\tsource = Object.assign({}, src);\r\n\t\telse\r\n\t\t\tthrow new TypeError('invalid src type');\r\n\r\n\t\t// source.verbosity = PDFJS.VerbosityLevel.INFOS;\r\n\t\t// source.pdfBug = true;\r\n\t\t// source.stopAtErrors = true;\r\n\r\n\t\tif ( options && options.withCredentials )\r\n\t\t\tsource.withCredentials = options.withCredentials;\r\n\r\n\t\tvar loadingTask = PDFJS.getDocument(source);\r\n\t\tloadingTask.__PDFDocumentLoadingTask = true; // since PDFDocumentLoadingTask is not public\r\n\r\n\t\tif ( options && options.onPassword )\r\n\t\t\tloadingTask.onPassword = options.onPassword;\r\n\r\n\t\tif ( options && options.onProgress )\r\n\t\t\tloadingTask.onProgress = options.onProgress;\r\n\r\n\t\treturn loadingTask;\r\n\t}\r\n\r\n\r\n\tfunction PDFJSWrapper(canvasElt, annotationLayerElt, emitEvent) {\r\n\r\n\t\tvar pdfDoc = null;\r\n\t\tvar pdfPage = null;\r\n\t\tvar pdfRender = null;\r\n\t\tvar canceling = false;\r\n\r\n\t\tcanvasElt.getContext('2d').save();\r\n\r\n\t\tfunction clearCanvas() {\r\n\r\n\t\t\tcanvasElt.getContext('2d').clearRect(0, 0, canvasElt.width, canvasElt.height);\r\n\t\t}\r\n\r\n\t\tfunction clearAnnotations() {\r\n\r\n\t\t\twhile ( annotationLayerElt.firstChild )\r\n\t\t\t\tannotationLayerElt.removeChild(annotationLayerElt.firstChild);\r\n\t\t}\r\n\r\n\t\tthis.destroy = function() {\r\n\r\n\t\t\tif ( pdfDoc === null )\r\n\t\t\t\treturn;\r\n\r\n\t\t\t// Aborts all network requests and destroys worker.\r\n\t\t\tpendingOperation = pdfDoc.destroy();\r\n\t\t\tpdfDoc = null;\r\n\t\t}\r\n\r\n\t\tthis.getResolutionScale = function() {\r\n\r\n\t\t\treturn canvasElt.offsetWidth / canvasElt.width;\r\n\t\t}\r\n\r\n\t\tthis.printPage = function(dpi, pageNumberOnly) {\r\n\r\n\t\t\tif ( pdfPage === null )\r\n\t\t\t\treturn;\r\n\r\n\t\t\t// 1in == 72pt\r\n\t\t\t// 1in == 96px\r\n\t\t\tvar PRINT_RESOLUTION = dpi === undefined ? 150 : dpi;\r\n\t\t\tvar PRINT_UNITS = PRINT_RESOLUTION / 72.0;\r\n\t\t\tvar CSS_UNITS = 96.0 / 72.0;\r\n\r\n\t\t\tvar iframeElt = document.createElement('iframe');\r\n\r\n\t\t\tfunction removeIframe() {\r\n\r\n\t\t\t\tiframeElt.parentNode.removeChild(iframeElt);\r\n\t\t\t}\r\n\r\n\t\t\tnew Promise(function(resolve, reject) {\r\n\r\n\t\t\t\tiframeElt.frameBorder = '0';\r\n\t\t\t\tiframeElt.scrolling = 'no';\r\n\t\t\t\tiframeElt.width = '0px;'\r\n\t\t\t\tiframeElt.height = '0px;'\r\n\t\t\t\tiframeElt.style.cssText = 'position: absolute; top: 0; left: 0';\r\n\r\n\t\t\t\tiframeElt.onload = function() {\r\n\r\n\t\t\t\t\tresolve(this.contentWindow);\r\n\t\t\t\t}\r\n\r\n\t\t\t\twindow.document.body.appendChild(iframeElt);\r\n\t\t\t})\r\n\t\t\t.then(function(win) {\r\n\r\n\t\t\t\twin.document.title = '';\r\n\r\n\t\t\t\treturn pdfDoc.getPage(1)\r\n\t\t\t\t.then(function(page) {\r\n\r\n\t\t\t\t\tvar viewport = page.getViewport({ scale: 1 });\r\n\t\t\t\t\twin.document.head.appendChild(win.document.createElement('style')).textContent =\r\n\t\t\t\t\t\t'@supports ((size:A4) and (size:1pt 1pt)) {' +\r\n\t\t\t\t\t\t\t'@page { margin: 1pt; size: ' + ((viewport.width * PRINT_UNITS) / CSS_UNITS) + 'pt ' + ((viewport.height * PRINT_UNITS) / CSS_UNITS) + 'pt; }' +\r\n\t\t\t\t\t\t'}' +\r\n\r\n\t\t\t\t\t\t'@media print {' +\r\n\t\t\t\t\t\t\t'body { margin: 0 }' +\r\n\t\t\t\t\t\t\t'canvas { page-break-before: avoid; page-break-after: always; page-break-inside: avoid }' +\r\n\t\t\t\t\t\t'}'+\r\n\r\n\t\t\t\t\t\t'@media screen {' +\r\n\t\t\t\t\t\t\t'body { margin: 0 }' +\r\n\t\t\t\t\t\t'}'+\r\n\r\n\t\t\t\t\t\t''\r\n\t\t\t\t\treturn win;\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t\t\t.then(function(win) {\r\n\r\n\t\t\t\tvar allPages = [];\r\n\r\n\t\t\t\tfor ( var pageNumber = 1; pageNumber <= pdfDoc.numPages; ++pageNumber ) {\r\n\r\n\t\t\t\t\tif ( pageNumberOnly !== undefined && pageNumberOnly.indexOf(pageNumber) === -1 )\r\n\t\t\t\t\t\tcontinue;\r\n\r\n\t\t\t\t\tallPages.push(\r\n\t\t\t\t\t\tpdfDoc.getPage(pageNumber)\r\n\t\t\t\t\t\t.then(function(page) {\r\n\r\n\t\t\t\t\t\t\tvar viewport = page.getViewport({ scale: 1 });\r\n\r\n\t\t\t\t\t\t\tvar printCanvasElt = win.document.body.appendChild(win.document.createElement('canvas'));\r\n\t\t\t\t\t\t\tprintCanvasElt.width = (viewport.width * PRINT_UNITS);\r\n\t\t\t\t\t\t\tprintCanvasElt.height = (viewport.height * PRINT_UNITS);\r\n\r\n\t\t\t\t\t\t\treturn page.render({\r\n\t\t\t\t\t\t\t\tcanvasContext: printCanvasElt.getContext('2d'),\r\n\t\t\t\t\t\t\t\ttransform: [ // Additional transform, applied just before viewport transform.\r\n\t\t\t\t\t\t\t\t\tPRINT_UNITS, 0, 0,\r\n\t\t\t\t\t\t\t\t\tPRINT_UNITS, 0, 0\r\n\t\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\t\tviewport: viewport,\r\n\t\t\t\t\t\t\t\tintent: 'print'\r\n\t\t\t\t\t\t\t}).promise;\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tPromise.all(allPages)\r\n\t\t\t\t.then(function() {\r\n\r\n\t\t\t\t\twin.focus(); // Required for IE\r\n\t\t\t\t\tif (win.document.queryCommandSupported('print')) {\r\n\t\t\t\t\t\twin.document.execCommand('print', false, null);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\twin.print();\r\n\t\t\t\t\t }\r\n\t\t\t\t\tremoveIframe();\r\n\t\t\t\t})\r\n\t\t\t\t.catch(function(err) {\r\n\r\n\t\t\t\t\tremoveIframe();\r\n\t\t\t\t\temitEvent('error', err);\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tthis.renderPage = function(rotate) {\r\n\t\t\tif ( pdfRender !== null ) {\r\n\r\n\t\t\t\tif ( canceling )\r\n\t\t\t\t\treturn;\r\n\t\t\t\tcanceling = true;\r\n\t\t\t\tpdfRender.cancel();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif ( pdfPage === null )\r\n\t\t\t\treturn;\r\n\r\n\t\t\tvar pageRotate = (pdfPage.rotate === undefined ? 0 : pdfPage.rotate) + (rotate === undefined ? 0 : rotate);\r\n\r\n\t\t\tvar scale = canvasElt.offsetWidth / pdfPage.getViewport({ scale: 1 }).width * (window.devicePixelRatio || 1);\r\n\t\t\tvar viewport = pdfPage.getViewport({ scale: scale, rotation:pageRotate });\r\n\r\n\t\t\temitEvent('page-size', viewport.width, viewport.height, scale);\r\n\r\n\t\t\tcanvasElt.width = viewport.width;\r\n\t\t\tcanvasElt.height = viewport.height;\r\n\r\n\t\t\tpdfRender = pdfPage.render({\r\n\t\t\t\tcanvasContext: canvasElt.getContext('2d'),\r\n\t\t\t\tviewport: viewport\r\n\t\t\t});\r\n\r\n\t\t\tannotationLayerElt.style.visibility = 'hidden';\r\n\t\t\tclearAnnotations();\r\n\r\n\t\t\tvar viewer = {\r\n\t\t\t\tscrollPageIntoView: function(params) {\r\n\t\t\t\t\temitEvent('link-clicked', params.pageNumber)\r\n\t\t\t\t},\r\n\t\t\t};\r\n\r\n\t\t\tvar linkService = new PDFLinkService();\r\n\t\t\tlinkService.setDocument(pdfDoc);\r\n\t\t\tlinkService.setViewer(viewer);\r\n\r\n\t\t\tpendingOperation = pendingOperation.then(function() {\r\n\r\n\t\t\t\tvar getAnnotationsOperation =\r\n\t\t\t\tpdfPage.getAnnotations({ intent: 'display' })\r\n\t\t\t\t.then(function(annotations) {\r\n\r\n\t\t\t\t\tPDFJS.AnnotationLayer.render({\r\n\t\t\t\t\t\tviewport: viewport.clone({ dontFlip: true }),\r\n\t\t\t\t\t\tdiv: annotationLayerElt,\r\n\t\t\t\t\t\tannotations: annotations,\r\n\t\t\t\t\t\tpage: pdfPage,\r\n\t\t\t\t\t\tlinkService: linkService,\r\n\t\t\t\t\t\trenderInteractiveForms: false\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\r\n\t\t\t\tvar pdfRenderOperation =\r\n\t\t\t\tpdfRender.promise\r\n\t\t\t\t.then(function() {\r\n\r\n\t\t\t\t\tannotationLayerElt.style.visibility = '';\r\n\t\t\t\t\tcanceling = false;\r\n\t\t\t\t\tpdfRender = null;\r\n\t\t\t\t})\r\n\t\t\t\t.catch(function(err) {\r\n\r\n\t\t\t\t\tpdfRender = null;\r\n\t\t\t\t\tif ( err instanceof PDFJS.RenderingCancelledException ) {\r\n\r\n\t\t\t\t\t\tcanceling = false;\r\n\t\t\t\t\t\tthis.renderPage(rotate);\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\temitEvent('error', err);\r\n\t\t\t\t}.bind(this))\r\n\r\n\t\t\t\treturn Promise.all([getAnnotationsOperation, pdfRenderOperation]);\r\n\t\t\t}.bind(this));\r\n\t\t}\r\n\r\n\r\n\t\tthis.forEachPage = function(pageCallback) {\r\n\r\n\t\t\tvar numPages = pdfDoc.numPages;\r\n\r\n\t\t\t(function next(pageNum) {\r\n\r\n\t\t\t\tpdfDoc.getPage(pageNum)\r\n\t\t\t\t.then(pageCallback)\r\n\t\t\t\t.then(function() {\r\n\r\n\t\t\t\t\tif ( ++pageNum <= numPages )\r\n\t\t\t\t\t\tnext(pageNum);\r\n\t\t\t\t})\r\n\t\t\t})(1);\r\n\t\t}\r\n\r\n\r\n\t\tthis.loadPage = function(pageNumber, rotate) {\r\n\r\n\t\t\tpdfPage = null;\r\n\r\n\t\t\tif ( pdfDoc === null )\r\n\t\t\t\treturn;\r\n\r\n\t\t\tpendingOperation = pendingOperation.then(function() {\r\n\r\n\t\t\t\treturn pdfDoc.getPage(pageNumber);\r\n\t\t\t})\r\n\t\t\t.then(function(page) {\r\n\r\n\t\t\t\tpdfPage = page;\r\n\t\t\t\tthis.renderPage(rotate);\r\n\t\t\t\temitEvent('page-loaded', page.pageNumber);\r\n\t\t\t}.bind(this))\r\n\t\t\t.catch(function(err) {\r\n\r\n\t\t\t\tclearCanvas();\r\n\t\t\t\tclearAnnotations();\r\n\t\t\t\temitEvent('error', err);\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tthis.loadDocument = function(src) {\r\n\r\n\t\t\tpdfDoc = null;\r\n\t\t\tpdfPage = null;\r\n\r\n\t\t\temitEvent('num-pages', undefined);\r\n\r\n\t\t\tif ( !src ) {\r\n\r\n\t\t\t\tcanvasElt.removeAttribute('width');\r\n\t\t\t\tcanvasElt.removeAttribute('height');\r\n\t\t\t\tclearAnnotations();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\t// wait for pending operation ends\r\n\t\t\tpendingOperation = pendingOperation.then(function() {\r\n\r\n\t\t\t\tvar loadingTask;\r\n\t\t\t\tif ( isPDFDocumentLoadingTask(src) ) {\r\n\r\n\t\t\t\t\tif ( src.destroyed ) {\r\n\r\n\t\t\t\t\t\temitEvent('error', new Error('loadingTask has been destroyed'));\r\n\t\t\t\t\t\treturn\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tloadingTask = src;\r\n\t\t\t\t} else {\r\n\r\n\t\t\t\t\tloadingTask = createLoadingTask(src, {\r\n\t\t\t\t\t\tonPassword: function(updatePassword, reason) {\r\n\r\n\t\t\t\t\t\t\tvar reasonStr;\r\n\t\t\t\t\t\t\tswitch (reason) {\r\n\t\t\t\t\t\t\t\tcase PDFJS.PasswordResponses.NEED_PASSWORD:\r\n\t\t\t\t\t\t\t\t\treasonStr = 'NEED_PASSWORD';\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase PDFJS.PasswordResponses.INCORRECT_PASSWORD:\r\n\t\t\t\t\t\t\t\t\treasonStr = 'INCORRECT_PASSWORD';\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\temitEvent('password', updatePassword, reasonStr);\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tonProgress: function(status) {\r\n\r\n\t\t\t\t\t\t\tvar ratio = status.loaded / status.total;\r\n\t\t\t\t\t\t\temitEvent('progress', Math.min(ratio, 1));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn loadingTask.promise;\r\n\t\t\t})\r\n\t\t\t.then(function(pdf) {\r\n\r\n\t\t\t\tpdfDoc = pdf;\r\n\t\t\t\temitEvent('num-pages', pdf.numPages);\r\n\t\t\t\temitEvent('loaded');\r\n\t\t\t})\r\n\t\t\t.catch(function(err) {\r\n\r\n\t\t\t\tclearCanvas();\r\n\t\t\t\tclearAnnotations();\r\n\t\t\t\temitEvent('error', err);\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tannotationLayerElt.style.transformOrigin = '0 0';\r\n\t}\r\n\r\n\treturn {\r\n\t\tcreateLoadingTask: createLoadingTask,\r\n\t\tPDFJSWrapper: PDFJSWrapper,\r\n\t}\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('PDF',{staticStyle:{\"display\":\"none\"},attrs:{\"src\":_vm.base64pdf},on:{\"num-pages\":function($event){_vm.pageCount = new Array($event)}}}),_vm._l((_vm.pageCount),function(page,index){return _c('PDF',{key:index,attrs:{\"src\":_vm.src,\"page\":index + 1,\"scale\":1,\"resize\":false}})})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PDF.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PDF.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PDF.vue?vue&type=template&id=3e567b9d&\"\nimport script from \"./PDF.vue?vue&type=script&lang=js&\"\nexport * from \"./PDF.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../vue-loader/lib/loaders/stylePostLoader.js!../../postcss-loader/src/index.js??ref--6-oneOf-1-2!../../cache-loader/dist/cjs.js??ref--0-0!../../vue-loader/lib/index.js??vue-loader-options!./resize-sensor.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../vue-loader/lib/loaders/stylePostLoader.js!../../postcss-loader/src/index.js??ref--6-oneOf-1-2!../../cache-loader/dist/cjs.js??ref--0-0!../../vue-loader/lib/index.js??vue-loader-options!./resize-sensor.vue?vue&type=style&index=0&lang=css&\"","/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\n * Copyright 2020 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/web/pdf_viewer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/web/pdf_viewer\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/web/pdf_viewer\"] = root.pdfjsViewer = 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\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"AnnotationLayerBuilder\", {\n enumerable: true,\n get: function get() {\n return _annotation_layer_builder.AnnotationLayerBuilder;\n }\n});\nObject.defineProperty(exports, \"DefaultAnnotationLayerFactory\", {\n enumerable: true,\n get: function get() {\n return _annotation_layer_builder.DefaultAnnotationLayerFactory;\n }\n});\nObject.defineProperty(exports, \"DefaultTextLayerFactory\", {\n enumerable: true,\n get: function get() {\n return _text_layer_builder.DefaultTextLayerFactory;\n }\n});\nObject.defineProperty(exports, \"TextLayerBuilder\", {\n enumerable: true,\n get: function get() {\n return _text_layer_builder.TextLayerBuilder;\n }\n});\nObject.defineProperty(exports, \"EventBus\", {\n enumerable: true,\n get: function get() {\n return _ui_utils.EventBus;\n }\n});\nObject.defineProperty(exports, \"NullL10n\", {\n enumerable: true,\n get: function get() {\n return _ui_utils.NullL10n;\n }\n});\nObject.defineProperty(exports, \"ProgressBar\", {\n enumerable: true,\n get: function get() {\n return _ui_utils.ProgressBar;\n }\n});\nObject.defineProperty(exports, \"PDFLinkService\", {\n enumerable: true,\n get: function get() {\n return _pdf_link_service.PDFLinkService;\n }\n});\nObject.defineProperty(exports, \"SimpleLinkService\", {\n enumerable: true,\n get: function get() {\n return _pdf_link_service.SimpleLinkService;\n }\n});\nObject.defineProperty(exports, \"DownloadManager\", {\n enumerable: true,\n get: function get() {\n return _download_manager.DownloadManager;\n }\n});\nObject.defineProperty(exports, \"GenericL10n\", {\n enumerable: true,\n get: function get() {\n return _genericl10n.GenericL10n;\n }\n});\nObject.defineProperty(exports, \"PDFFindController\", {\n enumerable: true,\n get: function get() {\n return _pdf_find_controller.PDFFindController;\n }\n});\nObject.defineProperty(exports, \"PDFHistory\", {\n enumerable: true,\n get: function get() {\n return _pdf_history.PDFHistory;\n }\n});\nObject.defineProperty(exports, \"PDFPageView\", {\n enumerable: true,\n get: function get() {\n return _pdf_page_view.PDFPageView;\n }\n});\nObject.defineProperty(exports, \"PDFSinglePageViewer\", {\n enumerable: true,\n get: function get() {\n return _pdf_single_page_viewer.PDFSinglePageViewer;\n }\n});\nObject.defineProperty(exports, \"PDFViewer\", {\n enumerable: true,\n get: function get() {\n return _pdf_viewer.PDFViewer;\n }\n});\n\nvar _annotation_layer_builder = __w_pdfjs_require__(1);\n\nvar _text_layer_builder = __w_pdfjs_require__(8);\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nvar _pdf_link_service = __w_pdfjs_require__(7);\n\nvar _download_manager = __w_pdfjs_require__(9);\n\nvar _genericl10n = __w_pdfjs_require__(11);\n\nvar _pdf_find_controller = __w_pdfjs_require__(13);\n\nvar _pdf_history = __w_pdfjs_require__(15);\n\nvar _pdf_page_view = __w_pdfjs_require__(16);\n\nvar _pdf_single_page_viewer = __w_pdfjs_require__(18);\n\nvar _pdf_viewer = __w_pdfjs_require__(20);\n\nvar pdfjsVersion = '2.5.207';\nvar pdfjsBuild = '0974d605';\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.DefaultAnnotationLayerFactory = exports.AnnotationLayerBuilder = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nvar _pdf_link_service = __w_pdfjs_require__(7);\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 AnnotationLayerBuilder = /*#__PURE__*/function () {\n function AnnotationLayerBuilder(_ref) {\n var pageDiv = _ref.pageDiv,\n pdfPage = _ref.pdfPage,\n linkService = _ref.linkService,\n downloadManager = _ref.downloadManager,\n _ref$imageResourcesPa = _ref.imageResourcesPath,\n imageResourcesPath = _ref$imageResourcesPa === void 0 ? \"\" : _ref$imageResourcesPa,\n _ref$renderInteractiv = _ref.renderInteractiveForms,\n renderInteractiveForms = _ref$renderInteractiv === void 0 ? false : _ref$renderInteractiv,\n _ref$l10n = _ref.l10n,\n l10n = _ref$l10n === void 0 ? _ui_utils.NullL10n : _ref$l10n;\n\n _classCallCheck(this, AnnotationLayerBuilder);\n\n this.pageDiv = pageDiv;\n this.pdfPage = pdfPage;\n this.linkService = linkService;\n this.downloadManager = downloadManager;\n this.imageResourcesPath = imageResourcesPath;\n this.renderInteractiveForms = renderInteractiveForms;\n this.l10n = l10n;\n this.div = null;\n this._cancelled = false;\n }\n\n _createClass(AnnotationLayerBuilder, [{\n key: \"render\",\n value: function render(viewport) {\n var _this = this;\n\n var intent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"display\";\n this.pdfPage.getAnnotations({\n intent: intent\n }).then(function (annotations) {\n if (_this._cancelled) {\n return;\n }\n\n var parameters = {\n viewport: viewport.clone({\n dontFlip: true\n }),\n div: _this.div,\n annotations: annotations,\n page: _this.pdfPage,\n imageResourcesPath: _this.imageResourcesPath,\n renderInteractiveForms: _this.renderInteractiveForms,\n linkService: _this.linkService,\n downloadManager: _this.downloadManager\n };\n\n if (_this.div) {\n _pdfjsLib.AnnotationLayer.update(parameters);\n } else {\n if (annotations.length === 0) {\n return;\n }\n\n _this.div = document.createElement(\"div\");\n _this.div.className = \"annotationLayer\";\n\n _this.pageDiv.appendChild(_this.div);\n\n parameters.div = _this.div;\n\n _pdfjsLib.AnnotationLayer.render(parameters);\n\n _this.l10n.translate(_this.div);\n }\n });\n }\n }, {\n key: \"cancel\",\n value: function cancel() {\n this._cancelled = true;\n }\n }, {\n key: \"hide\",\n value: function hide() {\n if (!this.div) {\n return;\n }\n\n this.div.setAttribute(\"hidden\", \"true\");\n }\n }]);\n\n return AnnotationLayerBuilder;\n}();\n\nexports.AnnotationLayerBuilder = AnnotationLayerBuilder;\n\nvar DefaultAnnotationLayerFactory = /*#__PURE__*/function () {\n function DefaultAnnotationLayerFactory() {\n _classCallCheck(this, DefaultAnnotationLayerFactory);\n }\n\n _createClass(DefaultAnnotationLayerFactory, [{\n key: \"createAnnotationLayerBuilder\",\n value: function createAnnotationLayerBuilder(pageDiv, pdfPage) {\n var imageResourcesPath = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : \"\";\n var renderInteractiveForms = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var l10n = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : _ui_utils.NullL10n;\n return new AnnotationLayerBuilder({\n pageDiv: pageDiv,\n pdfPage: pdfPage,\n imageResourcesPath: imageResourcesPath,\n renderInteractiveForms: renderInteractiveForms,\n linkService: new _pdf_link_service.SimpleLinkService(),\n l10n: l10n\n });\n }\n }]);\n\n return DefaultAnnotationLayerFactory;\n}();\n\nexports.DefaultAnnotationLayerFactory = DefaultAnnotationLayerFactory;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar pdfjsLib;\n\nif (typeof window !== \"undefined\" && window[\"pdfjs-dist/build/pdf\"]) {\n pdfjsLib = window[\"pdfjs-dist/build/pdf\"];\n} else {\n pdfjsLib = require(\"../build/pdf.js\");\n}\n\nmodule.exports = pdfjsLib;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isValidRotation = isValidRotation;\nexports.isValidScrollMode = isValidScrollMode;\nexports.isValidSpreadMode = isValidSpreadMode;\nexports.isPortraitOrientation = isPortraitOrientation;\nexports.clamp = clamp;\nexports.getPDFFileNameFromURL = getPDFFileNameFromURL;\nexports.noContextMenuHandler = noContextMenuHandler;\nexports.parseQueryString = parseQueryString;\nexports.backtrackBeforeAllVisibleElements = backtrackBeforeAllVisibleElements;\nexports.getVisibleElements = getVisibleElements;\nexports.roundToDivide = roundToDivide;\nexports.getPageSizeInches = getPageSizeInches;\nexports.approximateFraction = approximateFraction;\nexports.getOutputScale = getOutputScale;\nexports.scrollIntoView = scrollIntoView;\nexports.watchScroll = watchScroll;\nexports.binarySearchFirstItem = binarySearchFirstItem;\nexports.normalizeWheelEventDelta = normalizeWheelEventDelta;\nexports.waitOnEventOrTimeout = waitOnEventOrTimeout;\nexports.moveToEndOfArray = moveToEndOfArray;\nexports.WaitOnType = exports.animationStarted = exports.ProgressBar = exports.EventBus = exports.NullL10n = exports.SpreadMode = exports.ScrollMode = exports.TextLayerMode = exports.RendererType = exports.PresentationModeState = exports.VERTICAL_PADDING = exports.SCROLLBAR_PADDING = exports.MAX_AUTO_SCALE = exports.UNKNOWN_SCALE = exports.MAX_SCALE = exports.MIN_SCALE = exports.DEFAULT_SCALE = exports.DEFAULT_SCALE_VALUE = exports.CSS_UNITS = exports.AutoPrintRegExp = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(4));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\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) { \"@babel/helpers - typeof\"; 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) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) 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 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\nvar CSS_UNITS = 96.0 / 72.0;\nexports.CSS_UNITS = CSS_UNITS;\nvar DEFAULT_SCALE_VALUE = \"auto\";\nexports.DEFAULT_SCALE_VALUE = DEFAULT_SCALE_VALUE;\nvar DEFAULT_SCALE = 1.0;\nexports.DEFAULT_SCALE = DEFAULT_SCALE;\nvar MIN_SCALE = 0.1;\nexports.MIN_SCALE = MIN_SCALE;\nvar MAX_SCALE = 10.0;\nexports.MAX_SCALE = MAX_SCALE;\nvar UNKNOWN_SCALE = 0;\nexports.UNKNOWN_SCALE = UNKNOWN_SCALE;\nvar MAX_AUTO_SCALE = 1.25;\nexports.MAX_AUTO_SCALE = MAX_AUTO_SCALE;\nvar SCROLLBAR_PADDING = 40;\nexports.SCROLLBAR_PADDING = SCROLLBAR_PADDING;\nvar VERTICAL_PADDING = 5;\nexports.VERTICAL_PADDING = VERTICAL_PADDING;\nvar PresentationModeState = {\n UNKNOWN: 0,\n NORMAL: 1,\n CHANGING: 2,\n FULLSCREEN: 3\n};\nexports.PresentationModeState = PresentationModeState;\nvar RendererType = {\n CANVAS: \"canvas\",\n SVG: \"svg\"\n};\nexports.RendererType = RendererType;\nvar TextLayerMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_ENHANCE: 2\n};\nexports.TextLayerMode = TextLayerMode;\nvar ScrollMode = {\n UNKNOWN: -1,\n VERTICAL: 0,\n HORIZONTAL: 1,\n WRAPPED: 2\n};\nexports.ScrollMode = ScrollMode;\nvar SpreadMode = {\n UNKNOWN: -1,\n NONE: 0,\n ODD: 1,\n EVEN: 2\n};\nexports.SpreadMode = SpreadMode;\nvar AutoPrintRegExp = /\\bprint\\s*\\(/;\nexports.AutoPrintRegExp = AutoPrintRegExp;\n\nfunction formatL10nValue(text, args) {\n if (!args) {\n return text;\n }\n\n return text.replace(/\\{\\{\\s*(\\w+)\\s*\\}\\}/g, function (all, name) {\n return name in args ? args[name] : \"{{\" + name + \"}}\";\n });\n}\n\nvar NullL10n = {\n getLanguage: function getLanguage() {\n return _asyncToGenerator( /*#__PURE__*/_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 return _context.abrupt(\"return\", \"en-us\");\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n },\n getDirection: function getDirection() {\n return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n return _context2.abrupt(\"return\", \"ltr\");\n\n case 1:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }))();\n },\n get: function get(property, args, fallback) {\n return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee3() {\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n return _context3.abrupt(\"return\", formatL10nValue(fallback, args));\n\n case 1:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }))();\n },\n translate: function translate(element) {\n return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee4() {\n return _regenerator[\"default\"].wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }))();\n }\n};\nexports.NullL10n = NullL10n;\n\nfunction getOutputScale(ctx) {\n var devicePixelRatio = window.devicePixelRatio || 1;\n var backingStoreRatio = ctx.webkitBackingStorePixelRatio || ctx.mozBackingStorePixelRatio || ctx.msBackingStorePixelRatio || ctx.oBackingStorePixelRatio || ctx.backingStorePixelRatio || 1;\n var pixelRatio = devicePixelRatio / backingStoreRatio;\n return {\n sx: pixelRatio,\n sy: pixelRatio,\n scaled: pixelRatio !== 1\n };\n}\n\nfunction scrollIntoView(element, spot) {\n var skipOverflowHiddenElements = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var parent = element.offsetParent;\n\n if (!parent) {\n console.error(\"offsetParent is not set -- cannot scroll\");\n return;\n }\n\n var offsetY = element.offsetTop + element.clientTop;\n var offsetX = element.offsetLeft + element.clientLeft;\n\n while (parent.clientHeight === parent.scrollHeight && parent.clientWidth === parent.scrollWidth || skipOverflowHiddenElements && getComputedStyle(parent).overflow === \"hidden\") {\n if (parent.dataset._scaleY) {\n offsetY /= parent.dataset._scaleY;\n offsetX /= parent.dataset._scaleX;\n }\n\n offsetY += parent.offsetTop;\n offsetX += parent.offsetLeft;\n parent = parent.offsetParent;\n\n if (!parent) {\n return;\n }\n }\n\n if (spot) {\n if (spot.top !== undefined) {\n offsetY += spot.top;\n }\n\n if (spot.left !== undefined) {\n offsetX += spot.left;\n parent.scrollLeft = offsetX;\n }\n }\n\n parent.scrollTop = offsetY;\n}\n\nfunction watchScroll(viewAreaElement, callback) {\n var debounceScroll = function debounceScroll(evt) {\n if (rAF) {\n return;\n }\n\n rAF = window.requestAnimationFrame(function viewAreaElementScrolled() {\n rAF = null;\n var currentX = viewAreaElement.scrollLeft;\n var lastX = state.lastX;\n\n if (currentX !== lastX) {\n state.right = currentX > lastX;\n }\n\n state.lastX = currentX;\n var currentY = viewAreaElement.scrollTop;\n var lastY = state.lastY;\n\n if (currentY !== lastY) {\n state.down = currentY > lastY;\n }\n\n state.lastY = currentY;\n callback(state);\n });\n };\n\n var state = {\n right: true,\n down: true,\n lastX: viewAreaElement.scrollLeft,\n lastY: viewAreaElement.scrollTop,\n _eventHandler: debounceScroll\n };\n var rAF = null;\n viewAreaElement.addEventListener(\"scroll\", debounceScroll, true);\n return state;\n}\n\nfunction parseQueryString(query) {\n var parts = query.split(\"&\");\n var params = Object.create(null);\n\n for (var i = 0, ii = parts.length; i < ii; ++i) {\n var param = parts[i].split(\"=\");\n var key = param[0].toLowerCase();\n var value = param.length > 1 ? param[1] : null;\n params[decodeURIComponent(key)] = decodeURIComponent(value);\n }\n\n return params;\n}\n\nfunction binarySearchFirstItem(items, condition) {\n var minIndex = 0;\n var maxIndex = items.length - 1;\n\n if (maxIndex < 0 || !condition(items[maxIndex])) {\n return items.length;\n }\n\n if (condition(items[minIndex])) {\n return minIndex;\n }\n\n while (minIndex < maxIndex) {\n var currentIndex = minIndex + maxIndex >> 1;\n var currentItem = items[currentIndex];\n\n if (condition(currentItem)) {\n maxIndex = currentIndex;\n } else {\n minIndex = currentIndex + 1;\n }\n }\n\n return minIndex;\n}\n\nfunction approximateFraction(x) {\n if (Math.floor(x) === x) {\n return [x, 1];\n }\n\n var xinv = 1 / x;\n var limit = 8;\n\n if (xinv > limit) {\n return [1, limit];\n } else if (Math.floor(xinv) === xinv) {\n return [1, xinv];\n }\n\n var x_ = x > 1 ? xinv : x;\n var a = 0,\n b = 1,\n c = 1,\n d = 1;\n\n while (true) {\n var p = a + c,\n q = b + d;\n\n if (q > limit) {\n break;\n }\n\n if (x_ <= p / q) {\n c = p;\n d = q;\n } else {\n a = p;\n b = q;\n }\n }\n\n var result;\n\n if (x_ - a / b < c / d - x_) {\n result = x_ === x ? [a, b] : [b, a];\n } else {\n result = x_ === x ? [c, d] : [d, c];\n }\n\n return result;\n}\n\nfunction roundToDivide(x, div) {\n var r = x % div;\n return r === 0 ? x : Math.round(x - r + div);\n}\n\nfunction getPageSizeInches(_ref) {\n var view = _ref.view,\n userUnit = _ref.userUnit,\n rotate = _ref.rotate;\n\n var _view = _slicedToArray(view, 4),\n x1 = _view[0],\n y1 = _view[1],\n x2 = _view[2],\n y2 = _view[3];\n\n var changeOrientation = rotate % 180 !== 0;\n var width = (x2 - x1) / 72 * userUnit;\n var height = (y2 - y1) / 72 * userUnit;\n return {\n width: changeOrientation ? height : width,\n height: changeOrientation ? width : height\n };\n}\n\nfunction backtrackBeforeAllVisibleElements(index, views, top) {\n if (index < 2) {\n return index;\n }\n\n var elt = views[index].div;\n var pageTop = elt.offsetTop + elt.clientTop;\n\n if (pageTop >= top) {\n elt = views[index - 1].div;\n pageTop = elt.offsetTop + elt.clientTop;\n }\n\n for (var i = index - 2; i >= 0; --i) {\n elt = views[i].div;\n\n if (elt.offsetTop + elt.clientTop + elt.clientHeight <= pageTop) {\n break;\n }\n\n index = i;\n }\n\n return index;\n}\n\nfunction getVisibleElements(scrollEl, views) {\n var sortByVisibility = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var horizontal = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var top = scrollEl.scrollTop,\n bottom = top + scrollEl.clientHeight;\n var left = scrollEl.scrollLeft,\n right = left + scrollEl.clientWidth;\n\n function isElementBottomAfterViewTop(view) {\n var element = view.div;\n var elementBottom = element.offsetTop + element.clientTop + element.clientHeight;\n return elementBottom > top;\n }\n\n function isElementRightAfterViewLeft(view) {\n var element = view.div;\n var elementRight = element.offsetLeft + element.clientLeft + element.clientWidth;\n return elementRight > left;\n }\n\n var visible = [],\n numViews = views.length;\n var firstVisibleElementInd = numViews === 0 ? 0 : binarySearchFirstItem(views, horizontal ? isElementRightAfterViewLeft : isElementBottomAfterViewTop);\n\n if (firstVisibleElementInd > 0 && firstVisibleElementInd < numViews && !horizontal) {\n firstVisibleElementInd = backtrackBeforeAllVisibleElements(firstVisibleElementInd, views, top);\n }\n\n var lastEdge = horizontal ? right : -1;\n\n for (var i = firstVisibleElementInd; i < numViews; i++) {\n var view = views[i],\n element = view.div;\n var currentWidth = element.offsetLeft + element.clientLeft;\n var currentHeight = element.offsetTop + element.clientTop;\n var viewWidth = element.clientWidth,\n viewHeight = element.clientHeight;\n var viewRight = currentWidth + viewWidth;\n var viewBottom = currentHeight + viewHeight;\n\n if (lastEdge === -1) {\n if (viewBottom >= bottom) {\n lastEdge = viewBottom;\n }\n } else if ((horizontal ? currentWidth : currentHeight) > lastEdge) {\n break;\n }\n\n if (viewBottom <= top || currentHeight >= bottom || viewRight <= left || currentWidth >= right) {\n continue;\n }\n\n var hiddenHeight = Math.max(0, top - currentHeight) + Math.max(0, viewBottom - bottom);\n var hiddenWidth = Math.max(0, left - currentWidth) + Math.max(0, viewRight - right);\n var percent = (viewHeight - hiddenHeight) * (viewWidth - hiddenWidth) * 100 / viewHeight / viewWidth | 0;\n visible.push({\n id: view.id,\n x: currentWidth,\n y: currentHeight,\n view: view,\n percent: percent\n });\n }\n\n var first = visible[0],\n last = visible[visible.length - 1];\n\n if (sortByVisibility) {\n visible.sort(function (a, b) {\n var pc = a.percent - b.percent;\n\n if (Math.abs(pc) > 0.001) {\n return -pc;\n }\n\n return a.id - b.id;\n });\n }\n\n return {\n first: first,\n last: last,\n views: visible\n };\n}\n\nfunction noContextMenuHandler(evt) {\n evt.preventDefault();\n}\n\nfunction isDataSchema(url) {\n var i = 0;\n var ii = url.length;\n\n while (i < ii && url[i].trim() === \"\") {\n i++;\n }\n\n return url.substring(i, i + 5).toLowerCase() === \"data:\";\n}\n\nfunction getPDFFileNameFromURL(url) {\n var defaultFilename = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"document.pdf\";\n\n if (typeof url !== \"string\") {\n return defaultFilename;\n }\n\n if (isDataSchema(url)) {\n console.warn(\"getPDFFileNameFromURL: \" + 'ignoring \"data:\" URL for performance reasons.');\n return defaultFilename;\n }\n\n var reURI = /^(?:(?:[^:]+:)?\\/\\/[^\\/]+)?([^?#]*)(\\?[^#]*)?(#.*)?$/;\n var reFilename = /[^\\/?#=]+\\.pdf\\b(?!.*\\.pdf\\b)/i;\n var splitURI = reURI.exec(url);\n var suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]);\n\n if (suggestedFilename) {\n suggestedFilename = suggestedFilename[0];\n\n if (suggestedFilename.includes(\"%\")) {\n try {\n suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0];\n } catch (ex) {}\n }\n }\n\n return suggestedFilename || defaultFilename;\n}\n\nfunction normalizeWheelEventDelta(evt) {\n var delta = Math.sqrt(evt.deltaX * evt.deltaX + evt.deltaY * evt.deltaY);\n var angle = Math.atan2(evt.deltaY, evt.deltaX);\n\n if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) {\n delta = -delta;\n }\n\n var MOUSE_DOM_DELTA_PIXEL_MODE = 0;\n var MOUSE_DOM_DELTA_LINE_MODE = 1;\n var MOUSE_PIXELS_PER_LINE = 30;\n var MOUSE_LINES_PER_PAGE = 30;\n\n if (evt.deltaMode === MOUSE_DOM_DELTA_PIXEL_MODE) {\n delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE;\n } else if (evt.deltaMode === MOUSE_DOM_DELTA_LINE_MODE) {\n delta /= MOUSE_LINES_PER_PAGE;\n }\n\n return delta;\n}\n\nfunction isValidRotation(angle) {\n return Number.isInteger(angle) && angle % 90 === 0;\n}\n\nfunction isValidScrollMode(mode) {\n return Number.isInteger(mode) && Object.values(ScrollMode).includes(mode) && mode !== ScrollMode.UNKNOWN;\n}\n\nfunction isValidSpreadMode(mode) {\n return Number.isInteger(mode) && Object.values(SpreadMode).includes(mode) && mode !== SpreadMode.UNKNOWN;\n}\n\nfunction isPortraitOrientation(size) {\n return size.width <= size.height;\n}\n\nvar WaitOnType = {\n EVENT: \"event\",\n TIMEOUT: \"timeout\"\n};\nexports.WaitOnType = WaitOnType;\n\nfunction waitOnEventOrTimeout(_ref2) {\n var target = _ref2.target,\n name = _ref2.name,\n _ref2$delay = _ref2.delay,\n delay = _ref2$delay === void 0 ? 0 : _ref2$delay;\n return new Promise(function (resolve, reject) {\n if (_typeof(target) !== \"object\" || !(name && typeof name === \"string\") || !(Number.isInteger(delay) && delay >= 0)) {\n throw new Error(\"waitOnEventOrTimeout - invalid parameters.\");\n }\n\n function handler(type) {\n if (target instanceof EventBus) {\n target._off(name, eventHandler);\n } else {\n target.removeEventListener(name, eventHandler);\n }\n\n if (timeout) {\n clearTimeout(timeout);\n }\n\n resolve(type);\n }\n\n var eventHandler = handler.bind(null, WaitOnType.EVENT);\n\n if (target instanceof EventBus) {\n target._on(name, eventHandler);\n } else {\n target.addEventListener(name, eventHandler);\n }\n\n var timeoutHandler = handler.bind(null, WaitOnType.TIMEOUT);\n var timeout = setTimeout(timeoutHandler, delay);\n });\n}\n\nvar animationStarted = new Promise(function (resolve) {\n window.requestAnimationFrame(resolve);\n});\nexports.animationStarted = animationStarted;\n\nfunction dispatchDOMEvent(eventName) {\n var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n throw new Error(\"Not implemented: dispatchDOMEvent\");\n}\n\nvar EventBus = /*#__PURE__*/function () {\n function EventBus(options) {\n _classCallCheck(this, EventBus);\n\n this._listeners = Object.create(null);\n }\n\n _createClass(EventBus, [{\n key: \"on\",\n value: function on(eventName, listener) {\n this._on(eventName, listener, {\n external: true\n });\n }\n }, {\n key: \"off\",\n value: function off(eventName, listener) {\n this._off(eventName, listener, {\n external: true\n });\n }\n }, {\n key: \"dispatch\",\n value: function dispatch(eventName) {\n var eventListeners = this._listeners[eventName];\n\n if (!eventListeners || eventListeners.length === 0) {\n return;\n }\n\n var args = Array.prototype.slice.call(arguments, 1);\n var externalListeners;\n eventListeners.slice(0).forEach(function (_ref3) {\n var listener = _ref3.listener,\n external = _ref3.external;\n\n if (external) {\n if (!externalListeners) {\n externalListeners = [];\n }\n\n externalListeners.push(listener);\n return;\n }\n\n listener.apply(null, args);\n });\n\n if (externalListeners) {\n externalListeners.forEach(function (listener) {\n listener.apply(null, args);\n });\n externalListeners = null;\n }\n }\n }, {\n key: \"_on\",\n value: function _on(eventName, listener) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var eventListeners = this._listeners[eventName];\n\n if (!eventListeners) {\n this._listeners[eventName] = eventListeners = [];\n }\n\n eventListeners.push({\n listener: listener,\n external: (options && options.external) === true\n });\n }\n }, {\n key: \"_off\",\n value: function _off(eventName, listener) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var eventListeners = this._listeners[eventName];\n\n if (!eventListeners) {\n return;\n }\n\n for (var i = 0, ii = eventListeners.length; i < ii; i++) {\n if (eventListeners[i].listener === listener) {\n eventListeners.splice(i, 1);\n return;\n }\n }\n }\n }]);\n\n return EventBus;\n}();\n\nexports.EventBus = EventBus;\n\nfunction clamp(v, min, max) {\n return Math.min(Math.max(v, min), max);\n}\n\nvar ProgressBar = /*#__PURE__*/function () {\n function ProgressBar(id) {\n var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n height = _ref4.height,\n width = _ref4.width,\n units = _ref4.units;\n\n _classCallCheck(this, ProgressBar);\n\n this.visible = true;\n this.div = document.querySelector(id + \" .progress\");\n this.bar = this.div.parentNode;\n this.height = height || 100;\n this.width = width || 100;\n this.units = units || \"%\";\n this.div.style.height = this.height + this.units;\n this.percent = 0;\n }\n\n _createClass(ProgressBar, [{\n key: \"_updateBar\",\n value: function _updateBar() {\n if (this._indeterminate) {\n this.div.classList.add(\"indeterminate\");\n this.div.style.width = this.width + this.units;\n return;\n }\n\n this.div.classList.remove(\"indeterminate\");\n var progressSize = this.width * this._percent / 100;\n this.div.style.width = progressSize + this.units;\n }\n }, {\n key: \"setWidth\",\n value: function setWidth(viewer) {\n if (!viewer) {\n return;\n }\n\n var container = viewer.parentNode;\n var scrollbarWidth = container.offsetWidth - viewer.offsetWidth;\n\n if (scrollbarWidth > 0) {\n this.bar.style.width = \"calc(100% - \".concat(scrollbarWidth, \"px)\");\n }\n }\n }, {\n key: \"hide\",\n value: function hide() {\n if (!this.visible) {\n return;\n }\n\n this.visible = false;\n this.bar.classList.add(\"hidden\");\n document.body.classList.remove(\"loadingInProgress\");\n }\n }, {\n key: \"show\",\n value: function show() {\n if (this.visible) {\n return;\n }\n\n this.visible = true;\n document.body.classList.add(\"loadingInProgress\");\n this.bar.classList.remove(\"hidden\");\n }\n }, {\n key: \"percent\",\n get: function get() {\n return this._percent;\n },\n set: function set(val) {\n this._indeterminate = isNaN(val);\n this._percent = clamp(val, 0, 100);\n\n this._updateBar();\n }\n }]);\n\n return ProgressBar;\n}();\n\nexports.ProgressBar = ProgressBar;\n\nfunction moveToEndOfArray(arr, condition) {\n var moved = [],\n len = arr.length;\n var write = 0;\n\n for (var read = 0; read < len; ++read) {\n if (condition(arr[read])) {\n moved.push(arr[read]);\n } else {\n arr[write] = arr[read];\n ++write;\n }\n }\n\n for (var _read = 0; write < len; ++_read, ++write) {\n arr[write] = moved[_read];\n }\n}\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __w_pdfjs_require__(5);\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(module) {\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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, PromiseImpl) {\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 PromiseImpl.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 PromiseImpl.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 PromiseImpl(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, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\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__(6)(module)))\n\n/***/ }),\n/* 6 */\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/* 7 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SimpleLinkService = exports.PDFLinkService = void 0;\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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 _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 PDFLinkService = /*#__PURE__*/function () {\n function PDFLinkService() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n eventBus = _ref.eventBus,\n _ref$externalLinkTarg = _ref.externalLinkTarget,\n externalLinkTarget = _ref$externalLinkTarg === void 0 ? null : _ref$externalLinkTarg,\n _ref$externalLinkRel = _ref.externalLinkRel,\n externalLinkRel = _ref$externalLinkRel === void 0 ? null : _ref$externalLinkRel,\n _ref$externalLinkEnab = _ref.externalLinkEnabled,\n externalLinkEnabled = _ref$externalLinkEnab === void 0 ? true : _ref$externalLinkEnab,\n _ref$ignoreDestinatio = _ref.ignoreDestinationZoom,\n ignoreDestinationZoom = _ref$ignoreDestinatio === void 0 ? false : _ref$ignoreDestinatio;\n\n _classCallCheck(this, PDFLinkService);\n\n this.eventBus = eventBus;\n this.externalLinkTarget = externalLinkTarget;\n this.externalLinkRel = externalLinkRel;\n this.externalLinkEnabled = externalLinkEnabled;\n this._ignoreDestinationZoom = ignoreDestinationZoom;\n this.baseUrl = null;\n this.pdfDocument = null;\n this.pdfViewer = null;\n this.pdfHistory = null;\n this._pagesRefCache = null;\n }\n\n _createClass(PDFLinkService, [{\n key: \"setDocument\",\n value: function setDocument(pdfDocument) {\n var baseUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n this.baseUrl = baseUrl;\n this.pdfDocument = pdfDocument;\n this._pagesRefCache = Object.create(null);\n }\n }, {\n key: \"setViewer\",\n value: function setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n }, {\n key: \"setHistory\",\n value: function setHistory(pdfHistory) {\n this.pdfHistory = pdfHistory;\n }\n }, {\n key: \"navigateTo\",\n value: function navigateTo(dest) {\n var _this = this;\n\n var goToDestination = function goToDestination(_ref2) {\n var namedDest = _ref2.namedDest,\n explicitDest = _ref2.explicitDest;\n var destRef = explicitDest[0];\n var pageNumber;\n\n if (destRef instanceof Object) {\n pageNumber = _this._cachedPageNumber(destRef);\n\n if (pageNumber === null) {\n _this.pdfDocument.getPageIndex(destRef).then(function (pageIndex) {\n _this.cachePageRef(pageIndex + 1, destRef);\n\n goToDestination({\n namedDest: namedDest,\n explicitDest: explicitDest\n });\n })[\"catch\"](function () {\n console.error(\"PDFLinkService.navigateTo: \\\"\".concat(destRef, \"\\\" is not \") + \"a valid page reference, for dest=\\\"\".concat(dest, \"\\\".\"));\n });\n\n return;\n }\n } else if (Number.isInteger(destRef)) {\n pageNumber = destRef + 1;\n } else {\n console.error(\"PDFLinkService.navigateTo: \\\"\".concat(destRef, \"\\\" is not \") + \"a valid destination reference, for dest=\\\"\".concat(dest, \"\\\".\"));\n return;\n }\n\n if (!pageNumber || pageNumber < 1 || pageNumber > _this.pagesCount) {\n console.error(\"PDFLinkService.navigateTo: \\\"\".concat(pageNumber, \"\\\" is not \") + \"a valid page number, for dest=\\\"\".concat(dest, \"\\\".\"));\n return;\n }\n\n if (_this.pdfHistory) {\n _this.pdfHistory.pushCurrentPosition();\n\n _this.pdfHistory.push({\n namedDest: namedDest,\n explicitDest: explicitDest,\n pageNumber: pageNumber\n });\n }\n\n _this.pdfViewer.scrollPageIntoView({\n pageNumber: pageNumber,\n destArray: explicitDest,\n ignoreDestinationZoom: _this._ignoreDestinationZoom\n });\n };\n\n new Promise(function (resolve, reject) {\n if (typeof dest === \"string\") {\n _this.pdfDocument.getDestination(dest).then(function (destArray) {\n resolve({\n namedDest: dest,\n explicitDest: destArray\n });\n });\n\n return;\n }\n\n resolve({\n namedDest: \"\",\n explicitDest: dest\n });\n }).then(function (data) {\n if (!Array.isArray(data.explicitDest)) {\n console.error(\"PDFLinkService.navigateTo: \\\"\".concat(data.explicitDest, \"\\\" is\") + \" not a valid destination array, for dest=\\\"\".concat(dest, \"\\\".\"));\n return;\n }\n\n goToDestination(data);\n });\n }\n }, {\n key: \"getDestinationHash\",\n value: function getDestinationHash(dest) {\n if (typeof dest === \"string\") {\n return this.getAnchorUrl(\"#\" + escape(dest));\n }\n\n if (Array.isArray(dest)) {\n var str = JSON.stringify(dest);\n return this.getAnchorUrl(\"#\" + escape(str));\n }\n\n return this.getAnchorUrl(\"\");\n }\n }, {\n key: \"getAnchorUrl\",\n value: function getAnchorUrl(anchor) {\n return (this.baseUrl || \"\") + anchor;\n }\n }, {\n key: \"setHash\",\n value: function setHash(hash) {\n var pageNumber, dest;\n\n if (hash.includes(\"=\")) {\n var params = (0, _ui_utils.parseQueryString)(hash);\n\n if (\"search\" in params) {\n this.eventBus.dispatch(\"findfromurlhash\", {\n source: this,\n query: params.search.replace(/\"/g, \"\"),\n phraseSearch: params.phrase === \"true\"\n });\n }\n\n if (\"page\" in params) {\n pageNumber = params.page | 0 || 1;\n }\n\n if (\"zoom\" in params) {\n var zoomArgs = params.zoom.split(\",\");\n var zoomArg = zoomArgs[0];\n var zoomArgNumber = parseFloat(zoomArg);\n\n if (!zoomArg.includes(\"Fit\")) {\n dest = [null, {\n name: \"XYZ\"\n }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null, zoomArgs.length > 2 ? zoomArgs[2] | 0 : null, zoomArgNumber ? zoomArgNumber / 100 : zoomArg];\n } else {\n if (zoomArg === \"Fit\" || zoomArg === \"FitB\") {\n dest = [null, {\n name: zoomArg\n }];\n } else if (zoomArg === \"FitH\" || zoomArg === \"FitBH\" || zoomArg === \"FitV\" || zoomArg === \"FitBV\") {\n dest = [null, {\n name: zoomArg\n }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null];\n } else if (zoomArg === \"FitR\") {\n if (zoomArgs.length !== 5) {\n console.error('PDFLinkService.setHash: Not enough parameters for \"FitR\".');\n } else {\n dest = [null, {\n name: zoomArg\n }, zoomArgs[1] | 0, zoomArgs[2] | 0, zoomArgs[3] | 0, zoomArgs[4] | 0];\n }\n } else {\n console.error(\"PDFLinkService.setHash: \\\"\".concat(zoomArg, \"\\\" is not \") + \"a valid zoom value.\");\n }\n }\n }\n\n if (dest) {\n this.pdfViewer.scrollPageIntoView({\n pageNumber: pageNumber || this.page,\n destArray: dest,\n allowNegativeOffset: true\n });\n } else if (pageNumber) {\n this.page = pageNumber;\n }\n\n if (\"pagemode\" in params) {\n this.eventBus.dispatch(\"pagemode\", {\n source: this,\n mode: params.pagemode\n });\n }\n\n if (\"nameddest\" in params) {\n this.navigateTo(params.nameddest);\n }\n } else {\n dest = unescape(hash);\n\n try {\n dest = JSON.parse(dest);\n\n if (!Array.isArray(dest)) {\n dest = dest.toString();\n }\n } catch (ex) {}\n\n if (typeof dest === \"string\" || isValidExplicitDestination(dest)) {\n this.navigateTo(dest);\n return;\n }\n\n console.error(\"PDFLinkService.setHash: \\\"\".concat(unescape(hash), \"\\\" is not \") + \"a valid destination.\");\n }\n }\n }, {\n key: \"executeNamedAction\",\n value: function executeNamedAction(action) {\n switch (action) {\n case \"GoBack\":\n if (this.pdfHistory) {\n this.pdfHistory.back();\n }\n\n break;\n\n case \"GoForward\":\n if (this.pdfHistory) {\n this.pdfHistory.forward();\n }\n\n break;\n\n case \"NextPage\":\n if (this.page < this.pagesCount) {\n this.page++;\n }\n\n break;\n\n case \"PrevPage\":\n if (this.page > 1) {\n this.page--;\n }\n\n break;\n\n case \"LastPage\":\n this.page = this.pagesCount;\n break;\n\n case \"FirstPage\":\n this.page = 1;\n break;\n\n default:\n break;\n }\n\n this.eventBus.dispatch(\"namedaction\", {\n source: this,\n action: action\n });\n }\n }, {\n key: \"cachePageRef\",\n value: function cachePageRef(pageNum, pageRef) {\n if (!pageRef) {\n return;\n }\n\n var refStr = pageRef.gen === 0 ? \"\".concat(pageRef.num, \"R\") : \"\".concat(pageRef.num, \"R\").concat(pageRef.gen);\n this._pagesRefCache[refStr] = pageNum;\n }\n }, {\n key: \"_cachedPageNumber\",\n value: function _cachedPageNumber(pageRef) {\n var refStr = pageRef.gen === 0 ? \"\".concat(pageRef.num, \"R\") : \"\".concat(pageRef.num, \"R\").concat(pageRef.gen);\n return this._pagesRefCache && this._pagesRefCache[refStr] || null;\n }\n }, {\n key: \"isPageVisible\",\n value: function isPageVisible(pageNumber) {\n return this.pdfViewer.isPageVisible(pageNumber);\n }\n }, {\n key: \"pagesCount\",\n get: function get() {\n return this.pdfDocument ? this.pdfDocument.numPages : 0;\n }\n }, {\n key: \"page\",\n get: function get() {\n return this.pdfViewer.currentPageNumber;\n },\n set: function set(value) {\n this.pdfViewer.currentPageNumber = value;\n }\n }, {\n key: \"rotation\",\n get: function get() {\n return this.pdfViewer.pagesRotation;\n },\n set: function set(value) {\n this.pdfViewer.pagesRotation = value;\n }\n }]);\n\n return PDFLinkService;\n}();\n\nexports.PDFLinkService = PDFLinkService;\n\nfunction isValidExplicitDestination(dest) {\n if (!Array.isArray(dest)) {\n return false;\n }\n\n var destLength = dest.length;\n\n if (destLength < 2) {\n return false;\n }\n\n var page = dest[0];\n\n if (!(_typeof(page) === \"object\" && Number.isInteger(page.num) && Number.isInteger(page.gen)) && !(Number.isInteger(page) && page >= 0)) {\n return false;\n }\n\n var zoom = dest[1];\n\n if (!(_typeof(zoom) === \"object\" && typeof zoom.name === \"string\")) {\n return false;\n }\n\n var allowNull = true;\n\n switch (zoom.name) {\n case \"XYZ\":\n if (destLength !== 5) {\n return false;\n }\n\n break;\n\n case \"Fit\":\n case \"FitB\":\n return destLength === 2;\n\n case \"FitH\":\n case \"FitBH\":\n case \"FitV\":\n case \"FitBV\":\n if (destLength !== 3) {\n return false;\n }\n\n break;\n\n case \"FitR\":\n if (destLength !== 6) {\n return false;\n }\n\n allowNull = false;\n break;\n\n default:\n return false;\n }\n\n for (var i = 2; i < destLength; i++) {\n var param = dest[i];\n\n if (!(typeof param === \"number\" || allowNull && param === null)) {\n return false;\n }\n }\n\n return true;\n}\n\nvar SimpleLinkService = /*#__PURE__*/function () {\n function SimpleLinkService() {\n _classCallCheck(this, SimpleLinkService);\n\n this.externalLinkTarget = null;\n this.externalLinkRel = null;\n this.externalLinkEnabled = true;\n this._ignoreDestinationZoom = false;\n }\n\n _createClass(SimpleLinkService, [{\n key: \"navigateTo\",\n value: function navigateTo(dest) {}\n }, {\n key: \"getDestinationHash\",\n value: function getDestinationHash(dest) {\n return \"#\";\n }\n }, {\n key: \"getAnchorUrl\",\n value: function getAnchorUrl(hash) {\n return \"#\";\n }\n }, {\n key: \"setHash\",\n value: function setHash(hash) {}\n }, {\n key: \"executeNamedAction\",\n value: function executeNamedAction(action) {}\n }, {\n key: \"cachePageRef\",\n value: function cachePageRef(pageNum, pageRef) {}\n }, {\n key: \"isPageVisible\",\n value: function isPageVisible(pageNumber) {\n return true;\n }\n }, {\n key: \"pagesCount\",\n get: function get() {\n return 0;\n }\n }, {\n key: \"page\",\n get: function get() {\n return 0;\n },\n set: function set(value) {}\n }, {\n key: \"rotation\",\n get: function get() {\n return 0;\n },\n set: function set(value) {}\n }]);\n\n return SimpleLinkService;\n}();\n\nexports.SimpleLinkService = SimpleLinkService;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DefaultTextLayerFactory = exports.TextLayerBuilder = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\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 EXPAND_DIVS_TIMEOUT = 300;\n\nvar TextLayerBuilder = /*#__PURE__*/function () {\n function TextLayerBuilder(_ref) {\n var textLayerDiv = _ref.textLayerDiv,\n eventBus = _ref.eventBus,\n pageIndex = _ref.pageIndex,\n viewport = _ref.viewport,\n _ref$findController = _ref.findController,\n findController = _ref$findController === void 0 ? null : _ref$findController,\n _ref$enhanceTextSelec = _ref.enhanceTextSelection,\n enhanceTextSelection = _ref$enhanceTextSelec === void 0 ? false : _ref$enhanceTextSelec;\n\n _classCallCheck(this, TextLayerBuilder);\n\n this.textLayerDiv = textLayerDiv;\n this.eventBus = eventBus;\n this.textContent = null;\n this.textContentItemsStr = [];\n this.textContentStream = null;\n this.renderingDone = false;\n this.pageIdx = pageIndex;\n this.pageNumber = this.pageIdx + 1;\n this.matches = [];\n this.viewport = viewport;\n this.textDivs = [];\n this.findController = findController;\n this.textLayerRenderTask = null;\n this.enhanceTextSelection = enhanceTextSelection;\n this._onUpdateTextLayerMatches = null;\n\n this._bindMouse();\n }\n\n _createClass(TextLayerBuilder, [{\n key: \"_finishRendering\",\n value: function _finishRendering() {\n this.renderingDone = true;\n\n if (!this.enhanceTextSelection) {\n var endOfContent = document.createElement(\"div\");\n endOfContent.className = \"endOfContent\";\n this.textLayerDiv.appendChild(endOfContent);\n }\n\n this.eventBus.dispatch(\"textlayerrendered\", {\n source: this,\n pageNumber: this.pageNumber,\n numTextDivs: this.textDivs.length\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this = this;\n\n var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n if (!(this.textContent || this.textContentStream) || this.renderingDone) {\n return;\n }\n\n this.cancel();\n this.textDivs = [];\n var textLayerFrag = document.createDocumentFragment();\n this.textLayerRenderTask = (0, _pdfjsLib.renderTextLayer)({\n textContent: this.textContent,\n textContentStream: this.textContentStream,\n container: textLayerFrag,\n viewport: this.viewport,\n textDivs: this.textDivs,\n textContentItemsStr: this.textContentItemsStr,\n timeout: timeout,\n enhanceTextSelection: this.enhanceTextSelection\n });\n this.textLayerRenderTask.promise.then(function () {\n _this.textLayerDiv.appendChild(textLayerFrag);\n\n _this._finishRendering();\n\n _this._updateMatches();\n }, function (reason) {});\n\n if (!this._onUpdateTextLayerMatches) {\n this._onUpdateTextLayerMatches = function (evt) {\n if (evt.pageIndex === _this.pageIdx || evt.pageIndex === -1) {\n _this._updateMatches();\n }\n };\n\n this.eventBus._on(\"updatetextlayermatches\", this._onUpdateTextLayerMatches);\n }\n }\n }, {\n key: \"cancel\",\n value: function cancel() {\n if (this.textLayerRenderTask) {\n this.textLayerRenderTask.cancel();\n this.textLayerRenderTask = null;\n }\n\n if (this._onUpdateTextLayerMatches) {\n this.eventBus._off(\"updatetextlayermatches\", this._onUpdateTextLayerMatches);\n\n this._onUpdateTextLayerMatches = null;\n }\n }\n }, {\n key: \"setTextContentStream\",\n value: function setTextContentStream(readableStream) {\n this.cancel();\n this.textContentStream = readableStream;\n }\n }, {\n key: \"setTextContent\",\n value: function setTextContent(textContent) {\n this.cancel();\n this.textContent = textContent;\n }\n }, {\n key: \"_convertMatches\",\n value: function _convertMatches(matches, matchesLength) {\n if (!matches) {\n return [];\n }\n\n var findController = this.findController,\n textContentItemsStr = this.textContentItemsStr;\n var i = 0,\n iIndex = 0;\n var end = textContentItemsStr.length - 1;\n var queryLen = findController.state.query.length;\n var result = [];\n\n for (var m = 0, mm = matches.length; m < mm; m++) {\n var matchIdx = matches[m];\n\n while (i !== end && matchIdx >= iIndex + textContentItemsStr[i].length) {\n iIndex += textContentItemsStr[i].length;\n i++;\n }\n\n if (i === textContentItemsStr.length) {\n console.error(\"Could not find a matching mapping\");\n }\n\n var match = {\n begin: {\n divIdx: i,\n offset: matchIdx - iIndex\n }\n };\n\n if (matchesLength) {\n matchIdx += matchesLength[m];\n } else {\n matchIdx += queryLen;\n }\n\n while (i !== end && matchIdx > iIndex + textContentItemsStr[i].length) {\n iIndex += textContentItemsStr[i].length;\n i++;\n }\n\n match.end = {\n divIdx: i,\n offset: matchIdx - iIndex\n };\n result.push(match);\n }\n\n return result;\n }\n }, {\n key: \"_renderMatches\",\n value: function _renderMatches(matches) {\n if (matches.length === 0) {\n return;\n }\n\n var findController = this.findController,\n pageIdx = this.pageIdx,\n textContentItemsStr = this.textContentItemsStr,\n textDivs = this.textDivs;\n var isSelectedPage = pageIdx === findController.selected.pageIdx;\n var selectedMatchIdx = findController.selected.matchIdx;\n var highlightAll = findController.state.highlightAll;\n var prevEnd = null;\n var infinity = {\n divIdx: -1,\n offset: undefined\n };\n\n function beginText(begin, className) {\n var divIdx = begin.divIdx;\n textDivs[divIdx].textContent = \"\";\n appendTextToDiv(divIdx, 0, begin.offset, className);\n }\n\n function appendTextToDiv(divIdx, fromOffset, toOffset, className) {\n var div = textDivs[divIdx];\n var content = textContentItemsStr[divIdx].substring(fromOffset, toOffset);\n var node = document.createTextNode(content);\n\n if (className) {\n var span = document.createElement(\"span\");\n span.className = className;\n span.appendChild(node);\n div.appendChild(span);\n return;\n }\n\n div.appendChild(node);\n }\n\n var i0 = selectedMatchIdx,\n i1 = i0 + 1;\n\n if (highlightAll) {\n i0 = 0;\n i1 = matches.length;\n } else if (!isSelectedPage) {\n return;\n }\n\n for (var i = i0; i < i1; i++) {\n var match = matches[i];\n var begin = match.begin;\n var end = match.end;\n var isSelected = isSelectedPage && i === selectedMatchIdx;\n var highlightSuffix = isSelected ? \" selected\" : \"\";\n\n if (isSelected) {\n findController.scrollMatchIntoView({\n element: textDivs[begin.divIdx],\n pageIndex: pageIdx,\n matchIndex: selectedMatchIdx\n });\n }\n\n if (!prevEnd || begin.divIdx !== prevEnd.divIdx) {\n if (prevEnd !== null) {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);\n }\n\n beginText(begin);\n } else {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, begin.offset);\n }\n\n if (begin.divIdx === end.divIdx) {\n appendTextToDiv(begin.divIdx, begin.offset, end.offset, \"highlight\" + highlightSuffix);\n } else {\n appendTextToDiv(begin.divIdx, begin.offset, infinity.offset, \"highlight begin\" + highlightSuffix);\n\n for (var n0 = begin.divIdx + 1, n1 = end.divIdx; n0 < n1; n0++) {\n textDivs[n0].className = \"highlight middle\" + highlightSuffix;\n }\n\n beginText(end, \"highlight end\" + highlightSuffix);\n }\n\n prevEnd = end;\n }\n\n if (prevEnd) {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);\n }\n }\n }, {\n key: \"_updateMatches\",\n value: function _updateMatches() {\n if (!this.renderingDone) {\n return;\n }\n\n var findController = this.findController,\n matches = this.matches,\n pageIdx = this.pageIdx,\n textContentItemsStr = this.textContentItemsStr,\n textDivs = this.textDivs;\n var clearedUntilDivIdx = -1;\n\n for (var i = 0, ii = matches.length; i < ii; i++) {\n var match = matches[i];\n var begin = Math.max(clearedUntilDivIdx, match.begin.divIdx);\n\n for (var n = begin, end = match.end.divIdx; n <= end; n++) {\n var div = textDivs[n];\n div.textContent = textContentItemsStr[n];\n div.className = \"\";\n }\n\n clearedUntilDivIdx = match.end.divIdx + 1;\n }\n\n if (!findController || !findController.highlightMatches) {\n return;\n }\n\n var pageMatches = findController.pageMatches[pageIdx] || null;\n var pageMatchesLength = findController.pageMatchesLength[pageIdx] || null;\n this.matches = this._convertMatches(pageMatches, pageMatchesLength);\n\n this._renderMatches(this.matches);\n }\n }, {\n key: \"_bindMouse\",\n value: function _bindMouse() {\n var _this2 = this;\n\n var div = this.textLayerDiv;\n var expandDivsTimer = null;\n div.addEventListener(\"mousedown\", function (evt) {\n if (_this2.enhanceTextSelection && _this2.textLayerRenderTask) {\n _this2.textLayerRenderTask.expandTextDivs(true);\n\n if (expandDivsTimer) {\n clearTimeout(expandDivsTimer);\n expandDivsTimer = null;\n }\n\n return;\n }\n\n var end = div.querySelector(\".endOfContent\");\n\n if (!end) {\n return;\n }\n\n var adjustTop = evt.target !== div;\n adjustTop = adjustTop && window.getComputedStyle(end).getPropertyValue(\"-moz-user-select\") !== \"none\";\n\n if (adjustTop) {\n var divBounds = div.getBoundingClientRect();\n var r = Math.max(0, (evt.pageY - divBounds.top) / divBounds.height);\n end.style.top = (r * 100).toFixed(2) + \"%\";\n }\n\n end.classList.add(\"active\");\n });\n div.addEventListener(\"mouseup\", function () {\n if (_this2.enhanceTextSelection && _this2.textLayerRenderTask) {\n expandDivsTimer = setTimeout(function () {\n if (_this2.textLayerRenderTask) {\n _this2.textLayerRenderTask.expandTextDivs(false);\n }\n\n expandDivsTimer = null;\n }, EXPAND_DIVS_TIMEOUT);\n return;\n }\n\n var end = div.querySelector(\".endOfContent\");\n\n if (!end) {\n return;\n }\n\n end.style.top = \"\";\n end.classList.remove(\"active\");\n });\n }\n }]);\n\n return TextLayerBuilder;\n}();\n\nexports.TextLayerBuilder = TextLayerBuilder;\n\nvar DefaultTextLayerFactory = /*#__PURE__*/function () {\n function DefaultTextLayerFactory() {\n _classCallCheck(this, DefaultTextLayerFactory);\n }\n\n _createClass(DefaultTextLayerFactory, [{\n key: \"createTextLayerBuilder\",\n value: function createTextLayerBuilder(textLayerDiv, pageIndex, viewport) {\n var enhanceTextSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var eventBus = arguments.length > 4 ? arguments[4] : undefined;\n return new TextLayerBuilder({\n textLayerDiv: textLayerDiv,\n pageIndex: pageIndex,\n viewport: viewport,\n enhanceTextSelection: enhanceTextSelection,\n eventBus: eventBus\n });\n }\n }]);\n\n return DefaultTextLayerFactory;\n}();\n\nexports.DefaultTextLayerFactory = DefaultTextLayerFactory;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DownloadManager = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nvar _viewer_compatibility = __w_pdfjs_require__(10);\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 DISABLE_CREATE_OBJECT_URL = _viewer_compatibility.viewerCompatibilityParams.disableCreateObjectURL || false;\n\nfunction _download(blobUrl, filename) {\n var a = document.createElement(\"a\");\n\n if (!a.click) {\n throw new Error('DownloadManager: \"a.click()\" is not supported.');\n }\n\n a.href = blobUrl;\n a.target = \"_parent\";\n\n if (\"download\" in a) {\n a.download = filename;\n }\n\n (document.body || document.documentElement).appendChild(a);\n a.click();\n a.remove();\n}\n\nvar DownloadManager = /*#__PURE__*/function () {\n function DownloadManager(_ref) {\n var _ref$disableCreateObj = _ref.disableCreateObjectURL,\n disableCreateObjectURL = _ref$disableCreateObj === void 0 ? DISABLE_CREATE_OBJECT_URL : _ref$disableCreateObj;\n\n _classCallCheck(this, DownloadManager);\n\n this.disableCreateObjectURL = disableCreateObjectURL;\n }\n\n _createClass(DownloadManager, [{\n key: \"downloadUrl\",\n value: function downloadUrl(url, filename) {\n if (!(0, _pdfjsLib.createValidAbsoluteUrl)(url, \"http://example.com\")) {\n return;\n }\n\n _download(url + \"#pdfjs.action=download\", filename);\n }\n }, {\n key: \"downloadData\",\n value: function downloadData(data, filename, contentType) {\n if (navigator.msSaveBlob) {\n navigator.msSaveBlob(new Blob([data], {\n type: contentType\n }), filename);\n return;\n }\n\n var blobUrl = (0, _pdfjsLib.createObjectURL)(data, contentType, this.disableCreateObjectURL);\n\n _download(blobUrl, filename);\n }\n }, {\n key: \"download\",\n value: function download(blob, url, filename) {\n if (navigator.msSaveBlob) {\n if (!navigator.msSaveBlob(blob, filename)) {\n this.downloadUrl(url, filename);\n }\n\n return;\n }\n\n if (this.disableCreateObjectURL) {\n this.downloadUrl(url, filename);\n return;\n }\n\n var blobUrl = URL.createObjectURL(blob);\n\n _download(blobUrl, filename);\n }\n }]);\n\n return DownloadManager;\n}();\n\nexports.DownloadManager = DownloadManager;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.viewerCompatibilityParams = void 0;\nvar compatibilityParams = Object.create(null);\n{\n var userAgent = typeof navigator !== \"undefined\" && navigator.userAgent || \"\";\n var platform = typeof navigator !== \"undefined\" && navigator.platform || \"\";\n var maxTouchPoints = typeof navigator !== \"undefined\" && navigator.maxTouchPoints || 1;\n var isAndroid = /Android/.test(userAgent);\n var isIE = /Trident/.test(userAgent);\n var isIOS = /\\b(iPad|iPhone|iPod)(?=;)/.test(userAgent) || platform === \"MacIntel\" && maxTouchPoints > 1;\n var isIOSChrome = /CriOS/.test(userAgent);\n\n (function checkOnBlobSupport() {\n if (isIE || isIOSChrome) {\n compatibilityParams.disableCreateObjectURL = true;\n }\n })();\n\n (function checkCanvasSizeLimitation() {\n if (isIOS || isAndroid) {\n compatibilityParams.maxCanvasPixels = 5242880;\n }\n })();\n}\nvar viewerCompatibilityParams = Object.freeze(compatibilityParams);\nexports.viewerCompatibilityParams = viewerCompatibilityParams;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.GenericL10n = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(4));\n\n__w_pdfjs_require__(12);\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 webL10n = document.webL10n;\n\nvar GenericL10n = /*#__PURE__*/function () {\n function GenericL10n(lang) {\n _classCallCheck(this, GenericL10n);\n\n this._lang = lang;\n this._ready = new Promise(function (resolve, reject) {\n webL10n.setLanguage(lang, function () {\n resolve(webL10n);\n });\n });\n }\n\n _createClass(GenericL10n, [{\n key: \"getLanguage\",\n value: function () {\n var _getLanguage = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var l10n;\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._ready;\n\n case 2:\n l10n = _context.sent;\n return _context.abrupt(\"return\", l10n.getLanguage());\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function getLanguage() {\n return _getLanguage.apply(this, arguments);\n }\n\n return getLanguage;\n }()\n }, {\n key: \"getDirection\",\n value: function () {\n var _getDirection = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n var l10n;\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._ready;\n\n case 2:\n l10n = _context2.sent;\n return _context2.abrupt(\"return\", l10n.getDirection());\n\n case 4:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function getDirection() {\n return _getDirection.apply(this, arguments);\n }\n\n return getDirection;\n }()\n }, {\n key: \"get\",\n value: function () {\n var _get = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee3(property, args, fallback) {\n var l10n;\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return this._ready;\n\n case 2:\n l10n = _context3.sent;\n return _context3.abrupt(\"return\", l10n.get(property, args, fallback));\n\n case 4:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function get(_x, _x2, _x3) {\n return _get.apply(this, arguments);\n }\n\n return get;\n }()\n }, {\n key: \"translate\",\n value: function () {\n var _translate = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee4(element) {\n var l10n;\n return _regenerator[\"default\"].wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return this._ready;\n\n case 2:\n l10n = _context4.sent;\n return _context4.abrupt(\"return\", l10n.translate(element));\n\n case 4:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function translate(_x4) {\n return _translate.apply(this, arguments);\n }\n\n return translate;\n }()\n }]);\n\n return GenericL10n;\n}();\n\nexports.GenericL10n = GenericL10n;\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\ndocument.webL10n = function (window, document, undefined) {\n var gL10nData = {};\n var gTextData = '';\n var gTextProp = 'textContent';\n var gLanguage = '';\n var gMacros = {};\n var gReadyState = 'loading';\n var gAsyncResourceLoading = true;\n\n function getL10nResourceLinks() {\n return document.querySelectorAll('link[type=\"application/l10n\"]');\n }\n\n function getL10nDictionary() {\n var script = document.querySelector('script[type=\"application/l10n\"]');\n return script ? JSON.parse(script.innerHTML) : null;\n }\n\n function getTranslatableChildren(element) {\n return element ? element.querySelectorAll('*[data-l10n-id]') : [];\n }\n\n function getL10nAttributes(element) {\n if (!element) return {};\n var l10nId = element.getAttribute('data-l10n-id');\n var l10nArgs = element.getAttribute('data-l10n-args');\n var args = {};\n\n if (l10nArgs) {\n try {\n args = JSON.parse(l10nArgs);\n } catch (e) {\n console.warn('could not parse arguments for #' + l10nId);\n }\n }\n\n return {\n id: l10nId,\n args: args\n };\n }\n\n function xhrLoadText(url, onSuccess, onFailure) {\n onSuccess = onSuccess || function _onSuccess(data) {};\n\n onFailure = onFailure || function _onFailure() {};\n\n var xhr = new XMLHttpRequest();\n xhr.open('GET', url, gAsyncResourceLoading);\n\n if (xhr.overrideMimeType) {\n xhr.overrideMimeType('text/plain; charset=utf-8');\n }\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState == 4) {\n if (xhr.status == 200 || xhr.status === 0) {\n onSuccess(xhr.responseText);\n } else {\n onFailure();\n }\n }\n };\n\n xhr.onerror = onFailure;\n xhr.ontimeout = onFailure;\n\n try {\n xhr.send(null);\n } catch (e) {\n onFailure();\n }\n }\n\n function parseResource(href, lang, successCallback, failureCallback) {\n var baseURL = href.replace(/[^\\/]*$/, '') || './';\n\n function evalString(text) {\n if (text.lastIndexOf('\\\\') < 0) return text;\n return text.replace(/\\\\\\\\/g, '\\\\').replace(/\\\\n/g, '\\n').replace(/\\\\r/g, '\\r').replace(/\\\\t/g, '\\t').replace(/\\\\b/g, '\\b').replace(/\\\\f/g, '\\f').replace(/\\\\{/g, '{').replace(/\\\\}/g, '}').replace(/\\\\\"/g, '\"').replace(/\\\\'/g, \"'\");\n }\n\n function parseProperties(text, parsedPropertiesCallback) {\n var dictionary = {};\n var reBlank = /^\\s*|\\s*$/;\n var reComment = /^\\s*#|^\\s*$/;\n var reSection = /^\\s*\\[(.*)\\]\\s*$/;\n var reImport = /^\\s*@import\\s+url\\((.*)\\)\\s*$/i;\n var reSplit = /^([^=\\s]*)\\s*=\\s*(.+)$/;\n\n function parseRawLines(rawText, extendedSyntax, parsedRawLinesCallback) {\n var entries = rawText.replace(reBlank, '').split(/[\\r\\n]+/);\n var currentLang = '*';\n var genericLang = lang.split('-', 1)[0];\n var skipLang = false;\n var match = '';\n\n function nextEntry() {\n while (true) {\n if (!entries.length) {\n parsedRawLinesCallback();\n return;\n }\n\n var line = entries.shift();\n if (reComment.test(line)) continue;\n\n if (extendedSyntax) {\n match = reSection.exec(line);\n\n if (match) {\n currentLang = match[1].toLowerCase();\n skipLang = currentLang !== '*' && currentLang !== lang && currentLang !== genericLang;\n continue;\n } else if (skipLang) {\n continue;\n }\n\n match = reImport.exec(line);\n\n if (match) {\n loadImport(baseURL + match[1], nextEntry);\n return;\n }\n }\n\n var tmp = line.match(reSplit);\n\n if (tmp && tmp.length == 3) {\n dictionary[tmp[1]] = evalString(tmp[2]);\n }\n }\n }\n\n nextEntry();\n }\n\n function loadImport(url, callback) {\n xhrLoadText(url, function (content) {\n parseRawLines(content, false, callback);\n }, function () {\n console.warn(url + ' not found.');\n callback();\n });\n }\n\n parseRawLines(text, true, function () {\n parsedPropertiesCallback(dictionary);\n });\n }\n\n xhrLoadText(href, function (response) {\n gTextData += response;\n parseProperties(response, function (data) {\n for (var key in data) {\n var id,\n prop,\n index = key.lastIndexOf('.');\n\n if (index > 0) {\n id = key.substring(0, index);\n prop = key.substring(index + 1);\n } else {\n id = key;\n prop = gTextProp;\n }\n\n if (!gL10nData[id]) {\n gL10nData[id] = {};\n }\n\n gL10nData[id][prop] = data[key];\n }\n\n if (successCallback) {\n successCallback();\n }\n });\n }, failureCallback);\n }\n\n function loadLocale(lang, callback) {\n if (lang) {\n lang = lang.toLowerCase();\n }\n\n callback = callback || function _callback() {};\n\n clear();\n gLanguage = lang;\n var langLinks = getL10nResourceLinks();\n var langCount = langLinks.length;\n\n if (langCount === 0) {\n var dict = getL10nDictionary();\n\n if (dict && dict.locales && dict.default_locale) {\n console.log('using the embedded JSON directory, early way out');\n gL10nData = dict.locales[lang];\n\n if (!gL10nData) {\n var defaultLocale = dict.default_locale.toLowerCase();\n\n for (var anyCaseLang in dict.locales) {\n anyCaseLang = anyCaseLang.toLowerCase();\n\n if (anyCaseLang === lang) {\n gL10nData = dict.locales[lang];\n break;\n } else if (anyCaseLang === defaultLocale) {\n gL10nData = dict.locales[defaultLocale];\n }\n }\n }\n\n callback();\n } else {\n console.log('no resource to load, early way out');\n }\n\n gReadyState = 'complete';\n return;\n }\n\n var onResourceLoaded = null;\n var gResourceCount = 0;\n\n onResourceLoaded = function onResourceLoaded() {\n gResourceCount++;\n\n if (gResourceCount >= langCount) {\n callback();\n gReadyState = 'complete';\n }\n };\n\n function L10nResourceLink(link) {\n var href = link.href;\n\n this.load = function (lang, callback) {\n parseResource(href, lang, callback, function () {\n console.warn(href + ' not found.');\n console.warn('\"' + lang + '\" resource not found');\n gLanguage = '';\n callback();\n });\n };\n }\n\n for (var i = 0; i < langCount; i++) {\n var resource = new L10nResourceLink(langLinks[i]);\n resource.load(lang, onResourceLoaded);\n }\n }\n\n function clear() {\n gL10nData = {};\n gTextData = '';\n gLanguage = '';\n }\n\n function getPluralRules(lang) {\n var locales2rules = {\n 'af': 3,\n 'ak': 4,\n 'am': 4,\n 'ar': 1,\n 'asa': 3,\n 'az': 0,\n 'be': 11,\n 'bem': 3,\n 'bez': 3,\n 'bg': 3,\n 'bh': 4,\n 'bm': 0,\n 'bn': 3,\n 'bo': 0,\n 'br': 20,\n 'brx': 3,\n 'bs': 11,\n 'ca': 3,\n 'cgg': 3,\n 'chr': 3,\n 'cs': 12,\n 'cy': 17,\n 'da': 3,\n 'de': 3,\n 'dv': 3,\n 'dz': 0,\n 'ee': 3,\n 'el': 3,\n 'en': 3,\n 'eo': 3,\n 'es': 3,\n 'et': 3,\n 'eu': 3,\n 'fa': 0,\n 'ff': 5,\n 'fi': 3,\n 'fil': 4,\n 'fo': 3,\n 'fr': 5,\n 'fur': 3,\n 'fy': 3,\n 'ga': 8,\n 'gd': 24,\n 'gl': 3,\n 'gsw': 3,\n 'gu': 3,\n 'guw': 4,\n 'gv': 23,\n 'ha': 3,\n 'haw': 3,\n 'he': 2,\n 'hi': 4,\n 'hr': 11,\n 'hu': 0,\n 'id': 0,\n 'ig': 0,\n 'ii': 0,\n 'is': 3,\n 'it': 3,\n 'iu': 7,\n 'ja': 0,\n 'jmc': 3,\n 'jv': 0,\n 'ka': 0,\n 'kab': 5,\n 'kaj': 3,\n 'kcg': 3,\n 'kde': 0,\n 'kea': 0,\n 'kk': 3,\n 'kl': 3,\n 'km': 0,\n 'kn': 0,\n 'ko': 0,\n 'ksb': 3,\n 'ksh': 21,\n 'ku': 3,\n 'kw': 7,\n 'lag': 18,\n 'lb': 3,\n 'lg': 3,\n 'ln': 4,\n 'lo': 0,\n 'lt': 10,\n 'lv': 6,\n 'mas': 3,\n 'mg': 4,\n 'mk': 16,\n 'ml': 3,\n 'mn': 3,\n 'mo': 9,\n 'mr': 3,\n 'ms': 0,\n 'mt': 15,\n 'my': 0,\n 'nah': 3,\n 'naq': 7,\n 'nb': 3,\n 'nd': 3,\n 'ne': 3,\n 'nl': 3,\n 'nn': 3,\n 'no': 3,\n 'nr': 3,\n 'nso': 4,\n 'ny': 3,\n 'nyn': 3,\n 'om': 3,\n 'or': 3,\n 'pa': 3,\n 'pap': 3,\n 'pl': 13,\n 'ps': 3,\n 'pt': 3,\n 'rm': 3,\n 'ro': 9,\n 'rof': 3,\n 'ru': 11,\n 'rwk': 3,\n 'sah': 0,\n 'saq': 3,\n 'se': 7,\n 'seh': 3,\n 'ses': 0,\n 'sg': 0,\n 'sh': 11,\n 'shi': 19,\n 'sk': 12,\n 'sl': 14,\n 'sma': 7,\n 'smi': 7,\n 'smj': 7,\n 'smn': 7,\n 'sms': 7,\n 'sn': 3,\n 'so': 3,\n 'sq': 3,\n 'sr': 11,\n 'ss': 3,\n 'ssy': 3,\n 'st': 3,\n 'sv': 3,\n 'sw': 3,\n 'syr': 3,\n 'ta': 3,\n 'te': 3,\n 'teo': 3,\n 'th': 0,\n 'ti': 4,\n 'tig': 3,\n 'tk': 3,\n 'tl': 4,\n 'tn': 3,\n 'to': 0,\n 'tr': 0,\n 'ts': 3,\n 'tzm': 22,\n 'uk': 11,\n 'ur': 3,\n 've': 3,\n 'vi': 0,\n 'vun': 3,\n 'wa': 4,\n 'wae': 3,\n 'wo': 0,\n 'xh': 3,\n 'xog': 3,\n 'yo': 0,\n 'zh': 0,\n 'zu': 3\n };\n\n function isIn(n, list) {\n return list.indexOf(n) !== -1;\n }\n\n function isBetween(n, start, end) {\n return start <= n && n <= end;\n }\n\n var pluralRules = {\n '0': function _(n) {\n return 'other';\n },\n '1': function _(n) {\n if (isBetween(n % 100, 3, 10)) return 'few';\n if (n === 0) return 'zero';\n if (isBetween(n % 100, 11, 99)) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '2': function _(n) {\n if (n !== 0 && n % 10 === 0) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '3': function _(n) {\n if (n == 1) return 'one';\n return 'other';\n },\n '4': function _(n) {\n if (isBetween(n, 0, 1)) return 'one';\n return 'other';\n },\n '5': function _(n) {\n if (isBetween(n, 0, 2) && n != 2) return 'one';\n return 'other';\n },\n '6': function _(n) {\n if (n === 0) return 'zero';\n if (n % 10 == 1 && n % 100 != 11) return 'one';\n return 'other';\n },\n '7': function _(n) {\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '8': function _(n) {\n if (isBetween(n, 3, 6)) return 'few';\n if (isBetween(n, 7, 10)) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '9': function _(n) {\n if (n === 0 || n != 1 && isBetween(n % 100, 1, 19)) return 'few';\n if (n == 1) return 'one';\n return 'other';\n },\n '10': function _(n) {\n if (isBetween(n % 10, 2, 9) && !isBetween(n % 100, 11, 19)) return 'few';\n if (n % 10 == 1 && !isBetween(n % 100, 11, 19)) return 'one';\n return 'other';\n },\n '11': function _(n) {\n if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';\n if (n % 10 === 0 || isBetween(n % 10, 5, 9) || isBetween(n % 100, 11, 14)) return 'many';\n if (n % 10 == 1 && n % 100 != 11) return 'one';\n return 'other';\n },\n '12': function _(n) {\n if (isBetween(n, 2, 4)) return 'few';\n if (n == 1) return 'one';\n return 'other';\n },\n '13': function _(n) {\n if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';\n if (n != 1 && isBetween(n % 10, 0, 1) || isBetween(n % 10, 5, 9) || isBetween(n % 100, 12, 14)) return 'many';\n if (n == 1) return 'one';\n return 'other';\n },\n '14': function _(n) {\n if (isBetween(n % 100, 3, 4)) return 'few';\n if (n % 100 == 2) return 'two';\n if (n % 100 == 1) return 'one';\n return 'other';\n },\n '15': function _(n) {\n if (n === 0 || isBetween(n % 100, 2, 10)) return 'few';\n if (isBetween(n % 100, 11, 19)) return 'many';\n if (n == 1) return 'one';\n return 'other';\n },\n '16': function _(n) {\n if (n % 10 == 1 && n != 11) return 'one';\n return 'other';\n },\n '17': function _(n) {\n if (n == 3) return 'few';\n if (n === 0) return 'zero';\n if (n == 6) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '18': function _(n) {\n if (n === 0) return 'zero';\n if (isBetween(n, 0, 2) && n !== 0 && n != 2) return 'one';\n return 'other';\n },\n '19': function _(n) {\n if (isBetween(n, 2, 10)) return 'few';\n if (isBetween(n, 0, 1)) return 'one';\n return 'other';\n },\n '20': function _(n) {\n if ((isBetween(n % 10, 3, 4) || n % 10 == 9) && !(isBetween(n % 100, 10, 19) || isBetween(n % 100, 70, 79) || isBetween(n % 100, 90, 99))) return 'few';\n if (n % 1000000 === 0 && n !== 0) return 'many';\n if (n % 10 == 2 && !isIn(n % 100, [12, 72, 92])) return 'two';\n if (n % 10 == 1 && !isIn(n % 100, [11, 71, 91])) return 'one';\n return 'other';\n },\n '21': function _(n) {\n if (n === 0) return 'zero';\n if (n == 1) return 'one';\n return 'other';\n },\n '22': function _(n) {\n if (isBetween(n, 0, 1) || isBetween(n, 11, 99)) return 'one';\n return 'other';\n },\n '23': function _(n) {\n if (isBetween(n % 10, 1, 2) || n % 20 === 0) return 'one';\n return 'other';\n },\n '24': function _(n) {\n if (isBetween(n, 3, 10) || isBetween(n, 13, 19)) return 'few';\n if (isIn(n, [2, 12])) return 'two';\n if (isIn(n, [1, 11])) return 'one';\n return 'other';\n }\n };\n var index = locales2rules[lang.replace(/-.*$/, '')];\n\n if (!(index in pluralRules)) {\n console.warn('plural form unknown for [' + lang + ']');\n return function () {\n return 'other';\n };\n }\n\n return pluralRules[index];\n }\n\n gMacros.plural = function (str, param, key, prop) {\n var n = parseFloat(param);\n if (isNaN(n)) return str;\n if (prop != gTextProp) return str;\n\n if (!gMacros._pluralRules) {\n gMacros._pluralRules = getPluralRules(gLanguage);\n }\n\n var index = '[' + gMacros._pluralRules(n) + ']';\n\n if (n === 0 && key + '[zero]' in gL10nData) {\n str = gL10nData[key + '[zero]'][prop];\n } else if (n == 1 && key + '[one]' in gL10nData) {\n str = gL10nData[key + '[one]'][prop];\n } else if (n == 2 && key + '[two]' in gL10nData) {\n str = gL10nData[key + '[two]'][prop];\n } else if (key + index in gL10nData) {\n str = gL10nData[key + index][prop];\n } else if (key + '[other]' in gL10nData) {\n str = gL10nData[key + '[other]'][prop];\n }\n\n return str;\n };\n\n function getL10nData(key, args, fallback) {\n var data = gL10nData[key];\n\n if (!data) {\n console.warn('#' + key + ' is undefined.');\n\n if (!fallback) {\n return null;\n }\n\n data = fallback;\n }\n\n var rv = {};\n\n for (var prop in data) {\n var str = data[prop];\n str = substIndexes(str, args, key, prop);\n str = substArguments(str, args, key);\n rv[prop] = str;\n }\n\n return rv;\n }\n\n function substIndexes(str, args, key, prop) {\n var reIndex = /\\{\\[\\s*([a-zA-Z]+)\\(([a-zA-Z]+)\\)\\s*\\]\\}/;\n var reMatch = reIndex.exec(str);\n if (!reMatch || !reMatch.length) return str;\n var macroName = reMatch[1];\n var paramName = reMatch[2];\n var param;\n\n if (args && paramName in args) {\n param = args[paramName];\n } else if (paramName in gL10nData) {\n param = gL10nData[paramName];\n }\n\n if (macroName in gMacros) {\n var macro = gMacros[macroName];\n str = macro(str, param, key, prop);\n }\n\n return str;\n }\n\n function substArguments(str, args, key) {\n var reArgs = /\\{\\{\\s*(.+?)\\s*\\}\\}/g;\n return str.replace(reArgs, function (matched_text, arg) {\n if (args && arg in args) {\n return args[arg];\n }\n\n if (arg in gL10nData) {\n return gL10nData[arg];\n }\n\n console.log('argument {{' + arg + '}} for #' + key + ' is undefined.');\n return matched_text;\n });\n }\n\n function translateElement(element) {\n var l10n = getL10nAttributes(element);\n if (!l10n.id) return;\n var data = getL10nData(l10n.id, l10n.args);\n\n if (!data) {\n console.warn('#' + l10n.id + ' is undefined.');\n return;\n }\n\n if (data[gTextProp]) {\n if (getChildElementCount(element) === 0) {\n element[gTextProp] = data[gTextProp];\n } else {\n var children = element.childNodes;\n var found = false;\n\n for (var i = 0, l = children.length; i < l; i++) {\n if (children[i].nodeType === 3 && /\\S/.test(children[i].nodeValue)) {\n if (found) {\n children[i].nodeValue = '';\n } else {\n children[i].nodeValue = data[gTextProp];\n found = true;\n }\n }\n }\n\n if (!found) {\n var textNode = document.createTextNode(data[gTextProp]);\n element.insertBefore(textNode, element.firstChild);\n }\n }\n\n delete data[gTextProp];\n }\n\n for (var k in data) {\n element[k] = data[k];\n }\n }\n\n function getChildElementCount(element) {\n if (element.children) {\n return element.children.length;\n }\n\n if (typeof element.childElementCount !== 'undefined') {\n return element.childElementCount;\n }\n\n var count = 0;\n\n for (var i = 0; i < element.childNodes.length; i++) {\n count += element.nodeType === 1 ? 1 : 0;\n }\n\n return count;\n }\n\n function translateFragment(element) {\n element = element || document.documentElement;\n var children = getTranslatableChildren(element);\n var elementCount = children.length;\n\n for (var i = 0; i < elementCount; i++) {\n translateElement(children[i]);\n }\n\n translateElement(element);\n }\n\n return {\n get: function get(key, args, fallbackString) {\n var index = key.lastIndexOf('.');\n var prop = gTextProp;\n\n if (index > 0) {\n prop = key.substring(index + 1);\n key = key.substring(0, index);\n }\n\n var fallback;\n\n if (fallbackString) {\n fallback = {};\n fallback[prop] = fallbackString;\n }\n\n var data = getL10nData(key, args, fallback);\n\n if (data && prop in data) {\n return data[prop];\n }\n\n return '{{' + key + '}}';\n },\n getData: function getData() {\n return gL10nData;\n },\n getText: function getText() {\n return gTextData;\n },\n getLanguage: function getLanguage() {\n return gLanguage;\n },\n setLanguage: function setLanguage(lang, callback) {\n loadLocale(lang, function () {\n if (callback) callback();\n });\n },\n getDirection: function getDirection() {\n var rtlList = ['ar', 'he', 'fa', 'ps', 'ur'];\n var shortCode = gLanguage.split('-', 1)[0];\n return rtlList.indexOf(shortCode) >= 0 ? 'rtl' : 'ltr';\n },\n translate: translateFragment,\n getReadyState: function getReadyState() {\n return gReadyState;\n },\n ready: function ready(callback) {\n if (!callback) {\n return;\n } else if (gReadyState == 'complete' || gReadyState == 'interactive') {\n window.setTimeout(function () {\n callback();\n });\n } else if (document.addEventListener) {\n document.addEventListener('localized', function once() {\n document.removeEventListener('localized', once);\n callback();\n });\n }\n }\n };\n}(window, document);\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFFindController = exports.FindState = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nvar _pdf_find_utils = __w_pdfjs_require__(14);\n\nvar _ui_utils = __w_pdfjs_require__(3);\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 FindState = {\n FOUND: 0,\n NOT_FOUND: 1,\n WRAPPED: 2,\n PENDING: 3\n};\nexports.FindState = FindState;\nvar FIND_TIMEOUT = 250;\nvar MATCH_SCROLL_OFFSET_TOP = -50;\nvar MATCH_SCROLL_OFFSET_LEFT = -400;\nvar CHARACTERS_TO_NORMALIZE = {\n \"\\u2018\": \"'\",\n \"\\u2019\": \"'\",\n \"\\u201A\": \"'\",\n \"\\u201B\": \"'\",\n \"\\u201C\": '\"',\n \"\\u201D\": '\"',\n \"\\u201E\": '\"',\n \"\\u201F\": '\"',\n \"\\xBC\": \"1/4\",\n \"\\xBD\": \"1/2\",\n \"\\xBE\": \"3/4\"\n};\nvar normalizationRegex = null;\n\nfunction normalize(text) {\n if (!normalizationRegex) {\n var replace = Object.keys(CHARACTERS_TO_NORMALIZE).join(\"\");\n normalizationRegex = new RegExp(\"[\".concat(replace, \"]\"), \"g\");\n }\n\n return text.replace(normalizationRegex, function (ch) {\n return CHARACTERS_TO_NORMALIZE[ch];\n });\n}\n\nvar PDFFindController = /*#__PURE__*/function () {\n function PDFFindController(_ref) {\n var linkService = _ref.linkService,\n eventBus = _ref.eventBus;\n\n _classCallCheck(this, PDFFindController);\n\n this._linkService = linkService;\n this._eventBus = eventBus;\n\n this._reset();\n\n eventBus._on(\"findbarclose\", this._onFindBarClose.bind(this));\n }\n\n _createClass(PDFFindController, [{\n key: \"setDocument\",\n value: function setDocument(pdfDocument) {\n if (this._pdfDocument) {\n this._reset();\n }\n\n if (!pdfDocument) {\n return;\n }\n\n this._pdfDocument = pdfDocument;\n\n this._firstPageCapability.resolve();\n }\n }, {\n key: \"executeCommand\",\n value: function executeCommand(cmd, state) {\n var _this = this;\n\n if (!state) {\n return;\n }\n\n var pdfDocument = this._pdfDocument;\n\n if (this._state === null || this._shouldDirtyMatch(cmd, state)) {\n this._dirtyMatch = true;\n }\n\n this._state = state;\n\n if (cmd !== \"findhighlightallchange\") {\n this._updateUIState(FindState.PENDING);\n }\n\n this._firstPageCapability.promise.then(function () {\n if (!_this._pdfDocument || pdfDocument && _this._pdfDocument !== pdfDocument) {\n return;\n }\n\n _this._extractText();\n\n var findbarClosed = !_this._highlightMatches;\n var pendingTimeout = !!_this._findTimeout;\n\n if (_this._findTimeout) {\n clearTimeout(_this._findTimeout);\n _this._findTimeout = null;\n }\n\n if (cmd === \"find\") {\n _this._findTimeout = setTimeout(function () {\n _this._nextMatch();\n\n _this._findTimeout = null;\n }, FIND_TIMEOUT);\n } else if (_this._dirtyMatch) {\n _this._nextMatch();\n } else if (cmd === \"findagain\") {\n _this._nextMatch();\n\n if (findbarClosed && _this._state.highlightAll) {\n _this._updateAllPages();\n }\n } else if (cmd === \"findhighlightallchange\") {\n if (pendingTimeout) {\n _this._nextMatch();\n } else {\n _this._highlightMatches = true;\n }\n\n _this._updateAllPages();\n } else {\n _this._nextMatch();\n }\n });\n }\n }, {\n key: \"scrollMatchIntoView\",\n value: function scrollMatchIntoView(_ref2) {\n var _ref2$element = _ref2.element,\n element = _ref2$element === void 0 ? null : _ref2$element,\n _ref2$pageIndex = _ref2.pageIndex,\n pageIndex = _ref2$pageIndex === void 0 ? -1 : _ref2$pageIndex,\n _ref2$matchIndex = _ref2.matchIndex,\n matchIndex = _ref2$matchIndex === void 0 ? -1 : _ref2$matchIndex;\n\n if (!this._scrollMatches || !element) {\n return;\n } else if (matchIndex === -1 || matchIndex !== this._selected.matchIdx) {\n return;\n } else if (pageIndex === -1 || pageIndex !== this._selected.pageIdx) {\n return;\n }\n\n this._scrollMatches = false;\n var spot = {\n top: MATCH_SCROLL_OFFSET_TOP,\n left: MATCH_SCROLL_OFFSET_LEFT\n };\n (0, _ui_utils.scrollIntoView)(element, spot, true);\n }\n }, {\n key: \"_reset\",\n value: function _reset() {\n this._highlightMatches = false;\n this._scrollMatches = false;\n this._pdfDocument = null;\n this._pageMatches = [];\n this._pageMatchesLength = [];\n this._state = null;\n this._selected = {\n pageIdx: -1,\n matchIdx: -1\n };\n this._offset = {\n pageIdx: null,\n matchIdx: null,\n wrapped: false\n };\n this._extractTextPromises = [];\n this._pageContents = [];\n this._matchesCountTotal = 0;\n this._pagesToSearch = null;\n this._pendingFindMatches = Object.create(null);\n this._resumePageIdx = null;\n this._dirtyMatch = false;\n clearTimeout(this._findTimeout);\n this._findTimeout = null;\n this._firstPageCapability = (0, _pdfjsLib.createPromiseCapability)();\n }\n }, {\n key: \"_shouldDirtyMatch\",\n value: function _shouldDirtyMatch(cmd, state) {\n if (state.query !== this._state.query) {\n return true;\n }\n\n switch (cmd) {\n case \"findagain\":\n var pageNumber = this._selected.pageIdx + 1;\n var linkService = this._linkService;\n\n if (pageNumber >= 1 && pageNumber <= linkService.pagesCount && pageNumber !== linkService.page && !linkService.isPageVisible(pageNumber)) {\n return true;\n }\n\n return false;\n\n case \"findhighlightallchange\":\n return false;\n }\n\n return true;\n }\n }, {\n key: \"_prepareMatches\",\n value: function _prepareMatches(matchesWithLength, matches, matchesLength) {\n function isSubTerm(currentIndex) {\n var currentElem = matchesWithLength[currentIndex];\n var nextElem = matchesWithLength[currentIndex + 1];\n\n if (currentIndex < matchesWithLength.length - 1 && currentElem.match === nextElem.match) {\n currentElem.skipped = true;\n return true;\n }\n\n for (var i = currentIndex - 1; i >= 0; i--) {\n var prevElem = matchesWithLength[i];\n\n if (prevElem.skipped) {\n continue;\n }\n\n if (prevElem.match + prevElem.matchLength < currentElem.match) {\n break;\n }\n\n if (prevElem.match + prevElem.matchLength >= currentElem.match + currentElem.matchLength) {\n currentElem.skipped = true;\n return true;\n }\n }\n\n return false;\n }\n\n matchesWithLength.sort(function (a, b) {\n return a.match === b.match ? a.matchLength - b.matchLength : a.match - b.match;\n });\n\n for (var i = 0, len = matchesWithLength.length; i < len; i++) {\n if (isSubTerm(i)) {\n continue;\n }\n\n matches.push(matchesWithLength[i].match);\n matchesLength.push(matchesWithLength[i].matchLength);\n }\n }\n }, {\n key: \"_isEntireWord\",\n value: function _isEntireWord(content, startIdx, length) {\n if (startIdx > 0) {\n var first = content.charCodeAt(startIdx);\n var limit = content.charCodeAt(startIdx - 1);\n\n if ((0, _pdf_find_utils.getCharacterType)(first) === (0, _pdf_find_utils.getCharacterType)(limit)) {\n return false;\n }\n }\n\n var endIdx = startIdx + length - 1;\n\n if (endIdx < content.length - 1) {\n var last = content.charCodeAt(endIdx);\n\n var _limit = content.charCodeAt(endIdx + 1);\n\n if ((0, _pdf_find_utils.getCharacterType)(last) === (0, _pdf_find_utils.getCharacterType)(_limit)) {\n return false;\n }\n }\n\n return true;\n }\n }, {\n key: \"_calculatePhraseMatch\",\n value: function _calculatePhraseMatch(query, pageIndex, pageContent, entireWord) {\n var matches = [];\n var queryLen = query.length;\n var matchIdx = -queryLen;\n\n while (true) {\n matchIdx = pageContent.indexOf(query, matchIdx + queryLen);\n\n if (matchIdx === -1) {\n break;\n }\n\n if (entireWord && !this._isEntireWord(pageContent, matchIdx, queryLen)) {\n continue;\n }\n\n matches.push(matchIdx);\n }\n\n this._pageMatches[pageIndex] = matches;\n }\n }, {\n key: \"_calculateWordMatch\",\n value: function _calculateWordMatch(query, pageIndex, pageContent, entireWord) {\n var matchesWithLength = [];\n var queryArray = query.match(/\\S+/g);\n\n for (var i = 0, len = queryArray.length; i < len; i++) {\n var subquery = queryArray[i];\n var subqueryLen = subquery.length;\n var matchIdx = -subqueryLen;\n\n while (true) {\n matchIdx = pageContent.indexOf(subquery, matchIdx + subqueryLen);\n\n if (matchIdx === -1) {\n break;\n }\n\n if (entireWord && !this._isEntireWord(pageContent, matchIdx, subqueryLen)) {\n continue;\n }\n\n matchesWithLength.push({\n match: matchIdx,\n matchLength: subqueryLen,\n skipped: false\n });\n }\n }\n\n this._pageMatchesLength[pageIndex] = [];\n this._pageMatches[pageIndex] = [];\n\n this._prepareMatches(matchesWithLength, this._pageMatches[pageIndex], this._pageMatchesLength[pageIndex]);\n }\n }, {\n key: \"_calculateMatch\",\n value: function _calculateMatch(pageIndex) {\n var pageContent = this._pageContents[pageIndex];\n var query = this._query;\n var _this$_state = this._state,\n caseSensitive = _this$_state.caseSensitive,\n entireWord = _this$_state.entireWord,\n phraseSearch = _this$_state.phraseSearch;\n\n if (query.length === 0) {\n return;\n }\n\n if (!caseSensitive) {\n pageContent = pageContent.toLowerCase();\n query = query.toLowerCase();\n }\n\n if (phraseSearch) {\n this._calculatePhraseMatch(query, pageIndex, pageContent, entireWord);\n } else {\n this._calculateWordMatch(query, pageIndex, pageContent, entireWord);\n }\n\n if (this._state.highlightAll) {\n this._updatePage(pageIndex);\n }\n\n if (this._resumePageIdx === pageIndex) {\n this._resumePageIdx = null;\n\n this._nextPageMatch();\n }\n\n var pageMatchesCount = this._pageMatches[pageIndex].length;\n\n if (pageMatchesCount > 0) {\n this._matchesCountTotal += pageMatchesCount;\n\n this._updateUIResultsCount();\n }\n }\n }, {\n key: \"_extractText\",\n value: function _extractText() {\n var _this2 = this;\n\n if (this._extractTextPromises.length > 0) {\n return;\n }\n\n var promise = Promise.resolve();\n\n var _loop = function _loop(i, ii) {\n var extractTextCapability = (0, _pdfjsLib.createPromiseCapability)();\n _this2._extractTextPromises[i] = extractTextCapability.promise;\n promise = promise.then(function () {\n return _this2._pdfDocument.getPage(i + 1).then(function (pdfPage) {\n return pdfPage.getTextContent({\n normalizeWhitespace: true\n });\n }).then(function (textContent) {\n var textItems = textContent.items;\n var strBuf = [];\n\n for (var j = 0, jj = textItems.length; j < jj; j++) {\n strBuf.push(textItems[j].str);\n }\n\n _this2._pageContents[i] = normalize(strBuf.join(\"\"));\n extractTextCapability.resolve(i);\n }, function (reason) {\n console.error(\"Unable to get text content for page \".concat(i + 1), reason);\n _this2._pageContents[i] = \"\";\n extractTextCapability.resolve(i);\n });\n });\n };\n\n for (var i = 0, ii = this._linkService.pagesCount; i < ii; i++) {\n _loop(i, ii);\n }\n }\n }, {\n key: \"_updatePage\",\n value: function _updatePage(index) {\n if (this._scrollMatches && this._selected.pageIdx === index) {\n this._linkService.page = index + 1;\n }\n\n this._eventBus.dispatch(\"updatetextlayermatches\", {\n source: this,\n pageIndex: index\n });\n }\n }, {\n key: \"_updateAllPages\",\n value: function _updateAllPages() {\n this._eventBus.dispatch(\"updatetextlayermatches\", {\n source: this,\n pageIndex: -1\n });\n }\n }, {\n key: \"_nextMatch\",\n value: function _nextMatch() {\n var _this3 = this;\n\n var previous = this._state.findPrevious;\n var currentPageIndex = this._linkService.page - 1;\n var numPages = this._linkService.pagesCount;\n this._highlightMatches = true;\n\n if (this._dirtyMatch) {\n this._dirtyMatch = false;\n this._selected.pageIdx = this._selected.matchIdx = -1;\n this._offset.pageIdx = currentPageIndex;\n this._offset.matchIdx = null;\n this._offset.wrapped = false;\n this._resumePageIdx = null;\n this._pageMatches.length = 0;\n this._pageMatchesLength.length = 0;\n this._matchesCountTotal = 0;\n\n this._updateAllPages();\n\n for (var i = 0; i < numPages; i++) {\n if (this._pendingFindMatches[i] === true) {\n continue;\n }\n\n this._pendingFindMatches[i] = true;\n\n this._extractTextPromises[i].then(function (pageIdx) {\n delete _this3._pendingFindMatches[pageIdx];\n\n _this3._calculateMatch(pageIdx);\n });\n }\n }\n\n if (this._query === \"\") {\n this._updateUIState(FindState.FOUND);\n\n return;\n }\n\n if (this._resumePageIdx) {\n return;\n }\n\n var offset = this._offset;\n this._pagesToSearch = numPages;\n\n if (offset.matchIdx !== null) {\n var numPageMatches = this._pageMatches[offset.pageIdx].length;\n\n if (!previous && offset.matchIdx + 1 < numPageMatches || previous && offset.matchIdx > 0) {\n offset.matchIdx = previous ? offset.matchIdx - 1 : offset.matchIdx + 1;\n\n this._updateMatch(true);\n\n return;\n }\n\n this._advanceOffsetPage(previous);\n }\n\n this._nextPageMatch();\n }\n }, {\n key: \"_matchesReady\",\n value: function _matchesReady(matches) {\n var offset = this._offset;\n var numMatches = matches.length;\n var previous = this._state.findPrevious;\n\n if (numMatches) {\n offset.matchIdx = previous ? numMatches - 1 : 0;\n\n this._updateMatch(true);\n\n return true;\n }\n\n this._advanceOffsetPage(previous);\n\n if (offset.wrapped) {\n offset.matchIdx = null;\n\n if (this._pagesToSearch < 0) {\n this._updateMatch(false);\n\n return true;\n }\n }\n\n return false;\n }\n }, {\n key: \"_nextPageMatch\",\n value: function _nextPageMatch() {\n if (this._resumePageIdx !== null) {\n console.error(\"There can only be one pending page.\");\n }\n\n var matches = null;\n\n do {\n var pageIdx = this._offset.pageIdx;\n matches = this._pageMatches[pageIdx];\n\n if (!matches) {\n this._resumePageIdx = pageIdx;\n break;\n }\n } while (!this._matchesReady(matches));\n }\n }, {\n key: \"_advanceOffsetPage\",\n value: function _advanceOffsetPage(previous) {\n var offset = this._offset;\n var numPages = this._linkService.pagesCount;\n offset.pageIdx = previous ? offset.pageIdx - 1 : offset.pageIdx + 1;\n offset.matchIdx = null;\n this._pagesToSearch--;\n\n if (offset.pageIdx >= numPages || offset.pageIdx < 0) {\n offset.pageIdx = previous ? numPages - 1 : 0;\n offset.wrapped = true;\n }\n }\n }, {\n key: \"_updateMatch\",\n value: function _updateMatch() {\n var found = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var state = FindState.NOT_FOUND;\n var wrapped = this._offset.wrapped;\n this._offset.wrapped = false;\n\n if (found) {\n var previousPage = this._selected.pageIdx;\n this._selected.pageIdx = this._offset.pageIdx;\n this._selected.matchIdx = this._offset.matchIdx;\n state = wrapped ? FindState.WRAPPED : FindState.FOUND;\n\n if (previousPage !== -1 && previousPage !== this._selected.pageIdx) {\n this._updatePage(previousPage);\n }\n }\n\n this._updateUIState(state, this._state.findPrevious);\n\n if (this._selected.pageIdx !== -1) {\n this._scrollMatches = true;\n\n this._updatePage(this._selected.pageIdx);\n }\n }\n }, {\n key: \"_onFindBarClose\",\n value: function _onFindBarClose(evt) {\n var _this4 = this;\n\n var pdfDocument = this._pdfDocument;\n\n this._firstPageCapability.promise.then(function () {\n if (!_this4._pdfDocument || pdfDocument && _this4._pdfDocument !== pdfDocument) {\n return;\n }\n\n if (_this4._findTimeout) {\n clearTimeout(_this4._findTimeout);\n _this4._findTimeout = null;\n }\n\n if (_this4._resumePageIdx) {\n _this4._resumePageIdx = null;\n _this4._dirtyMatch = true;\n }\n\n _this4._updateUIState(FindState.FOUND);\n\n _this4._highlightMatches = false;\n\n _this4._updateAllPages();\n });\n }\n }, {\n key: \"_requestMatchesCount\",\n value: function _requestMatchesCount() {\n var _this$_selected = this._selected,\n pageIdx = _this$_selected.pageIdx,\n matchIdx = _this$_selected.matchIdx;\n var current = 0,\n total = this._matchesCountTotal;\n\n if (matchIdx !== -1) {\n for (var i = 0; i < pageIdx; i++) {\n current += this._pageMatches[i] && this._pageMatches[i].length || 0;\n }\n\n current += matchIdx + 1;\n }\n\n if (current < 1 || current > total) {\n current = total = 0;\n }\n\n return {\n current: current,\n total: total\n };\n }\n }, {\n key: \"_updateUIResultsCount\",\n value: function _updateUIResultsCount() {\n this._eventBus.dispatch(\"updatefindmatchescount\", {\n source: this,\n matchesCount: this._requestMatchesCount()\n });\n }\n }, {\n key: \"_updateUIState\",\n value: function _updateUIState(state, previous) {\n this._eventBus.dispatch(\"updatefindcontrolstate\", {\n source: this,\n state: state,\n previous: previous,\n matchesCount: this._requestMatchesCount()\n });\n }\n }, {\n key: \"highlightMatches\",\n get: function get() {\n return this._highlightMatches;\n }\n }, {\n key: \"pageMatches\",\n get: function get() {\n return this._pageMatches;\n }\n }, {\n key: \"pageMatchesLength\",\n get: function get() {\n return this._pageMatchesLength;\n }\n }, {\n key: \"selected\",\n get: function get() {\n return this._selected;\n }\n }, {\n key: \"state\",\n get: function get() {\n return this._state;\n }\n }, {\n key: \"_query\",\n get: function get() {\n if (this._state.query !== this._rawQuery) {\n this._rawQuery = this._state.query;\n this._normalizedQuery = normalize(this._state.query);\n }\n\n return this._normalizedQuery;\n }\n }]);\n\n return PDFFindController;\n}();\n\nexports.PDFFindController = PDFFindController;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getCharacterType = getCharacterType;\nexports.CharacterType = void 0;\nvar CharacterType = {\n SPACE: 0,\n ALPHA_LETTER: 1,\n PUNCT: 2,\n HAN_LETTER: 3,\n KATAKANA_LETTER: 4,\n HIRAGANA_LETTER: 5,\n HALFWIDTH_KATAKANA_LETTER: 6,\n THAI_LETTER: 7\n};\nexports.CharacterType = CharacterType;\n\nfunction isAlphabeticalScript(charCode) {\n return charCode < 0x2e80;\n}\n\nfunction isAscii(charCode) {\n return (charCode & 0xff80) === 0;\n}\n\nfunction isAsciiAlpha(charCode) {\n return charCode >= 0x61 && charCode <= 0x7a || charCode >= 0x41 && charCode <= 0x5a;\n}\n\nfunction isAsciiDigit(charCode) {\n return charCode >= 0x30 && charCode <= 0x39;\n}\n\nfunction isAsciiSpace(charCode) {\n return charCode === 0x20 || charCode === 0x09 || charCode === 0x0d || charCode === 0x0a;\n}\n\nfunction isHan(charCode) {\n return charCode >= 0x3400 && charCode <= 0x9fff || charCode >= 0xf900 && charCode <= 0xfaff;\n}\n\nfunction isKatakana(charCode) {\n return charCode >= 0x30a0 && charCode <= 0x30ff;\n}\n\nfunction isHiragana(charCode) {\n return charCode >= 0x3040 && charCode <= 0x309f;\n}\n\nfunction isHalfwidthKatakana(charCode) {\n return charCode >= 0xff60 && charCode <= 0xff9f;\n}\n\nfunction isThai(charCode) {\n return (charCode & 0xff80) === 0x0e00;\n}\n\nfunction getCharacterType(charCode) {\n if (isAlphabeticalScript(charCode)) {\n if (isAscii(charCode)) {\n if (isAsciiSpace(charCode)) {\n return CharacterType.SPACE;\n } else if (isAsciiAlpha(charCode) || isAsciiDigit(charCode) || charCode === 0x5f) {\n return CharacterType.ALPHA_LETTER;\n }\n\n return CharacterType.PUNCT;\n } else if (isThai(charCode)) {\n return CharacterType.THAI_LETTER;\n } else if (charCode === 0xa0) {\n return CharacterType.SPACE;\n }\n\n return CharacterType.ALPHA_LETTER;\n }\n\n if (isHan(charCode)) {\n return CharacterType.HAN_LETTER;\n } else if (isKatakana(charCode)) {\n return CharacterType.KATAKANA_LETTER;\n } else if (isHiragana(charCode)) {\n return CharacterType.HIRAGANA_LETTER;\n } else if (isHalfwidthKatakana(charCode)) {\n return CharacterType.HALFWIDTH_KATAKANA_LETTER;\n }\n\n return CharacterType.ALPHA_LETTER;\n}\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isDestHashesEqual = isDestHashesEqual;\nexports.isDestArraysEqual = isDestArraysEqual;\nexports.PDFHistory = void 0;\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) 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 HASH_CHANGE_TIMEOUT = 1000;\nvar POSITION_UPDATED_THRESHOLD = 50;\nvar UPDATE_VIEWAREA_TIMEOUT = 1000;\n\nfunction getCurrentHash() {\n return document.location.hash;\n}\n\nvar PDFHistory = /*#__PURE__*/function () {\n function PDFHistory(_ref) {\n var _this = this;\n\n var linkService = _ref.linkService,\n eventBus = _ref.eventBus;\n\n _classCallCheck(this, PDFHistory);\n\n this.linkService = linkService;\n this.eventBus = eventBus;\n this._initialized = false;\n this._fingerprint = \"\";\n this.reset();\n this._boundEvents = null;\n this._isViewerInPresentationMode = false;\n\n this.eventBus._on(\"presentationmodechanged\", function (evt) {\n _this._isViewerInPresentationMode = evt.active || evt.switchInProgress;\n });\n\n this.eventBus._on(\"pagesinit\", function () {\n _this._isPagesLoaded = false;\n\n var onPagesLoaded = function onPagesLoaded(evt) {\n _this.eventBus._off(\"pagesloaded\", onPagesLoaded);\n\n _this._isPagesLoaded = !!evt.pagesCount;\n };\n\n _this.eventBus._on(\"pagesloaded\", onPagesLoaded);\n });\n }\n\n _createClass(PDFHistory, [{\n key: \"initialize\",\n value: function initialize(_ref2) {\n var fingerprint = _ref2.fingerprint,\n _ref2$resetHistory = _ref2.resetHistory,\n resetHistory = _ref2$resetHistory === void 0 ? false : _ref2$resetHistory,\n _ref2$updateUrl = _ref2.updateUrl,\n updateUrl = _ref2$updateUrl === void 0 ? false : _ref2$updateUrl;\n\n if (!fingerprint || typeof fingerprint !== \"string\") {\n console.error('PDFHistory.initialize: The \"fingerprint\" must be a non-empty string.');\n return;\n }\n\n if (this._initialized) {\n this.reset();\n }\n\n var reInitialized = this._fingerprint !== \"\" && this._fingerprint !== fingerprint;\n this._fingerprint = fingerprint;\n this._updateUrl = updateUrl === true;\n this._initialized = true;\n\n this._bindEvents();\n\n var state = window.history.state;\n this._popStateInProgress = false;\n this._blockHashChange = 0;\n this._currentHash = getCurrentHash();\n this._numPositionUpdates = 0;\n this._uid = this._maxUid = 0;\n this._destination = null;\n this._position = null;\n\n if (!this._isValidState(state, true) || resetHistory) {\n var _this$_parseCurrentHa = this._parseCurrentHash(true),\n hash = _this$_parseCurrentHa.hash,\n page = _this$_parseCurrentHa.page,\n rotation = _this$_parseCurrentHa.rotation;\n\n if (!hash || reInitialized || resetHistory) {\n this._pushOrReplaceState(null, true);\n\n return;\n }\n\n this._pushOrReplaceState({\n hash: hash,\n page: page,\n rotation: rotation\n }, true);\n\n return;\n }\n\n var destination = state.destination;\n\n this._updateInternalState(destination, state.uid, true);\n\n if (this._uid > this._maxUid) {\n this._maxUid = this._uid;\n }\n\n if (destination.rotation !== undefined) {\n this._initialRotation = destination.rotation;\n }\n\n if (destination.dest) {\n this._initialBookmark = JSON.stringify(destination.dest);\n this._destination.page = null;\n } else if (destination.hash) {\n this._initialBookmark = destination.hash;\n } else if (destination.page) {\n this._initialBookmark = \"page=\".concat(destination.page);\n }\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this._initialized) {\n this._pageHide();\n\n this._initialized = false;\n\n this._unbindEvents();\n }\n\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n\n this._initialBookmark = null;\n this._initialRotation = null;\n }\n }, {\n key: \"push\",\n value: function push(_ref3) {\n var _this2 = this;\n\n var _ref3$namedDest = _ref3.namedDest,\n namedDest = _ref3$namedDest === void 0 ? null : _ref3$namedDest,\n explicitDest = _ref3.explicitDest,\n pageNumber = _ref3.pageNumber;\n\n if (!this._initialized) {\n return;\n }\n\n if (namedDest && typeof namedDest !== \"string\") {\n console.error(\"PDFHistory.push: \" + \"\\\"\".concat(namedDest, \"\\\" is not a valid namedDest parameter.\"));\n return;\n } else if (!Array.isArray(explicitDest)) {\n console.error(\"PDFHistory.push: \" + \"\\\"\".concat(explicitDest, \"\\\" is not a valid explicitDest parameter.\"));\n return;\n } else if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.linkService.pagesCount)) {\n if (pageNumber !== null || this._destination) {\n console.error(\"PDFHistory.push: \" + \"\\\"\".concat(pageNumber, \"\\\" is not a valid pageNumber parameter.\"));\n return;\n }\n }\n\n var hash = namedDest || JSON.stringify(explicitDest);\n\n if (!hash) {\n return;\n }\n\n var forceReplace = false;\n\n if (this._destination && (isDestHashesEqual(this._destination.hash, hash) || isDestArraysEqual(this._destination.dest, explicitDest))) {\n if (this._destination.page) {\n return;\n }\n\n forceReplace = true;\n }\n\n if (this._popStateInProgress && !forceReplace) {\n return;\n }\n\n this._pushOrReplaceState({\n dest: explicitDest,\n hash: hash,\n page: pageNumber,\n rotation: this.linkService.rotation\n }, forceReplace);\n\n if (!this._popStateInProgress) {\n this._popStateInProgress = true;\n Promise.resolve().then(function () {\n _this2._popStateInProgress = false;\n });\n }\n }\n }, {\n key: \"pushCurrentPosition\",\n value: function pushCurrentPosition() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n\n this._tryPushCurrentPosition();\n }\n }, {\n key: \"back\",\n value: function back() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n\n var state = window.history.state;\n\n if (this._isValidState(state) && state.uid > 0) {\n window.history.back();\n }\n }\n }, {\n key: \"forward\",\n value: function forward() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n\n var state = window.history.state;\n\n if (this._isValidState(state) && state.uid < this._maxUid) {\n window.history.forward();\n }\n }\n }, {\n key: \"_pushOrReplaceState\",\n value: function _pushOrReplaceState(destination) {\n var forceReplace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var shouldReplace = forceReplace || !this._destination;\n var newState = {\n fingerprint: this._fingerprint,\n uid: shouldReplace ? this._uid : this._uid + 1,\n destination: destination\n };\n\n this._updateInternalState(destination, newState.uid);\n\n var newUrl;\n\n if (this._updateUrl && destination && destination.hash) {\n var baseUrl = document.location.href.split(\"#\")[0];\n\n if (!baseUrl.startsWith(\"file://\")) {\n newUrl = \"\".concat(baseUrl, \"#\").concat(destination.hash);\n }\n }\n\n if (shouldReplace) {\n window.history.replaceState(newState, \"\", newUrl);\n } else {\n this._maxUid = this._uid;\n window.history.pushState(newState, \"\", newUrl);\n }\n }\n }, {\n key: \"_tryPushCurrentPosition\",\n value: function _tryPushCurrentPosition() {\n var temporary = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this._position) {\n return;\n }\n\n var position = this._position;\n\n if (temporary) {\n position = Object.assign(Object.create(null), this._position);\n position.temporary = true;\n }\n\n if (!this._destination) {\n this._pushOrReplaceState(position);\n\n return;\n }\n\n if (this._destination.temporary) {\n this._pushOrReplaceState(position, true);\n\n return;\n }\n\n if (this._destination.hash === position.hash) {\n return;\n }\n\n if (!this._destination.page && (POSITION_UPDATED_THRESHOLD <= 0 || this._numPositionUpdates <= POSITION_UPDATED_THRESHOLD)) {\n return;\n }\n\n var forceReplace = false;\n\n if (this._destination.page >= position.first && this._destination.page <= position.page) {\n if (this._destination.dest || !this._destination.first) {\n return;\n }\n\n forceReplace = true;\n }\n\n this._pushOrReplaceState(position, forceReplace);\n }\n }, {\n key: \"_isValidState\",\n value: function _isValidState(state) {\n var checkReload = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (!state) {\n return false;\n }\n\n if (state.fingerprint !== this._fingerprint) {\n if (checkReload) {\n if (typeof state.fingerprint !== \"string\" || state.fingerprint.length !== this._fingerprint.length) {\n return false;\n }\n\n var _performance$getEntri = performance.getEntriesByType(\"navigation\"),\n _performance$getEntri2 = _slicedToArray(_performance$getEntri, 1),\n perfEntry = _performance$getEntri2[0];\n\n if (!perfEntry || perfEntry.type !== \"reload\") {\n return false;\n }\n } else {\n return false;\n }\n }\n\n if (!Number.isInteger(state.uid) || state.uid < 0) {\n return false;\n }\n\n if (state.destination === null || _typeof(state.destination) !== \"object\") {\n return false;\n }\n\n return true;\n }\n }, {\n key: \"_updateInternalState\",\n value: function _updateInternalState(destination, uid) {\n var removeTemporary = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n\n if (removeTemporary && destination && destination.temporary) {\n delete destination.temporary;\n }\n\n this._destination = destination;\n this._uid = uid;\n this._numPositionUpdates = 0;\n }\n }, {\n key: \"_parseCurrentHash\",\n value: function _parseCurrentHash() {\n var checkNameddest = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var hash = unescape(getCurrentHash()).substring(1);\n var params = (0, _ui_utils.parseQueryString)(hash);\n var nameddest = params.nameddest || \"\";\n var page = params.page | 0;\n\n if (!(Number.isInteger(page) && page > 0 && page <= this.linkService.pagesCount) || checkNameddest && nameddest.length > 0) {\n page = null;\n }\n\n return {\n hash: hash,\n page: page,\n rotation: this.linkService.rotation\n };\n }\n }, {\n key: \"_updateViewarea\",\n value: function _updateViewarea(_ref4) {\n var _this3 = this;\n\n var location = _ref4.location;\n\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n\n this._position = {\n hash: this._isViewerInPresentationMode ? \"page=\".concat(location.pageNumber) : location.pdfOpenParams.substring(1),\n page: this.linkService.page,\n first: location.pageNumber,\n rotation: location.rotation\n };\n\n if (this._popStateInProgress) {\n return;\n }\n\n if (POSITION_UPDATED_THRESHOLD > 0 && this._isPagesLoaded && this._destination && !this._destination.page) {\n this._numPositionUpdates++;\n }\n\n if (UPDATE_VIEWAREA_TIMEOUT > 0) {\n this._updateViewareaTimeout = setTimeout(function () {\n if (!_this3._popStateInProgress) {\n _this3._tryPushCurrentPosition(true);\n }\n\n _this3._updateViewareaTimeout = null;\n }, UPDATE_VIEWAREA_TIMEOUT);\n }\n }\n }, {\n key: \"_popState\",\n value: function _popState(_ref5) {\n var _this4 = this;\n\n var state = _ref5.state;\n var newHash = getCurrentHash(),\n hashChanged = this._currentHash !== newHash;\n this._currentHash = newHash;\n\n if (!state) {\n this._uid++;\n\n var _this$_parseCurrentHa2 = this._parseCurrentHash(),\n hash = _this$_parseCurrentHa2.hash,\n page = _this$_parseCurrentHa2.page,\n rotation = _this$_parseCurrentHa2.rotation;\n\n this._pushOrReplaceState({\n hash: hash,\n page: page,\n rotation: rotation\n }, true);\n\n return;\n }\n\n if (!this._isValidState(state)) {\n return;\n }\n\n this._popStateInProgress = true;\n\n if (hashChanged) {\n this._blockHashChange++;\n (0, _ui_utils.waitOnEventOrTimeout)({\n target: window,\n name: \"hashchange\",\n delay: HASH_CHANGE_TIMEOUT\n }).then(function () {\n _this4._blockHashChange--;\n });\n }\n\n var destination = state.destination;\n\n this._updateInternalState(destination, state.uid, true);\n\n if (this._uid > this._maxUid) {\n this._maxUid = this._uid;\n }\n\n if ((0, _ui_utils.isValidRotation)(destination.rotation)) {\n this.linkService.rotation = destination.rotation;\n }\n\n if (destination.dest) {\n this.linkService.navigateTo(destination.dest);\n } else if (destination.hash) {\n this.linkService.setHash(destination.hash);\n } else if (destination.page) {\n this.linkService.page = destination.page;\n }\n\n Promise.resolve().then(function () {\n _this4._popStateInProgress = false;\n });\n }\n }, {\n key: \"_pageHide\",\n value: function _pageHide() {\n if (!this._destination || this._destination.temporary) {\n this._tryPushCurrentPosition();\n }\n }\n }, {\n key: \"_bindEvents\",\n value: function _bindEvents() {\n if (this._boundEvents) {\n return;\n }\n\n this._boundEvents = {\n updateViewarea: this._updateViewarea.bind(this),\n popState: this._popState.bind(this),\n pageHide: this._pageHide.bind(this)\n };\n\n this.eventBus._on(\"updateviewarea\", this._boundEvents.updateViewarea);\n\n window.addEventListener(\"popstate\", this._boundEvents.popState);\n window.addEventListener(\"pagehide\", this._boundEvents.pageHide);\n }\n }, {\n key: \"_unbindEvents\",\n value: function _unbindEvents() {\n if (!this._boundEvents) {\n return;\n }\n\n this.eventBus._off(\"updateviewarea\", this._boundEvents.updateViewarea);\n\n window.removeEventListener(\"popstate\", this._boundEvents.popState);\n window.removeEventListener(\"pagehide\", this._boundEvents.pageHide);\n this._boundEvents = null;\n }\n }, {\n key: \"popStateInProgress\",\n get: function get() {\n return this._initialized && (this._popStateInProgress || this._blockHashChange > 0);\n }\n }, {\n key: \"initialBookmark\",\n get: function get() {\n return this._initialized ? this._initialBookmark : null;\n }\n }, {\n key: \"initialRotation\",\n get: function get() {\n return this._initialized ? this._initialRotation : null;\n }\n }]);\n\n return PDFHistory;\n}();\n\nexports.PDFHistory = PDFHistory;\n\nfunction isDestHashesEqual(destHash, pushHash) {\n if (typeof destHash !== \"string\" || typeof pushHash !== \"string\") {\n return false;\n }\n\n if (destHash === pushHash) {\n return true;\n }\n\n var _parseQueryString = (0, _ui_utils.parseQueryString)(destHash),\n nameddest = _parseQueryString.nameddest;\n\n if (nameddest === pushHash) {\n return true;\n }\n\n return false;\n}\n\nfunction isDestArraysEqual(firstDest, secondDest) {\n function isEntryEqual(first, second) {\n if (_typeof(first) !== _typeof(second)) {\n return false;\n }\n\n if (Array.isArray(first) || Array.isArray(second)) {\n return false;\n }\n\n if (first !== null && _typeof(first) === \"object\" && second !== null) {\n if (Object.keys(first).length !== Object.keys(second).length) {\n return false;\n }\n\n for (var key in first) {\n if (!isEntryEqual(first[key], second[key])) {\n return false;\n }\n }\n\n return true;\n }\n\n return first === second || Number.isNaN(first) && Number.isNaN(second);\n }\n\n if (!(Array.isArray(firstDest) && Array.isArray(secondDest))) {\n return false;\n }\n\n if (firstDest.length !== secondDest.length) {\n return false;\n }\n\n for (var i = 0, ii = firstDest.length; i < ii; i++) {\n if (!isEntryEqual(firstDest[i], secondDest[i])) {\n return false;\n }\n }\n\n return true;\n}\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFPageView = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(4));\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nvar _pdf_rendering_queue = __w_pdfjs_require__(17);\n\nvar _viewer_compatibility = __w_pdfjs_require__(10);\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 MAX_CANVAS_PIXELS = _viewer_compatibility.viewerCompatibilityParams.maxCanvasPixels || 16777216;\n\nvar PDFPageView = /*#__PURE__*/function () {\n function PDFPageView(options) {\n _classCallCheck(this, PDFPageView);\n\n var container = options.container;\n var defaultViewport = options.defaultViewport;\n this.id = options.id;\n this.renderingId = \"page\" + this.id;\n this.pdfPage = null;\n this.pageLabel = null;\n this.rotation = 0;\n this.scale = options.scale || _ui_utils.DEFAULT_SCALE;\n this.viewport = defaultViewport;\n this.pdfPageRotate = defaultViewport.rotation;\n this.hasRestrictedScaling = false;\n this.textLayerMode = Number.isInteger(options.textLayerMode) ? options.textLayerMode : _ui_utils.TextLayerMode.ENABLE;\n this.imageResourcesPath = options.imageResourcesPath || \"\";\n this.renderInteractiveForms = options.renderInteractiveForms || false;\n this.useOnlyCssZoom = options.useOnlyCssZoom || false;\n this.maxCanvasPixels = options.maxCanvasPixels || MAX_CANVAS_PIXELS;\n this.eventBus = options.eventBus;\n this.renderingQueue = options.renderingQueue;\n this.textLayerFactory = options.textLayerFactory;\n this.annotationLayerFactory = options.annotationLayerFactory;\n this.renderer = options.renderer || _ui_utils.RendererType.CANVAS;\n this.enableWebGL = options.enableWebGL || false;\n this.l10n = options.l10n || _ui_utils.NullL10n;\n this.paintTask = null;\n this.paintedViewportMap = new WeakMap();\n this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;\n this.resume = null;\n this.error = null;\n this.annotationLayer = null;\n this.textLayer = null;\n this.zoomLayer = null;\n var div = document.createElement(\"div\");\n div.className = \"page\";\n div.style.width = Math.floor(this.viewport.width) + \"px\";\n div.style.height = Math.floor(this.viewport.height) + \"px\";\n div.setAttribute(\"data-page-number\", this.id);\n this.div = div;\n container.appendChild(div);\n }\n\n _createClass(PDFPageView, [{\n key: \"setPdfPage\",\n value: function setPdfPage(pdfPage) {\n this.pdfPage = pdfPage;\n this.pdfPageRotate = pdfPage.rotate;\n var totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n this.viewport = pdfPage.getViewport({\n scale: this.scale * _ui_utils.CSS_UNITS,\n rotation: totalRotation\n });\n this.stats = pdfPage.stats;\n this.reset();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.reset();\n\n if (this.pdfPage) {\n this.pdfPage.cleanup();\n }\n }\n }, {\n key: \"_resetZoomLayer\",\n value: function _resetZoomLayer() {\n var removeFromDOM = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this.zoomLayer) {\n return;\n }\n\n var zoomLayerCanvas = this.zoomLayer.firstChild;\n this.paintedViewportMap[\"delete\"](zoomLayerCanvas);\n zoomLayerCanvas.width = 0;\n zoomLayerCanvas.height = 0;\n\n if (removeFromDOM) {\n this.zoomLayer.remove();\n }\n\n this.zoomLayer = null;\n }\n }, {\n key: \"reset\",\n value: function reset() {\n var keepZoomLayer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var keepAnnotations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n this.cancelRendering(keepAnnotations);\n this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;\n var div = this.div;\n div.style.width = Math.floor(this.viewport.width) + \"px\";\n div.style.height = Math.floor(this.viewport.height) + \"px\";\n var childNodes = div.childNodes;\n var currentZoomLayerNode = keepZoomLayer && this.zoomLayer || null;\n var currentAnnotationNode = keepAnnotations && this.annotationLayer && this.annotationLayer.div || null;\n\n for (var i = childNodes.length - 1; i >= 0; i--) {\n var node = childNodes[i];\n\n if (currentZoomLayerNode === node || currentAnnotationNode === node) {\n continue;\n }\n\n div.removeChild(node);\n }\n\n div.removeAttribute(\"data-loaded\");\n\n if (currentAnnotationNode) {\n this.annotationLayer.hide();\n } else if (this.annotationLayer) {\n this.annotationLayer.cancel();\n this.annotationLayer = null;\n }\n\n if (!currentZoomLayerNode) {\n if (this.canvas) {\n this.paintedViewportMap[\"delete\"](this.canvas);\n this.canvas.width = 0;\n this.canvas.height = 0;\n delete this.canvas;\n }\n\n this._resetZoomLayer();\n }\n\n if (this.svg) {\n this.paintedViewportMap[\"delete\"](this.svg);\n delete this.svg;\n }\n\n this.loadingIconDiv = document.createElement(\"div\");\n this.loadingIconDiv.className = \"loadingIcon\";\n div.appendChild(this.loadingIconDiv);\n }\n }, {\n key: \"update\",\n value: function update(scale, rotation) {\n this.scale = scale || this.scale;\n\n if (typeof rotation !== \"undefined\") {\n this.rotation = rotation;\n }\n\n var totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n this.viewport = this.viewport.clone({\n scale: this.scale * _ui_utils.CSS_UNITS,\n rotation: totalRotation\n });\n\n if (this.svg) {\n this.cssTransform(this.svg, true);\n this.eventBus.dispatch(\"pagerendered\", {\n source: this,\n pageNumber: this.id,\n cssTransform: true,\n timestamp: performance.now()\n });\n return;\n }\n\n var isScalingRestricted = false;\n\n if (this.canvas && this.maxCanvasPixels > 0) {\n var outputScale = this.outputScale;\n\n if ((Math.floor(this.viewport.width) * outputScale.sx | 0) * (Math.floor(this.viewport.height) * outputScale.sy | 0) > this.maxCanvasPixels) {\n isScalingRestricted = true;\n }\n }\n\n if (this.canvas) {\n if (this.useOnlyCssZoom || this.hasRestrictedScaling && isScalingRestricted) {\n this.cssTransform(this.canvas, true);\n this.eventBus.dispatch(\"pagerendered\", {\n source: this,\n pageNumber: this.id,\n cssTransform: true,\n timestamp: performance.now()\n });\n return;\n }\n\n if (!this.zoomLayer && !this.canvas.hasAttribute(\"hidden\")) {\n this.zoomLayer = this.canvas.parentNode;\n this.zoomLayer.style.position = \"absolute\";\n }\n }\n\n if (this.zoomLayer) {\n this.cssTransform(this.zoomLayer.firstChild);\n }\n\n this.reset(true, true);\n }\n }, {\n key: \"cancelRendering\",\n value: function cancelRendering() {\n var keepAnnotations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (this.paintTask) {\n this.paintTask.cancel();\n this.paintTask = null;\n }\n\n this.resume = null;\n\n if (this.textLayer) {\n this.textLayer.cancel();\n this.textLayer = null;\n }\n\n if (!keepAnnotations && this.annotationLayer) {\n this.annotationLayer.cancel();\n this.annotationLayer = null;\n }\n }\n }, {\n key: \"cssTransform\",\n value: function cssTransform(target) {\n var redrawAnnotations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var width = this.viewport.width;\n var height = this.viewport.height;\n var div = this.div;\n target.style.width = target.parentNode.style.width = div.style.width = Math.floor(width) + \"px\";\n target.style.height = target.parentNode.style.height = div.style.height = Math.floor(height) + \"px\";\n var relativeRotation = this.viewport.rotation - this.paintedViewportMap.get(target).rotation;\n var absRotation = Math.abs(relativeRotation);\n var scaleX = 1,\n scaleY = 1;\n\n if (absRotation === 90 || absRotation === 270) {\n scaleX = height / width;\n scaleY = width / height;\n }\n\n var cssTransform = \"rotate(\" + relativeRotation + \"deg) \" + \"scale(\" + scaleX + \",\" + scaleY + \")\";\n target.style.transform = cssTransform;\n\n if (this.textLayer) {\n var textLayerViewport = this.textLayer.viewport;\n var textRelativeRotation = this.viewport.rotation - textLayerViewport.rotation;\n var textAbsRotation = Math.abs(textRelativeRotation);\n var scale = width / textLayerViewport.width;\n\n if (textAbsRotation === 90 || textAbsRotation === 270) {\n scale = width / textLayerViewport.height;\n }\n\n var textLayerDiv = this.textLayer.textLayerDiv;\n var transX, transY;\n\n switch (textAbsRotation) {\n case 0:\n transX = transY = 0;\n break;\n\n case 90:\n transX = 0;\n transY = \"-\" + textLayerDiv.style.height;\n break;\n\n case 180:\n transX = \"-\" + textLayerDiv.style.width;\n transY = \"-\" + textLayerDiv.style.height;\n break;\n\n case 270:\n transX = \"-\" + textLayerDiv.style.width;\n transY = 0;\n break;\n\n default:\n console.error(\"Bad rotation value.\");\n break;\n }\n\n textLayerDiv.style.transform = \"rotate(\" + textAbsRotation + \"deg) \" + \"scale(\" + scale + \", \" + scale + \") \" + \"translate(\" + transX + \", \" + transY + \")\";\n textLayerDiv.style.transformOrigin = \"0% 0%\";\n }\n\n if (redrawAnnotations && this.annotationLayer) {\n this.annotationLayer.render(this.viewport, \"display\");\n }\n }\n }, {\n key: \"getPagePoint\",\n value: function getPagePoint(x, y) {\n return this.viewport.convertToPdfPoint(x, y);\n }\n }, {\n key: \"draw\",\n value: function draw() {\n var _this = this;\n\n if (this.renderingState !== _pdf_rendering_queue.RenderingStates.INITIAL) {\n console.error(\"Must be in new state before drawing\");\n this.reset();\n }\n\n var div = this.div,\n pdfPage = this.pdfPage;\n\n if (!pdfPage) {\n this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;\n\n if (this.loadingIconDiv) {\n div.removeChild(this.loadingIconDiv);\n delete this.loadingIconDiv;\n }\n\n return Promise.reject(new Error(\"pdfPage is not loaded\"));\n }\n\n this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;\n var canvasWrapper = document.createElement(\"div\");\n canvasWrapper.style.width = div.style.width;\n canvasWrapper.style.height = div.style.height;\n canvasWrapper.classList.add(\"canvasWrapper\");\n\n if (this.annotationLayer && this.annotationLayer.div) {\n div.insertBefore(canvasWrapper, this.annotationLayer.div);\n } else {\n div.appendChild(canvasWrapper);\n }\n\n var textLayer = null;\n\n if (this.textLayerMode !== _ui_utils.TextLayerMode.DISABLE && this.textLayerFactory) {\n var textLayerDiv = document.createElement(\"div\");\n textLayerDiv.className = \"textLayer\";\n textLayerDiv.style.width = canvasWrapper.style.width;\n textLayerDiv.style.height = canvasWrapper.style.height;\n\n if (this.annotationLayer && this.annotationLayer.div) {\n div.insertBefore(textLayerDiv, this.annotationLayer.div);\n } else {\n div.appendChild(textLayerDiv);\n }\n\n textLayer = this.textLayerFactory.createTextLayerBuilder(textLayerDiv, this.id - 1, this.viewport, this.textLayerMode === _ui_utils.TextLayerMode.ENABLE_ENHANCE, this.eventBus);\n }\n\n this.textLayer = textLayer;\n var renderContinueCallback = null;\n\n if (this.renderingQueue) {\n renderContinueCallback = function renderContinueCallback(cont) {\n if (!_this.renderingQueue.isHighestPriority(_this)) {\n _this.renderingState = _pdf_rendering_queue.RenderingStates.PAUSED;\n\n _this.resume = function () {\n _this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;\n cont();\n };\n\n return;\n }\n\n cont();\n };\n }\n\n var finishPaintTask = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(error) {\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (paintTask === _this.paintTask) {\n _this.paintTask = null;\n }\n\n if (!(error instanceof _pdfjsLib.RenderingCancelledException)) {\n _context.next = 4;\n break;\n }\n\n _this.error = null;\n return _context.abrupt(\"return\");\n\n case 4:\n _this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;\n\n if (_this.loadingIconDiv) {\n div.removeChild(_this.loadingIconDiv);\n delete _this.loadingIconDiv;\n }\n\n _this._resetZoomLayer(true);\n\n _this.error = error;\n _this.stats = pdfPage.stats;\n\n _this.eventBus.dispatch(\"pagerendered\", {\n source: _this,\n pageNumber: _this.id,\n cssTransform: false,\n timestamp: performance.now()\n });\n\n if (!error) {\n _context.next = 12;\n break;\n }\n\n throw error;\n\n case 12:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function finishPaintTask(_x) {\n return _ref.apply(this, arguments);\n };\n }();\n\n var paintTask = this.renderer === _ui_utils.RendererType.SVG ? this.paintOnSvg(canvasWrapper) : this.paintOnCanvas(canvasWrapper);\n paintTask.onRenderContinue = renderContinueCallback;\n this.paintTask = paintTask;\n var resultPromise = paintTask.promise.then(function () {\n return finishPaintTask(null).then(function () {\n if (textLayer) {\n var readableStream = pdfPage.streamTextContent({\n normalizeWhitespace: true\n });\n textLayer.setTextContentStream(readableStream);\n textLayer.render();\n }\n });\n }, function (reason) {\n return finishPaintTask(reason);\n });\n\n if (this.annotationLayerFactory) {\n if (!this.annotationLayer) {\n this.annotationLayer = this.annotationLayerFactory.createAnnotationLayerBuilder(div, pdfPage, this.imageResourcesPath, this.renderInteractiveForms, this.l10n);\n }\n\n this.annotationLayer.render(this.viewport, \"display\");\n }\n\n div.setAttribute(\"data-loaded\", true);\n this.eventBus.dispatch(\"pagerender\", {\n source: this,\n pageNumber: this.id\n });\n return resultPromise;\n }\n }, {\n key: \"paintOnCanvas\",\n value: function paintOnCanvas(canvasWrapper) {\n var renderCapability = (0, _pdfjsLib.createPromiseCapability)();\n var result = {\n promise: renderCapability.promise,\n onRenderContinue: function onRenderContinue(cont) {\n cont();\n },\n cancel: function cancel() {\n renderTask.cancel();\n }\n };\n var viewport = this.viewport;\n var canvas = document.createElement(\"canvas\");\n this.l10n.get(\"page_canvas\", {\n page: this.id\n }, \"Page {{page}}\").then(function (msg) {\n canvas.setAttribute(\"aria-label\", msg);\n });\n canvas.setAttribute(\"hidden\", \"hidden\");\n var isCanvasHidden = true;\n\n var showCanvas = function showCanvas() {\n if (isCanvasHidden) {\n canvas.removeAttribute(\"hidden\");\n isCanvasHidden = false;\n }\n };\n\n canvasWrapper.appendChild(canvas);\n this.canvas = canvas;\n canvas.mozOpaque = true;\n var ctx = canvas.getContext(\"2d\", {\n alpha: false\n });\n var outputScale = (0, _ui_utils.getOutputScale)(ctx);\n this.outputScale = outputScale;\n\n if (this.useOnlyCssZoom) {\n var actualSizeViewport = viewport.clone({\n scale: _ui_utils.CSS_UNITS\n });\n outputScale.sx *= actualSizeViewport.width / viewport.width;\n outputScale.sy *= actualSizeViewport.height / viewport.height;\n outputScale.scaled = true;\n }\n\n if (this.maxCanvasPixels > 0) {\n var pixelsInViewport = viewport.width * viewport.height;\n var maxScale = Math.sqrt(this.maxCanvasPixels / pixelsInViewport);\n\n if (outputScale.sx > maxScale || outputScale.sy > maxScale) {\n outputScale.sx = maxScale;\n outputScale.sy = maxScale;\n outputScale.scaled = true;\n this.hasRestrictedScaling = true;\n } else {\n this.hasRestrictedScaling = false;\n }\n }\n\n var sfx = (0, _ui_utils.approximateFraction)(outputScale.sx);\n var sfy = (0, _ui_utils.approximateFraction)(outputScale.sy);\n canvas.width = (0, _ui_utils.roundToDivide)(viewport.width * outputScale.sx, sfx[0]);\n canvas.height = (0, _ui_utils.roundToDivide)(viewport.height * outputScale.sy, sfy[0]);\n canvas.style.width = (0, _ui_utils.roundToDivide)(viewport.width, sfx[1]) + \"px\";\n canvas.style.height = (0, _ui_utils.roundToDivide)(viewport.height, sfy[1]) + \"px\";\n this.paintedViewportMap.set(canvas, viewport);\n var transform = !outputScale.scaled ? null : [outputScale.sx, 0, 0, outputScale.sy, 0, 0];\n var renderContext = {\n canvasContext: ctx,\n transform: transform,\n viewport: this.viewport,\n enableWebGL: this.enableWebGL,\n renderInteractiveForms: this.renderInteractiveForms\n };\n var renderTask = this.pdfPage.render(renderContext);\n\n renderTask.onContinue = function (cont) {\n showCanvas();\n\n if (result.onRenderContinue) {\n result.onRenderContinue(cont);\n } else {\n cont();\n }\n };\n\n renderTask.promise.then(function () {\n showCanvas();\n renderCapability.resolve(undefined);\n }, function (error) {\n showCanvas();\n renderCapability.reject(error);\n });\n return result;\n }\n }, {\n key: \"paintOnSvg\",\n value: function paintOnSvg(wrapper) {\n var _this2 = this;\n\n var cancelled = false;\n\n var ensureNotCancelled = function ensureNotCancelled() {\n if (cancelled) {\n throw new _pdfjsLib.RenderingCancelledException(\"Rendering cancelled, page \".concat(_this2.id), \"svg\");\n }\n };\n\n var pdfPage = this.pdfPage;\n var actualSizeViewport = this.viewport.clone({\n scale: _ui_utils.CSS_UNITS\n });\n var promise = pdfPage.getOperatorList().then(function (opList) {\n ensureNotCancelled();\n var svgGfx = new _pdfjsLib.SVGGraphics(pdfPage.commonObjs, pdfPage.objs);\n return svgGfx.getSVG(opList, actualSizeViewport).then(function (svg) {\n ensureNotCancelled();\n _this2.svg = svg;\n\n _this2.paintedViewportMap.set(svg, actualSizeViewport);\n\n svg.style.width = wrapper.style.width;\n svg.style.height = wrapper.style.height;\n _this2.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;\n wrapper.appendChild(svg);\n });\n });\n return {\n promise: promise,\n onRenderContinue: function onRenderContinue(cont) {\n cont();\n },\n cancel: function cancel() {\n cancelled = true;\n }\n };\n }\n }, {\n key: \"setPageLabel\",\n value: function setPageLabel(label) {\n this.pageLabel = typeof label === \"string\" ? label : null;\n\n if (this.pageLabel !== null) {\n this.div.setAttribute(\"data-page-label\", this.pageLabel);\n } else {\n this.div.removeAttribute(\"data-page-label\");\n }\n }\n }, {\n key: \"width\",\n get: function get() {\n return this.viewport.width;\n }\n }, {\n key: \"height\",\n get: function get() {\n return this.viewport.height;\n }\n }]);\n\n return PDFPageView;\n}();\n\nexports.PDFPageView = PDFPageView;\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFRenderingQueue = exports.RenderingStates = void 0;\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 CLEANUP_TIMEOUT = 30000;\nvar RenderingStates = {\n INITIAL: 0,\n RUNNING: 1,\n PAUSED: 2,\n FINISHED: 3\n};\nexports.RenderingStates = RenderingStates;\n\nvar PDFRenderingQueue = /*#__PURE__*/function () {\n function PDFRenderingQueue() {\n _classCallCheck(this, PDFRenderingQueue);\n\n this.pdfViewer = null;\n this.pdfThumbnailViewer = null;\n this.onIdle = null;\n this.highestPriorityPage = null;\n this.idleTimeout = null;\n this.printing = false;\n this.isThumbnailViewEnabled = false;\n }\n\n _createClass(PDFRenderingQueue, [{\n key: \"setViewer\",\n value: function setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n }, {\n key: \"setThumbnailViewer\",\n value: function setThumbnailViewer(pdfThumbnailViewer) {\n this.pdfThumbnailViewer = pdfThumbnailViewer;\n }\n }, {\n key: \"isHighestPriority\",\n value: function isHighestPriority(view) {\n return this.highestPriorityPage === view.renderingId;\n }\n }, {\n key: \"renderHighestPriority\",\n value: function renderHighestPriority(currentlyVisiblePages) {\n if (this.idleTimeout) {\n clearTimeout(this.idleTimeout);\n this.idleTimeout = null;\n }\n\n if (this.pdfViewer.forceRendering(currentlyVisiblePages)) {\n return;\n }\n\n if (this.pdfThumbnailViewer && this.isThumbnailViewEnabled) {\n if (this.pdfThumbnailViewer.forceRendering()) {\n return;\n }\n }\n\n if (this.printing) {\n return;\n }\n\n if (this.onIdle) {\n this.idleTimeout = setTimeout(this.onIdle.bind(this), CLEANUP_TIMEOUT);\n }\n }\n }, {\n key: \"getHighestPriority\",\n value: function getHighestPriority(visible, views, scrolledDown) {\n var visibleViews = visible.views;\n var numVisible = visibleViews.length;\n\n if (numVisible === 0) {\n return null;\n }\n\n for (var i = 0; i < numVisible; ++i) {\n var view = visibleViews[i].view;\n\n if (!this.isViewFinished(view)) {\n return view;\n }\n }\n\n if (scrolledDown) {\n var nextPageIndex = visible.last.id;\n\n if (views[nextPageIndex] && !this.isViewFinished(views[nextPageIndex])) {\n return views[nextPageIndex];\n }\n } else {\n var previousPageIndex = visible.first.id - 2;\n\n if (views[previousPageIndex] && !this.isViewFinished(views[previousPageIndex])) {\n return views[previousPageIndex];\n }\n }\n\n return null;\n }\n }, {\n key: \"isViewFinished\",\n value: function isViewFinished(view) {\n return view.renderingState === RenderingStates.FINISHED;\n }\n }, {\n key: \"renderView\",\n value: function renderView(view) {\n var _this = this;\n\n switch (view.renderingState) {\n case RenderingStates.FINISHED:\n return false;\n\n case RenderingStates.PAUSED:\n this.highestPriorityPage = view.renderingId;\n view.resume();\n break;\n\n case RenderingStates.RUNNING:\n this.highestPriorityPage = view.renderingId;\n break;\n\n case RenderingStates.INITIAL:\n this.highestPriorityPage = view.renderingId;\n view.draw()[\"finally\"](function () {\n _this.renderHighestPriority();\n })[\"catch\"](function (reason) {\n console.error(\"renderView: \\\"\".concat(reason, \"\\\"\"));\n });\n break;\n }\n\n return true;\n }\n }]);\n\n return PDFRenderingQueue;\n}();\n\nexports.PDFRenderingQueue = PDFRenderingQueue;\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFSinglePageViewer = void 0;\n\nvar _base_viewer = __w_pdfjs_require__(19);\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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 _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 _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 _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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\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 _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar PDFSinglePageViewer = /*#__PURE__*/function (_BaseViewer) {\n _inherits(PDFSinglePageViewer, _BaseViewer);\n\n var _super = _createSuper(PDFSinglePageViewer);\n\n function PDFSinglePageViewer(options) {\n var _this;\n\n _classCallCheck(this, PDFSinglePageViewer);\n\n _this = _super.call(this, options);\n\n _this.eventBus._on(\"pagesinit\", function (evt) {\n _this._ensurePageViewVisible();\n });\n\n return _this;\n }\n\n _createClass(PDFSinglePageViewer, [{\n key: \"_resetView\",\n value: function _resetView() {\n _get(_getPrototypeOf(PDFSinglePageViewer.prototype), \"_resetView\", this).call(this);\n\n this._previousPageNumber = 1;\n this._shadowViewer = document.createDocumentFragment();\n this._updateScrollDown = null;\n }\n }, {\n key: \"_ensurePageViewVisible\",\n value: function _ensurePageViewVisible() {\n var pageView = this._pages[this._currentPageNumber - 1];\n var previousPageView = this._pages[this._previousPageNumber - 1];\n var viewerNodes = this.viewer.childNodes;\n\n switch (viewerNodes.length) {\n case 0:\n this.viewer.appendChild(pageView.div);\n break;\n\n case 1:\n if (viewerNodes[0] !== previousPageView.div) {\n throw new Error(\"_ensurePageViewVisible: Unexpected previously visible page.\");\n }\n\n if (pageView === previousPageView) {\n break;\n }\n\n this._shadowViewer.appendChild(previousPageView.div);\n\n this.viewer.appendChild(pageView.div);\n this.container.scrollTop = 0;\n break;\n\n default:\n throw new Error(\"_ensurePageViewVisible: Only one page should be visible at a time.\");\n }\n\n this._previousPageNumber = this._currentPageNumber;\n }\n }, {\n key: \"_scrollUpdate\",\n value: function _scrollUpdate() {\n if (this._updateScrollDown) {\n this._updateScrollDown();\n }\n\n _get(_getPrototypeOf(PDFSinglePageViewer.prototype), \"_scrollUpdate\", this).call(this);\n }\n }, {\n key: \"_scrollIntoView\",\n value: function _scrollIntoView(_ref) {\n var _this2 = this;\n\n var pageDiv = _ref.pageDiv,\n _ref$pageSpot = _ref.pageSpot,\n pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,\n _ref$pageNumber = _ref.pageNumber,\n pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;\n\n if (pageNumber) {\n this._setCurrentPageNumber(pageNumber);\n }\n\n var scrolledDown = this._currentPageNumber >= this._previousPageNumber;\n\n this._ensurePageViewVisible();\n\n this.update();\n\n _get(_getPrototypeOf(PDFSinglePageViewer.prototype), \"_scrollIntoView\", this).call(this, {\n pageDiv: pageDiv,\n pageSpot: pageSpot,\n pageNumber: pageNumber\n });\n\n this._updateScrollDown = function () {\n _this2.scroll.down = scrolledDown;\n _this2._updateScrollDown = null;\n };\n }\n }, {\n key: \"_getVisiblePages\",\n value: function _getVisiblePages() {\n return this._getCurrentVisiblePage();\n }\n }, {\n key: \"_updateHelper\",\n value: function _updateHelper(visiblePages) {}\n }, {\n key: \"_updateScrollMode\",\n value: function _updateScrollMode() {}\n }, {\n key: \"_updateSpreadMode\",\n value: function _updateSpreadMode() {}\n }, {\n key: \"_viewerElement\",\n get: function get() {\n return (0, _pdfjsLib.shadow)(this, \"_viewerElement\", this._shadowViewer);\n }\n }, {\n key: \"_isScrollModeHorizontal\",\n get: function get() {\n return (0, _pdfjsLib.shadow)(this, \"_isScrollModeHorizontal\", false);\n }\n }]);\n\n return PDFSinglePageViewer;\n}(_base_viewer.BaseViewer);\n\nexports.PDFSinglePageViewer = PDFSinglePageViewer;\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.BaseViewer = void 0;\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nvar _pdf_rendering_queue = __w_pdfjs_require__(17);\n\nvar _annotation_layer_builder = __w_pdfjs_require__(1);\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nvar _pdf_page_view = __w_pdfjs_require__(16);\n\nvar _pdf_link_service = __w_pdfjs_require__(7);\n\nvar _text_layer_builder = __w_pdfjs_require__(8);\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_CACHE_SIZE = 10;\n\nfunction PDFPageViewBuffer(size) {\n var data = [];\n\n this.push = function (view) {\n var i = data.indexOf(view);\n\n if (i >= 0) {\n data.splice(i, 1);\n }\n\n data.push(view);\n\n if (data.length > size) {\n data.shift().destroy();\n }\n };\n\n this.resize = function (newSize, pagesToKeep) {\n size = newSize;\n\n if (pagesToKeep) {\n var pageIdsToKeep = new Set();\n\n for (var i = 0, iMax = pagesToKeep.length; i < iMax; ++i) {\n pageIdsToKeep.add(pagesToKeep[i].id);\n }\n\n (0, _ui_utils.moveToEndOfArray)(data, function (page) {\n return pageIdsToKeep.has(page.id);\n });\n }\n\n while (data.length > size) {\n data.shift().destroy();\n }\n };\n}\n\nfunction isSameScale(oldScale, newScale) {\n if (newScale === oldScale) {\n return true;\n }\n\n if (Math.abs(newScale - oldScale) < 1e-15) {\n return true;\n }\n\n return false;\n}\n\nvar BaseViewer = /*#__PURE__*/function () {\n function BaseViewer(options) {\n var _this = this;\n\n _classCallCheck(this, BaseViewer);\n\n if (this.constructor === BaseViewer) {\n throw new Error(\"Cannot initialize BaseViewer.\");\n }\n\n this._name = this.constructor.name;\n this.container = options.container;\n this.viewer = options.viewer || options.container.firstElementChild;\n this.eventBus = options.eventBus;\n this.linkService = options.linkService || new _pdf_link_service.SimpleLinkService();\n this.downloadManager = options.downloadManager || null;\n this.findController = options.findController || null;\n this.removePageBorders = options.removePageBorders || false;\n this.textLayerMode = Number.isInteger(options.textLayerMode) ? options.textLayerMode : _ui_utils.TextLayerMode.ENABLE;\n this.imageResourcesPath = options.imageResourcesPath || \"\";\n this.renderInteractiveForms = options.renderInteractiveForms || false;\n this.enablePrintAutoRotate = options.enablePrintAutoRotate || false;\n this.renderer = options.renderer || _ui_utils.RendererType.CANVAS;\n this.enableWebGL = options.enableWebGL || false;\n this.useOnlyCssZoom = options.useOnlyCssZoom || false;\n this.maxCanvasPixels = options.maxCanvasPixels;\n this.l10n = options.l10n || _ui_utils.NullL10n;\n this.defaultRenderingQueue = !options.renderingQueue;\n\n if (this.defaultRenderingQueue) {\n this.renderingQueue = new _pdf_rendering_queue.PDFRenderingQueue();\n this.renderingQueue.setViewer(this);\n } else {\n this.renderingQueue = options.renderingQueue;\n }\n\n this.scroll = (0, _ui_utils.watchScroll)(this.container, this._scrollUpdate.bind(this));\n this.presentationModeState = _ui_utils.PresentationModeState.UNKNOWN;\n this._onBeforeDraw = this._onAfterDraw = null;\n\n this._resetView();\n\n if (this.removePageBorders) {\n this.viewer.classList.add(\"removePageBorders\");\n }\n\n Promise.resolve().then(function () {\n _this.eventBus.dispatch(\"baseviewerinit\", {\n source: _this\n });\n });\n }\n\n _createClass(BaseViewer, [{\n key: \"getPageView\",\n value: function getPageView(index) {\n return this._pages[index];\n }\n }, {\n key: \"_setCurrentPageNumber\",\n value: function _setCurrentPageNumber(val) {\n var resetCurrentPageView = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (this._currentPageNumber === val) {\n if (resetCurrentPageView) {\n this._resetCurrentPageView();\n }\n\n return true;\n }\n\n if (!(0 < val && val <= this.pagesCount)) {\n return false;\n }\n\n this._currentPageNumber = val;\n this.eventBus.dispatch(\"pagechanging\", {\n source: this,\n pageNumber: val,\n pageLabel: this._pageLabels && this._pageLabels[val - 1]\n });\n\n if (resetCurrentPageView) {\n this._resetCurrentPageView();\n }\n\n return true;\n }\n }, {\n key: \"_onePageRenderedOrForceFetch\",\n value: function _onePageRenderedOrForceFetch() {\n if (!this.container.offsetParent || this._getVisiblePages().views.length === 0) {\n return Promise.resolve();\n }\n\n return this._onePageRenderedCapability.promise;\n }\n }, {\n key: \"setDocument\",\n value: function setDocument(pdfDocument) {\n var _this2 = this;\n\n if (this.pdfDocument) {\n this._cancelRendering();\n\n this._resetView();\n\n if (this.findController) {\n this.findController.setDocument(null);\n }\n }\n\n this.pdfDocument = pdfDocument;\n\n if (!pdfDocument) {\n return;\n }\n\n var pagesCount = pdfDocument.numPages;\n var firstPagePromise = pdfDocument.getPage(1);\n\n this._pagesCapability.promise.then(function () {\n _this2.eventBus.dispatch(\"pagesloaded\", {\n source: _this2,\n pagesCount: pagesCount\n });\n });\n\n this._onBeforeDraw = function (evt) {\n var pageView = _this2._pages[evt.pageNumber - 1];\n\n if (!pageView) {\n return;\n }\n\n _this2._buffer.push(pageView);\n };\n\n this.eventBus._on(\"pagerender\", this._onBeforeDraw);\n\n this._onAfterDraw = function (evt) {\n if (evt.cssTransform || _this2._onePageRenderedCapability.settled) {\n return;\n }\n\n _this2._onePageRenderedCapability.resolve();\n\n _this2.eventBus._off(\"pagerendered\", _this2._onAfterDraw);\n\n _this2._onAfterDraw = null;\n };\n\n this.eventBus._on(\"pagerendered\", this._onAfterDraw);\n\n firstPagePromise.then(function (firstPdfPage) {\n _this2._firstPageCapability.resolve(firstPdfPage);\n\n var scale = _this2.currentScale;\n var viewport = firstPdfPage.getViewport({\n scale: scale * _ui_utils.CSS_UNITS\n });\n var textLayerFactory = _this2.textLayerMode !== _ui_utils.TextLayerMode.DISABLE ? _this2 : null;\n\n for (var pageNum = 1; pageNum <= pagesCount; ++pageNum) {\n var pageView = new _pdf_page_view.PDFPageView({\n container: _this2._viewerElement,\n eventBus: _this2.eventBus,\n id: pageNum,\n scale: scale,\n defaultViewport: viewport.clone(),\n renderingQueue: _this2.renderingQueue,\n textLayerFactory: textLayerFactory,\n textLayerMode: _this2.textLayerMode,\n annotationLayerFactory: _this2,\n imageResourcesPath: _this2.imageResourcesPath,\n renderInteractiveForms: _this2.renderInteractiveForms,\n renderer: _this2.renderer,\n enableWebGL: _this2.enableWebGL,\n useOnlyCssZoom: _this2.useOnlyCssZoom,\n maxCanvasPixels: _this2.maxCanvasPixels,\n l10n: _this2.l10n\n });\n\n _this2._pages.push(pageView);\n }\n\n var firstPageView = _this2._pages[0];\n\n if (firstPageView) {\n firstPageView.setPdfPage(firstPdfPage);\n\n _this2.linkService.cachePageRef(1, firstPdfPage.ref);\n }\n\n if (_this2._spreadMode !== _ui_utils.SpreadMode.NONE) {\n _this2._updateSpreadMode();\n }\n\n _this2._onePageRenderedOrForceFetch().then(function () {\n if (_this2.findController) {\n _this2.findController.setDocument(pdfDocument);\n }\n\n if (pdfDocument.loadingParams.disableAutoFetch || pagesCount > 7500) {\n _this2._pagesCapability.resolve();\n\n return;\n }\n\n var getPagesLeft = pagesCount - 1;\n\n if (getPagesLeft <= 0) {\n _this2._pagesCapability.resolve();\n\n return;\n }\n\n var _loop = function _loop(_pageNum) {\n pdfDocument.getPage(_pageNum).then(function (pdfPage) {\n var pageView = _this2._pages[_pageNum - 1];\n\n if (!pageView.pdfPage) {\n pageView.setPdfPage(pdfPage);\n }\n\n _this2.linkService.cachePageRef(_pageNum, pdfPage.ref);\n\n if (--getPagesLeft === 0) {\n _this2._pagesCapability.resolve();\n }\n }, function (reason) {\n console.error(\"Unable to get page \".concat(_pageNum, \" to initialize viewer\"), reason);\n\n if (--getPagesLeft === 0) {\n _this2._pagesCapability.resolve();\n }\n });\n };\n\n for (var _pageNum = 2; _pageNum <= pagesCount; ++_pageNum) {\n _loop(_pageNum);\n }\n });\n\n _this2.eventBus.dispatch(\"pagesinit\", {\n source: _this2\n });\n\n if (_this2.defaultRenderingQueue) {\n _this2.update();\n }\n })[\"catch\"](function (reason) {\n console.error(\"Unable to initialize viewer\", reason);\n });\n }\n }, {\n key: \"setPageLabels\",\n value: function setPageLabels(labels) {\n if (!this.pdfDocument) {\n return;\n }\n\n if (!labels) {\n this._pageLabels = null;\n } else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) {\n this._pageLabels = null;\n console.error(\"\".concat(this._name, \".setPageLabels: Invalid page labels.\"));\n } else {\n this._pageLabels = labels;\n }\n\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n var pageView = this._pages[i];\n var label = this._pageLabels && this._pageLabels[i];\n pageView.setPageLabel(label);\n }\n }\n }, {\n key: \"_resetView\",\n value: function _resetView() {\n this._pages = [];\n this._currentPageNumber = 1;\n this._currentScale = _ui_utils.UNKNOWN_SCALE;\n this._currentScaleValue = null;\n this._pageLabels = null;\n this._buffer = new PDFPageViewBuffer(DEFAULT_CACHE_SIZE);\n this._location = null;\n this._pagesRotation = 0;\n this._pagesRequests = new WeakMap();\n this._firstPageCapability = (0, _pdfjsLib.createPromiseCapability)();\n this._onePageRenderedCapability = (0, _pdfjsLib.createPromiseCapability)();\n this._pagesCapability = (0, _pdfjsLib.createPromiseCapability)();\n this._scrollMode = _ui_utils.ScrollMode.VERTICAL;\n this._spreadMode = _ui_utils.SpreadMode.NONE;\n\n if (this._onBeforeDraw) {\n this.eventBus._off(\"pagerender\", this._onBeforeDraw);\n\n this._onBeforeDraw = null;\n }\n\n if (this._onAfterDraw) {\n this.eventBus._off(\"pagerendered\", this._onAfterDraw);\n\n this._onAfterDraw = null;\n }\n\n this.viewer.textContent = \"\";\n\n this._updateScrollMode();\n }\n }, {\n key: \"_scrollUpdate\",\n value: function _scrollUpdate() {\n if (this.pagesCount === 0) {\n return;\n }\n\n this.update();\n }\n }, {\n key: \"_scrollIntoView\",\n value: function _scrollIntoView(_ref) {\n var pageDiv = _ref.pageDiv,\n _ref$pageSpot = _ref.pageSpot,\n pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,\n _ref$pageNumber = _ref.pageNumber,\n pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;\n (0, _ui_utils.scrollIntoView)(pageDiv, pageSpot);\n }\n }, {\n key: \"_setScaleUpdatePages\",\n value: function _setScaleUpdatePages(newScale, newValue) {\n var noScroll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var preset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n this._currentScaleValue = newValue.toString();\n\n if (isSameScale(this._currentScale, newScale)) {\n if (preset) {\n this.eventBus.dispatch(\"scalechanging\", {\n source: this,\n scale: newScale,\n presetValue: newValue\n });\n }\n\n return;\n }\n\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n this._pages[i].update(newScale);\n }\n\n this._currentScale = newScale;\n\n if (!noScroll) {\n var page = this._currentPageNumber,\n dest;\n\n if (this._location && !(this.isInPresentationMode || this.isChangingPresentationMode)) {\n page = this._location.pageNumber;\n dest = [null, {\n name: \"XYZ\"\n }, this._location.left, this._location.top, null];\n }\n\n this.scrollPageIntoView({\n pageNumber: page,\n destArray: dest,\n allowNegativeOffset: true\n });\n }\n\n this.eventBus.dispatch(\"scalechanging\", {\n source: this,\n scale: newScale,\n presetValue: preset ? newValue : undefined\n });\n\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }\n }, {\n key: \"_setScale\",\n value: function _setScale(value) {\n var noScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var scale = parseFloat(value);\n\n if (scale > 0) {\n this._setScaleUpdatePages(scale, value, noScroll, false);\n } else {\n var currentPage = this._pages[this._currentPageNumber - 1];\n\n if (!currentPage) {\n return;\n }\n\n var noPadding = this.isInPresentationMode || this.removePageBorders;\n var hPadding = noPadding ? 0 : _ui_utils.SCROLLBAR_PADDING;\n var vPadding = noPadding ? 0 : _ui_utils.VERTICAL_PADDING;\n\n if (!noPadding && this._isScrollModeHorizontal) {\n var _ref2 = [vPadding, hPadding];\n hPadding = _ref2[0];\n vPadding = _ref2[1];\n }\n\n var pageWidthScale = (this.container.clientWidth - hPadding) / currentPage.width * currentPage.scale;\n var pageHeightScale = (this.container.clientHeight - vPadding) / currentPage.height * currentPage.scale;\n\n switch (value) {\n case \"page-actual\":\n scale = 1;\n break;\n\n case \"page-width\":\n scale = pageWidthScale;\n break;\n\n case \"page-height\":\n scale = pageHeightScale;\n break;\n\n case \"page-fit\":\n scale = Math.min(pageWidthScale, pageHeightScale);\n break;\n\n case \"auto\":\n var horizontalScale = (0, _ui_utils.isPortraitOrientation)(currentPage) ? pageWidthScale : Math.min(pageHeightScale, pageWidthScale);\n scale = Math.min(_ui_utils.MAX_AUTO_SCALE, horizontalScale);\n break;\n\n default:\n console.error(\"\".concat(this._name, \"._setScale: \\\"\").concat(value, \"\\\" is an unknown zoom value.\"));\n return;\n }\n\n this._setScaleUpdatePages(scale, value, noScroll, true);\n }\n }\n }, {\n key: \"_resetCurrentPageView\",\n value: function _resetCurrentPageView() {\n if (this.isInPresentationMode) {\n this._setScale(this._currentScaleValue, true);\n }\n\n var pageView = this._pages[this._currentPageNumber - 1];\n\n this._scrollIntoView({\n pageDiv: pageView.div\n });\n }\n }, {\n key: \"scrollPageIntoView\",\n value: function scrollPageIntoView(_ref3) {\n var pageNumber = _ref3.pageNumber,\n _ref3$destArray = _ref3.destArray,\n destArray = _ref3$destArray === void 0 ? null : _ref3$destArray,\n _ref3$allowNegativeOf = _ref3.allowNegativeOffset,\n allowNegativeOffset = _ref3$allowNegativeOf === void 0 ? false : _ref3$allowNegativeOf,\n _ref3$ignoreDestinati = _ref3.ignoreDestinationZoom,\n ignoreDestinationZoom = _ref3$ignoreDestinati === void 0 ? false : _ref3$ignoreDestinati;\n\n if (!this.pdfDocument) {\n return;\n }\n\n var pageView = Number.isInteger(pageNumber) && this._pages[pageNumber - 1];\n\n if (!pageView) {\n console.error(\"\".concat(this._name, \".scrollPageIntoView: \") + \"\\\"\".concat(pageNumber, \"\\\" is not a valid pageNumber parameter.\"));\n return;\n }\n\n if (this.isInPresentationMode || !destArray) {\n this._setCurrentPageNumber(pageNumber, true);\n\n return;\n }\n\n var x = 0,\n y = 0;\n var width = 0,\n height = 0,\n widthScale,\n heightScale;\n var changeOrientation = pageView.rotation % 180 !== 0;\n var pageWidth = (changeOrientation ? pageView.height : pageView.width) / pageView.scale / _ui_utils.CSS_UNITS;\n var pageHeight = (changeOrientation ? pageView.width : pageView.height) / pageView.scale / _ui_utils.CSS_UNITS;\n var scale = 0;\n\n switch (destArray[1].name) {\n case \"XYZ\":\n x = destArray[2];\n y = destArray[3];\n scale = destArray[4];\n x = x !== null ? x : 0;\n y = y !== null ? y : pageHeight;\n break;\n\n case \"Fit\":\n case \"FitB\":\n scale = \"page-fit\";\n break;\n\n case \"FitH\":\n case \"FitBH\":\n y = destArray[2];\n scale = \"page-width\";\n\n if (y === null && this._location) {\n x = this._location.left;\n y = this._location.top;\n }\n\n break;\n\n case \"FitV\":\n case \"FitBV\":\n x = destArray[2];\n width = pageWidth;\n height = pageHeight;\n scale = \"page-height\";\n break;\n\n case \"FitR\":\n x = destArray[2];\n y = destArray[3];\n width = destArray[4] - x;\n height = destArray[5] - y;\n var hPadding = this.removePageBorders ? 0 : _ui_utils.SCROLLBAR_PADDING;\n var vPadding = this.removePageBorders ? 0 : _ui_utils.VERTICAL_PADDING;\n widthScale = (this.container.clientWidth - hPadding) / width / _ui_utils.CSS_UNITS;\n heightScale = (this.container.clientHeight - vPadding) / height / _ui_utils.CSS_UNITS;\n scale = Math.min(Math.abs(widthScale), Math.abs(heightScale));\n break;\n\n default:\n console.error(\"\".concat(this._name, \".scrollPageIntoView: \") + \"\\\"\".concat(destArray[1].name, \"\\\" is not a valid destination type.\"));\n return;\n }\n\n if (!ignoreDestinationZoom) {\n if (scale && scale !== this._currentScale) {\n this.currentScaleValue = scale;\n } else if (this._currentScale === _ui_utils.UNKNOWN_SCALE) {\n this.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;\n }\n }\n\n if (scale === \"page-fit\" && !destArray[4]) {\n this._scrollIntoView({\n pageDiv: pageView.div,\n pageNumber: pageNumber\n });\n\n return;\n }\n\n var boundingRect = [pageView.viewport.convertToViewportPoint(x, y), pageView.viewport.convertToViewportPoint(x + width, y + height)];\n var left = Math.min(boundingRect[0][0], boundingRect[1][0]);\n var top = Math.min(boundingRect[0][1], boundingRect[1][1]);\n\n if (!allowNegativeOffset) {\n left = Math.max(left, 0);\n top = Math.max(top, 0);\n }\n\n this._scrollIntoView({\n pageDiv: pageView.div,\n pageSpot: {\n left: left,\n top: top\n },\n pageNumber: pageNumber\n });\n }\n }, {\n key: \"_updateLocation\",\n value: function _updateLocation(firstPage) {\n var currentScale = this._currentScale;\n var currentScaleValue = this._currentScaleValue;\n var normalizedScaleValue = parseFloat(currentScaleValue) === currentScale ? Math.round(currentScale * 10000) / 100 : currentScaleValue;\n var pageNumber = firstPage.id;\n var pdfOpenParams = \"#page=\" + pageNumber;\n pdfOpenParams += \"&zoom=\" + normalizedScaleValue;\n var currentPageView = this._pages[pageNumber - 1];\n var container = this.container;\n var topLeft = currentPageView.getPagePoint(container.scrollLeft - firstPage.x, container.scrollTop - firstPage.y);\n var intLeft = Math.round(topLeft[0]);\n var intTop = Math.round(topLeft[1]);\n pdfOpenParams += \",\" + intLeft + \",\" + intTop;\n this._location = {\n pageNumber: pageNumber,\n scale: normalizedScaleValue,\n top: intTop,\n left: intLeft,\n rotation: this._pagesRotation,\n pdfOpenParams: pdfOpenParams\n };\n }\n }, {\n key: \"_updateHelper\",\n value: function _updateHelper(visiblePages) {\n throw new Error(\"Not implemented: _updateHelper\");\n }\n }, {\n key: \"update\",\n value: function update() {\n var visible = this._getVisiblePages();\n\n var visiblePages = visible.views,\n numVisiblePages = visiblePages.length;\n\n if (numVisiblePages === 0) {\n return;\n }\n\n var newCacheSize = Math.max(DEFAULT_CACHE_SIZE, 2 * numVisiblePages + 1);\n\n this._buffer.resize(newCacheSize, visiblePages);\n\n this.renderingQueue.renderHighestPriority(visible);\n\n this._updateHelper(visiblePages);\n\n this._updateLocation(visible.first);\n\n this.eventBus.dispatch(\"updateviewarea\", {\n source: this,\n location: this._location\n });\n }\n }, {\n key: \"containsElement\",\n value: function containsElement(element) {\n return this.container.contains(element);\n }\n }, {\n key: \"focus\",\n value: function focus() {\n this.container.focus();\n }\n }, {\n key: \"_getCurrentVisiblePage\",\n value: function _getCurrentVisiblePage() {\n if (!this.pagesCount) {\n return {\n views: []\n };\n }\n\n var pageView = this._pages[this._currentPageNumber - 1];\n var element = pageView.div;\n var view = {\n id: pageView.id,\n x: element.offsetLeft + element.clientLeft,\n y: element.offsetTop + element.clientTop,\n view: pageView\n };\n return {\n first: view,\n last: view,\n views: [view]\n };\n }\n }, {\n key: \"_getVisiblePages\",\n value: function _getVisiblePages() {\n return (0, _ui_utils.getVisibleElements)(this.container, this._pages, true, this._isScrollModeHorizontal);\n }\n }, {\n key: \"isPageVisible\",\n value: function isPageVisible(pageNumber) {\n if (!this.pdfDocument) {\n return false;\n }\n\n if (pageNumber < 1 || pageNumber > this.pagesCount) {\n console.error(\"\".concat(this._name, \".isPageVisible: \\\"\").concat(pageNumber, \"\\\" is out of bounds.\"));\n return false;\n }\n\n return this._getVisiblePages().views.some(function (view) {\n return view.id === pageNumber;\n });\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n if (this._pages[i] && this._pages[i].renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED) {\n this._pages[i].reset();\n }\n }\n }\n }, {\n key: \"_cancelRendering\",\n value: function _cancelRendering() {\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n if (this._pages[i]) {\n this._pages[i].cancelRendering();\n }\n }\n }\n }, {\n key: \"_ensurePdfPageLoaded\",\n value: function _ensurePdfPageLoaded(pageView) {\n var _this3 = this;\n\n if (pageView.pdfPage) {\n return Promise.resolve(pageView.pdfPage);\n }\n\n if (this._pagesRequests.has(pageView)) {\n return this._pagesRequests.get(pageView);\n }\n\n var promise = this.pdfDocument.getPage(pageView.id).then(function (pdfPage) {\n if (!pageView.pdfPage) {\n pageView.setPdfPage(pdfPage);\n }\n\n _this3._pagesRequests[\"delete\"](pageView);\n\n return pdfPage;\n })[\"catch\"](function (reason) {\n console.error(\"Unable to get page for page view\", reason);\n\n _this3._pagesRequests[\"delete\"](pageView);\n });\n\n this._pagesRequests.set(pageView, promise);\n\n return promise;\n }\n }, {\n key: \"forceRendering\",\n value: function forceRendering(currentlyVisiblePages) {\n var _this4 = this;\n\n var visiblePages = currentlyVisiblePages || this._getVisiblePages();\n\n var scrollAhead = this._isScrollModeHorizontal ? this.scroll.right : this.scroll.down;\n var pageView = this.renderingQueue.getHighestPriority(visiblePages, this._pages, scrollAhead);\n\n if (pageView) {\n this._ensurePdfPageLoaded(pageView).then(function () {\n _this4.renderingQueue.renderView(pageView);\n });\n\n return true;\n }\n\n return false;\n }\n }, {\n key: \"createTextLayerBuilder\",\n value: function createTextLayerBuilder(textLayerDiv, pageIndex, viewport) {\n var enhanceTextSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var eventBus = arguments.length > 4 ? arguments[4] : undefined;\n return new _text_layer_builder.TextLayerBuilder({\n textLayerDiv: textLayerDiv,\n eventBus: eventBus,\n pageIndex: pageIndex,\n viewport: viewport,\n findController: this.isInPresentationMode ? null : this.findController,\n enhanceTextSelection: this.isInPresentationMode ? false : enhanceTextSelection\n });\n }\n }, {\n key: \"createAnnotationLayerBuilder\",\n value: function createAnnotationLayerBuilder(pageDiv, pdfPage) {\n var imageResourcesPath = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : \"\";\n var renderInteractiveForms = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var l10n = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : _ui_utils.NullL10n;\n return new _annotation_layer_builder.AnnotationLayerBuilder({\n pageDiv: pageDiv,\n pdfPage: pdfPage,\n imageResourcesPath: imageResourcesPath,\n renderInteractiveForms: renderInteractiveForms,\n linkService: this.linkService,\n downloadManager: this.downloadManager,\n l10n: l10n\n });\n }\n }, {\n key: \"getPagesOverview\",\n value: function getPagesOverview() {\n var pagesOverview = this._pages.map(function (pageView) {\n var viewport = pageView.pdfPage.getViewport({\n scale: 1\n });\n return {\n width: viewport.width,\n height: viewport.height,\n rotation: viewport.rotation\n };\n });\n\n if (!this.enablePrintAutoRotate) {\n return pagesOverview;\n }\n\n var isFirstPagePortrait = (0, _ui_utils.isPortraitOrientation)(pagesOverview[0]);\n return pagesOverview.map(function (size) {\n if (isFirstPagePortrait === (0, _ui_utils.isPortraitOrientation)(size)) {\n return size;\n }\n\n return {\n width: size.height,\n height: size.width,\n rotation: (size.rotation + 90) % 360\n };\n });\n }\n }, {\n key: \"_updateScrollMode\",\n value: function _updateScrollMode() {\n var pageNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var scrollMode = this._scrollMode,\n viewer = this.viewer;\n viewer.classList.toggle(\"scrollHorizontal\", scrollMode === _ui_utils.ScrollMode.HORIZONTAL);\n viewer.classList.toggle(\"scrollWrapped\", scrollMode === _ui_utils.ScrollMode.WRAPPED);\n\n if (!this.pdfDocument || !pageNumber) {\n return;\n }\n\n if (this._currentScaleValue && isNaN(this._currentScaleValue)) {\n this._setScale(this._currentScaleValue, true);\n }\n\n this._setCurrentPageNumber(pageNumber, true);\n\n this.update();\n }\n }, {\n key: \"_updateSpreadMode\",\n value: function _updateSpreadMode() {\n var pageNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n if (!this.pdfDocument) {\n return;\n }\n\n var viewer = this.viewer,\n pages = this._pages;\n viewer.textContent = \"\";\n\n if (this._spreadMode === _ui_utils.SpreadMode.NONE) {\n for (var i = 0, iMax = pages.length; i < iMax; ++i) {\n viewer.appendChild(pages[i].div);\n }\n } else {\n var parity = this._spreadMode - 1;\n var spread = null;\n\n for (var _i = 0, _iMax = pages.length; _i < _iMax; ++_i) {\n if (spread === null) {\n spread = document.createElement(\"div\");\n spread.className = \"spread\";\n viewer.appendChild(spread);\n } else if (_i % 2 === parity) {\n spread = spread.cloneNode(false);\n viewer.appendChild(spread);\n }\n\n spread.appendChild(pages[_i].div);\n }\n }\n\n if (!pageNumber) {\n return;\n }\n\n this._setCurrentPageNumber(pageNumber, true);\n\n this.update();\n }\n }, {\n key: \"pagesCount\",\n get: function get() {\n return this._pages.length;\n }\n }, {\n key: \"pageViewsReady\",\n get: function get() {\n if (!this._pagesCapability.settled) {\n return false;\n }\n\n return this._pages.every(function (pageView) {\n return pageView && pageView.pdfPage;\n });\n }\n }, {\n key: \"currentPageNumber\",\n get: function get() {\n return this._currentPageNumber;\n },\n set: function set(val) {\n if (!Number.isInteger(val)) {\n throw new Error(\"Invalid page number.\");\n }\n\n if (!this.pdfDocument) {\n return;\n }\n\n if (!this._setCurrentPageNumber(val, true)) {\n console.error(\"\".concat(this._name, \".currentPageNumber: \\\"\").concat(val, \"\\\" is not a valid page.\"));\n }\n }\n }, {\n key: \"currentPageLabel\",\n get: function get() {\n return this._pageLabels && this._pageLabels[this._currentPageNumber - 1];\n },\n set: function set(val) {\n if (!this.pdfDocument) {\n return;\n }\n\n var page = val | 0;\n\n if (this._pageLabels) {\n var i = this._pageLabels.indexOf(val);\n\n if (i >= 0) {\n page = i + 1;\n }\n }\n\n if (!this._setCurrentPageNumber(page, true)) {\n console.error(\"\".concat(this._name, \".currentPageLabel: \\\"\").concat(val, \"\\\" is not a valid page.\"));\n }\n }\n }, {\n key: \"currentScale\",\n get: function get() {\n return this._currentScale !== _ui_utils.UNKNOWN_SCALE ? this._currentScale : _ui_utils.DEFAULT_SCALE;\n },\n set: function set(val) {\n if (isNaN(val)) {\n throw new Error(\"Invalid numeric scale.\");\n }\n\n if (!this.pdfDocument) {\n return;\n }\n\n this._setScale(val, false);\n }\n }, {\n key: \"currentScaleValue\",\n get: function get() {\n return this._currentScaleValue;\n },\n set: function set(val) {\n if (!this.pdfDocument) {\n return;\n }\n\n this._setScale(val, false);\n }\n }, {\n key: \"pagesRotation\",\n get: function get() {\n return this._pagesRotation;\n },\n set: function set(rotation) {\n if (!(0, _ui_utils.isValidRotation)(rotation)) {\n throw new Error(\"Invalid pages rotation angle.\");\n }\n\n if (!this.pdfDocument) {\n return;\n }\n\n if (this._pagesRotation === rotation) {\n return;\n }\n\n this._pagesRotation = rotation;\n var pageNumber = this._currentPageNumber;\n\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n var pageView = this._pages[i];\n pageView.update(pageView.scale, rotation);\n }\n\n if (this._currentScaleValue) {\n this._setScale(this._currentScaleValue, true);\n }\n\n this.eventBus.dispatch(\"rotationchanging\", {\n source: this,\n pagesRotation: rotation,\n pageNumber: pageNumber\n });\n\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }\n }, {\n key: \"firstPagePromise\",\n get: function get() {\n return this.pdfDocument ? this._firstPageCapability.promise : null;\n }\n }, {\n key: \"onePageRendered\",\n get: function get() {\n return this.pdfDocument ? this._onePageRenderedCapability.promise : null;\n }\n }, {\n key: \"pagesPromise\",\n get: function get() {\n return this.pdfDocument ? this._pagesCapability.promise : null;\n }\n }, {\n key: \"_viewerElement\",\n get: function get() {\n throw new Error(\"Not implemented: _viewerElement\");\n }\n }, {\n key: \"_isScrollModeHorizontal\",\n get: function get() {\n return this.isInPresentationMode ? false : this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL;\n }\n }, {\n key: \"isInPresentationMode\",\n get: function get() {\n return this.presentationModeState === _ui_utils.PresentationModeState.FULLSCREEN;\n }\n }, {\n key: \"isChangingPresentationMode\",\n get: function get() {\n return this.presentationModeState === _ui_utils.PresentationModeState.CHANGING;\n }\n }, {\n key: \"isHorizontalScrollbarEnabled\",\n get: function get() {\n return this.isInPresentationMode ? false : this.container.scrollWidth > this.container.clientWidth;\n }\n }, {\n key: \"isVerticalScrollbarEnabled\",\n get: function get() {\n return this.isInPresentationMode ? false : this.container.scrollHeight > this.container.clientHeight;\n }\n }, {\n key: \"hasEqualPageSizes\",\n get: function get() {\n var firstPageView = this._pages[0];\n\n for (var i = 1, ii = this._pages.length; i < ii; ++i) {\n var pageView = this._pages[i];\n\n if (pageView.width !== firstPageView.width || pageView.height !== firstPageView.height) {\n return false;\n }\n }\n\n return true;\n }\n }, {\n key: \"scrollMode\",\n get: function get() {\n return this._scrollMode;\n },\n set: function set(mode) {\n if (this._scrollMode === mode) {\n return;\n }\n\n if (!(0, _ui_utils.isValidScrollMode)(mode)) {\n throw new Error(\"Invalid scroll mode: \".concat(mode));\n }\n\n this._scrollMode = mode;\n this.eventBus.dispatch(\"scrollmodechanged\", {\n source: this,\n mode: mode\n });\n\n this._updateScrollMode(this._currentPageNumber);\n }\n }, {\n key: \"spreadMode\",\n get: function get() {\n return this._spreadMode;\n },\n set: function set(mode) {\n if (this._spreadMode === mode) {\n return;\n }\n\n if (!(0, _ui_utils.isValidSpreadMode)(mode)) {\n throw new Error(\"Invalid spread mode: \".concat(mode));\n }\n\n this._spreadMode = mode;\n this.eventBus.dispatch(\"spreadmodechanged\", {\n source: this,\n mode: mode\n });\n\n this._updateSpreadMode(this._currentPageNumber);\n }\n }]);\n\n return BaseViewer;\n}();\n\nexports.BaseViewer = BaseViewer;\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFViewer = void 0;\n\nvar _base_viewer = __w_pdfjs_require__(19);\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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 _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; 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 _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 _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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\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 _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar PDFViewer = /*#__PURE__*/function (_BaseViewer) {\n _inherits(PDFViewer, _BaseViewer);\n\n var _super = _createSuper(PDFViewer);\n\n function PDFViewer() {\n _classCallCheck(this, PDFViewer);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(PDFViewer, [{\n key: \"_scrollIntoView\",\n value: function _scrollIntoView(_ref) {\n var pageDiv = _ref.pageDiv,\n _ref$pageSpot = _ref.pageSpot,\n pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,\n _ref$pageNumber = _ref.pageNumber,\n pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;\n\n if (!pageSpot && !this.isInPresentationMode) {\n var left = pageDiv.offsetLeft + pageDiv.clientLeft;\n var right = left + pageDiv.clientWidth;\n var _this$container = this.container,\n scrollLeft = _this$container.scrollLeft,\n clientWidth = _this$container.clientWidth;\n\n if (this._isScrollModeHorizontal || left < scrollLeft || right > scrollLeft + clientWidth) {\n pageSpot = {\n left: 0,\n top: 0\n };\n }\n }\n\n _get(_getPrototypeOf(PDFViewer.prototype), \"_scrollIntoView\", this).call(this, {\n pageDiv: pageDiv,\n pageSpot: pageSpot,\n pageNumber: pageNumber\n });\n }\n }, {\n key: \"_getVisiblePages\",\n value: function _getVisiblePages() {\n if (this.isInPresentationMode) {\n return this._getCurrentVisiblePage();\n }\n\n return _get(_getPrototypeOf(PDFViewer.prototype), \"_getVisiblePages\", this).call(this);\n }\n }, {\n key: \"_updateHelper\",\n value: function _updateHelper(visiblePages) {\n if (this.isInPresentationMode) {\n return;\n }\n\n var currentId = this._currentPageNumber;\n var stillFullyVisible = false;\n\n var _iterator = _createForOfIteratorHelper(visiblePages),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var page = _step.value;\n\n if (page.percent < 100) {\n break;\n }\n\n if (page.id === currentId) {\n stillFullyVisible = true;\n break;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (!stillFullyVisible) {\n currentId = visiblePages[0].id;\n }\n\n this._setCurrentPageNumber(currentId);\n }\n }, {\n key: \"_viewerElement\",\n get: function get() {\n return (0, _pdfjsLib.shadow)(this, \"_viewerElement\", this.viewer);\n }\n }]);\n\n return PDFViewer;\n}(_base_viewer.BaseViewer);\n\nexports.PDFViewer = PDFViewer;\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=pdf_viewer.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('PageContentLayoutOnly',{attrs:{\"role\":\"region\",\"conversation-details\":\"\"}},[_c('section',{staticClass:\"section\"},[_c('div',{staticClass:\"level pr-5\"},[_c('div',{staticClass:\"pt-5 level-left level-item title\"},[_vm._v(_vm._s(_vm.$t('details.title')))]),_c('div',{staticClass:\"level-right\",style:({ display: 'flex', alignItems: 'center' })},[_c('div',{staticClass:\"level-item\",style:({ margin: 0 })},[_c('svg',{attrs:{\"width\":\"30\",\"height\":\"30\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"}},[_c('path',{attrs:{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",\"d\":\"M15 19l-7-7 7-7\"}})])]),_c('div',{staticClass:\"level-item\"},[_c('router-link',{staticClass:\"button primary\",attrs:{\"to\":{ path: _vm._get(_vm.$store, 'state.route.from.fullPath', '') }}},[_vm._v(\"Back to Conversations\")])],1)])]),(_vm.friendlyMessage)?_c('div',{staticClass:\"sub-title font-bold\"},[_vm._v(\" \"+_vm._s(_vm.friendlyMessage)+\" \")]):_vm._e(),(_vm.participantsLine)?_c('div',{staticClass:\"sub-title font-bold\"},[_c('span',{staticClass:\"pt-6\"},[_vm._v(_vm._s((\"Participants: \" + _vm.participantsLine)))]),(!_vm.friendlyMessage)?_c('span',{staticClass:\"pl-3\"},[_c('b-button',{staticStyle:{\"vertical-align\":\"baseline !important\"},attrs:{\"type\":\"is-primary is-rounded is-small\"},on:{\"click\":function($event){$event.preventDefault();return _vm.openRecipentModal.apply(null, arguments)}}},[_vm._v(\"Add Participants\")])],1):_vm._e()]):(!_vm.friendlyMessage)?_c('div',{staticClass:\"sub-title font-bold\"},[_c('span',{staticClass:\"pt-6\"},[_vm._v(_vm._s((\"Participants: \" + _vm.participantsLine)))]),_c('span',{staticClass:\"pl-3\"},[_c('b-button',{staticStyle:{\"vertical-align\":\"baseline !important\"},attrs:{\"type\":\"is-primary is-rounded is-small\"},on:{\"click\":function($event){$event.preventDefault();return _vm.openRecipentModal.apply(null, arguments)}}},[_vm._v(\"Add Participants\")])],1)]):_vm._e(),(_vm.subject)?_c('div',{staticClass:\"sub-title font-bold pb-2\"},[_vm._v(\" \"+_vm._s((\"Subject: \" + _vm.subject))+\" \")]):_vm._e(),(_vm.recipientLine)?_c('div',{staticClass:\"sub-title font-bold pb-2\"},[_c('a',{staticClass:\"href-overflow-wrap\",on:{\"click\":function($event){$event.preventDefault();return _vm.redirectToReferenceLink()}}},[_vm._v(_vm._s((\"\" + _vm.recipientLine)))])]):_vm._e(),(_vm.messageFrom)?_c('div',{staticClass:\"sub-title font-bold pb-2\"},[_vm._v(\" \"+_vm._s(_vm.messageFrom)+\" \")]):_vm._e(),(_vm.privateThreadMessages)?_c('div',{},_vm._l((_vm.privateThreadMessages),function(p,index){return _c('div',{key:index,staticStyle:{\"padding-bottom\":\"5px\"}},[_c('div',{staticClass:\"box shadow pl-5\",style:((\"border: 1px solid black; margin-left: \" + (p.indentation ? p.indentation | 0 : 0) + \"px !important;\"))},[_c('div',{staticClass:\"font-bold\",style:((\"color: \" + (index === 0 ? 'blue' : 'black')))},[_vm._v(\" \"+_vm._s(((p.identityInformation.name) + \" (\" + (p.identityInformation.userType) + \") - \" + (_vm.formatDateFn( p.createdDate ))))+\" \")]),_c('vue-markdown',{attrs:{\"source\":p.messageText}}),(p.privateThreadMessageID)?_c('div',{staticClass:\"nowrap\"},[_c('b-button',{attrs:{\"type\":\"is-text\"},on:{\"click\":function($event){$event.preventDefault();return _vm.replyToMessage(p)}}},[_c('span',{staticClass:\"href-overflow-wrap\"},[_vm._v(\"Reply\")])])],1):_vm._e(),_c('div',[(\n Array.isArray(_vm.photos) &&\n _vm.photos.filter(function (f) { return f.privateThreadMessageID == p.privateThreadMessageID; })\n .length >= 1\n )?_c('span',{style:({\n position: 'relative',\n width: '100%',\n height: '80%',\n paddingRight: '10px',\n paddingLeft: '6px',\n overflowY: 'scroll'\n })},_vm._l((_vm.photos.filter(\n function (f) { return f.privateThreadMessageID == p.privateThreadMessageID; }\n )),function(photo,pindex){return _c('figure',{key:pindex,style:({\n position: 'relative',\n display: 'inline-flex',\n justifyContent: 'center',\n alignItems: 'center',\n\n margin: '4px',\n\n height: '140px',\n width: '140px',\n\n overflow: 'hidden',\n borderRadius: '6px',\n\n boxShadow: '0 12px 18px 0 rgba(0, 0, 0, 0.25)'\n }),attrs:{\"vio-photo\":\"\",\"tabindex\":\"0\",\"aria-label\":'photo ' + (pindex + 1)},on:{\"click\":function($event){$event.preventDefault();return _vm.openPhotoModal(photo.id)}}},[_c('transition',{attrs:{\"name\":\"fade\"}},[_c('img',{style:({\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translateX(-50%) translateY(-50%)',\n\n flexShrink: '0',\n maxWidth: '100%',\n maxHeight: '100%',\n height: '100%',\n width: '100%',\n objectFit: 'contain',\n\n cursor: 'pointer'\n }),attrs:{\"src\":photo.content}})])],1)}),0):_vm._e(),_c('span',_vm._l((_vm.documents.filter(\n function (f) { return f.privateThreadMessageID == p.privateThreadMessageID; }\n )),function(doc,dindex){return _c('figure',{key:dindex,style:({\n position: 'relative',\n display: 'inline-flex',\n justifyContent: 'center',\n alignItems: 'center',\n\n margin: '4px',\n\n height: '140px',\n width: '140px',\n\n overflow: 'hidden',\n borderRadius: '6px',\n\n boxShadow: '0 12px 18px 0 rgba(0, 0, 0, 0.25)'\n }),attrs:{\"vio-photo\":\"\",\"tabindex\":\"0\",\"aria-label\":'photo ' + (dindex + 1)},on:{\"click\":function($event){$event.preventDefault();return _vm.openPDFModal(doc.id)}}},[_c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.documents[dindex])?_c('PDFTile',{style:({\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translateX(-50%) translateY(-50%)',\n flexShrink: '0',\n maxWidth: '100%',\n maxHeight: '100%',\n height: '100%',\n width: '100%',\n objectFit: 'contain',\n\n cursor: 'pointer'\n }),attrs:{\"src\":_vm.documents[dindex].content}}):_vm._e()],1)],1)}),0)])],1)])}),0):_vm._e(),_c('PDFModal',{ref:\"pdfModal\"}),_c('b-modal',{style:({ zIndex: 999 }),model:{value:(_vm.photoModal.open),callback:function ($$v) {_vm.$set(_vm.photoModal, \"open\", $$v)},expression:\"photoModal.open\"}},[_c('p',{staticClass:\"image is-4by3\"},[_c('img',{attrs:{\"src\":_vm.photoModal.src}})])]),_c('Modal',{attrs:{\"toggle\":_vm.toggle},on:{\"update:toggle\":function($event){_vm.toggle=$event}}},[_c('ReplyModal',{attrs:{\"toggle\":_vm.toggle,\"privateThreadMessageParent\":this.replyPrivateThreadMessageParent,\"parentSubject\":_vm.subject,\"parentFrom\":_vm.messageFrom}})],1),_c('Modal',{attrs:{\"toggle\":_vm.toggleCommittee},on:{\"update:toggle\":function($event){_vm.toggleCommittee=$event}}},[_c('CommitteeModal',{attrs:{\"toggle\":_vm.toggleCommittee,\"VendorHoaID\":_vm.vendorHoaID}})],1),_c('Modal',{attrs:{\"toggle\":_vm.toggleVendor},on:{\"update:toggle\":function($event){_vm.toggleVendor=$event}}},[_c('VendorModal',{attrs:{\"toggle\":_vm.toggleVendor,\"VendorHoaID\":_vm.vendorHoaID}})],1),_c('Modal',{attrs:{\"toggle\":_vm.toggleHomeowner},on:{\"update:toggle\":function($event){_vm.toggleHomeowner=$event}}},[_c('HomeownerModal',{attrs:{\"toggle\":_vm.toggleHomeowner,\"VendorHoaID\":_vm.vendorHoaID}})],1),_c('Modal',{attrs:{\"toggle\":_vm.toggleBoard},on:{\"update:toggle\":function($event){_vm.toggleBoard=$event}}},[_c('BoardModal',{attrs:{\"toggle\":_vm.toggleBoard,\"VendorHoaID\":_vm.vendorHoaID}})],1),_c('Modal',{attrs:{\"toggle\":_vm.toggleManagement},on:{\"update:toggle\":function($event){_vm.toggleManagement=$event}}},[_c('ManagementModal',{attrs:{\"toggle\":_vm.toggleManagement,\"VendorHoaID\":_vm.vendorHoaID}})],1),_c('Modal',{attrs:{\"toggle\":_vm.toggleRecipients},on:{\"update:toggle\":function($event){_vm.toggleRecipients=$event}}},[_c('RecipientsModal',{attrs:{\"toggle\":_vm.toggleRecipients,\"recipientList\":_vm.recipientList,\"addLabel\":_vm.addLabel,\"addValue\":parseInt(_vm.addValue),\"filterByString\":_vm.filterBy,\"onChange\":_vm.onRecipientChange,\"addRecipientModal\":_vm.addRecipientModal,\"recipientsSelected\":_vm.recipientsSelected,\"privateThreadID\":parseInt(_vm.privateThreadID)},on:{\"update:recipientsSelected\":function($event){_vm.recipientsSelected=$event},\"update:recipients-selected\":function($event){_vm.recipientsSelected=$event}}})],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"reply-modal\":\"\"}},[_c('div',{staticClass:\"is-size-4\"},[_vm._v(\"Reply to Message\")]),(_vm.parentSubject)?_c('div',{staticClass:\"pl-5 sub-title font-bold\"},[_vm._v(\" \"+_vm._s((\"Subject: \" + _vm.parentSubject))+\" \")]):_vm._e(),(_vm.parentFrom)?_c('div',{staticClass:\"pl-5 sub-title font-bold\"},[_vm._v(\" \"+_vm._s(_vm.parentFrom)+\" \")]):_vm._e(),_c('ValidationObserver',{ref:\"formGroup\",scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar handleSubmit = ref.handleSubmit;\nreturn [_c('transition',{attrs:{\"name\":\"fade\",\"mode\":\"out-in\",\"appear\":\"\"}},[_c('form',{on:{\"submit\":function($event){$event.preventDefault();return handleSubmit(_vm.submitReplyMessage)}}},[_c('fieldset',[_c('div',{staticClass:\"form-grid\"},[_c('div',{staticClass:\"column is-12\"},[_c('div',{staticClass:\"column is-12\"},[_c('label',{staticClass:\"label\"},[_vm._v(\"Message Reply\")]),_c('Markdown',{attrs:{\"message\":_vm.replyMessage},on:{\"update:message\":function($event){_vm.replyMessage=$event}}})],1),_c('div',{staticClass:\"column is-12\"},[_c('section',{staticClass:\"pt-6 violation-image-upload\"},[_c('b-field',{staticClass:\"file\"},[_c('b-upload',{staticClass:\"rectangle\",attrs:{\"multiple\":\"\",\"drag-drop\":\"\",\"accept\":\"application/pdf, image/png, image/jpeg, image/jpg\"},model:{value:(_vm.files),callback:function ($$v) {_vm.files=$$v},expression:\"files\"}},[_c('section',{staticClass:\"force-center float-center\"},[_c('div',{staticClass:\"force-center float-center\"},[_c('div',{staticClass:\"force-center float-center\",staticStyle:{\"padding-left\":\"166px\"}},[_c('img',{staticClass:\"Fill-1-Copy-11 force-center float-center\",attrs:{\"src\":require(\"@/assets/images/fill-1-copy-11.svg\"),\"alt\":\"Upload\"}})]),_c('div',{staticClass:\"force-center float-center\"},[_c('div',{staticClass:\"Drag-Drop-your-fil\"},[_c('div',{staticClass:\"text-style-1\"},[_vm._v(\"Drag & Drop\")]),_c('div',{staticClass:\"force-center float-center\"},[_vm._v(\" Drop your files here or click to upload. \")]),_c('div',{staticClass:\"force-center float-center\"},[_vm._v(\" Drop a PNG, JPG, JPEG, or PDF file here, or click to \")]),_c('div',{staticClass:\"force-center float-center\"},[_vm._v(\" Select one or more files from your computer. \")])])])])])])],1),_c('ul',{staticClass:\"flex flex-1 flex-wrap -m-1\",attrs:{\"id\":\"gallery\"}},[_c('li',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.previews.length),expression:\"!previews.length\"}],staticClass:\"h-full w-full text-center flex flex-col items-center justify-center items-center\"},[_c('img',{staticClass:\"mx-auto w-32\",attrs:{\"src\":\"https://user-images.githubusercontent.com/507615/54591670-ac0a0180-4a65-11e9-846c-e55ffce0fe7b.png\",\"alt\":\"no data\"}}),_c('span',{staticClass:\"text-small text-gray-500\"},[_vm._v(\"No files selected\")])]),_vm._l((_vm.previews),function(image,index){return _c('li',{key:index,staticClass:\"p-1 flex w-1/4 h-32\"},[_c('div',{staticClass:\"align-items-center relative w-full h-full bg-cover\",style:((\"background-image: url(\" + image + \");\"))},[_c('button',{staticClass:\"delete is-small\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.deleteDropFile(index)}}}),_c('label',{staticClass:\"absolute inset-x-0 bottom-0 bg-black bg-opacity-50 z-10 p-2\"},[_c('span',{staticStyle:{\"color\":\"white\"}},[_vm._v(_vm._s(_vm.files[index].name))])])])])})],2)],1)]),_c('div',{staticClass:\"pt-5\"},[_c('button',{staticClass:\"button is-primary is-rounded\",attrs:{\"type\":\"submit\",\"disabled\":_vm.loading}},[_vm._v(\" Add \")])])])])]),_c('fieldset',[_c('ValidationProvider',{attrs:{\"vid\":\"providerErrors\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('div',{staticClass:\"field\"},[_c('span',[_vm._v(_vm._s(errors[0]))])])]}}],null,true)})],1)])])]}}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export function data() {\r\n return {\r\n isDebug: true,\r\n isOpen: false,\r\n loading: true,\r\n replyMessage: '',\r\n files: [],\r\n image: null,\r\n doc: null,\r\n previews: [],\r\n docPreviews: []\r\n }\r\n}\r\n","/*\r\n import { conversationDetail } from '@/services/Conversations/ConversationDetails/store'\r\n*/\r\n\r\nimport Vue from 'vue'\r\nimport Vuex from 'vuex'\r\n\r\nimport { notifyProblem, notifyError } from '@/services/notify'\r\nimport kms from '@/services/kms'\r\n\r\nconst isDebug = true\r\n\r\n/* eslint-disable no-empty-pattern */\r\nconst actions = {\r\n async getMessageWithRepliesById({}, { privateThreadID }) {\r\n try {\r\n console.debug('in getMessageWithRepliesById...')\r\n const detail = await kms.get(\r\n `/Messaging/PrivateThread/GetWithReplyMessages?privateThreadID=${privateThreadID}`\r\n )\r\n\r\n if (isDebug == true) console.debug('getMessageWithRepliesById=' + JSON.stringify(detail))\r\n\r\n return {\r\n result: detail\r\n }\r\n } catch (exception) {\r\n if (exception.message && exception.message.indexOf('conversation thread') > -1) {\r\n const detail = {\r\n friendlyMessage: exception.message\r\n }\r\n return {\r\n result: detail\r\n }\r\n } else {\r\n notifyProblem(`There was a problem retrieving the the message thread.`)\r\n console.error(exception)\r\n }\r\n }\r\n\r\n return {\r\n result: {}\r\n }\r\n },\r\n async addMessageReply({ dispatch }, { replyToMessageID, privateThreadID, messageText, done }) {\r\n if (isDebug == true) console.debug('...in addPrivateThreadWithMessageAndParticipant')\r\n try {\r\n const results = await kms.post(`/Messaging/PrivateThreadMessage`, {\r\n replyToMessageID,\r\n privateThreadID,\r\n messageText\r\n })\r\n\r\n if (this.isDebug == true) console.debug('results=' + JSON.stringify(results))\r\n\r\n if (dispatch && dispatch != undefined) console.debug(dispatch)\r\n\r\n if (results.privateThreadMessageID > 0) {\r\n console.debug(`Successfully replied to a message.`)\r\n done({ details: results })\r\n } else {\r\n notifyError('There was a problem replying to a message.')\r\n }\r\n } catch (exception) {\r\n notifyProblem(`There was a problem with this message reply.`)\r\n console.error(exception)\r\n }\r\n }\r\n}\r\n/* eslint-enable no-empty-pattern */\r\n\r\nVue.use(Vuex)\r\nexport const conversationDetail = new Vuex.Store({\r\n state: {},\r\n mutations: {},\r\n getters: {},\r\n actions\r\n})\r\n","import { conversationDetail } from '@/services/Conversations/ConversationDetails/store'\r\nimport { conversationAttachmentStore } from '@/services/Conversations/ConversationAttachment/store'\r\nimport { notifyError, notifyMessage, notifyProblem } from '@/services/notify'\r\nimport $ from 'jquery'\r\nimport _get from 'lodash/get'\r\n\r\nexport const methods = {\r\n async reload() {\r\n this.loading = true\r\n\r\n if (this.privateThreadMessageParent && this.privateThreadMessageParent != undefined) {\r\n this.loading = false\r\n }\r\n\r\n this.loading = false\r\n },\r\n\r\n open() {\r\n this.formData = {\r\n replyMessage: ''\r\n }\r\n this.isOpen = true\r\n this.loading = false\r\n },\r\n\r\n async submitReplyMessage() {\r\n if (!this.replyMessage || !this.replyMessage === '') {\r\n notifyError('The messge reply is required.')\r\n return\r\n }\r\n\r\n if (this.replyMessage.length >= 8000) {\r\n notifyError('The messge reply should not exceed 8,000 characters')\r\n return\r\n }\r\n\r\n await this.addReplyMessage()\r\n },\r\n\r\n async addReplyMessage() {\r\n this.loading = true\r\n\r\n await conversationDetail.dispatch('addMessageReply', {\r\n replyToMessageID: _get(this.privateThreadMessageParent, 'privateThreadMessageID', 0),\r\n privateThreadID: _get(this.privateThreadMessageParent, 'privateThreadID', 0),\r\n messageText: this.replyMessage,\r\n done: ({ details }) => {\r\n if (details && details != undefined) {\r\n if (\r\n details &&\r\n details.privateThreadMessageID &&\r\n details.privateThreadMessageID != undefined\r\n ) {\r\n this.saveAttachments(details.privateThreadMessageID)\r\n notifyMessage('Your reply has been added.')\r\n this.closeModal()\r\n } else {\r\n notifyError('There was a problem saving your attachments.')\r\n }\r\n }\r\n this.loading = false\r\n }\r\n })\r\n\r\n this.loading = false\r\n },\r\n\r\n async deleteDropFile(index) {\r\n this.files.splice(index, 1)\r\n\r\n const attachments = this.files\r\n\r\n const previews = this.previews\r\n this.previews.splice(index, 1)\r\n\r\n this.$store.dispatch('conversation/modify', {\r\n previews,\r\n attachments\r\n })\r\n },\r\n\r\n async updateAttachments() {\r\n const attachments = this.files\r\n if (!Array.isArray(attachments)) {\r\n notifyProblem('A problem occurred and the attachments could not be uploaded.')\r\n return\r\n }\r\n\r\n ////////////////////////////////\r\n // Store previews\r\n ////////////////////////////////\r\n\r\n this.previews = this.files.map(file => {\r\n return URL.createObjectURL(file)\r\n })\r\n\r\n this.$store.dispatch('conversation/modify', {\r\n previews: this.previews,\r\n attachments\r\n })\r\n },\r\n\r\n async saveAttachments(id) {\r\n //Process one or more attachments\r\n try {\r\n if (this.isDebug === true) console.debug('files=' + this.files)\r\n\r\n if (this.files && this.files.length > 0) {\r\n for (let a = 0; a < this.files.length; a++) {\r\n await conversationAttachmentStore\r\n .dispatch('addConversationAttachment', {\r\n privateThreadMessageID: id\r\n })\r\n .then(async ({ returned }) => {\r\n if (\r\n returned &&\r\n returned != undefined &&\r\n returned.privateThreadMessageAttachmentID > 0\r\n ) {\r\n const payload = {\r\n privateThreadMessageAttachmentID: returned.privateThreadMessageAttachmentID,\r\n file: this.files[a]\r\n }\r\n\r\n await conversationAttachmentStore\r\n .dispatch('uploadConversationAttachment', {\r\n payload: payload\r\n })\r\n .then(() => {\r\n this.base64pdf = ''\r\n })\r\n }\r\n })\r\n }\r\n } else {\r\n notifyMessage('Successfully created the new conversation message.')\r\n }\r\n } catch (e) {\r\n notifyError(e)\r\n }\r\n },\r\n\r\n closeModal() {\r\n // auto-close modal\r\n this.$emit('update:toggle', (this.toggle = false))\r\n $('#clickclose').click()\r\n this.loading = false\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=f0555b02&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import moment from 'moment'\r\nimport _get from 'lodash/get'\r\n\r\nexport const data = function() {\r\n return {\r\n isDebug: true,\r\n loading: false,\r\n privateThread: null,\r\n privateThreadID: 0,\r\n privateThreadMessageID: 0,\r\n privateThreadMessages: [],\r\n privateThreadParticipants: [],\r\n privateThreadAttachments: [],\r\n conversationAttachmentFile: null,\r\n privateThreadMessageAttachmentID: null,\r\n author: null,\r\n subject: '',\r\n participantsLine: '',\r\n messageFrom: '',\r\n referenceType: '',\r\n referenceId: 0,\r\n recipientLine: '',\r\n replyPrivateThreadMessageParent: null,\r\n toggle: false,\r\n friendlyMessage: '',\r\n photoModal: {\r\n open: false,\r\n src: ''\r\n },\r\n lGet: _get,\r\n photos: [],\r\n photoIds: [],\r\n documents: [],\r\n documentIds: [],\r\n styles: {\r\n mainContainer: {\r\n minHeight: '1000px'\r\n }\r\n },\r\n vendorHoaID: 0,\r\n addLabel: '',\r\n addValue: '',\r\n filterBy: '',\r\n vendorHoaList: [],\r\n recipientList: [],\r\n recipientsSelected: [],\r\n toggleCommittee: false,\r\n toggleVendor: false,\r\n toggleHomeowner: false,\r\n toggleBoard: false,\r\n toggleManagement: false,\r\n toggleRecipients: false,\r\n formatDateFn: function(value) {\r\n return value != null\r\n ? moment(value, 'YYYY/MM/DD HH:mm:ss').format('MM-DD-YYYY hh:mm:ss a')\r\n : ''\r\n }\r\n }\r\n}\r\n","import { conversationDetail } from '@/services/Conversations/ConversationDetails/store'\r\nimport { conversationList } from '@/services/Conversations/store'\r\nimport { conversationAttachmentStore } from '@/services/Conversations/ConversationAttachment/store'\r\nimport { notifyError } from '@/services/notify'\r\nimport _get from 'lodash/get'\r\n\r\nexport const methods = {\r\n _get,\r\n async reload() {\r\n this.loading = true\r\n\r\n const loadingComponent = this.$buefy.loading.open({\r\n container: null\r\n })\r\n\r\n this.filterBy = ''\r\n\r\n this.privateThreadID = this.$route.params.id || 0\r\n\r\n if (this.isDebug === true)\r\n console.debug('privateThreadID=' + this.privateThreadID + ', scope=' + this.scope)\r\n\r\n await this.loadMessageAndReplyThreads()\r\n\r\n if (typeof this.authUser.vendorGlobalID === 'number') {\r\n this.getVendorHoaDropDown()\r\n }\r\n\r\n await this.resetPersistedArrays()\r\n\r\n loadingComponent.close()\r\n\r\n this.loading = false\r\n },\r\n\r\n async resetPersistedArrays() {\r\n await this.$store.dispatch('conversation/saveOtherCommitteeID', {\r\n committeeID: 0\r\n })\r\n\r\n await this.$store.dispatch('conversation/saveVendorIDs', {\r\n vendorIds: []\r\n })\r\n\r\n await this.$store.dispatch('conversation/saveOwnerIDs', {\r\n ownerIds: []\r\n })\r\n\r\n await this.$store.dispatch('conversation/saveBoardCommitteeID', {\r\n committeeID: 0\r\n })\r\n\r\n await this.$store.dispatch('conversation/saveAccountManagerIDs', {\r\n accountManagerIds: []\r\n })\r\n\r\n this.recipientsSelected = []\r\n },\r\n\r\n async getVendorHoaDropDown() {\r\n if (this.isDebug == true) console.debug('in getVendorHoaDropDown()...')\r\n await conversationList\r\n .dispatch('getVendorHoaList', {\r\n vendorGlobalID: this.authUser.vendorGlobalID\r\n })\r\n .then(({ list }) => {\r\n if (list) {\r\n this.vendorHoaList = list\r\n }\r\n })\r\n },\r\n\r\n openRecipentModal() {\r\n this.resetPersistedArrays()\r\n this.toggleRecipients = true\r\n },\r\n\r\n onRecipientChange() {},\r\n\r\n addRecipientModal(recipient) {\r\n if (\r\n (!this.vendorHoaID || this.vendorHoaID <= 0) &&\r\n this.vendorHoaList &&\r\n this.vendorHoaList != undefined &&\r\n this.vendorHoaList.length > 0\r\n ) {\r\n notifyError('Please select an hoa before adding a recipient.')\r\n return\r\n }\r\n\r\n if (recipient === 'Other Committee') {\r\n this.toggleRecipients = false\r\n this.toggleCommittee = true\r\n } else if (recipient === 'Vendors') {\r\n this.toggleRecipients = false\r\n this.toggleVendor = true\r\n } else if (recipient === 'Homeowners') {\r\n this.toggleRecipients = false\r\n this.toggleHomeowner = true\r\n } else if (recipient === 'Board of Directors') {\r\n this.toggleRecipients = false\r\n this.toggleBoard = true\r\n } else if (recipient === 'Management Portal Users') {\r\n this.toggleRecipients = false\r\n this.toggleManagement = true\r\n } else {\r\n this.toggleRecipients = false\r\n this.addRecipient(recipient)\r\n }\r\n },\r\n\r\n addRecipient(recipient) {\r\n console.debug('add recipient=' + recipient)\r\n\r\n let added = false\r\n\r\n if (this.recipientsSelected) {\r\n const list = this.recipientsSelected\r\n for (let a = 0; a < list.length; a++) {\r\n const tempHolder = list[a]\r\n\r\n if (tempHolder.recipient === recipient) {\r\n added = true\r\n break\r\n }\r\n }\r\n }\r\n\r\n if (!added) {\r\n if (recipient === 'Homeowners') {\r\n if (\r\n this.selectedOwnerIDsJson &&\r\n Array.isArray(this.selectedOwnerIDsJson) &&\r\n this.selectedOwnerIDsJson.length > 0\r\n ) {\r\n Array.from(this.selectedOwnerIDsJson).forEach(element => {\r\n if (element) {\r\n const newRecipient = `Homeowner - ${element.name}`\r\n const isThisAlreadyInArray = this.recipientsSelected.filter(\r\n f => f.recipient === newRecipient\r\n )\r\n\r\n if (isThisAlreadyInArray && isThisAlreadyInArray.length === 0) {\r\n this.recipientsSelected.push({\r\n recipient: newRecipient,\r\n type: 'homeowner',\r\n id: element.ownerID\r\n })\r\n }\r\n }\r\n })\r\n }\r\n } else if (recipient === 'Vendors') {\r\n if (\r\n this.selectedVendorIDsJson &&\r\n Array.isArray(this.selectedVendorIDsJson) &&\r\n this.selectedVendorIDsJson.length > 0\r\n ) {\r\n Array.from(this.selectedVendorIDsJson).forEach(element => {\r\n if (element) {\r\n const newRecipient = `Vendor - ${element.name}`\r\n const isThisAlreadyInArray = this.recipientsSelected.filter(\r\n f => f.recipient === newRecipient\r\n )\r\n\r\n if (isThisAlreadyInArray && isThisAlreadyInArray.length === 0) {\r\n this.recipientsSelected.push({\r\n recipient: newRecipient,\r\n type: 'vendor',\r\n id: element.vendorID\r\n })\r\n }\r\n }\r\n })\r\n }\r\n } else if (recipient === 'Management Portal Users') {\r\n console.log('Management Portal Users=' + JSON.stringify(this.selectedAccountManagerIDsJson))\r\n if (\r\n this.selectedAccountManagerIDsJson &&\r\n Array.isArray(this.selectedAccountManagerIDsJson) &&\r\n this.selectedAccountManagerIDsJson.length > 0\r\n ) {\r\n Array.from(this.selectedAccountManagerIDsJson).forEach(element => {\r\n if (element) {\r\n const newRecipient = `Management Portal User - ${element.name}`\r\n const isThisAlreadyInArray = this.recipientsSelected.filter(\r\n f => f.recipient === newRecipient\r\n )\r\n\r\n console.log('addRecipient manager=' + JSON.stringify(element))\r\n\r\n if (isThisAlreadyInArray && isThisAlreadyInArray.length === 0) {\r\n this.recipientsSelected.push({\r\n recipient: newRecipient,\r\n type: 'management portal user',\r\n id: element.accountManagingUserId\r\n })\r\n }\r\n }\r\n })\r\n }\r\n } else {\r\n this.recipientsSelected.push({\r\n recipient\r\n })\r\n }\r\n }\r\n\r\n this.toggleRecipients = true\r\n\r\n console.debug('recipientsSelected=' + JSON.stringify(this.recipientsSelected))\r\n },\r\n\r\n async loadMessageAndReplyThreads() {\r\n await conversationDetail\r\n .dispatch('getMessageWithRepliesById', {\r\n privateThreadID: this.privateThreadID\r\n })\r\n .then(({ result }) => {\r\n if (result) {\r\n if (result.friendlyMessage && result.friendlyMessage !== undefined) {\r\n this.friendlyMessage = 'You were not a participant in this conversation.'\r\n return\r\n }\r\n\r\n this.privateThread = result\r\n\r\n if (\r\n this.privateThread &&\r\n this.privateThread.referenceDescription &&\r\n this.privateThread.referenceDescription\r\n ) {\r\n this.recipientLine = this.privateThread.referenceDescription\r\n }\r\n if (\r\n this.privateThread &&\r\n this.privateThread.referenceType &&\r\n this.privateThread.referenceType\r\n ) {\r\n this.referenceType = this.privateThread.referenceType\r\n }\r\n if (\r\n this.privateThread &&\r\n this.privateThread.referenceId &&\r\n this.privateThread.referenceId\r\n ) {\r\n this.referenceId = this.privateThread.referenceId\r\n }\r\n\r\n if (result.privateThreadMessages && result.privateThreadMessages != undefined) {\r\n this.privateThreadMessages = result.ordinalThreadMessages\r\n\r\n if (this.privateThreadMessages) {\r\n this.privateThreadMessages.map(m => ({\r\n ...m,\r\n indentation: 5\r\n }))\r\n\r\n let previousReplyId = 0\r\n let rootIndentation = 40\r\n\r\n let counter = 0\r\n\r\n Array.from(this.privateThreadMessages).forEach(async element => {\r\n if (element) {\r\n console.log(\r\n 'previousReplyId=' +\r\n previousReplyId +\r\n ', current reply id=' +\r\n element.replyToMessageID\r\n )\r\n counter += 1\r\n\r\n if (element.indentationLevel) {\r\n element.indentation = element.indentationLevel * rootIndentation\r\n }\r\n\r\n if (counter === 1) {\r\n element.indentation = 0\r\n }\r\n\r\n if (\r\n element.privateThreadMessageAttachments &&\r\n element.privateThreadMessageAttachments != undefined\r\n ) {\r\n this.privateThreadAttachments = element.privateThreadMessageAttachments\r\n await this.getAttachments(element.privateThreadMessageID)\r\n }\r\n }\r\n })\r\n\r\n if (this.isDebug === true)\r\n console.debug('orderedMessages=' + JSON.stringify(this.orderedMessages))\r\n }\r\n }\r\n\r\n if (result.privateThreadParticipants && result.privateThreadParticipants != undefined) {\r\n this.privateThreadParticipants = result.privateThreadParticipants\r\n\r\n if (\r\n Array.isArray(this.privateThreadParticipants) &&\r\n this.privateThreadParticipants.length > 0\r\n ) {\r\n let counter = 1\r\n Array.from(this.privateThreadParticipants).forEach(element => {\r\n if (\r\n element &&\r\n element.referenceObjectName &&\r\n element.referenceObjectName != undefined\r\n ) {\r\n if (counter === 1) {\r\n this.participantsLine = element.referenceObjectName\r\n } else {\r\n this.participantsLine = `${this.participantsLine}, ${element.referenceObjectName}`\r\n }\r\n\r\n counter += 1\r\n }\r\n })\r\n }\r\n\r\n this.author = this.privateThreadParticipants[0]\r\n this.subject = this.privateThread.subject || ''\r\n\r\n if (this.author && this.author.aspNetUserID && this.author.identityInformation) {\r\n this.messageFrom = `${this.author.identityInformation.name} (${\r\n this.author.participantType\r\n }) - ${this.formatDateFn(this.author.createdDate)}`\r\n }\r\n }\r\n }\r\n })\r\n },\r\n\r\n async replyToMessage(privateThreadMessage) {\r\n if (this.isDebug === true)\r\n console.debug('replyToMessage=' + JSON.stringify(privateThreadMessage))\r\n\r\n this.toggle = true\r\n this.replyPrivateThreadMessageParent = privateThreadMessage\r\n },\r\n\r\n async getAttachments(parentID) {\r\n if (this.privateThreadAttachments) {\r\n Array.from(this.privateThreadAttachments).forEach(async element => {\r\n if (element && element.privateThreadMessageAttachmentID > 0) {\r\n if (this.isDebug == true)\r\n console.debug('privateThreadMessageAttachment=' + JSON.stringify(element))\r\n\r\n try {\r\n const params = {\r\n privateThreadMessageAttachmentID: element.privateThreadMessageAttachmentID,\r\n asBase64: true\r\n }\r\n\r\n await conversationAttachmentStore\r\n .dispatch('getConversationGetFile', {\r\n params: params\r\n })\r\n .then(({ returned }) => {\r\n if (returned) {\r\n this.conversationAttachmentFile = returned\r\n }\r\n\r\n if (this.isDebug == true)\r\n console.debug(\r\n ' - params' +\r\n JSON.stringify(params) +\r\n ' - this.conversationAttachmentFile=' +\r\n JSON.stringify(this.conversationAttachmentFile)\r\n )\r\n if (\r\n this.conversationAttachmentFile &&\r\n this.conversationAttachmentFile != undefined\r\n ) {\r\n if (this.isDebug == true)\r\n console.debug(\r\n 'image or pdf............this.searchTerm:' +\r\n this.searchTerm +\r\n '............' +\r\n this.conversationAttachmentFile\r\n )\r\n\r\n if (this.conversationAttachmentFile.indexOf('application/pdf') === -1) {\r\n //photos\r\n const flattenAddedIds = JSON.stringify(this.photoIds)\r\n if (flattenAddedIds.indexOf(element.privateThreadMessageAttachmentID) === -1) {\r\n this.photos.push({\r\n content: this.conversationAttachmentFile,\r\n id: element.privateThreadMessageAttachmentID,\r\n privateThreadMessageID: parentID\r\n })\r\n\r\n this.photoIds.push(element.privateThreadMessageAttachmentID)\r\n }\r\n } else {\r\n //documents\r\n const flattenDocAddedIds = JSON.stringify(this.documentIds)\r\n if (\r\n flattenDocAddedIds.indexOf(element.privateThreadMessageAttachmentID) === -1\r\n ) {\r\n this.documents.push({\r\n content: this.conversationAttachmentFile,\r\n id: element.privateThreadMessageAttachmentID,\r\n privateThreadMessageID: parentID\r\n })\r\n\r\n this.documentIds.push(element.privateThreadMessageAttachmentID)\r\n }\r\n }\r\n\r\n if (this.isDebug === true)\r\n console.debug('this.photos=' + JSON.stringify(this.photos))\r\n }\r\n })\r\n } catch (e) {\r\n if (this.isDebug == true) console.debug(e)\r\n }\r\n }\r\n })\r\n }\r\n },\r\n\r\n async openPDFModal(id) {\r\n if (this.documents) {\r\n for (let a = 0; a < this.documents.length; a++) {\r\n const document = this.documents[a]\r\n if (this.isDebug === true)\r\n console.debug('document id=' + id + ', document id=' + document.id)\r\n\r\n if (document.id === id) {\r\n this.$refs.pdfModal.open({\r\n src: this.documents[a].content\r\n })\r\n return\r\n }\r\n }\r\n }\r\n },\r\n\r\n async openPhotoModal(id) {\r\n if (this.photos) {\r\n for (let a = 0; a < this.photos.length; a++) {\r\n const photo = this.photos[a]\r\n if (this.isDebug === true) console.debug('photo id=' + id + ', photo id=' + photo.id)\r\n\r\n if (photo.id === id) {\r\n this.photoModal = {\r\n open: true,\r\n src: this.photos[a].content\r\n }\r\n return\r\n }\r\n }\r\n }\r\n },\r\n\r\n redirectToReferenceLink() {\r\n console.debug('redirectToReferenceLink=' + this.referenceType)\r\n\r\n if (this.referenceType && this.referenceType === 'ApInvoice') {\r\n const path = '/ap-invoice-detail/' + this.referenceId + '#tab'\r\n this.$router.push({\r\n path: path,\r\n params: { id: this.referenceId }\r\n })\r\n } else if (this.referenceType && this.referenceType === 'Violation') {\r\n let path = '/violationtabs/' + this.referenceId + '/violationDetails#tab'\r\n\r\n this.$router.push({\r\n path: path,\r\n params: { id: this.referenceId }\r\n })\r\n } else if (this.referenceType && this.referenceType === 'Escrow') {\r\n let path = '/escrowTabs/' + this.referenceId + '/escrowDetails#tab'\r\n\r\n this.$router.push({\r\n path: path,\r\n params: { id: this.referenceId }\r\n })\r\n } else if (this.referenceType && this.referenceType === 'Suggestion') {\r\n let path = '/suggestionTabs/' + this.referenceId + '/suggestionDetail#tab'\r\n\r\n this.$router.push({\r\n path: path,\r\n params: { id: this.referenceId }\r\n })\r\n } else if (this.referenceType && this.referenceType === 'WorkOrder') {\r\n let path = '/workordertabs/' + this.referenceId + '/workorderDetails#tab'\r\n\r\n this.$router.push({\r\n path: path,\r\n params: { id: this.referenceId }\r\n })\r\n } else if (this.referenceType && this.referenceType === 'WorkOrderRequest') {\r\n let path = '/workorderpromotetabs/' + this.referenceId + '/workorderRequestPromote#tab'\r\n\r\n this.$router.push({\r\n path: path,\r\n params: { id: this.referenceId }\r\n })\r\n } else if (this.referenceType && this.referenceType === 'VendorRequest') {\r\n let path = '/vendorRequests/' + this.referenceId + '/vendorRequestConversations#tab'\r\n\r\n this.$router.push({\r\n path: path,\r\n params: { id: this.referenceId }\r\n })\r\n } else if (this.referenceType && this.referenceType === 'ArchitecturalSubmission') {\r\n const path = '/architecturaltabs/' + this.referenceId + '/architecturalRequestDetails#tab'\r\n this.$router.push({\r\n path: path,\r\n params: { id: this.referenceId }\r\n })\r\n } else if (this.referenceType && this.referenceType === 'Amenity') {\r\n const path = '/amenity/' + this.referenceId\r\n this.$router.push({\r\n path: path,\r\n params: { id: this.referenceId }\r\n })\r\n }\r\n },\r\n\r\n returnToParent() {\r\n this.$router.push({\r\n name: 'conversations'\r\n })\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=7ff88ea3&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=7ff88ea3&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7ff88ea3\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Modal',{attrs:{\"toggle\":_vm.isOpen,\"classes\":\"pdf-modal\"},on:{\"update:toggle\":function($event){_vm.isOpen=$event}}},[(_vm.pdfTitle)?_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.pdfTitle))]):_vm._e(),_c('div',[_c('pdf',{staticStyle:{\"display\":\"none\"},attrs:{\"src\":_vm.src},on:{\"num-pages\":function($event){_vm.pageCount = new Array($event)}}}),_vm._l((_vm.pageCount),function(page,index){return _c('pdf',{key:index,style:({ margin: 'auto', width: ((100 * _vm.scale) + \"%\") }),attrs:{\"src\":_vm.src,\"page\":index + 1,\"scale\":_vm.scale,\"resize\":true}})})],2),_c('div',{staticClass:\"doc-controls has-text-center\"},[_c('b-field',{attrs:{\"position\":\"is-centered\"}},[_c('div',{staticClass:\"control\"},[_c('b-button',{on:{\"click\":function($event){return _vm.zoom(-1)}}},[_vm._v(\"-\")])],1),_c('div',{staticClass:\"control\"},[_c('b-button',{on:{\"click\":function($event){return _vm.zoom(1)}}},[_vm._v(\"+\")])],1)])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export const methods = {\r\n open({ src }) {\r\n this.src = src\r\n this.isOpen = true\r\n },\r\n\r\n setTitle({ pdfTitle }) {\r\n this.pdfTitle = pdfTitle\r\n },\r\n\r\n zoom(direction) {\r\n const amt = Math.sqrt(2)\r\n if (direction > 0) {\r\n this.scale *= amt\r\n } else {\r\n this.scale /= amt\r\n }\r\n\r\n // constrain to min/max\r\n this.scale = Math.max(0.5, Math.min(4, this.scale))\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=bc77efe2&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\n * Copyright 2020 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\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"addLinkAttributes\", {\n enumerable: true,\n get: function get() {\n return _display_utils.addLinkAttributes;\n }\n});\nObject.defineProperty(exports, \"getFilenameFromUrl\", {\n enumerable: true,\n get: function get() {\n return _display_utils.getFilenameFromUrl;\n }\n});\nObject.defineProperty(exports, \"LinkTarget\", {\n enumerable: true,\n get: function get() {\n return _display_utils.LinkTarget;\n }\n});\nObject.defineProperty(exports, \"loadScript\", {\n enumerable: true,\n get: function get() {\n return _display_utils.loadScript;\n }\n});\nObject.defineProperty(exports, \"PDFDateString\", {\n enumerable: true,\n get: function get() {\n return _display_utils.PDFDateString;\n }\n});\nObject.defineProperty(exports, \"RenderingCancelledException\", {\n enumerable: true,\n get: function get() {\n return _display_utils.RenderingCancelledException;\n }\n});\nObject.defineProperty(exports, \"build\", {\n enumerable: true,\n get: function get() {\n return _api.build;\n }\n});\nObject.defineProperty(exports, \"getDocument\", {\n enumerable: true,\n get: function get() {\n return _api.getDocument;\n }\n});\nObject.defineProperty(exports, \"LoopbackPort\", {\n enumerable: true,\n get: function get() {\n return _api.LoopbackPort;\n }\n});\nObject.defineProperty(exports, \"PDFDataRangeTransport\", {\n enumerable: true,\n get: function get() {\n return _api.PDFDataRangeTransport;\n }\n});\nObject.defineProperty(exports, \"PDFWorker\", {\n enumerable: true,\n get: function get() {\n return _api.PDFWorker;\n }\n});\nObject.defineProperty(exports, \"version\", {\n enumerable: true,\n get: function get() {\n return _api.version;\n }\n});\nObject.defineProperty(exports, \"CMapCompressionType\", {\n enumerable: true,\n get: function get() {\n return _util.CMapCompressionType;\n }\n});\nObject.defineProperty(exports, \"createObjectURL\", {\n enumerable: true,\n get: function get() {\n return _util.createObjectURL;\n }\n});\nObject.defineProperty(exports, \"createPromiseCapability\", {\n enumerable: true,\n get: function get() {\n return _util.createPromiseCapability;\n }\n});\nObject.defineProperty(exports, \"createValidAbsoluteUrl\", {\n enumerable: true,\n get: function get() {\n return _util.createValidAbsoluteUrl;\n }\n});\nObject.defineProperty(exports, \"InvalidPDFException\", {\n enumerable: true,\n get: function get() {\n return _util.InvalidPDFException;\n }\n});\nObject.defineProperty(exports, \"MissingPDFException\", {\n enumerable: true,\n get: function get() {\n return _util.MissingPDFException;\n }\n});\nObject.defineProperty(exports, \"OPS\", {\n enumerable: true,\n get: function get() {\n return _util.OPS;\n }\n});\nObject.defineProperty(exports, \"PasswordResponses\", {\n enumerable: true,\n get: function get() {\n return _util.PasswordResponses;\n }\n});\nObject.defineProperty(exports, \"PermissionFlag\", {\n enumerable: true,\n get: function get() {\n return _util.PermissionFlag;\n }\n});\nObject.defineProperty(exports, \"removeNullCharacters\", {\n enumerable: true,\n get: function get() {\n return _util.removeNullCharacters;\n }\n});\nObject.defineProperty(exports, \"shadow\", {\n enumerable: true,\n get: function get() {\n return _util.shadow;\n }\n});\nObject.defineProperty(exports, \"UnexpectedResponseException\", {\n enumerable: true,\n get: function get() {\n return _util.UnexpectedResponseException;\n }\n});\nObject.defineProperty(exports, \"UNSUPPORTED_FEATURES\", {\n enumerable: true,\n get: function get() {\n return _util.UNSUPPORTED_FEATURES;\n }\n});\nObject.defineProperty(exports, \"Util\", {\n enumerable: true,\n get: function get() {\n return _util.Util;\n }\n});\nObject.defineProperty(exports, \"VerbosityLevel\", {\n enumerable: true,\n get: function get() {\n return _util.VerbosityLevel;\n }\n});\nObject.defineProperty(exports, \"AnnotationLayer\", {\n enumerable: true,\n get: function get() {\n return _annotation_layer.AnnotationLayer;\n }\n});\nObject.defineProperty(exports, \"apiCompatibilityParams\", {\n enumerable: true,\n get: function get() {\n return _api_compatibility.apiCompatibilityParams;\n }\n});\nObject.defineProperty(exports, \"GlobalWorkerOptions\", {\n enumerable: true,\n get: function get() {\n return _worker_options.GlobalWorkerOptions;\n }\n});\nObject.defineProperty(exports, \"renderTextLayer\", {\n enumerable: true,\n get: function get() {\n return _text_layer.renderTextLayer;\n }\n});\nObject.defineProperty(exports, \"SVGGraphics\", {\n enumerable: true,\n get: function get() {\n return _svg.SVGGraphics;\n }\n});\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nvar _api = __w_pdfjs_require__(198);\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _annotation_layer = __w_pdfjs_require__(209);\n\nvar _api_compatibility = __w_pdfjs_require__(200);\n\nvar _worker_options = __w_pdfjs_require__(203);\n\nvar _text_layer = __w_pdfjs_require__(210);\n\nvar _svg = __w_pdfjs_require__(211);\n\nvar pdfjsVersion = '2.5.207';\nvar pdfjsBuild = '0974d605';\n{\n var _require = __w_pdfjs_require__(7),\n isNodeJS = _require.isNodeJS;\n\n if (isNodeJS) {\n var PDFNodeStream = __w_pdfjs_require__(212).PDFNodeStream;\n\n (0, _api.setPDFNetworkStreamFactory)(function (params) {\n return new PDFNodeStream(params);\n });\n } else {\n var PDFNetworkStream = __w_pdfjs_require__(215).PDFNetworkStream;\n\n var PDFFetchStream;\n\n if ((0, _display_utils.isFetchSupported)()) {\n PDFFetchStream = __w_pdfjs_require__(216).PDFFetchStream;\n }\n\n (0, _api.setPDFNetworkStreamFactory)(function (params) {\n if (PDFFetchStream && (0, _display_utils.isValidFetchUrl)(params.url)) {\n return new PDFFetchStream(params);\n }\n\n return new PDFNetworkStream(params);\n });\n }\n}\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.addLinkAttributes = addLinkAttributes;\nexports.getFilenameFromUrl = getFilenameFromUrl;\nexports.isFetchSupported = isFetchSupported;\nexports.isValidFetchUrl = isValidFetchUrl;\nexports.loadScript = loadScript;\nexports.deprecated = deprecated;\nexports.PDFDateString = 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__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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 _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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\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 _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 = /*#__PURE__*/function () {\n function DOMCanvasFactory() {\n _classCallCheck(this, DOMCanvasFactory);\n }\n\n _createClass(DOMCanvasFactory, [{\n key: \"create\",\n value: function create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n\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 = /*#__PURE__*/function () {\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 }( /*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/_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( /*#__PURE__*/function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/_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 = /*#__PURE__*/function () {\n function DOMSVGFactory() {\n _classCallCheck(this, DOMSVGFactory);\n }\n\n _createClass(DOMSVGFactory, [{\n key: \"create\",\n value: function create(width, height) {\n (0, _util.assert)(width > 0 && height > 0, \"Invalid SVG dimensions\");\n var svg = document.createElementNS(SVG_NS, \"svg:svg\");\n svg.setAttribute(\"version\", \"1.1\");\n svg.setAttribute(\"width\", width + \"px\");\n svg.setAttribute(\"height\", height + \"px\");\n svg.setAttribute(\"preserveAspectRatio\", \"none\");\n svg.setAttribute(\"viewBox\", \"0 0 \" + width + \" \" + height);\n return svg;\n }\n }, {\n key: \"createElement\",\n value: function createElement(type) {\n (0, _util.assert)(typeof type === \"string\", \"Invalid SVG element type\");\n return document.createElementNS(SVG_NS, type);\n }\n }]);\n\n return DOMSVGFactory;\n}();\n\nexports.DOMSVGFactory = DOMSVGFactory;\n\nvar PageViewport = /*#__PURE__*/function () {\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 case 0:\n rotateA = 1;\n rotateB = 0;\n rotateC = 0;\n rotateD = -1;\n break;\n\n default:\n throw new Error(\"PageViewport: Invalid rotation, must be a multiple of 90 degrees.\");\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$offsetX = _ref6.offsetX,\n offsetX = _ref6$offsetX === void 0 ? this.offsetX : _ref6$offsetX,\n _ref6$offsetY = _ref6.offsetY,\n offsetY = _ref6$offsetY === void 0 ? this.offsetY : _ref6$offsetY,\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: offsetX,\n offsetY: 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 = /*#__PURE__*/function (_BaseException) {\n _inherits(RenderingCancelledException, _BaseException);\n\n var _super = _createSuper(RenderingCancelledException);\n\n function RenderingCancelledException(msg, type) {\n var _this2;\n\n _classCallCheck(this, RenderingCancelledException);\n\n _this2 = _super.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;\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 targetStr = \"\";\n\n switch (target) {\n case LinkTarget.NONE:\n break;\n\n case LinkTarget.SELF:\n targetStr = \"_self\";\n break;\n\n case LinkTarget.BLANK:\n targetStr = \"_blank\";\n break;\n\n case LinkTarget.PARENT:\n targetStr = \"_parent\";\n break;\n\n case LinkTarget.TOP:\n targetStr = \"_top\";\n break;\n }\n\n link.target = targetStr;\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 = /*#__PURE__*/function () {\n function StatTimer() {\n _classCallCheck(this, StatTimer);\n\n this.started = Object.create(null);\n this.times = [];\n }\n\n _createClass(StatTimer, [{\n key: \"time\",\n value: function time(name) {\n if (name in this.started) {\n (0, _util.warn)(\"Timer is already running for \".concat(name));\n }\n\n this.started[name] = Date.now();\n }\n }, {\n key: \"timeEnd\",\n value: function timeEnd(name) {\n if (!(name in this.started)) {\n (0, _util.warn)(\"Timer has not been started for \".concat(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 outBuf = [];\n var longest = 0;\n\n var _iterator = _createForOfIteratorHelper(this.times),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\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 _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n var _iterator2 = _createForOfIteratorHelper(this.times),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _time = _step2.value;\n var duration = _time.end - _time.start;\n outBuf.push(\"\".concat(_time.name.padEnd(longest), \" \").concat(duration, \"ms\\n\"));\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n return outBuf.join(\"\");\n }\n }]);\n\n return StatTimer;\n}();\n\nexports.StatTimer = StatTimer;\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\nvar pdfDateStringRegex;\n\nvar PDFDateString = /*#__PURE__*/function () {\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/* 2 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __w_pdfjs_require__(3);\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(module) {\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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, PromiseImpl) {\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 PromiseImpl.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 PromiseImpl.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 PromiseImpl(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, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\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__(4)(module)))\n\n/***/ }),\n/* 4 */\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/* 5 */\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.isSameOrigin = isSameOrigin;\nexports.createValidAbsoluteUrl = createValidAbsoluteUrl;\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;\nexports.IsEvalSupportedCached = exports.IsLittleEndianCached = exports.createObjectURL = exports.FormatError = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = 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__(6);\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) { \"@babel/helpers - typeof\"; 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 _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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\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 _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 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 errorTilingPattern: \"errorTilingPattern\",\n errorExtGState: \"errorExtGState\",\n errorXObject: \"errorXObject\",\n errorFontLoadType3: \"errorFontLoadType3\",\n errorFontState: \"errorFontState\",\n errorFontMissing: \"errorFontMissing\",\n errorFontTranslate: \"errorFontTranslate\",\n errorColorSpace: \"errorColorSpace\",\n errorOperatorList: \"errorOperatorList\",\n errorFontToUnicode: \"errorFontToUnicode\",\n errorFontLoadNative: \"errorFontLoadNative\",\n errorFontGetPath: \"errorFontGetPath\"\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 = /*#__PURE__*/function (_BaseException) {\n _inherits(PasswordException, _BaseException);\n\n var _super = _createSuper(PasswordException);\n\n function PasswordException(msg, code) {\n var _this;\n\n _classCallCheck(this, PasswordException);\n\n _this = _super.call(this, msg);\n _this.code = code;\n return _this;\n }\n\n return PasswordException;\n}(BaseException);\n\nexports.PasswordException = PasswordException;\n\nvar UnknownErrorException = /*#__PURE__*/function (_BaseException2) {\n _inherits(UnknownErrorException, _BaseException2);\n\n var _super2 = _createSuper(UnknownErrorException);\n\n function UnknownErrorException(msg, details) {\n var _this2;\n\n _classCallCheck(this, UnknownErrorException);\n\n _this2 = _super2.call(this, msg);\n _this2.details = details;\n return _this2;\n }\n\n return UnknownErrorException;\n}(BaseException);\n\nexports.UnknownErrorException = UnknownErrorException;\n\nvar InvalidPDFException = /*#__PURE__*/function (_BaseException3) {\n _inherits(InvalidPDFException, _BaseException3);\n\n var _super3 = _createSuper(InvalidPDFException);\n\n function InvalidPDFException() {\n _classCallCheck(this, InvalidPDFException);\n\n return _super3.apply(this, arguments);\n }\n\n return InvalidPDFException;\n}(BaseException);\n\nexports.InvalidPDFException = InvalidPDFException;\n\nvar MissingPDFException = /*#__PURE__*/function (_BaseException4) {\n _inherits(MissingPDFException, _BaseException4);\n\n var _super4 = _createSuper(MissingPDFException);\n\n function MissingPDFException() {\n _classCallCheck(this, MissingPDFException);\n\n return _super4.apply(this, arguments);\n }\n\n return MissingPDFException;\n}(BaseException);\n\nexports.MissingPDFException = MissingPDFException;\n\nvar UnexpectedResponseException = /*#__PURE__*/function (_BaseException5) {\n _inherits(UnexpectedResponseException, _BaseException5);\n\n var _super5 = _createSuper(UnexpectedResponseException);\n\n function UnexpectedResponseException(msg, status) {\n var _this3;\n\n _classCallCheck(this, UnexpectedResponseException);\n\n _this3 = _super5.call(this, msg);\n _this3.status = status;\n return _this3;\n }\n\n return UnexpectedResponseException;\n}(BaseException);\n\nexports.UnexpectedResponseException = UnexpectedResponseException;\n\nvar FormatError = /*#__PURE__*/function (_BaseException6) {\n _inherits(FormatError, _BaseException6);\n\n var _super6 = _createSuper(FormatError);\n\n function FormatError() {\n _classCallCheck(this, FormatError);\n\n return _super6.apply(this, arguments);\n }\n\n return FormatError;\n}(BaseException);\n\nexports.FormatError = FormatError;\n\nvar AbortException = /*#__PURE__*/function (_BaseException7) {\n _inherits(AbortException, _BaseException7);\n\n var _super7 = _createSuper(AbortException);\n\n function AbortException() {\n _classCallCheck(this, AbortException);\n\n return _super7.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, \"arrayByteLength - invalid argument.\");\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 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\nvar IsLittleEndianCached = {\n get value() {\n return shadow(this, \"value\", isLittleEndian());\n }\n\n};\nexports.IsLittleEndianCached = IsLittleEndianCached;\n\nfunction isEvalSupported() {\n try {\n new Function(\"\");\n return true;\n } catch (e) {\n return false;\n }\n}\n\nvar IsEvalSupportedCached = {\n get value() {\n return shadow(this, \"value\", isEvalSupported());\n }\n\n};\nexports.IsEvalSupportedCached = IsEvalSupportedCached;\nvar rgbBuf = [\"rgb(\", 0, \",\", 0, \",\", 0, \")\"];\n\nvar Util = /*#__PURE__*/function () {\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 if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n for (var _i2 = 2; _i2 < length; _i2 += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(_i2 + 1) << 8 | str.charCodeAt(_i2)));\n }\n } else {\n for (var _i3 = 0; _i3 < length; ++_i3) {\n var code = PDFStringTranslateTable[str.charCodeAt(_i3)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(_i3));\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 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/* 6 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar _is_node = __w_pdfjs_require__(7);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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\nif (typeof globalThis === \"undefined\" || !globalThis._pdfjsCompatibilityChecked) {\n if (typeof globalThis === \"undefined\" || globalThis.Math !== Math) {\n globalThis = __w_pdfjs_require__(8);\n }\n\n globalThis._pdfjsCompatibilityChecked = true;\n var hasDOM = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === \"object\" && (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) === \"object\";\n var userAgent = typeof navigator !== \"undefined\" && navigator.userAgent || \"\";\n var isIE = /Trident/.test(userAgent);\n\n (function checkNodeBtoa() {\n if (globalThis.btoa || !_is_node.isNodeJS) {\n return;\n }\n\n globalThis.btoa = function (chars) {\n return Buffer.from(chars, \"binary\").toString(\"base64\");\n };\n })();\n\n (function checkNodeAtob() {\n if (globalThis.atob || !_is_node.isNodeJS) {\n return;\n }\n\n globalThis.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 || _is_node.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 || _is_node.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 checkWindowHistoryPushStateReplaceState() {\n if (!hasDOM || !isIE) {\n return;\n }\n\n var OriginalPushState = window.history.pushState;\n var OriginalReplaceState = window.history.replaceState;\n\n window.history.pushState = function (state, title, url) {\n var args = url === undefined ? [state, title] : [state, title, url];\n OriginalPushState.apply(this, args);\n };\n\n window.history.replaceState = function (state, title, url) {\n var args = url === undefined ? [state, title] : [state, title, url];\n OriginalReplaceState.apply(this, args);\n };\n })();\n\n (function checkStringStartsWith() {\n if (String.prototype.startsWith) {\n return;\n }\n\n __w_pdfjs_require__(53);\n })();\n\n (function checkStringEndsWith() {\n if (String.prototype.endsWith) {\n return;\n }\n\n __w_pdfjs_require__(64);\n })();\n\n (function checkStringIncludes() {\n if (String.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(66);\n })();\n\n (function checkArrayIncludes() {\n if (Array.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(68);\n })();\n\n (function checkArrayFrom() {\n if (Array.from) {\n return;\n }\n\n __w_pdfjs_require__(76);\n })();\n\n (function checkObjectAssign() {\n if (Object.assign) {\n return;\n }\n\n __w_pdfjs_require__(98);\n })();\n\n (function checkMathLog2() {\n if (Math.log2) {\n return;\n }\n\n Math.log2 = __w_pdfjs_require__(101);\n })();\n\n (function checkNumberIsNaN() {\n if (Number.isNaN) {\n return;\n }\n\n Number.isNaN = __w_pdfjs_require__(103);\n })();\n\n (function checkNumberIsInteger() {\n if (Number.isInteger) {\n return;\n }\n\n Number.isInteger = __w_pdfjs_require__(105);\n })();\n\n (function checkTypedArraySlice() {\n if (Uint8Array.prototype.slice) {\n return;\n }\n\n __w_pdfjs_require__(108);\n })();\n\n (function checkPromise() {\n if (globalThis.Promise && globalThis.Promise.allSettled) {\n return;\n }\n\n globalThis.Promise = __w_pdfjs_require__(113);\n })();\n\n (function checkURL() {\n globalThis.URL = __w_pdfjs_require__(136);\n })();\n\n (function checkReadableStream() {\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 return;\n }\n\n globalThis.ReadableStream = __w_pdfjs_require__(143).ReadableStream;\n })();\n\n (function checkMapEntries() {\n if (globalThis.Map && globalThis.Map.prototype.entries) {\n return;\n }\n\n globalThis.Map = __w_pdfjs_require__(144);\n })();\n\n (function checkSetEntries() {\n if (globalThis.Set && globalThis.Set.prototype.entries) {\n return;\n }\n\n globalThis.Set = __w_pdfjs_require__(151);\n })();\n\n (function checkWeakMap() {\n if (globalThis.WeakMap) {\n return;\n }\n\n globalThis.WeakMap = __w_pdfjs_require__(153);\n })();\n\n (function checkWeakSet() {\n if (globalThis.WeakSet) {\n return;\n }\n\n globalThis.WeakSet = __w_pdfjs_require__(159);\n })();\n\n (function checkStringCodePointAt() {\n if (String.prototype.codePointAt) {\n return;\n }\n\n __w_pdfjs_require__(161);\n })();\n\n (function checkStringFromCodePoint() {\n if (String.fromCodePoint) {\n return;\n }\n\n String.fromCodePoint = __w_pdfjs_require__(163);\n })();\n\n (function checkSymbol() {\n if (globalThis.Symbol) {\n return;\n }\n\n __w_pdfjs_require__(165);\n })();\n\n (function checkStringPadStart() {\n if (String.prototype.padStart) {\n return;\n }\n\n __w_pdfjs_require__(188);\n })();\n\n (function checkStringPadEnd() {\n if (String.prototype.padEnd) {\n return;\n }\n\n __w_pdfjs_require__(193);\n })();\n\n (function checkObjectValues() {\n if (Object.values) {\n return;\n }\n\n Object.values = __w_pdfjs_require__(195);\n })();\n}\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isNodeJS = void 0;\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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 isNodeJS = (typeof process === \"undefined\" ? \"undefined\" : _typeof(process)) === \"object\" && process + \"\" === \"[object process]\" && !process.versions.nw && !process.versions.electron;\nexports.isNodeJS = isNodeJS;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(9);\nmodule.exports = __w_pdfjs_require__(11);\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar global = __w_pdfjs_require__(11);\n$({ global: true }, { globalThis: global });\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar redefine = __w_pdfjs_require__(29);\nvar setGlobal = __w_pdfjs_require__(30);\nvar copyConstructorProperties = __w_pdfjs_require__(40);\nvar isForced = __w_pdfjs_require__(52);\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 createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n redefine(target, key, sourceProperty, options);\n }\n};\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\nvar check = function (it) {\n return it && it.Math == Math && it;\n};\nmodule.exports = check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || check(typeof self == 'object' && self) || check(typeof global == 'object' && global) || Function('return this')();\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(15);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar toPrimitive = __w_pdfjs_require__(21);\nvar has = __w_pdfjs_require__(23);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(24);\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/* 13 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, {\n get: function () {\n return 7;\n }\n })[1] != 7;\n});\n\n/***/ }),\n/* 14 */\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/* 15 */\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/* 16 */\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/* 17 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar IndexedObject = __w_pdfjs_require__(18);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nvar classof = __w_pdfjs_require__(19);\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/* 19 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n/***/ }),\n/* 20 */\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/* 21 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\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/* 22 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar fails = __w_pdfjs_require__(14);\nvar createElement = __w_pdfjs_require__(25);\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/* 25 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar isObject = __w_pdfjs_require__(22);\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/* 26 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\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/* 27 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(24);\nvar anObject = __w_pdfjs_require__(28);\nvar toPrimitive = __w_pdfjs_require__(21);\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/* 28 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\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/* 29 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar has = __w_pdfjs_require__(23);\nvar setGlobal = __w_pdfjs_require__(30);\nvar inspectSource = __w_pdfjs_require__(31);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\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 createNonEnumerableProperty(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 createNonEnumerableProperty(O, key, value);\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n }\n return value;\n};\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar store = __w_pdfjs_require__(32);\nvar functionToString = Function.toString;\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\nmodule.exports = store.inspectSource;\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar setGlobal = __w_pdfjs_require__(30);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\nmodule.exports = store;\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar NATIVE_WEAK_MAP = __w_pdfjs_require__(34);\nvar global = __w_pdfjs_require__(11);\nvar isObject = __w_pdfjs_require__(22);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar objectHas = __w_pdfjs_require__(23);\nvar sharedKey = __w_pdfjs_require__(35);\nvar hiddenKeys = __w_pdfjs_require__(39);\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 createNonEnumerableProperty(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/* 34 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar inspectSource = __w_pdfjs_require__(31);\nvar WeakMap = global.WeakMap;\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar shared = __w_pdfjs_require__(36);\nvar uid = __w_pdfjs_require__(38);\nvar keys = shared('keys');\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar IS_PURE = __w_pdfjs_require__(37);\nvar store = __w_pdfjs_require__(32);\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.6.5',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports) {\n\nmodule.exports = false;\n\n/***/ }),\n/* 38 */\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/* 39 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(23);\nvar ownKeys = __w_pdfjs_require__(41);\nvar getOwnPropertyDescriptorModule = __w_pdfjs_require__(12);\nvar definePropertyModule = __w_pdfjs_require__(27);\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/* 41 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar getOwnPropertyNamesModule = __w_pdfjs_require__(44);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(51);\nvar anObject = __w_pdfjs_require__(28);\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/* 42 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar path = __w_pdfjs_require__(43);\nvar global = __w_pdfjs_require__(11);\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/* 43 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nmodule.exports = global;\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar internalObjectKeys = __w_pdfjs_require__(45);\nvar enumBugKeys = __w_pdfjs_require__(50);\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(23);\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar indexOf = __w_pdfjs_require__(46).indexOf;\nvar hiddenKeys = __w_pdfjs_require__(39);\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/* 46 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar toLength = __w_pdfjs_require__(47);\nvar toAbsoluteIndex = __w_pdfjs_require__(49);\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/* 47 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(48);\nvar min = Math.min;\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0;\n};\n\n/***/ }),\n/* 48 */\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/* 49 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(48);\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/* 50 */\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/* 51 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\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/* 53 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(54);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'startsWith');\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\nvar toLength = __w_pdfjs_require__(47);\nvar notARegExp = __w_pdfjs_require__(55);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar correctIsRegExpLogic = __w_pdfjs_require__(60);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar nativeStartsWith = ''.startsWith;\nvar min = Math.min;\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n$({\n target: 'String',\n proto: true,\n forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC\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/* 55 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isRegExp = __w_pdfjs_require__(56);\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/* 56 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nvar classof = __w_pdfjs_require__(19);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\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/* 57 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar shared = __w_pdfjs_require__(36);\nvar has = __w_pdfjs_require__(23);\nvar uid = __w_pdfjs_require__(38);\nvar NATIVE_SYMBOL = __w_pdfjs_require__(58);\nvar USE_SYMBOL_AS_UID = __w_pdfjs_require__(59);\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name))\n WellKnownSymbolsStore[name] = Symbol[name];\n else\n WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n }\n return WellKnownSymbolsStore[name];\n};\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n return !String(Symbol());\n});\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar NATIVE_SYMBOL = __w_pdfjs_require__(58);\nmodule.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == 'symbol';\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\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/* 61 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar bind = __w_pdfjs_require__(62);\nvar call = Function.call;\nmodule.exports = function (CONSTRUCTOR, METHOD, length) {\n return bind(call, global[CONSTRUCTOR].prototype[METHOD], length);\n};\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar aFunction = __w_pdfjs_require__(63);\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/* 63 */\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/* 64 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(65);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'endsWith');\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\nvar toLength = __w_pdfjs_require__(47);\nvar notARegExp = __w_pdfjs_require__(55);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar correctIsRegExpLogic = __w_pdfjs_require__(60);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar nativeEndsWith = ''.endsWith;\nvar min = Math.min;\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith');\n return descriptor && !descriptor.writable;\n}();\n$({\n target: 'String',\n proto: true,\n forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC\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/* 66 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(67);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'includes');\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar notARegExp = __w_pdfjs_require__(55);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar correctIsRegExpLogic = __w_pdfjs_require__(60);\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/* 68 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(69);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('Array', 'includes');\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar $includes = __w_pdfjs_require__(46).includes;\nvar addToUnscopables = __w_pdfjs_require__(70);\nvar arrayMethodUsesToLength = __w_pdfjs_require__(75);\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', {\n ACCESSORS: true,\n 1: 0\n});\n$({\n target: 'Array',\n proto: true,\n forced: !USES_TO_LENGTH\n}, {\n includes: function includes(el) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\naddToUnscopables('includes');\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar create = __w_pdfjs_require__(71);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar defineProperties = __w_pdfjs_require__(72);\nvar enumBugKeys = __w_pdfjs_require__(50);\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar html = __w_pdfjs_require__(74);\nvar documentCreateElement = __w_pdfjs_require__(25);\nvar sharedKey = __w_pdfjs_require__(35);\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar EmptyConstructor = function () {\n};\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null;\n return temp;\n};\nvar NullProtoObjectViaIFrame = function () {\n var iframe = documentCreateElement('iframe');\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(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) {\n }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--)\n delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\nhiddenKeys[IE_PROTO] = true;\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n result[IE_PROTO] = O;\n } else\n result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar anObject = __w_pdfjs_require__(28);\nvar objectKeys = __w_pdfjs_require__(73);\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/* 73 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar internalObjectKeys = __w_pdfjs_require__(45);\nvar enumBugKeys = __w_pdfjs_require__(50);\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nmodule.exports = getBuiltIn('document', 'documentElement');\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar fails = __w_pdfjs_require__(14);\nvar has = __w_pdfjs_require__(23);\nvar defineProperty = Object.defineProperty;\nvar cache = {};\nvar thrower = function (it) {\n throw it;\n};\nmodule.exports = function (METHOD_NAME, options) {\n if (has(cache, METHOD_NAME))\n return cache[METHOD_NAME];\n if (!options)\n options = {};\n var method = [][METHOD_NAME];\n var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;\n var argument0 = has(options, 0) ? options[0] : thrower;\n var argument1 = has(options, 1) ? options[1] : undefined;\n return cache[METHOD_NAME] = !!method && !fails(function () {\n if (ACCESSORS && !DESCRIPTORS)\n return true;\n var O = { length: -1 };\n if (ACCESSORS)\n defineProperty(O, 1, {\n enumerable: true,\n get: thrower\n });\n else\n O[1] = 1;\n method.call(O, argument0, argument1);\n });\n};\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(77);\n__w_pdfjs_require__(89);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Array.from;\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar charAt = __w_pdfjs_require__(78).charAt;\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar defineIterator = __w_pdfjs_require__(79);\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/* 78 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(48);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\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/* 79 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar createIteratorConstructor = __w_pdfjs_require__(80);\nvar getPrototypeOf = __w_pdfjs_require__(82);\nvar setPrototypeOf = __w_pdfjs_require__(87);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar redefine = __w_pdfjs_require__(29);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar Iterators = __w_pdfjs_require__(86);\nvar IteratorsCore = __w_pdfjs_require__(81);\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 createNonEnumerableProperty(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 createNonEnumerableProperty(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/* 80 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar IteratorPrototype = __w_pdfjs_require__(81).IteratorPrototype;\nvar create = __w_pdfjs_require__(71);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar Iterators = __w_pdfjs_require__(86);\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/* 81 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar getPrototypeOf = __w_pdfjs_require__(82);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar has = __w_pdfjs_require__(23);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar IS_PURE = __w_pdfjs_require__(37);\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 createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(23);\nvar toObject = __w_pdfjs_require__(83);\nvar sharedKey = __w_pdfjs_require__(35);\nvar CORRECT_PROTOTYPE_GETTER = __w_pdfjs_require__(84);\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/* 83 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\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/* 85 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar has = __w_pdfjs_require__(23);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\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/* 86 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar aPossiblePrototype = __w_pdfjs_require__(88);\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/* 88 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\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/* 89 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar from = __w_pdfjs_require__(90);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(97);\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/* 90 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar bind = __w_pdfjs_require__(62);\nvar toObject = __w_pdfjs_require__(83);\nvar callWithSafeIterationClosing = __w_pdfjs_require__(91);\nvar isArrayIteratorMethod = __w_pdfjs_require__(92);\nvar toLength = __w_pdfjs_require__(47);\nvar createProperty = __w_pdfjs_require__(93);\nvar getIteratorMethod = __w_pdfjs_require__(94);\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 iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\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 next = iterator.next;\n result = new C();\n for (; !(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [\n step.value,\n index\n ], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (; length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\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/* 92 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar Iterators = __w_pdfjs_require__(86);\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/* 93 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toPrimitive = __w_pdfjs_require__(21);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\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/* 94 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar classof = __w_pdfjs_require__(95);\nvar Iterators = __w_pdfjs_require__(86);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\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/* 95 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(96);\nvar classofRaw = __w_pdfjs_require__(19);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\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 = TO_STRING_TAG_SUPPORT ? classofRaw : 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/* 96 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\ntest[TO_STRING_TAG] = 'z';\nmodule.exports = String(test) === '[object z]';\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\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/* 98 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(99);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Object.assign;\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar assign = __w_pdfjs_require__(100);\n$({\n target: 'Object',\n stat: true,\n forced: Object.assign !== assign\n}, { assign: assign });\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar fails = __w_pdfjs_require__(14);\nvar objectKeys = __w_pdfjs_require__(73);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(51);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(15);\nvar toObject = __w_pdfjs_require__(83);\nvar IndexedObject = __w_pdfjs_require__(18);\nvar nativeAssign = Object.assign;\nvar defineProperty = Object.defineProperty;\nmodule.exports = !nativeAssign || fails(function () {\n if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1)\n return true;\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/* 101 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(102);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Math.log2;\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\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/* 103 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(104);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Number.isNaN;\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\n$({\n target: 'Number',\n stat: true\n}, {\n isNaN: function isNaN(number) {\n return number != number;\n }\n});\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(106);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Number.isInteger;\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar isInteger = __w_pdfjs_require__(107);\n$({\n target: 'Number',\n stat: true\n}, { isInteger: isInteger });\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(109);\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __w_pdfjs_require__(110);\nvar speciesConstructor = __w_pdfjs_require__(112);\nvar fails = __w_pdfjs_require__(14);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $slice = [].slice;\nvar FORCED = fails(function () {\n new Int8Array(1).slice();\n});\nexportTypedArrayMethod('slice', function slice(start, end) {\n var list = $slice.call(aTypedArray(this), start, end);\n var C = speciesConstructor(this, this.constructor);\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index)\n result[index] = list[index++];\n return result;\n}, FORCED);\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar NATIVE_ARRAY_BUFFER = __w_pdfjs_require__(111);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar global = __w_pdfjs_require__(11);\nvar isObject = __w_pdfjs_require__(22);\nvar has = __w_pdfjs_require__(23);\nvar classof = __w_pdfjs_require__(95);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar redefine = __w_pdfjs_require__(29);\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar getPrototypeOf = __w_pdfjs_require__(82);\nvar setPrototypeOf = __w_pdfjs_require__(87);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar uid = __w_pdfjs_require__(38);\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar isPrototypeOf = ObjectPrototype.isPrototypeOf;\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQIRED = false;\nvar NAME;\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\nvar isView = function isView(it) {\n var klass = classof(it);\n return klass === 'DataView' || has(TypedArrayConstructorsList, klass);\n};\nvar isTypedArray = function (it) {\n return isObject(it) && has(TypedArrayConstructorsList, classof(it));\n};\nvar aTypedArray = function (it) {\n if (isTypedArray(it))\n return it;\n throw TypeError('Target is not a typed array');\n};\nvar aTypedArrayConstructor = function (C) {\n if (setPrototypeOf) {\n if (isPrototypeOf.call(TypedArray, C))\n return C;\n } else\n for (var ARRAY in TypedArrayConstructorsList)\n if (has(TypedArrayConstructorsList, NAME)) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) {\n return C;\n }\n }\n throw TypeError('Target is not a typed array constructor');\n};\nvar exportTypedArrayMethod = function (KEY, property, forced) {\n if (!DESCRIPTORS)\n return;\n if (forced)\n for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) {\n delete TypedArrayConstructor.prototype[KEY];\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n redefine(TypedArrayPrototype, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property);\n }\n};\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS)\n return;\n if (setPrototypeOf) {\n if (forced)\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) {\n delete TypedArrayConstructor[KEY];\n }\n }\n if (!TypedArray[KEY] || forced) {\n try {\n return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8Array[KEY] || property);\n } catch (error) {\n }\n } else\n return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n redefine(TypedArrayConstructor, KEY, property);\n }\n }\n};\nfor (NAME in TypedArrayConstructorsList) {\n if (!global[NAME])\n NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\nif (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) {\n TypedArray = function TypedArray() {\n throw TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS)\n for (NAME in TypedArrayConstructorsList) {\n if (global[NAME])\n setPrototypeOf(global[NAME], TypedArray);\n }\n}\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS)\n for (NAME in TypedArrayConstructorsList) {\n if (global[NAME])\n setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\nif (DESCRIPTORS && !has(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQIRED = true;\n defineProperty(TypedArrayPrototype, TO_STRING_TAG, {\n get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n }\n });\n for (NAME in TypedArrayConstructorsList)\n if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports) {\n\nmodule.exports = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined';\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar aFunction = __w_pdfjs_require__(63);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\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/* 113 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(114);\n__w_pdfjs_require__(77);\n__w_pdfjs_require__(116);\n__w_pdfjs_require__(119);\n__w_pdfjs_require__(134);\n__w_pdfjs_require__(135);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Promise;\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(96);\nvar redefine = __w_pdfjs_require__(29);\nvar toString = __w_pdfjs_require__(115);\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n\n/***/ }),\n/* 115 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(96);\nvar classof = __w_pdfjs_require__(95);\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar DOMIterables = __w_pdfjs_require__(117);\nvar ArrayIteratorMethods = __w_pdfjs_require__(118);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\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 createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME])\n for (var METHOD_NAME in ArrayIteratorMethods) {\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME])\n try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n\n/***/ }),\n/* 117 */\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/* 118 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar addToUnscopables = __w_pdfjs_require__(70);\nvar Iterators = __w_pdfjs_require__(86);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar defineIterator = __w_pdfjs_require__(79);\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/* 119 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar global = __w_pdfjs_require__(11);\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar NativePromise = __w_pdfjs_require__(120);\nvar redefine = __w_pdfjs_require__(29);\nvar redefineAll = __w_pdfjs_require__(121);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar setSpecies = __w_pdfjs_require__(122);\nvar isObject = __w_pdfjs_require__(22);\nvar aFunction = __w_pdfjs_require__(63);\nvar anInstance = __w_pdfjs_require__(123);\nvar classof = __w_pdfjs_require__(19);\nvar inspectSource = __w_pdfjs_require__(31);\nvar iterate = __w_pdfjs_require__(124);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(97);\nvar speciesConstructor = __w_pdfjs_require__(112);\nvar task = __w_pdfjs_require__(125).set;\nvar microtask = __w_pdfjs_require__(128);\nvar promiseResolve = __w_pdfjs_require__(129);\nvar hostReportErrors = __w_pdfjs_require__(131);\nvar newPromiseCapabilityModule = __w_pdfjs_require__(130);\nvar perform = __w_pdfjs_require__(132);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar isForced = __w_pdfjs_require__(52);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar V8_VERSION = __w_pdfjs_require__(133);\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 = getBuiltIn('fetch');\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 GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\n if (!GLOBAL_CORE_JS_PROMISE) {\n if (V8_VERSION === 66)\n return true;\n if (!IS_NODE && typeof PromiseRejectionEvent != 'function')\n return true;\n }\n if (IS_PURE && !PromiseConstructor.prototype['finally'])\n return true;\n if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor))\n return false;\n var promise = PromiseConstructor.resolve(1);\n var FakePromise = function (exec) {\n exec(function () {\n }, function () {\n });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n return !(promise.then(function () {\n }) instanceof FakePromise);\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 }, { unsafe: true });\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 = getBuiltIn(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/* 120 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nmodule.exports = global.Promise;\n\n/***/ }),\n/* 121 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar redefine = __w_pdfjs_require__(29);\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/* 122 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\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/* 123 */\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/* 124 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar isArrayIteratorMethod = __w_pdfjs_require__(92);\nvar toLength = __w_pdfjs_require__(47);\nvar bind = __w_pdfjs_require__(62);\nvar getIteratorMethod = __w_pdfjs_require__(94);\nvar callWithSafeIterationClosing = __w_pdfjs_require__(91);\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, next, 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 next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n if (typeof result == 'object' && 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/* 125 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar fails = __w_pdfjs_require__(14);\nvar classof = __w_pdfjs_require__(19);\nvar bind = __w_pdfjs_require__(62);\nvar html = __w_pdfjs_require__(74);\nvar createElement = __w_pdfjs_require__(25);\nvar IS_IOS = __w_pdfjs_require__(126);\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 && !IS_IOS) {\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) && location.protocol !== 'file:') {\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/* 126 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar userAgent = __w_pdfjs_require__(127);\nmodule.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\nvar classof = __w_pdfjs_require__(19);\nvar macrotask = __w_pdfjs_require__(125).set;\nvar IS_IOS = __w_pdfjs_require__(126);\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 && !IS_IOS) {\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/* 129 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar isObject = __w_pdfjs_require__(22);\nvar newPromiseCapability = __w_pdfjs_require__(130);\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/* 130 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar aFunction = __w_pdfjs_require__(63);\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/* 131 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\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/* 132 */\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/* 133 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar userAgent = __w_pdfjs_require__(127);\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match)\n version = match[1];\n }\n}\nmodule.exports = version && +version;\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar aFunction = __w_pdfjs_require__(63);\nvar newPromiseCapabilityModule = __w_pdfjs_require__(130);\nvar perform = __w_pdfjs_require__(132);\nvar iterate = __w_pdfjs_require__(124);\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/* 135 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar NativePromise = __w_pdfjs_require__(120);\nvar fails = __w_pdfjs_require__(14);\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar speciesConstructor = __w_pdfjs_require__(112);\nvar promiseResolve = __w_pdfjs_require__(129);\nvar redefine = __w_pdfjs_require__(29);\nvar NON_GENERIC = !!NativePromise && fails(function () {\n NativePromise.prototype['finally'].call({\n then: function () {\n }\n }, function () {\n });\n});\n$({\n target: 'Promise',\n proto: true,\n real: true,\n forced: NON_GENERIC\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/* 136 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(137);\n__w_pdfjs_require__(142);\n__w_pdfjs_require__(140);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.URL;\n\n/***/ }),\n/* 137 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n__w_pdfjs_require__(77);\nvar $ = __w_pdfjs_require__(10);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar USE_NATIVE_URL = __w_pdfjs_require__(138);\nvar global = __w_pdfjs_require__(11);\nvar defineProperties = __w_pdfjs_require__(72);\nvar redefine = __w_pdfjs_require__(29);\nvar anInstance = __w_pdfjs_require__(123);\nvar has = __w_pdfjs_require__(23);\nvar assign = __w_pdfjs_require__(100);\nvar arrayFrom = __w_pdfjs_require__(90);\nvar codeAt = __w_pdfjs_require__(78).codeAt;\nvar toASCII = __w_pdfjs_require__(139);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar URLSearchParamsModule = __w_pdfjs_require__(140);\nvar InternalStateModule = __w_pdfjs_require__(33);\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 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/* 138 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar ITERATOR = wellKnownSymbol('iterator');\nmodule.exports = !fails(function () {\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return IS_PURE && !url.toJSON || !searchParams.sort || url.href !== 'http://a/c%20d?a=1&c=3' || searchParams.get('c') !== '3' || 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' || result !== 'a1c3' || new URL('http://x', undefined).host !== 'x';\n});\n\n/***/ }),\n/* 139 */\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/* 140 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n__w_pdfjs_require__(118);\nvar $ = __w_pdfjs_require__(10);\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar USE_NATIVE_URL = __w_pdfjs_require__(138);\nvar redefine = __w_pdfjs_require__(29);\nvar redefineAll = __w_pdfjs_require__(121);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar createIteratorConstructor = __w_pdfjs_require__(80);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar anInstance = __w_pdfjs_require__(123);\nvar hasOwn = __w_pdfjs_require__(23);\nvar bind = __w_pdfjs_require__(62);\nvar classof = __w_pdfjs_require__(95);\nvar anObject = __w_pdfjs_require__(28);\nvar isObject = __w_pdfjs_require__(22);\nvar create = __w_pdfjs_require__(71);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nvar getIterator = __w_pdfjs_require__(141);\nvar getIteratorMethod = __w_pdfjs_require__(94);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar $fetch = getBuiltIn('fetch');\nvar Headers = getBuiltIn('Headers');\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, next, step, entryIterator, entryNext, 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 next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if ((first = entryNext.call(entryIterator)).done || (second = entryNext.call(entryIterator)).done || !entryNext.call(entryIterator).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 });\nif (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {\n $({\n global: true,\n enumerable: true,\n forced: true\n }, {\n fetch: function fetch(input) {\n var args = [input];\n var init, body, headers;\n if (arguments.length > 1) {\n init = arguments[1];\n if (isObject(init)) {\n body = init.body;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headers.has('content-type')) {\n headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n init = create(init, {\n body: createPropertyDescriptor(0, String(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n }\n args.push(init);\n }\n return $fetch.apply(this, args);\n }\n });\n}\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n\n/***/ }),\n/* 141 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar getIteratorMethod = __w_pdfjs_require__(94);\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/* 142 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\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/* 143 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n(function (global, factory) {\n true ? factory(exports) : undefined;\n}(this, function (exports) {\n 'use strict';\n var SymbolPolyfill = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol : function (description) {\n return \"Symbol(\" + description + \")\";\n };\n function noop() {\n }\n var NumberIsNaN = Number.isNaN || function (x) {\n return x !== x;\n };\n var rethrowAssertionErrorRejection = noop;\n function typeIsObject(x) {\n return typeof x === 'object' && x !== null || typeof x === 'function';\n }\n function createArrayFromList(elements) {\n return elements.slice();\n }\n function ArrayBufferCopy(dest, destOffset, src, srcOffset, n) {\n new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);\n }\n function IsFiniteNonNegativeNumber(v) {\n if (IsNonNegativeNumber(v) === false) {\n return false;\n }\n if (v === Infinity) {\n return false;\n }\n return true;\n }\n function 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 }\n function Call(F, V, args) {\n if (typeof F !== 'function') {\n throw new TypeError('Argument is not a function');\n }\n return Function.prototype.apply.call(F, V, args);\n }\n function 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 promiseResolvedWith(undefined);\n };\n }\n function InvokeOrNoop(O, P, args) {\n var method = O[P];\n if (method === undefined) {\n return undefined;\n }\n return Call(method, O, args);\n }\n function PromiseCall(F, V, args) {\n try {\n return promiseResolvedWith(Call(F, V, args));\n } catch (value) {\n return promiseRejectedWith(value);\n }\n }\n function TransferArrayBuffer(O) {\n return O;\n }\n function IsDetachedBuffer(O) {\n return false;\n }\n function 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 }\n function 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 }\n var originalPromise = Promise;\n var originalPromiseThen = Promise.prototype.then;\n var originalPromiseResolve = Promise.resolve.bind(originalPromise);\n var originalPromiseReject = Promise.reject.bind(originalPromise);\n function newPromise(executor) {\n return new originalPromise(executor);\n }\n function promiseResolvedWith(value) {\n return originalPromiseResolve(value);\n }\n function promiseRejectedWith(reason) {\n return originalPromiseReject(reason);\n }\n function PerformPromiseThen(promise, onFulfilled, onRejected) {\n return originalPromiseThen.call(promise, onFulfilled, onRejected);\n }\n function uponPromise(promise, onFulfilled, onRejected) {\n PerformPromiseThen(PerformPromiseThen(promise, onFulfilled, onRejected), undefined, rethrowAssertionErrorRejection);\n }\n function uponFulfillment(promise, onFulfilled) {\n uponPromise(promise, onFulfilled);\n }\n function uponRejection(promise, onRejected) {\n uponPromise(promise, undefined, onRejected);\n }\n function transformPromiseWith(promise, fulfillmentHandler, rejectionHandler) {\n return PerformPromiseThen(promise, fulfillmentHandler, rejectionHandler);\n }\n function setPromiseIsHandledToTrue(promise) {\n PerformPromiseThen(promise, undefined, rethrowAssertionErrorRejection);\n }\n var QUEUE_MAX_ARRAY_SIZE = 16384;\n var 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 }();\n function 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 }\n function 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 }\n function ReadableStreamReaderGenericCancel(reader, reason) {\n var stream = reader._ownerReadableStream;\n return ReadableStreamCancel(stream, reason);\n }\n function 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 }\n function readerLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released reader');\n }\n function defaultReaderClosedPromiseInitialize(reader) {\n reader._closedPromise = newPromise(function (resolve, reject) {\n reader._closedPromise_resolve = resolve;\n reader._closedPromise_reject = reject;\n });\n }\n function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {\n defaultReaderClosedPromiseInitialize(reader);\n defaultReaderClosedPromiseReject(reader, reason);\n }\n function defaultReaderClosedPromiseInitializeAsResolved(reader) {\n defaultReaderClosedPromiseInitialize(reader);\n defaultReaderClosedPromiseResolve(reader);\n }\n function defaultReaderClosedPromiseReject(reader, reason) {\n setPromiseIsHandledToTrue(reader._closedPromise);\n reader._closedPromise_reject(reason);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n function defaultReaderClosedPromiseResetToRejected(reader, reason) {\n defaultReaderClosedPromiseInitializeAsRejected(reader, reason);\n }\n function defaultReaderClosedPromiseResolve(reader) {\n reader._closedPromise_resolve(undefined);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n var CancelSteps = SymbolPolyfill('[[CancelSteps]]');\n var PullSteps = SymbolPolyfill('[[PullSteps]]');\n function 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 }\n function ReadableStreamAddReadRequest(stream) {\n var promise = newPromise(function (resolve, reject) {\n var readRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._reader._readRequests.push(readRequest);\n });\n return promise;\n }\n function ReadableStreamFulfillReadRequest(stream, chunk, done) {\n var reader = stream._reader;\n var readRequest = reader._readRequests.shift();\n readRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));\n }\n function ReadableStreamGetNumReadRequests(stream) {\n return stream._reader._readRequests.length;\n }\n function 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 }\n var 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 promiseRejectedWith(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 promiseRejectedWith(defaultReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n };\n ReadableStreamDefaultReader.prototype.read = function () {\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('read'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(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 }();\n function IsReadableStreamDefaultReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {\n return false;\n }\n return true;\n }\n function ReadableStreamDefaultReaderRead(reader) {\n var stream = reader._ownerReadableStream;\n stream._disturbed = true;\n if (stream._state === 'closed') {\n return promiseResolvedWith(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));\n }\n if (stream._state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n return stream._readableStreamController[PullSteps]();\n }\n function defaultReaderBrandCheckException(name) {\n return new TypeError(\"ReadableStreamDefaultReader.prototype.\" + name + \" can only be used on a ReadableStreamDefaultReader\");\n }\n var _a;\n var AsyncIteratorPrototype;\n if (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 }\n var ReadableStreamAsyncIteratorPrototype = {\n next: function () {\n if (IsReadableStreamAsyncIterator(this) === false) {\n return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));\n }\n var reader = this._asyncIteratorReader;\n if (reader._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('iterate'));\n }\n return transformPromiseWith(ReadableStreamDefaultReaderRead(reader), 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 promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));\n }\n var reader = this._asyncIteratorReader;\n if (reader._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('finish iterating'));\n }\n if (reader._readRequests.length > 0) {\n return promiseRejectedWith(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 transformPromiseWith(result, function () {\n return ReadableStreamCreateReadResult(value, true, true);\n });\n }\n ReadableStreamReaderGenericRelease(reader);\n return promiseResolvedWith(ReadableStreamCreateReadResult(value, true, true));\n }\n };\n if (AsyncIteratorPrototype !== undefined) {\n Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype);\n }\n Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'next', { enumerable: false });\n Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'return', { enumerable: false });\n function 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 }\n function 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 }\n function streamAsyncIteratorBrandCheckException(name) {\n return new TypeError(\"ReadableStreamAsyncIterator.\" + name + \" can only be used on a ReadableSteamAsyncIterator\");\n }\n function 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 }\n function 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 }\n function PeekQueueValue(container) {\n var pair = container._queue.peek();\n return pair.value;\n }\n function ResetQueue(container) {\n container._queue = new SimpleQueue();\n container._queueTotalSize = 0;\n }\n var AbortSteps = SymbolPolyfill('[[AbortSteps]]');\n var ErrorSteps = SymbolPolyfill('[[ErrorSteps]]');\n var 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 promiseRejectedWith(streamBrandCheckException('abort'));\n }\n if (IsWritableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot abort a stream that already has a writer'));\n }\n return WritableStreamAbort(this, reason);\n };\n WritableStream.prototype.close = function () {\n if (IsWritableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException('close'));\n }\n if (IsWritableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot close a stream that already has a writer'));\n }\n if (WritableStreamCloseQueuedOrInFlight(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\n }\n return WritableStreamClose(this);\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 }();\n function AcquireWritableStreamDefaultWriter(stream) {\n return new WritableStreamDefaultWriter(stream);\n }\n function 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 }\n function 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 }\n function IsWritableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {\n return false;\n }\n return true;\n }\n function IsWritableStreamLocked(stream) {\n if (stream._writer === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamAbort(stream, reason) {\n var state = stream._state;\n if (state === 'closed' || state === 'errored') {\n return promiseResolvedWith(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 = newPromise(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 }\n function WritableStreamClose(stream) {\n var state = stream._state;\n if (state === 'closed' || state === 'errored') {\n return promiseRejectedWith(new TypeError(\"The stream (in \" + state + \" state) is not in the writable state and cannot be closed\"));\n }\n var promise = newPromise(function (resolve, reject) {\n var closeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._closeRequest = closeRequest;\n });\n var writer = stream._writer;\n if (writer !== undefined && stream._backpressure === true && state === 'writable') {\n defaultWriterReadyPromiseResolve(writer);\n }\n WritableStreamDefaultControllerClose(stream._writableStreamController);\n return promise;\n }\n function WritableStreamAddWriteRequest(stream) {\n var promise = newPromise(function (resolve, reject) {\n var writeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._writeRequests.push(writeRequest);\n });\n return promise;\n }\n function WritableStreamDealWithRejection(stream, error) {\n var state = stream._state;\n if (state === 'writable') {\n WritableStreamStartErroring(stream, error);\n return;\n }\n WritableStreamFinishErroring(stream);\n }\n function 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 }\n function 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 uponPromise(promise, function () {\n abortRequest._resolve();\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n }, function (reason) {\n abortRequest._reject(reason);\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n });\n }\n function WritableStreamFinishInFlightWrite(stream) {\n stream._inFlightWriteRequest._resolve(undefined);\n stream._inFlightWriteRequest = undefined;\n }\n function WritableStreamFinishInFlightWriteWithError(stream, error) {\n stream._inFlightWriteRequest._reject(error);\n stream._inFlightWriteRequest = undefined;\n WritableStreamDealWithRejection(stream, error);\n }\n function 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 }\n function 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 }\n function WritableStreamCloseQueuedOrInFlight(stream) {\n if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamHasOperationMarkedInFlight(stream) {\n if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamMarkCloseRequestInFlight(stream) {\n stream._inFlightCloseRequest = stream._closeRequest;\n stream._closeRequest = undefined;\n }\n function WritableStreamMarkFirstWriteRequestInFlight(stream) {\n stream._inFlightWriteRequest = stream._writeRequests.shift();\n }\n function 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 }\n function 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 }\n var 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 promiseRejectedWith(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 promiseRejectedWith(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 promiseRejectedWith(defaultWriterBrandCheckException('abort'));\n }\n if (this._ownerWritableStream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('abort'));\n }\n return WritableStreamDefaultWriterAbort(this, reason);\n };\n WritableStreamDefaultWriter.prototype.close = function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('close'));\n }\n var stream = this._ownerWritableStream;\n if (stream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('close'));\n }\n if (WritableStreamCloseQueuedOrInFlight(stream) === true) {\n return promiseRejectedWith(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 promiseRejectedWith(defaultWriterBrandCheckException('write'));\n }\n if (this._ownerWritableStream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('write to'));\n }\n return WritableStreamDefaultWriterWrite(this, chunk);\n };\n return WritableStreamDefaultWriter;\n }();\n function IsWritableStreamDefaultWriter(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {\n return false;\n }\n return true;\n }\n function WritableStreamDefaultWriterAbort(writer, reason) {\n var stream = writer._ownerWritableStream;\n return WritableStreamAbort(stream, reason);\n }\n function WritableStreamDefaultWriterClose(writer) {\n var stream = writer._ownerWritableStream;\n return WritableStreamClose(stream);\n }\n function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return promiseResolvedWith(undefined);\n }\n if (state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n return WritableStreamDefaultWriterClose(writer);\n }\n function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {\n if (writer._closedPromiseState === 'pending') {\n defaultWriterClosedPromiseReject(writer, error);\n } else {\n defaultWriterClosedPromiseResetToRejected(writer, error);\n }\n }\n function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {\n if (writer._readyPromiseState === 'pending') {\n defaultWriterReadyPromiseReject(writer, error);\n } else {\n defaultWriterReadyPromiseResetToRejected(writer, error);\n }\n }\n function WritableStreamDefaultWriterGetDesiredSize(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n if (state === 'errored' || state === 'erroring') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);\n }\n function WritableStreamDefaultWriterRelease(writer) {\n var stream = writer._ownerWritableStream;\n var releasedError = new TypeError('Writer was released and can no longer be used to monitor the stream\\'s closedness');\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);\n WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);\n stream._writer = undefined;\n writer._ownerWritableStream = undefined;\n }\n function WritableStreamDefaultWriterWrite(writer, chunk) {\n var stream = writer._ownerWritableStream;\n var controller = stream._writableStreamController;\n var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);\n if (stream !== writer._ownerWritableStream) {\n return promiseRejectedWith(defaultWriterLockException('write to'));\n }\n var state = stream._state;\n if (state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return promiseRejectedWith(new TypeError('The stream is closing or closed and cannot be written to'));\n }\n if (state === 'erroring') {\n return promiseRejectedWith(stream._storedError);\n }\n var promise = WritableStreamAddWriteRequest(stream);\n WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);\n return promise;\n }\n var 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 }();\n function 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 }\n function 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 = promiseResolvedWith(startResult);\n uponPromise(startPromise, function () {\n controller._started = true;\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, function (r) {\n controller._started = true;\n WritableStreamDealWithRejection(stream, r);\n });\n }\n function 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 }\n function WritableStreamDefaultControllerClearAlgorithms(controller) {\n controller._writeAlgorithm = undefined;\n controller._closeAlgorithm = undefined;\n controller._abortAlgorithm = undefined;\n controller._strategySizeAlgorithm = undefined;\n }\n function WritableStreamDefaultControllerClose(controller) {\n EnqueueValueWithSize(controller, 'close', 0);\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n function WritableStreamDefaultControllerGetChunkSize(controller, chunk) {\n try {\n return controller._strategySizeAlgorithm(chunk);\n } catch (chunkSizeE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n return 1;\n }\n }\n function WritableStreamDefaultControllerGetDesiredSize(controller) {\n return controller._strategyHWM - controller._queueTotalSize;\n }\n function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {\n var writeRecord = { chunk: chunk };\n try {\n EnqueueValueWithSize(controller, writeRecord, chunkSize);\n } catch (enqueueE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n return;\n }\n var stream = controller._controlledWritableStream;\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n function 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 }\n function WritableStreamDefaultControllerErrorIfNeeded(controller, error) {\n if (controller._controlledWritableStream._state === 'writable') {\n WritableStreamDefaultControllerError(controller, error);\n }\n }\n function WritableStreamDefaultControllerProcessClose(controller) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkCloseRequestInFlight(stream);\n DequeueValue(controller);\n var sinkClosePromise = controller._closeAlgorithm();\n WritableStreamDefaultControllerClearAlgorithms(controller);\n uponPromise(sinkClosePromise, function () {\n WritableStreamFinishInFlightClose(stream);\n }, function (reason) {\n WritableStreamFinishInFlightCloseWithError(stream, reason);\n });\n }\n function WritableStreamDefaultControllerProcessWrite(controller, chunk) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkFirstWriteRequestInFlight(stream);\n var sinkWritePromise = controller._writeAlgorithm(chunk);\n uponPromise(sinkWritePromise, 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 });\n }\n function WritableStreamDefaultControllerGetBackpressure(controller) {\n var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);\n return desiredSize <= 0;\n }\n function WritableStreamDefaultControllerError(controller, error) {\n var stream = controller._controlledWritableStream;\n WritableStreamDefaultControllerClearAlgorithms(controller);\n WritableStreamStartErroring(stream, error);\n }\n function streamBrandCheckException(name) {\n return new TypeError(\"WritableStream.prototype.\" + name + \" can only be used on a WritableStream\");\n }\n function defaultWriterBrandCheckException(name) {\n return new TypeError(\"WritableStreamDefaultWriter.prototype.\" + name + \" can only be used on a WritableStreamDefaultWriter\");\n }\n function defaultWriterLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released writer');\n }\n function defaultWriterClosedPromiseInitialize(writer) {\n writer._closedPromise = newPromise(function (resolve, reject) {\n writer._closedPromise_resolve = resolve;\n writer._closedPromise_reject = reject;\n writer._closedPromiseState = 'pending';\n });\n }\n function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {\n defaultWriterClosedPromiseInitialize(writer);\n defaultWriterClosedPromiseReject(writer, reason);\n }\n function defaultWriterClosedPromiseInitializeAsResolved(writer) {\n defaultWriterClosedPromiseInitialize(writer);\n defaultWriterClosedPromiseResolve(writer);\n }\n function defaultWriterClosedPromiseReject(writer, reason) {\n setPromiseIsHandledToTrue(writer._closedPromise);\n writer._closedPromise_reject(reason);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'rejected';\n }\n function defaultWriterClosedPromiseResetToRejected(writer, reason) {\n defaultWriterClosedPromiseInitializeAsRejected(writer, reason);\n }\n function defaultWriterClosedPromiseResolve(writer) {\n writer._closedPromise_resolve(undefined);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'resolved';\n }\n function defaultWriterReadyPromiseInitialize(writer) {\n writer._readyPromise = newPromise(function (resolve, reject) {\n writer._readyPromise_resolve = resolve;\n writer._readyPromise_reject = reject;\n });\n writer._readyPromiseState = 'pending';\n }\n function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {\n defaultWriterReadyPromiseInitialize(writer);\n defaultWriterReadyPromiseReject(writer, reason);\n }\n function defaultWriterReadyPromiseInitializeAsResolved(writer) {\n defaultWriterReadyPromiseInitialize(writer);\n defaultWriterReadyPromiseResolve(writer);\n }\n function defaultWriterReadyPromiseReject(writer, reason) {\n setPromiseIsHandledToTrue(writer._readyPromise);\n writer._readyPromise_reject(reason);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'rejected';\n }\n function defaultWriterReadyPromiseReset(writer) {\n defaultWriterReadyPromiseInitialize(writer);\n }\n function defaultWriterReadyPromiseResetToRejected(writer, reason) {\n defaultWriterReadyPromiseInitializeAsRejected(writer, reason);\n }\n function defaultWriterReadyPromiseResolve(writer) {\n writer._readyPromise_resolve(undefined);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'fulfilled';\n }\n function isAbortSignal(value) {\n if (typeof value !== 'object' || value === null) {\n return false;\n }\n try {\n return typeof value.aborted === 'boolean';\n } catch (_a) {\n return false;\n }\n }\n var NativeDOMException = typeof DOMException !== 'undefined' ? DOMException : undefined;\n function isDOMExceptionConstructor(ctor) {\n if (!(typeof ctor === 'function' || typeof ctor === 'object')) {\n return false;\n }\n try {\n new ctor();\n return true;\n } catch (_a) {\n return false;\n }\n }\n function createDOMExceptionPolyfill() {\n var ctor = function DOMException(message, name) {\n this.message = message || '';\n this.name = name || 'Error';\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n };\n ctor.prototype = Object.create(Error.prototype);\n Object.defineProperty(ctor.prototype, 'constructor', {\n value: ctor,\n writable: true,\n configurable: true\n });\n return ctor;\n }\n var DOMException$1 = isDOMExceptionConstructor(NativeDOMException) ? NativeDOMException : createDOMExceptionPolyfill();\n function ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) {\n var reader = AcquireReadableStreamDefaultReader(source);\n var writer = AcquireWritableStreamDefaultWriter(dest);\n source._disturbed = true;\n var shuttingDown = false;\n var currentWrite = promiseResolvedWith(undefined);\n return newPromise(function (resolve, reject) {\n var abortAlgorithm;\n if (signal !== undefined) {\n abortAlgorithm = function () {\n var error = new DOMException$1('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 promiseResolvedWith(undefined);\n });\n }\n if (preventCancel === false) {\n actions.push(function () {\n if (source._state === 'readable') {\n return ReadableStreamCancel(source, error);\n }\n return promiseResolvedWith(undefined);\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 newPromise(function (resolveLoop, rejectLoop) {\n function next(done) {\n if (done) {\n resolveLoop();\n } else {\n PerformPromiseThen(pipeStep(), next, rejectLoop);\n }\n }\n next(false);\n });\n }\n function pipeStep() {\n if (shuttingDown === true) {\n return promiseResolvedWith(true);\n }\n return PerformPromiseThen(writer._readyPromise, function () {\n return PerformPromiseThen(ReadableStreamDefaultReaderRead(reader), function (result) {\n if (result.done === true) {\n return true;\n }\n currentWrite = PerformPromiseThen(WritableStreamDefaultWriterWrite(writer, result.value), undefined, 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 setPromiseIsHandledToTrue(pipeLoop());\n function waitForWritesToFinish() {\n var oldCurrentWrite = currentWrite;\n return PerformPromiseThen(currentWrite, 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 uponRejection(promise, action);\n }\n }\n function isOrBecomesClosed(stream, promise, action) {\n if (stream._state === 'closed') {\n action();\n } else {\n uponFulfillment(promise, action);\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 uponFulfillment(waitForWritesToFinish(), doTheRest);\n } else {\n doTheRest();\n }\n function doTheRest() {\n uponPromise(action(), function () {\n return finalize(originalIsError, originalError);\n }, function (newError) {\n return finalize(true, newError);\n });\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 uponFulfillment(waitForWritesToFinish(), function () {\n return finalize(isError, error);\n });\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 }\n var 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 promiseResolvedWith(ReadableStreamCreateReadResult(chunk, false, stream._reader._forAuthorCode));\n }\n var pendingPromise = ReadableStreamAddReadRequest(stream);\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n return pendingPromise;\n };\n return ReadableStreamDefaultController;\n }();\n function 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 }\n function 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 uponPromise(pullPromise, 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 });\n }\n function 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 }\n function ReadableStreamDefaultControllerClearAlgorithms(controller) {\n controller._pullAlgorithm = undefined;\n controller._cancelAlgorithm = undefined;\n controller._strategySizeAlgorithm = undefined;\n }\n function 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 }\n function 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 }\n function 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 }\n function ReadableStreamDefaultControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableStream;\n var state = stream._state;\n if (state === 'errored') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return controller._strategyHWM - controller._queueTotalSize;\n }\n function ReadableStreamDefaultControllerHasBackpressure(controller) {\n if (ReadableStreamDefaultControllerShouldCallPull(controller) === true) {\n return false;\n }\n return true;\n }\n function ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) {\n var state = controller._controlledReadableStream._state;\n if (controller._closeRequested === false && state === 'readable') {\n return true;\n }\n return false;\n }\n function 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 uponPromise(promiseResolvedWith(startResult), function () {\n controller._started = true;\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableStreamDefaultControllerError(controller, r);\n });\n }\n function 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 }\n function defaultControllerBrandCheckException(name) {\n return new TypeError(\"ReadableStreamDefaultController.prototype.\" + name + \" can only be used on a ReadableStreamDefaultController\");\n }\n function 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 = newPromise(function (resolve) {\n resolveCancelPromise = resolve;\n });\n function pullAlgorithm() {\n if (reading === true) {\n return promiseResolvedWith(undefined);\n }\n reading = true;\n var readPromise = transformPromiseWith(ReadableStreamDefaultReaderRead(reader), 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 setPromiseIsHandledToTrue(readPromise);\n return promiseResolvedWith(undefined);\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 uponRejection(reader._closedPromise, function (r) {\n ReadableStreamDefaultControllerError(branch1._readableStreamController, r);\n ReadableStreamDefaultControllerError(branch2._readableStreamController, r);\n });\n return [\n branch1,\n branch2\n ];\n }\n var NumberIsInteger = Number.isInteger || function (value) {\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n };\n var 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 }();\n var 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 promiseRejectedWith(viewE);\n }\n return promiseResolvedWith(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 promiseRejectedWith(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 }();\n function 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 }\n function IsReadableStreamBYOBRequest(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {\n return false;\n }\n return true;\n }\n function ReadableByteStreamControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);\n if (shouldPull === false) {\n return;\n }\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return;\n }\n controller._pulling = true;\n var pullPromise = controller._pullAlgorithm();\n uponPromise(pullPromise, 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 });\n }\n function ReadableByteStreamControllerClearPendingPullIntos(controller) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n controller._pendingPullIntos = new SimpleQueue();\n }\n function 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 }\n function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {\n var bytesFilled = pullIntoDescriptor.bytesFilled;\n var elementSize = pullIntoDescriptor.elementSize;\n return new pullIntoDescriptor.ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize);\n }\n function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {\n controller._queue.push({\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength\n });\n controller._queueTotalSize += byteLength;\n }\n function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) {\n var elementSize = pullIntoDescriptor.elementSize;\n var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;\n var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled);\n var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;\n var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;\n var totalBytesToCopyRemaining = maxBytesToCopy;\n var ready = false;\n if (maxAlignedBytes > currentAlignedBytes) {\n totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;\n ready = true;\n }\n var queue = controller._queue;\n while (totalBytesToCopyRemaining > 0) {\n var headOfQueue = queue.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 }\n function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n pullIntoDescriptor.bytesFilled += size;\n }\n function ReadableByteStreamControllerHandleQueueDrain(controller) {\n if (controller._queueTotalSize === 0 && controller._closeRequested === true) {\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamClose(controller._controlledReadableByteStream);\n } else {\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }\n function ReadableByteStreamControllerInvalidateBYOBRequest(controller) {\n if (controller._byobRequest === undefined) {\n return;\n }\n controller._byobRequest._associatedReadableByteStreamController = undefined;\n controller._byobRequest._view = undefined;\n controller._byobRequest = undefined;\n }\n function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {\n 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 }\n function 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 promiseResolvedWith(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 promiseResolvedWith(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 promiseRejectedWith(e);\n }\n }\n controller._pendingPullIntos.push(pullIntoDescriptor);\n var promise = ReadableStreamAddReadIntoRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n return promise;\n }\n function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {\n firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);\n 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 }\n function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) {\n if (pullIntoDescriptor.bytesFilled + bytesWritten > pullIntoDescriptor.byteLength) {\n throw new RangeError('bytesWritten out of range');\n }\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);\n if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {\n return;\n }\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;\n if (remainderSize > 0) {\n var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n var remainder = pullIntoDescriptor.buffer.slice(end - remainderSize, end);\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);\n }\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n pullIntoDescriptor.bytesFilled -= remainderSize;\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n }\n function 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 }\n function ReadableByteStreamControllerShiftPendingPullInto(controller) {\n var descriptor = controller._pendingPullIntos.shift();\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n return descriptor;\n }\n function ReadableByteStreamControllerShouldCallPull(controller) {\n var stream = controller._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 }\n function ReadableByteStreamControllerClearAlgorithms(controller) {\n controller._pullAlgorithm = undefined;\n controller._cancelAlgorithm = undefined;\n }\n function 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 }\n function 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 }\n function 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 }\n function 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 }\n function ReadableByteStreamControllerRespond(controller, bytesWritten) {\n bytesWritten = Number(bytesWritten);\n if (IsFiniteNonNegativeNumber(bytesWritten) === false) {\n throw new RangeError('bytesWritten must be a finite');\n }\n ReadableByteStreamControllerRespondInternal(controller, bytesWritten);\n }\n function 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 }\n function 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 uponPromise(promiseResolvedWith(startResult), function () {\n controller._started = true;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableByteStreamControllerError(controller, r);\n });\n }\n function 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 }\n function SetUpReadableStreamBYOBRequest(request, controller, view) {\n request._associatedReadableByteStreamController = controller;\n request._view = view;\n }\n function byobRequestBrandCheckException(name) {\n return new TypeError(\"ReadableStreamBYOBRequest.prototype.\" + name + \" can only be used on a ReadableStreamBYOBRequest\");\n }\n function byteStreamControllerBrandCheckException(name) {\n return new TypeError(\"ReadableByteStreamController.prototype.\" + name + \" can only be used on a ReadableByteStreamController\");\n }\n function 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 }\n function ReadableStreamAddReadIntoRequest(stream) {\n var promise = newPromise(function (resolve, reject) {\n var readIntoRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._reader._readIntoRequests.push(readIntoRequest);\n });\n return promise;\n }\n function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {\n var reader = stream._reader;\n var readIntoRequest = reader._readIntoRequests.shift();\n readIntoRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));\n }\n function ReadableStreamGetNumReadIntoRequests(stream) {\n return stream._reader._readIntoRequests.length;\n }\n function 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 }\n var 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 promiseRejectedWith(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 promiseRejectedWith(byobReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n };\n ReadableStreamBYOBReader.prototype.read = function (view) {\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('read'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('read from'));\n }\n if (!ArrayBuffer.isView(view)) {\n return promiseRejectedWith(new TypeError('view must be an array buffer view'));\n }\n if (IsDetachedBuffer(view.buffer) === true);\n if (view.byteLength === 0) {\n return promiseRejectedWith(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 }();\n function IsReadableStreamBYOBReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {\n return false;\n }\n return true;\n }\n function ReadableStreamBYOBReaderRead(reader, view) {\n var stream = reader._ownerReadableStream;\n stream._disturbed = true;\n if (stream._state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n return ReadableByteStreamControllerPullInto(stream._readableStreamController, view);\n }\n function byobReaderBrandCheckException(name) {\n return new TypeError(\"ReadableStreamBYOBReader.prototype.\" + name + \" can only be used on a ReadableStreamBYOBReader\");\n }\n var 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 promiseRejectedWith(streamBrandCheckException$1('cancel'));\n }\n if (IsReadableStreamLocked(this) === true) {\n return promiseRejectedWith(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 setPromiseIsHandledToTrue(promise);\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 promiseRejectedWith(streamBrandCheckException$1('pipeTo'));\n }\n if (IsWritableStream(dest) === false) {\n return promiseRejectedWith(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 promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo\\'s signal option must be an AbortSignal'));\n }\n if (IsReadableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));\n }\n if (IsWritableStreamLocked(dest) === true) {\n return promiseRejectedWith(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 }();\n if (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 }\n function 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 }\n function InitializeReadableStream(stream) {\n stream._state = 'readable';\n stream._reader = undefined;\n stream._storedError = undefined;\n stream._disturbed = false;\n }\n function IsReadableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {\n return false;\n }\n return true;\n }\n function IsReadableStreamLocked(stream) {\n if (stream._reader === undefined) {\n return false;\n }\n return true;\n }\n function ReadableStreamCancel(stream, reason) {\n stream._disturbed = true;\n if (stream._state === 'closed') {\n return promiseResolvedWith(undefined);\n }\n if (stream._state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n ReadableStreamClose(stream);\n var sourceCancelPromise = stream._readableStreamController[CancelSteps](reason);\n return transformPromiseWith(sourceCancelPromise, noop);\n }\n function 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 }\n function 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 }\n function streamBrandCheckException$1(name) {\n return new TypeError(\"ReadableStream.prototype.\" + name + \" can only be used on a ReadableStream\");\n }\n var 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 }();\n var 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 }();\n var 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 = newPromise(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 }();\n function 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 promiseResolvedWith(undefined);\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 }\n function IsTransformStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {\n return false;\n }\n return true;\n }\n function TransformStreamError(stream, e) {\n ReadableStreamDefaultControllerError(stream._readable._readableStreamController, e);\n TransformStreamErrorWritableAndUnblockWrite(stream, e);\n }\n function TransformStreamErrorWritableAndUnblockWrite(stream, e) {\n TransformStreamDefaultControllerClearAlgorithms(stream._transformStreamController);\n WritableStreamDefaultControllerErrorIfNeeded(stream._writable._writableStreamController, e);\n if (stream._backpressure === true) {\n TransformStreamSetBackpressure(stream, false);\n }\n }\n function TransformStreamSetBackpressure(stream, backpressure) {\n if (stream._backpressureChangePromise !== undefined) {\n stream._backpressureChangePromise_resolve();\n }\n stream._backpressureChangePromise = newPromise(function (resolve) {\n stream._backpressureChangePromise_resolve = resolve;\n });\n stream._backpressure = backpressure;\n }\n var 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 }();\n function IsTransformStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {\n return false;\n }\n return true;\n }\n function SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm) {\n controller._controlledTransformStream = stream;\n stream._transformStreamController = controller;\n controller._transformAlgorithm = transformAlgorithm;\n controller._flushAlgorithm = flushAlgorithm;\n }\n function SetUpTransformStreamDefaultControllerFromTransformer(stream, transformer) {\n var controller = Object.create(TransformStreamDefaultController.prototype);\n var transformAlgorithm = function (chunk) {\n try {\n TransformStreamDefaultControllerEnqueue(controller, chunk);\n return promiseResolvedWith(undefined);\n } catch (transformResultE) {\n return promiseRejectedWith(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 }\n function TransformStreamDefaultControllerClearAlgorithms(controller) {\n controller._transformAlgorithm = undefined;\n controller._flushAlgorithm = undefined;\n }\n function 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 }\n function TransformStreamDefaultControllerError(controller, e) {\n TransformStreamError(controller._controlledTransformStream, e);\n }\n function TransformStreamDefaultControllerPerformTransform(controller, chunk) {\n var transformPromise = controller._transformAlgorithm(chunk);\n return transformPromiseWith(transformPromise, undefined, function (r) {\n TransformStreamError(controller._controlledTransformStream, r);\n throw r;\n });\n }\n function 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 }\n function TransformStreamDefaultSinkWriteAlgorithm(stream, chunk) {\n var controller = stream._transformStreamController;\n if (stream._backpressure === true) {\n var backpressureChangePromise = stream._backpressureChangePromise;\n return transformPromiseWith(backpressureChangePromise, 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 }\n function TransformStreamDefaultSinkAbortAlgorithm(stream, reason) {\n TransformStreamError(stream, reason);\n return promiseResolvedWith(undefined);\n }\n function TransformStreamDefaultSinkCloseAlgorithm(stream) {\n var readable = stream._readable;\n var controller = stream._transformStreamController;\n var flushPromise = controller._flushAlgorithm();\n TransformStreamDefaultControllerClearAlgorithms(controller);\n return transformPromiseWith(flushPromise, 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 }, function (r) {\n TransformStreamError(stream, r);\n throw readable._storedError;\n });\n }\n function TransformStreamDefaultSourcePullAlgorithm(stream) {\n TransformStreamSetBackpressure(stream, false);\n return stream._backpressureChangePromise;\n }\n function defaultControllerBrandCheckException$1(name) {\n return new TypeError(\"TransformStreamDefaultController.prototype.\" + name + \" can only be used on a TransformStreamDefaultController\");\n }\n function streamBrandCheckException$2(name) {\n return new TypeError(\"TransformStream.prototype.\" + name + \" can only be used on a TransformStream\");\n }\n exports.ByteLengthQueuingStrategy = ByteLengthQueuingStrategy;\n exports.CountQueuingStrategy = CountQueuingStrategy;\n exports.ReadableStream = ReadableStream;\n exports.TransformStream = TransformStream;\n exports.WritableStream = WritableStream;\n Object.defineProperty(exports, '__esModule', { value: true });\n}));\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(145);\n__w_pdfjs_require__(114);\n__w_pdfjs_require__(77);\n__w_pdfjs_require__(116);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Map;\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar collection = __w_pdfjs_require__(146);\nvar collectionStrong = __w_pdfjs_require__(150);\nmodule.exports = collection('Map', function (init) {\n return function Map() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n}, collectionStrong);\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar global = __w_pdfjs_require__(11);\nvar isForced = __w_pdfjs_require__(52);\nvar redefine = __w_pdfjs_require__(29);\nvar InternalMetadataModule = __w_pdfjs_require__(147);\nvar iterate = __w_pdfjs_require__(124);\nvar anInstance = __w_pdfjs_require__(123);\nvar isObject = __w_pdfjs_require__(22);\nvar fails = __w_pdfjs_require__(14);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(97);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar inheritIfRequired = __w_pdfjs_require__(149);\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\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/* 147 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar isObject = __w_pdfjs_require__(22);\nvar has = __w_pdfjs_require__(23);\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar uid = __w_pdfjs_require__(38);\nvar FREEZING = __w_pdfjs_require__(148);\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/* 148 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nmodule.exports = !fails(function () {\n return Object.isExtensible(Object.preventExtensions({}));\n});\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nvar setPrototypeOf = __w_pdfjs_require__(87);\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/* 150 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar create = __w_pdfjs_require__(71);\nvar redefineAll = __w_pdfjs_require__(121);\nvar bind = __w_pdfjs_require__(62);\nvar anInstance = __w_pdfjs_require__(123);\nvar iterate = __w_pdfjs_require__(124);\nvar defineIterator = __w_pdfjs_require__(79);\nvar setSpecies = __w_pdfjs_require__(122);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar fastKey = __w_pdfjs_require__(147).fastKey;\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\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 index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS)\n that.size = 0;\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 entry = getEntry(that, key);\n var previous, index;\n if (entry) {\n entry.value = value;\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first)\n state.first = entry;\n if (previous)\n previous.next = entry;\n if (DESCRIPTORS)\n state.size++;\n else\n that.size++;\n if (index !== 'F')\n state.index[index] = entry;\n }\n return that;\n };\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n var index = fastKey(key);\n var entry;\n if (index !== 'F')\n return state.index[index];\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key)\n return entry;\n }\n };\n redefineAll(C.prototype, {\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous)\n entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS)\n state.size = 0;\n else\n that.size = 0;\n },\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev)\n prev.next = next;\n if (next)\n next.previous = prev;\n if (state.first == entry)\n state.first = next;\n if (state.last == entry)\n state.last = prev;\n if (DESCRIPTORS)\n state.size--;\n else\n that.size--;\n }\n return !!entry;\n },\n forEach: function forEach(callbackfn) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n while (entry && entry.removed)\n entry = entry.previous;\n }\n },\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n redefineAll(C.prototype, IS_MAP ? {\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS)\n defineProperty(C.prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return C;\n },\n setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n while (entry && entry.removed)\n entry = entry.previous;\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n state.target = undefined;\n return {\n value: undefined,\n done: true\n };\n }\n if (kind == 'keys')\n return {\n value: entry.key,\n done: false\n };\n if (kind == 'values')\n return {\n value: entry.value,\n done: false\n };\n return {\n value: [\n entry.key,\n entry.value\n ],\n done: false\n };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(152);\n__w_pdfjs_require__(114);\n__w_pdfjs_require__(77);\n__w_pdfjs_require__(116);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Set;\n\n/***/ }),\n/* 152 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar collection = __w_pdfjs_require__(146);\nvar collectionStrong = __w_pdfjs_require__(150);\nmodule.exports = collection('Set', function (init) {\n return function Set() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n}, collectionStrong);\n\n/***/ }),\n/* 153 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(114);\n__w_pdfjs_require__(154);\n__w_pdfjs_require__(116);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.WeakMap;\n\n/***/ }),\n/* 154 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar global = __w_pdfjs_require__(11);\nvar redefineAll = __w_pdfjs_require__(121);\nvar InternalMetadataModule = __w_pdfjs_require__(147);\nvar collection = __w_pdfjs_require__(146);\nvar collectionWeak = __w_pdfjs_require__(155);\nvar isObject = __w_pdfjs_require__(22);\nvar enforceIternalState = __w_pdfjs_require__(33).enforce;\nvar NATIVE_WEAK_MAP = __w_pdfjs_require__(34);\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar isExtensible = Object.isExtensible;\nvar InternalWeakMap;\nvar wrapper = function (init) {\n return function WeakMap() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n};\nvar $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak);\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/* 155 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar redefineAll = __w_pdfjs_require__(121);\nvar getWeakData = __w_pdfjs_require__(147).getWeakData;\nvar anObject = __w_pdfjs_require__(28);\nvar isObject = __w_pdfjs_require__(22);\nvar anInstance = __w_pdfjs_require__(123);\nvar iterate = __w_pdfjs_require__(124);\nvar ArrayIterationModule = __w_pdfjs_require__(156);\nvar $has = __w_pdfjs_require__(23);\nvar InternalStateModule = __w_pdfjs_require__(33);\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/* 156 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar bind = __w_pdfjs_require__(62);\nvar IndexedObject = __w_pdfjs_require__(18);\nvar toObject = __w_pdfjs_require__(83);\nvar toLength = __w_pdfjs_require__(47);\nvar arraySpeciesCreate = __w_pdfjs_require__(157);\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/* 157 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nvar isArray = __w_pdfjs_require__(158);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\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/* 158 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar classof = __w_pdfjs_require__(19);\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n\n/***/ }),\n/* 159 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(114);\n__w_pdfjs_require__(160);\n__w_pdfjs_require__(116);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.WeakSet;\n\n/***/ }),\n/* 160 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar collection = __w_pdfjs_require__(146);\nvar collectionWeak = __w_pdfjs_require__(155);\ncollection('WeakSet', function (init) {\n return function WeakSet() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n}, collectionWeak);\n\n/***/ }),\n/* 161 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(162);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'codePointAt');\n\n/***/ }),\n/* 162 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar codeAt = __w_pdfjs_require__(78).codeAt;\n$({\n target: 'String',\n proto: true\n}, {\n codePointAt: function codePointAt(pos) {\n return codeAt(this, pos);\n }\n});\n\n/***/ }),\n/* 163 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(164);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.String.fromCodePoint;\n\n/***/ }),\n/* 164 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar toAbsoluteIndex = __w_pdfjs_require__(49);\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/* 165 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(166);\n__w_pdfjs_require__(114);\n__w_pdfjs_require__(168);\n__w_pdfjs_require__(172);\n__w_pdfjs_require__(173);\n__w_pdfjs_require__(174);\n__w_pdfjs_require__(175);\n__w_pdfjs_require__(176);\n__w_pdfjs_require__(177);\n__w_pdfjs_require__(178);\n__w_pdfjs_require__(179);\n__w_pdfjs_require__(180);\n__w_pdfjs_require__(181);\n__w_pdfjs_require__(182);\n__w_pdfjs_require__(183);\n__w_pdfjs_require__(184);\n__w_pdfjs_require__(185);\n__w_pdfjs_require__(186);\n__w_pdfjs_require__(187);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Symbol;\n\n/***/ }),\n/* 166 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar fails = __w_pdfjs_require__(14);\nvar isArray = __w_pdfjs_require__(158);\nvar isObject = __w_pdfjs_require__(22);\nvar toObject = __w_pdfjs_require__(83);\nvar toLength = __w_pdfjs_require__(47);\nvar createProperty = __w_pdfjs_require__(93);\nvar arraySpeciesCreate = __w_pdfjs_require__(157);\nvar arrayMethodHasSpeciesSupport = __w_pdfjs_require__(167);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar V8_VERSION = __w_pdfjs_require__(133);\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 = V8_VERSION >= 51 || !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/* 167 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar V8_VERSION = __w_pdfjs_require__(133);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (METHOD_NAME) {\n return V8_VERSION >= 51 || !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/* 168 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar global = __w_pdfjs_require__(11);\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar NATIVE_SYMBOL = __w_pdfjs_require__(58);\nvar USE_SYMBOL_AS_UID = __w_pdfjs_require__(59);\nvar fails = __w_pdfjs_require__(14);\nvar has = __w_pdfjs_require__(23);\nvar isArray = __w_pdfjs_require__(158);\nvar isObject = __w_pdfjs_require__(22);\nvar anObject = __w_pdfjs_require__(28);\nvar toObject = __w_pdfjs_require__(83);\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar toPrimitive = __w_pdfjs_require__(21);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nvar nativeObjectCreate = __w_pdfjs_require__(71);\nvar objectKeys = __w_pdfjs_require__(73);\nvar getOwnPropertyNamesModule = __w_pdfjs_require__(44);\nvar getOwnPropertyNamesExternal = __w_pdfjs_require__(169);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(51);\nvar getOwnPropertyDescriptorModule = __w_pdfjs_require__(12);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(15);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar redefine = __w_pdfjs_require__(29);\nvar shared = __w_pdfjs_require__(36);\nvar sharedKey = __w_pdfjs_require__(35);\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar uid = __w_pdfjs_require__(38);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar wrappedWellKnownSymbolModule = __w_pdfjs_require__(170);\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar $forEach = __w_pdfjs_require__(156).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 $stringify = getBuiltIn('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 = USE_SYMBOL_AS_UID ? 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 redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\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}\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});\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n return $stringify([symbol]) != '[null]' || $stringify({ a: symbol }) != '{}' || $stringify(Object(symbol)) != '{}';\n });\n $({\n target: 'JSON',\n stat: true,\n forced: FORCED_JSON_STRINGIFY\n }, {\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index)\n args.push(arguments[index++]);\n $replacer = replacer;\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 $stringify.apply(null, args);\n }\n });\n}\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\nsetToStringTag($Symbol, SYMBOL);\nhiddenKeys[HIDDEN] = true;\n\n/***/ }),\n/* 169 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar nativeGetOwnPropertyNames = __w_pdfjs_require__(44).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/* 170 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nexports.f = wellKnownSymbol;\n\n/***/ }),\n/* 171 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar path = __w_pdfjs_require__(43);\nvar has = __w_pdfjs_require__(23);\nvar wrappedWellKnownSymbolModule = __w_pdfjs_require__(170);\nvar defineProperty = __w_pdfjs_require__(27).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/* 172 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('asyncIterator');\n\n/***/ }),\n/* 173 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar global = __w_pdfjs_require__(11);\nvar has = __w_pdfjs_require__(23);\nvar isObject = __w_pdfjs_require__(22);\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar copyConstructorProperties = __w_pdfjs_require__(40);\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/* 174 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('hasInstance');\n\n/***/ }),\n/* 175 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('isConcatSpreadable');\n\n/***/ }),\n/* 176 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('iterator');\n\n/***/ }),\n/* 177 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('match');\n\n/***/ }),\n/* 178 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('matchAll');\n\n/***/ }),\n/* 179 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('replace');\n\n/***/ }),\n/* 180 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('search');\n\n/***/ }),\n/* 181 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('species');\n\n/***/ }),\n/* 182 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('split');\n\n/***/ }),\n/* 183 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('toPrimitive');\n\n/***/ }),\n/* 184 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('toStringTag');\n\n/***/ }),\n/* 185 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(171);\ndefineWellKnownSymbol('unscopables');\n\n/***/ }),\n/* 186 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar setToStringTag = __w_pdfjs_require__(85);\nsetToStringTag(Math, 'Math', true);\n\n/***/ }),\n/* 187 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar setToStringTag = __w_pdfjs_require__(85);\nsetToStringTag(global.JSON, 'JSON', true);\n\n/***/ }),\n/* 188 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(189);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'padStart');\n\n/***/ }),\n/* 189 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar $padStart = __w_pdfjs_require__(190).start;\nvar WEBKIT_BUG = __w_pdfjs_require__(192);\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/* 190 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toLength = __w_pdfjs_require__(47);\nvar repeat = __w_pdfjs_require__(191);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\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/* 191 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toInteger = __w_pdfjs_require__(48);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\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/* 192 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar userAgent = __w_pdfjs_require__(127);\nmodule.exports = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n/***/ }),\n/* 193 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(194);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'padEnd');\n\n/***/ }),\n/* 194 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar $padEnd = __w_pdfjs_require__(190).end;\nvar WEBKIT_BUG = __w_pdfjs_require__(192);\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/* 195 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(196);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Object.values;\n\n/***/ }),\n/* 196 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar $values = __w_pdfjs_require__(197).values;\n$({\n target: 'Object',\n stat: true\n}, {\n values: function values(O) {\n return $values(O);\n }\n});\n\n/***/ }),\n/* 197 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar objectKeys = __w_pdfjs_require__(73);\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar propertyIsEnumerable = __w_pdfjs_require__(15).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/* 198 */\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__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nvar _font_loader = __w_pdfjs_require__(199);\n\nvar _api_compatibility = __w_pdfjs_require__(200);\n\nvar _canvas = __w_pdfjs_require__(201);\n\nvar _worker_options = __w_pdfjs_require__(203);\n\nvar _is_node = __w_pdfjs_require__(7);\n\nvar _message_handler = __w_pdfjs_require__(204);\n\nvar _metadata = __w_pdfjs_require__(205);\n\nvar _transport_stream = __w_pdfjs_require__(207);\n\nvar _webgl = __w_pdfjs_require__(208);\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 _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\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 _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) 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 _typeof(obj) { \"@babel/helpers - typeof\"; 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 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.fontExtraProperties = params.fontExtraProperties === true;\n params.pdfBug = params.pdfBug === true;\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 (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 var workerIdPromise = _fetchDocument(worker, params, rangeTransport, docId);\n\n var networkStreamPromise = new Promise(function (resolve) {\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 resolve(networkStream);\n });\n return Promise.all([workerIdPromise, networkStreamPromise]).then(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n workerId = _ref2[0],\n networkStream = _ref2[1];\n\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\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.5.207',\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 postMessageTransfers: worker.postMessageTransfers,\n docBaseUrl: source.docBaseUrl,\n ignoreErrors: source.ignoreErrors,\n isEvalSupported: source.isEvalSupported,\n fontExtraProperties: source.fontExtraProperties\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 = /*#__PURE__*/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: \"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 = /*#__PURE__*/function () {\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 _iterator = _createForOfIteratorHelper(this._rangeListeners),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var listener = _step.value;\n listener(begin, chunk);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\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 _iterator2 = _createForOfIteratorHelper(_this2._progressListeners),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var listener = _step2.value;\n listener(loaded, total);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\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 _iterator3 = _createForOfIteratorHelper(_this3._progressiveReadListeners),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var listener = _step3.value;\n listener(chunk);\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n });\n }\n }, {\n key: \"onDataProgressiveDone\",\n value: function onDataProgressiveDone() {\n var _this4 = this;\n\n this._readyCapability.promise.then(function () {\n var _iterator4 = _createForOfIteratorHelper(_this4._progressiveDoneListeners),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var listener = _step4.value;\n listener();\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\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 = /*#__PURE__*/function () {\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: \"getOpenAction\",\n value: function getOpenAction() {\n return this._transport.getOpenAction();\n }\n }, {\n key: \"getOpenActionDestination\",\n value: function getOpenActionDestination() {\n (0, _display_utils.deprecated)(\"getOpenActionDestination, use getOpenAction instead.\");\n return this.getOpenAction().then(function (openAction) {\n return openAction && openAction.dest ? openAction.dest : null;\n });\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 return 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 = /*#__PURE__*/function () {\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() : null;\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 _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n scale = _ref3.scale,\n _ref3$rotation = _ref3.rotation,\n rotation = _ref3$rotation === void 0 ? this.rotate : _ref3$rotation,\n _ref3$offsetX = _ref3.offsetX,\n offsetX = _ref3$offsetX === void 0 ? 0 : _ref3$offsetX,\n _ref3$offsetY = _ref3.offsetY,\n offsetY = _ref3$offsetY === void 0 ? 0 : _ref3$offsetY,\n _ref3$dontFlip = _ref3.dontFlip,\n dontFlip = _ref3$dontFlip === void 0 ? false : _ref3$dontFlip;\n\n return new _display_utils.PageViewport({\n viewBox: this.view,\n scale: scale,\n rotation: rotation,\n offsetX: offsetX,\n offsetY: offsetY,\n dontFlip: dontFlip\n });\n }\n }, {\n key: \"getAnnotations\",\n value: function getAnnotations() {\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref4$intent = _ref4.intent,\n intent = _ref4$intent === void 0 ? null : _ref4$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(_ref5) {\n var _this5 = this;\n\n var canvasContext = _ref5.canvasContext,\n viewport = _ref5.viewport,\n _ref5$intent = _ref5.intent,\n intent = _ref5$intent === void 0 ? \"display\" : _ref5$intent,\n _ref5$enableWebGL = _ref5.enableWebGL,\n enableWebGL = _ref5$enableWebGL === void 0 ? false : _ref5$enableWebGL,\n _ref5$renderInteracti = _ref5.renderInteractiveForms,\n renderInteractiveForms = _ref5$renderInteracti === void 0 ? false : _ref5$renderInteracti,\n _ref5$transform = _ref5.transform,\n transform = _ref5$transform === void 0 ? null : _ref5$transform,\n _ref5$imageLayer = _ref5.imageLayer,\n imageLayer = _ref5$imageLayer === void 0 ? null : _ref5$imageLayer,\n _ref5$canvasFactory = _ref5.canvasFactory,\n canvasFactory = _ref5$canvasFactory === void 0 ? null : _ref5$canvasFactory,\n _ref5$background = _ref5.background,\n background = _ref5$background === void 0 ? null : _ref5$background;\n\n if (this._stats) {\n this._stats.time(\"Overall\");\n }\n\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\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n\n this._pumpOperatorList({\n pageIndex: this._pageIndex,\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 if (_this5._stats) {\n _this5._stats.timeEnd(\"Rendering\");\n\n _this5._stats.timeEnd(\"Overall\");\n }\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 pageIndex: this._pageIndex,\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 if (_this5._stats) {\n _this5._stats.time(\"Rendering\");\n }\n\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 if (this._stats) {\n this._stats.time(\"Page Request\");\n }\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 _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref6$normalizeWhites = _ref6.normalizeWhitespace,\n normalizeWhitespace = _ref6$normalizeWhites === void 0 ? false : _ref6$normalizeWhites,\n _ref6$disableCombineT = _ref6.disableCombineTextItems,\n disableCombineTextItems = _ref6$disableCombineT === void 0 ? false : _ref6$disableCombineT;\n\n var TEXT_CONTENT_CHUNK_SIZE = 100;\n return this._transport.messageHandler.sendWithStream(\"GetTextContent\", {\n pageIndex: this._pageIndex,\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 (_ref7) {\n var _textContent$items;\n\n var value = _ref7.value,\n done = _ref7.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 return 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 false;\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) {\n this._stats = new _display_utils.StatTimer();\n }\n\n this.pendingCleanup = false;\n return true;\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 if (this._stats) {\n this._stats.timeEnd(\"Page Request\");\n }\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 _i2 = 0; _i2 < intentState.renderTasks.length; _i2++) {\n intentState.renderTasks[_i2].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 (_ref8) {\n var value = _ref8.value,\n done = _ref8.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(_ref9) {\n var _this9 = this;\n\n var intentState = _ref9.intentState,\n reason = _ref9.reason,\n _ref9$force = _ref9.force,\n force = _ref9$force === void 0 ? false : _ref9$force;\n (0, _util.assert)(reason instanceof Error || _typeof(reason) === \"object\" && reason !== null, '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;\n }\n }]);\n\n return PDFPageProxy;\n}();\n\nexports.PDFPageProxy = PDFPageProxy;\n\nvar LoopbackPort = /*#__PURE__*/function () {\n function LoopbackPort() {\n var defer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n _classCallCheck(this, LoopbackPort);\n\n this._listeners = [];\n this._defer = defer;\n this._deferred = Promise.resolve(undefined);\n }\n\n _createClass(LoopbackPort, [{\n key: \"postMessage\",\n value: function postMessage(obj, transfers) {\n var _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 (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 isWorkerDisabled = false;\n var fallbackWorkerSrc;\n var nextFakeWorkerId = 0;\n var fakeWorkerCapability;\n\n if (_is_node.isNodeJS && typeof require === \"function\") {\n isWorkerDisabled = true;\n fallbackWorkerSrc = \"./pdf.worker.js\";\n } else if ((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\n function _getWorkerSrc() {\n if (_worker_options.GlobalWorkerOptions.workerSrc) {\n return _worker_options.GlobalWorkerOptions.workerSrc;\n }\n\n if (typeof fallbackWorkerSrc !== \"undefined\") {\n if (!_is_node.isNodeJS) {\n (0, _display_utils.deprecated)('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n return fallbackWorkerSrc;\n }\n\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n function getMainThreadWorkerMessageHandler() {\n var mainWorkerMessageHandler;\n\n try {\n mainWorkerMessageHandler = globalThis.pdfjsWorker && globalThis.pdfjsWorker.WorkerMessageHandler;\n } catch (ex) {}\n\n return mainWorkerMessageHandler || null;\n }\n\n function setupFakeWorkerGlobal() {\n if (fakeWorkerCapability) {\n return fakeWorkerCapability.promise;\n }\n\n fakeWorkerCapability = (0, _util.createPromiseCapability)();\n\n var loader = /*#__PURE__*/function () {\n var _ref10 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var mainWorkerMessageHandler, worker;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();\n\n if (!mainWorkerMessageHandler) {\n _context.next = 3;\n break;\n }\n\n return _context.abrupt(\"return\", mainWorkerMessageHandler);\n\n case 3:\n if (!(_is_node.isNodeJS && typeof require === \"function\")) {\n _context.next = 6;\n break;\n }\n\n worker = eval(\"require\")(_getWorkerSrc());\n return _context.abrupt(\"return\", worker.WorkerMessageHandler);\n\n case 6:\n _context.next = 8;\n return (0, _display_utils.loadScript)(_getWorkerSrc());\n\n case 8:\n return _context.abrupt(\"return\", window.pdfjsWorker.WorkerMessageHandler);\n\n case 9:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function loader() {\n return _ref10.apply(this, arguments);\n };\n }();\n\n loader().then(fakeWorkerCapability.resolve, fakeWorkerCapability.reject);\n return fakeWorkerCapability.promise;\n }\n\n function createCDNWrapper(url) {\n var wrapper = \"importScripts('\" + url + \"');\";\n return URL.createObjectURL(new Blob([wrapper]));\n }\n\n var PDFWorker = /*#__PURE__*/function () {\n function PDFWorker() {\n var _ref11 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref11$name = _ref11.name,\n name = _ref11$name === void 0 ? null : _ref11$name,\n _ref11$port = _ref11.port,\n port = _ref11$port === void 0 ? null : _ref11$port,\n _ref11$verbosity = _ref11.verbosity,\n verbosity = _ref11$verbosity === void 0 ? (0, _util.getVerbosityLevel)() : _ref11$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\n messageHandler.send(\"configure\", {\n verbosity: _this12.verbosity\n });\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 = /*#__PURE__*/function () {\n function WorkerTransport(messageHandler, loadingTask, networkStream, params) {\n _classCallCheck(this, WorkerTransport);\n\n this.messageHandler = messageHandler;\n this.loadingTask = loadingTask;\n this.commonObjs = new PDFObjects();\n this.fontLoader = new _font_loader.FontLoader({\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, \"GetReader - no `IPDFStream` instance available.\");\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 (_ref12) {\n var value = _ref12.value,\n done = _ref12.done;\n\n if (done) {\n sink.close();\n return;\n }\n\n (0, _util.assert)((0, _util.isArrayBuffer)(value), \"GetReader - expected an ArrayBuffer.\");\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, \"GetRangeReader - no `IPDFStream` instance available.\");\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 (_ref13) {\n var value = _ref13.value,\n done = _ref13.done;\n\n if (done) {\n sink.close();\n return;\n }\n\n (0, _util.assert)((0, _util.isArrayBuffer)(value), \"GetRangeReader - expected an ArrayBuffer.\");\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 (_ref14) {\n var pdfInfo = _ref14.pdfInfo;\n _this14._numPages = pdfInfo.numPages;\n\n loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, _this14));\n });\n messageHandler.on(\"DocException\", function (ex) {\n var reason;\n\n switch (ex.name) {\n case \"PasswordException\":\n reason = new _util.PasswordException(ex.message, ex.code);\n break;\n\n case \"InvalidPDFException\":\n reason = new _util.InvalidPDFException(ex.message);\n break;\n\n case \"MissingPDFException\":\n reason = new _util.MissingPDFException(ex.message);\n break;\n\n case \"UnexpectedResponseException\":\n reason = new _util.UnexpectedResponseException(ex.message, ex.status);\n break;\n\n case \"UnknownErrorException\":\n reason = new _util.UnknownErrorException(ex.message, ex.details);\n break;\n }\n\n loadingTask._capability.reject(reason);\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(\"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 && globalThis.FontInspector && globalThis.FontInspector.enabled) {\n fontRegistry = {\n registerFont: function registerFont(font, url) {\n globalThis.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)[\"catch\"](function (reason) {\n return messageHandler.sendWithPromise(\"FontFallback\", {\n id: id\n });\n })[\"finally\"](function () {\n if (!params.fontExtraProperties && font.data) {\n font.data = null;\n }\n\n _this14.commonObjs.resolve(id, font);\n });\n\n break;\n\n case \"FontPath\":\n case \"FontType3Res\":\n case \"Image\":\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 \"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(\"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(_ref15) {\n var featureId = _ref15.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: \"getOpenAction\",\n value: function getOpenAction() {\n return this.messageHandler.sendWithPromise(\"GetOpenAction\", 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 return 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 var cleanupSuccessful = page.cleanup();\n\n if (!cleanupSuccessful) {\n throw new Error(\"startCleanup: Page \".concat(i + 1, \" is currently rendering.\"));\n }\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 disableFontFace: params.disableFontFace\n });\n }\n }]);\n\n return WorkerTransport;\n}();\n\nvar PDFObjects = /*#__PURE__*/function () {\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 this._objs = Object.create(null);\n }\n }]);\n\n return PDFObjects;\n}();\n\nvar RenderTask = /*#__PURE__*/function () {\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: \"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 = /*#__PURE__*/function () {\n function InternalRenderTask(_ref16) {\n var callback = _ref16.callback,\n params = _ref16.params,\n objs = _ref16.objs,\n commonObjs = _ref16.commonObjs,\n operatorList = _ref16.operatorList,\n pageIndex = _ref16.pageIndex,\n canvasFactory = _ref16.canvasFactory,\n webGLContext = _ref16.webGLContext,\n _ref16$useRequestAnim = _ref16.useRequestAnimationFrame,\n useRequestAnimationFrame = _ref16$useRequestAnim === void 0 ? false : _ref16$useRequestAnim,\n _ref16$pdfBug = _ref16.pdfBug,\n pdfBug = _ref16$pdfBug === void 0 ? false : _ref16$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._pageIndex = pageIndex;\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 && globalThis.StepperManager && globalThis.StepperManager.enabled) {\n this.stepper = globalThis.StepperManager.create(this._pageIndex);\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._pageIndex + 1), \"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( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!this.cancelled) {\n _context2.next = 2;\n break;\n }\n\n return _context2.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 _context2.stop();\n }\n }\n }, _callee2, 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.5.207';\nexports.version = version;\nvar build = '0974d605';\nexports.build = build;\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.FontLoader = exports.FontFaceObject = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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 _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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\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 _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 = /*#__PURE__*/function () {\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( /*#__PURE__*/_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\");\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.errorFontLoadNative\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\");\n\n case 19:\n rule = font.createFontFaceRule();\n\n if (!rule) {\n _context.next = 26;\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\");\n\n case 24:\n _context.next = 26;\n return new Promise(function (resolve) {\n var request = _this._queueLoadingCallback(resolve);\n\n _this._prepareFontLoadEvent([rule], [font], request);\n });\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 var supported = typeof document !== \"undefined\" && !!document.fonts;\n return (0, _util.shadow)(this, \"isFontLoadingAPISupported\", supported);\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 = /*#__PURE__*/function (_BaseFontLoader) {\n _inherits(GenericFontLoader, _BaseFontLoader);\n\n var _super = _createSuper(GenericFontLoader);\n\n function GenericFontLoader(docId) {\n var _this2;\n\n _classCallCheck(this, GenericFontLoader);\n\n _this2 = _super.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.style.visibility = \"hidden\";\n div.style.width = div.style.height = \"10px\";\n div.style.position = \"absolute\";\n div.style.top = div.style.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: \"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}\n\nvar FontFaceObject = /*#__PURE__*/function () {\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.errorFontGetPath\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 && _util.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/* 200 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.apiCompatibilityParams = void 0;\n\nvar _is_node = __w_pdfjs_require__(7);\n\nvar compatibilityParams = Object.create(null);\n{\n (function checkFontFace() {\n if (_is_node.isNodeJS) {\n compatibilityParams.disableFontFace = true;\n }\n })();\n}\nvar apiCompatibilityParams = Object.freeze(compatibilityParams);\nexports.apiCompatibilityParams = apiCompatibilityParams;\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.CanvasGraphics = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _pattern_helper = __w_pdfjs_require__(202);\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\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;\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 k = 0, kk = outlines.length; k < kk; k++) {\n var o = outlines[k];\n c.moveTo(o[0], o[1]);\n\n for (var l = 2, ll = o.length; l < ll; l += 2) {\n c.lineTo(o[l], o[l + 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 = _util.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 _iterator = _createForOfIteratorHelper(argsArray[i]),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\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 _iterator.e(err);\n } finally {\n _iterator.f();\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 = \"normal\";\n\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n\n var italic = fontObj.italic ? \"italic\" : \"normal\";\n var typeface = \"\\\"\".concat(name, \"\\\", \").concat(fontObj.fallbackName);\n var browserFontSize = size;\n\n if (size < MIN_FONT_SIZE) {\n browserFontSize = MIN_FONT_SIZE;\n } else if (size > MAX_FONT_SIZE) {\n browserFontSize = MAX_FONT_SIZE;\n }\n\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.missingFile;\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;\n\n if (vertical) {\n charWidth = width * widthAdvanceScale - spacing * fontDirection;\n } else {\n charWidth = width * widthAdvanceScale + spacing * fontDirection;\n }\n\n x += charWidth;\n\n if (restoreNeeded) {\n ctx.restore();\n }\n }\n\n if (vertical) {\n current.y -= x;\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 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 = objId.startsWith(\"g_\") ? 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 = objId.startsWith(\"g_\") ? 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/* 202 */\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__(5);\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\n for (var y = minY; y <= maxY; y++) {\n if (y < y2) {\n var _k = void 0;\n\n if (y < y1) {\n _k = 0;\n } else if (y1 === y2) {\n _k = 1;\n } else {\n _k = (y1 - y) / (y1 - y2);\n }\n\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 var _k2 = void 0;\n\n if (y > y3) {\n _k2 = 1;\n } else if (y2 === y3) {\n _k2 = 0;\n } else {\n _k2 = (y2 - y) / (y2 - y3);\n }\n\n xa = x2 - (x2 - x3) * _k2;\n car = c2r - (c2r - c3r) * _k2;\n cag = c2g - (c2g - c3g) * _k2;\n cab = c2b - (c2b - c3b) * _k2;\n }\n\n var k = void 0;\n\n if (y < y1) {\n k = 0;\n } else if (y > y3) {\n k = 1;\n } else {\n k = (y1 - y) / (y1 - y3);\n }\n\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\n if (k < 0) {\n k = 0;\n } else if (k > 1) {\n k = 1;\n }\n\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/* 203 */\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/* 204 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MessageHandler = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\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 _typeof(obj) { \"@babel/helpers - typeof\"; 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 CallbackKind = {\n UNKNOWN: 0,\n DATA: 1,\n ERROR: 2\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\" || reason === null) {\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\nvar MessageHandler = /*#__PURE__*/function () {\n function MessageHandler(sourceName, targetName, comObj) {\n var _this = this;\n\n _classCallCheck(this, MessageHandler);\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 this.callbackCapabilities = Object.create(null);\n 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\n return;\n }\n\n if (data.callback) {\n var callbackId = data.callbackId;\n var capability = _this.callbackCapabilities[callbackId];\n\n if (!capability) {\n throw new Error(\"Cannot resolve callback \".concat(callbackId));\n }\n\n delete _this.callbackCapabilities[callbackId];\n\n if (data.callback === CallbackKind.DATA) {\n capability.resolve(data.data);\n } else if (data.callback === CallbackKind.ERROR) {\n capability.reject(wrapReason(data.reason));\n } else {\n throw new Error(\"Unexpected callback case\");\n }\n\n return;\n }\n\n var action = _this.actionHandler[data.action];\n\n if (!action) {\n throw new Error(\"Unknown action from worker: \".concat(data.action));\n }\n\n if (data.callbackId) {\n var cbSourceName = _this.sourceName;\n var cbTargetName = data.sourceName;\n new Promise(function (resolve) {\n resolve(action(data.data));\n }).then(function (result) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.DATA,\n callbackId: data.callbackId,\n data: result\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.ERROR,\n callbackId: data.callbackId,\n reason: wrapReason(reason)\n });\n });\n return;\n }\n\n if (data.streamId) {\n _this._createStreamSink(data);\n\n return;\n }\n\n action(data.data);\n };\n\n comObj.addEventListener(\"message\", this._onComObjOnMessage);\n }\n\n _createClass(MessageHandler, [{\n key: \"on\",\n value: 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 }, {\n key: \"send\",\n value: 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 }, {\n key: \"sendWithPromise\",\n value: function sendWithPromise(actionName, data, transfers) {\n var callbackId = this.callbackId++;\n var capability = (0, _util.createPromiseCapability)();\n this.callbackCapabilities[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 }, {\n key: \"sendWithStream\",\n value: 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 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 }, {\n key: \"_createStreamSink\",\n value: function _createStreamSink(data) {\n var self = this;\n var action = this.actionHandler[data.action];\n var streamId = data.streamId;\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\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: (0, _util.createPromiseCapability)(),\n onPull: null,\n onCancel: null,\n isCancelled: false,\n desiredSize: data.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 }, {\n key: \"_processStreamMessage\",\n value: function _processStreamMessage(data) {\n var streamId = data.streamId;\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var comObj = this.comObj;\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\n this._deleteStreamController(streamId);\n\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\n this._deleteStreamController(streamId);\n\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 this._deleteStreamController(streamId);\n\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 }, {\n key: \"_deleteStreamController\",\n value: function () {\n var _deleteStreamController2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(streamId) {\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 Promise.allSettled([this.streamControllers[streamId].startCall, this.streamControllers[streamId].pullCall, this.streamControllers[streamId].cancelCall].map(function (capability) {\n return capability && capability.promise;\n }));\n\n case 2:\n delete this.streamControllers[streamId];\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function _deleteStreamController(_x) {\n return _deleteStreamController2.apply(this, arguments);\n }\n\n return _deleteStreamController;\n }()\n }, {\n key: \"_postMessage\",\n value: 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 }, {\n key: \"destroy\",\n value: function destroy() {\n this.comObj.removeEventListener(\"message\", this._onComObjOnMessage);\n }\n }]);\n\n return MessageHandler;\n}();\n\nexports.MessageHandler = MessageHandler;\n\n/***/ }),\n/* 205 */\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__(5);\n\nvar _xml_parser = __w_pdfjs_require__(206);\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) 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 _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; 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\nvar Metadata = /*#__PURE__*/function () {\n function Metadata(data) {\n _classCallCheck(this, Metadata);\n\n (0, _util.assert)(typeof data === \"string\", \"Metadata: input is not a string\");\n data = this._repair(data);\n var parser = new _xml_parser.SimpleXMLParser();\n var xmlDocument = parser.parseFromString(data);\n this._metadataMap = new Map();\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\n this._metadataMap.set(name, entry.textContent.trim());\n }\n }\n }\n }\n }, {\n key: \"get\",\n value: function get(name) {\n return this._metadataMap.has(name) ? this._metadataMap.get(name) : null;\n }\n }, {\n key: \"getAll\",\n value: function getAll() {\n var obj = Object.create(null);\n\n var _iterator = _createForOfIteratorHelper(this._metadataMap),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _slicedToArray(_step.value, 2),\n key = _step$value[0],\n value = _step$value[1];\n\n obj[key] = value;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return obj;\n }\n }, {\n key: \"has\",\n value: function has(name) {\n return this._metadataMap.has(name);\n }\n }]);\n\n return Metadata;\n}();\n\nexports.Metadata = Metadata;\n\n/***/ }),\n/* 206 */\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) { \"@babel/helpers - typeof\"; 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) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) 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 _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 _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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\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 _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 = /*#__PURE__*/function () {\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 attributes = [];\n var pos = start;\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 var 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\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 var 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 var 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 = /*#__PURE__*/function () {\n function SimpleDOMNode(nodeName, nodeValue) {\n _classCallCheck(this, SimpleDOMNode);\n\n this.nodeName = nodeName;\n this.nodeValue = nodeValue;\n Object.defineProperty(this, \"parentNode\", {\n value: null,\n writable: true\n });\n }\n\n _createClass(SimpleDOMNode, [{\n key: \"hasChildNodes\",\n value: function hasChildNodes() {\n return this.childNodes && this.childNodes.length > 0;\n }\n }, {\n key: \"firstChild\",\n get: function get() {\n return this.childNodes && 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 = /*#__PURE__*/function (_XMLParserBase) {\n _inherits(SimpleXMLParser, _XMLParserBase);\n\n var _super = _createSuper(SimpleXMLParser);\n\n function SimpleXMLParser() {\n var _this2;\n\n _classCallCheck(this, SimpleXMLParser);\n\n _this2 = _super.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/* 207 */\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__(2));\n\nvar _util = __w_pdfjs_require__(5);\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 _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; 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\nvar PDFDataTransportStream = /*#__PURE__*/function () {\n function PDFDataTransportStream(params, pdfDataRangeTransport) {\n var _this = this;\n\n _classCallCheck(this, PDFDataTransportStream);\n\n (0, _util.assert)(pdfDataRangeTransport, 'PDFDataTransportStream - missing required \"pdfDataRangeTransport\" argument.');\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, \"_onReceiveData - no `PDFDataTransportStreamRangeReader` instance 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, \"PDFDataTransportStream.getFullReader can only be called once.\");\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 = /*#__PURE__*/function () {\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\n var _iterator = _createForOfIteratorHelper(this._queuedChunks),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var chunk = _step.value;\n this._loaded += chunk.byteLength;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\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( /*#__PURE__*/_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 = /*#__PURE__*/function () {\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( /*#__PURE__*/_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/* 208 */\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__(5);\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 = /*#__PURE__*/function () {\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/* 209 */\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__(1);\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\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) { \"@babel/helpers - typeof\"; 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 _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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\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 _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 = /*#__PURE__*/function () {\n function AnnotationElementFactory() {\n _classCallCheck(this, AnnotationElementFactory);\n }\n\n _createClass(AnnotationElementFactory, null, [{\n key: \"create\",\n value: function create(parameters) {\n var subtype = parameters.data.annotationType;\n\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 = /*#__PURE__*/function () {\n function AnnotationElement(parameters) {\n var isRenderable = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var ignoreBorder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, AnnotationElement);\n\n this.isRenderable = isRenderable;\n this.data = parameters.data;\n this.layer = parameters.layer;\n this.page = parameters.page;\n this.viewport = parameters.viewport;\n this.linkService = parameters.linkService;\n this.downloadManager = parameters.downloadManager;\n this.imageResourcesPath = parameters.imageResourcesPath;\n this.renderInteractiveForms = parameters.renderInteractiveForms;\n this.svgFactory = parameters.svgFactory;\n\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 = /*#__PURE__*/function (_AnnotationElement) {\n _inherits(LinkAnnotationElement, _AnnotationElement);\n\n var _super = _createSuper(LinkAnnotationElement);\n\n function LinkAnnotationElement(parameters) {\n _classCallCheck(this, LinkAnnotationElement);\n\n var isRenderable = !!(parameters.data.url || parameters.data.dest || parameters.data.action);\n return _super.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 = /*#__PURE__*/function (_AnnotationElement2) {\n _inherits(TextAnnotationElement, _AnnotationElement2);\n\n var _super2 = _createSuper(TextAnnotationElement);\n\n function TextAnnotationElement(parameters) {\n _classCallCheck(this, TextAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super2.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 = /*#__PURE__*/function (_AnnotationElement3) {\n _inherits(WidgetAnnotationElement, _AnnotationElement3);\n\n var _super3 = _createSuper(WidgetAnnotationElement);\n\n function WidgetAnnotationElement() {\n _classCallCheck(this, WidgetAnnotationElement);\n\n return _super3.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 = /*#__PURE__*/function (_WidgetAnnotationElem) {\n _inherits(TextWidgetAnnotationElement, _WidgetAnnotationElem);\n\n var _super4 = _createSuper(TextWidgetAnnotationElement);\n\n function TextWidgetAnnotationElement(parameters) {\n _classCallCheck(this, TextWidgetAnnotationElement);\n\n var isRenderable = parameters.renderInteractiveForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;\n return _super4.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 element.name = this.data.fieldName;\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 var bold = \"normal\";\n\n if (font.black) {\n bold = \"900\";\n } else if (font.bold) {\n bold = \"bold\";\n }\n\n style.fontWeight = bold;\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 = /*#__PURE__*/function (_WidgetAnnotationElem2) {\n _inherits(CheckboxWidgetAnnotationElement, _WidgetAnnotationElem2);\n\n var _super5 = _createSuper(CheckboxWidgetAnnotationElement);\n\n function CheckboxWidgetAnnotationElement(parameters) {\n _classCallCheck(this, CheckboxWidgetAnnotationElement);\n\n return _super5.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 element.name = this.data.fieldName;\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 = /*#__PURE__*/function (_WidgetAnnotationElem3) {\n _inherits(RadioButtonWidgetAnnotationElement, _WidgetAnnotationElem3);\n\n var _super6 = _createSuper(RadioButtonWidgetAnnotationElement);\n\n function RadioButtonWidgetAnnotationElement(parameters) {\n _classCallCheck(this, RadioButtonWidgetAnnotationElement);\n\n return _super6.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 = /*#__PURE__*/function (_LinkAnnotationElemen) {\n _inherits(PushButtonWidgetAnnotationElement, _LinkAnnotationElemen);\n\n var _super7 = _createSuper(PushButtonWidgetAnnotationElement);\n\n function PushButtonWidgetAnnotationElement() {\n _classCallCheck(this, PushButtonWidgetAnnotationElement);\n\n return _super7.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 = /*#__PURE__*/function (_WidgetAnnotationElem4) {\n _inherits(ChoiceWidgetAnnotationElement, _WidgetAnnotationElem4);\n\n var _super8 = _createSuper(ChoiceWidgetAnnotationElement);\n\n function ChoiceWidgetAnnotationElement(parameters) {\n _classCallCheck(this, ChoiceWidgetAnnotationElement);\n\n return _super8.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 selectElement.name = this.data.fieldName;\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 _iterator = _createForOfIteratorHelper(this.data.options),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\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 _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n this.container.appendChild(selectElement);\n return this.container;\n }\n }]);\n\n return ChoiceWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar PopupAnnotationElement = /*#__PURE__*/function (_AnnotationElement4) {\n _inherits(PopupAnnotationElement, _AnnotationElement4);\n\n var _super9 = _createSuper(PopupAnnotationElement);\n\n function PopupAnnotationElement(parameters) {\n _classCallCheck(this, PopupAnnotationElement);\n\n var isRenderable = !!(parameters.data.title || parameters.data.contents);\n return _super9.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 = /*#__PURE__*/function () {\n function PopupElement(parameters) {\n _classCallCheck(this, PopupElement);\n\n this.container = parameters.container;\n this.trigger = parameters.trigger;\n this.color = parameters.color;\n this.title = parameters.title;\n this.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 = /*#__PURE__*/function (_AnnotationElement5) {\n _inherits(FreeTextAnnotationElement, _AnnotationElement5);\n\n var _super10 = _createSuper(FreeTextAnnotationElement);\n\n function FreeTextAnnotationElement(parameters) {\n _classCallCheck(this, FreeTextAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super10.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 = /*#__PURE__*/function (_AnnotationElement6) {\n _inherits(LineAnnotationElement, _AnnotationElement6);\n\n var _super11 = _createSuper(LineAnnotationElement);\n\n function LineAnnotationElement(parameters) {\n _classCallCheck(this, LineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super11.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 || 1);\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 = /*#__PURE__*/function (_AnnotationElement7) {\n _inherits(SquareAnnotationElement, _AnnotationElement7);\n\n var _super12 = _createSuper(SquareAnnotationElement);\n\n function SquareAnnotationElement(parameters) {\n _classCallCheck(this, SquareAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super12.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 || 1);\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 = /*#__PURE__*/function (_AnnotationElement8) {\n _inherits(CircleAnnotationElement, _AnnotationElement8);\n\n var _super13 = _createSuper(CircleAnnotationElement);\n\n function CircleAnnotationElement(parameters) {\n _classCallCheck(this, CircleAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super13.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 || 1);\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 = /*#__PURE__*/function (_AnnotationElement9) {\n _inherits(PolylineAnnotationElement, _AnnotationElement9);\n\n var _super14 = _createSuper(PolylineAnnotationElement);\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 = _super14.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\n var _iterator2 = _createForOfIteratorHelper(data.vertices),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\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 _iterator2.e(err);\n } finally {\n _iterator2.f();\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 || 1);\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 = /*#__PURE__*/function (_PolylineAnnotationEl) {\n _inherits(PolygonAnnotationElement, _PolylineAnnotationEl);\n\n var _super15 = _createSuper(PolygonAnnotationElement);\n\n function PolygonAnnotationElement(parameters) {\n var _this4;\n\n _classCallCheck(this, PolygonAnnotationElement);\n\n _this4 = _super15.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 = /*#__PURE__*/function (_AnnotationElement10) {\n _inherits(CaretAnnotationElement, _AnnotationElement10);\n\n var _super16 = _createSuper(CaretAnnotationElement);\n\n function CaretAnnotationElement(parameters) {\n _classCallCheck(this, CaretAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super16.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 = /*#__PURE__*/function (_AnnotationElement11) {\n _inherits(InkAnnotationElement, _AnnotationElement11);\n\n var _super17 = _createSuper(InkAnnotationElement);\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 = _super17.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\n var _iterator3 = _createForOfIteratorHelper(data.inkLists),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var inkList = _step3.value;\n var points = [];\n\n var _iterator4 = _createForOfIteratorHelper(inkList),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\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 _iterator4.e(err);\n } finally {\n _iterator4.f();\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 || 1);\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 _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n this.container.append(svg);\n return this.container;\n }\n }]);\n\n return InkAnnotationElement;\n}(AnnotationElement);\n\nvar HighlightAnnotationElement = /*#__PURE__*/function (_AnnotationElement12) {\n _inherits(HighlightAnnotationElement, _AnnotationElement12);\n\n var _super18 = _createSuper(HighlightAnnotationElement);\n\n function HighlightAnnotationElement(parameters) {\n _classCallCheck(this, HighlightAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super18.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 = /*#__PURE__*/function (_AnnotationElement13) {\n _inherits(UnderlineAnnotationElement, _AnnotationElement13);\n\n var _super19 = _createSuper(UnderlineAnnotationElement);\n\n function UnderlineAnnotationElement(parameters) {\n _classCallCheck(this, UnderlineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super19.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 = /*#__PURE__*/function (_AnnotationElement14) {\n _inherits(SquigglyAnnotationElement, _AnnotationElement14);\n\n var _super20 = _createSuper(SquigglyAnnotationElement);\n\n function SquigglyAnnotationElement(parameters) {\n _classCallCheck(this, SquigglyAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super20.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 = /*#__PURE__*/function (_AnnotationElement15) {\n _inherits(StrikeOutAnnotationElement, _AnnotationElement15);\n\n var _super21 = _createSuper(StrikeOutAnnotationElement);\n\n function StrikeOutAnnotationElement(parameters) {\n _classCallCheck(this, StrikeOutAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super21.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 = /*#__PURE__*/function (_AnnotationElement16) {\n _inherits(StampAnnotationElement, _AnnotationElement16);\n\n var _super22 = _createSuper(StampAnnotationElement);\n\n function StampAnnotationElement(parameters) {\n _classCallCheck(this, StampAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super22.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 = /*#__PURE__*/function (_AnnotationElement17) {\n _inherits(FileAttachmentAnnotationElement, _AnnotationElement17);\n\n var _super23 = _createSuper(FileAttachmentAnnotationElement);\n\n function FileAttachmentAnnotationElement(parameters) {\n var _this6;\n\n _classCallCheck(this, FileAttachmentAnnotationElement);\n\n _this6 = _super23.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 = /*#__PURE__*/function () {\n function AnnotationLayer() {\n _classCallCheck(this, AnnotationLayer);\n }\n\n _createClass(AnnotationLayer, null, [{\n key: \"render\",\n value: function render(parameters) {\n var sortedAnnotations = [],\n popupAnnotations = [];\n\n var _iterator5 = _createForOfIteratorHelper(parameters.annotations),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var _data = _step5.value;\n\n if (!_data) {\n continue;\n }\n\n if (_data.annotationType === _util.AnnotationType.POPUP) {\n popupAnnotations.push(_data);\n continue;\n }\n\n sortedAnnotations.push(_data);\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n if (popupAnnotations.length) {\n sortedAnnotations.push.apply(sortedAnnotations, popupAnnotations);\n }\n\n for (var _i = 0, _sortedAnnotations = sortedAnnotations; _i < _sortedAnnotations.length; _i++) {\n var data = _sortedAnnotations[_i];\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 }\n }, {\n key: \"update\",\n value: function update(parameters) {\n var _iterator6 = _createForOfIteratorHelper(parameters.annotations),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\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 _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n\n parameters.div.removeAttribute(\"hidden\");\n }\n }]);\n\n return AnnotationLayer;\n}();\n\nexports.AnnotationLayer = AnnotationLayer;\n\n/***/ }),\n/* 210 */\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__(5);\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 var shouldScaleText = false;\n\n if (geom.str.length > 1) {\n shouldScaleText = true;\n } else if (geom.transform[0] !== geom.transform[3]) {\n var absScaleX = Math.abs(geom.transform[0]),\n absScaleY = Math.abs(geom.transform[3]);\n\n if (absScaleX !== absScaleY && Math.max(absScaleX, absScaleY) / Math.min(absScaleX, absScaleY) > 1.5) {\n shouldScaleText = true;\n }\n }\n\n if (shouldScaleText) {\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 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 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, j) {\n var t = _util.Util.applyTransform(p, m);\n\n ts[j + 0] = c && (e.left - t[0]) / c;\n ts[j + 4] = s && (e.top - t[1]) / s;\n ts[j + 8] = c && (e.right - t[0]) / c;\n ts[j + 12] = s && (e.bottom - t[1]) / s;\n ts[j + 16] = s && (e.left - t[0]) / -s;\n ts[j + 20] = c && (e.top - t[1]) / c;\n ts[j + 24] = s && (e.right - t[0]) / -s;\n ts[j + 28] = c && (e.bottom - t[1]) / c;\n ts[j + 32] = c && (e.left - t[0]) / -c;\n ts[j + 36] = s && (e.top - t[1]) / -s;\n ts[j + 40] = c && (e.right - t[0]) / -c;\n ts[j + 44] = s && (e.bottom - t[1]) / -s;\n ts[j + 48] = s && (e.left - t[0]) / s;\n ts[j + 52] = c && (e.top - t[1]) / -c;\n ts[j + 56] = s && (e.right - t[0]) / s;\n ts[j + 60] = c && (e.bottom - t[1]) / -c;\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 = !!(globalThis.FontInspector && globalThis.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 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 div.style.padding = paddingBuf.join(\" \");\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/* 211 */\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__(5);\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nvar _is_node = __w_pdfjs_require__(7);\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) 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 _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; 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\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\n var _iterator = _createForOfIteratorHelper(opList),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\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 _iterator.e(err);\n } finally {\n _iterator.f();\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 (!_is_node.isNodeJS) {\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 = Buffer.from(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 = /*#__PURE__*/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 = /*#__PURE__*/function () {\n function SVGGraphics(commonObjs, objs) {\n var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\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 _iterator2 = _createForOfIteratorHelper(argsArray[i]),\n _step2;\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 (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n _loop();\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\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 _iterator3 = _createForOfIteratorHelper(opTree),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\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.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 _iterator3.e(err);\n } finally {\n _iterator3.f();\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.ycoords = [];\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 current.ycoords = [];\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.ycoords = [];\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 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 vertical = font.vertical;\n var spacingDir = vertical ? 1 : -1;\n var defaultVMetrics = font.defaultVMetrics;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n var x = 0;\n\n var _iterator4 = _createForOfIteratorHelper(glyphs),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\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 += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var character = glyph.fontChar;\n var scaledX = void 0,\n scaledY = void 0;\n var width = glyph.width;\n\n if (vertical) {\n var vx = void 0;\n var vmetric = glyph.vmetric || defaultVMetrics;\n vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n vx = -vx * widthAdvanceScale;\n var 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 (glyph.isInFont || font.missingFile) {\n current.xcoords.push(current.x + scaledX);\n\n if (vertical) {\n current.ycoords.push(-current.y + scaledY);\n }\n\n current.tspan.textContent += character;\n } else {}\n\n var charWidth = void 0;\n\n if (vertical) {\n charWidth = width * widthAdvanceScale - spacing * fontDirection;\n } else {\n charWidth = width * widthAdvanceScale + spacing * fontDirection;\n }\n\n x += charWidth;\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n current.tspan.setAttributeNS(null, \"x\", current.xcoords.map(pf).join(\" \"));\n\n if (vertical) {\n current.tspan.setAttributeNS(null, \"y\", current.ycoords.map(pf).join(\" \"));\n } else {\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n }\n\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n\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(\").concat(pf(textHScale), \", -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 (!fontObj.data) {\n throw new Error(\"addFontStyle: No font data available, \" + 'ensure that the \"fontExtraProperties\" API parameter is set.');\n }\n\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.missingFile && !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 = \"normal\";\n\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n\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 current.ycoords = [];\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 this.current.ycoords = [];\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 if (this.current.fillAlpha < 1) {\n rect.setAttributeNS(null, \"fill-opacity\", this.current.fillAlpha);\n }\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[3];\n var gradient;\n\n switch (args[1]) {\n case \"axial\":\n var point0 = args[4];\n var point1 = args[5];\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[4];\n var circlePoint = args[5];\n var focalRadius = args[6];\n var circleRadius = args[7];\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 _iterator5 = _createForOfIteratorHelper(colorStops),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\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 _iterator5.e(err);\n } finally {\n _iterator5.f();\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\n var _iterator6 = _createForOfIteratorHelper(ops),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\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 d.push(\"C\", pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(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 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 _iterator6.e(err);\n } finally {\n _iterator6.f();\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 _iterator7 = _createForOfIteratorHelper(states),\n _step7;\n\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\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 _iterator7.e(err);\n } finally {\n _iterator7.f();\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: \"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/* 212 */\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__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _network_utils = __w_pdfjs_require__(213);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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 _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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\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 _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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;\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 = /*#__PURE__*/function () {\n function PDFNodeStream(source) {\n _classCallCheck(this, PDFNodeStream);\n\n this.source = source;\n this.url = parseUrl(source.url);\n this.isHttp = this.url.protocol === \"http:\" || this.url.protocol === \"https:\";\n this.isFsUrl = this.url.protocol === \"file:\";\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFNodeStream, [{\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFNodeStream.getFullReader can only be called once.\");\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 = /*#__PURE__*/function () {\n function BaseFullReader(stream) {\n _classCallCheck(this, BaseFullReader);\n\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n var source = stream.source;\n this._contentLength = source.length;\n this._loaded = 0;\n this._filename = null;\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n\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( /*#__PURE__*/_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 = /*#__PURE__*/function () {\n function BaseRangeReader(stream) {\n _classCallCheck(this, BaseRangeReader);\n\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n this._loaded = 0;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n var source = stream.source;\n this._isStreamingSupported = !source.disableStream;\n }\n\n _createClass(BaseRangeReader, [{\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator( /*#__PURE__*/_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(parsedUrl, headers) {\n return {\n protocol: parsedUrl.protocol,\n auth: parsedUrl.auth,\n host: parsedUrl.hostname,\n port: parsedUrl.port,\n path: parsedUrl.path,\n method: \"GET\",\n headers: headers\n };\n}\n\nvar PDFNodeStreamFullReader = /*#__PURE__*/function (_BaseFullReader) {\n _inherits(PDFNodeStreamFullReader, _BaseFullReader);\n\n var _super = _createSuper(PDFNodeStreamFullReader);\n\n function PDFNodeStreamFullReader(stream) {\n var _this3;\n\n _classCallCheck(this, PDFNodeStreamFullReader);\n\n _this3 = _super.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 = /*#__PURE__*/function (_BaseRangeReader) {\n _inherits(PDFNodeStreamRangeReader, _BaseRangeReader);\n\n var _super2 = _createSuper(PDFNodeStreamRangeReader);\n\n function PDFNodeStreamRangeReader(stream, start, end) {\n var _this4;\n\n _classCallCheck(this, PDFNodeStreamRangeReader);\n\n _this4 = _super2.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 = /*#__PURE__*/function (_BaseFullReader2) {\n _inherits(PDFNodeStreamFsFullReader, _BaseFullReader2);\n\n var _super3 = _createSuper(PDFNodeStreamFsFullReader);\n\n function PDFNodeStreamFsFullReader(stream) {\n var _this5;\n\n _classCallCheck(this, PDFNodeStreamFsFullReader);\n\n _this5 = _super3.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 = /*#__PURE__*/function (_BaseRangeReader2) {\n _inherits(PDFNodeStreamFsRangeReader, _BaseRangeReader2);\n\n var _super4 = _createSuper(PDFNodeStreamFsRangeReader);\n\n function PDFNodeStreamFsRangeReader(stream, start, end) {\n var _this6;\n\n _classCallCheck(this, PDFNodeStreamFsRangeReader);\n\n _this6 = _super4.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/* 213 */\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__(5);\n\nvar _content_disposition = __w_pdfjs_require__(214);\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 && url.startsWith(\"file:\")) {\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/* 214 */\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) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) 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(contentDispositionStr) {\n var matches = [];\n var match;\n var iter = toParamRegExp(\"filename\\\\*((?!0\\\\d)\\\\d+)(\\\\*?)\", \"ig\");\n\n while ((match = iter.exec(contentDispositionStr)) !== 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 _n2 = 0; _n2 < matches.length; ++_n2) {\n if (!(_n2 in matches)) {\n break;\n }\n\n var _matches$_n = _slicedToArray(matches[_n2], 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 (_n2 === 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 (matches, 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 (match, 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/* 215 */\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__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _network_utils = __w_pdfjs_require__(213);\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 = /*#__PURE__*/function () {\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 = /*#__PURE__*/function () {\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, \"PDFNetworkStream.getFullReader can only be called once.\");\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 = /*#__PURE__*/function () {\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( /*#__PURE__*/_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 = /*#__PURE__*/function () {\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( /*#__PURE__*/_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/* 216 */\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__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _network_utils = __w_pdfjs_require__(213);\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;\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\nfunction createHeaders(httpHeaders) {\n var headers = new Headers();\n\n for (var property in httpHeaders) {\n var value = httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n headers.append(property, value);\n }\n\n return headers;\n}\n\nvar PDFFetchStream = /*#__PURE__*/function () {\n function PDFFetchStream(source) {\n _classCallCheck(this, PDFFetchStream);\n\n this.source = source;\n this.isHttp = /^https?:/i.test(source.url);\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFFetchStream, [{\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFFetchStream.getFullReader can only be called once.\");\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 = /*#__PURE__*/function () {\n function PDFFetchStreamReader(stream) {\n var _this = this;\n\n _classCallCheck(this, PDFFetchStreamReader);\n\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n this._filename = null;\n var source = stream.source;\n this._withCredentials = source.withCredentials || 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 = createHeaders(this._stream.httpHeaders);\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( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var _yield$this$_reader$r, 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 _yield$this$_reader$r = _context.sent;\n value = _yield$this$_reader$r.value;\n done = _yield$this$_reader$r.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 = /*#__PURE__*/function () {\n function PDFFetchStreamRangeReader(stream, begin, end) {\n var _this2 = this;\n\n _classCallCheck(this, PDFFetchStreamRangeReader);\n\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n var source = stream.source;\n this._withCredentials = source.withCredentials || 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 = createHeaders(this._stream.httpHeaders);\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( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n var _yield$this$_reader$r2, 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 _yield$this$_reader$r2 = _context2.sent;\n value = _yield$this$_reader$r2.value;\n done = _yield$this$_reader$r2.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","import mod from \"-!../../mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../vue-loader/lib/loaders/stylePostLoader.js!../../postcss-loader/src/index.js??ref--6-oneOf-1-2!./annotationLayer.css?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../vue-loader/lib/loaders/stylePostLoader.js!../../postcss-loader/src/index.js??ref--6-oneOf-1-2!./annotationLayer.css?vue&type=style&index=0&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('PageContentLayoutOnly',{attrs:{\"role\":\"region\",\"new-conversation\":\"\"}},[_c('NewConversation')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=6ea3e045&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=6ea3e045&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6ea3e045\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}