You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1 line
1.5 MiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

{"version":3,"sources":["webpack://pdfjs-dist/build/pdf/webpack/universalModuleDefinition","webpack://pdfjs-dist/build/pdf/webpack/bootstrap","webpack://pdfjs-dist/build/pdf/src/pdf.js","webpack://pdfjs-dist/build/pdf/src/display/display_utils.js","webpack://pdfjs-dist/build/pdf/node_modules/@babel/runtime/regenerator/index.js","webpack://pdfjs-dist/build/pdf/node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js","webpack://pdfjs-dist/build/pdf/node_modules/webpack/buildin/module.js","webpack://pdfjs-dist/build/pdf/src/shared/util.js","webpack://pdfjs-dist/build/pdf/src/shared/compatibility.js","webpack://pdfjs-dist/build/pdf/src/shared/is_node.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/global-this.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.global-this.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/export.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/global.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/descriptors.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/fails.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-property-is-enumerable.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-property-descriptor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-indexed-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/indexed-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/classof-raw.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/require-object-coercible.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-primitive.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/has.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/ie8-dom-define.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/document-create-element.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-non-enumerable-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-define-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/an-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/redefine.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-global.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/inspect-source.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/shared-store.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/internal-state.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/native-weak-map.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/shared-key.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/shared.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-pure.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/uid.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/hidden-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/copy-constructor-properties.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/own-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-built-in.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/path.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-own-property-names.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-keys-internal.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-includes.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-length.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-integer.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-absolute-index.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/enum-bug-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-forced.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/string/starts-with.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.starts-with.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/not-a-regexp.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-regexp.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/well-known-symbol.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/native-symbol.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/use-symbol-as-uid.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/correct-is-regexp-logic.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/entry-unbind.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-bind-context.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/a-function.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/string/ends-with.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.ends-with.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/string/includes.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.includes.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/array/includes.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.array.includes.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/add-to-unscopables.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-create.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-define-properties.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/html.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-method-uses-to-length.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/array/from.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.iterator.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/string-multibyte.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/define-iterator.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-iterator-constructor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterators-core.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-prototype-of.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/correct-prototype-getter.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-to-string-tag.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterators.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-set-prototype-of.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/a-possible-prototype.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.array.from.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-from.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-array-iterator-method.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-iterator-method.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/classof.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-string-tag-support.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/check-correctness-of-iteration.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/object/assign.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.object.assign.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-assign.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/math/log2.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.math.log2.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/number/is-nan.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.number.is-nan.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/number/is-integer.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.number.is-integer.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-integer.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/typed-array/slice.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.typed-array.slice.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-buffer-view-core.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-buffer-native.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/species-constructor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/promise/index.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.object.to-string.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-to-string.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/web.dom-collections.iterator.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/dom-iterables.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.array.iterator.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.promise.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/native-promise-constructor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/redefine-all.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-species.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/an-instance.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterate.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/task.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-is-ios.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-user-agent.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/microtask.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/promise-resolve.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/new-promise-capability.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/host-report-errors.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/perform.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-v8-version.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.promise.all-settled.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.promise.finally.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/web/url.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/web.url.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/native-url.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/string-punycode-to-ascii.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/web.url-search-params.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-iterator.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/web.url.to-json.js","webpack://pdfjs-dist/build/pdf/node_modules/web-streams-polyfill/dist/ponyfill.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/map/index.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.map.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/collection.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/internal-metadata.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/freezing.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/inherit-if-required.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/collection-strong.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/set/index.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.set.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/weak-map/index.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.weak-map.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/collection-weak.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-iteration.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-species-create.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-array.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/weak-set/index.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.weak-set.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/string/code-point-at.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.code-point-at.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/string/from-code-point.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.from-code-point.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/symbol/index.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.array.concat.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-method-has-species-support.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-own-property-names-external.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/define-well-known-symbol.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.async-iterator.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.description.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.has-instance.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.is-concat-spreadable.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.iterator.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.match.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.match-all.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.replace.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.search.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.species.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.split.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.to-primitive.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.to-string-tag.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.unscopables.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.math.to-string-tag.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.json.to-string-tag.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/string/pad-start.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.pad-start.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/string-pad.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/string-repeat.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/string-pad-webkit-bug.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/string/pad-end.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.pad-end.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/object/values.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.object.values.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-to-array.js","webpack://pdfjs-dist/build/pdf/src/display/api.js","webpack://pdfjs-dist/build/pdf/src/display/font_loader.js","webpack://pdfjs-dist/build/pdf/src/display/api_compatibility.js","webpack://pdfjs-dist/build/pdf/src/display/canvas.js","webpack://pdfjs-dist/build/pdf/src/display/pattern_helper.js","webpack://pdfjs-dist/build/pdf/src/display/worker_options.js","webpack://pdfjs-dist/build/pdf/src/shared/message_handler.js","webpack://pdfjs-dist/build/pdf/src/display/metadata.js","webpack://pdfjs-dist/build/pdf/src/display/xml_parser.js","webpack://pdfjs-dist/build/pdf/src/display/transport_stream.js","webpack://pdfjs-dist/build/pdf/src/display/webgl.js","webpack://pdfjs-dist/build/pdf/src/display/annotation_layer.js","webpack://pdfjs-dist/build/pdf/src/display/text_layer.js","webpack://pdfjs-dist/build/pdf/src/display/svg.js","webpack://pdfjs-dist/build/pdf/src/display/node_stream.js","webpack://pdfjs-dist/build/pdf/src/display/network_utils.js","webpack://pdfjs-dist/build/pdf/src/display/content_disposition.js","webpack://pdfjs-dist/build/pdf/src/display/network.js","webpack://pdfjs-dist/build/pdf/src/display/fetch_stream.js"],"names":["pdfjsVersion","pdfjsBuild","require","PDFNodeStream","setPDFNetworkStreamFactory","params","PDFNetworkStream","PDFFetchStream","isValidFetchUrl","DEFAULT_LINK_REL","SVG_NS","create","width","height","canvas","document","context","reset","canvasAndContext","destroy","constructor","baseUrl","isCompressed","url","compressionType","CMapCompressionType","isFetchSupported","response","cMapData","stringToBytes","reason","request","XMLHttpRequest","resolve","reject","assert","svg","createElement","offsetX","offsetY","dontFlip","centerX","viewBox","centerY","rotation","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","Math","offsetCanvasY","clone","scale","convertToViewportPoint","convertToViewportRectangle","topLeft","rect","bottomRight","convertToPdfPoint","LinkTarget","NONE","SELF","BLANK","PARENT","TOP","enabled","urlNullRemoved","removeNullCharacters","link","targetStr","anchor","query","end","Object","time","name","warn","Date","timeEnd","start","outBuf","longest","duration","Response","protocol","script","console","isString","pdfDateStringRegex","matches","year","parseInt","month","day","hour","minute","second","universalTimeRelation","offsetHour","offsetMinute","module","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","toStringTagSymbol","protoGenerator","outerFn","generator","tryLocsList","makeInvokeMethod","exports","type","arg","fn","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","IteratorPrototype","getProto","NativeIteratorPrototype","values","Gp","GeneratorFunctionPrototype","Generator","GeneratorFunction","prototype","ctor","genFun","__await","record","tryCatch","result","value","invoke","previousPromise","callInvokeWithMethodAndArg","defineIteratorMethods","AsyncIterator","PromiseImpl","iter","wrap","state","method","doneResult","delegate","delegateResult","maybeInvokeDelegate","done","info","entry","tryLoc","locs","keys","key","next","iteratorMethod","iterable","isNaN","i","Context","stop","rootEntry","rootRecord","dispatchException","handle","hasCatch","hasFinally","abrupt","finallyEntry","complete","finish","resetTryEntry","thrown","delegateYield","iterator","resultName","nextLoc","regeneratorRuntime","Function","enumerable","get","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","PermissionFlag","PRINT","MODIFY_CONTENTS","COPY","MODIFY_ANNOTATIONS","FILL_INTERACTIVE_FORMS","COPY_FOR_ACCESSIBILITY","ASSEMBLE","PRINT_HIGH_QUALITY","TextRenderingMode","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","ImageKind","GRAYSCALE_1BPP","RGB_24BPP","RGBA_32BPP","AnnotationType","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","AnnotationStateModelType","MARKED","REVIEW","AnnotationMarkedState","UNMARKED","AnnotationReviewState","ACCEPTED","REJECTED","CANCELLED","COMPLETED","AnnotationReplyType","GROUP","REPLY","AnnotationFlag","HIDDEN","NOZOOM","NOROTATE","NOVIEW","READONLY","LOCKED","TOGGLENOVIEW","LOCKEDCONTENTS","AnnotationFieldFlag","REQUIRED","NOEXPORT","MULTILINE","PASSWORD","NOTOGGLETOOFF","RADIO","PUSHBUTTON","COMBO","EDIT","SORT","FILESELECT","MULTISELECT","DONOTSPELLCHECK","DONOTSCROLL","COMB","RICHTEXT","RADIOSINUNISON","COMMITONSELCHANGE","AnnotationBorderStyleType","SOLID","DASHED","BEVELED","INSET","StreamType","UNKNOWN","FLATE","LZW","DCT","JPX","JBIG","A85","AHX","CCF","RLX","FontType","TYPE1","TYPE1C","CIDFONTTYPE0","CIDFONTTYPE0C","TRUETYPE","CIDFONTTYPE2","TYPE3","OPENTYPE","TYPE0","MMTYPE1","VerbosityLevel","ERRORS","WARNINGS","INFOS","BINARY","STREAM","OPS","dependency","setLineWidth","setLineCap","setLineJoin","setMiterLimit","setDash","setRenderingIntent","setFlatness","setGState","save","restore","transform","moveTo","lineTo","curveTo","curveTo2","curveTo3","closePath","rectangle","stroke","closeStroke","fill","eoFill","fillStroke","eoFillStroke","closeFillStroke","closeEOFillStroke","endPath","clip","eoClip","beginText","endText","setCharSpacing","setWordSpacing","setHScale","setLeading","setFont","setTextRenderingMode","setTextRise","moveText","setLeadingMoveText","setTextMatrix","nextLine","showText","showSpacedText","nextLineShowText","nextLineSetSpacingShowText","setCharWidth","setCharWidthAndBounds","setStrokeColorSpace","setFillColorSpace","setStrokeColor","setStrokeColorN","setFillColor","setFillColorN","setStrokeGray","setFillGray","setStrokeRGBColor","setFillRGBColor","setStrokeCMYKColor","setFillCMYKColor","shadingFill","beginInlineImage","beginImageData","endInlineImage","paintXObject","markPoint","markPointProps","beginMarkedContent","beginMarkedContentProps","endMarkedContent","beginCompat","endCompat","paintFormXObjectBegin","paintFormXObjectEnd","beginGroup","endGroup","beginAnnotations","endAnnotations","beginAnnotation","endAnnotation","paintJpegXObject","paintImageMaskXObject","paintImageMaskXObjectGroup","paintImageXObject","paintInlineImageXObject","paintInlineImageXObjectGroup","paintImageXObjectRepeat","paintImageMaskXObjectRepeat","paintSolidColorImageMask","constructPath","UNSUPPORTED_FEATURES","unknown","forms","javaScript","smask","shadingPattern","font","errorTilingPattern","errorExtGState","errorXObject","errorFontLoadType3","errorFontState","errorFontMissing","errorFontTranslate","errorColorSpace","errorOperatorList","errorFontToUnicode","errorFontLoadNative","errorFontGetPath","PasswordResponses","NEED_PASSWORD","INCORRECT_PASSWORD","verbosity","Number","unreachable","base","other","absoluteUrl","_isValidProtocol","configurable","writable","BaseException","NullCharactersRegExp","str","bytes","length","MAX_ARGUMENT_COUNT","String","strBuf","chunkEnd","chunk","arr","resultLength","arrayByteLength","pos","data","item","itemLength","buffer8","view32","IsLittleEndianCached","shadow","isLittleEndian","IsEvalSupportedCached","isEvalSupported","rgbBuf","m1","m2","xt","p","m","yt","d","p1","Util","p2","r","p3","p4","v","transpose","a","b","c","first","sx","sy","orderedX","rect1","rect2","orderedY","PDFStringTranslateTable","code","decodeURIComponent","escape","unescape","encodeURIComponent","arr1","arr2","element","capability","isSettled","createObjectURL","digits","forceDataSchema","URL","blob","buffer","ii","b1","b2","b3","d1","d2","d3","d4","globalThis","hasDOM","userAgent","navigator","isIE","Buffer","Element","div","OriginalDOMTokenListAdd","DOMTokenList","OriginalDOMTokenListRemove","token","force","arguments","OriginalPushState","window","OriginalReplaceState","args","Array","Uint8Array","isReadableStreamSupported","controller","isNodeJS","process","$","global","getOwnPropertyDescriptor","f","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","options","source","TARGET","target","GLOBAL","STATIC","stat","FORCED","targetProperty","sourceProperty","descriptor","noTargetGet","forced","undefined","sham","check","it","self","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPrimitive","has","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","O","P","error","call","fails","defineProperty","exec","nativePropertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","V","bitmap","IndexedObject","requireObjectCoercible","classof","split","toString","slice","TypeError","isObject","input","PREFERRED_STRING","val","valueOf","hasOwnProperty","EXISTS","definePropertyModule","object","anObject","nativeDefineProperty","Attributes","inspectSource","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","unsafe","simple","join","store","functionToString","SHARED","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","WeakMap","set","getterFor","TYPE","wmget","wmhas","wmset","metadata","STATE","test","shared","uid","IS_PURE","push","version","mode","copyright","id","postfix","random","ownKeys","getOwnPropertyDescriptorModule","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getOwnPropertySymbols","concat","path","aFunction","variable","namespace","internalObjectKeys","enumBugKeys","getOwnPropertyNames","indexOf","names","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","index","includes","toInteger","min","argument","ceil","floor","max","integer","replacement","feature","detection","normalize","POLYFILL","NATIVE","string","replace","toLowerCase","entryUnbind","notARegExp","correctIsRegExpLogic","nativeStartsWith","startsWith","CORRECT_IS_REGEXP_LOGIC","MDN_POLYFILL_BUG","proto","searchString","that","search","isRegExp","wellKnownSymbol","MATCH","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","Symbol","createWellKnownSymbol","withoutSetter","METHOD_NAME","regexp","e","bind","CONSTRUCTOR","METHOD","apply","nativeEndsWith","endsWith","endPosition","len","$includes","addToUnscopables","arrayMethodUsesToLength","USES_TO_LENGTH","ACCESSORS","UNSCOPABLES","ArrayPrototype","defineProperties","html","documentCreateElement","GT","LT","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","NullProtoObjectViaActiveX","activeXDocument","write","close","temp","parentWindow","NullProtoObjectViaIFrame","iframe","JS","iframeDocument","style","display","appendChild","src","contentWindow","open","F","NullProtoObject","domain","ActiveXObject","Properties","objectKeys","cache","thrower","argument0","argument1","from","charAt","defineIterator","STRING_ITERATOR","setInternalState","iterated","point","CONVERT_TO_STRING","S","position","size","charCodeAt","codeAt","createIteratorConstructor","getPrototypeOf","setPrototypeOf","setToStringTag","Iterators","IteratorsCore","BUGGY_SAFARI_ITERATORS","ITERATOR","KEYS","VALUES","ENTRIES","returnThis","Iterable","NAME","IteratorConstructor","DEFAULT","IS_SET","getIterationMethod","KIND","defaultIterator","IterablePrototype","entries","TO_STRING_TAG","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","CurrentIteratorPrototype","methods","KEY","PrototypeOfArrayIteratorPrototype","arrayIterator","toObject","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","TAG","aPossiblePrototype","CORRECT_SETTER","setter","__proto__","checkCorrectnessOfIteration","INCORRECT_ITERATION","callWithSafeIterationClosing","isArrayIteratorMethod","createProperty","getIteratorMethod","arrayLike","C","argumentsLength","mapfn","mapping","step","returnMethod","propertyKey","TO_STRING_TAG_SUPPORT","classofRaw","CORRECT_ARGUMENTS","tryGet","tag","callee","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","assign","nativeAssign","A","B","symbol","alphabet","forEach","chr","T","j","log2","log","LN2","x","number","isInteger","isFinite","ArrayBufferViewCore","speciesConstructor","aTypedArray","aTypedArrayConstructor","exportTypedArrayMethod","$slice","Int8Array","list","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","Uint32Array","Float32Array","Float64Array","isView","klass","isTypedArray","ARRAY","TypedArrayConstructor","property","exportTypedArrayStaticMethod","ArrayBuffer","DataView","SPECIES","defaultConstructor","Promise","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","NativePromise","redefineAll","setSpecies","anInstance","iterate","task","microtask","promiseResolve","hostReportErrors","newPromiseCapabilityModule","perform","V8_VERSION","PROMISE","getInternalPromiseState","PromiseConstructor","$fetch","newPromiseCapability","newGenericPromiseCapability","IS_NODE","DISPATCH_EVENT","createEvent","dispatchEvent","UNHANDLED_REJECTION","REJECTION_HANDLED","PENDING","FULFILLED","HANDLED","UNHANDLED","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","GLOBAL_CORE_JS_PROMISE","PromiseRejectionEvent","promise","FakePromise","then","all","isThenable","notify","isReject","notified","chain","reactions","ok","reaction","handler","fail","exited","rejection","onHandleUnhandled","enter","exit","onUnhandled","event","initEvent","IS_UNHANDLED","isUnhandled","emit","parent","unwrap","internalReject","internalResolve","wrapper","executor","onFulfilled","onRejected","fetch","$promiseResolve","counter","remaining","alreadyCalled","race","CONSTRUCTOR_NAME","Constructor","Result","stopped","AS_ENTRIES","IS_ITERATOR","boundFunction","iterFn","IS_IOS","location","setImmediate","clear","clearImmediate","MessageChannel","Dispatch","queue","ONREADYSTATECHANGE","defer","channel","port","run","runner","listener","post","postMessage","host","nextTick","now","port2","port1","onmessage","addEventListener","importScripts","removeChild","setTimeout","macrotask","MutationObserver","WebKitMutationObserver","queueMicrotaskDescriptor","queueMicrotask","flush","head","last","toggle","node","createTextNode","observe","characterData","promiseCapability","PromiseCapability","$$resolve","$$reject","versions","v8","match","allSettled","status","NON_GENERIC","real","onFinally","isFunction","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","EOF","parseHost","codePoints","parseIPv6","isSpecial","percentEncode","C0ControlPercentEncodeSet","parseIPv4","parts","partsLength","numbers","part","radix","ipv4","pop","address","pieceIndex","compress","pointer","numbersSeen","ipv4Piece","swaps","swap","char","findLongestZeroSequence","ipv6","maxIndex","maxLength","currStart","currLength","serializeHost","ignore0","unshift","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","specialSchemes","ftp","file","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","seenAt","seenBracket","seenPasswordToken","bufferCodePoints","failure","fragment","codePoint","encodedCodePoints","shift","URLConstructor","urlString","baseState","searchParams","searchParamsState","updateSearchParams","updateURL","href","serializeURL","origin","getOrigin","getProtocol","getUsername","getPassword","getHost","hostname","getHostname","getPort","pathname","getPathname","getSearch","getSearchParams","hash","getHash","URLPrototype","output","accessorDescriptor","getter","toJSON","nativeCreateObjectURL","nativeRevokeObjectURL","revokeObjectURL","sort","maxInt","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexNonASCII","regexSeparators","OVERFLOW_ERROR","baseMinusTMin","stringFromCharCode","fromCharCode","ucs2decode","extra","digitToBasic","digit","adapt","delta","numPoints","firstTime","k","encode","inputLength","n","bias","currentValue","basicLength","handledCPCount","handledCPCountPlusOne","RangeError","q","t","qMinusT","baseMinusT","encoded","labels","label","getIterator","Headers","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","getInternalIteratorState","plus","sequences","percentSequence","RegExp","percentDecode","sequence","deserialize","find","replacer","serialize","parseSearchParams","attributes","attribute","validateArgumentsLength","passed","required","URLSearchParamsIterator","Iterator","URLSearchParamsConstructor","init","entryIterator","entryNext","URLSearchParamsPrototype","append","splice","getAll","found","entriesIndex","sliceIndex","callback","body","headers","factory","SymbolPolyfill","description","noop","NumberIsNaN","rethrowAssertionErrorRejection","typeIsObject","createArrayFromList","elements","ArrayBufferCopy","dest","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","_next","_back","oldBack","newBack","oldFront","newFront","oldCursor","newCursor","peek","front","cursor","ReadableStreamCreateReadResult","forAuthorCode","obj","ReadableStreamReaderGenericInitialize","reader","stream","_forAuthorCode","_ownerReadableStream","_reader","_state","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","IsReadableStream","IsReadableStreamLocked","defaultReaderBrandCheckException","cancel","read","ReadableStreamDefaultReaderRead","releaseLock","_disturbed","_readableStreamController","_a","AsyncIteratorPrototype","asyncIterator","ReadableStreamAsyncIteratorPrototype","IsReadableStreamAsyncIterator","streamAsyncIteratorBrandCheckException","_asyncIteratorReader","return","_preventCancel","AcquireReadableStreamAsyncIterator","preventCancel","Boolean","DequeueValue","container","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","WritableStreamRejectCloseAndClosedPromiseIfNeeded","abortRequest","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","message","Error","captureStackTrace","DOMException$1","ReadableStreamPipeTo","preventClose","preventAbort","signal","shuttingDown","currentWrite","actions","shutdownWithAction","map","action","pipeLoop","resolveLoop","rejectLoop","pipeStep","isOrBecomesErrored","shutdown","isOrBecomesClosed","destClosed_1","waitForWritesToFinish","oldCurrentWrite","originalIsError","originalError","doTheRest","finalize","newError","isError","removeEventListener","ReadableStreamDefaultController","IsReadableStreamDefaultController","defaultControllerBrandCheckException","ReadableStreamDefaultControllerGetDesiredSize","ReadableStreamDefaultControllerCanCloseOrEnqueue","ReadableStreamDefaultControllerClose","enqueue","ReadableStreamDefaultControllerEnqueue","ReadableStreamDefaultControllerError","_cancelAlgorithm","ReadableStreamDefaultControllerClearAlgorithms","_controlledReadableStream","_closeRequested","ReadableStreamClose","ReadableStreamDefaultControllerCallPullIfNeeded","pendingPromise","shouldPull","ReadableStreamDefaultControllerShouldCallPull","_pulling","_pullAgain","pullPromise","_pullAlgorithm","ReadableStreamError","ReadableStreamDefaultControllerHasBackpressure","SetUpReadableStreamDefaultController","pullAlgorithm","cancelAlgorithm","SetUpReadableStreamDefaultControllerFromUnderlyingSource","underlyingSource","ReadableStreamTee","cloneForBranch2","reading","canceled1","canceled2","reason1","reason2","branch1","branch2","resolveCancelPromise","cancelPromise","readPromise","value1","value2","cancel1Algorithm","compositeReason","cancelResult","cancel2Algorithm","CreateReadableStream","NumberIsInteger","ReadableStreamBYOBRequest","IsReadableStreamBYOBRequest","byobRequestBrandCheckException","_view","respond","bytesWritten","_associatedReadableByteStreamController","ReadableByteStreamControllerRespond","respondWithNewView","view","ReadableByteStreamControllerRespondWithNewView","ReadableByteStreamController","IsReadableByteStreamController","byteStreamControllerBrandCheckException","_byobRequest","_pendingPullIntos","firstDescriptor","byteOffset","bytesFilled","byteLength","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","ready","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","ReadableStream","InitializeReadableStream","typeString","streamBrandCheckException$1","getReader","pipeThrough","_b","readable","_c","pipeTo","tee","branches","sourceCancelPromise","ByteLengthQueuingStrategy","CountQueuingStrategy","TransformStream","transformer","writableStrategy","readableStrategy","writableSizeFunction","writableHighWaterMark","readableSizeFunction","readableHighWaterMark","writableType","writableSizeAlgorithm","readableType","readableSizeAlgorithm","startPromise_resolve","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","Map","collection","collectionStrong","InternalMetadataModule","inheritIfRequired","common","IS_MAP","IS_WEAK","ADDER","NativeConstructor","NativePrototype","exported","fixMethod","nativeMethod","add","getConstructor","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","setStrong","FREEZING","METADATA","isExtensible","setMetadata","objectID","weakData","fastKey","getWeakData","onFreeze","meta","preventExtensions","Wrapper","NewTarget","NewTargetPrototype","internalStateGetterFor","define","getEntry","previous","removed","prev","callbackfn","ITERATOR_NAME","getInternalCollectionState","Set","collectionWeak","enforceIternalState","IS_IE11","InternalWeakMap","$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","filter","some","every","isArray","originalArray","WeakSet","codePointAt","fromCodePoint","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","stringify","space","$replacer","windowNames","getWindowNames","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","desc","JSON","$padStart","WEBKIT_BUG","padStart","repeat","IS_END","fillString","stringLength","fillStr","intMaxLength","fillLen","stringFiller","count","$padEnd","padEnd","$values","TO_ENTRIES","DEFAULT_RANGE_CHUNK_SIZE","RENDERING_CANCELLED_TIMEOUT","createPDFNetworkStream","isArrayBuffer","range","rangeTransport","worker","pdfBytes","apiCompatibilityParams","setVerbosityLevel","workerParams","GlobalWorkerOptions","PDFWorker","docId","workerIdPromise","_fetchDocument","networkStreamPromise","networkStream","initialData","progressiveDone","disableRange","disableStream","httpHeaders","withCredentials","rangeChunkSize","messageHandler","transport","pdfDataRangeTransport","apiVersion","disableAutoFetch","maxImageSize","disableFontFace","postMessageTransfers","docBaseUrl","ignoreErrors","fontExtraProperties","PDFDocumentLoadingTask","nextDocumentId","transportDestroyed","addRangeListener","addProgressListener","addProgressiveReadListener","addProgressiveDoneListener","onDataRange","onDataProgress","onDataProgressiveRead","requestDataRange","getPage","getPageIndex","getDestination","pdfBug","getViewport","getAnnotations","intent","enableWebGL","renderInteractiveForms","imageLayer","canvasFactory","background","render","renderingIntent","intentState","clearTimeout","canvasFactoryInstance","webGLContext","enable","fnArray","argsArray","lastChunk","pageIndex","internalRenderTask","canvasContext","viewport","objs","commonObjs","operatorList","useRequestAnimationFrame","renderTask","transparency","opListTask","streamTextContent","normalizeWhitespace","disableCombineTextItems","TEXT_CONTENT_CHUNK_SIZE","combineTextItems","textContent","getTextContent","readableStream","pump","items","styles","waitOn","renderCompleted","resetStats","cleanup","_tryCleanup","_startRenderPage","_renderPageChunk","operatorListChunk","_pumpOperatorList","_abortOperatorList","cloned","transferable","transfers","cloneValue","pdfWorkerPorts","isWorkerDisabled","nextFakeWorkerId","fallbackWorkerSrc","pdfjsFilePath","deprecated","mainWorkerMessageHandler","fakeWorkerCapability","loader","getMainThreadWorkerMessageHandler","eval","getWorkerSrc","loadScript","_initializeFromPort","workerSrc","isSameOrigin","createCDNWrapper","terminateEarly","onWorkerError","sendTest","testObj","setupFakeWorkerGlobal","WorkerMessageHandler","workerHandler","loadingTask","onUnsupportedFeature","page","terminated","evt","loaded","total","sink","headersCapability","fullReader","isStreamingSupported","isRangeSupported","contentLength","rangeReader","pdfInfo","ex","exception","updatePassword","exportedError","exportedData","fontRegistry","registerFont","pageProxy","MAX_IMAGE_SIZE_TO_STORE","imageData","fetched","builtInCMap","_onUnsupportedFeature","pageNumber","pageInfo","ref","results","contentDispositionFilename","cleanupSuccessful","_ensureObj","resolved","InternalRenderTask","canvasInRendering","initializeGraphics","build","addNativeFontFace","insertRule","styleElement","styleSheet","nativeFontFace","featureId","rule","_queueLoadingCallback","_prepareFontLoadEvent","supported","FontLoader","requests","nextRequestId","otherRequest","offset","chunk1","s","chunk2","ctx","isFontReady","loadTestFontId","COMMENT_OFFSET","spliceString","CFF_CHECKSUM_OFFSET","XXXX_VALUE","checksum","int32","string32","btoa","fonts","span","getLoadTestFont","atob","translatedData","bytesToString","getPathGenerator","cmds","js","current","compatibilityParams","MIN_FONT_SIZE","MAX_FONT_SIZE","MAX_GROUP_SIZE","MIN_WIDTH_FACTOR","COMPILE_TYPE3_GLYPHS","MAX_SIZE_TO_COMPILE","FULL_CHUNK_HEIGHT","ad_bc","bc_ad","old","cosValue","sinValue","CachedCanvases","getCanvas","canvasEntry","addContextCurrentTransform","POINT_TO_PROCESS_LIMIT","imgData","width1","points","POINT_TYPES","lineSize","data0","mask","elem","j0","sum","steps","outlines","coords","p0","pp","drawOutline","kk","o","l","ll","CanvasExtraState","setCurrentPoint","CanvasGraphics","EXECUTION_TIME","EXECUTION_STEPS","partialChunkHeight","fullChunks","totalChunks","chunkImgData","srcPos","srcLength","dest32","dest32DataLength","fullSrcDiff","white","black","thisChunkHeight","destPos","srcDiff","kEnd","kEndUnrolled","srcByte","elemsInThisChunk","sourceCtx","destCtx","alpha","alpha_","r0","g0","b0","maskData","transferMap","layerData","y","hasBackdrop","backdrop","subtype","composeFn","PIXELS_TO_PROCESS","row","chunkHeight","maskCtx","layerCtx","composeSMaskBackdrop","composed","layer","genericComposeSMask","LINE_CAP_STYLES","LINE_JOIN_STYLES","NORMAL_CLIP","EO_CLIP","beginDrawing","transparentCanvas","resetCtxToDefault","executeOperatorList","executionStartIdx","argsArrayLen","chunkOperations","endTime","stepper","fnId","objsPool","depObjId","continueCallback","endDrawing","states","beginSMaskGroup","activeSMask","drawnWidth","drawnHeight","cacheId","scratchCanvas","currentCtx","currentTransform","groupCtx","copyCtxState","suspendSMaskGroup","composeSMask","deltaTransform","resumeSMaskGroup","endSMaskGroup","ops","xw","yh","consumePath","strokeColor","fillColor","isPatternFill","needRestore","paths","fontObj","bold","italic","typeface","browserFontSize","paintChar","textRenderingMode","fontSize","fillStrokeMode","isAddToPathSet","patternFill","addToPath","fontSizeScale","charSpacing","wordSpacing","fontDirection","textHScale","glyphsLength","glyphs","vertical","spacingDir","defaultVMetrics","widthAdvanceScale","simpleFillText","pattern","patternTransform","lineWidth","glyph","isNum","restoreNeeded","spacing","character","accent","vmetric","vx","vy","scaledX","scaledY","measuredWidth","characterScaleX","scaledAccentX","scaledAccentY","charWidth","showType3Text","fontMatrix","isTextInvisible","spacingLength","transformed","urx","ury","getColorN_Pattern","IR","color","baseTransform","canvasGraphicsFactory","createCanvasGraphics","getShadingPatternFromIR","inv","bl","br","ul","ur","x0","y0","x1","y1","matrix","bbox","group","bounds","canvasBounds","scaleX","scaleY","startTransformInverse","img","maskCanvas","putBinaryImageMask","positions","images","image","objId","w","h","widthScale","heightScale","imgToPaint","tmpCanvas","tmpCtx","putBinaryImageData","paintWidth","paintHeight","tmpCanvasId","newWidth","newHeight","left","top","getSinglePixelWidth","inverse","getCanvasPosition","ShadingIRs","region","fromIR","raw","colorStops","r1","getPattern","applyBoundingBox","grad","createMeshCanvas","colors","rowSize","tmp","c1","c2","c3","x2","y2","x3","y3","c1r","c1g","c1b","c2r","c2g","c2b","c3r","c3g","c3b","minY","maxY","xa","car","cag","cab","xb","cbr","cbg","cbb","x1_","x2_","ps","figure","cs","verticesPerRow","rows","cols","drawTriangle","EXPECTED_SCALE","MAX_PATTERN_SIZE","BORDER_SIZE","boundsWidth","boundsHeight","combinesScale","paddedWidth","paddedHeight","backgroundColor","figures","cachedCanvases","drawFigure","owner","matrixScale","temporaryPatternCanvas","shadingIR","TilingPattern","PaintType","COLORED","UNCOLORED","createPatternCanvas","xstep","ystep","paintType","tilingType","curMatrixScale","combinedScale","dimx","dimy","graphics","getSizeAndScale","maxSize","clipBbox","bboxWidth","bboxHeight","setFillAndStrokeStyleToContext","cssColor","CallbackKind","DATA","ERROR","StreamKind","CANCEL","CANCEL_COMPLETE","CLOSE","ENQUEUE","PULL","PULL_COMPLETE","START_COMPLETE","callbackId","wrapReason","cbSourceName","cbTargetName","comObj","sourceName","targetName","on","ah","send","sendWithPromise","sendWithStream","streamId","startCapability","startCall","pullCall","cancelCall","isClosed","pull","pullCapability","cancelCapability","_createStreamSink","streamSink","lastDesiredSize","sinkCapability","onPull","onCancel","isCancelled","success","_processStreamMessage","_postMessage","parser","xmlDocument","_repair","chars","_parse","rdf","nodeName","children","jj","XMLParserErrorCode","NoError","EndOfDocument","UnterminatedCdat","UnterminatedXmlDeclaration","UnterminatedDoctypeDeclaration","UnterminatedComment","MalformedElement","OutOfMemory","UnterminatedAttributeValue","UnterminatedElement","ElementNeverBegun","ch","isWhitespace","_resolveEntities","entity","_parseContent","skipWs","attrName","attrValue","attrEndChar","attrEndIndex","parsed","_parseProcessingInstruction","attrStart","parseXml","ch2","pi","q2","complexDoctype","doctypeContent","text","onResolveEntity","onPi","onComment","onCdata","onDoctype","onText","onBeginElement","onEndElement","onError","childNodes","child","parseFromString","documentElement","isWhitespaceString","lastElement","begin","_onReceiveData","_onProgress","firstReader","_removeRangeReader","queuedChunks","getRangeReader","cancelAllRequests","readers","_enqueue","requestCapability","requestsCapability","WebGLUtils","drawFigures","shader","gl","compiled","errorMsg","loadShader","program","shaders","linked","texture","currentCanvas","currentGL","premultipliedalpha","smaskVertexShaderCode","smaskFragmentShaderCode","smaskCache","generateGL","vertexShader","createVertexShader","fragmentShader","createFragmentShader","texCoordLocation","texLayerLocation","texMaskLocation","texCoordBuffer","initSmaskGL","createTexture","maskTexture","figuresVertexShaderCode","figuresFragmentShaderCode","figuresCache","initFiguresGL","coordsMap","colorsMap","pIndex","cIndex","col","coordsBuffer","colorsBuffer","tryInitGL","parameters","fieldType","isRenderable","ignoreBorder","_createContainer","horizontalRadius","verticalRadius","radius","_createPopup","trigger","popupElement","title","modificationDate","contents","hideWrapper","popup","addLinkAttributes","linkService","rel","_bindLink","_bindNamedAction","TEXT_ALIGNMENT","fieldWidth","combWidth","_setTextStyle","fontFamily","fallbackName","selectElement","optionElement","option","IGNORE_TYPES","selector","parentElement","parentLeft","parseFloat","parentWidth","BACKGROUND_ENLIGHT","g","dateObject","PDFDateString","date","_formatContents","lines","line","pin","_show","unpin","_hide","borderWidth","square","circle","coordinate","polyline","getFilenameFromUrl","stringToPDFString","filename","sortedAnnotations","popupAnnotations","downloadManager","imageResourcesPath","svgFactory","renderTextLayer","MAX_TEXT_DIVS_TO_RENDER","NonWhitespaceRegexp","textDiv","textDivProperties","angle","canvasWidth","originalTransform","paddingBottom","paddingLeft","paddingRight","paddingTop","isAllWhitespace","geom","tx","fontHeight","fontAscent","shouldScaleText","absScaleX","absScaleY","angleCos","angleSin","divWidth","divHeight","right","bottom","textDivs","textDivsLength","ts","expanded","expandBounds","divProperties","boxScale","findPositiveMin","box","x1New","x2New","expandBoundsLTR","boxes","fakeBoundary","horizon","boundary","maxXNew","horizonPart","affectedBoundary","xNew","changedHorizon","lastBoundary","useBoundary","used","textContentItemsStr","TextLayerRenderTask","_processItems","appendText","_layoutText","_render","styleCache","textItems","textStyles","expandTextDivs","expand","transformBuf","paddingBuf","divProps","renderParameters","textContentStream","enhanceTextSelection","SVGGraphics","opTree","opListElement","pf","SVG_DEFAULTS","fontStyle","fontWeight","XML_NS","XLINK_NS","convertImgDataToPng","PNG_HEADER","CHUNK_WRAPPER_SIZE","crcTable","crc","crc32","deflateSyncUncompressed","__non_webpack_require__","level","literals","maxBlockLength","deflateBlocks","idat","adler","adler32","colorType","bitDepth","offsetLiterals","offsetBytes","ihdr","deflateSync","pngLength","writePngChunk","clipCount","maskCount","shadingCount","loadDependencies","transformMatrix","getSVG","svgElement","convertOpList","operatorIdMapping","opList","opListToTree","executeOpTree","opTreeElement","lineWidthScale","textMatrix","pm","addFontStyle","details","setStrokeAlpha","setFillAlpha","_makeColorN_Pattern","_makeTilingPattern","tilingId","txstep","tystep","tiling","tx1","ty1","_makeShadingPattern","shadingId","point0","point1","gradient","focalPoint","circlePoint","focalRadius","circleRadius","colorStop","op","clipId","clipPath","clipElement","_setStrokeAttributes","dashArray","imgSrc","cliprect","imgEl","_initialize","definitions","rootGroup","clipGroup","fs","fileUriRegex","parsedUrl","parseUrl","_error","_setReadableStream","auth","handleResponse","getResponseHeader","isHttp","suggestedLength","extractFilenameFromHeader","createRequestOptions","returnValues","allowRangeRequests","contentEncoding","contentDisposition","getFilenameFromContentDispositionHeader","needsEncodingFixup","toParamRegExp","rfc2616unquote","rfc5987decode","rfc2047decode","fixupEncoding","rfc2231getparam","decoder","fatal","textdecode","quotindex","encodingend","extvalue","encoding","langvalue","OK_RESPONSE","PARTIAL_CONTENT_RESPONSE","xhr","requestRange","listeners","requestFull","xhrId","pendingRequest","onProgress","onStateChange","xhrStatus","ok_response_on_range_request","getArrayBuffer","rangeHeader","getRequestXhr","isPendingRequest","_onRangeRequestReaderClosed","onHeadersReceived","onDone","manager","fullRequestXhrId","fullRequestXhr","_onDone","_onError","createResponseStatusError","abortController","credentials","redirect","createHeaders","createFetchOptions","validateResponseStatus"],"mappings":"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","file":"pdf.js","sourcesContent":["(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\"] = factory();\n})(this, function() {\nreturn "," \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","/* Copyright 2012 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\nimport {\n addLinkAttributes,\n getFilenameFromUrl,\n isFetchSupported,\n isValidFetchUrl,\n LinkTarget,\n loadScript,\n PDFDateString,\n RenderingCancelledException,\n} from \"./display/display_utils.js\";\nimport {\n build,\n getDocument,\n LoopbackPort,\n PDFDataRangeTransport,\n PDFWorker,\n setPDFNetworkStreamFactory,\n version,\n} from \"./display/api.js\";\nimport {\n CMapCompressionType,\n createObjectURL,\n createPromiseCapability,\n createValidAbsoluteUrl,\n InvalidPDFException,\n MissingPDFException,\n OPS,\n PasswordResponses,\n PermissionFlag,\n removeNullCharacters,\n shadow,\n UnexpectedResponseException,\n UNSUPPORTED_FEATURES,\n Util,\n VerbosityLevel,\n} from \"./shared/util.js\";\nimport { AnnotationLayer } from \"./display/annotation_layer.js\";\nimport { apiCompatibilityParams } from \"./display/api_compatibility.js\";\nimport { GlobalWorkerOptions } from \"./display/worker_options.js\";\nimport { renderTextLayer } from \"./display/text_layer.js\";\nimport { SVGGraphics } from \"./display/svg.js\";\n\n/* eslint-disable-next-line no-unused-vars */\nconst pdfjsVersion =\n typeof PDFJSDev !== \"undefined\" ? PDFJSDev.eval(\"BUNDLE_VERSION\") : void 0;\n/* eslint-disable-next-line no-unused-vars */\nconst pdfjsBuild =\n typeof PDFJSDev !== \"undefined\" ? PDFJSDev.eval(\"BUNDLE_BUILD\") : void 0;\n\nif (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"PRODUCTION\")) {\n const streamsPromise = Promise.all([\n import(\"pdfjs/display/network.js\"),\n import(\"pdfjs/display/fetch_stream.js\"),\n ]);\n setPDFNetworkStreamFactory(params => {\n return streamsPromise.then(streams => {\n const [{ PDFNetworkStream }, { PDFFetchStream }] = streams;\n if (isFetchSupported() && isValidFetchUrl(params.url)) {\n return new PDFFetchStream(params);\n }\n return new PDFNetworkStream(params);\n });\n });\n} else if (PDFJSDev.test(\"GENERIC\")) {\n const { isNodeJS } = require(\"./shared/is_node.js\");\n if (isNodeJS) {\n const PDFNodeStream = require(\"./display/node_stream.js\").PDFNodeStream;\n setPDFNetworkStreamFactory(params => {\n return new PDFNodeStream(params);\n });\n } else {\n const PDFNetworkStream = require(\"./display/network.js\").PDFNetworkStream;\n let PDFFetchStream;\n if (isFetchSupported()) {\n PDFFetchStream = require(\"./display/fetch_stream.js\").PDFFetchStream;\n }\n setPDFNetworkStreamFactory(params => {\n if (PDFFetchStream && isValidFetchUrl(params.url)) {\n return new PDFFetchStream(params);\n }\n return new PDFNetworkStream(params);\n });\n }\n} else if (PDFJSDev.test(\"CHROME\")) {\n const PDFNetworkStream = require(\"./display/network.js\").PDFNetworkStream;\n let PDFFetchStream;\n const isChromeWithFetchCredentials = function () {\n // fetch does not include credentials until Chrome 61.0.3138.0 and later.\n // https://chromium.googlesource.com/chromium/src/+/2e231cf052ca5e68e22baf0008ac9e5e29121707\n try {\n // Indexed properties on window are read-only in Chrome 61.0.3151.0+\n // https://chromium.googlesource.com/chromium/src.git/+/58ab4a971b06dec13e4edf9de8382ca6847f6190\n window[999] = 123; // should throw. Note: JS strict mode MUST be enabled.\n delete window[999];\n return false;\n } catch (e) {\n return true;\n }\n };\n if (isFetchSupported() && isChromeWithFetchCredentials()) {\n PDFFetchStream = require(\"./display/fetch_stream.js\").PDFFetchStream;\n }\n setPDFNetworkStreamFactory(params => {\n if (PDFFetchStream && isValidFetchUrl(params.url)) {\n return new PDFFetchStream(params);\n }\n return new PDFNetworkStream(params);\n });\n}\n\nexport {\n // From \"./display/display_utils.js\":\n addLinkAttributes,\n getFilenameFromUrl,\n LinkTarget,\n loadScript,\n PDFDateString,\n RenderingCancelledException,\n // From \"./display/api.js\":\n build,\n getDocument,\n LoopbackPort,\n PDFDataRangeTransport,\n PDFWorker,\n version,\n // From \"./shared/util.js\":\n CMapCompressionType,\n createObjectURL,\n createPromiseCapability,\n createValidAbsoluteUrl,\n InvalidPDFException,\n MissingPDFException,\n OPS,\n PasswordResponses,\n PermissionFlag,\n removeNullCharacters,\n shadow,\n UnexpectedResponseException,\n UNSUPPORTED_FEATURES,\n Util,\n VerbosityLevel,\n // From \"./display/annotation_layer.js\":\n AnnotationLayer,\n // From \"./display/api_compatibility.js\":\n apiCompatibilityParams,\n // From \"./display/worker_options.js\":\n GlobalWorkerOptions,\n // From \"./display/text_layer.js\":\n renderTextLayer,\n // From \"./display/svg.js\":\n SVGGraphics,\n};\n","/* Copyright 2015 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/* eslint no-var: error */\n\nimport {\n assert,\n BaseException,\n CMapCompressionType,\n isString,\n removeNullCharacters,\n stringToBytes,\n Util,\n warn,\n} from \"../shared/util.js\";\n\nconst DEFAULT_LINK_REL = \"noopener noreferrer nofollow\";\nconst SVG_NS = \"http://www.w3.org/2000/svg\";\n\nclass DOMCanvasFactory {\n create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n const canvas = document.createElement(\"canvas\");\n const context = canvas.getContext(\"2d\");\n canvas.width = width;\n canvas.height = height;\n return {\n canvas,\n context,\n };\n }\n\n reset(canvasAndContext, width, height) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n canvasAndContext.canvas.width = width;\n canvasAndContext.canvas.height = height;\n }\n\n destroy(canvasAndContext) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n // Zeroing the width and height cause Firefox to release graphics\n // resources immediately, which can greatly reduce memory consumption.\n canvasAndContext.canvas.width = 0;\n canvasAndContext.canvas.height = 0;\n canvasAndContext.canvas = null;\n canvasAndContext.context = null;\n }\n}\n\nclass DOMCMapReaderFactory {\n constructor({ baseUrl = null, isCompressed = false }) {\n this.baseUrl = baseUrl;\n this.isCompressed = isCompressed;\n }\n\n async fetch({ name }) {\n if (!this.baseUrl) {\n throw new Error(\n 'The CMap \"baseUrl\" parameter must be specified, ensure that ' +\n 'the \"cMapUrl\" and \"cMapPacked\" API parameters are provided.'\n );\n }\n if (!name) {\n throw new Error(\"CMap name must be specified.\");\n }\n const url = this.baseUrl + name + (this.isCompressed ? \".bcmap\" : \"\");\n const compressionType = this.isCompressed\n ? CMapCompressionType.BINARY\n : CMapCompressionType.NONE;\n\n if (\n (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) ||\n (isFetchSupported() && isValidFetchUrl(url, document.baseURI))\n ) {\n return fetch(url)\n .then(async response => {\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n let cMapData;\n if (this.isCompressed) {\n cMapData = new Uint8Array(await response.arrayBuffer());\n } else {\n cMapData = stringToBytes(await response.text());\n }\n return { cMapData, compressionType };\n })\n .catch(reason => {\n throw new Error(\n `Unable to load ${this.isCompressed ? \"binary \" : \"\"}` +\n `CMap at: ${url}`\n );\n });\n }\n\n // The Fetch API is not supported.\n return new Promise((resolve, reject) => {\n const request = new XMLHttpRequest();\n request.open(\"GET\", url, true);\n\n if (this.isCompressed) {\n request.responseType = \"arraybuffer\";\n }\n request.onreadystatechange = () => {\n if (request.readyState !== XMLHttpRequest.DONE) {\n return;\n }\n if (request.status === 200 || request.status === 0) {\n let cMapData;\n if (this.isCompressed && request.response) {\n cMapData = new Uint8Array(request.response);\n } else if (!this.isCompressed && request.responseText) {\n cMapData = stringToBytes(request.responseText);\n }\n if (cMapData) {\n resolve({ cMapData, compressionType });\n return;\n }\n }\n reject(new Error(request.statusText));\n };\n\n request.send(null);\n }).catch(reason => {\n throw new Error(\n `Unable to load ${this.isCompressed ? \"binary \" : \"\"}` +\n `CMap at: ${url}`\n );\n });\n }\n}\n\nclass DOMSVGFactory {\n create(width, height) {\n assert(width > 0 && height > 0, \"Invalid SVG dimensions\");\n\n const 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\n return svg;\n }\n\n createElement(type) {\n assert(typeof type === \"string\", \"Invalid SVG element type\");\n\n return document.createElementNS(SVG_NS, type);\n }\n}\n\n/**\n * @typedef {Object} PageViewportParameters\n * @property {Array} viewBox - The xMin, yMin, xMax and yMax coordinates.\n * @property {number} scale - The scale of the viewport.\n * @property {number} rotation - The rotation, in degrees, of the viewport.\n * @property {number} [offsetX] - The horizontal, i.e. x-axis, offset. The\n * default value is `0`.\n * @property {number} [offsetY] - The vertical, i.e. y-axis, offset. The\n * default value is `0`.\n * @property {boolean} [dontFlip] - If true, the y-axis will not be flipped.\n * The default value is `false`.\n */\n\n/**\n * @typedef {Object} PageViewportCloneParameters\n * @property {number} [scale] - The scale, overriding the one in the cloned\n * viewport. The default value is `this.scale`.\n * @property {number} [rotation] - The rotation, in degrees, overriding the one\n * in the cloned viewport. The default value is `this.rotation`.\n * @property {number} [offsetX] - The horizontal, i.e. x-axis, offset.\n * The default value is `this.offsetX`.\n * @property {number} [offsetY] - The vertical, i.e. y-axis, offset.\n * The default value is `this.offsetY`.\n * @property {boolean} [dontFlip] - If true, the x-axis will not be flipped.\n * The default value is `false`.\n */\n\n/**\n * PDF page viewport created based on scale, rotation and offset.\n */\nclass PageViewport {\n /**\n * @param {PageViewportParameters}\n */\n constructor({\n viewBox,\n scale,\n rotation,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false,\n }) {\n this.viewBox = viewBox;\n this.scale = scale;\n this.rotation = rotation;\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n\n // creating transform to convert pdf coordinate system to the normal\n // canvas like coordinates taking in account scale and rotation\n const centerX = (viewBox[2] + viewBox[0]) / 2;\n const centerY = (viewBox[3] + viewBox[1]) / 2;\n let rotateA, rotateB, rotateC, rotateD;\n rotation = rotation % 360;\n rotation = rotation < 0 ? rotation + 360 : rotation;\n switch (rotation) {\n case 180:\n rotateA = -1;\n rotateB = 0;\n rotateC = 0;\n rotateD = 1;\n break;\n case 90:\n rotateA = 0;\n rotateB = 1;\n rotateC = 1;\n rotateD = 0;\n break;\n case 270:\n rotateA = 0;\n rotateB = -1;\n rotateC = -1;\n rotateD = 0;\n break;\n case 0:\n rotateA = 1;\n rotateB = 0;\n rotateC = 0;\n rotateD = -1;\n break;\n default:\n throw new Error(\n \"PageViewport: Invalid rotation, must be a multiple of 90 degrees.\"\n );\n }\n\n if (dontFlip) {\n rotateC = -rotateC;\n rotateD = -rotateD;\n }\n\n let offsetCanvasX, offsetCanvasY;\n let width, height;\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 // creating transform for the following operations:\n // translate(-centerX, -centerY), rotate and flip vertically,\n // scale, and translate(offsetCanvasX, offsetCanvasY)\n this.transform = [\n rotateA * scale,\n rotateB * scale,\n rotateC * scale,\n rotateD * scale,\n offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY,\n offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY,\n ];\n\n this.width = width;\n this.height = height;\n }\n\n /**\n * Clones viewport, with optional additional properties.\n * @param {PageViewportCloneParameters} [params]\n * @returns {PageViewport} Cloned viewport.\n */\n clone({\n scale = this.scale,\n rotation = this.rotation,\n offsetX = this.offsetX,\n offsetY = this.offsetY,\n dontFlip = false,\n } = {}) {\n return new PageViewport({\n viewBox: this.viewBox.slice(),\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip,\n });\n }\n\n /**\n * Converts PDF point to the viewport coordinates. For examples, useful for\n * converting PDF location into canvas pixel coordinates.\n * @param {number} x - The x-coordinate.\n * @param {number} y - The y-coordinate.\n * @returns {Object} Object containing `x` and `y` properties of the\n * point in the viewport coordinate space.\n * @see {@link convertToPdfPoint}\n * @see {@link convertToViewportRectangle}\n */\n convertToViewportPoint(x, y) {\n return Util.applyTransform([x, y], this.transform);\n }\n\n /**\n * Converts PDF rectangle to the viewport coordinates.\n * @param {Array} rect - The xMin, yMin, xMax and yMax coordinates.\n * @returns {Array} Array containing corresponding coordinates of the\n * rectangle in the viewport coordinate space.\n * @see {@link convertToViewportPoint}\n */\n convertToViewportRectangle(rect) {\n const topLeft = Util.applyTransform([rect[0], rect[1]], this.transform);\n const bottomRight = Util.applyTransform([rect[2], rect[3]], this.transform);\n return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]];\n }\n\n /**\n * Converts viewport coordinates to the PDF location. For examples, useful\n * for converting canvas pixel location into PDF one.\n * @param {number} x - The x-coordinate.\n * @param {number} y - The y-coordinate.\n * @returns {Object} Object containing `x` and `y` properties of the\n * point in the PDF coordinate space.\n * @see {@link convertToViewportPoint}\n */\n convertToPdfPoint(x, y) {\n return Util.applyInverseTransform([x, y], this.transform);\n }\n}\n\nclass RenderingCancelledException extends BaseException {\n constructor(msg, type) {\n super(msg);\n this.type = type;\n }\n}\n\nconst LinkTarget = {\n NONE: 0, // Default value.\n SELF: 1,\n BLANK: 2,\n PARENT: 3,\n TOP: 4,\n};\n\n/**\n * @typedef ExternalLinkParameters\n * @typedef {Object} ExternalLinkParameters\n * @property {string} url - An absolute URL.\n * @property {LinkTarget} [target] - The link target. The default value is\n * `LinkTarget.NONE`.\n * @property {string} [rel] - The link relationship. The default value is\n * `DEFAULT_LINK_REL`.\n * @property {boolean} [enabled] - Whether the link should be enabled. The\n * default value is true.\n */\n\n/**\n * Adds various attributes (href, title, target, rel) to hyperlinks.\n * @param {HTMLLinkElement} link - The link element.\n * @param {ExternalLinkParameters} params\n */\nfunction addLinkAttributes(link, { url, target, rel, enabled = true } = {}) {\n assert(\n url && typeof url === \"string\",\n 'addLinkAttributes: A valid \"url\" parameter must provided.'\n );\n\n const urlNullRemoved = removeNullCharacters(url);\n if (enabled) {\n link.href = link.title = urlNullRemoved;\n } else {\n link.href = \"\";\n link.title = `Disabled: ${urlNullRemoved}`;\n link.onclick = () => {\n return false;\n };\n }\n\n let targetStr = \"\"; // LinkTarget.NONE\n switch (target) {\n case LinkTarget.NONE:\n break;\n case LinkTarget.SELF:\n targetStr = \"_self\";\n break;\n case LinkTarget.BLANK:\n targetStr = \"_blank\";\n break;\n case LinkTarget.PARENT:\n targetStr = \"_parent\";\n break;\n case LinkTarget.TOP:\n targetStr = \"_top\";\n break;\n }\n link.target = targetStr;\n\n link.rel = typeof rel === \"string\" ? rel : DEFAULT_LINK_REL;\n}\n\n// Gets the file name from a given URL.\nfunction getFilenameFromUrl(url) {\n const anchor = url.indexOf(\"#\");\n const query = url.indexOf(\"?\");\n const end = Math.min(\n anchor > 0 ? anchor : url.length,\n query > 0 ? query : url.length\n );\n return url.substring(url.lastIndexOf(\"/\", end) + 1, end);\n}\n\nclass StatTimer {\n constructor() {\n this.started = Object.create(null);\n this.times = [];\n }\n\n time(name) {\n if (name in this.started) {\n warn(`Timer is already running for ${name}`);\n }\n this.started[name] = Date.now();\n }\n\n timeEnd(name) {\n if (!(name in this.started)) {\n warn(`Timer has not been started for ${name}`);\n }\n this.times.push({\n name,\n start: this.started[name],\n end: Date.now(),\n });\n // Remove timer from started so it can be called again.\n delete this.started[name];\n }\n\n toString() {\n // Find the longest name for padding purposes.\n const outBuf = [];\n let longest = 0;\n for (const time of this.times) {\n const name = time.name;\n if (name.length > longest) {\n longest = name.length;\n }\n }\n for (const time of this.times) {\n const duration = time.end - time.start;\n outBuf.push(`${time.name.padEnd(longest)} ${duration}ms\\n`);\n }\n return outBuf.join(\"\");\n }\n}\n\nfunction isFetchSupported() {\n return (\n typeof fetch !== \"undefined\" &&\n typeof Response !== \"undefined\" &&\n \"body\" in Response.prototype &&\n typeof ReadableStream !== \"undefined\"\n );\n}\n\nfunction isValidFetchUrl(url, baseUrl) {\n try {\n const { protocol } = baseUrl ? new URL(url, baseUrl) : new URL(url);\n // The Fetch API only supports the http/https protocols, and not file/ftp.\n return protocol === \"http:\" || protocol === \"https:\";\n } catch (ex) {\n return false; // `new URL()` will throw on incorrect data.\n }\n}\n\nfunction loadScript(src) {\n return new Promise((resolve, reject) => {\n const script = document.createElement(\"script\");\n script.src = src;\n\n script.onload = resolve;\n script.onerror = function () {\n reject(new Error(`Cannot load script at: ${script.src}`));\n };\n (document.head || document.documentElement).appendChild(script);\n });\n}\n\n// Deprecated API function -- display regardless of the `verbosity` setting.\nfunction deprecated(details) {\n console.log(\"Deprecated API usage: \" + details);\n}\n\nlet pdfDateStringRegex;\n\nclass PDFDateString {\n /**\n * Convert a PDF date string to a JavaScript `Date` object.\n *\n * The PDF date string format is described in section 7.9.4 of the official\n * PDF 32000-1:2008 specification. However, in the PDF 1.7 reference (sixth\n * edition) Adobe describes the same format including a trailing apostrophe.\n * This syntax in incorrect, but Adobe Acrobat creates PDF files that contain\n * them. We ignore all apostrophes as they are not necessary for date parsing.\n *\n * Moreover, Adobe Acrobat doesn't handle changing the date to universal time\n * and doesn't use the user's time zone (effectively ignoring the HH' and mm'\n * parts of the date string).\n *\n * @param {string} input\n * @returns {Date|null}\n */\n static toDateObject(input) {\n if (!input || !isString(input)) {\n return null;\n }\n\n // Lazily initialize the regular expression.\n if (!pdfDateStringRegex) {\n pdfDateStringRegex = new RegExp(\n \"^D:\" + // Prefix (required)\n \"(\\\\d{4})\" + // Year (required)\n \"(\\\\d{2})?\" + // Month (optional)\n \"(\\\\d{2})?\" + // Day (optional)\n \"(\\\\d{2})?\" + // Hour (optional)\n \"(\\\\d{2})?\" + // Minute (optional)\n \"(\\\\d{2})?\" + // Second (optional)\n \"([Z|+|-])?\" + // Universal time relation (optional)\n \"(\\\\d{2})?\" + // Offset hour (optional)\n \"'?\" + // Splitting apostrophe (optional)\n \"(\\\\d{2})?\" + // Offset minute (optional)\n \"'?\" // Trailing apostrophe (optional)\n );\n }\n\n // Optional fields that don't satisfy the requirements from the regular\n // expression (such as incorrect digit counts or numbers that are out of\n // range) will fall back the defaults from the specification.\n const matches = pdfDateStringRegex.exec(input);\n if (!matches) {\n return null;\n }\n\n // JavaScript's `Date` object expects the month to be between 0 and 11\n // instead of 1 and 12, so we have to correct for that.\n const year = parseInt(matches[1], 10);\n let month = parseInt(matches[2], 10);\n month = month >= 1 && month <= 12 ? month - 1 : 0;\n let day = parseInt(matches[3], 10);\n day = day >= 1 && day <= 31 ? day : 1;\n let hour = parseInt(matches[4], 10);\n hour = hour >= 0 && hour <= 23 ? hour : 0;\n let minute = parseInt(matches[5], 10);\n minute = minute >= 0 && minute <= 59 ? minute : 0;\n let second = parseInt(matches[6], 10);\n second = second >= 0 && second <= 59 ? second : 0;\n const universalTimeRelation = matches[7] || \"Z\";\n let offsetHour = parseInt(matches[8], 10);\n offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;\n let offsetMinute = parseInt(matches[9], 10) || 0;\n offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;\n\n // Universal time relation 'Z' means that the local time is equal to the\n // universal time, whereas the relations '+'/'-' indicate that the local\n // time is later respectively earlier than the universal time. Every date\n // is normalized to universal time.\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\nexport {\n PageViewport,\n RenderingCancelledException,\n addLinkAttributes,\n getFilenameFromUrl,\n LinkTarget,\n DEFAULT_LINK_REL,\n DOMCanvasFactory,\n DOMCMapReaderFactory,\n DOMSVGFactory,\n StatTimer,\n isFetchSupported,\n isValidFetchUrl,\n loadScript,\n deprecated,\n PDFDateString,\n};\n","module.exports = require(\"regenerator-runtime\");\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\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 // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\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\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n 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 // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\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 =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : 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\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 // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\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\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"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 // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\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 = { tryLoc: locs[0] };\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 // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\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, 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\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\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 // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\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\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\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\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n 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\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","/* Copyright 2012 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/* eslint no-var: error */\n\nimport \"./compatibility.js\";\n\nconst IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nconst FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\n\n// Permission flags from Table 22, Section 7.6.3.2 of the PDF specification.\nconst 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};\n\nconst 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};\n\nconst ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3,\n};\n\nconst 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};\n\nconst AnnotationStateModelType = {\n MARKED: \"Marked\",\n REVIEW: \"Review\",\n};\n\nconst AnnotationMarkedState = {\n MARKED: \"Marked\",\n UNMARKED: \"Unmarked\",\n};\n\nconst AnnotationReviewState = {\n ACCEPTED: \"Accepted\",\n REJECTED: \"Rejected\",\n CANCELLED: \"Cancelled\",\n COMPLETED: \"Completed\",\n NONE: \"None\",\n};\n\nconst AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\",\n};\n\nconst 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};\n\nconst 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};\n\nconst AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5,\n};\n\nconst 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\", // PDF short name is 'RL', but telemetry requires three chars.\n};\n\nconst 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};\n\nconst VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5,\n};\n\nconst CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2,\n};\n\n// All the possible operations for an operator list.\nconst OPS = {\n // Intentionally start from 1 so it is easy to spot bad operators that will be\n // 0's.\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};\n\nconst UNSUPPORTED_FEATURES = {\n /** @deprecated unused */\n unknown: \"unknown\",\n forms: \"forms\",\n javaScript: \"javaScript\",\n smask: \"smask\",\n shadingPattern: \"shadingPattern\",\n /** @deprecated unused */\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};\n\nconst PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2,\n};\n\nlet 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\n// A notice for devs. These are good for things that are helpful to devs, such\n// as warning that Workers were disabled, which is important to devs but not\n// end users.\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(`Info: ${msg}`);\n }\n}\n\n// Non-fatal warnings.\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(`Warning: ${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\n// Checks if URLs have the same origin. For non-HTTP based URLs, returns false.\nfunction isSameOrigin(baseUrl, otherUrl) {\n let base;\n try {\n base = new URL(baseUrl);\n if (!base.origin || base.origin === \"null\") {\n return false; // non-HTTP url\n }\n } catch (e) {\n return false;\n }\n\n const other = new URL(otherUrl, base);\n return base.origin === other.origin;\n}\n\n// Checks if URLs use one of the whitelisted protocols, e.g. to avoid XSS.\nfunction _isValidProtocol(url) {\n if (!url) {\n return false;\n }\n switch (url.protocol) {\n case \"http:\":\n case \"https:\":\n case \"ftp:\":\n case \"mailto:\":\n case \"tel:\":\n return true;\n default:\n return false;\n }\n}\n\n/**\n * Attempts to create a valid absolute URL.\n *\n * @param {URL|string} url - An absolute, or relative, URL.\n * @param {URL|string} baseUrl - An absolute URL.\n * @returns Either a valid {URL}, or `null` otherwise.\n */\nfunction createValidAbsoluteUrl(url, baseUrl) {\n if (!url) {\n return null;\n }\n try {\n const absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {\n /* `new URL()` will throw on incorrect data. */\n }\n return null;\n}\n\nfunction shadow(obj, prop, value) {\n Object.defineProperty(obj, prop, {\n value,\n enumerable: true,\n configurable: true,\n writable: false,\n });\n return value;\n}\n\nconst BaseException = (function BaseExceptionClosure() {\n // eslint-disable-next-line no-shadow\n function BaseException(message) {\n if (this.constructor === BaseException) {\n unreachable(\"Cannot initialize BaseException.\");\n }\n this.message = message;\n this.name = this.constructor.name;\n }\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n\n return BaseException;\n})();\n\nclass PasswordException extends BaseException {\n constructor(msg, code) {\n super(msg);\n this.code = code;\n }\n}\n\nclass UnknownErrorException extends BaseException {\n constructor(msg, details) {\n super(msg);\n this.details = details;\n }\n}\n\nclass InvalidPDFException extends BaseException {}\n\nclass MissingPDFException extends BaseException {}\n\nclass UnexpectedResponseException extends BaseException {\n constructor(msg, status) {\n super(msg);\n this.status = status;\n }\n}\n\n/**\n * Error caused during parsing PDF data.\n */\nclass FormatError extends BaseException {}\n\n/**\n * Error used to indicate task cancellation.\n */\nclass AbortException extends BaseException {}\n\nconst 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 return str.replace(NullCharactersRegExp, \"\");\n}\n\nfunction bytesToString(bytes) {\n assert(\n bytes !== null && typeof bytes === \"object\" && bytes.length !== undefined,\n \"Invalid argument for bytesToString\"\n );\n const length = bytes.length;\n const MAX_ARGUMENT_COUNT = 8192;\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n const strBuf = [];\n for (let i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n const chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n const chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n return strBuf.join(\"\");\n}\n\nfunction stringToBytes(str) {\n assert(typeof str === \"string\", \"Invalid argument for stringToBytes\");\n const length = str.length;\n const bytes = new Uint8Array(length);\n for (let i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xff;\n }\n return bytes;\n}\n\n/**\n * Gets length of the array (Array, Uint8Array, or string) in bytes.\n * @param {Array|Uint8Array|string} arr\n * @returns {number}\n */\nfunction arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n assert(arr.byteLength !== undefined, \"arrayByteLength - invalid argument.\");\n return arr.byteLength;\n}\n\n/**\n * Combines array items (arrays) into single Uint8Array object.\n * @param {Array} arr - the array of the arrays (Array, Uint8Array, or string).\n * @returns {Uint8Array}\n */\nfunction arraysToBytes(arr) {\n const length = arr.length;\n // Shortcut: if first and only item is Uint8Array, return it.\n if (length === 1 && arr[0] instanceof Uint8Array) {\n return arr[0];\n }\n let resultLength = 0;\n for (let i = 0; i < length; i++) {\n resultLength += arrayByteLength(arr[i]);\n }\n let pos = 0;\n const data = new Uint8Array(resultLength);\n for (let i = 0; i < length; i++) {\n let item = arr[i];\n if (!(item instanceof Uint8Array)) {\n if (typeof item === \"string\") {\n item = stringToBytes(item);\n } else {\n item = new Uint8Array(item);\n }\n }\n const itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n return data;\n}\n\nfunction string32(value) {\n return String.fromCharCode(\n (value >> 24) & 0xff,\n (value >> 16) & 0xff,\n (value >> 8) & 0xff,\n value & 0xff\n );\n}\n\n// Checks the endianness of the platform.\nfunction isLittleEndian() {\n const buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n const view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\nconst IsLittleEndianCached = {\n get value() {\n return shadow(this, \"value\", isLittleEndian());\n },\n};\n\n// Checks if it's possible to eval JS expressions.\nfunction isEvalSupported() {\n try {\n new Function(\"\"); // eslint-disable-line no-new, no-new-func\n return true;\n } catch (e) {\n return false;\n }\n}\nconst IsEvalSupportedCached = {\n get value() {\n return shadow(this, \"value\", isEvalSupported());\n },\n};\n\nconst rgbBuf = [\"rgb(\", 0, \",\", 0, \",\", 0, \")\"];\n\nclass Util {\n // makeCssRgb() can be called thousands of times. Using ´rgbBuf` avoids\n // creating many intermediate strings.\n static makeCssRgb(r, g, b) {\n rgbBuf[1] = r;\n rgbBuf[3] = g;\n rgbBuf[5] = b;\n return rgbBuf.join(\"\");\n }\n\n // Concatenates two transformation matrices together and returns the result.\n static transform(m1, m2) {\n return [\n m1[0] * m2[0] + m1[2] * m2[1],\n m1[1] * m2[0] + m1[3] * m2[1],\n m1[0] * m2[2] + m1[2] * m2[3],\n m1[1] * m2[2] + m1[3] * m2[3],\n m1[0] * m2[4] + m1[2] * m2[5] + m1[4],\n m1[1] * m2[4] + m1[3] * m2[5] + m1[5],\n ];\n }\n\n // For 2d affine transforms\n static applyTransform(p, m) {\n const xt = p[0] * m[0] + p[1] * m[2] + m[4];\n const yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n }\n\n static applyInverseTransform(p, m) {\n const d = m[0] * m[3] - m[1] * m[2];\n const xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n const 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 // Applies the transform to the rectangle and finds the minimum axially\n // aligned bounding box.\n static getAxialAlignedBoundingBox(r, m) {\n const p1 = Util.applyTransform(r, m);\n const p2 = Util.applyTransform(r.slice(2, 4), m);\n const p3 = Util.applyTransform([r[0], r[3]], m);\n const p4 = Util.applyTransform([r[2], r[1]], m);\n return [\n Math.min(p1[0], p2[0], p3[0], p4[0]),\n Math.min(p1[1], p2[1], p3[1], p4[1]),\n Math.max(p1[0], p2[0], p3[0], p4[0]),\n Math.max(p1[1], p2[1], p3[1], p4[1]),\n ];\n }\n\n static inverseTransform(m) {\n const d = m[0] * m[3] - m[1] * m[2];\n return [\n m[3] / d,\n -m[1] / d,\n -m[2] / d,\n m[0] / d,\n (m[2] * m[5] - m[4] * m[3]) / d,\n (m[4] * m[1] - m[5] * m[0]) / d,\n ];\n }\n\n // Apply a generic 3d matrix M on a 3-vector v:\n // | a b c | | X |\n // | d e f | x | Y |\n // | g h i | | Z |\n // M is assumed to be serialized as [a,b,c,d,e,f,g,h,i],\n // with v as [X,Y,Z]\n static apply3dTransform(m, v) {\n return [\n m[0] * v[0] + m[1] * v[1] + m[2] * v[2],\n m[3] * v[0] + m[4] * v[1] + m[5] * v[2],\n m[6] * v[0] + m[7] * v[1] + m[8] * v[2],\n ];\n }\n\n // This calculation uses Singular Value Decomposition.\n // The SVD can be represented with formula A = USV. We are interested in the\n // matrix S here because it represents the scale values.\n static singularValueDecompose2dScale(m) {\n const transpose = [m[0], m[2], m[1], m[3]];\n\n // Multiply matrix m with its transpose.\n const a = m[0] * transpose[0] + m[1] * transpose[2];\n const b = m[0] * transpose[1] + m[1] * transpose[3];\n const c = m[2] * transpose[0] + m[3] * transpose[2];\n const d = m[2] * transpose[1] + m[3] * transpose[3];\n\n // Solve the second degree polynomial to get roots.\n const first = (a + d) / 2;\n const second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;\n const sx = first + second || 1;\n const sy = first - second || 1;\n\n // Scale values are the square roots of the eigenvalues.\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n\n // Normalize rectangle rect=[x1, y1, x2, y2] so that (x1,y1) < (x2,y2)\n // For coordinate systems whose origin lies in the bottom-left, this\n // means normalization to (BL,TR) ordering. For systems with origin in the\n // top-left, this means (TL,BR) ordering.\n static normalizeRect(rect) {\n const r = rect.slice(0); // clone rect\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n return r;\n }\n\n // Returns a rectangle [x1, y1, x2, y2] corresponding to the\n // intersection of rect1 and rect2. If no intersection, returns 'false'\n // The rectangle coordinates of rect1, rect2 should be [x1, y1, x2, y2]\n static intersect(rect1, rect2) {\n function compare(a, b) {\n return a - b;\n }\n\n // Order points along the axes\n const orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare);\n const orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);\n const result = [];\n\n rect1 = Util.normalizeRect(rect1);\n rect2 = Util.normalizeRect(rect2);\n\n // X: first and second points belong to different rectangles?\n if (\n (orderedX[0] === rect1[0] && orderedX[1] === rect2[0]) ||\n (orderedX[0] === rect2[0] && orderedX[1] === rect1[0])\n ) {\n // Intersection must be between second and third points\n result[0] = orderedX[1];\n result[2] = orderedX[2];\n } else {\n return null;\n }\n\n // Y: first and second points belong to different rectangles?\n if (\n (orderedY[0] === rect1[1] && orderedY[1] === rect2[1]) ||\n (orderedY[0] === rect2[1] && orderedY[1] === rect1[1])\n ) {\n // Intersection must be between second and third points\n result[1] = orderedY[1];\n result[3] = orderedY[2];\n } else {\n return null;\n }\n\n return result;\n }\n}\n\n// prettier-ignore\nconst PDFStringTranslateTable = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014,\n 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C,\n 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160,\n 0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC\n];\n\nfunction stringToPDFString(str) {\n const length = str.length,\n strBuf = [];\n if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n // UTF16BE BOM\n for (let i = 2; i < length; i += 2) {\n strBuf.push(\n String.fromCharCode((str.charCodeAt(i) << 8) | str.charCodeAt(i + 1))\n );\n }\n } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n // UTF16LE BOM\n for (let i = 2; i < length; i += 2) {\n strBuf.push(\n String.fromCharCode((str.charCodeAt(i + 1) << 8) | str.charCodeAt(i))\n );\n }\n } else {\n for (let i = 0; i < length; ++i) {\n const code = PDFStringTranslateTable[str.charCodeAt(i)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\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 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 return arr1.every(function (element, index) {\n return element === arr2[index];\n });\n}\n\n/**\n * Promise Capability object.\n *\n * @typedef {Object} PromiseCapability\n * @property {Promise} promise - A Promise object.\n * @property {boolean} settled - If the Promise has been fulfilled/rejected.\n * @property {function} resolve - Fulfills the Promise.\n * @property {function} reject - Rejects the Promise.\n */\n\n/**\n * Creates a promise capability object.\n * @alias createPromiseCapability\n *\n * @returns {PromiseCapability}\n */\nfunction createPromiseCapability() {\n const capability = Object.create(null);\n let isSettled = false;\n\n Object.defineProperty(capability, \"settled\", {\n 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 capability.reject = function (reason) {\n isSettled = true;\n reject(reason);\n };\n });\n return capability;\n}\n\nconst createObjectURL = (function createObjectURLClosure() {\n // Blob/createObjectURL is not available, falling back to data schema.\n const digits =\n \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n\n // eslint-disable-next-line no-shadow\n return function createObjectURL(data, contentType, forceDataSchema = false) {\n if (!forceDataSchema && URL.createObjectURL) {\n const blob = new Blob([data], { type: contentType });\n return URL.createObjectURL(blob);\n }\n\n let buffer = `data:${contentType};base64,`;\n for (let i = 0, ii = data.length; i < ii; i += 3) {\n const b1 = data[i] & 0xff;\n const b2 = data[i + 1] & 0xff;\n const b3 = data[i + 2] & 0xff;\n const d1 = b1 >> 2,\n d2 = ((b1 & 3) << 4) | (b2 >> 4);\n const d3 = i + 1 < ii ? ((b2 & 0xf) << 2) | (b3 >> 6) : 64;\n const d4 = i + 2 < ii ? b3 & 0x3f : 64;\n buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n }\n return buffer;\n };\n})();\n\nexport {\n BaseException,\n FONT_IDENTITY_MATRIX,\n IDENTITY_MATRIX,\n OPS,\n VerbosityLevel,\n UNSUPPORTED_FEATURES,\n AnnotationBorderStyleType,\n AnnotationFieldFlag,\n AnnotationFlag,\n AnnotationMarkedState,\n AnnotationReplyType,\n AnnotationReviewState,\n AnnotationStateModelType,\n AnnotationType,\n FontType,\n ImageKind,\n CMapCompressionType,\n AbortException,\n InvalidPDFException,\n MissingPDFException,\n PasswordException,\n PasswordResponses,\n PermissionFlag,\n StreamType,\n TextRenderingMode,\n UnexpectedResponseException,\n UnknownErrorException,\n Util,\n FormatError,\n arrayByteLength,\n arraysToBytes,\n assert,\n bytesToString,\n createPromiseCapability,\n createObjectURL,\n getVerbosityLevel,\n info,\n isArrayBuffer,\n isArrayEqual,\n isBool,\n isNum,\n isString,\n isSameOrigin,\n createValidAbsoluteUrl,\n IsLittleEndianCached,\n IsEvalSupportedCached,\n removeNullCharacters,\n setVerbosityLevel,\n shadow,\n string32,\n stringToBytes,\n stringToPDFString,\n stringToUTF8String,\n utf8StringToString,\n warn,\n unreachable,\n};\n","/* Copyright 2017 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/* eslint no-var: error */\n\nimport { isNodeJS } from \"./is_node.js\";\n\n// Skip compatibility checks for modern builds and if we already ran the module.\nif (\n (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"SKIP_BABEL\")) &&\n (typeof globalThis === \"undefined\" || !globalThis._pdfjsCompatibilityChecked)\n) {\n // Provides support for globalThis in legacy browsers.\n // Support: IE11/Edge, Opera\n if (typeof globalThis === \"undefined\" || globalThis.Math !== Math) {\n // eslint-disable-next-line no-global-assign\n globalThis = require(\"core-js/es/global-this\");\n }\n globalThis._pdfjsCompatibilityChecked = true;\n\n const hasDOM = typeof window === \"object\" && typeof document === \"object\";\n const userAgent =\n (typeof navigator !== \"undefined\" && navigator.userAgent) || \"\";\n const isIE = /Trident/.test(userAgent);\n\n // Support: Node.js\n (function checkNodeBtoa() {\n if (globalThis.btoa || !isNodeJS) {\n return;\n }\n globalThis.btoa = function (chars) {\n // eslint-disable-next-line no-undef\n return Buffer.from(chars, \"binary\").toString(\"base64\");\n };\n })();\n\n // Support: Node.js\n (function checkNodeAtob() {\n if (globalThis.atob || !isNodeJS) {\n return;\n }\n globalThis.atob = function (input) {\n // eslint-disable-next-line no-undef\n return Buffer.from(input, \"base64\").toString(\"binary\");\n };\n })();\n\n // Provides support for ChildNode.remove in legacy browsers.\n // Support: IE.\n (function checkChildNodeRemove() {\n if (!hasDOM) {\n return;\n }\n if (typeof Element.prototype.remove !== \"undefined\") {\n return;\n }\n Element.prototype.remove = function () {\n if (this.parentNode) {\n // eslint-disable-next-line mozilla/avoid-removeChild\n this.parentNode.removeChild(this);\n }\n };\n })();\n\n // Provides support for DOMTokenList.prototype.{add, remove}, with more than\n // one parameter, in legacy browsers.\n // Support: IE\n (function checkDOMTokenListAddRemove() {\n if (!hasDOM || isNodeJS) {\n return;\n }\n const div = document.createElement(\"div\");\n div.classList.add(\"testOne\", \"testTwo\");\n\n if (\n div.classList.contains(\"testOne\") === true &&\n div.classList.contains(\"testTwo\") === true\n ) {\n return;\n }\n const OriginalDOMTokenListAdd = DOMTokenList.prototype.add;\n const OriginalDOMTokenListRemove = DOMTokenList.prototype.remove;\n\n DOMTokenList.prototype.add = function (...tokens) {\n for (const token of tokens) {\n OriginalDOMTokenListAdd.call(this, token);\n }\n };\n DOMTokenList.prototype.remove = function (...tokens) {\n for (const token of tokens) {\n OriginalDOMTokenListRemove.call(this, token);\n }\n };\n })();\n\n // Provides support for DOMTokenList.prototype.toggle, with the optional\n // \"force\" parameter, in legacy browsers.\n // Support: IE\n (function checkDOMTokenListToggle() {\n if (!hasDOM || isNodeJS) {\n return;\n }\n const div = document.createElement(\"div\");\n if (div.classList.toggle(\"test\", 0) === false) {\n return;\n }\n\n DOMTokenList.prototype.toggle = function (token) {\n const force =\n arguments.length > 1 ? !!arguments[1] : !this.contains(token);\n return this[force ? \"add\" : \"remove\"](token), force;\n };\n })();\n\n // Provides support for window.history.{pushState, replaceState}, with the\n // `url` parameter set to `undefined`, without breaking the document URL.\n // Support: IE\n (function checkWindowHistoryPushStateReplaceState() {\n if (!hasDOM || !isIE) {\n return;\n }\n const OriginalPushState = window.history.pushState;\n const OriginalReplaceState = window.history.replaceState;\n\n window.history.pushState = function (state, title, url) {\n const args = url === undefined ? [state, title] : [state, title, url];\n OriginalPushState.apply(this, args);\n };\n window.history.replaceState = function (state, title, url) {\n const args = url === undefined ? [state, title] : [state, title, url];\n OriginalReplaceState.apply(this, args);\n };\n })();\n\n // Provides support for String.prototype.startsWith in legacy browsers.\n // Support: IE, Chrome<41\n (function checkStringStartsWith() {\n if (String.prototype.startsWith) {\n return;\n }\n require(\"core-js/es/string/starts-with.js\");\n })();\n\n // Provides support for String.prototype.endsWith in legacy browsers.\n // Support: IE, Chrome<41\n (function checkStringEndsWith() {\n if (String.prototype.endsWith) {\n return;\n }\n require(\"core-js/es/string/ends-with.js\");\n })();\n\n // Provides support for String.prototype.includes in legacy browsers.\n // Support: IE, Chrome<41\n (function checkStringIncludes() {\n if (String.prototype.includes) {\n return;\n }\n require(\"core-js/es/string/includes.js\");\n })();\n\n // Provides support for Array.prototype.includes in legacy browsers.\n // Support: IE, Chrome<47\n (function checkArrayIncludes() {\n if (Array.prototype.includes) {\n return;\n }\n require(\"core-js/es/array/includes.js\");\n })();\n\n // Provides support for Array.from in legacy browsers.\n // Support: IE\n (function checkArrayFrom() {\n if (Array.from) {\n return;\n }\n require(\"core-js/es/array/from.js\");\n })();\n\n // Provides support for Object.assign in legacy browsers.\n // Support: IE\n (function checkObjectAssign() {\n if (Object.assign) {\n return;\n }\n require(\"core-js/es/object/assign.js\");\n })();\n\n // Provides support for Math.log2 in legacy browsers.\n // Support: IE, Chrome<38\n (function checkMathLog2() {\n if (Math.log2) {\n return;\n }\n Math.log2 = require(\"core-js/es/math/log2.js\");\n })();\n\n // Provides support for Number.isNaN in legacy browsers.\n // Support: IE.\n (function checkNumberIsNaN() {\n if (Number.isNaN) {\n return;\n }\n Number.isNaN = require(\"core-js/es/number/is-nan.js\");\n })();\n\n // Provides support for Number.isInteger in legacy browsers.\n // Support: IE, Chrome<34\n (function checkNumberIsInteger() {\n if (Number.isInteger) {\n return;\n }\n Number.isInteger = require(\"core-js/es/number/is-integer.js\");\n })();\n\n // Provides support for TypedArray.prototype.slice in legacy browsers.\n // Support: IE\n (function checkTypedArraySlice() {\n if (Uint8Array.prototype.slice) {\n return;\n }\n require(\"core-js/es/typed-array/slice\");\n })();\n\n // Support: IE, Safari<11, Chrome<63\n (function checkPromise() {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"IMAGE_DECODERS\")) {\n // The current image decoders are synchronous, hence `Promise` shouldn't\n // need to be polyfilled for the IMAGE_DECODERS build target.\n return;\n }\n if (globalThis.Promise && globalThis.Promise.allSettled) {\n return;\n }\n globalThis.Promise = require(\"core-js/es/promise/index.js\");\n })();\n\n // Support: IE\n (function checkURL() {\n if (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"PRODUCTION\")) {\n // Prevent \"require is not a function\" errors in development mode,\n // since the `URL` constructor should be available in modern browers.\n return;\n } else if (!PDFJSDev.test(\"GENERIC\")) {\n // The `URL` constructor is assumed to be available in the extension\n // builds.\n return;\n } else if (PDFJSDev.test(\"IMAGE_DECODERS\")) {\n // The current image decoders don't use the `URL` constructor, so it\n // doesn't need to be polyfilled for the IMAGE_DECODERS build target.\n return;\n }\n globalThis.URL = require(\"core-js/web/url.js\");\n })();\n\n // Support: IE, Node.js\n (function checkReadableStream() {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"IMAGE_DECODERS\")) {\n // The current image decoders are synchronous, hence `ReadableStream`\n // shouldn't need to be polyfilled for the IMAGE_DECODERS build target.\n return;\n }\n let isReadableStreamSupported = false;\n\n if (typeof ReadableStream !== \"undefined\") {\n // MS Edge may say it has ReadableStream but they are not up to spec yet.\n try {\n // eslint-disable-next-line no-new\n new ReadableStream({\n start(controller) {\n controller.close();\n },\n });\n isReadableStreamSupported = true;\n } catch (e) {\n // The ReadableStream constructor cannot be used.\n }\n }\n if (isReadableStreamSupported) {\n return;\n }\n globalThis.ReadableStream = require(\"web-streams-polyfill/dist/ponyfill.js\").ReadableStream;\n })();\n\n // We want to support Map iteration, but it doesn't seem possible to easily\n // test for that specifically; hence using a similarly unsupported property.\n // Support: IE11\n (function checkMapEntries() {\n if (globalThis.Map && globalThis.Map.prototype.entries) {\n return;\n }\n globalThis.Map = require(\"core-js/es/map/index.js\");\n })();\n\n // We want to support Set iteration, but it doesn't seem possible to easily\n // test for that specifically; hence using a similarly unsupported property.\n // Support: IE11\n (function checkSetEntries() {\n if (globalThis.Set && globalThis.Set.prototype.entries) {\n return;\n }\n globalThis.Set = require(\"core-js/es/set/index.js\");\n })();\n\n // Support: IE<11, Safari<8, Chrome<36\n (function checkWeakMap() {\n if (globalThis.WeakMap) {\n return;\n }\n globalThis.WeakMap = require(\"core-js/es/weak-map/index.js\");\n })();\n\n // Support: IE11\n (function checkWeakSet() {\n if (globalThis.WeakSet) {\n return;\n }\n globalThis.WeakSet = require(\"core-js/es/weak-set/index.js\");\n })();\n\n // Provides support for String.codePointAt in legacy browsers.\n // Support: IE11.\n (function checkStringCodePointAt() {\n if (String.prototype.codePointAt) {\n return;\n }\n require(\"core-js/es/string/code-point-at.js\");\n })();\n\n // Provides support for String.fromCodePoint in legacy browsers.\n // Support: IE11.\n (function checkStringFromCodePoint() {\n if (String.fromCodePoint) {\n return;\n }\n String.fromCodePoint = require(\"core-js/es/string/from-code-point.js\");\n })();\n\n // Support: IE\n (function checkSymbol() {\n if (globalThis.Symbol) {\n return;\n }\n require(\"core-js/es/symbol/index.js\");\n })();\n\n // Provides support for String.prototype.padStart in legacy browsers.\n // Support: IE, Chrome<57\n (function checkStringPadStart() {\n if (String.prototype.padStart) {\n return;\n }\n require(\"core-js/es/string/pad-start.js\");\n })();\n\n // Provides support for String.prototype.padEnd in legacy browsers.\n // Support: IE, Chrome<57\n (function checkStringPadEnd() {\n if (String.prototype.padEnd) {\n return;\n }\n require(\"core-js/es/string/pad-end.js\");\n })();\n\n // Provides support for Object.values in legacy browsers.\n // Support: IE, Chrome<54\n (function checkObjectValues() {\n if (Object.values) {\n return;\n }\n Object.values = require(\"core-js/es/object/values.js\");\n })();\n}\n","/* Copyright 2018 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* globals process */\n\n// NW.js / Electron is a browser context, but copies some Node.js objects; see\n// http://docs.nwjs.io/en/latest/For%20Users/Advanced/JavaScript%20Contexts%20in%20NW.js/#access-nodejs-and-nwjs-api-in-browser-context\n// https://electronjs.org/docs/api/process#processversionselectron\nconst isNodeJS =\n typeof process === \"object\" &&\n process + \"\" === \"[object process]\" &&\n !process.versions.nw &&\n !process.versions.electron;\n\nexport { isNodeJS };\n","require('../modules/es.global-this');\n\nmodule.exports = require('../internals/global');\n","var $ = require('../internals/export');\nvar global = require('../internals/global');\n\n// `globalThis` object\n// https://github.com/tc39/proposal-global\n$({ global: true }, {\n globalThis: global\n});\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\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) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\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","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-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) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else 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) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\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 } return state;\n };\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}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\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","module.exports = false;\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","module.exports = {};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\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)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\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","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\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) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\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 // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","exports.f = Object.getOwnPropertySymbols;\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","require('../../modules/es.string.starts-with');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'startsWith');\n","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\nvar nativeStartsWith = ''.startsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\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// `String.prototype.startsWith` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\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\n ? nativeStartsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.github.io/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n // eslint-disable-next-line no-undef\n && !Symbol.sham\n // eslint-disable-next-line no-undef\n && typeof Symbol.iterator == 'symbol';\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\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) { /* empty */ }\n } return false;\n};\n","var global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\n\nvar call = Function.call;\n\nmodule.exports = function (CONSTRUCTOR, METHOD, length) {\n return bind(call, global[CONSTRUCTOR].prototype[METHOD], length);\n};\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","require('../../modules/es.string.ends-with');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'endsWith');\n","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\nvar nativeEndsWith = ''.endsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');\n// https://github.com/zloirock/core-js/pull/702\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// `String.prototype.endsWith` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.endswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\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\n ? nativeEndsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n","require('../../modules/es.string.includes');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'includes');\n","'use strict';\nvar $ = require('../internals/export');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\n// `String.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~String(requireObjectCoercible(this))\n .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","require('../../modules/es.array.includes');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('Array', 'includes');\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\n\n// `Array.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: !USES_TO_LENGTH }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\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};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\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 // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\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) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\n\nvar defineProperty = Object.defineProperty;\nvar cache = {};\n\nvar thrower = function (it) { throw it; };\n\nmodule.exports = function (METHOD_NAME, options) {\n if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];\n if (!options) 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\n return cache[METHOD_NAME] = !!method && !fails(function () {\n if (ACCESSORS && !DESCRIPTORS) return true;\n var O = { length: -1 };\n\n if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower });\n else O[1] = 1;\n\n method.call(O, argument0, argument1);\n });\n};\n","require('../../modules/es.string.iterator');\nrequire('../../modules/es.array.from');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Array.from;\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next\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) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\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) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\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';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { 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]\n || IterablePrototype['@@iterator']\n || 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\n // fix native\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 // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { 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","'use strict';\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nif (IteratorPrototype == undefined) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","module.exports = {};\n","var anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\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) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","var $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.github.io/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.github.io/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\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) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\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, [step.value, index], 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","var anObject = require('../internals/an-object');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) anObject(returnMethod.call(iterator));\n throw error;\n }\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\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 // eslint-disable-next-line no-throw-literal\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) 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) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","require('../../modules/es.object.assign');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.assign;\n","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n assign: assign\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\nvar nativeAssign = Object.assign;\nvar defineProperty = Object.defineProperty;\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\nmodule.exports = !nativeAssign || fails(function () {\n // should have correct order of operations (Edge bug)\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) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\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)) T[key] = S[key];\n }\n } return T;\n} : nativeAssign;\n","require('../../modules/es.math.log2');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Math.log2;\n","var $ = require('../internals/export');\n\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\n// `Math.log2` method\n// https://tc39.github.io/ecma262/#sec-math.log2\n$({ target: 'Math', stat: true }, {\n log2: function log2(x) {\n return log(x) / LN2;\n }\n});\n","require('../../modules/es.number.is-nan');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Number.isNaN;\n","var $ = require('../internals/export');\n\n// `Number.isNaN` method\n// https://tc39.github.io/ecma262/#sec-number.isnan\n$({ target: 'Number', stat: true }, {\n isNaN: function isNaN(number) {\n // eslint-disable-next-line no-self-compare\n return number != number;\n }\n});\n","require('../../modules/es.number.is-integer');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Number.isInteger;\n","var $ = require('../internals/export');\nvar isInteger = require('../internals/is-integer');\n\n// `Number.isInteger` method\n// https://tc39.github.io/ecma262/#sec-number.isinteger\n$({ target: 'Number', stat: true }, {\n isInteger: isInteger\n});\n","var isObject = require('../internals/is-object');\n\nvar floor = Math.floor;\n\n// `Number.isInteger` method implementation\n// https://tc39.github.io/ecma262/#sec-number.isinteger\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","require('../../modules/es.typed-array.slice');\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar speciesConstructor = require('../internals/species-constructor');\nvar fails = require('../internals/fails');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $slice = [].slice;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line no-undef\n new Int8Array(1).slice();\n});\n\n// `%TypedArray%.prototype.slice` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.slice\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) result[index] = list[index++];\n return result;\n}, FORCED);\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\n\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;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQIRED = false;\nvar NAME;\n\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};\n\nvar isView = function isView(it) {\n var klass = classof(it);\n return klass === 'DataView' || has(TypedArrayConstructorsList, klass);\n};\n\nvar isTypedArray = function (it) {\n return isObject(it) && has(TypedArrayConstructorsList, classof(it));\n};\n\nvar aTypedArray = function (it) {\n if (isTypedArray(it)) return it;\n throw TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n if (setPrototypeOf) {\n if (isPrototypeOf.call(TypedArray, C)) return C;\n } else for (var ARRAY in TypedArrayConstructorsList) if (has(TypedArrayConstructorsList, NAME)) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) {\n return C;\n }\n } throw TypeError('Target is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced) {\n if (!DESCRIPTORS) return;\n if (forced) 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\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) 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 // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8Array[KEY] || property);\n } catch (error) { /* empty */ }\n } else 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};\n\nfor (NAME in TypedArrayConstructorsList) {\n if (!global[NAME]) NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow\n TypedArray = function TypedArray() {\n throw TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);\n }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !has(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQIRED = true;\n defineProperty(TypedArrayPrototype, TO_STRING_TAG, { get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n } });\n for (NAME in TypedArrayConstructorsList) if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\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","module.exports = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined';\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.github.io/ecma262/#sec-speciesconstructor\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","require('../../modules/es.object.to-string');\nrequire('../../modules/es.string.iterator');\nrequire('../../modules/web.dom-collections.iterator');\nrequire('../../modules/es.promise');\nrequire('../../modules/es.promise.all-settled');\nrequire('../../modules/es.promise.finally');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Promise;\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) 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]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\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","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.github.io/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next\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 { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar isObject = require('../internals/is-object');\nvar aFunction = require('../internals/a-function');\nvar anInstance = require('../internals/an-instance');\nvar classof = require('../internals/classof-raw');\nvar inspectSource = require('../internals/inspect-source');\nvar iterate = require('../internals/iterate');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar promiseResolve = require('../internals/promise-resolve');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar InternalStateModule = require('../internals/internal-state');\nvar isForced = require('../internals/is-forced');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\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;\n\nvar FORCED = isForced(PROMISE, function () {\n var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\n if (!GLOBAL_CORE_JS_PROMISE) {\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (V8_VERSION === 66) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n if (!IS_NODE && typeof PromiseRejectionEvent != 'function') return true;\n }\n // We need Promise#finally in the pure version for preventing prototype pollution\n if (IS_PURE && !PromiseConstructor.prototype['finally']) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = PromiseConstructor.resolve(1);\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n return !(promise.then(function () { /* empty */ }) instanceof FakePromise);\n});\n\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\n});\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function (promise, state, isReject) {\n if (state.notified) 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 // variable length - can't use forEach\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) onHandleUnhandled(promise, state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(promise, state);\n });\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 event = { promise: promise, reason: reason };\n if (handler = global['on' + name]) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\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 dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (promise, state) {\n task.call(global, function () {\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, promise, state, unwrap) {\n return function (value) {\n fn(promise, state, value, unwrap);\n };\n};\n\nvar internalReject = function (promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(promise, state, true);\n};\n\nvar internalResolve = function (promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (promise === value) 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,\n bind(internalResolve, promise, wrapper, state),\n bind(internalReject, promise, wrapper, state)\n );\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};\n\n// constructor polyfill\nif (FORCED) {\n // 25.4.3.1 Promise(executor)\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 // eslint-disable-next-line no-unused-vars\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 // `Promise.prototype.then` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.then\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) notify(this, state, false);\n return reaction.promise;\n },\n // `Promise.prototype.catch` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.catch\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\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && typeof NativePromise == 'function') {\n nativeThen = NativePromise.prototype.then;\n\n // wrap native Promise#then for native async functions\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 // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n\n // wrap fetch result\n if (typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, {\n // eslint-disable-next-line no-unused-vars\n fetch: function fetch(input /* , init */) {\n return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\n }\n });\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n\nPromiseWrapper = getBuiltIn(PROMISE);\n\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n // `Promise.reject` method\n // https://tc39.github.io/ecma262/#sec-promise.reject\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, stat: true, forced: IS_PURE || FORCED }, {\n // `Promise.resolve` method\n // https://tc39.github.io/ecma262/#sec-promise.resolve\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\n // `Promise.all` method\n // https://tc39.github.io/ecma262/#sec-promise.all\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) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n },\n // `Promise.race` method\n // https://tc39.github.io/ecma262/#sec-promise.race\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) reject(result.value);\n return capability.promise;\n }\n});\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\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\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = AS_ENTRIES\n ? boundFunction(anObject(step = iterable[index])[0], step[1])\n : boundFunction(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\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) return result;\n } return new Result(false);\n};\n\niterate.stop = function (result) {\n return new Result(true, result);\n};\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\nvar bind = require('../internals/function-bind-context');\nvar html = require('../internals/html');\nvar createElement = require('../internals/document-create-element');\nvar IS_IOS = require('../internals/engine-is-ios');\n\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;\n\nvar run = function (id) {\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\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 // Node.js 0.8-\n if (classof(process) == 'process') {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\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 // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n typeof postMessage == 'function' &&\n !global.importScripts &&\n !fails(post) &&\n location.protocol !== 'file:'\n ) {\n defer = post;\n global.addEventListener('message', listener, false);\n // IE8-\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 // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar classof = require('../internals/classof-raw');\nvar macrotask = require('../internals/task').set;\nvar IS_IOS = require('../internals/engine-is-ios');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar IS_NODE = classof(process) == 'process';\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n\nvar flush, head, last, notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head) notify();\n else last = undefined;\n throw error;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\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 // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n then = promise.then;\n notify = function () {\n then.call(promise, flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n};\n","var anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar aFunction = require('../internals/a-function');\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\n\n// 25.4.1.5 NewPromiseCapability(C)\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","var global = require('../internals/global');\n\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","module.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\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) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","'use strict';\nvar $ = require('../internals/export');\nvar aFunction = require('../internals/a-function');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\n\n// `Promise.allSettled` method\n// https://github.com/tc39/proposal-promise-allSettled\n$({ target: 'Promise', stat: true }, {\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) return;\n alreadyCalled = true;\n values[index] = { status: 'fulfilled', value: value };\n --remaining || resolve(values);\n }, function (e) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'rejected', reason: e };\n --remaining || resolve(values);\n });\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar fails = require('../internals/fails');\nvar getBuiltIn = require('../internals/get-built-in');\nvar speciesConstructor = require('../internals/species-constructor');\nvar promiseResolve = require('../internals/promise-resolve');\nvar redefine = require('../internals/redefine');\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromise && fails(function () {\n NativePromise.prototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.github.io/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n }\n});\n\n// patch native Promise.prototype for native async functions\nif (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {\n redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);\n}\n","require('../modules/web.url');\nrequire('../modules/web.url.to-json');\nrequire('../modules/web.url-search-params');\nvar path = require('../internals/path');\n\nmodule.exports = path.URL;\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar global = require('../internals/global');\nvar defineProperties = require('../internals/object-define-properties');\nvar redefine = require('../internals/redefine');\nvar anInstance = require('../internals/an-instance');\nvar has = require('../internals/has');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar URLSearchParamsModule = require('../modules/web.url-search-params');\nvar InternalStateModule = require('../internals/internal-state');\n\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;\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\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]+$/;\n// eslint-disable-next-line no-control-regex\nvar FORBIDDEN_HOST_CODE_POINT = /[\\u0000\\u0009\\u000A\\u000D #%/:?@[\\\\]]/;\n// eslint-disable-next-line no-control-regex\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\u0000\\u0009\\u000A\\u000D #/:?@[\\\\]]/;\n// eslint-disable-next-line no-control-regex\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u001F ]+|[\\u0000-\\u001F ]+$/g;\n// eslint-disable-next-line no-control-regex\nvar TAB_AND_NEW_LINE = /[\\u0009\\u000A\\u000D]/g;\nvar EOF;\n\nvar parseHost = function (url, input) {\n var result, codePoints, index;\n if (input.charAt(0) == '[') {\n if (input.charAt(input.length - 1) != ']') return INVALID_HOST;\n result = parseIPv6(input.slice(1, -1));\n if (!result) return INVALID_HOST;\n url.host = result;\n // opaque host\n } else if (!isSpecial(url)) {\n if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) 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)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n url.host = result;\n }\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) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '') 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)) 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)) return null;\n } else if (number > 255) 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};\n\n// eslint-disable-next-line max-statements\nvar parseIPv6 = function (input) {\n var address = [0, 0, 0, 0, 0, 0, 0, 0];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n var char = function () {\n return input.charAt(pointer);\n };\n\n if (char() == ':') {\n if (input.charAt(1) != ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (char()) {\n if (pieceIndex == 8) return;\n if (char() == ':') {\n if (compress !== null) 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) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (char()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (char() == '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!DIGIT.test(char())) return;\n while (DIGIT.test(char())) {\n number = parseInt(char(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece == 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;\n }\n if (numbersSeen != 4) return;\n break;\n } else if (char() == ':') {\n pointer++;\n if (!char()) return;\n } else if (char()) 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) return;\n return address;\n};\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) currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\n\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n // ipv4\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 } return result.join('.');\n // ipv6\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) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += host[index].toString(16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\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};\n\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\nvar isSpecial = function (url) {\n return has(specialSchemes, url.scheme);\n};\n\nvar includesCredentials = function (url) {\n return url.username != '' || url.password != '';\n};\n\nvar cannotHaveUsernamePasswordPort = function (url) {\n return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\n\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && ALPHA.test(string.charAt(0))\n && ((second = string.charAt(1)) == ':' || (!normalized && second == '|'));\n};\n\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (\n string.length == 2 ||\n ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\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};\n\nvar isSingleDot = function (segment) {\n return segment === '.' || segment.toLowerCase() === '%2e';\n};\n\nvar isDoubleDot = function (segment) {\n segment = segment.toLowerCase();\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\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 = {};\n\n// eslint-disable-next-line max-statements\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\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\n input = input.replace(TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\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 return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {\n buffer += char.toLowerCase();\n } else if (char == ':') {\n if (stateOverride && (\n (isSpecial(url) != has(specialSchemes, buffer)) ||\n (buffer == 'file' && (includesCredentials(url) || url.port !== null)) ||\n (url.scheme == 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (isSpecial(url) && specialSchemes[url.scheme] == url.port) 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 return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && char != '#')) 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\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 } break;\n\n case PATH_OR_AUTHORITY:\n if (char == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\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 } break;\n\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 } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (char != '/' || buffer.charAt(pointer + 1) != '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (char != '/' && char != '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (char == '@') {\n if (seenAt) 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) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (seenAt && buffer == '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += char;\n break;\n\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 == '') return INVALID_HOST;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME) return;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (isSpecial(url) && buffer == '') return INVALID_HOST;\n if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (char == '[') seenBracket = true;\n else if (char == ']') seenBracket = false;\n buffer += char;\n } break;\n\n case PORT:\n if (DIGIT.test(char)) {\n buffer += char;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url)) ||\n stateOverride\n ) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (char == '/' || char == '\\\\') 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 } break;\n\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)) url.path.push(base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\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) return;\n state = PATH_START;\n } else {\n failure = parseHost(url, buffer);\n if (failure) return failure;\n if (url.host == 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += char;\n break;\n\n case PATH_START:\n if (isSpecial(url)) {\n state = PATH;\n if (char != '/' && char != '\\\\') 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 != '/') continue;\n } break;\n\n case PATH:\n if (\n char == EOF || char == '/' ||\n (char == '\\\\' && isSpecial(url)) ||\n (!stateOverride && (char == '?' || char == '#'))\n ) {\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) url.host = '';\n buffer = buffer.charAt(0) + ':'; // normalize windows drive letter\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 } break;\n\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 } break;\n\n case QUERY:\n if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n if (char == \"'\" && isSpecial(url)) url.query += '%27';\n else if (char == '#') url.query += '%23';\n else url.query += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (char != EOF) url.fragment += percentEncode(char, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\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) baseState = getInternalURLState(base);\n else {\n failure = parseURL(baseState = {}, String(base));\n if (failure) throw TypeError(failure);\n }\n }\n failure = parseURL(state, urlString, null, baseState);\n if (failure) 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};\n\nvar URLPrototype = URLConstructor.prototype;\n\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) output += ':' + port;\n } else if (scheme == 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n};\n\nvar getOrigin = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var port = url.port;\n if (scheme == 'blob') try {\n return new URL(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !isSpecial(url)) return 'null';\n return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\n\nvar getProtocol = function () {\n return getInternalURLState(this).scheme + ':';\n};\n\nvar getUsername = function () {\n return getInternalURLState(this).username;\n};\n\nvar getPassword = function () {\n return getInternalURLState(this).password;\n};\n\nvar getHost = function () {\n var url = getInternalURLState(this);\n var host = url.host;\n var port = url.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n};\n\nvar getHostname = function () {\n var host = getInternalURLState(this).host;\n return host === null ? '' : serializeHost(host);\n};\n\nvar getPort = function () {\n var port = getInternalURLState(this).port;\n return port === null ? '' : String(port);\n};\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};\n\nvar getSearch = function () {\n var query = getInternalURLState(this).query;\n return query ? '?' + query : '';\n};\n\nvar getSearchParams = function () {\n return getInternalURLState(this).searchParams;\n};\n\nvar getHash = function () {\n var fragment = getInternalURLState(this).fragment;\n return fragment ? '#' + fragment : '';\n};\n\nvar accessorDescriptor = function (getter, setter) {\n return { get: getter, set: setter, configurable: true, enumerable: true };\n};\n\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\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) throw TypeError(failure);\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n origin: accessorDescriptor(getOrigin),\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n protocol: accessorDescriptor(getProtocol, function (protocol) {\n var url = getInternalURLState(this);\n parseURL(url, String(protocol) + ':', SCHEME_START);\n }),\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n username: accessorDescriptor(getUsername, function (username) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(username));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n password: accessorDescriptor(getPassword, function (password) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(password));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n host: accessorDescriptor(getHost, function (host) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(host), HOST);\n }),\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n hostname: accessorDescriptor(getHostname, function (hostname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(hostname), HOSTNAME);\n }),\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n port: accessorDescriptor(getPort, function (port) {\n var url = getInternalURLState(this);\n if (cannotHaveUsernamePasswordPort(url)) return;\n port = String(port);\n if (port == '') url.port = null;\n else parseURL(url, port, PORT);\n }),\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n pathname: accessorDescriptor(getPathname, function (pathname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n url.path = [];\n parseURL(url, pathname + '', PATH_START);\n }),\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\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)) search = search.slice(1);\n url.query = '';\n parseURL(url, search, QUERY);\n }\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n searchParams: accessorDescriptor(getSearchParams),\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\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)) hash = hash.slice(1);\n url.fragment = '';\n parseURL(url, hash, FRAGMENT);\n })\n });\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\nredefine(URLPrototype, 'toString', function toString() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n // eslint-disable-next-line no-unused-vars\n if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n return nativeCreateObjectURL.apply(NativeURL, arguments);\n });\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n // eslint-disable-next-line no-unused-vars\n if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n return nativeRevokeObjectURL.apply(NativeURL, arguments);\n });\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\n});\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\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)\n || !searchParams.sort\n || url.href !== 'http://a/c%20d?a=1&c=3'\n || searchParams.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !searchParams[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('http://тест').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('http://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('http://x', undefined).host !== 'x';\n});\n","'use strict';\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\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 // It's a high surrogate, and there is a next character.\n var extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\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};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\n// eslint-disable-next-line max-statements\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n output.push(stringFromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n output.push(delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\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\n // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>, but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\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 // Represent delta as a generalized variable-length integer.\n var q = delta;\n for (var k = base; /* no condition */; k += base) {\n var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (q < t) 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\n output.push(stringFromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n ++handledCPCount;\n }\n }\n\n ++delta;\n ++n;\n }\n return output.join('');\n};\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","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has');\nvar bind = require('../internals/function-bind-context');\nvar classof = require('../internals/classof');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\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);\n\nvar plus = /\\+/g;\nvar sequences = Array(4);\n\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\n\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\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};\n\nvar find = /[!'()~]|%20/g;\n\nvar replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\n\nvar replacer = function (match) {\n return replace[match];\n};\n\nvar serialize = function (it) {\n return encodeURIComponent(it).replace(find, replacer);\n};\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};\n\nvar updateSearchParams = function (query) {\n this.entries.length = 0;\n parseSearchParams(this.entries, query);\n};\n\nvar validateArgumentsLength = function (passed, required) {\n if (passed < required) throw TypeError('Not enough arguments');\n};\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 : [entry.key, entry.value];\n } return step;\n});\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\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\n setInternalState(that, {\n type: URL_SEARCH_PARAMS,\n entries: entries,\n updateURL: function () { /* empty */ },\n updateSearchParams: updateSearchParams\n });\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 (\n (first = entryNext.call(entryIterator)).done ||\n (second = entryNext.call(entryIterator)).done ||\n !entryNext.call(entryIterator).done\n ) throw TypeError('Expected sequence with length 2');\n entries.push({ key: first.value + '', value: second.value + '' });\n }\n } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: init[key] + '' });\n } else {\n parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');\n }\n }\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\nredefineAll(URLSearchParamsPrototype, {\n // `URLSearchParams.prototype.appent` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-append\n append: function append(name, value) {\n validateArgumentsLength(arguments.length, 2);\n var state = getInternalParamsState(this);\n state.entries.push({ key: name + '', value: value + '' });\n state.updateURL();\n },\n // `URLSearchParams.prototype.delete` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\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) entries.splice(index, 1);\n else index++;\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.get` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-get\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) return entries[index].value;\n }\n return null;\n },\n // `URLSearchParams.prototype.getAll` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\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) result.push(entries[index].value);\n }\n return result;\n },\n // `URLSearchParams.prototype.has` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-has\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) return true;\n }\n return false;\n },\n // `URLSearchParams.prototype.set` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-set\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) entries.splice(index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found) entries.push({ key: key, value: val });\n state.updateURL();\n },\n // `URLSearchParams.prototype.sort` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n sort: function sort() {\n var state = getInternalParamsState(this);\n var entries = state.entries;\n // Array#sort is not stable in some engines\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) entries.push(entry);\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.forEach` method\n forEach: function forEach(callback /* , thisArg */) {\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 // `URLSearchParams.prototype.keys` method\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n // `URLSearchParams.prototype.values` method\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n // `URLSearchParams.prototype.entries` method\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\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 } return result.join('&');\n}, { enumerable: true });\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, forced: !USE_NATIVE_URL }, {\n URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` for correct work with polyfilled `URLSearchParams`\n// https://github.com/zloirock/core-js/issues/674\nif (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {\n $({ global: true, enumerable: true, forced: true }, {\n fetch: function fetch(input /* , init */) {\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 } return $fetch.apply(this, args);\n }\n });\n}\n\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n","var anObject = require('../internals/an-object');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nmodule.exports = function (it) {\n var iteratorMethod = getIteratorMethod(it);\n if (typeof iteratorMethod != 'function') {\n throw TypeError(String(it) + ' is not iterable');\n } return anObject(iteratorMethod.call(it));\n};\n","'use strict';\nvar $ = require('../internals/export');\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\n$({ target: 'URL', proto: true, enumerable: true }, {\n toJSON: function toJSON() {\n return URL.prototype.toString.call(this);\n }\n});\n","/**\n * web-streams-polyfill v2.1.1\n */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (global = global || self, factory(global.WebStreamsPolyfill = {}));\n}(this, (function (exports) { 'use strict';\n\n /// <reference lib=\"es2015.symbol\" />\n var SymbolPolyfill = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ?\n Symbol :\n function (description) { return \"Symbol(\" + description + \")\"; };\n\n /// <reference lib=\"dom\" />\n function noop() {\n // do nothing\n }\n\n /// <reference lib=\"es2015.core\" />\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN#Polyfill\n var NumberIsNaN = Number.isNaN || function (x) {\n // eslint-disable-next-line no-self-compare\n return x !== x;\n };\n\n var rethrowAssertionErrorRejection = noop;\n\n function typeIsObject(x) {\n return (typeof x === 'object' && x !== null) || typeof x === 'function';\n }\n function createArrayFromList(elements) {\n // We use arrays to represent lists, so this is basically a no-op.\n // Do a slice though just in case we happen to depend on the unique-ness.\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 () { return promiseResolvedWith(undefined); };\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 }\n catch (value) {\n return promiseRejectedWith(value);\n }\n }\n // Not implemented correctly\n function TransferArrayBuffer(O) {\n return O;\n }\n // Not implemented correctly\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 () { return 1; };\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) { return size(chunk); };\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 // There doesn't appear to be any way to correctly emulate the behaviour from JavaScript, so this is just an\n // approximation.\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\n // Original from Chromium\n // https://chromium.googlesource.com/chromium/src/+/0aee4434a4dba42a42abaea9bfbc0cd196a63bc1/third_party/blink/renderer/core/streams/SimpleQueue.js\n var QUEUE_MAX_ARRAY_SIZE = 16384;\n /**\n * Simple queue structure.\n *\n * Avoids scalability issues with using a packed array directly by using\n * multiple arrays in a linked list and keeping the array size bounded.\n */\n var SimpleQueue = /** @class */ (function () {\n function SimpleQueue() {\n this._cursor = 0;\n this._size = 0;\n // _front and _back are always defined.\n this._front = {\n _elements: [],\n _next: undefined\n };\n this._back = this._front;\n // The cursor is used to avoid calling Array.shift().\n // It contains the index of the front element of the array inside the\n // front-most node. It is always in the range [0, QUEUE_MAX_ARRAY_SIZE).\n this._cursor = 0;\n // When there is only one node, size === elements.length - cursor.\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 // For exception safety, this method is structured in order:\n // 1. Read state\n // 2. Calculate required state mutations\n // 3. Perform state mutations\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 // push() is the mutation most likely to throw an exception, so it\n // goes first.\n oldBack._elements.push(element);\n if (newBack !== oldBack) {\n this._back = newBack;\n oldBack._next = newBack;\n }\n ++this._size;\n };\n // Like push(), shift() follows the read -> calculate -> mutate pattern for\n // exception safety.\n SimpleQueue.prototype.shift = function () { // must not be called on an empty queue\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 // No mutations before this point.\n --this._size;\n this._cursor = newCursor;\n if (oldFront !== newFront) {\n this._front = newFront;\n }\n // Permit shifted element to be garbage collected.\n elements[oldCursor] = undefined;\n return element;\n };\n // The tricky thing about forEach() is that it can be called\n // re-entrantly. The queue may be mutated inside the callback. It is easy to\n // see that push() within the callback has no negative effects since the end\n // of the queue is checked for on every iteration. If shift() is called\n // repeatedly within the callback then the next iteration may return an\n // element that has been removed. In this case the callback will be called\n // with undefined values until we either \"catch up\" with elements that still\n // exist or reach the back of the queue.\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 // Return the element that would be returned if shift() was called now,\n // without modifying the queue.\n SimpleQueue.prototype.peek = function () { // must not be called on an empty queue\n var front = this._front;\n var cursor = this._cursor;\n return front._elements[cursor];\n };\n return SimpleQueue;\n }());\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 }\n else if (stream._state === 'closed') {\n defaultReaderClosedPromiseInitializeAsResolved(reader);\n }\n else {\n defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);\n }\n }\n // A client of ReadableStreamDefaultReader and ReadableStreamBYOBReader may use these functions directly to bypass state\n // check.\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 }\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 // Helper functions for the readers.\n function readerLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released reader');\n }\n // Helper functions for the ReadableStreamDefaultReader.\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\n var CancelSteps = SymbolPolyfill('[[CancelSteps]]');\n var PullSteps = SymbolPolyfill('[[PullSteps]]');\n\n // Abstract operations for the ReadableStream.\n function AcquireReadableStreamDefaultReader(stream, forAuthorCode) {\n if (forAuthorCode === void 0) { forAuthorCode = false; }\n var reader = new ReadableStreamDefaultReader(stream);\n reader._forAuthorCode = forAuthorCode;\n return reader;\n }\n // ReadableStream API exposed for controllers.\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 = /** @class */ (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 // Abstract operations for the readers.\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 // Helper functions for the ReadableStreamDefaultReader.\n function defaultReaderBrandCheckException(name) {\n return new TypeError(\"ReadableStreamDefaultReader.prototype.\" + name + \" can only be used on a ReadableStreamDefaultReader\");\n }\n\n /// <reference lib=\"es2018.asynciterable\" />\n var _a;\n var AsyncIteratorPrototype;\n if (typeof SymbolPolyfill.asyncIterator === 'symbol') {\n // We're running inside a ES2018+ environment, but we're compiling to an older syntax.\n // We cannot access %AsyncIteratorPrototype% without non-ES2018 syntax, but we can re-create it.\n AsyncIteratorPrototype = (_a = {},\n // 25.1.3.1 %AsyncIteratorPrototype% [ @@asyncIterator ] ( )\n // https://tc39.github.io/ecma262/#sec-asynciteratorprototype-asynciterator\n _a[SymbolPolyfill.asyncIterator] = function () {\n return this;\n },\n _a);\n Object.defineProperty(AsyncIteratorPrototype, SymbolPolyfill.asyncIterator, { enumerable: false });\n }\n\n /// <reference lib=\"es2018.asynciterable\" />\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 () { return ReadableStreamCreateReadResult(value, true, true); });\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 // Abstract operations for the ReadableStream.\n function AcquireReadableStreamAsyncIterator(stream, preventCancel) {\n if (preventCancel === void 0) { preventCancel = false; }\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 // Helper functions for the ReadableStream.\n function streamAsyncIteratorBrandCheckException(name) {\n return new TypeError(\"ReadableStreamAsyncIterator.\" + name + \" can only be used on a ReadableSteamAsyncIterator\");\n }\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({ value: value, size: size });\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\n var AbortSteps = SymbolPolyfill('[[AbortSteps]]');\n var ErrorSteps = SymbolPolyfill('[[ErrorSteps]]');\n var WritableStream = /** @class */ (function () {\n function WritableStream(underlyingSink, strategy) {\n if (underlyingSink === void 0) { underlyingSink = {}; }\n if (strategy === void 0) { strategy = {}; }\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 // Abstract operations for the WritableStream.\n function AcquireWritableStreamDefaultWriter(stream) {\n return new WritableStreamDefaultWriter(stream);\n }\n // Throws if and only if startAlgorithm throws.\n function CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\n if (highWaterMark === void 0) { highWaterMark = 1; }\n if (sizeAlgorithm === void 0) { sizeAlgorithm = function () { return 1; }; }\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 // The error that will be reported by new method calls once the state becomes errored. Only set when [[state]] is\n // 'erroring' or 'errored'. May be set to an undefined value.\n stream._storedError = undefined;\n stream._writer = undefined;\n // Initialize to undefined first because the constructor of the controller checks this\n // variable to validate the caller.\n stream._writableStreamController = undefined;\n // This queue is placed here instead of the writer class in order to allow for passing a writer to the next data\n // producer without waiting for the queued writes to finish.\n stream._writeRequests = new SimpleQueue();\n // Write requests are removed from _writeRequests when write() is called on the underlying sink. This prevents\n // them from being erroneously rejected on error. If a write() call is in-flight, the request is stored here.\n stream._inFlightWriteRequest = undefined;\n // The promise that was returned from writer.close(). Stored here because it may be fulfilled after the writer\n // has been detached.\n stream._closeRequest = undefined;\n // Close request is removed from _closeRequest when close() is called on the underlying sink. This prevents it\n // from being erroneously rejected on error. If a close() call is in-flight, the request is stored here.\n stream._inFlightCloseRequest = undefined;\n // The promise that was returned from writer.abort(). This may also be fulfilled after the writer has detached.\n stream._pendingAbortRequest = undefined;\n // The backpressure signal set by the controller.\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 will not be used, so don't keep a reference to it.\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 // WritableStream API exposed for controllers.\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 // The error was too late to do anything, so it is ignored.\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 // Never execute sink abort() after sink close().\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._reject(error);\n stream._pendingAbortRequest = undefined;\n }\n WritableStreamDealWithRejection(stream, error);\n }\n // TODO(ricea): Fix alphabetical order.\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 }\n else {\n defaultWriterReadyPromiseResolve(writer);\n }\n }\n stream._backpressure = backpressure;\n }\n var WritableStreamDefaultWriter = /** @class */ (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 }\n else {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n }\n defaultWriterClosedPromiseInitialize(this);\n }\n else if (state === 'erroring') {\n defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);\n defaultWriterClosedPromiseInitialize(this);\n }\n else if (state === 'closed') {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n defaultWriterClosedPromiseInitializeAsResolved(this);\n }\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 // Abstract operations for the WritableStreamDefaultWriter.\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 // A client of WritableStreamDefaultWriter may use these functions directly to bypass state check.\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 }\n else {\n defaultWriterClosedPromiseResetToRejected(writer, error);\n }\n }\n function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {\n if (writer._readyPromiseState === 'pending') {\n defaultWriterReadyPromiseReject(writer, error);\n }\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 // The state transitions to \"errored\" before the sink abort() method runs, but the writer.closed promise is not\n // rejected until afterwards. This means that simply testing state will not work.\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 = /** @class */ (function () {\n /** @internal */\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 // The stream is closed, errored or will be soon. The sink can't do anything useful if it gets an error here, so\n // just treat it as a no-op.\n return;\n }\n WritableStreamDefaultControllerError(this, e);\n };\n /** @internal */\n WritableStreamDefaultController.prototype[AbortSteps] = function (reason) {\n var result = this._abortAlgorithm(reason);\n WritableStreamDefaultControllerClearAlgorithms(this);\n return result;\n };\n /** @internal */\n WritableStreamDefaultController.prototype[ErrorSteps] = function () {\n ResetQueue(this);\n };\n return WritableStreamDefaultController;\n }());\n // Abstract operations implementing interface required by the WritableStream.\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 // Need to set the slots so that the assert doesn't fire. In the spec the slots already exist implicitly.\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 // ClearAlgorithms may be called twice. Erroring the same stream in multiple ways will often result in redundant calls.\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 }\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 }\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 // Abstract operations for the WritableStreamDefaultController.\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 }\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 // A client of WritableStreamDefaultController may use these functions directly to bypass state check.\n function WritableStreamDefaultControllerError(controller, error) {\n var stream = controller._controlledWritableStream;\n WritableStreamDefaultControllerClearAlgorithms(controller);\n WritableStreamStartErroring(stream, error);\n }\n // Helper functions for the WritableStream.\n function streamBrandCheckException(name) {\n return new TypeError(\"WritableStream.prototype.\" + name + \" can only be used on a WritableStream\");\n }\n // Helper functions for the WritableStreamDefaultWriter.\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\n function isAbortSignal(value) {\n if (typeof value !== 'object' || value === null) {\n return false;\n }\n try {\n return typeof value.aborted === 'boolean';\n }\n catch (_a) {\n // AbortSignal.prototype.aborted throws if its brand check fails\n return false;\n }\n }\n\n /// <reference lib=\"dom\" />\n var NativeDOMException = typeof DOMException !== 'undefined' ? DOMException : undefined;\n\n /// <reference types=\"node\" />\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 }\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', { value: ctor, writable: true, configurable: true });\n return ctor;\n }\n var DOMException$1 = isDOMExceptionConstructor(NativeDOMException) ? NativeDOMException : createDOMExceptionPolyfill();\n\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 // This is used to keep track of the spec's requirement that we wait for ongoing writes during shutdown.\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 () { return Promise.all(actions.map(function (action) { return action(); })); }, true, error);\n };\n if (signal.aborted === true) {\n abortAlgorithm();\n return;\n }\n signal.addEventListener('abort', abortAlgorithm);\n }\n // Using reader and writer, read all chunks from this and write them to dest\n // - Backpressure must be enforced\n // - Shutdown must stop all activity\n function pipeLoop() {\n return newPromise(function (resolveLoop, rejectLoop) {\n function next(done) {\n if (done) {\n resolveLoop();\n }\n else {\n // Use `PerformPromiseThen` instead of `uponPromise` to avoid\n // adding unnecessary `.catch(rethrowAssertionErrorRejection)` handlers\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 // Errors must be propagated forward\n isOrBecomesErrored(source, reader._closedPromise, function (storedError) {\n if (preventAbort === false) {\n shutdownWithAction(function () { return WritableStreamAbort(dest, storedError); }, true, storedError);\n }\n else {\n shutdown(true, storedError);\n }\n });\n // Errors must be propagated backward\n isOrBecomesErrored(dest, writer._closedPromise, function (storedError) {\n if (preventCancel === false) {\n shutdownWithAction(function () { return ReadableStreamCancel(source, storedError); }, true, storedError);\n }\n else {\n shutdown(true, storedError);\n }\n });\n // Closing must be propagated forward\n isOrBecomesClosed(source, reader._closedPromise, function () {\n if (preventClose === false) {\n shutdownWithAction(function () { return WritableStreamDefaultWriterCloseWithErrorPropagation(writer); });\n }\n else {\n shutdown();\n }\n });\n // Closing must be propagated backward\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 () { return ReadableStreamCancel(source, destClosed_1); }, true, destClosed_1);\n }\n else {\n shutdown(true, destClosed_1);\n }\n }\n setPromiseIsHandledToTrue(pipeLoop());\n function waitForWritesToFinish() {\n // Another write may have started while we were waiting on this currentWrite, so we have to be sure to wait\n // for that too.\n var oldCurrentWrite = currentWrite;\n return PerformPromiseThen(currentWrite, function () { return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined; });\n }\n function isOrBecomesErrored(stream, promise, action) {\n if (stream._state === 'errored') {\n action(stream._storedError);\n }\n else {\n uponRejection(promise, action);\n }\n }\n function isOrBecomesClosed(stream, promise, action) {\n if (stream._state === 'closed') {\n action();\n }\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 }\n else {\n doTheRest();\n }\n function doTheRest() {\n uponPromise(action(), function () { return finalize(originalIsError, originalError); }, function (newError) { return finalize(true, newError); });\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 () { 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 }\n else {\n resolve(undefined);\n }\n }\n });\n }\n\n var ReadableStreamDefaultController = /** @class */ (function () {\n /** @internal */\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 /** @internal */\n ReadableStreamDefaultController.prototype[CancelSteps] = function (reason) {\n ResetQueue(this);\n var result = this._cancelAlgorithm(reason);\n ReadableStreamDefaultControllerClearAlgorithms(this);\n return result;\n };\n /** @internal */\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 }\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 // Abstract operations for the ReadableStreamDefaultController.\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 // A client of ReadableStreamDefaultController may use these functions directly to bypass state check.\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 }\n else {\n var chunkSize = void 0;\n try {\n chunkSize = controller._strategySizeAlgorithm(chunk);\n }\n catch (chunkSizeE) {\n ReadableStreamDefaultControllerError(controller, chunkSizeE);\n throw chunkSizeE;\n }\n try {\n EnqueueValueWithSize(controller, chunk, chunkSize);\n }\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 // This is used in the implementation of TransformStream.\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 // Helper functions for the ReadableStreamDefaultController.\n function defaultControllerBrandCheckException(name) {\n return new TypeError(\"ReadableStreamDefaultController.prototype.\" + name + \" can only be used on a ReadableStreamDefaultController\");\n }\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 // There is no way to access the cloning code right now in the reference implementation.\n // If we add one then we'll need an implementation for serializable objects.\n // if (canceled2 === false && cloneForBranch2 === true) {\n // value2 = StructuredDeserialize(StructuredSerialize(value2));\n // }\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([reason1, reason2]);\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([reason1, reason2]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n resolveCancelPromise(cancelResult);\n }\n return cancelPromise;\n }\n function startAlgorithm() { }\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 [branch1, branch2];\n }\n\n /// <reference lib=\"es2015.core\" />\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isInteger#Polyfill\n var NumberIsInteger = Number.isInteger || function (value) {\n return typeof value === 'number' &&\n isFinite(value) &&\n Math.floor(value) === value;\n };\n\n var ReadableStreamBYOBRequest = /** @class */ (function () {\n /** @internal */\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 = /** @class */ (function () {\n /** @internal */\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 /** @internal */\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 /** @internal */\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 }\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 }\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 // Abstract operations for the ReadableByteStreamController.\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 // TODO: Test controller argument\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 }\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({ buffer: buffer, byteOffset: byteOffset, byteLength: byteLength });\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 }\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 }\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 // No ReadableByteStreamControllerCallPullIfNeeded() call since:\n // - No change happens on desiredSize\n // - The source has already been notified of that there's at least 1 pending read(view)\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 // TODO: Figure out whether we should detach the buffer or not here.\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 }\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 // A client of ReadableByteStreamController may use these functions directly to bypass state check.\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 }\n else {\n var transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength);\n ReadableStreamFulfillReadRequest(stream, transferredView, false);\n }\n }\n else if (ReadableStreamHasBYOBReader(stream) === true) {\n // TODO: Ideally in this branch detaching should happen only if the buffer is not consumed fully.\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n }\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 // Need to set the slots so that the assert doesn't fire. In the spec the slots already exist implicitly.\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 // Helper functions for the ReadableStreamBYOBRequest.\n function byobRequestBrandCheckException(name) {\n return new TypeError(\"ReadableStreamBYOBRequest.prototype.\" + name + \" can only be used on a ReadableStreamBYOBRequest\");\n }\n // Helper functions for the ReadableByteStreamController.\n function byteStreamControllerBrandCheckException(name) {\n return new TypeError(\"ReadableByteStreamController.prototype.\" + name + \" can only be used on a ReadableByteStreamController\");\n }\n\n // Abstract operations for the ReadableStream.\n function AcquireReadableStreamBYOBReader(stream, forAuthorCode) {\n if (forAuthorCode === void 0) { forAuthorCode = false; }\n var reader = new ReadableStreamBYOBReader(stream);\n reader._forAuthorCode = forAuthorCode;\n return reader;\n }\n // ReadableStream API exposed for controllers.\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 = /** @class */ (function () {\n function ReadableStreamBYOBReader(stream) {\n if (!IsReadableStream(stream)) {\n throw new TypeError('ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a ' +\n '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 ' +\n '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 // Abstract operations for the readers.\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 // Controllers must implement this.\n return ReadableByteStreamControllerPullInto(stream._readableStreamController, view);\n }\n // Helper functions for the ReadableStreamBYOBReader.\n function byobReaderBrandCheckException(name) {\n return new TypeError(\"ReadableStreamBYOBReader.prototype.\" + name + \" can only be used on a ReadableStreamBYOBReader\");\n }\n\n var ReadableStream = /** @class */ (function () {\n function ReadableStream(underlyingSource, strategy) {\n if (underlyingSource === void 0) { underlyingSource = {}; }\n if (strategy === void 0) { strategy = {}; }\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 }\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 }\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 // Abstract operations for the ReadableStream.\n // Throws if and only if startAlgorithm throws.\n function CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\n if (highWaterMark === void 0) { highWaterMark = 1; }\n if (sizeAlgorithm === void 0) { sizeAlgorithm = function () { return 1; }; }\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 // ReadableStream API exposed for controllers.\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 }\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 // Helper functions for the ReadableStream.\n function streamBrandCheckException$1(name) {\n return new TypeError(\"ReadableStream.prototype.\" + name + \" can only be used on a ReadableStream\");\n }\n\n var ByteLengthQueuingStrategy = /** @class */ (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\n var CountQueuingStrategy = /** @class */ (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\n // Class TransformStream\n var TransformStream = /** @class */ (function () {\n function TransformStream(transformer, writableStrategy, readableStrategy) {\n if (transformer === void 0) { transformer = {}; }\n if (writableStrategy === void 0) { writableStrategy = {}; }\n if (readableStrategy === void 0) { readableStrategy = {}; }\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 // The [[backpressure]] slot is set to undefined so that it can be initialised by TransformStreamSetBackpressure.\n stream._backpressure = undefined;\n stream._backpressureChangePromise = undefined;\n stream._backpressureChangePromise_resolve = undefined;\n TransformStreamSetBackpressure(stream, true);\n // Used by IsWritableStream() which is called by SetUpTransformStreamDefaultController().\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 // This is a no-op if both sides are already errored.\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 // Pretend that pull() was called to permit any pending write() calls to complete. TransformStreamSetBackpressure()\n // cannot be called from enqueue() or pull() once the ReadableStream is errored, so this will will be the final time\n // _backpressure is set.\n TransformStreamSetBackpressure(stream, false);\n }\n }\n function TransformStreamSetBackpressure(stream, backpressure) {\n // Passes also when called during construction.\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 = /** @class */ (function () {\n /** @internal */\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 // Transform Stream Default Controller Abstract Operations\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 }\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) { return PromiseCall(transformMethod, transformer, [chunk, controller]); };\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 // We throttle transform invocations based on the backpressure of the ReadableStream, but we still\n // accept TransformStreamDefaultControllerEnqueue() calls.\n try {\n ReadableStreamDefaultControllerEnqueue(readableController, chunk);\n }\n catch (e) {\n // This happens when readableStrategy.size() throws.\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 // TransformStreamDefaultSink Algorithms\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 // abort() is not called synchronously, so it is possible for abort() to be called when the stream is already\n // errored.\n TransformStreamError(stream, reason);\n return promiseResolvedWith(undefined);\n }\n function TransformStreamDefaultSinkCloseAlgorithm(stream) {\n // stream._readable cannot change after construction, so caching it across a call to user code is safe.\n var readable = stream._readable;\n var controller = stream._transformStreamController;\n var flushPromise = controller._flushAlgorithm();\n TransformStreamDefaultControllerClearAlgorithms(controller);\n // Return a promise that is fulfilled with undefined on success.\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 // TransformStreamDefaultSource Algorithms\n function TransformStreamDefaultSourcePullAlgorithm(stream) {\n // Invariant. Enforced by the promises returned by start() and pull().\n TransformStreamSetBackpressure(stream, false);\n // Prevent the next pull() call until there is backpressure.\n return stream._backpressureChangePromise;\n }\n // Helper functions for the TransformStreamDefaultController.\n function defaultControllerBrandCheckException$1(name) {\n return new TypeError(\"TransformStreamDefaultController.prototype.\" + name + \" can only be used on a TransformStreamDefaultController\");\n }\n // Helper functions for the TransformStream.\n function streamBrandCheckException$2(name) {\n return new TypeError(\"TransformStream.prototype.\" + name + \" can only be used on a TransformStream\");\n }\n\n exports.ByteLengthQueuingStrategy = ByteLengthQueuingStrategy;\n exports.CountQueuingStrategy = CountQueuingStrategy;\n exports.ReadableStream = ReadableStream;\n exports.TransformStream = TransformStream;\n exports.WritableStream = WritableStream;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n//# sourceMappingURL=ponyfill.js.map\n","require('../../modules/es.map');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.string.iterator');\nrequire('../../modules/web.dom-collections.iterator');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Map;\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.github.io/ecma262/#sec-map-objects\nmodule.exports = collection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\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\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY,\n 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 };\n\n // eslint-disable-next-line max-len\n if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n })))) {\n // create collection constructor\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 // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\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) iterate(iterable, that[ADDER], that, IS_MAP);\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","var hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar defineProperty = require('../internals/object-define-property').f;\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + ++id, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar redefineAll = require('../internals/redefine-all');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\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 index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);\n });\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\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) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\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) 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) state.size = 0;\n else that.size = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\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) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\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 // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(C.prototype, IS_MAP ? {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) 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 // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\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 // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","require('../../modules/es.set');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.string.iterator');\nrequire('../../modules/web.dom-collections.iterator');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Set;\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.github.io/ecma262/#sec-set-objects\nmodule.exports = collection('Set', function (init) {\n return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","require('../../modules/es.object.to-string');\nrequire('../../modules/es.weak-map');\nrequire('../../modules/web.dom-collections.iterator');\nvar path = require('../../internals/path');\n\nmodule.exports = path.WeakMap;\n","'use strict';\nvar global = require('../internals/global');\nvar redefineAll = require('../internals/redefine-all');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar collection = require('../internals/collection');\nvar collectionWeak = require('../internals/collection-weak');\nvar isObject = require('../internals/is-object');\nvar enforceIternalState = require('../internals/internal-state').enforce;\nvar NATIVE_WEAK_MAP = require('../internals/native-weak-map');\n\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar isExtensible = Object.isExtensible;\nvar InternalWeakMap;\n\nvar wrapper = function (init) {\n return function WeakMap() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n};\n\n// `WeakMap` constructor\n// https://tc39.github.io/ecma262/#sec-weakmap-constructor\nvar $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak);\n\n// IE11 WeakMap frozen keys fix\n// We can't use feature detection because it crash some old IE builds\n// https://github.com/zloirock/core-js/issues/485\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) state.frozen = new InternalWeakMap();\n return nativeDelete.call(this, key) || state.frozen['delete'](key);\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) state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) || state.frozen.has(key);\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) state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key);\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) state.frozen = new InternalWeakMap();\n nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value);\n } else nativeSet.call(this, key, value);\n return this;\n }\n });\n}\n","'use strict';\nvar redefineAll = require('../internals/redefine-all');\nvar getWeakData = require('../internals/internal-metadata').getWeakData;\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar ArrayIterationModule = require('../internals/array-iteration');\nvar $has = require('../internals/has');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nvar find = ArrayIterationModule.find;\nvar findIndex = ArrayIterationModule.findIndex;\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (store) {\n return store.frozen || (store.frozen = new UncaughtFrozenStore());\n};\n\nvar UncaughtFrozenStore = function () {\n this.entries = [];\n};\n\nvar findUncaughtFrozen = function (store, key) {\n return find(store.entries, function (it) {\n return it[0] === key;\n });\n};\n\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) 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) entry[1] = value;\n else this.entries.push([key, value]);\n },\n 'delete': function (key) {\n var index = findIndex(this.entries, function (it) {\n return it[0] === key;\n });\n if (~index) this.entries.splice(index, 1);\n return !!~index;\n }\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) iterate(iterable, that[ADDER], that, IS_MAP);\n });\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var data = getWeakData(anObject(key), true);\n if (data === true) uncaughtFrozenStore(state).set(key, value);\n else data[state.id] = value;\n return that;\n };\n\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function (key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state)['delete'](key);\n return data && $has(data, state.id) && delete data[state.id];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).has(key);\n return data && $has(data, state.id);\n }\n });\n\n redefineAll(C.prototype, IS_MAP ? {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key) {\n var state = getInternalState(this);\n if (isObject(key)) {\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).get(key);\n return data ? data[state.id] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value) {\n return define(this, key, value);\n }\n } : {\n // 23.4.3.1 WeakSet.prototype.add(value)\n add: function add(value) {\n return define(this, value, true);\n }\n });\n\n return C;\n }\n};\n","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation\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++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6)\n};\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","require('../../modules/es.object.to-string');\nrequire('../../modules/es.weak-set');\nrequire('../../modules/web.dom-collections.iterator');\nvar path = require('../../internals/path');\n\nmodule.exports = path.WeakSet;\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionWeak = require('../internals/collection-weak');\n\n// `WeakSet` constructor\n// https://tc39.github.io/ecma262/#sec-weakset-constructor\ncollection('WeakSet', function (init) {\n return function WeakSet() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionWeak);\n","require('../../modules/es.string.code-point-at');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'codePointAt');\n","'use strict';\nvar $ = require('../internals/export');\nvar codeAt = require('../internals/string-multibyte').codeAt;\n\n// `String.prototype.codePointAt` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n$({ target: 'String', proto: true }, {\n codePointAt: function codePointAt(pos) {\n return codeAt(this, pos);\n }\n});\n","require('../../modules/es.string.from-code-point');\nvar path = require('../../internals/path');\n\nmodule.exports = path.String.fromCodePoint;\n","var $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\nvar fromCharCode = String.fromCharCode;\nvar nativeFromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\nvar INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1;\n\n// `String.fromCodePoint` method\n// https://tc39.github.io/ecma262/#sec-string.fromcodepoint\n$({ target: 'String', stat: true, forced: INCORRECT_LENGTH }, {\n fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars\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) throw RangeError(code + ' is not a valid code point');\n elements.push(code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00)\n );\n } return elements.join('');\n }\n});\n","require('../../modules/es.array.concat');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.symbol');\nrequire('../../modules/es.symbol.async-iterator');\nrequire('../../modules/es.symbol.description');\nrequire('../../modules/es.symbol.has-instance');\nrequire('../../modules/es.symbol.is-concat-spreadable');\nrequire('../../modules/es.symbol.iterator');\nrequire('../../modules/es.symbol.match');\nrequire('../../modules/es.symbol.match-all');\nrequire('../../modules/es.symbol.replace');\nrequire('../../modules/es.symbol.search');\nrequire('../../modules/es.symbol.species');\nrequire('../../modules/es.symbol.split');\nrequire('../../modules/es.symbol.to-primitive');\nrequire('../../modules/es.symbol.to-string-tag');\nrequire('../../modules/es.symbol.unscopables');\nrequire('../../modules/es.math.to-string-tag');\nrequire('../../modules/es.json.to-string-tag');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Symbol;\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\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});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n concat: function concat(arg) { // eslint-disable-line no-unused-vars\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) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\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","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\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;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\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) symbol.description = description;\n return symbol;\n};\n\nvar isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $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)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\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)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\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)) return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\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)) 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};\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)) result.push(key);\n });\n return result;\n};\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};\n\n// `Symbol` constructor\n// https://tc39.github.io/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) 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) setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\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, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.github.io/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.github.io/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.github.io/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames,\n // `Object.getOwnPropertySymbols` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.github.io/ecma262/#sec-json.stringify\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n });\n\n $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n // eslint-disable-next-line no-unused-vars\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index) args.push(arguments[index++]);\n $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return $stringify.apply(null, args);\n }\n });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyNames = require('../internals/object-get-own-property-names').f;\n\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return nativeGetOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]'\n ? getWindowNames(it)\n : nativeGetOwnPropertyNames(toIndexedObject(it));\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","var path = require('../internals/path');\nvar has = require('../internals/has');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.asyncIterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.asynciterator\ndefineWellKnownSymbol('asyncIterator');\n","// `Symbol.prototype.description` getter\n// https://tc39.github.io/ecma262/#sec-symbol.prototype.description\n'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar has = require('../internals/has');\nvar isObject = require('../internals/is-object');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\n\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||\n // Safari 12 bug\n NativeSymbol().description !== undefined\n)) {\n var EmptyStringDescriptionStore = {};\n // wrap Symbol constructor for correct work with undefined description\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper\n ? new NativeSymbol(description)\n // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n\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)) return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n $({ global: true, forced: true }, {\n Symbol: SymbolWrapper\n });\n}\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.hasInstance` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.hasinstance\ndefineWellKnownSymbol('hasInstance');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.isConcatSpreadable` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.isconcatspreadable\ndefineWellKnownSymbol('isConcatSpreadable');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.match` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.match\ndefineWellKnownSymbol('match');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.matchAll` well-known symbol\ndefineWellKnownSymbol('matchAll');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.replace` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.replace\ndefineWellKnownSymbol('replace');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.search` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.search\ndefineWellKnownSymbol('search');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.species` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.species\ndefineWellKnownSymbol('species');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.split` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.split\ndefineWellKnownSymbol('split');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.toPrimitive` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.toprimitive\ndefineWellKnownSymbol('toPrimitive');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.toStringTag` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.tostringtag\ndefineWellKnownSymbol('toStringTag');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.unscopables` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.unscopables\ndefineWellKnownSymbol('unscopables');\n","var setToStringTag = require('../internals/set-to-string-tag');\n\n// Math[@@toStringTag] property\n// https://tc39.github.io/ecma262/#sec-math-@@tostringtag\nsetToStringTag(Math, 'Math', true);\n","var global = require('../internals/global');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// JSON[@@toStringTag] property\n// https://tc39.github.io/ecma262/#sec-json-@@tostringtag\nsetToStringTag(global.JSON, 'JSON', true);\n","require('../../modules/es.string.pad-start');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'padStart');\n","'use strict';\nvar $ = require('../internals/export');\nvar $padStart = require('../internals/string-pad').start;\nvar WEBKIT_BUG = require('../internals/string-pad-webkit-bug');\n\n// `String.prototype.padStart` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.padstart\n$({ target: 'String', proto: true, forced: WEBKIT_BUG }, {\n padStart: function padStart(maxLength /* , fillString = ' ' */) {\n return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = require('../internals/to-length');\nvar repeat = require('../internals/string-repeat');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar ceil = Math.ceil;\n\n// `String.prototype.{ padStart, padEnd }` methods implementation\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 == '') return S;\n fillLen = intMaxLength - stringLength;\n stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);\n return IS_END ? S + stringFiller : stringFiller + S;\n };\n};\n\nmodule.exports = {\n // `String.prototype.padStart` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.padstart\n start: createMethod(false),\n // `String.prototype.padEnd` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.padend\n end: createMethod(true)\n};\n","'use strict';\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.repeat` method implementation\n// https://tc39.github.io/ecma262/#sec-string.prototype.repeat\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) throw RangeError('Wrong number of repetitions');\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n return result;\n};\n","// https://github.com/zloirock/core-js/issues/280\nvar userAgent = require('../internals/engine-user-agent');\n\n// eslint-disable-next-line unicorn/no-unsafe-regex\nmodule.exports = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n","require('../../modules/es.string.pad-end');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'padEnd');\n","'use strict';\nvar $ = require('../internals/export');\nvar $padEnd = require('../internals/string-pad').end;\nvar WEBKIT_BUG = require('../internals/string-pad-webkit-bug');\n\n// `String.prototype.padEnd` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.padend\n$({ target: 'String', proto: true, forced: WEBKIT_BUG }, {\n padEnd: function padEnd(maxLength /* , fillString = ' ' */) {\n return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","require('../../modules/es.object.values');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.values;\n","var $ = require('../internals/export');\nvar $values = require('../internals/object-to-array').values;\n\n// `Object.values` method\n// https://tc39.github.io/ecma262/#sec-object.values\n$({ target: 'Object', stat: true }, {\n values: function values(O) {\n return $values(O);\n }\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\n// `Object.{ entries, values }` methods implementation\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 ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.github.io/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.github.io/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","/* Copyright 2012 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/* eslint no-var: error */\n\n/**\n * @module pdfjsLib\n */\n\nimport {\n AbortException,\n assert,\n createPromiseCapability,\n getVerbosityLevel,\n info,\n InvalidPDFException,\n isArrayBuffer,\n isSameOrigin,\n MissingPDFException,\n PasswordException,\n setVerbosityLevel,\n shadow,\n stringToBytes,\n UnexpectedResponseException,\n UnknownErrorException,\n unreachable,\n warn,\n} from \"../shared/util.js\";\nimport {\n deprecated,\n DOMCanvasFactory,\n DOMCMapReaderFactory,\n loadScript,\n PageViewport,\n RenderingCancelledException,\n StatTimer,\n} from \"./display_utils.js\";\nimport { FontFaceObject, FontLoader } from \"./font_loader.js\";\nimport { apiCompatibilityParams } from \"./api_compatibility.js\";\nimport { CanvasGraphics } from \"./canvas.js\";\nimport { GlobalWorkerOptions } from \"./worker_options.js\";\nimport { isNodeJS } from \"../shared/is_node.js\";\nimport { MessageHandler } from \"../shared/message_handler.js\";\nimport { Metadata } from \"./metadata.js\";\nimport { PDFDataTransportStream } from \"./transport_stream.js\";\nimport { WebGLContext } from \"./webgl.js\";\n\nconst DEFAULT_RANGE_CHUNK_SIZE = 65536; // 2^16 = 65536\nconst RENDERING_CANCELLED_TIMEOUT = 100; // ms\n\n/**\n * @typedef {function} IPDFStreamFactory\n * @param {DocumentInitParameters} params - The document initialization\n * parameters. The \"url\" key is always present.\n * @returns {Promise} A promise, which is resolved with an instance of\n * {IPDFStream}.\n * @ignore\n */\n\n/**\n * @type IPDFStreamFactory\n * @private\n */\nlet createPDFNetworkStream;\n\n/**\n * Sets the function that instantiates an {IPDFStream} as an alternative PDF\n * data transport.\n * @param {IPDFStreamFactory} pdfNetworkStreamFactory - The factory function\n * that takes document initialization parameters (including a \"url\") and\n * returns a promise which is resolved with an instance of {IPDFStream}.\n * @ignore\n */\nfunction setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {\n createPDFNetworkStream = pdfNetworkStreamFactory;\n}\n\n/**\n * Document initialization / loading parameters object.\n *\n * @typedef {Object} DocumentInitParameters\n * @property {string} [url] - The URL of the PDF.\n * @property {TypedArray|Array|string} [data] - Binary PDF data. Use typed\n * arrays (Uint8Array) to improve the memory usage. If PDF data is\n * BASE64-encoded, use atob() to convert it to a binary string first.\n * @property {Object} [httpHeaders] - Basic authentication headers.\n * @property {boolean} [withCredentials] - Indicates whether or not\n * cross-site Access-Control requests should be made using credentials such\n * as cookies or authorization headers. The default is false.\n * @property {string} [password] - For decrypting password-protected PDFs.\n * @property {TypedArray} [initialData] - A typed array with the first portion\n * or all of the pdf data. Used by the extension since some data is already\n * loaded before the switch to range requests.\n * @property {number} [length] - The PDF file length. It's used for\n * progress reports and range requests operations.\n * @property {PDFDataRangeTransport} [range]\n * @property {number} [rangeChunkSize] - Specify maximum number of bytes\n * fetched per range request. The default value is 2^16 = 65536.\n * @property {PDFWorker} [worker] - The worker that will be used for\n * the loading and parsing of the PDF data.\n * @property {number} [verbosity] - Controls the logging level; the\n * constants from {VerbosityLevel} should be used.\n * @property {string} [docBaseUrl] - The base URL of the document,\n * used when attempting to recover valid absolute URLs for annotations, and\n * outline items, that (incorrectly) only specify relative URLs.\n * @property {string} [cMapUrl] - The URL where the predefined\n * Adobe CMaps are located. Include trailing slash.\n * @property {boolean} [cMapPacked] - Specifies if the Adobe CMaps are\n * binary packed.\n * @property {Object} [CMapReaderFactory] - The factory that will be\n * used when reading built-in CMap files. Providing a custom factory is useful\n * for environments without `XMLHttpRequest` support, such as e.g. Node.js.\n * The default value is {DOMCMapReaderFactory}.\n * @property {boolean} [stopAtErrors] - Reject certain promises, e.g.\n * `getOperatorList`, `getTextContent`, and `RenderTask`, when the associated\n * PDF data cannot be successfully parsed, instead of attempting to recover\n * whatever possible of the data. The default value is `false`.\n * @property {number} [maxImageSize] - The maximum allowed image size\n * in total pixels, i.e. width * height. Images above this value will not be\n * rendered. Use -1 for no limit, which is also the default value.\n * @property {boolean} [isEvalSupported] - Determines if we can eval\n * strings as JS. Primarily used to improve performance of font rendering,\n * and when parsing PDF functions. The default value is `true`.\n * @property {boolean} [disableFontFace] - By default fonts are\n * converted to OpenType fonts and loaded via font face rules. If disabled,\n * fonts will be rendered using a built-in font renderer that constructs the\n * glyphs with primitive path commands. The default value is `false`.\n * @property {boolean} [fontExtraProperties] - Include additional properties,\n * which are unused during rendering of PDF documents, when exporting the\n * parsed font data from the worker-thread. This may be useful for debugging\n * purposes (and backwards compatibility), but note that it will lead to\n * increased memory usage. The default value is `false`.\n * @property {boolean} [disableRange] - Disable range request loading\n * of PDF files. When enabled, and if the server supports partial content\n * requests, then the PDF will be fetched in chunks.\n * The default value is `false`.\n * @property {boolean} [disableStream] - Disable streaming of PDF file\n * data. By default PDF.js attempts to load PDFs in chunks.\n * The default value is `false`.\n * @property {boolean} [disableAutoFetch] - Disable pre-fetching of PDF\n * file data. When range requests are enabled PDF.js will automatically keep\n * fetching more data even if it isn't needed to display the current page.\n * The default value is `false`.\n * NOTE: It is also necessary to disable streaming, see above,\n * in order for disabling of pre-fetching to work correctly.\n * @property {boolean} [pdfBug] - Enables special hooks for debugging\n * PDF.js (see `web/debugger.js`). The default value is `false`.\n */\n\n/**\n * @typedef {Object} PDFDocumentStats\n * @property {Object} streamTypes - Used stream types in the document (an item\n * is set to true if specific stream ID was used in the document).\n * @property {Object} fontTypes - Used font types in the document (an item\n * is set to true if specific font ID was used in the document).\n */\n\n/**\n * This is the main entry point for loading a PDF and interacting with it.\n * NOTE: If a URL is used to fetch the PDF data a standard XMLHttpRequest(XHR)\n * is used, which means it must follow the same origin rules that any XHR does\n * e.g. No cross domain requests without CORS.\n *\n * @param {string|TypedArray|DocumentInitParameters|PDFDataRangeTransport} src\n * Can be a url to where a PDF is located, a typed array (Uint8Array)\n * already populated with data or parameter object.\n * @returns {PDFDocumentLoadingTask}\n */\nfunction getDocument(src) {\n const task = new PDFDocumentLoadingTask();\n\n let source;\n if (typeof src === \"string\") {\n source = { url: src };\n } else if (isArrayBuffer(src)) {\n source = { data: src };\n } else if (src instanceof PDFDataRangeTransport) {\n source = { range: src };\n } else {\n if (typeof src !== \"object\") {\n throw new Error(\n \"Invalid parameter in getDocument, \" +\n \"need either Uint8Array, string or a parameter object\"\n );\n }\n if (!src.url && !src.data && !src.range) {\n throw new Error(\n \"Invalid parameter object: need either .data, .range or .url\"\n );\n }\n source = src;\n }\n const params = Object.create(null);\n let rangeTransport = null,\n worker = null;\n\n for (const key in source) {\n if (key === \"url\" && typeof window !== \"undefined\") {\n // The full path is required in the 'url' field.\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 // Converting string or array-like data to Uint8Array.\n const pdfBytes = source[key];\n if (typeof pdfBytes === \"string\") {\n params[key] = stringToBytes(pdfBytes);\n } else if (\n typeof pdfBytes === \"object\" &&\n pdfBytes !== null &&\n !isNaN(pdfBytes.length)\n ) {\n params[key] = new Uint8Array(pdfBytes);\n } else if (isArrayBuffer(pdfBytes)) {\n params[key] = new Uint8Array(pdfBytes);\n } else {\n throw new Error(\n \"Invalid PDF binary data: either typed array, \" +\n \"string or array-like object is expected in the \" +\n \"data property.\"\n );\n }\n continue;\n }\n params[key] = source[key];\n }\n\n params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;\n params.CMapReaderFactory = params.CMapReaderFactory || 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 if (typeof params.isEvalSupported !== \"boolean\") {\n params.isEvalSupported = true;\n }\n if (typeof params.disableFontFace !== \"boolean\") {\n params.disableFontFace = apiCompatibilityParams.disableFontFace || false;\n }\n\n if (typeof params.disableRange !== \"boolean\") {\n params.disableRange = false;\n }\n if (typeof params.disableStream !== \"boolean\") {\n params.disableStream = false;\n }\n if (typeof params.disableAutoFetch !== \"boolean\") {\n params.disableAutoFetch = false;\n }\n\n // Set the main-thread verbosity level.\n setVerbosityLevel(params.verbosity);\n\n if (!worker) {\n const workerParams = {\n verbosity: params.verbosity,\n port: GlobalWorkerOptions.workerPort,\n };\n // Worker was not provided -- creating and owning our own. If message port\n // is specified in global worker options, using it.\n worker = workerParams.port\n ? PDFWorker.fromPort(workerParams)\n : new PDFWorker(workerParams);\n task._worker = worker;\n }\n const docId = task.docId;\n worker.promise\n .then(function () {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n const workerIdPromise = _fetchDocument(\n worker,\n params,\n rangeTransport,\n docId\n );\n const networkStreamPromise = new Promise(function (resolve) {\n let networkStream;\n if (rangeTransport) {\n networkStream = new PDFDataTransportStream(\n {\n length: params.length,\n initialData: params.initialData,\n progressiveDone: params.progressiveDone,\n disableRange: params.disableRange,\n disableStream: params.disableStream,\n },\n rangeTransport\n );\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 resolve(networkStream);\n });\n\n return Promise.all([workerIdPromise, networkStreamPromise]).then(\n function ([workerId, networkStream]) {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n const messageHandler = new MessageHandler(\n docId,\n workerId,\n worker.port\n );\n messageHandler.postMessageTransfers = worker.postMessageTransfers;\n const transport = new WorkerTransport(\n messageHandler,\n task,\n networkStream,\n params\n );\n task._transport = transport;\n messageHandler.send(\"Ready\", null);\n }\n );\n })\n .catch(task._capability.reject);\n\n return task;\n}\n\n/**\n * Starts fetching of specified PDF document/data.\n * @param {PDFWorker} worker\n * @param {Object} source\n * @param {PDFDataRangeTransport} pdfDataRangeTransport\n * @param {string} docId Unique document id, used as MessageHandler id.\n * @returns {Promise} The promise, which is resolved when worker id of\n * MessageHandler is known.\n * @private\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 return worker.messageHandler\n .sendWithPromise(\"GetDocRequest\", {\n docId,\n apiVersion:\n typeof PDFJSDev !== \"undefined\" && !PDFJSDev.test(\"TESTING\")\n ? PDFJSDev.eval(\"BUNDLE_VERSION\")\n : null,\n // Only send the required properties, and *not* the entire object.\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 })\n .then(function (workerId) {\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n return workerId;\n });\n}\n\nconst PDFDocumentLoadingTask = (function PDFDocumentLoadingTaskClosure() {\n let nextDocumentId = 0;\n\n /**\n * The loading task controls the operations required to load a PDF document\n * (such as network requests) and provides a way to listen for completion,\n * after which individual pages can be rendered.\n */\n // eslint-disable-next-line no-shadow\n class PDFDocumentLoadingTask {\n constructor() {\n this._capability = createPromiseCapability();\n this._transport = null;\n this._worker = null;\n\n /**\n * Unique document loading task id -- used in MessageHandlers.\n * @type {string}\n */\n this.docId = \"d\" + nextDocumentId++;\n\n /**\n * Shows if loading task is destroyed.\n * @type {boolean}\n */\n this.destroyed = false;\n\n /**\n * Callback to request a password if wrong or no password was provided.\n * The callback receives two parameters: function that needs to be called\n * with new password and reason (see {PasswordResponses}).\n */\n this.onPassword = null;\n\n /**\n * Callback to be able to monitor the loading progress of the PDF file\n * (necessary to implement e.g. a loading bar). The callback receives\n * an {Object} with the properties: {number} loaded and {number} total.\n */\n this.onProgress = null;\n\n /**\n * Callback to when unsupported feature is used. The callback receives\n * an {UNSUPPORTED_FEATURES} argument.\n */\n this.onUnsupportedFeature = null;\n }\n\n /**\n * Promise for document loading task completion.\n * @type {Promise}\n */\n get promise() {\n return this._capability.promise;\n }\n\n /**\n * Aborts all network requests and destroys worker.\n * @returns {Promise} A promise that is resolved after destruction activity\n * is completed.\n */\n destroy() {\n this.destroyed = true;\n\n const transportDestroyed = !this._transport\n ? Promise.resolve()\n : this._transport.destroy();\n return transportDestroyed.then(() => {\n this._transport = null;\n if (this._worker) {\n this._worker.destroy();\n this._worker = null;\n }\n });\n }\n }\n return PDFDocumentLoadingTask;\n})();\n\n/**\n * Abstract class to support range requests file loading.\n * @param {number} length\n * @param {Uint8Array} initialData\n * @param {boolean} progressiveDone\n */\nclass PDFDataRangeTransport {\n constructor(length, initialData, progressiveDone = false) {\n this.length = length;\n this.initialData = initialData;\n this.progressiveDone = progressiveDone;\n\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._progressiveDoneListeners = [];\n this._readyCapability = createPromiseCapability();\n }\n\n addRangeListener(listener) {\n this._rangeListeners.push(listener);\n }\n\n addProgressListener(listener) {\n this._progressListeners.push(listener);\n }\n\n addProgressiveReadListener(listener) {\n this._progressiveReadListeners.push(listener);\n }\n\n addProgressiveDoneListener(listener) {\n this._progressiveDoneListeners.push(listener);\n }\n\n onDataRange(begin, chunk) {\n for (const listener of this._rangeListeners) {\n listener(begin, chunk);\n }\n }\n\n onDataProgress(loaded, total) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressListeners) {\n listener(loaded, total);\n }\n });\n }\n\n onDataProgressiveRead(chunk) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveReadListeners) {\n listener(chunk);\n }\n });\n }\n\n onDataProgressiveDone() {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveDoneListeners) {\n listener();\n }\n });\n }\n\n transportReady() {\n this._readyCapability.resolve();\n }\n\n requestDataRange(begin, end) {\n unreachable(\"Abstract method PDFDataRangeTransport.requestDataRange\");\n }\n\n abort() {}\n}\n\n/**\n * Proxy to a PDFDocument in the worker thread. Also, contains commonly used\n * properties that can be read synchronously.\n */\nclass PDFDocumentProxy {\n constructor(pdfInfo, transport) {\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n }\n\n /**\n * @type {number} Total number of pages the PDF contains.\n */\n get numPages() {\n return this._pdfInfo.numPages;\n }\n\n /**\n * @type {string} A (not guaranteed to be) unique ID to identify a PDF.\n */\n get fingerprint() {\n return this._pdfInfo.fingerprint;\n }\n\n /**\n * @param {number} pageNumber - The page number to get. The first page is 1.\n * @returns {Promise} A promise that is resolved with a {@link PDFPageProxy}\n * object.\n */\n getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n\n /**\n * @param {{num: number, gen: number}} ref - The page reference. Must have\n * the `num` and `gen` properties.\n * @returns {Promise} A promise that is resolved with the page index (starting\n * from zero) that is associated with the reference.\n */\n getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a lookup table for\n * mapping named destinations to reference numbers.\n *\n * This can be slow for large documents. Use `getDestination` instead.\n */\n getDestinations() {\n return this._transport.getDestinations();\n }\n\n /**\n * @param {string} id - The named destination to get.\n * @returns {Promise} A promise that is resolved with all information\n * of the given named destination.\n */\n getDestination(id) {\n return this._transport.getDestination(id);\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an {Array} containing\n * the page labels that correspond to the page indexes, or `null` when\n * no page labels are present in the PDF file.\n */\n getPageLabels() {\n return this._transport.getPageLabels();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a {string} containing\n * the page layout name.\n */\n getPageLayout() {\n return this._transport.getPageLayout();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a {string} containing\n * the page mode name.\n */\n getPageMode() {\n return this._transport.getPageMode();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an {Object} containing\n * the viewer preferences, or `null` when no viewer preferences are present\n * in the PDF file.\n */\n getViewerPreferences() {\n return this._transport.getViewerPreferences();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an {Object} containing\n * the currently supported actions, or `null` when no OpenAction exists.\n */\n getOpenAction() {\n return this._transport.getOpenAction();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a lookup table for\n * mapping named attachments to their content.\n */\n getAttachments() {\n return this._transport.getAttachments();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an {Array} of all the\n * JavaScript strings in the name tree, or `null` if no JavaScript exists.\n */\n getJavaScript() {\n return this._transport.getJavaScript();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an {Array} that is a\n * tree outline (if it has one) of the PDF. The tree is in the format of:\n * [\n * {\n * title: string,\n * bold: boolean,\n * italic: boolean,\n * color: rgb Uint8ClampedArray,\n * count: integer or undefined,\n * dest: dest obj,\n * url: string,\n * items: array of more items like this\n * },\n * ...\n * ]\n */\n getOutline() {\n return this._transport.getOutline();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an {Array} that contains\n * the permission flags for the PDF document, or `null` when\n * no permissions are present in the PDF file.\n */\n getPermissions() {\n return this._transport.getPermissions();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an {Object} that has\n * `info` and `metadata` properties. `info` is an {Object} filled with\n * anything available in the information dictionary and similarly\n * `metadata` is a {Metadata} object with information from the metadata\n * section of the PDF.\n */\n getMetadata() {\n return this._transport.getMetadata();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a {TypedArray} that has\n * the raw data from the PDF.\n */\n getData() {\n return this._transport.getData();\n }\n\n /**\n * @returns {Promise} A promise that is resolved when the document's data\n * is loaded. It is resolved with an {Object} that contains the `length`\n * property that indicates size of the PDF data in bytes.\n */\n getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n\n /**\n * @returns {Promise} A promise this is resolved with current statistics about\n * document structures (see {@link PDFDocumentStats}).\n */\n getStats() {\n return this._transport.getStats();\n }\n\n /**\n * Cleans up resources allocated by the document, on both the main- and\n * worker-threads.\n *\n * NOTE: Do not, under any circumstances, call this method when rendering is\n * currently ongoing since that may lead to rendering errors.\n *\n * @returns {Promise} A promise that is resolved when clean-up has finished.\n */\n cleanup() {\n return this._transport.startCleanup();\n }\n\n /**\n * Destroys the current document instance and terminates the worker.\n */\n destroy() {\n return this.loadingTask.destroy();\n }\n\n /**\n * @type {Object} A subset of the current {DocumentInitParameters}, which are\n * either needed in the viewer and/or whose default values may be affected\n * by the `apiCompatibilityParams`.\n */\n get loadingParams() {\n return this._transport.loadingParams;\n }\n\n /**\n * @type {PDFDocumentLoadingTask} The loadingTask for the current document.\n */\n get loadingTask() {\n return this._transport.loadingTask;\n }\n}\n\n/**\n * Page getViewport parameters.\n *\n * @typedef {Object} GetViewportParameters\n * @property {number} scale - The desired scale of the viewport.\n * @property {number} [rotation] - The desired rotation, in degrees, of\n * the viewport. If omitted it defaults to the page rotation.\n * @property {number} [offsetX] - The horizontal, i.e. x-axis, offset.\n * The default value is `0`.\n * @property {number} [offsetY] - The vertical, i.e. y-axis, offset.\n * The default value is `0`.\n * @property {boolean} [dontFlip] - If true, the y-axis will not be\n * flipped. The default value is `false`.\n */\n\n/**\n * Page getTextContent parameters.\n *\n * @typedef {Object} getTextContentParameters\n * @property {boolean} normalizeWhitespace - replaces all occurrences of\n * whitespace with standard spaces (0x20). The default value is `false`.\n * @property {boolean} disableCombineTextItems - do not attempt to combine\n * same line {@link TextItem}'s. The default value is `false`.\n */\n\n/**\n * Page text content.\n *\n * @typedef {Object} TextContent\n * @property {array} items - array of {@link TextItem}\n * @property {Object} styles - {@link TextStyle} objects, indexed by font name.\n */\n\n/**\n * Page text content part.\n *\n * @typedef {Object} TextItem\n * @property {string} str - text content.\n * @property {string} dir - text direction: 'ttb', 'ltr' or 'rtl'.\n * @property {array} transform - transformation matrix.\n * @property {number} width - width in device space.\n * @property {number} height - height in device space.\n * @property {string} fontName - font name used by pdf.js for converted font.\n */\n\n/**\n * Text style.\n *\n * @typedef {Object} TextStyle\n * @property {number} ascent - font ascent.\n * @property {number} descent - font descent.\n * @property {boolean} vertical - text is in vertical mode.\n * @property {string} fontFamily - possible font family\n */\n\n/**\n * Page annotation parameters.\n *\n * @typedef {Object} GetAnnotationsParameters\n * @property {string} intent - Determines the annotations that will be fetched,\n * can be either 'display' (viewable annotations) or 'print'\n * (printable annotations).\n * If the parameter is omitted, all annotations are fetched.\n */\n\n/**\n * Page render parameters.\n *\n * @typedef {Object} RenderParameters\n * @property {Object} canvasContext - A 2D context of a DOM Canvas object.\n * @property {PageViewport} viewport - Rendering viewport obtained by\n * calling the `PDFPageProxy.getViewport` method.\n * @property {string} [intent] - Rendering intent, can be 'display' or 'print'\n * (default value is 'display').\n * @property {boolean} [enableWebGL] - Enables WebGL accelerated rendering\n * for some operations. The default value is `false`.\n * @property {boolean} [renderInteractiveForms] - Whether or not\n * interactive form elements are rendered in the display\n * layer. If so, we do not render them on canvas as well.\n * @property {Array} [transform] - Additional transform, applied\n * just before viewport transform.\n * @property {Object} [imageLayer] - An object that has beginLayout,\n * endLayout and appendImage functions.\n * @property {Object} [canvasFactory] - The factory that will be used\n * when creating canvases. The default value is\n * {DOMCanvasFactory}.\n * @property {Object} [background] - Background to use for the canvas.\n * Can use any valid canvas.fillStyle: A DOMString parsed as\n * CSS <color> value, a CanvasGradient object (a linear or\n * radial gradient) or a CanvasPattern object (a repetitive\n * image). The default value is 'rgb(255,255,255)'.\n */\n\n/**\n * PDF page operator list.\n *\n * @typedef {Object} PDFOperatorList\n * @property {Array} fnArray - Array containing the operator functions.\n * @property {Array} argsArray - Array containing the arguments of the\n * functions.\n */\n\n/**\n * Proxy to a PDFPage in the worker thread.\n * @alias PDFPageProxy\n */\nclass PDFPageProxy {\n constructor(pageIndex, pageInfo, transport, pdfBug = false) {\n this._pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._transport = transport;\n this._stats = pdfBug ? new StatTimer() : null;\n this._pdfBug = pdfBug;\n this.commonObjs = transport.commonObjs;\n this.objs = new PDFObjects();\n\n this.cleanupAfterRender = false;\n this.pendingCleanup = false;\n this.intentStates = Object.create(null);\n this.destroyed = false;\n }\n\n /**\n * @type {number} Page number of the page. First page is 1.\n */\n get pageNumber() {\n return this._pageIndex + 1;\n }\n\n /**\n * @type {number} The number of degrees the page is rotated clockwise.\n */\n get rotate() {\n return this._pageInfo.rotate;\n }\n\n /**\n * @type {Object} The reference that points to this page. It has `num` and\n * `gen` properties.\n */\n get ref() {\n return this._pageInfo.ref;\n }\n\n /**\n * @type {number} The default size of units in 1/72nds of an inch.\n */\n get userUnit() {\n return this._pageInfo.userUnit;\n }\n\n /**\n * @type {Array} An array of the visible portion of the PDF page in user\n * space units [x1, y1, x2, y2].\n */\n get view() {\n return this._pageInfo.view;\n }\n\n /**\n * @param {GetViewportParameters} params - Viewport parameters.\n * @returns {PageViewport} Contains 'width' and 'height' properties\n * along with transforms required for rendering.\n */\n getViewport({\n scale,\n rotation = this.rotate,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false,\n } = {}) {\n return new PageViewport({\n viewBox: this.view,\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip,\n });\n }\n\n /**\n * @param {GetAnnotationsParameters} params - Annotation parameters.\n * @returns {Promise} A promise that is resolved with an {Array} of the\n * annotation objects.\n */\n getAnnotations({ intent = null } = {}) {\n if (!this.annotationsPromise || this.annotationsIntent !== intent) {\n this.annotationsPromise = this._transport.getAnnotations(\n this._pageIndex,\n intent\n );\n this.annotationsIntent = intent;\n }\n return this.annotationsPromise;\n }\n\n /**\n * Begins the process of rendering a page to the desired context.\n * @param {RenderParameters} params Page render parameters.\n * @returns {RenderTask} An object that contains the promise, which\n * is resolved when the page finishes rendering.\n */\n render({\n canvasContext,\n viewport,\n intent = \"display\",\n enableWebGL = false,\n renderInteractiveForms = false,\n transform = null,\n imageLayer = null,\n canvasFactory = null,\n background = null,\n }) {\n if (this._stats) {\n this._stats.time(\"Overall\");\n }\n\n const renderingIntent = intent === \"print\" ? \"print\" : \"display\";\n // If there was a pending destroy, cancel it so no cleanup happens during\n // this call to render.\n this.pendingCleanup = false;\n\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n const intentState = this.intentStates[renderingIntent];\n\n // Ensure that a pending `streamReader` cancel timeout is always aborted.\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n\n const canvasFactoryInstance = canvasFactory || new DOMCanvasFactory();\n const webGLContext = new WebGLContext({\n enable: enableWebGL,\n });\n\n // If there's no displayReadyCapability yet, then the operatorList\n // was never requested before. Make the request and create the promise.\n if (!intentState.displayReadyCapability) {\n intentState.displayReadyCapability = 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 this._pumpOperatorList({\n pageIndex: this._pageIndex,\n intent: renderingIntent,\n renderInteractiveForms: renderInteractiveForms === true,\n });\n }\n\n const complete = error => {\n const i = intentState.renderTasks.indexOf(internalRenderTask);\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n\n // Attempt to reduce memory usage during *printing*, by always running\n // cleanup once rendering has finished (regardless of cleanupAfterRender).\n if (this.cleanupAfterRender || renderingIntent === \"print\") {\n this.pendingCleanup = true;\n }\n this._tryCleanup();\n\n if (error) {\n internalRenderTask.capability.reject(error);\n\n this._abortOperatorList({\n intentState,\n reason: error,\n });\n } else {\n internalRenderTask.capability.resolve();\n }\n if (this._stats) {\n this._stats.timeEnd(\"Rendering\");\n this._stats.timeEnd(\"Overall\");\n }\n };\n\n const internalRenderTask = new InternalRenderTask({\n callback: complete,\n // Only include the required properties, and *not* the entire object.\n params: {\n canvasContext,\n viewport,\n transform,\n imageLayer,\n background,\n },\n objs: this.objs,\n commonObjs: this.commonObjs,\n operatorList: intentState.operatorList,\n pageIndex: this._pageIndex,\n canvasFactory: canvasFactoryInstance,\n webGLContext,\n useRequestAnimationFrame: renderingIntent !== \"print\",\n pdfBug: this._pdfBug,\n });\n\n if (!intentState.renderTasks) {\n intentState.renderTasks = [];\n }\n intentState.renderTasks.push(internalRenderTask);\n const renderTask = internalRenderTask.task;\n\n intentState.displayReadyCapability.promise\n .then(transparency => {\n if (this.pendingCleanup) {\n complete();\n return;\n }\n if (this._stats) {\n this._stats.time(\"Rendering\");\n }\n internalRenderTask.initializeGraphics(transparency);\n internalRenderTask.operatorListChanged();\n })\n .catch(complete);\n\n return renderTask;\n }\n\n /**\n * @returns {Promise} A promise resolved with an {@link PDFOperatorList}\n * object that represents page's operator list.\n */\n getOperatorList() {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n\n const i = intentState.renderTasks.indexOf(opListTask);\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n }\n }\n\n const renderingIntent = \"oplist\";\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n const intentState = this.intentStates[renderingIntent];\n let opListTask;\n\n if (!intentState.opListReadCapability) {\n opListTask = {};\n opListTask.operatorListChanged = operatorListChanged;\n intentState.opListReadCapability = 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 this._pumpOperatorList({\n pageIndex: this._pageIndex,\n intent: renderingIntent,\n });\n }\n return intentState.opListReadCapability.promise;\n }\n\n /**\n * @param {getTextContentParameters} params - getTextContent parameters.\n * @returns {ReadableStream} ReadableStream to read textContent chunks.\n */\n streamTextContent({\n normalizeWhitespace = false,\n disableCombineTextItems = false,\n } = {}) {\n const TEXT_CONTENT_CHUNK_SIZE = 100;\n\n return this._transport.messageHandler.sendWithStream(\n \"GetTextContent\",\n {\n pageIndex: this._pageIndex,\n normalizeWhitespace: normalizeWhitespace === true,\n combineTextItems: disableCombineTextItems !== true,\n },\n {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n size(textContent) {\n return textContent.items.length;\n },\n }\n );\n }\n\n /**\n * @param {getTextContentParameters} params - getTextContent parameters.\n * @returns {Promise} That is resolved a {@link TextContent}\n * object that represent the page text content.\n */\n getTextContent(params = {}) {\n const readableStream = this.streamTextContent(params);\n\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function ({ value, done }) {\n if (done) {\n resolve(textContent);\n return;\n }\n Object.assign(textContent.styles, value.styles);\n textContent.items.push(...value.items);\n pump();\n }, reject);\n }\n\n const reader = readableStream.getReader();\n const textContent = {\n items: [],\n styles: Object.create(null),\n };\n pump();\n });\n }\n\n /**\n * Destroys the page object.\n * @private\n */\n _destroy() {\n this.destroyed = true;\n this._transport.pageCache[this._pageIndex] = null;\n\n const waitOn = [];\n Object.keys(this.intentStates).forEach(intent => {\n const intentState = this.intentStates[intent];\n this._abortOperatorList({\n intentState,\n reason: new Error(\"Page was destroyed.\"),\n force: true,\n });\n\n if (intent === \"oplist\") {\n // Avoid errors below, since the renderTasks are just stubs.\n return;\n }\n intentState.renderTasks.forEach(function (renderTask) {\n const renderCompleted = renderTask.capability.promise.catch(\n function () {}\n ); // ignoring failures\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 /**\n * Cleans up resources allocated by the page.\n * @param {boolean} [resetStats] - Reset page stats, if enabled.\n * The default value is `false`.\n * @returns {boolean} Indicating if clean-up was successfully run.\n */\n cleanup(resetStats = false) {\n this.pendingCleanup = true;\n return this._tryCleanup(resetStats);\n }\n\n /**\n * Attempts to clean up if rendering is in a state where that's possible.\n * @private\n */\n _tryCleanup(resetStats = false) {\n if (\n !this.pendingCleanup ||\n Object.keys(this.intentStates).some(intent => {\n const intentState = this.intentStates[intent];\n return (\n intentState.renderTasks.length !== 0 ||\n !intentState.operatorList.lastChunk\n );\n })\n ) {\n return false;\n }\n\n Object.keys(this.intentStates).forEach(intent => {\n delete this.intentStates[intent];\n });\n this.objs.clear();\n this.annotationsPromise = null;\n if (resetStats && this._stats) {\n this._stats = new StatTimer();\n }\n this.pendingCleanup = false;\n return true;\n }\n\n /**\n * @private\n */\n _startRenderPage(transparency, intent) {\n const intentState = this.intentStates[intent];\n if (!intentState) {\n return; // Rendering was cancelled.\n }\n if (this._stats) {\n this._stats.timeEnd(\"Page Request\");\n }\n // TODO Refactor RenderPageRequest to separate rendering\n // and operator list logic\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.resolve(transparency);\n }\n }\n\n /**\n * @private\n */\n _renderPageChunk(operatorListChunk, intentState) {\n // Add the new chunk to the current operator list.\n for (let i = 0, ii = operatorListChunk.length; i < ii; i++) {\n intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);\n }\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n\n // Notify all the rendering tasks there are more operators to be consumed.\n for (let i = 0; i < intentState.renderTasks.length; i++) {\n intentState.renderTasks[i].operatorListChanged();\n }\n\n if (operatorListChunk.lastChunk) {\n this._tryCleanup();\n }\n }\n\n /**\n * @private\n */\n _pumpOperatorList(args) {\n assert(\n args.intent,\n 'PDFPageProxy._pumpOperatorList: Expected \"intent\" argument.'\n );\n\n const readableStream = this._transport.messageHandler.sendWithStream(\n \"GetOperatorList\",\n args\n );\n const reader = readableStream.getReader();\n\n const intentState = this.intentStates[args.intent];\n intentState.streamReader = reader;\n\n const pump = () => {\n reader.read().then(\n ({ value, done }) => {\n if (done) {\n intentState.streamReader = null;\n return;\n }\n if (this._transport.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n this._renderPageChunk(value, intentState);\n pump();\n },\n reason => {\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n if (intentState.operatorList) {\n // Mark operator list as complete.\n intentState.operatorList.lastChunk = true;\n\n for (let i = 0; i < intentState.renderTasks.length; i++) {\n intentState.renderTasks[i].operatorListChanged();\n }\n this._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 /**\n * @private\n */\n _abortOperatorList({ intentState, reason, force = false }) {\n assert(\n reason instanceof Error ||\n (typeof reason === \"object\" && reason !== null),\n 'PDFPageProxy._abortOperatorList: Expected \"reason\" argument.'\n );\n\n if (!intentState.streamReader) {\n return;\n }\n if (!force) {\n // Ensure that an Error occurring in *only* one `InternalRenderTask`, e.g.\n // multiple render() calls on the same canvas, won't break all rendering.\n if (intentState.renderTasks.length !== 0) {\n return;\n }\n // Don't immediately abort parsing on the worker-thread when rendering is\n // cancelled, since that will unnecessarily delay re-rendering when (for\n // partially parsed pages) e.g. zooming/rotation occurs in the viewer.\n if (reason instanceof RenderingCancelledException) {\n intentState.streamReaderCancelTimeout = setTimeout(() => {\n this._abortOperatorList({ intentState, reason, force: true });\n intentState.streamReaderCancelTimeout = null;\n }, RENDERING_CANCELLED_TIMEOUT);\n return;\n }\n }\n intentState.streamReader.cancel(\n new AbortException(reason && reason.message)\n );\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n // Remove the current `intentState`, since a cancelled `getOperatorList`\n // call on the worker-thread cannot be re-started...\n Object.keys(this.intentStates).some(intent => {\n if (this.intentStates[intent] === intentState) {\n delete this.intentStates[intent];\n return true;\n }\n return false;\n });\n // ... and force clean-up to ensure that any old state is always removed.\n this.cleanup();\n }\n\n /**\n * @type {Object} Returns page stats, if enabled; returns `null` otherwise.\n */\n get stats() {\n return this._stats;\n }\n}\n\nclass LoopbackPort {\n constructor(defer = true) {\n this._listeners = [];\n this._defer = defer;\n this._deferred = Promise.resolve(undefined);\n }\n\n postMessage(obj, transfers) {\n function cloneValue(value) {\n // Trying to perform a structured clone close to the spec, including\n // transfers.\n if (typeof value !== \"object\" || value === null) {\n return value;\n }\n if (cloned.has(value)) {\n // already cloned the object\n return cloned.get(value);\n }\n let buffer, result;\n if ((buffer = value.buffer) && isArrayBuffer(buffer)) {\n // We found object with ArrayBuffer (typed array).\n const transferable = transfers && transfers.includes(buffer);\n if (transferable) {\n result = new value.constructor(\n buffer,\n value.byteOffset,\n value.byteLength\n );\n } else {\n result = new value.constructor(value);\n }\n cloned.set(value, result);\n return result;\n }\n result = Array.isArray(value) ? [] : {};\n cloned.set(value, result); // adding to cache now for cyclic references\n // Cloning all value and object properties, however ignoring properties\n // defined via getter.\n for (const i in value) {\n let desc,\n p = value;\n while (!(desc = Object.getOwnPropertyDescriptor(p, i))) {\n p = Object.getPrototypeOf(p);\n }\n if (typeof desc.value === \"undefined\") {\n continue;\n }\n if (typeof desc.value === \"function\") {\n if (value.hasOwnProperty && value.hasOwnProperty(i)) {\n throw new Error(\n `LoopbackPort.postMessage - cannot clone: ${value[i]}`\n );\n }\n continue;\n }\n result[i] = cloneValue(desc.value);\n }\n return result;\n }\n\n if (!this._defer) {\n this._listeners.forEach(listener => {\n listener.call(this, { data: obj });\n });\n return;\n }\n\n const cloned = new WeakMap();\n const e = { data: cloneValue(obj) };\n this._deferred.then(() => {\n this._listeners.forEach(listener => {\n listener.call(this, e);\n });\n });\n }\n\n addEventListener(name, listener) {\n this._listeners.push(listener);\n }\n\n removeEventListener(name, listener) {\n const i = this._listeners.indexOf(listener);\n this._listeners.splice(i, 1);\n }\n\n terminate() {\n this._listeners.length = 0;\n }\n}\n\n/**\n * @typedef {Object} PDFWorkerParameters\n * @property {string} [name] - The name of the worker.\n * @property {Object} [port] - The `workerPort`.\n * @property {number} [verbosity] - Controls the logging level; the\n * constants from {VerbosityLevel} should be used.\n */\n\nconst PDFWorker = (function PDFWorkerClosure() {\n const pdfWorkerPorts = new WeakMap();\n let isWorkerDisabled = false;\n let fallbackWorkerSrc;\n let nextFakeWorkerId = 0;\n let fakeWorkerCapability;\n\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"GENERIC\")) {\n // eslint-disable-next-line no-undef\n if (isNodeJS && typeof __non_webpack_require__ === \"function\") {\n // Workers aren't supported in Node.js, force-disabling them there.\n isWorkerDisabled = true;\n\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"LIB\")) {\n fallbackWorkerSrc = \"../pdf.worker.js\";\n } else {\n fallbackWorkerSrc = \"./pdf.worker.js\";\n }\n } else if (typeof document === \"object\" && \"currentScript\" in document) {\n const pdfjsFilePath =\n document.currentScript && document.currentScript.src;\n if (pdfjsFilePath) {\n fallbackWorkerSrc = pdfjsFilePath.replace(\n /(\\.(?:min\\.)?js)(\\?.*)?$/i,\n \".worker$1$2\"\n );\n }\n }\n }\n\n function getWorkerSrc() {\n if (GlobalWorkerOptions.workerSrc) {\n return GlobalWorkerOptions.workerSrc;\n }\n if (typeof fallbackWorkerSrc !== \"undefined\") {\n if (!isNodeJS) {\n deprecated('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n return fallbackWorkerSrc;\n }\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n function getMainThreadWorkerMessageHandler() {\n let mainWorkerMessageHandler;\n try {\n mainWorkerMessageHandler =\n globalThis.pdfjsWorker && globalThis.pdfjsWorker.WorkerMessageHandler;\n } catch (ex) {\n /* Ignore errors. */\n }\n return mainWorkerMessageHandler || null;\n }\n\n // Loads worker code into main thread.\n function setupFakeWorkerGlobal() {\n if (fakeWorkerCapability) {\n return fakeWorkerCapability.promise;\n }\n fakeWorkerCapability = createPromiseCapability();\n\n const loader = async function () {\n const mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();\n\n if (mainWorkerMessageHandler) {\n // The worker was already loaded using e.g. a `<script>` tag.\n return mainWorkerMessageHandler;\n }\n if (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"PRODUCTION\")) {\n if (typeof SystemJS !== \"object\") {\n // Manually load SystemJS, since it's only necessary for fake workers.\n await loadScript(\"../node_modules/systemjs/dist/system.js\");\n await loadScript(\"../systemjs.config.js\");\n }\n const worker = await SystemJS.import(\"pdfjs/core/worker.js\");\n return worker.WorkerMessageHandler;\n }\n if (\n PDFJSDev.test(\"GENERIC\") &&\n isNodeJS &&\n // eslint-disable-next-line no-undef\n typeof __non_webpack_require__ === \"function\"\n ) {\n // Since bundlers, such as Webpack, cannot be told to leave `require`\n // statements alone we are thus forced to jump through hoops in order\n // to prevent `Critical dependency: ...` warnings in third-party\n // deployments of the built `pdf.js`/`pdf.worker.js` files; see\n // https://github.com/webpack/webpack/issues/8826\n //\n // The following hack is based on the assumption that code running in\n // Node.js won't ever be affected by e.g. Content Security Policies that\n // prevent the use of `eval`. If that ever occurs, we should revert this\n // to a normal `__non_webpack_require__` statement and simply document\n // the Webpack warnings instead (telling users to ignore them).\n //\n // eslint-disable-next-line no-eval\n const worker = eval(\"require\")(getWorkerSrc());\n return worker.WorkerMessageHandler;\n }\n await loadScript(getWorkerSrc());\n return window.pdfjsWorker.WorkerMessageHandler;\n };\n loader().then(fakeWorkerCapability.resolve, fakeWorkerCapability.reject);\n\n return fakeWorkerCapability.promise;\n }\n\n function createCDNWrapper(url) {\n // We will rely on blob URL's property to specify origin.\n // We want this function to fail in case if createObjectURL or Blob do not\n // exist or fail for some reason -- our Worker creation will fail anyway.\n const wrapper = \"importScripts('\" + url + \"');\";\n return URL.createObjectURL(new Blob([wrapper]));\n }\n\n /**\n * PDF.js web worker abstraction, which controls the instantiation of PDF\n * documents. Message handlers are used to pass information from the main\n * thread to the worker thread and vice versa. If the creation of a web\n * worker is not possible, a \"fake\" worker will be used instead.\n */\n // eslint-disable-next-line no-shadow\n class PDFWorker {\n /**\n * @param {PDFWorkerParameters} params - Worker initialization parameters.\n */\n constructor({\n name = null,\n port = null,\n verbosity = getVerbosityLevel(),\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\n this._readyCapability = createPromiseCapability();\n this._port = null;\n this._webWorker = null;\n this._messageHandler = null;\n\n if (port) {\n pdfWorkerPorts.set(port, this);\n this._initializeFromPort(port);\n return;\n }\n this._initialize();\n }\n\n get promise() {\n return this._readyCapability.promise;\n }\n\n get port() {\n return this._port;\n }\n\n get messageHandler() {\n return this._messageHandler;\n }\n\n _initializeFromPort(port) {\n this._port = port;\n this._messageHandler = new MessageHandler(\"main\", \"worker\", port);\n this._messageHandler.on(\"ready\", function () {\n // Ignoring 'ready' event -- MessageHandler shall be already initialized\n // and ready to accept the messages.\n });\n this._readyCapability.resolve();\n }\n\n _initialize() {\n // If worker support isn't disabled explicit and the browser has worker\n // support, create a new web worker and test if it/the browser fulfills\n // all requirements to run parts of pdf.js in a web worker.\n // Right now, the requirement is, that an Uint8Array is still an\n // Uint8Array as it arrives on the worker. (Chrome added this with v.15.)\n if (\n typeof Worker !== \"undefined\" &&\n !isWorkerDisabled &&\n !getMainThreadWorkerMessageHandler()\n ) {\n let workerSrc = getWorkerSrc();\n\n try {\n // Wraps workerSrc path into blob URL, if the former does not belong\n // to the same origin.\n if (\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"GENERIC\") &&\n !isSameOrigin(window.location.href, workerSrc)\n ) {\n workerSrc = createCDNWrapper(\n new URL(workerSrc, window.location).href\n );\n }\n\n // Some versions of FF can't create a worker on localhost, see:\n // https://bugzilla.mozilla.org/show_bug.cgi?id=683280\n const worker = new Worker(workerSrc);\n const messageHandler = new MessageHandler(\"main\", \"worker\", worker);\n const terminateEarly = () => {\n worker.removeEventListener(\"error\", onWorkerError);\n messageHandler.destroy();\n worker.terminate();\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n } else {\n // Fall back to fake worker if the termination is caused by an\n // error (e.g. NetworkError / SecurityError).\n this._setupFakeWorker();\n }\n };\n\n const onWorkerError = () => {\n if (!this._webWorker) {\n // Worker failed to initialize due to an error. Clean up and fall\n // back to the fake worker.\n terminateEarly();\n }\n };\n worker.addEventListener(\"error\", onWorkerError);\n\n messageHandler.on(\"test\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n if (this.destroyed) {\n terminateEarly();\n return; // worker was destroyed\n }\n if (data) {\n // supportTypedArray\n this._messageHandler = messageHandler;\n this._port = worker;\n this._webWorker = worker;\n if (!data.supportTransfers) {\n this.postMessageTransfers = false;\n }\n this._readyCapability.resolve();\n // Send global setting, e.g. verbosity level.\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity,\n });\n } else {\n this._setupFakeWorker();\n messageHandler.destroy();\n worker.terminate();\n }\n });\n\n messageHandler.on(\"ready\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n if (this.destroyed) {\n terminateEarly();\n return; // worker was destroyed\n }\n try {\n sendTest();\n } catch (e) {\n // We need fallback to a faked worker.\n this._setupFakeWorker();\n }\n });\n\n const sendTest = () => {\n const testObj = new Uint8Array([\n this.postMessageTransfers ? 255 : 0,\n ]);\n // Some versions of Opera throw a DATA_CLONE_ERR on serializing the\n // typed array. Also, checking if we can use transfers.\n try {\n messageHandler.send(\"test\", testObj, [testObj.buffer]);\n } catch (ex) {\n warn(\"Cannot use postMessage transfers.\");\n testObj[0] = 0;\n messageHandler.send(\"test\", testObj);\n }\n };\n\n // It might take time for worker to initialize (especially when AMD\n // loader is used). We will try to send test immediately, and then\n // when 'ready' message will arrive. The worker shall process only\n // first received 'test'.\n sendTest();\n return;\n } catch (e) {\n info(\"The worker has been disabled.\");\n }\n }\n // Either workers are disabled, not supported or have thrown an exception.\n // Thus, we fallback to a faked worker.\n this._setupFakeWorker();\n }\n\n _setupFakeWorker() {\n if (!isWorkerDisabled) {\n warn(\"Setting up fake worker.\");\n isWorkerDisabled = true;\n }\n\n setupFakeWorkerGlobal()\n .then(WorkerMessageHandler => {\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n return;\n }\n const port = new LoopbackPort();\n this._port = port;\n\n // All fake workers use the same port, making id unique.\n const id = \"fake\" + nextFakeWorkerId++;\n\n // If the main thread is our worker, setup the handling for the\n // messages -- the main thread sends to it self.\n const workerHandler = new MessageHandler(id + \"_worker\", id, port);\n WorkerMessageHandler.setup(workerHandler, port);\n\n const messageHandler = new MessageHandler(id, id + \"_worker\", port);\n this._messageHandler = messageHandler;\n this._readyCapability.resolve();\n // Send global setting, e.g. verbosity level.\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity,\n });\n })\n .catch(reason => {\n this._readyCapability.reject(\n new Error(`Setting up fake worker failed: \"${reason.message}\".`)\n );\n });\n }\n\n /**\n * Destroys the worker instance.\n */\n destroy() {\n this.destroyed = true;\n if (this._webWorker) {\n // We need to terminate only web worker created resource.\n this._webWorker.terminate();\n this._webWorker = null;\n }\n pdfWorkerPorts.delete(this._port);\n this._port = null;\n if (this._messageHandler) {\n this._messageHandler.destroy();\n this._messageHandler = null;\n }\n }\n\n /**\n * @param {PDFWorkerParameters} params - The worker initialization\n * parameters.\n */\n static fromPort(params) {\n if (!params || !params.port) {\n throw new Error(\"PDFWorker.fromPort - invalid method signature.\");\n }\n if (pdfWorkerPorts.has(params.port)) {\n return pdfWorkerPorts.get(params.port);\n }\n return new PDFWorker(params);\n }\n\n static getWorkerSrc() {\n return getWorkerSrc();\n }\n }\n return PDFWorker;\n})();\n\n/**\n * For internal use only.\n * @ignore\n */\nclass WorkerTransport {\n constructor(messageHandler, loadingTask, networkStream, params) {\n this.messageHandler = messageHandler;\n this.loadingTask = loadingTask;\n this.commonObjs = new PDFObjects();\n this.fontLoader = new 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\n this.destroyed = false;\n this.destroyCapability = null;\n this._passwordCapability = null;\n\n this._networkStream = networkStream;\n this._fullReader = null;\n this._lastProgress = null;\n\n this.pageCache = [];\n this.pagePromises = [];\n this.downloadInfoCapability = createPromiseCapability();\n\n this.setupMessageHandler();\n }\n\n destroy() {\n if (this.destroyCapability) {\n return this.destroyCapability.promise;\n }\n\n this.destroyed = true;\n this.destroyCapability = createPromiseCapability();\n\n if (this._passwordCapability) {\n this._passwordCapability.reject(\n new Error(\"Worker was destroyed during onPassword callback\")\n );\n }\n\n const waitOn = [];\n // We need to wait for all renderings to be completed, e.g.\n // timeout/rAF can take a long time.\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 // We also need to wait for the worker to finish its long running tasks.\n const terminated = this.messageHandler.sendWithPromise(\"Terminate\", null);\n waitOn.push(terminated);\n Promise.all(waitOn).then(() => {\n this.fontLoader.clear();\n if (this._networkStream) {\n this._networkStream.cancelAllRequests(\n new AbortException(\"Worker was terminated.\")\n );\n }\n\n if (this.messageHandler) {\n this.messageHandler.destroy();\n this.messageHandler = null;\n }\n this.destroyCapability.resolve();\n }, this.destroyCapability.reject);\n return this.destroyCapability.promise;\n }\n\n setupMessageHandler() {\n const { messageHandler, loadingTask } = this;\n\n messageHandler.on(\"GetReader\", (data, sink) => {\n assert(\n this._networkStream,\n \"GetReader - no `IPDFStream` instance available.\"\n );\n this._fullReader = this._networkStream.getFullReader();\n this._fullReader.onProgress = evt => {\n this._lastProgress = {\n loaded: evt.loaded,\n total: evt.total,\n };\n };\n sink.onPull = () => {\n this._fullReader\n .read()\n .then(function ({ value, done }) {\n if (done) {\n sink.close();\n return;\n }\n assert(\n isArrayBuffer(value),\n \"GetReader - expected an ArrayBuffer.\"\n );\n // Enqueue data chunk into sink, and transfer it\n // to other side as `Transferable` object.\n sink.enqueue(new Uint8Array(value), 1, [value]);\n })\n .catch(reason => {\n sink.error(reason);\n });\n };\n\n sink.onCancel = reason => {\n this._fullReader.cancel(reason);\n };\n });\n\n messageHandler.on(\"ReaderHeadersReady\", data => {\n const headersCapability = createPromiseCapability();\n const fullReader = this._fullReader;\n fullReader.headersReady.then(() => {\n // If stream or range are disabled, it's our only way to report\n // loading progress.\n if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {\n if (this._lastProgress && loadingTask.onProgress) {\n loadingTask.onProgress(this._lastProgress);\n }\n fullReader.onProgress = 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\n return headersCapability.promise;\n });\n\n messageHandler.on(\"GetRangeReader\", (data, sink) => {\n assert(\n this._networkStream,\n \"GetRangeReader - no `IPDFStream` instance available.\"\n );\n const rangeReader = this._networkStream.getRangeReader(\n data.begin,\n data.end\n );\n\n // When streaming is enabled, it's possible that the data requested here\n // has already been fetched via the `_fullRequestReader` implementation.\n // However, given that the PDF data is loaded asynchronously on the\n // main-thread and then sent via `postMessage` to the worker-thread,\n // it may not have been available during parsing (hence the attempt to\n // use range requests here).\n //\n // To avoid wasting time and resources here, we'll thus *not* dispatch\n // range requests if the data was already loaded but has not been sent to\n // the worker-thread yet (which will happen via the `_fullRequestReader`).\n if (!rangeReader) {\n sink.close();\n return;\n }\n\n sink.onPull = () => {\n rangeReader\n .read()\n .then(function ({ value, done }) {\n if (done) {\n sink.close();\n return;\n }\n assert(\n isArrayBuffer(value),\n \"GetRangeReader - expected an ArrayBuffer.\"\n );\n sink.enqueue(new Uint8Array(value), 1, [value]);\n })\n .catch(reason => {\n sink.error(reason);\n });\n };\n\n sink.onCancel = reason => {\n rangeReader.cancel(reason);\n };\n });\n\n messageHandler.on(\"GetDoc\", ({ pdfInfo }) => {\n this._numPages = pdfInfo.numPages;\n loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, this));\n });\n\n messageHandler.on(\"DocException\", function (ex) {\n let reason;\n switch (ex.name) {\n case \"PasswordException\":\n reason = new PasswordException(ex.message, ex.code);\n break;\n case \"InvalidPDFException\":\n reason = new InvalidPDFException(ex.message);\n break;\n case \"MissingPDFException\":\n reason = new MissingPDFException(ex.message);\n break;\n case \"UnexpectedResponseException\":\n reason = new UnexpectedResponseException(ex.message, ex.status);\n break;\n case \"UnknownErrorException\":\n reason = new UnknownErrorException(ex.message, ex.details);\n break;\n }\n if (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!PRODUCTION || TESTING\")\n ) {\n assert(reason instanceof Error, \"DocException: expected an Error.\");\n }\n loadingTask._capability.reject(reason);\n });\n\n messageHandler.on(\"PasswordRequest\", exception => {\n this._passwordCapability = createPromiseCapability();\n\n if (loadingTask.onPassword) {\n const updatePassword = password => {\n this._passwordCapability.resolve({\n password,\n });\n };\n try {\n loadingTask.onPassword(updatePassword, exception.code);\n } catch (ex) {\n this._passwordCapability.reject(ex);\n }\n } else {\n this._passwordCapability.reject(\n new PasswordException(exception.message, exception.code)\n );\n }\n return this._passwordCapability.promise;\n });\n\n messageHandler.on(\"DataLoaded\", data => {\n // For consistency: Ensure that progress is always reported when the\n // entire PDF file has been loaded, regardless of how it was fetched.\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.length,\n total: data.length,\n });\n }\n this.downloadInfoCapability.resolve(data);\n });\n\n messageHandler.on(\"StartRenderPage\", data => {\n if (this.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n\n const page = this.pageCache[data.pageIndex];\n page._startRenderPage(data.transparency, data.intent);\n });\n\n messageHandler.on(\"commonobj\", data => {\n if (this.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n\n const [id, type, exportedData] = data;\n if (this.commonObjs.has(id)) {\n return;\n }\n\n switch (type) {\n case \"Font\":\n const params = this._params;\n\n if (\"error\" in exportedData) {\n const exportedError = exportedData.error;\n warn(`Error during font loading: ${exportedError}`);\n this.commonObjs.resolve(id, exportedError);\n break;\n }\n\n let fontRegistry = null;\n if (\n params.pdfBug &&\n globalThis.FontInspector &&\n globalThis.FontInspector.enabled\n ) {\n fontRegistry = {\n registerFont(font, url) {\n globalThis.FontInspector.fontAdded(font, url);\n },\n };\n }\n const font = new FontFaceObject(exportedData, {\n isEvalSupported: params.isEvalSupported,\n disableFontFace: params.disableFontFace,\n ignoreErrors: params.ignoreErrors,\n onUnsupportedFeature: this._onUnsupportedFeature.bind(this),\n fontRegistry,\n });\n\n this.fontLoader\n .bind(font)\n .catch(reason => {\n return messageHandler.sendWithPromise(\"FontFallback\", { id });\n })\n .finally(() => {\n if (!params.fontExtraProperties && font.data) {\n // Immediately release the `font.data` property once the font\n // has been attached to the DOM, since it's no longer needed,\n // rather than waiting for a `PDFDocumentProxy.cleanup` call.\n // Since `font.data` could be very large, e.g. in some cases\n // multiple megabytes, this will help reduce memory usage.\n font.data = null;\n }\n this.commonObjs.resolve(id, font);\n });\n break;\n case \"FontPath\":\n case \"FontType3Res\":\n case \"Image\":\n this.commonObjs.resolve(id, exportedData);\n break;\n default:\n throw new Error(`Got unknown common object type ${type}`);\n }\n });\n\n messageHandler.on(\"obj\", data => {\n if (this.destroyed) {\n // Ignore any pending requests if the worker was terminated.\n return undefined;\n }\n\n const [id, pageIndex, type, imageData] = data;\n const pageProxy = this.pageCache[pageIndex];\n if (pageProxy.objs.has(id)) {\n return undefined;\n }\n\n switch (type) {\n case \"Image\":\n pageProxy.objs.resolve(id, imageData);\n\n // Heuristic that will allow us not to store large data.\n const MAX_IMAGE_SIZE_TO_STORE = 8000000;\n if (\n imageData &&\n \"data\" in imageData &&\n imageData.data.length > MAX_IMAGE_SIZE_TO_STORE\n ) {\n pageProxy.cleanupAfterRender = true;\n }\n break;\n default:\n throw new Error(`Got unknown object type ${type}`);\n }\n return undefined;\n });\n\n messageHandler.on(\"DocProgress\", data => {\n if (this.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.loaded,\n total: data.total,\n });\n }\n });\n\n messageHandler.on(\n \"UnsupportedFeature\",\n this._onUnsupportedFeature.bind(this)\n );\n\n messageHandler.on(\"FetchBuiltInCMap\", (data, sink) => {\n if (this.destroyed) {\n sink.error(new Error(\"Worker was destroyed\"));\n return;\n }\n let fetched = false;\n\n sink.onPull = () => {\n if (fetched) {\n sink.close();\n return;\n }\n fetched = true;\n\n this.CMapReaderFactory.fetch(data)\n .then(function (builtInCMap) {\n sink.enqueue(builtInCMap, 1, [builtInCMap.cMapData.buffer]);\n })\n .catch(function (reason) {\n sink.error(reason);\n });\n };\n });\n }\n\n _onUnsupportedFeature({ featureId }) {\n if (this.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n if (this.loadingTask.onUnsupportedFeature) {\n this.loadingTask.onUnsupportedFeature(featureId);\n }\n }\n\n getData() {\n return this.messageHandler.sendWithPromise(\"GetData\", null);\n }\n\n getPage(pageNumber) {\n if (\n !Number.isInteger(pageNumber) ||\n pageNumber <= 0 ||\n pageNumber > this._numPages\n ) {\n return Promise.reject(new Error(\"Invalid page request\"));\n }\n\n const pageIndex = pageNumber - 1;\n if (pageIndex in this.pagePromises) {\n return this.pagePromises[pageIndex];\n }\n const promise = this.messageHandler\n .sendWithPromise(\"GetPage\", {\n pageIndex,\n })\n .then(pageInfo => {\n if (this.destroyed) {\n throw new Error(\"Transport destroyed\");\n }\n const page = new PDFPageProxy(\n pageIndex,\n pageInfo,\n this,\n this._params.pdfBug\n );\n this.pageCache[pageIndex] = page;\n return page;\n });\n this.pagePromises[pageIndex] = promise;\n return promise;\n }\n\n getPageIndex(ref) {\n return this.messageHandler\n .sendWithPromise(\"GetPageIndex\", {\n ref,\n })\n .catch(function (reason) {\n return Promise.reject(new Error(reason));\n });\n }\n\n getAnnotations(pageIndex, intent) {\n return this.messageHandler.sendWithPromise(\"GetAnnotations\", {\n pageIndex,\n intent,\n });\n }\n\n getDestinations() {\n return this.messageHandler.sendWithPromise(\"GetDestinations\", null);\n }\n\n getDestination(id) {\n if (typeof id !== \"string\") {\n return Promise.reject(new Error(\"Invalid destination request.\"));\n }\n return this.messageHandler.sendWithPromise(\"GetDestination\", {\n id,\n });\n }\n\n getPageLabels() {\n return this.messageHandler.sendWithPromise(\"GetPageLabels\", null);\n }\n\n getPageLayout() {\n return this.messageHandler.sendWithPromise(\"GetPageLayout\", null);\n }\n\n getPageMode() {\n return this.messageHandler.sendWithPromise(\"GetPageMode\", null);\n }\n\n getViewerPreferences() {\n return this.messageHandler.sendWithPromise(\"GetViewerPreferences\", null);\n }\n\n getOpenAction() {\n return this.messageHandler.sendWithPromise(\"GetOpenAction\", null);\n }\n\n getAttachments() {\n return this.messageHandler.sendWithPromise(\"GetAttachments\", null);\n }\n\n getJavaScript() {\n return this.messageHandler.sendWithPromise(\"GetJavaScript\", null);\n }\n\n getOutline() {\n return this.messageHandler.sendWithPromise(\"GetOutline\", null);\n }\n\n getPermissions() {\n return this.messageHandler.sendWithPromise(\"GetPermissions\", null);\n }\n\n getMetadata() {\n return this.messageHandler\n .sendWithPromise(\"GetMetadata\", null)\n .then(results => {\n return {\n info: results[0],\n metadata: results[1] ? new Metadata(results[1]) : null,\n contentDispositionFilename: this._fullReader\n ? this._fullReader.filename\n : null,\n };\n });\n }\n\n getStats() {\n return this.messageHandler.sendWithPromise(\"GetStats\", null);\n }\n\n startCleanup() {\n return this.messageHandler.sendWithPromise(\"Cleanup\", null).then(() => {\n for (let i = 0, ii = this.pageCache.length; i < ii; i++) {\n const page = this.pageCache[i];\n if (page) {\n const cleanupSuccessful = page.cleanup();\n\n if (!cleanupSuccessful) {\n throw new Error(\n `startCleanup: Page ${i + 1} is currently rendering.`\n );\n }\n }\n }\n this.commonObjs.clear();\n this.fontLoader.clear();\n });\n }\n\n get loadingParams() {\n const params = this._params;\n return shadow(this, \"loadingParams\", {\n disableAutoFetch: params.disableAutoFetch,\n disableFontFace: params.disableFontFace,\n });\n }\n}\n\n/**\n * A PDF document and page is built of many objects. E.g. there are objects for\n * fonts, images, rendering code, etc. These objects may get processed inside of\n * a worker. This class implements some basic methods to manage these objects.\n * @ignore\n */\nclass PDFObjects {\n constructor() {\n this._objs = Object.create(null);\n }\n\n /**\n * Ensures there is an object defined for `objId`.\n * @private\n */\n _ensureObj(objId) {\n if (this._objs[objId]) {\n return this._objs[objId];\n }\n return (this._objs[objId] = {\n capability: createPromiseCapability(),\n data: null,\n resolved: false,\n });\n }\n\n /**\n * If called *without* callback, this returns the data of `objId` but the\n * object needs to be resolved. If it isn't, this method throws.\n *\n * If called *with* a callback, the callback is called with the data of the\n * object once the object is resolved. That means, if you call this method\n * and the object is already resolved, the callback gets called right away.\n */\n get(objId, callback = null) {\n // If there is a callback, then the get can be async and the object is\n // not required to be resolved right now.\n if (callback) {\n this._ensureObj(objId).capability.promise.then(callback);\n return null;\n }\n // If there isn't a callback, the user expects to get the resolved data\n // directly.\n const obj = this._objs[objId];\n // If there isn't an object yet or the object isn't resolved, then the\n // data isn't ready yet!\n if (!obj || !obj.resolved) {\n throw new Error(`Requesting object that isn't resolved yet ${objId}.`);\n }\n return obj.data;\n }\n\n has(objId) {\n const obj = this._objs[objId];\n return obj ? obj.resolved : false;\n }\n\n /**\n * Resolves the object `objId` with optional `data`.\n */\n resolve(objId, data) {\n const obj = this._ensureObj(objId);\n\n obj.resolved = true;\n obj.data = data;\n obj.capability.resolve(data);\n }\n\n clear() {\n this._objs = Object.create(null);\n }\n}\n\n/**\n * Allows controlling of the rendering tasks.\n * @alias RenderTask\n */\nclass RenderTask {\n constructor(internalRenderTask) {\n this._internalRenderTask = internalRenderTask;\n\n /**\n * Callback for incremental rendering -- a function that will be called\n * each time the rendering is paused. To continue rendering call the\n * function that is the first argument to the callback.\n * @type {function}\n */\n this.onContinue = null;\n }\n\n /**\n * Promise for rendering task completion.\n * @type {Promise}\n */\n get promise() {\n return this._internalRenderTask.capability.promise;\n }\n\n /**\n * Cancels the rendering task. If the task is currently rendering it will\n * not be cancelled until graphics pauses with a timeout. The promise that\n * this object extends will be rejected when cancelled.\n */\n cancel() {\n this._internalRenderTask.cancel();\n }\n}\n\n/**\n * For internal use only.\n * @ignore\n */\nconst InternalRenderTask = (function InternalRenderTaskClosure() {\n const canvasInRendering = new WeakSet();\n\n // eslint-disable-next-line no-shadow\n class InternalRenderTask {\n constructor({\n callback,\n params,\n objs,\n commonObjs,\n operatorList,\n pageIndex,\n canvasFactory,\n webGLContext,\n useRequestAnimationFrame = false,\n pdfBug = false,\n }) {\n this.callback = callback;\n this.params = params;\n this.objs = objs;\n this.commonObjs = commonObjs;\n this.operatorListIdx = null;\n this.operatorList = operatorList;\n this._pageIndex = pageIndex;\n this.canvasFactory = canvasFactory;\n this.webGLContext = webGLContext;\n this._pdfBug = pdfBug;\n\n this.running = false;\n this.graphicsReadyCallback = null;\n this.graphicsReady = false;\n this._useRequestAnimationFrame =\n useRequestAnimationFrame === true && typeof window !== \"undefined\";\n this.cancelled = false;\n this.capability = createPromiseCapability();\n this.task = new RenderTask(this);\n // caching this-bound methods\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 initializeGraphics(transparency = false) {\n if (this.cancelled) {\n return;\n }\n if (this._canvas) {\n if (canvasInRendering.has(this._canvas)) {\n throw new Error(\n \"Cannot use the same canvas during multiple render() operations. \" +\n \"Use different canvas or ensure previous operations were \" +\n \"cancelled or completed.\"\n );\n }\n canvasInRendering.add(this._canvas);\n }\n\n if (\n this._pdfBug &&\n globalThis.StepperManager &&\n globalThis.StepperManager.enabled\n ) {\n this.stepper = globalThis.StepperManager.create(this._pageIndex);\n this.stepper.init(this.operatorList);\n this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();\n }\n const {\n canvasContext,\n viewport,\n transform,\n imageLayer,\n background,\n } = this.params;\n\n this.gfx = new CanvasGraphics(\n canvasContext,\n this.commonObjs,\n this.objs,\n this.canvasFactory,\n this.webGLContext,\n imageLayer\n );\n this.gfx.beginDrawing({\n transform,\n viewport,\n transparency,\n background,\n });\n this.operatorListIdx = 0;\n this.graphicsReady = true;\n if (this.graphicsReadyCallback) {\n this.graphicsReadyCallback();\n }\n }\n\n cancel(error = null) {\n this.running = false;\n this.cancelled = true;\n if (this.gfx) {\n this.gfx.endDrawing();\n }\n if (this._canvas) {\n canvasInRendering.delete(this._canvas);\n }\n this.callback(\n error ||\n new RenderingCancelledException(\n `Rendering cancelled, page ${this._pageIndex + 1}`,\n \"canvas\"\n )\n );\n }\n\n operatorListChanged() {\n if (!this.graphicsReady) {\n if (!this.graphicsReadyCallback) {\n this.graphicsReadyCallback = this._continueBound;\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 this._continue();\n }\n\n _continue() {\n this.running = true;\n if (this.cancelled) {\n return;\n }\n if (this.task.onContinue) {\n this.task.onContinue(this._scheduleNextBound);\n } else {\n this._scheduleNext();\n }\n }\n\n _scheduleNext() {\n if (this._useRequestAnimationFrame) {\n window.requestAnimationFrame(() => {\n this._nextBound().catch(this.cancel.bind(this));\n });\n } else {\n Promise.resolve().then(this._nextBound).catch(this.cancel.bind(this));\n }\n }\n\n async _next() {\n if (this.cancelled) {\n return;\n }\n this.operatorListIdx = this.gfx.executeOperatorList(\n this.operatorList,\n this.operatorListIdx,\n this._continueBound,\n this.stepper\n );\n if (this.operatorListIdx === this.operatorList.argsArray.length) {\n this.running = false;\n if (this.operatorList.lastChunk) {\n this.gfx.endDrawing();\n if (this._canvas) {\n canvasInRendering.delete(this._canvas);\n }\n this.callback();\n }\n }\n }\n }\n return InternalRenderTask;\n})();\n\nconst version =\n typeof PDFJSDev !== \"undefined\" ? PDFJSDev.eval(\"BUNDLE_VERSION\") : null;\nconst build =\n typeof PDFJSDev !== \"undefined\" ? PDFJSDev.eval(\"BUNDLE_BUILD\") : null;\n\nexport {\n getDocument,\n LoopbackPort,\n PDFDataRangeTransport,\n PDFWorker,\n PDFDocumentProxy,\n PDFPageProxy,\n setPDFNetworkStreamFactory,\n version,\n build,\n};\n","/* Copyright 2012 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\nimport {\n assert,\n bytesToString,\n IsEvalSupportedCached,\n shadow,\n string32,\n unreachable,\n UNSUPPORTED_FEATURES,\n warn,\n} from \"../shared/util.js\";\n\nclass BaseFontLoader {\n constructor({ docId, onUnsupportedFeature }) {\n if (this.constructor === BaseFontLoader) {\n unreachable(\"Cannot initialize BaseFontLoader.\");\n }\n this.docId = docId;\n this._onUnsupportedFeature = onUnsupportedFeature;\n\n this.nativeFontFaces = [];\n this.styleElement = null;\n }\n\n addNativeFontFace(nativeFontFace) {\n this.nativeFontFaces.push(nativeFontFace);\n document.fonts.add(nativeFontFace);\n }\n\n insertRule(rule) {\n let styleElement = this.styleElement;\n if (!styleElement) {\n styleElement = this.styleElement = document.createElement(\"style\");\n styleElement.id = `PDFJS_FONT_STYLE_TAG_${this.docId}`;\n document.documentElement\n .getElementsByTagName(\"head\")[0]\n .appendChild(styleElement);\n }\n\n const styleSheet = styleElement.sheet;\n styleSheet.insertRule(rule, styleSheet.cssRules.length);\n }\n\n clear() {\n this.nativeFontFaces.forEach(function (nativeFontFace) {\n document.fonts.delete(nativeFontFace);\n });\n this.nativeFontFaces.length = 0;\n\n if (this.styleElement) {\n // Note: ChildNode.remove doesn't throw if the parentNode is undefined.\n this.styleElement.remove();\n this.styleElement = null;\n }\n }\n\n async bind(font) {\n // Add the font to the DOM only once; skip if the font is already loaded.\n if (font.attached || font.missingFile) {\n return;\n }\n font.attached = true;\n\n if (this.isFontLoadingAPISupported) {\n const nativeFontFace = font.createNativeFontFace();\n if (nativeFontFace) {\n this.addNativeFontFace(nativeFontFace);\n try {\n await nativeFontFace.loaded;\n } catch (ex) {\n this._onUnsupportedFeature({\n featureId: UNSUPPORTED_FEATURES.errorFontLoadNative,\n });\n warn(`Failed to load font '${nativeFontFace.family}': '${ex}'.`);\n\n // When font loading failed, fall back to the built-in font renderer.\n font.disableFontFace = true;\n throw ex;\n }\n }\n return; // The font was, asynchronously, loaded.\n }\n\n // !this.isFontLoadingAPISupported\n const rule = font.createFontFaceRule();\n if (rule) {\n this.insertRule(rule);\n\n if (this.isSyncFontLoadingSupported) {\n return; // The font was, synchronously, loaded.\n }\n await new Promise(resolve => {\n const request = this._queueLoadingCallback(resolve);\n this._prepareFontLoadEvent([rule], [font], request);\n });\n // The font was, asynchronously, loaded.\n }\n }\n\n _queueLoadingCallback(callback) {\n unreachable(\"Abstract method `_queueLoadingCallback`.\");\n }\n\n get isFontLoadingAPISupported() {\n const supported = typeof document !== \"undefined\" && !!document.fonts;\n return shadow(this, \"isFontLoadingAPISupported\", supported);\n }\n\n // eslint-disable-next-line getter-return\n get isSyncFontLoadingSupported() {\n unreachable(\"Abstract method `isSyncFontLoadingSupported`.\");\n }\n\n // eslint-disable-next-line getter-return\n get _loadTestFont() {\n unreachable(\"Abstract method `_loadTestFont`.\");\n }\n\n _prepareFontLoadEvent(rules, fontsToLoad, request) {\n unreachable(\"Abstract method `_prepareFontLoadEvent`.\");\n }\n}\n\nlet FontLoader;\nif (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) {\n FontLoader = class MozcentralFontLoader extends BaseFontLoader {\n get isSyncFontLoadingSupported() {\n return shadow(this, \"isSyncFontLoadingSupported\", true);\n }\n };\n} else {\n // PDFJSDev.test('CHROME || GENERIC')\n\n FontLoader = class GenericFontLoader extends BaseFontLoader {\n constructor(docId) {\n super(docId);\n this.loadingContext = {\n requests: [],\n nextRequestId: 0,\n };\n this.loadTestFontId = 0;\n }\n\n get isSyncFontLoadingSupported() {\n let supported = false;\n if (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"CHROME\")) {\n if (typeof navigator === \"undefined\") {\n // Node.js - we can pretend that sync font loading is supported.\n supported = true;\n } else {\n // User agent string sniffing is bad, but there is no reliable way to\n // tell if the font is fully loaded and ready to be used with canvas.\n const m = /Mozilla\\/5.0.*?rv:(\\d+).*? Gecko/.exec(\n navigator.userAgent\n );\n if (m && m[1] >= 14) {\n supported = true;\n }\n // TODO - other browsers...\n }\n }\n return shadow(this, \"isSyncFontLoadingSupported\", supported);\n }\n\n _queueLoadingCallback(callback) {\n function completeRequest() {\n assert(!request.done, \"completeRequest() cannot be called twice.\");\n request.done = true;\n\n // Sending all completed requests in order of how they were queued.\n while (context.requests.length > 0 && context.requests[0].done) {\n const otherRequest = context.requests.shift();\n setTimeout(otherRequest.callback, 0);\n }\n }\n\n const context = this.loadingContext;\n const request = {\n id: `pdfjs-font-loading-${context.nextRequestId++}`,\n done: false,\n complete: completeRequest,\n callback,\n };\n context.requests.push(request);\n return request;\n }\n\n get _loadTestFont() {\n const getLoadTestFont = function () {\n // This is a CFF font with 1 glyph for '.' that fills its entire width\n // and height.\n return atob(\n \"T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA\" +\n \"FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA\" +\n \"ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA\" +\n \"AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1\" +\n \"AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD\" +\n \"6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM\" +\n \"AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D\" +\n \"IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA\" +\n \"AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA\" +\n \"AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB\" +\n \"AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY\" +\n \"AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA\" +\n \"AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" +\n \"AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" +\n \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" +\n \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" +\n \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" +\n \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA\" +\n \"AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC\" +\n \"AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3\" +\n \"Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj\" +\n \"FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==\"\n );\n };\n return shadow(this, \"_loadTestFont\", getLoadTestFont());\n }\n\n _prepareFontLoadEvent(rules, fonts, request) {\n /** Hack begin */\n // There's currently no event when a font has finished downloading so the\n // following code is a dirty hack to 'guess' when a font is ready.\n // It's assumed fonts are loaded in order, so add a known test font after\n // the desired fonts and then test for the loading of that test font.\n\n function int32(data, offset) {\n return (\n (data.charCodeAt(offset) << 24) |\n (data.charCodeAt(offset + 1) << 16) |\n (data.charCodeAt(offset + 2) << 8) |\n (data.charCodeAt(offset + 3) & 0xff)\n );\n }\n function spliceString(s, offset, remove, insert) {\n const chunk1 = s.substring(0, offset);\n const chunk2 = s.substring(offset + remove);\n return chunk1 + insert + chunk2;\n }\n let i, ii;\n\n // The temporary canvas is used to determine if fonts are loaded.\n const canvas = document.createElement(\"canvas\");\n canvas.width = 1;\n canvas.height = 1;\n const ctx = canvas.getContext(\"2d\");\n\n let called = 0;\n function isFontReady(name, callback) {\n called++;\n // With setTimeout clamping this gives the font ~100ms to load.\n if (called > 30) {\n warn(\"Load test font never loaded.\");\n callback();\n return;\n }\n ctx.font = \"30px \" + name;\n ctx.fillText(\".\", 0, 20);\n const imageData = ctx.getImageData(0, 0, 1, 1);\n if (imageData.data[3] > 0) {\n callback();\n return;\n }\n setTimeout(isFontReady.bind(null, name, callback));\n }\n\n const loadTestFontId = `lt${Date.now()}${this.loadTestFontId++}`;\n // Chromium seems to cache fonts based on a hash of the actual font data,\n // so the font must be modified for each load test else it will appear to\n // be loaded already.\n // TODO: This could maybe be made faster by avoiding the btoa of the full\n // font by splitting it in chunks before hand and padding the font id.\n let data = this._loadTestFont;\n const COMMENT_OFFSET = 976; // has to be on 4 byte boundary (for checksum)\n data = spliceString(\n data,\n COMMENT_OFFSET,\n loadTestFontId.length,\n loadTestFontId\n );\n // CFF checksum is important for IE, adjusting it\n const CFF_CHECKSUM_OFFSET = 16;\n const XXXX_VALUE = 0x58585858; // the \"comment\" filled with 'X'\n let checksum = int32(data, CFF_CHECKSUM_OFFSET);\n for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {\n checksum = (checksum - XXXX_VALUE + int32(loadTestFontId, i)) | 0;\n }\n if (i < loadTestFontId.length) {\n // align to 4 bytes boundary\n checksum =\n (checksum - XXXX_VALUE + int32(loadTestFontId + \"XXX\", i)) | 0;\n }\n data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, string32(checksum));\n\n const url = `url(data:font/opentype;base64,${btoa(data)});`;\n const rule = `@font-face {font-family:\"${loadTestFontId}\";src:${url}}`;\n this.insertRule(rule);\n\n const names = [];\n for (i = 0, ii = fonts.length; i < ii; i++) {\n names.push(fonts[i].loadedName);\n }\n names.push(loadTestFontId);\n\n const 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 const span = document.createElement(\"span\");\n span.textContent = \"Hi\";\n span.style.fontFamily = names[i];\n div.appendChild(span);\n }\n document.body.appendChild(div);\n\n isFontReady(loadTestFontId, function () {\n document.body.removeChild(div);\n request.complete();\n });\n /** Hack end */\n }\n };\n} // End of PDFJSDev.test('CHROME || GENERIC')\n\nclass FontFaceObject {\n constructor(\n translatedData,\n {\n isEvalSupported = true,\n disableFontFace = false,\n ignoreErrors = false,\n onUnsupportedFeature = null,\n fontRegistry = null,\n }\n ) {\n this.compiledGlyphs = Object.create(null);\n // importing translated data\n for (const i in translatedData) {\n this[i] = translatedData[i];\n }\n this.isEvalSupported = isEvalSupported !== false;\n this.disableFontFace = disableFontFace === true;\n this.ignoreErrors = ignoreErrors === true;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this.fontRegistry = fontRegistry;\n }\n\n createNativeFontFace() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n const nativeFontFace = new FontFace(this.loadedName, this.data, {});\n\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this);\n }\n return nativeFontFace;\n }\n\n createFontFaceRule() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n const data = bytesToString(new Uint8Array(this.data));\n // Add the @font-face rule to the document.\n const url = `url(data:${this.mimetype};base64,${btoa(data)});`;\n const rule = `@font-face {font-family:\"${this.loadedName}\";src:${url}}`;\n\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this, url);\n }\n return rule;\n }\n\n getPathGenerator(objs, character) {\n if (this.compiledGlyphs[character] !== undefined) {\n return this.compiledGlyphs[character];\n }\n\n let cmds, current;\n try {\n cmds = objs.get(this.loadedName + \"_path_\" + character);\n } catch (ex) {\n if (!this.ignoreErrors) {\n throw ex;\n }\n if (this._onUnsupportedFeature) {\n this._onUnsupportedFeature({\n featureId: UNSUPPORTED_FEATURES.errorFontGetPath,\n });\n }\n warn(`getPathGenerator - ignoring character: \"${ex}\".`);\n\n return (this.compiledGlyphs[character] = function (c, size) {\n // No-op function, to allow rendering to continue.\n });\n }\n\n // If we can, compile cmds into JS for MAXIMUM SPEED...\n if (this.isEvalSupported && IsEvalSupportedCached.value) {\n let args,\n js = \"\";\n for (let 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 js += \"c.\" + current.cmd + \"(\" + args + \");\\n\";\n }\n // eslint-disable-next-line no-new-func\n return (this.compiledGlyphs[character] = new Function(\"c\", \"size\", js));\n }\n // ... but fall back on using Function.prototype.apply() if we're\n // blocked from using eval() for whatever reason (like CSP policies).\n return (this.compiledGlyphs[character] = function (c, size) {\n for (let 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 c[current.cmd].apply(c, current.args);\n }\n });\n }\n}\n\nexport { FontFaceObject, FontLoader };\n","/* Copyright 2018 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { isNodeJS } from \"../shared/is_node.js\";\n\nconst compatibilityParams = Object.create(null);\nif (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n // Support: Node.js\n (function checkFontFace() {\n // Node.js is missing native support for `@font-face`.\n if (isNodeJS) {\n compatibilityParams.disableFontFace = true;\n }\n })();\n}\nconst apiCompatibilityParams = Object.freeze(compatibilityParams);\n\nexport { apiCompatibilityParams };\n","/* Copyright 2012 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\nimport {\n FONT_IDENTITY_MATRIX,\n IDENTITY_MATRIX,\n ImageKind,\n info,\n IsLittleEndianCached,\n isNum,\n OPS,\n shadow,\n TextRenderingMode,\n unreachable,\n Util,\n warn,\n} from \"../shared/util.js\";\nimport { getShadingPatternFromIR, TilingPattern } from \"./pattern_helper.js\";\n\n// <canvas> contexts store most of the state we need natively.\n// However, PDF needs a bit more state, which we store here.\n\n// Minimal font size that would be used during canvas fillText operations.\nvar MIN_FONT_SIZE = 16;\n// Maximum font size that would be used during canvas fillText operations.\nvar MAX_FONT_SIZE = 100;\nvar MAX_GROUP_SIZE = 4096;\n\n// Heuristic value used when enforcing minimum line widths.\nvar MIN_WIDTH_FACTOR = 0.65;\n\nvar COMPILE_TYPE3_GLYPHS = true;\nvar MAX_SIZE_TO_COMPILE = 1000;\n\nvar FULL_CHUNK_HEIGHT = 16;\n\nfunction addContextCurrentTransform(ctx) {\n // If the context doesn't expose a `mozCurrentTransform`, add a JS based one.\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\n ctx._transformMatrix = ctx._transformMatrix || [1, 0, 0, 1, 0, 0];\n ctx._transformStack = [];\n\n Object.defineProperty(ctx, \"mozCurrentTransform\", {\n get: function getCurrentTransform() {\n return this._transformMatrix;\n },\n });\n\n Object.defineProperty(ctx, \"mozCurrentTransformInverse\", {\n get: function getCurrentTransformInverse() {\n // Calculation done using WolframAlpha:\n // http://www.wolframalpha.com/input/?\n // i=Inverse+{{a%2C+c%2C+e}%2C+{b%2C+d%2C+f}%2C+{0%2C+0%2C+1}}\n\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\n var ad_bc = a * d - b * c;\n var bc_ad = b * c - a * d;\n\n return [\n d / ad_bc,\n b / bc_ad,\n c / bc_ad,\n a / ad_bc,\n (d * e - c * f) / bc_ad,\n (b * e - a * f) / ad_bc,\n ];\n },\n });\n\n ctx.save = function ctxSave() {\n var old = this._transformMatrix;\n this._transformStack.push(old);\n this._transformMatrix = old.slice(0, 6);\n\n this._originalSave();\n };\n\n ctx.restore = function ctxRestore() {\n var prev = this._transformStack.pop();\n if (prev) {\n this._transformMatrix = prev;\n this._originalRestore();\n }\n };\n\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 = [\n m[0] * a + m[2] * b,\n m[1] * a + m[3] * b,\n m[0] * c + m[2] * d,\n m[1] * c + m[3] * d,\n m[0] * e + m[2] * f + m[4],\n m[1] * e + m[3] * f + m[5],\n ];\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\n var m = this._transformMatrix;\n this._transformMatrix = [\n m[0] * cosValue + m[2] * sinValue,\n m[1] * cosValue + m[3] * sinValue,\n m[0] * -sinValue + m[2] * cosValue,\n m[1] * -sinValue + m[3] * cosValue,\n m[4],\n m[5],\n ];\n\n this._originalRotate(angle);\n };\n }\n}\n\nvar CachedCanvases = (function CachedCanvasesClosure() {\n // eslint-disable-next-line no-shadow\n function CachedCanvases(canvasFactory) {\n this.canvasFactory = canvasFactory;\n this.cache = Object.create(null);\n }\n CachedCanvases.prototype = {\n getCanvas: function CachedCanvases_getCanvas(\n id,\n width,\n height,\n trackTransform\n ) {\n var canvasEntry;\n if (this.cache[id] !== undefined) {\n canvasEntry = this.cache[id];\n this.canvasFactory.reset(canvasEntry, width, height);\n // reset canvas transform for emulated mozCurrentTransform, if needed\n canvasEntry.context.setTransform(1, 0, 0, 1, 0, 0);\n } else {\n canvasEntry = this.canvasFactory.create(width, height);\n this.cache[id] = canvasEntry;\n }\n if (trackTransform) {\n addContextCurrentTransform(canvasEntry.context);\n }\n return canvasEntry;\n },\n clear() {\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\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 // prettier-ignore\n var POINT_TYPES =\n new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);\n\n // decodes bit-packed mask data\n var lineSize = (width + 7) & ~7,\n data0 = imgData.data;\n var data = new Uint8Array(lineSize * height),\n pos = 0,\n ii;\n for (i = 0, ii = data0.length; i < ii; i++) {\n var mask = 128,\n elem = data0[i];\n while (mask > 0) {\n data[pos++] = elem & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n\n // finding interesting points: every point is located between mask pixels,\n // so there will be points of the (width + 1)x(height + 1) grid. Every point\n // will have flags assigned based on neighboring mask pixels:\n // 4 | 8\n // --P--\n // 2 | 1\n // We are interested only in points with the flags:\n // - outside corners: 1, 2, 4, 8;\n // - inside corners: 7, 11, 13, 14;\n // - and, intersections: 5, 10.\n var count = 0;\n pos = 0;\n if (data[pos] !== 0) {\n points[0] = 1;\n ++count;\n }\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j] = data[pos] ? 2 : 1;\n ++count;\n }\n pos++;\n }\n if (data[pos] !== 0) {\n points[j] = 2;\n ++count;\n }\n for (i = 1; i < height; i++) {\n pos = i * lineSize;\n j0 = i * width1;\n if (data[pos - lineSize] !== data[pos]) {\n points[j0] = data[pos] ? 1 : 8;\n ++count;\n }\n // 'sum' is the position of the current pixel configuration in the 'TYPES'\n // array (in order 8-1-2-4, so we can use '>>2' to shift the column).\n var sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);\n for (j = 1; j < width; j++) {\n sum =\n (sum >> 2) +\n (data[pos + 1] ? 4 : 0) +\n (data[pos - lineSize + 1] ? 8 : 0);\n if (POINT_TYPES[sum]) {\n points[j0 + j] = POINT_TYPES[sum];\n ++count;\n }\n pos++;\n }\n if (data[pos - lineSize] !== data[pos]) {\n points[j0 + j] = data[pos] ? 2 : 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n }\n\n pos = lineSize * (height - 1);\n j0 = i * width1;\n if (data[pos] !== 0) {\n points[j0] = 8;\n ++count;\n }\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j0 + j] = data[pos] ? 4 : 8;\n ++count;\n }\n pos++;\n }\n if (data[pos] !== 0) {\n points[j0 + j] = 4;\n ++count;\n }\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n\n // building outlines\n var steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);\n var outlines = [];\n for (i = 0; count && i <= height; i++) {\n var p = i * width1;\n var end = p + width;\n while (p < end && !points[p]) {\n p++;\n }\n if (p === end) {\n continue;\n }\n var coords = [p % width1, i];\n\n var type = points[p],\n p0 = p,\n pp;\n do {\n var step = steps[type];\n do {\n p += step;\n } while (!points[p]);\n\n pp = points[p];\n if (pp !== 5 && pp !== 10) {\n // set new direction\n type = pp;\n // delete mark\n points[p] = 0;\n } else {\n // type is 5 or 10, ie, a crossing\n // set new direction\n type = pp & ((0x33 * type) >> 4);\n // set new type for \"future hit\"\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 outlines.push(coords);\n --i;\n }\n\n var drawOutline = function (c) {\n c.save();\n // the path shall be painted in [0..1]x[0..1] space\n c.scale(1 / width, -1 / height);\n c.translate(0, -height);\n c.beginPath();\n for (let k = 0, kk = outlines.length; k < kk; k++) {\n var o = outlines[k];\n c.moveTo(o[0], o[1]);\n for (let l = 2, ll = o.length; l < ll; l += 2) {\n c.lineTo(o[l], o[l + 1]);\n }\n }\n c.fill();\n c.beginPath();\n c.restore();\n };\n\n return drawOutline;\n}\n\nvar CanvasExtraState = (function CanvasExtraStateClosure() {\n // eslint-disable-next-line no-shadow\n function CanvasExtraState() {\n // Are soft masks and alpha values shapes or opacities?\n this.alphaIsShape = false;\n this.fontSize = 0;\n this.fontSizeScale = 1;\n this.textMatrix = IDENTITY_MATRIX;\n this.textMatrixScale = 1;\n this.fontMatrix = FONT_IDENTITY_MATRIX;\n this.leading = 0;\n // Current point (in user coordinates)\n this.x = 0;\n this.y = 0;\n // Start of text line (in text coordinates)\n this.lineX = 0;\n this.lineY = 0;\n // Character and word spacing\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRenderingMode = TextRenderingMode.FILL;\n this.textRise = 0;\n // Default fore and background colors\n this.fillColor = \"#000000\";\n this.strokeColor = \"#000000\";\n this.patternFill = false;\n // Note: fill alpha applies to all non-stroking operations\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.activeSMask = null;\n this.resumeSMaskCtx = null; // nonclonable field (see the save method below)\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 // Defines the time the executeOperatorList is going to be executing\n // before it stops and shedules a continue of execution.\n var EXECUTION_TIME = 15;\n // Defines the number of steps before checking the execution time\n var EXECUTION_STEPS = 10;\n\n // eslint-disable-next-line no-shadow\n function CanvasGraphics(\n canvasCtx,\n commonObjs,\n objs,\n canvasFactory,\n webGLContext,\n imageLayer\n ) {\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 // Patterns are painted relative to the initial page/form transform, see pdf\n // spec 8.7.2 NOTE 1.\n this.baseTransform = null;\n this.baseTransformStack = [];\n this.groupLevel = 0;\n this.smaskStack = [];\n this.smaskCounter = 0;\n this.tempSMask = null;\n this.cachedCanvases = new CachedCanvases(this.canvasFactory);\n if (canvasCtx) {\n // NOTE: if mozCurrentTransform is polyfilled, then the current state of\n // the transformation must already be set in canvasCtx._transformMatrix.\n addContextCurrentTransform(canvasCtx);\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 // Put the image data to the canvas in chunks, rather than putting the\n // whole image at once. This saves JS memory, because the ImageData object\n // is smaller. It also possibly saves C++ memory within the implementation\n // of putImageData(). (E.g. in Firefox we make two short-lived copies of\n // the data passed to putImageData()). |n| shouldn't be too small, however,\n // because too many putImageData() calls will slow things down.\n //\n // Note: as written, if the last chunk is partial, the putImageData() call\n // will (conceptually) put pixels past the bounds of the canvas. But\n // that's ok; any such pixels are ignored.\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\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 // There are multiple forms in which the pixel data can be passed, and\n // imgData.kind tells us which one this is.\n if (imgData.kind === ImageKind.GRAYSCALE_1BPP) {\n // Grayscale, 1 bit per pixel (i.e. black-and-white).\n var srcLength = src.byteLength;\n var dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);\n var dest32DataLength = dest32.length;\n var fullSrcDiff = (width + 7) >> 3;\n var white = 0xffffffff;\n var black = IsLittleEndianCached.value ? 0xff000000 : 0x000000ff;\n for (i = 0; i < totalChunks; i++) {\n thisChunkHeight =\n i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n destPos = 0;\n for (j = 0; j < thisChunkHeight; j++) {\n var srcDiff = srcLength - srcPos;\n var k = 0;\n var kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;\n var kEndUnrolled = kEnd & ~7;\n var mask = 0;\n var srcByte = 0;\n for (; k < kEndUnrolled; k += 8) {\n srcByte = src[srcPos++];\n dest32[destPos++] = srcByte & 128 ? white : black;\n dest32[destPos++] = srcByte & 64 ? white : black;\n dest32[destPos++] = srcByte & 32 ? white : black;\n dest32[destPos++] = srcByte & 16 ? white : black;\n dest32[destPos++] = srcByte & 8 ? white : black;\n dest32[destPos++] = srcByte & 4 ? white : black;\n dest32[destPos++] = srcByte & 2 ? white : black;\n dest32[destPos++] = srcByte & 1 ? white : black;\n }\n for (; k < kEnd; k++) {\n if (mask === 0) {\n srcByte = src[srcPos++];\n mask = 128;\n }\n\n dest32[destPos++] = srcByte & mask ? white : black;\n mask >>= 1;\n }\n }\n // We ran out of input. Make all remaining pixels transparent.\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 === ImageKind.RGBA_32BPP) {\n // RGBA, 32-bits per pixel.\n\n j = 0;\n elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;\n for (i = 0; i < fullChunks; i++) {\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n srcPos += elemsInThisChunk;\n\n ctx.putImageData(chunkImgData, 0, j);\n j += FULL_CHUNK_HEIGHT;\n }\n if (i < totalChunks) {\n elemsInThisChunk = width * partialChunkHeight * 4;\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n ctx.putImageData(chunkImgData, 0, j);\n }\n } else if (imgData.kind === ImageKind.RGB_24BPP) {\n // RGB, 24-bits per pixel.\n thisChunkHeight = FULL_CHUNK_HEIGHT;\n elemsInThisChunk = width * thisChunkHeight;\n for (i = 0; i < totalChunks; i++) {\n if (i >= fullChunks) {\n thisChunkHeight = partialChunkHeight;\n elemsInThisChunk = width * thisChunkHeight;\n }\n\n destPos = 0;\n for (j = elemsInThisChunk; j--; ) {\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = 255;\n }\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else {\n throw new Error(`bad image kind: ${imgData.kind}`);\n }\n }\n\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\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 =\n i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n\n // Expand the mask so it can be used by the canvas. Any required\n // inversion has already been handled.\n var destPos = 3; // alpha component offset\n for (var j = 0; j < thisChunkHeight; j++) {\n var mask = 0;\n for (var k = 0; k < width; k++) {\n if (!mask) {\n var elem = src[srcPos++];\n mask = 128;\n }\n dest[destPos] = elem & mask ? 0 : 255;\n destPos += 4;\n mask >>= 1;\n }\n }\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n }\n\n function copyCtxState(sourceCtx, destCtx) {\n var properties = [\n \"strokeStyle\",\n \"fillStyle\",\n \"fillRule\",\n \"globalAlpha\",\n \"lineWidth\",\n \"lineCap\",\n \"lineJoin\",\n \"miterLimit\",\n \"globalCompositeOperation\",\n \"font\",\n ];\n for (var i = 0, ii = properties.length; i < ii; i++) {\n var property = properties[i];\n if (sourceCtx[property] !== undefined) {\n destCtx[property] = sourceCtx[property];\n }\n }\n if (sourceCtx.setLineDash !== undefined) {\n destCtx.setLineDash(sourceCtx.getLineDash());\n destCtx.lineDashOffset = sourceCtx.lineDashOffset;\n }\n }\n\n function resetCtxToDefault(ctx) {\n ctx.strokeStyle = \"#000000\";\n ctx.fillStyle = \"#000000\";\n ctx.fillRule = \"nonzero\";\n ctx.globalAlpha = 1;\n ctx.lineWidth = 1;\n ctx.lineCap = \"butt\";\n ctx.lineJoin = \"miter\";\n ctx.miterLimit = 10;\n ctx.globalCompositeOperation = \"source-over\";\n ctx.font = \"10px sans-serif\";\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash([]);\n ctx.lineDashOffset = 0;\n }\n }\n\n function composeSMaskBackdrop(bytes, r0, g0, b0) {\n var length = bytes.length;\n for (var i = 3; i < length; i += 4) {\n var alpha = bytes[i];\n if (alpha === 0) {\n bytes[i - 3] = r0;\n bytes[i - 2] = g0;\n bytes[i - 1] = b0;\n } else if (alpha < 255) {\n var alpha_ = 255 - alpha;\n bytes[i - 3] = (bytes[i - 3] * alpha + r0 * alpha_) >> 8;\n bytes[i - 2] = (bytes[i - 2] * alpha + g0 * alpha_) >> 8;\n bytes[i - 1] = (bytes[i - 1] * alpha + b0 * alpha_) >> 8;\n }\n }\n }\n\n function composeSMaskAlpha(maskData, layerData, transferMap) {\n var length = maskData.length;\n var scale = 1 / 255;\n for (var i = 3; i < length; i += 4) {\n var alpha = transferMap ? transferMap[maskData[i]] : maskData[i];\n layerData[i] = (layerData[i] * alpha * scale) | 0;\n }\n }\n\n function composeSMaskLuminosity(maskData, layerData, transferMap) {\n var length = maskData.length;\n for (var i = 3; i < length; i += 4) {\n var y =\n maskData[i - 3] * 77 + // * 0.3 / 255 * 0x10000\n maskData[i - 2] * 152 + // * 0.59 ....\n maskData[i - 1] * 28; // * 0.11 ....\n layerData[i] = transferMap\n ? (layerData[i] * transferMap[y >> 8]) >> 8\n : (layerData[i] * y) >> 16;\n }\n }\n\n function genericComposeSMask(\n maskCtx,\n layerCtx,\n width,\n height,\n subtype,\n backdrop,\n transferMap\n ) {\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\n var composeFn;\n if (subtype === \"Luminosity\") {\n composeFn = composeSMaskLuminosity;\n } else {\n composeFn = composeSMaskAlpha;\n }\n\n // processing image in chunks to save memory\n var PIXELS_TO_PROCESS = 1048576;\n var chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));\n for (var row = 0; row < height; row += chunkSize) {\n var chunkHeight = Math.min(chunkSize, height - row);\n var maskData = maskCtx.getImageData(0, row, width, chunkHeight);\n var layerData = layerCtx.getImageData(0, row, width, chunkHeight);\n\n if (hasBackdrop) {\n composeSMaskBackdrop(maskData.data, r0, g0, b0);\n }\n composeFn(maskData.data, layerData.data, transferMap);\n\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\n ctx.setTransform(\n smask.scaleX,\n 0,\n 0,\n smask.scaleY,\n smask.offsetX,\n smask.offsetY\n );\n\n var backdrop = smask.backdrop || null;\n if (!smask.transferMap && webGLContext.isEnabled) {\n const composed = webGLContext.composeSMask({\n layer: layerCtx.canvas,\n mask,\n properties: {\n subtype: smask.subtype,\n backdrop,\n },\n });\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(composed, smask.offsetX, smask.offsetY);\n return;\n }\n genericComposeSMask(\n maskCtx,\n layerCtx,\n mask.width,\n mask.height,\n smask.subtype,\n backdrop,\n smask.transferMap\n );\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\n CanvasGraphics.prototype = {\n beginDrawing({\n transform,\n viewport,\n transparency = false,\n background = null,\n }) {\n // For pdfs that use blend modes we have to clear the canvas else certain\n // blend modes can look wrong since we'd be blending with a white\n // backdrop. The problem with a transparent backdrop though is we then\n // don't get sub pixel anti aliasing on text, creating temporary\n // transparent canvas when we have blend modes.\n var width = this.ctx.canvas.width;\n var height = this.ctx.canvas.height;\n\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(\n \"transparent\",\n width,\n height,\n true\n );\n this.compositeCtx = this.ctx;\n this.transparentCanvas = transparentCanvas.canvas;\n this.ctx = transparentCanvas.context;\n this.ctx.save();\n // The transform can be applied before rendering, transferring it to\n // the new canvas.\n this.ctx.transform.apply(\n this.ctx,\n this.compositeCtx.mozCurrentTransform\n );\n }\n\n this.ctx.save();\n resetCtxToDefault(this.ctx);\n if (transform) {\n this.ctx.transform.apply(this.ctx, transform);\n }\n this.ctx.transform.apply(this.ctx, viewport.transform);\n\n this.baseTransform = this.ctx.mozCurrentTransform.slice();\n\n if (this.imageLayer) {\n this.imageLayer.beginLayout();\n }\n },\n\n executeOperatorList: function CanvasGraphics_executeOperatorList(\n operatorList,\n executionStartIdx,\n continueCallback,\n stepper\n ) {\n var argsArray = operatorList.argsArray;\n var fnArray = operatorList.fnArray;\n var i = executionStartIdx || 0;\n var argsArrayLen = argsArray.length;\n\n // Sometimes the OperatorList to execute is empty.\n if (argsArrayLen === i) {\n return i;\n }\n\n var chunkOperations =\n argsArrayLen - i > EXECUTION_STEPS &&\n typeof continueCallback === \"function\";\n var endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;\n var steps = 0;\n\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 !== OPS.dependency) {\n this[fnId].apply(this, argsArray[i]);\n } else {\n for (const depObjId of argsArray[i]) {\n const objsPool = depObjId.startsWith(\"g_\") ? commonObjs : objs;\n\n // If the promise isn't resolved yet, add the continueCallback\n // to the promise and bail out.\n if (!objsPool.has(depObjId)) {\n objsPool.get(depObjId, continueCallback);\n return i;\n }\n }\n }\n\n i++;\n\n // If the entire operatorList was executed, stop as were done.\n if (i === argsArrayLen) {\n return i;\n }\n\n // If the execution took longer then a certain amount of time and\n // `continueCallback` is specified, interrupt the execution.\n if (chunkOperations && ++steps > EXECUTION_STEPS) {\n if (Date.now() > endTime) {\n continueCallback();\n return i;\n }\n steps = 0;\n }\n\n // If the operatorList isn't executed completely yet OR the execution\n // time was short enough, do another execution round.\n }\n },\n\n endDrawing: function CanvasGraphics_endDrawing() {\n // Finishing all opened operations such as SMask group painting.\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); // Avoid apply transform twice\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\n // Graphics state\n setLineWidth: function CanvasGraphics_setLineWidth(width) {\n this.current.lineWidth = width;\n this.ctx.lineWidth = width;\n },\n setLineCap: function CanvasGraphics_setLineCap(style) {\n this.ctx.lineCap = LINE_CAP_STYLES[style];\n },\n setLineJoin: function CanvasGraphics_setLineJoin(style) {\n this.ctx.lineJoin = LINE_JOIN_STYLES[style];\n },\n setMiterLimit: function CanvasGraphics_setMiterLimit(limit) {\n this.ctx.miterLimit = limit;\n },\n setDash: function CanvasGraphics_setDash(dashArray, dashPhase) {\n var ctx = this.ctx;\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash(dashArray);\n ctx.lineDashOffset = dashPhase;\n }\n },\n setRenderingIntent(intent) {\n // This operation is ignored since we haven't found a use case for it yet.\n },\n setFlatness(flatness) {\n // This operation is ignored since we haven't found a use case for it yet.\n },\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 case \"LC\":\n this.setLineCap(value);\n break;\n case \"LJ\":\n this.setLineJoin(value);\n break;\n case \"ML\":\n this.setMiterLimit(value);\n break;\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n case \"FL\":\n this.setFlatness(value);\n break;\n case \"Font\":\n this.setFont(value[0], value[1]);\n break;\n case \"CA\":\n this.current.strokeAlpha = state[1];\n break;\n case \"ca\":\n this.current.fillAlpha = state[1];\n this.ctx.globalAlpha = state[1];\n break;\n case \"BM\":\n this.ctx.globalCompositeOperation = value;\n break;\n case \"SMask\":\n if (this.current.activeSMask) {\n // If SMask is currrenly used, it needs to be suspended or\n // finished. Suspend only makes sense when at least one save()\n // was performed and state needs to be reverted on restore().\n if (\n this.stateStack.length > 0 &&\n this.stateStack[this.stateStack.length - 1].activeSMask ===\n this.current.activeSMask\n ) {\n this.suspendSMaskGroup();\n } else {\n this.endSMaskGroup();\n }\n }\n this.current.activeSMask = value ? this.tempSMask : null;\n if (this.current.activeSMask) {\n this.beginSMaskGroup();\n }\n this.tempSMask = null;\n break;\n }\n }\n },\n beginSMaskGroup: function CanvasGraphics_beginSMaskGroup() {\n var activeSMask = this.current.activeSMask;\n var drawnWidth = activeSMask.canvas.width;\n var drawnHeight = activeSMask.canvas.height;\n var cacheId = \"smaskGroupAt\" + this.groupLevel;\n var scratchCanvas = this.cachedCanvases.getCanvas(\n cacheId,\n drawnWidth,\n drawnHeight,\n true\n );\n\n var currentCtx = this.ctx;\n var currentTransform = currentCtx.mozCurrentTransform;\n this.ctx.save();\n\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\n activeSMask.startTransformInverse = groupCtx.mozCurrentTransformInverse;\n\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([\n [\"BM\", \"source-over\"],\n [\"ca\", 1],\n [\"CA\", 1],\n ]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n },\n suspendSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n // Similar to endSMaskGroup, the intermediate canvas has to be composed\n // and future ctx state restored.\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n\n composeSMask(\n this.ctx,\n this.current.activeSMask,\n groupCtx,\n this.webGLContext\n );\n this.ctx.restore();\n this.ctx.save(); // save is needed since SMask will be resumed.\n copyCtxState(groupCtx, this.ctx);\n\n // Saving state for resuming.\n this.current.resumeSMaskCtx = groupCtx;\n // Transform was changed in the SMask canvas, reflecting this change on\n // this.ctx.\n var deltaTransform = Util.transform(\n this.current.activeSMask.startTransformInverse,\n groupCtx.mozCurrentTransform\n );\n this.ctx.transform.apply(this.ctx, deltaTransform);\n\n // SMask was composed, the results at the groupCtx can be cleared.\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 // Resuming state saved by suspendSMaskGroup. We don't need to restore\n // any groupCtx state since restore() command (the only caller) will do\n // that for us. See also beginSMaskGroup.\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\n composeSMask(\n this.ctx,\n this.current.activeSMask,\n groupCtx,\n this.webGLContext\n );\n this.ctx.restore();\n copyCtxState(groupCtx, this.ctx);\n // Transform was changed in the SMask canvas, reflecting this change on\n // this.ctx.\n var deltaTransform = Util.transform(\n this.current.activeSMask.startTransformInverse,\n 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 // SMask was suspended, we just need to resume it.\n if (this.current.resumeSMaskCtx) {\n this.resumeSMaskGroup();\n }\n // SMask has to be finished once there is no states that are using the\n // same SMask.\n if (\n this.current.activeSMask !== null &&\n (this.stateStack.length === 0 ||\n this.stateStack[this.stateStack.length - 1].activeSMask !==\n this.current.activeSMask)\n ) {\n this.endSMaskGroup();\n }\n\n if (this.stateStack.length !== 0) {\n this.current = this.stateStack.pop();\n this.ctx.restore();\n\n // Ensure that the clipping path is reset (fixes issue6413.pdf).\n this.pendingClip = null;\n\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\n this._cachedGetSinglePixelWidth = null;\n },\n\n // Path\n constructPath: function CanvasGraphics_constructPath(ops, args) {\n var ctx = this.ctx;\n var current = this.current;\n var x = current.x,\n y = current.y;\n for (var i = 0, j = 0, ii = ops.length; i < ii; i++) {\n switch (ops[i] | 0) {\n case OPS.rectangle:\n x = args[j++];\n y = args[j++];\n var width = args[j++];\n var height = args[j++];\n if (width === 0) {\n width = this.getSinglePixelWidth();\n }\n if (height === 0) {\n height = this.getSinglePixelWidth();\n }\n var xw = x + width;\n var yh = y + height;\n this.ctx.moveTo(x, y);\n this.ctx.lineTo(xw, y);\n this.ctx.lineTo(xw, yh);\n this.ctx.lineTo(x, yh);\n this.ctx.lineTo(x, y);\n this.ctx.closePath();\n break;\n case OPS.moveTo:\n x = args[j++];\n y = args[j++];\n ctx.moveTo(x, y);\n break;\n case OPS.lineTo:\n x = args[j++];\n y = args[j++];\n ctx.lineTo(x, y);\n break;\n case OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n ctx.bezierCurveTo(\n args[j],\n args[j + 1],\n args[j + 2],\n args[j + 3],\n x,\n y\n );\n j += 6;\n break;\n case OPS.curveTo2:\n ctx.bezierCurveTo(\n x,\n y,\n args[j],\n args[j + 1],\n args[j + 2],\n args[j + 3]\n );\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n case OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y);\n j += 4;\n break;\n case OPS.closePath:\n ctx.closePath();\n break;\n }\n }\n current.setCurrentPoint(x, y);\n },\n closePath: function CanvasGraphics_closePath() {\n this.ctx.closePath();\n },\n stroke: function CanvasGraphics_stroke(consumePath) {\n consumePath = typeof consumePath !== \"undefined\" ? consumePath : true;\n var ctx = this.ctx;\n var strokeColor = this.current.strokeColor;\n // For stroke we want to temporarily change the global alpha to the\n // stroking alpha.\n ctx.globalAlpha = this.current.strokeAlpha;\n if (\n strokeColor &&\n strokeColor.hasOwnProperty(\"type\") &&\n strokeColor.type === \"Pattern\"\n ) {\n // for patterns, we transform to pattern space, calculate\n // the pattern, call stroke, and restore to user space\n ctx.save();\n // The current transform will be replaced while building the pattern,\n // but the line width needs to be adjusted by the current transform, so\n // we must scale it. To properly fix this we should be using a pattern\n // transform instead (see #10955).\n const transform = ctx.mozCurrentTransform;\n const scale = Util.singularValueDecompose2dScale(transform)[0];\n ctx.strokeStyle = strokeColor.getPattern(ctx, this);\n ctx.lineWidth = Math.max(\n this.getSinglePixelWidth() * MIN_WIDTH_FACTOR,\n this.current.lineWidth * scale\n );\n ctx.stroke();\n ctx.restore();\n } else {\n // Prevent drawing too thin lines by enforcing a minimum line width.\n ctx.lineWidth = Math.max(\n this.getSinglePixelWidth() * MIN_WIDTH_FACTOR,\n this.current.lineWidth\n );\n ctx.stroke();\n }\n if (consumePath) {\n this.consumePath();\n }\n // Restore the global alpha to the fill alpha\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 if (this.baseTransform) {\n ctx.setTransform.apply(ctx, this.baseTransform);\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 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\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\n // Clipping\n clip: function CanvasGraphics_clip() {\n this.pendingClip = NORMAL_CLIP;\n },\n eoClip: function CanvasGraphics_eoClip() {\n this.pendingClip = EO_CLIP;\n },\n\n // Text\n beginText: function CanvasGraphics_beginText() {\n this.current.textMatrix = IDENTITY_MATRIX;\n this.current.textMatrixScale = 1;\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n },\n endText: function CanvasGraphics_endText() {\n var paths = this.pendingTextPaths;\n var ctx = this.ctx;\n if (paths === undefined) {\n ctx.beginPath();\n return;\n }\n\n ctx.save();\n ctx.beginPath();\n for (var i = 0; i < paths.length; i++) {\n var path = paths[i];\n ctx.setTransform.apply(ctx, path.transform);\n ctx.translate(path.x, path.y);\n path.addToPath(ctx, path.fontSize);\n }\n ctx.restore();\n ctx.clip();\n ctx.beginPath();\n delete this.pendingTextPaths;\n },\n setCharSpacing: function CanvasGraphics_setCharSpacing(spacing) {\n this.current.charSpacing = spacing;\n },\n setWordSpacing: function CanvasGraphics_setWordSpacing(spacing) {\n this.current.wordSpacing = spacing;\n },\n setHScale: function CanvasGraphics_setHScale(scale) {\n this.current.textHScale = scale / 100;\n },\n setLeading: function CanvasGraphics_setLeading(leading) {\n this.current.leading = -leading;\n },\n setFont: function CanvasGraphics_setFont(fontRefName, size) {\n var fontObj = this.commonObjs.get(fontRefName);\n var current = this.current;\n\n if (!fontObj) {\n throw new Error(`Can't find font for ${fontRefName}`);\n }\n\n current.fontMatrix = fontObj.fontMatrix\n ? fontObj.fontMatrix\n : FONT_IDENTITY_MATRIX;\n\n // A valid matrix needs all main diagonal elements to be non-zero\n // This also ensures we bypass FF bugzilla bug #719844.\n if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {\n warn(\"Invalid font matrix for font \" + fontRefName);\n }\n\n // The spec for Tf (setFont) says that 'size' specifies the font 'scale',\n // and in some docs this can be negative (inverted x-y axes).\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; // we don't need ctx.font for Type3 fonts\n }\n\n var name = fontObj.loadedName || \"sans-serif\";\n\n let bold = \"normal\";\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n var italic = fontObj.italic ? \"italic\" : \"normal\";\n var typeface = `\"${name}\", ${fontObj.fallbackName}`;\n\n // Some font backends cannot handle fonts below certain size.\n // Keeping the font at minimal size and using the fontSizeScale to change\n // the current transformation matrix before the fillText/strokeText.\n // See https://bugzilla.mozilla.org/show_bug.cgi?id=726227\n let browserFontSize = size;\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 this.current.fontSizeScale = size / browserFontSize;\n\n this.ctx.font = `${italic} ${bold} ${browserFontSize}px ${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\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\n 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 =\n textRenderingMode & TextRenderingMode.FILL_STROKE_MASK;\n var isAddToPathSet = !!(\n textRenderingMode & TextRenderingMode.ADD_TO_PATH_FLAG\n );\n const patternFill = current.patternFill && !font.missingFile;\n\n var addToPath;\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 if (patternTransform) {\n ctx.setTransform.apply(ctx, patternTransform);\n }\n if (\n fillStrokeMode === TextRenderingMode.FILL ||\n fillStrokeMode === TextRenderingMode.FILL_STROKE\n ) {\n ctx.fill();\n }\n if (\n fillStrokeMode === TextRenderingMode.STROKE ||\n fillStrokeMode === TextRenderingMode.FILL_STROKE\n ) {\n ctx.stroke();\n }\n ctx.restore();\n } else {\n if (\n fillStrokeMode === TextRenderingMode.FILL ||\n fillStrokeMode === TextRenderingMode.FILL_STROKE\n ) {\n ctx.fillText(character, x, y);\n }\n if (\n fillStrokeMode === TextRenderingMode.STROKE ||\n fillStrokeMode === TextRenderingMode.FILL_STROKE\n ) {\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,\n y,\n fontSize,\n addToPath,\n });\n }\n },\n\n get isFontSubpixelAAEnabled() {\n // Checks if anti-aliasing is enabled when scaled text is painted.\n // On Windows GDI scaled fonts looks bad.\n const { context: ctx } = this.cachedCanvases.getCanvas(\n \"isFontSubpixelAAEnabled\",\n 10,\n 10\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 for (var i = 3; i < data.length; i += 4) {\n if (data[i] > 0 && data[i] < 255) {\n enabled = true;\n break;\n }\n }\n return shadow(this, \"isFontSubpixelAAEnabled\", enabled);\n },\n\n showText: function CanvasGraphics_showText(glyphs) {\n var current = this.current;\n var font = current.font;\n if (font.isType3Font) {\n return this.showType3Text(glyphs);\n }\n\n var fontSize = current.fontSize;\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\n var simpleFillText =\n current.textRenderingMode === TextRenderingMode.FILL &&\n !font.disableFontFace &&\n !current.patternFill;\n\n ctx.save();\n let patternTransform;\n if (current.patternFill) {\n // TODO: Patterns are not applied correctly to text if a non-embedded\n // font is used. E.g. issue 8111 and ShowText-ShadingPattern.pdf.\n ctx.save();\n const pattern = current.fillColor.getPattern(ctx, this);\n patternTransform = ctx.mozCurrentTransform;\n ctx.restore();\n ctx.fillStyle = pattern;\n }\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y + current.textRise);\n\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 if (scale === 0 || lineWidth === 0) {\n var fillStrokeMode =\n current.textRenderingMode & TextRenderingMode.FILL_STROKE_MASK;\n if (\n fillStrokeMode === TextRenderingMode.STROKE ||\n fillStrokeMode === TextRenderingMode.FILL_STROKE\n ) {\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\n var x = 0,\n i;\n for (i = 0; i < glyphsLength; ++i) {\n var glyph = glyphs[i];\n if (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 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\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 // Some standard fonts may not have the exact width: rescale per\n // character if measured width is greater than expected glyph width\n // and subpixel-aa is enabled, otherwise just center the glyph.\n var measuredWidth =\n ((ctx.measureText(character).width * 1000) / fontSize) *\n fontSizeScale;\n if (width < measuredWidth && this.isFontSubpixelAAEnabled) {\n var characterScaleX = width / measuredWidth;\n restoreNeeded = true;\n ctx.save();\n ctx.scale(characterScaleX, 1);\n scaledX /= characterScaleX;\n } else if (width !== measuredWidth) {\n scaledX +=\n (((width - measuredWidth) / 2000) * fontSize) / fontSizeScale;\n }\n }\n\n // Only attempt to draw the glyph if it is actually in the embedded font\n // file or if there isn't a font file so the fallback font is shown.\n if (glyph.isInFont || font.missingFile) {\n if (simpleFillText && !accent) {\n // common case\n ctx.fillText(character, scaledX, scaledY);\n } else {\n this.paintChar(character, scaledX, scaledY, patternTransform);\n if (accent) {\n scaledAccentX = scaledX + accent.offset.x / fontSizeScale;\n scaledAccentY = scaledY - accent.offset.y / fontSizeScale;\n this.paintChar(\n accent.fontChar,\n scaledAccentX,\n scaledAccentY,\n patternTransform\n );\n }\n }\n }\n\n var charWidth;\n if (vertical) {\n charWidth = width * widthAdvanceScale - spacing * fontDirection;\n } else {\n charWidth = width * widthAdvanceScale + spacing * fontDirection;\n }\n x += charWidth;\n\n if (restoreNeeded) {\n ctx.restore();\n }\n }\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n ctx.restore();\n },\n\n showType3Text: function CanvasGraphics_showType3Text(glyphs) {\n // Type3 fonts - each glyph is a \"mini-PDF\"\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 || FONT_IDENTITY_MATRIX;\n var glyphsLength = glyphs.length;\n var isTextInvisible =\n current.textRenderingMode === TextRenderingMode.INVISIBLE;\n var i, glyph, width, spacingLength;\n\n if (isTextInvisible || fontSize === 0) {\n return;\n }\n this._cachedGetSinglePixelWidth = null;\n\n ctx.save();\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y);\n\n ctx.scale(textHScale, fontDirection);\n\n for (i = 0; i < glyphsLength; ++i) {\n glyph = glyphs[i];\n if (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 if (!operatorList) {\n warn(`Type3 character \"${glyph.operatorListId}\" is not available.`);\n continue;\n }\n this.processingType3 = glyph;\n this.save();\n ctx.scale(fontSize, fontSize);\n ctx.transform.apply(ctx, fontMatrix);\n this.executeOperatorList(operatorList);\n this.restore();\n\n var transformed = Util.applyTransform([glyph.width, 0], fontMatrix);\n width = transformed[0] * fontSize + spacing;\n\n ctx.translate(width, 0);\n current.x += width * textHScale;\n }\n ctx.restore();\n this.processingType3 = null;\n },\n\n // Type3 fonts\n setCharWidth: function CanvasGraphics_setCharWidth(xWidth, yWidth) {\n // We can safely ignore this since the width should be the same\n // as the width in the Widths array.\n },\n setCharWidthAndBounds: function CanvasGraphics_setCharWidthAndBounds(\n xWidth,\n yWidth,\n llx,\n lly,\n urx,\n ury\n ) {\n // TODO According to the spec we're also suppose to ignore any operators\n // that set color or include images while processing this type3 font.\n this.ctx.rect(llx, lly, urx - llx, ury - lly);\n this.clip();\n this.endPath();\n },\n\n // Color\n getColorN_Pattern: function CanvasGraphics_getColorN_Pattern(IR) {\n var pattern;\n if (IR[0] === \"TilingPattern\") {\n var color = IR[1];\n var baseTransform =\n this.baseTransform || this.ctx.mozCurrentTransform.slice();\n var canvasGraphicsFactory = {\n createCanvasGraphics: ctx => {\n return new CanvasGraphics(\n ctx,\n this.commonObjs,\n this.objs,\n this.canvasFactory,\n this.webGLContext\n );\n },\n };\n pattern = new TilingPattern(\n IR,\n color,\n this.ctx,\n canvasGraphicsFactory,\n baseTransform\n );\n } else {\n pattern = getShadingPatternFromIR(IR);\n }\n return pattern;\n },\n setStrokeColorN: function CanvasGraphics_setStrokeColorN() {\n this.current.strokeColor = this.getColorN_Pattern(arguments);\n },\n setFillColorN: function CanvasGraphics_setFillColorN() {\n this.current.fillColor = this.getColorN_Pattern(arguments);\n this.current.patternFill = true;\n },\n setStrokeRGBColor: function CanvasGraphics_setStrokeRGBColor(r, g, b) {\n var color = Util.makeCssRgb(r, g, b);\n this.ctx.strokeStyle = color;\n this.current.strokeColor = color;\n },\n setFillRGBColor: function CanvasGraphics_setFillRGBColor(r, g, b) {\n var color = Util.makeCssRgb(r, g, b);\n this.ctx.fillStyle = color;\n this.current.fillColor = color;\n this.current.patternFill = false;\n },\n\n shadingFill: function CanvasGraphics_shadingFill(patternIR) {\n var ctx = this.ctx;\n\n this.save();\n var pattern = getShadingPatternFromIR(patternIR);\n ctx.fillStyle = pattern.getPattern(ctx, this, true);\n\n var inv = ctx.mozCurrentTransformInverse;\n if (inv) {\n var canvas = ctx.canvas;\n var width = canvas.width;\n var height = canvas.height;\n\n var bl = Util.applyTransform([0, 0], inv);\n var br = Util.applyTransform([0, height], inv);\n var ul = Util.applyTransform([width, 0], inv);\n var ur = 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\n this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);\n } else {\n // HACK to draw the gradient onto an infinite rectangle.\n // PDF gradients are drawn across the entire image while\n // Canvas only allows gradients to be drawn in a rectangle\n // The following bug should allow us to remove this.\n // https://bugzilla.mozilla.org/show_bug.cgi?id=664884\n\n this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);\n }\n\n this.restore();\n },\n\n // Images\n beginInlineImage: function CanvasGraphics_beginInlineImage() {\n unreachable(\"Should not call beginInlineImage\");\n },\n beginImageData: function CanvasGraphics_beginImageData() {\n unreachable(\"Should not call beginImageData\");\n },\n\n paintFormXObjectBegin: function CanvasGraphics_paintFormXObjectBegin(\n matrix,\n bbox\n ) {\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\n paintFormXObjectEnd: function CanvasGraphics_paintFormXObjectEnd() {\n this.restore();\n this.baseTransform = this.baseTransformStack.pop();\n },\n\n beginGroup: function CanvasGraphics_beginGroup(group) {\n this.save();\n var currentCtx = this.ctx;\n // TODO non-isolated groups - according to Rik at adobe non-isolated\n // group results aren't usually that different and they even have tools\n // that ignore this setting. Notes from Rik on implementing:\n // - When you encounter an transparency group, create a new canvas with\n // the dimensions of the bbox\n // - copy the content from the previous canvas to the new canvas\n // - draw as usual\n // - remove the backdrop alpha:\n // alphaNew = 1 - (1 - alpha)/(1 - alphaBackdrop) with 'alpha' the alpha\n // value of your transparency group and 'alphaBackdrop' the alpha of the\n // backdrop\n // - remove background color:\n // colorNew = color - alphaNew *colorBackdrop /(1 - alphaNew)\n if (!group.isolated) {\n info(\"TODO: Support non-isolated groups.\");\n }\n\n // TODO knockout - supposedly possible with the clever use of compositing\n // modes.\n if (group.knockout) {\n warn(\"Knockout groups not supported.\");\n }\n\n var currentTransform = currentCtx.mozCurrentTransform;\n if (group.matrix) {\n currentCtx.transform.apply(currentCtx, group.matrix);\n }\n if (!group.bbox) {\n throw new Error(\"Bounding box is required.\");\n }\n\n // Based on the current transform figure out how big the bounding box\n // will actually be.\n var bounds = Util.getAxialAlignedBoundingBox(\n group.bbox,\n currentCtx.mozCurrentTransform\n );\n // Clip the bounding box to the current canvas.\n var canvasBounds = [\n 0,\n 0,\n currentCtx.canvas.width,\n currentCtx.canvas.height,\n ];\n bounds = Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0];\n // Use ceil in case we're between sizes so we don't create canvas that is\n // too small and make the canvas at least 1x1 pixels.\n var offsetX = Math.floor(bounds[0]);\n var offsetY = Math.floor(bounds[1]);\n var drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);\n var drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);\n var scaleX = 1,\n scaleY = 1;\n if (drawnWidth > MAX_GROUP_SIZE) {\n scaleX = drawnWidth / MAX_GROUP_SIZE;\n drawnWidth = MAX_GROUP_SIZE;\n }\n if (drawnHeight > MAX_GROUP_SIZE) {\n scaleY = drawnHeight / MAX_GROUP_SIZE;\n drawnHeight = MAX_GROUP_SIZE;\n }\n\n var cacheId = \"groupAt\" + this.groupLevel;\n if (group.smask) {\n // Using two cache entries is case if masks are used one after another.\n cacheId += \"_smask_\" + (this.smaskCounter++ % 2);\n }\n var scratchCanvas = this.cachedCanvases.getCanvas(\n cacheId,\n drawnWidth,\n drawnHeight,\n true\n );\n var groupCtx = scratchCanvas.context;\n\n // Since we created a new canvas that is just the size of the bounding box\n // we have to translate the group ctx.\n groupCtx.scale(1 / scaleX, 1 / scaleY);\n groupCtx.translate(-offsetX, -offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n\n if (group.smask) {\n // Saving state and cached mask to be used in setGState.\n this.smaskStack.push({\n canvas: scratchCanvas.canvas,\n context: groupCtx,\n offsetX,\n offsetY,\n scaleX,\n scaleY,\n subtype: group.smask.subtype,\n backdrop: group.smask.backdrop,\n transferMap: group.smask.transferMap || null,\n startTransformInverse: null, // used during suspend operation\n });\n } else {\n // Setup the current ctx so when the group is popped we draw it at the\n // right location.\n currentCtx.setTransform(1, 0, 0, 1, 0, 0);\n currentCtx.translate(offsetX, offsetY);\n currentCtx.scale(scaleX, scaleY);\n }\n // The transparency group inherits all off the current graphics state\n // except the blend mode, soft mask, and alpha constants.\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([\n [\"BM\", \"source-over\"],\n [\"ca\", 1],\n [\"CA\", 1],\n ]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n\n // Reseting mask state, masks will be applied on restore of the group.\n this.current.activeSMask = null;\n },\n\n endGroup: function CanvasGraphics_endGroup(group) {\n this.groupLevel--;\n var groupCtx = this.ctx;\n this.ctx = this.groupStack.pop();\n // Turn off image smoothing to avoid sub pixel interpolation which can\n // look kind of blurry for some pdfs.\n if (this.ctx.imageSmoothingEnabled !== undefined) {\n this.ctx.imageSmoothingEnabled = false;\n } else {\n this.ctx.mozImageSmoothingEnabled = false;\n }\n if (group.smask) {\n this.tempSMask = this.smaskStack.pop();\n } else {\n this.ctx.drawImage(groupCtx.canvas, 0, 0);\n }\n this.restore();\n },\n\n beginAnnotations: function CanvasGraphics_beginAnnotations() {\n this.save();\n if (this.baseTransform) {\n this.ctx.setTransform.apply(this.ctx, this.baseTransform);\n }\n },\n\n endAnnotations: function CanvasGraphics_endAnnotations() {\n this.restore();\n },\n\n beginAnnotation: function CanvasGraphics_beginAnnotation(\n rect,\n transform,\n matrix\n ) {\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\n endAnnotation: function CanvasGraphics_endAnnotation() {\n this.restore();\n },\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\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({ data: img.data, width, height });\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(\n \"maskCanvas\",\n width,\n height\n );\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n\n putBinaryImageMask(maskCtx, img);\n\n maskCtx.globalCompositeOperation = \"source-in\";\n\n maskCtx.fillStyle = isPatternFill\n ? fillColor.getPattern(maskCtx, this)\n : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n\n maskCtx.restore();\n\n this.paintInlineImageXObject(maskCanvas.canvas);\n },\n\n paintImageMaskXObjectRepeat: function CanvasGraphics_paintImageMaskXObjectRepeat(\n imgData,\n scaleX,\n scaleY,\n positions\n ) {\n var width = imgData.width;\n var height = imgData.height;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n\n var maskCanvas = this.cachedCanvases.getCanvas(\n \"maskCanvas\",\n width,\n height\n );\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n\n putBinaryImageMask(maskCtx, imgData);\n\n maskCtx.globalCompositeOperation = \"source-in\";\n\n maskCtx.fillStyle = isPatternFill\n ? fillColor.getPattern(maskCtx, this)\n : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n\n maskCtx.restore();\n\n var ctx = this.ctx;\n for (var i = 0, ii = positions.length; i < ii; i += 2) {\n ctx.save();\n ctx.transform(scaleX, 0, 0, scaleY, positions[i], positions[i + 1]);\n ctx.scale(1, -1);\n ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n },\n\n paintImageMaskXObjectGroup: function CanvasGraphics_paintImageMaskXObjectGroup(\n images\n ) {\n var ctx = this.ctx;\n\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n for (var i = 0, ii = images.length; i < ii; i++) {\n var image = images[i];\n var width = image.width,\n height = image.height;\n\n var maskCanvas = this.cachedCanvases.getCanvas(\n \"maskCanvas\",\n width,\n height\n );\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n\n putBinaryImageMask(maskCtx, image);\n\n maskCtx.globalCompositeOperation = \"source-in\";\n\n maskCtx.fillStyle = isPatternFill\n ? fillColor.getPattern(maskCtx, this)\n : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n\n maskCtx.restore();\n\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\n paintImageXObject: function CanvasGraphics_paintImageXObject(objId) {\n const imgData = objId.startsWith(\"g_\")\n ? this.commonObjs.get(objId)\n : this.objs.get(objId);\n if (!imgData) {\n warn(\"Dependent image isn't ready yet\");\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n },\n\n paintImageXObjectRepeat: function CanvasGraphics_paintImageXObjectRepeat(\n objId,\n scaleX,\n scaleY,\n positions\n ) {\n const imgData = objId.startsWith(\"g_\")\n ? this.commonObjs.get(objId)\n : this.objs.get(objId);\n if (!imgData) {\n 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 for (var i = 0, ii = positions.length; i < ii; i += 2) {\n map.push({\n transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],\n x: 0,\n y: 0,\n w: width,\n h: height,\n });\n }\n this.paintInlineImageXObjectGroup(imgData, map);\n },\n\n paintInlineImageXObject: function CanvasGraphics_paintInlineImageXObject(\n imgData\n ) {\n var width = imgData.width;\n var height = imgData.height;\n var ctx = this.ctx;\n\n this.save();\n // scale the image to the unit square\n ctx.scale(1 / width, -1 / height);\n\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\n var imgToPaint, tmpCanvas;\n // typeof check is needed due to node.js support, see issue #8489\n if (\n (typeof HTMLElement === \"function\" && imgData instanceof HTMLElement) ||\n !imgData.data\n ) {\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 // Vertical or horizontal scaling shall not be more than 2 to not lose the\n // pixels during drawImage operation, painting on the temporary canvas(es)\n // that are twice smaller in size.\n while (\n (widthScale > 2 && paintWidth > 1) ||\n (heightScale > 2 && paintHeight > 1)\n ) {\n var newWidth = paintWidth,\n newHeight = paintHeight;\n if (widthScale > 2 && paintWidth > 1) {\n newWidth = Math.ceil(paintWidth / 2);\n widthScale /= paintWidth / newWidth;\n }\n if (heightScale > 2 && paintHeight > 1) {\n newHeight = Math.ceil(paintHeight / 2);\n heightScale /= paintHeight / newHeight;\n }\n tmpCanvas = this.cachedCanvases.getCanvas(\n tmpCanvasId,\n newWidth,\n newHeight\n );\n tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, newWidth, newHeight);\n tmpCtx.drawImage(\n imgToPaint,\n 0,\n 0,\n paintWidth,\n paintHeight,\n 0,\n 0,\n newWidth,\n newHeight\n );\n imgToPaint = tmpCanvas.canvas;\n paintWidth = newWidth;\n paintHeight = newHeight;\n tmpCanvasId = tmpCanvasId === \"prescale1\" ? \"prescale2\" : \"prescale1\";\n }\n ctx.drawImage(\n imgToPaint,\n 0,\n 0,\n paintWidth,\n paintHeight,\n 0,\n -height,\n width,\n height\n );\n\n if (this.imageLayer) {\n var position = this.getCanvasPosition(0, -height);\n this.imageLayer.appendImage({\n imgData,\n left: position[0],\n top: position[1],\n width: width / currentTransform[0],\n height: height / currentTransform[3],\n });\n }\n this.restore();\n },\n\n paintInlineImageXObjectGroup: function CanvasGraphics_paintInlineImageXObjectGroup(\n imgData,\n map\n ) {\n var ctx = this.ctx;\n var w = imgData.width;\n var h = imgData.height;\n\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(\n tmpCanvas.canvas,\n entry.x,\n entry.y,\n entry.w,\n entry.h,\n 0,\n -1,\n 1,\n 1\n );\n if (this.imageLayer) {\n var position = this.getCanvasPosition(entry.x, entry.y);\n this.imageLayer.appendImage({\n imgData,\n left: position[0],\n top: position[1],\n width: w,\n height: h,\n });\n }\n ctx.restore();\n }\n },\n\n paintSolidColorImageMask: function CanvasGraphics_paintSolidColorImageMask() {\n this.ctx.fillRect(0, 0, 1, 1);\n },\n\n paintXObject: function CanvasGraphics_paintXObject() {\n warn(\"Unsupported 'paintXObject' command.\");\n },\n\n // Marked content\n\n markPoint: function CanvasGraphics_markPoint(tag) {\n // TODO Marked content.\n },\n markPointProps: function CanvasGraphics_markPointProps(tag, properties) {\n // TODO Marked content.\n },\n beginMarkedContent: function CanvasGraphics_beginMarkedContent(tag) {\n // TODO Marked content.\n },\n beginMarkedContentProps: function CanvasGraphics_beginMarkedContentProps(\n tag,\n properties\n ) {\n // TODO Marked content.\n },\n endMarkedContent: function CanvasGraphics_endMarkedContent() {\n // TODO Marked content.\n },\n\n // Compatibility\n\n beginCompat: function CanvasGraphics_beginCompat() {\n // TODO ignore undefined operators (should we do that anyway?)\n },\n endCompat: function CanvasGraphics_endCompat() {\n // TODO stop ignoring undefined operators\n },\n\n // Helper functions\n\n consumePath: function CanvasGraphics_consumePath() {\n var ctx = this.ctx;\n if (this.pendingClip) {\n if (this.pendingClip === EO_CLIP) {\n ctx.clip(\"evenodd\");\n } else {\n ctx.clip();\n }\n this.pendingClip = null;\n }\n ctx.beginPath();\n },\n getSinglePixelWidth(scale) {\n if (this._cachedGetSinglePixelWidth === null) {\n const inverse = this.ctx.mozCurrentTransformInverse;\n // max of the current horizontal and vertical scale\n this._cachedGetSinglePixelWidth = Math.sqrt(\n Math.max(\n inverse[0] * inverse[0] + inverse[1] * inverse[1],\n inverse[2] * inverse[2] + inverse[3] * inverse[3]\n )\n );\n }\n return this._cachedGetSinglePixelWidth;\n },\n getCanvasPosition: function CanvasGraphics_getCanvasPosition(x, y) {\n var transform = this.ctx.mozCurrentTransform;\n return [\n transform[0] * x + transform[2] * y + transform[4],\n transform[1] * x + transform[3] * y + transform[5],\n ];\n },\n };\n\n for (var op in OPS) {\n CanvasGraphics.prototype[OPS[op]] = CanvasGraphics.prototype[op];\n }\n\n return CanvasGraphics;\n})();\n\nexport { CanvasGraphics };\n","/* Copyright 2014 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\nimport { FormatError, info, Util } from \"../shared/util.js\";\n\nvar ShadingIRs = {};\n\nfunction applyBoundingBox(ctx, bbox) {\n if (!bbox || typeof Path2D === \"undefined\") {\n return;\n }\n const width = bbox[2] - bbox[0];\n const height = bbox[3] - bbox[1];\n const 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 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 return grad;\n },\n };\n },\n};\n\nvar createMeshCanvas = (function createMeshCanvasClosure() {\n function drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {\n // Very basic Gouraud-shaded triangle rasterization algorithm.\n var coords = context.coords,\n colors = context.colors;\n var bytes = data.data,\n rowSize = data.width * 4;\n var tmp;\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n if (coords[p2 + 1] > coords[p3 + 1]) {\n tmp = p2;\n p2 = p3;\n p3 = tmp;\n tmp = c2;\n c2 = c3;\n c3 = tmp;\n }\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n var x1 = (coords[p1] + context.offsetX) * context.scaleX;\n var y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;\n var x2 = (coords[p2] + context.offsetX) * context.scaleX;\n var y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;\n var x3 = (coords[p3] + context.offsetX) * context.scaleX;\n var y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;\n if (y1 >= y3) {\n return;\n }\n var c1r = colors[c1],\n c1g = colors[c1 + 1],\n c1b = colors[c1 + 2];\n var c2r = colors[c2],\n c2g = colors[c2 + 1],\n c2b = colors[c2 + 2];\n var c3r = colors[c3],\n c3g = colors[c3 + 1],\n c3b = colors[c3 + 2];\n\n var minY = Math.round(y1),\n maxY = Math.round(y3);\n var xa, car, cag, cab;\n var xb, cbr, cbg, cbb;\n for (var y = minY; y <= maxY; y++) {\n if (y < y2) {\n let k;\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 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 let k;\n if (y > y3) {\n k = 1;\n } else if (y2 === y3) {\n k = 0;\n } else {\n k = (y2 - y) / (y2 - y3);\n }\n xa = x2 - (x2 - x3) * k;\n car = c2r - (c2r - c3r) * k;\n cag = c2g - (c2g - c3g) * k;\n cab = c2b - (c2b - c3b) * k;\n }\n\n let k;\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 xb = x1 - (x1 - x3) * k;\n cbr = c1r - (c1r - c3r) * k;\n cbg = c1g - (c1g - c3g) * k;\n cbb = c1b - (c1b - c3b) * k;\n var x1_ = Math.round(Math.min(xa, xb));\n var x2_ = Math.round(Math.max(xa, xb));\n var j = rowSize * y + x1_ * 4;\n for (var x = x1_; x <= x2_; x++) {\n k = (xa - x) / (xa - xb);\n if (k < 0) {\n k = 0;\n } else if (k > 1) {\n k = 1;\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 switch (figure.type) {\n case \"lattice\":\n var verticesPerRow = figure.verticesPerRow;\n var rows = Math.floor(ps.length / verticesPerRow) - 1;\n var cols = verticesPerRow - 1;\n for (i = 0; i < rows; i++) {\n var q = i * verticesPerRow;\n for (var j = 0; j < cols; j++, q++) {\n drawTriangle(\n data,\n context,\n ps[q],\n ps[q + 1],\n ps[q + verticesPerRow],\n cs[q],\n cs[q + 1],\n cs[q + verticesPerRow]\n );\n drawTriangle(\n data,\n context,\n ps[q + verticesPerRow + 1],\n ps[q + 1],\n ps[q + verticesPerRow],\n cs[q + verticesPerRow + 1],\n cs[q + 1],\n cs[q + verticesPerRow]\n );\n }\n }\n break;\n case \"triangles\":\n for (i = 0, ii = ps.length; i < ii; i += 3) {\n drawTriangle(\n data,\n context,\n ps[i],\n ps[i + 1],\n ps[i + 2],\n cs[i],\n cs[i + 1],\n cs[i + 2]\n );\n }\n break;\n default:\n throw new Error(\"illegal figure\");\n }\n }\n\n // eslint-disable-next-line no-shadow\n function createMeshCanvas(\n bounds,\n combinesScale,\n coords,\n colors,\n figures,\n backgroundColor,\n cachedCanvases,\n webGLContext\n ) {\n // we will increase scale on some weird factor to let antialiasing take\n // care of \"rough\" edges\n var EXPECTED_SCALE = 1.1;\n // MAX_PATTERN_SIZE is used to avoid OOM situation.\n var MAX_PATTERN_SIZE = 3000; // 10in @ 300dpi shall be enough\n // We need to keep transparent border around our pattern for fill():\n // createPattern with 'no-repeat' will bleed edges across entire area.\n var BORDER_SIZE = 2;\n\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\n var width = Math.min(\n Math.ceil(Math.abs(boundsWidth * combinesScale[0] * EXPECTED_SCALE)),\n MAX_PATTERN_SIZE\n );\n var height = Math.min(\n Math.ceil(Math.abs(boundsHeight * combinesScale[1] * EXPECTED_SCALE)),\n MAX_PATTERN_SIZE\n );\n var scaleX = boundsWidth / width;\n var scaleY = boundsHeight / height;\n\n var context = {\n coords,\n colors,\n offsetX: -offsetX,\n offsetY: -offsetY,\n scaleX: 1 / scaleX,\n scaleY: 1 / scaleY,\n };\n\n var paddedWidth = width + BORDER_SIZE * 2;\n var paddedHeight = height + BORDER_SIZE * 2;\n\n var canvas, tmpCanvas, i, ii;\n if (webGLContext.isEnabled) {\n canvas = webGLContext.drawFigures({\n width,\n height,\n backgroundColor,\n figures,\n context,\n });\n // https://bugzilla.mozilla.org/show_bug.cgi?id=972126\n tmpCanvas = cachedCanvases.getCanvas(\n \"mesh\",\n paddedWidth,\n paddedHeight,\n false\n );\n tmpCanvas.context.drawImage(canvas, BORDER_SIZE, BORDER_SIZE);\n canvas = tmpCanvas.canvas;\n } else {\n tmpCanvas = cachedCanvases.getCanvas(\n \"mesh\",\n paddedWidth,\n paddedHeight,\n false\n );\n var tmpCtx = tmpCanvas.context;\n\n var data = tmpCtx.createImageData(width, height);\n if (backgroundColor) {\n var bytes = data.data;\n for (i = 0, ii = bytes.length; i < ii; i += 4) {\n bytes[i] = backgroundColor[0];\n bytes[i + 1] = backgroundColor[1];\n bytes[i + 2] = backgroundColor[2];\n bytes[i + 3] = 255;\n }\n }\n for (i = 0; i < figures.length; i++) {\n drawFigure(data, figures[i], context);\n }\n tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);\n canvas = tmpCanvas.canvas;\n }\n\n return {\n canvas,\n offsetX: offsetX - BORDER_SIZE * scaleX,\n offsetY: offsetY - BORDER_SIZE * scaleY,\n scaleX,\n scaleY,\n };\n }\n return createMeshCanvas;\n})();\n\nShadingIRs.Mesh = {\n fromIR: function Mesh_fromIR(raw) {\n // var type = raw[1];\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 if (shadingFill) {\n scale = Util.singularValueDecompose2dScale(ctx.mozCurrentTransform);\n } else {\n // Obtain scale from matrix and current transformation matrix.\n scale = Util.singularValueDecompose2dScale(owner.baseTransform);\n if (matrix) {\n var matrixScale = Util.singularValueDecompose2dScale(matrix);\n scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];\n }\n }\n\n // Rasterizing on the main thread since sending/queue large canvases\n // might cause OOM.\n var temporaryPatternCanvas = createMeshCanvas(\n bounds,\n scale,\n coords,\n colors,\n figures,\n shadingFill ? null : background,\n owner.cachedCanvases,\n owner.webGLContext\n );\n\n if (!shadingFill) {\n ctx.setTransform.apply(ctx, owner.baseTransform);\n if (matrix) {\n ctx.transform.apply(ctx, matrix);\n }\n }\n\n ctx.translate(\n temporaryPatternCanvas.offsetX,\n temporaryPatternCanvas.offsetY\n );\n ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);\n\n return ctx.createPattern(temporaryPatternCanvas.canvas, \"no-repeat\");\n },\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 if (!shadingIR) {\n throw new Error(`Unknown IR type: ${raw[0]}`);\n }\n return shadingIR.fromIR(raw);\n}\n\nvar TilingPattern = (function TilingPatternClosure() {\n var PaintType = {\n COLORED: 1,\n UNCOLORED: 2,\n };\n\n var MAX_PATTERN_SIZE = 3000; // 10in @ 300dpi shall be enough\n\n // eslint-disable-next-line no-shadow\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\n info(\"TilingType: \" + tilingType);\n\n // A tiling pattern as defined by PDF spec 8.7.2 is a cell whose size is\n // described by bbox, and may repeat regularly by shifting the cell by\n // xstep and ystep.\n // Because the HTML5 canvas API does not support pattern repetition with\n // gaps in between, we use the xstep/ystep instead of the bbox's size.\n //\n // This has the following consequences (similarly for ystep):\n //\n // - If xstep is the same as bbox, then there is no observable difference.\n //\n // - If xstep is larger than bbox, then the pattern canvas is partially\n // empty: the area bounded by bbox is painted, the outside area is void.\n //\n // - If xstep is smaller than bbox, then the pixels between xstep and the\n // bbox boundary will be missing. This is INCORRECT behavior.\n // \"Figures on adjacent tiles should not overlap\" (PDF spec 8.7.3.1),\n // but overlapping cells without common pixels are still valid.\n // TODO: Fix the implementation, to allow this scenario to be painted\n // correctly.\n\n var x0 = bbox[0],\n y0 = bbox[1],\n x1 = bbox[2],\n y1 = bbox[3];\n\n // Obtain scale from matrix and current transformation matrix.\n var matrixScale = Util.singularValueDecompose2dScale(this.matrix);\n var curMatrixScale = Util.singularValueDecompose2dScale(\n this.baseTransform\n );\n var combinedScale = [\n matrixScale[0] * curMatrixScale[0],\n matrixScale[1] * curMatrixScale[1],\n ];\n\n // Use width and height values that are as close as possible to the end\n // result when the pattern is used. Too low value makes the pattern look\n // blurry. Too large value makes it look too crispy.\n var dimx = this.getSizeAndScale(\n xstep,\n this.ctx.canvas.width,\n combinedScale[0]\n );\n var dimy = this.getSizeAndScale(\n ystep,\n this.ctx.canvas.height,\n combinedScale[1]\n );\n\n var tmpCanvas = owner.cachedCanvases.getCanvas(\n \"pattern\",\n dimx.size,\n dimy.size,\n true\n );\n var tmpCtx = tmpCanvas.context;\n var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);\n graphics.groupLevel = owner.groupLevel;\n\n this.setFillAndStrokeStyleToContext(graphics, paintType, color);\n\n graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0);\n\n // transform coordinates to pattern space\n graphics.transform(1, 0, 0, 1, -x0, -y0);\n\n this.clipBbox(graphics, bbox, x0, y0, x1, y1);\n\n graphics.executeOperatorList(operatorList);\n\n this.ctx.transform(1, 0, 0, 1, x0, y0);\n\n // Rescale canvas so that the ctx.createPattern call generates a pattern\n // with the desired size.\n this.ctx.scale(1 / dimx.scale, 1 / dimy.scale);\n return tmpCanvas.canvas;\n },\n\n getSizeAndScale: function TilingPattern_getSizeAndScale(\n step,\n realOutputSize,\n scale\n ) {\n // xstep / ystep may be negative -- normalize.\n step = Math.abs(step);\n // MAX_PATTERN_SIZE is used to avoid OOM situation.\n // Use the destination canvas's size if it is bigger than the hard-coded\n // limit of MAX_PATTERN_SIZE to avoid clipping patterns that cover the\n // whole canvas.\n var maxSize = Math.max(MAX_PATTERN_SIZE, realOutputSize);\n var size = Math.ceil(step * scale);\n if (size >= maxSize) {\n size = maxSize;\n } else {\n scale = size / step;\n }\n return { scale, 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\n setFillAndStrokeStyleToContext: function setFillAndStrokeStyleToContext(\n graphics,\n paintType,\n color\n ) {\n const context = graphics.ctx,\n current = graphics.current;\n switch (paintType) {\n case PaintType.COLORED:\n var ctx = this.ctx;\n context.fillStyle = ctx.fillStyle;\n context.strokeStyle = ctx.strokeStyle;\n current.fillColor = ctx.fillStyle;\n current.strokeColor = ctx.strokeStyle;\n break;\n case PaintType.UNCOLORED:\n var cssColor = Util.makeCssRgb(color[0], color[1], color[2]);\n context.fillStyle = cssColor;\n context.strokeStyle = cssColor;\n // Set color needed by image masks (fixes issues 3226 and 8741).\n current.fillColor = cssColor;\n current.strokeColor = cssColor;\n break;\n default:\n throw new FormatError(`Unsupported paint type: ${paintType}`);\n }\n },\n\n getPattern: function TilingPattern_getPattern(ctx, owner) {\n ctx = this.ctx;\n // PDF spec 8.7.2 NOTE 1: pattern's matrix is relative to initial matrix.\n ctx.setTransform.apply(ctx, this.baseTransform);\n ctx.transform.apply(ctx, this.matrix);\n\n var temporaryPatternCanvas = this.createPatternCanvas(owner);\n\n return ctx.createPattern(temporaryPatternCanvas, \"repeat\");\n },\n };\n\n return TilingPattern;\n})();\n\nexport { getShadingPatternFromIR, TilingPattern };\n","/* Copyright 2018 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst GlobalWorkerOptions = Object.create(null);\n\n/**\n * Defines global port for worker process. Overrides the `workerSrc` option.\n * @var {Object}\n */\nGlobalWorkerOptions.workerPort =\n GlobalWorkerOptions.workerPort === undefined\n ? null\n : GlobalWorkerOptions.workerPort;\n\n/**\n * A string containing the path and filename of the worker file.\n *\n * NOTE: The `workerSrc` option should always be set, in order to prevent any\n * issues when using the PDF.js library.\n * @var {string}\n */\nGlobalWorkerOptions.workerSrc =\n GlobalWorkerOptions.workerSrc === undefined\n ? \"\"\n : GlobalWorkerOptions.workerSrc;\n\nexport { GlobalWorkerOptions };\n","/* Copyright 2018 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* eslint no-var: error, prefer-const: error */\n\nimport {\n AbortException,\n assert,\n createPromiseCapability,\n MissingPDFException,\n UnexpectedResponseException,\n UnknownErrorException,\n} from \"./util.js\";\n\nconst CallbackKind = {\n UNKNOWN: 0,\n DATA: 1,\n ERROR: 2,\n};\n\nconst 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 (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!PRODUCTION || TESTING\")\n ) {\n assert(\n reason instanceof Error ||\n (typeof reason === \"object\" && reason !== null),\n 'wrapReason: Expected \"reason\" to be a (possibly cloned) Error.'\n );\n } else {\n if (typeof reason !== \"object\" || reason === null) {\n return reason;\n }\n }\n switch (reason.name) {\n case \"AbortException\":\n return new AbortException(reason.message);\n case \"MissingPDFException\":\n return new MissingPDFException(reason.message);\n case \"UnexpectedResponseException\":\n return new UnexpectedResponseException(reason.message, reason.status);\n case \"UnknownErrorException\":\n return new UnknownErrorException(reason.message, reason.details);\n default:\n return new UnknownErrorException(reason.message, reason.toString());\n }\n}\n\nclass MessageHandler {\n constructor(sourceName, targetName, comObj) {\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 = event => {\n const data = event.data;\n if (data.targetName !== this.sourceName) {\n return;\n }\n if (data.stream) {\n this._processStreamMessage(data);\n return;\n }\n if (data.callback) {\n const callbackId = data.callbackId;\n const capability = this.callbackCapabilities[callbackId];\n if (!capability) {\n throw new Error(`Cannot resolve callback ${callbackId}`);\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 return;\n }\n const action = this.actionHandler[data.action];\n if (!action) {\n throw new Error(`Unknown action from worker: ${data.action}`);\n }\n if (data.callbackId) {\n const cbSourceName = this.sourceName;\n const cbTargetName = data.sourceName;\n new Promise(function (resolve) {\n resolve(action(data.data));\n }).then(\n function (result) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.DATA,\n callbackId: data.callbackId,\n data: result,\n });\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 );\n return;\n }\n if (data.streamId) {\n this._createStreamSink(data);\n return;\n }\n action(data.data);\n };\n comObj.addEventListener(\"message\", this._onComObjOnMessage);\n }\n\n on(actionName, handler) {\n if (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!PRODUCTION || TESTING\")\n ) {\n assert(\n typeof handler === \"function\",\n 'MessageHandler.on: Expected \"handler\" to be a function.'\n );\n }\n const ah = this.actionHandler;\n if (ah[actionName]) {\n throw new Error(`There is already an actionName called \"${actionName}\"`);\n }\n ah[actionName] = handler;\n }\n\n /**\n * Sends a message to the comObj to invoke the action with the supplied data.\n * @param {string} actionName - Action to call.\n * @param {JSON} data - JSON data to send.\n * @param {Array} [transfers] - List of transfers/ArrayBuffers.\n */\n send(actionName, data, transfers) {\n this._postMessage(\n {\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data,\n },\n transfers\n );\n }\n\n /**\n * Sends a message to the comObj to invoke the action with the supplied data.\n * Expects that the other side will callback with the response.\n * @param {string} actionName - Action to call.\n * @param {JSON} data - JSON data to send.\n * @param {Array} [transfers] - List of transfers/ArrayBuffers.\n * @returns {Promise} Promise to be resolved with response data.\n */\n sendWithPromise(actionName, data, transfers) {\n const callbackId = this.callbackId++;\n const capability = createPromiseCapability();\n this.callbackCapabilities[callbackId] = capability;\n try {\n this._postMessage(\n {\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n callbackId,\n data,\n },\n transfers\n );\n } catch (ex) {\n capability.reject(ex);\n }\n return capability.promise;\n }\n\n /**\n * Sends a message to the comObj to invoke the action with the supplied data.\n * Expect that the other side will callback to signal 'start_complete'.\n * @param {string} actionName - Action to call.\n * @param {JSON} data - JSON data to send.\n * @param {Object} queueingStrategy - Strategy to signal backpressure based on\n * internal queue.\n * @param {Array} [transfers] - List of transfers/ArrayBuffers.\n * @returns {ReadableStream} ReadableStream to read data in chunks.\n */\n sendWithStream(actionName, data, queueingStrategy, transfers) {\n const streamId = this.streamId++;\n const sourceName = this.sourceName;\n const targetName = this.targetName;\n const comObj = this.comObj;\n\n return new ReadableStream(\n {\n start: controller => {\n const startCapability = createPromiseCapability();\n this.streamControllers[streamId] = {\n controller,\n startCall: startCapability,\n pullCall: null,\n cancelCall: null,\n isClosed: false,\n };\n this._postMessage(\n {\n sourceName,\n targetName,\n action: actionName,\n streamId,\n data,\n desiredSize: controller.desiredSize,\n },\n transfers\n );\n // Return Promise for Async process, to signal success/failure.\n return startCapability.promise;\n },\n\n pull: controller => {\n const pullCapability = createPromiseCapability();\n this.streamControllers[streamId].pullCall = pullCapability;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL,\n streamId,\n desiredSize: controller.desiredSize,\n });\n // Returning Promise will not call \"pull\"\n // again until current pull is resolved.\n return pullCapability.promise;\n },\n\n cancel: reason => {\n assert(reason instanceof Error, \"cancel must have a valid reason\");\n const cancelCapability = createPromiseCapability();\n this.streamControllers[streamId].cancelCall = cancelCapability;\n this.streamControllers[streamId].isClosed = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL,\n streamId,\n reason: wrapReason(reason),\n });\n // Return Promise to signal success or failure.\n return cancelCapability.promise;\n },\n },\n queueingStrategy\n );\n }\n\n /**\n * @private\n */\n _createStreamSink(data) {\n const self = this;\n const action = this.actionHandler[data.action];\n const streamId = data.streamId;\n const sourceName = this.sourceName;\n const targetName = data.sourceName;\n const comObj = this.comObj;\n\n const streamSink = {\n enqueue(chunk, size = 1, transfers) {\n if (this.isCancelled) {\n return;\n }\n const lastDesiredSize = this.desiredSize;\n this.desiredSize -= size;\n // Enqueue decreases the desiredSize property of sink,\n // so when it changes from positive to negative,\n // set ready as unresolved promise.\n if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n this.sinkCapability = createPromiseCapability();\n this.ready = this.sinkCapability.promise;\n }\n self._postMessage(\n {\n sourceName,\n targetName,\n stream: StreamKind.ENQUEUE,\n streamId,\n chunk,\n },\n transfers\n );\n },\n\n close() {\n if (this.isCancelled) {\n return;\n }\n this.isCancelled = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CLOSE,\n streamId,\n });\n delete self.streamSinks[streamId];\n },\n\n error(reason) {\n assert(reason instanceof Error, \"error must have a valid reason\");\n if (this.isCancelled) {\n return;\n }\n this.isCancelled = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.ERROR,\n streamId,\n reason: wrapReason(reason),\n });\n },\n\n sinkCapability: createPromiseCapability(),\n onPull: null,\n onCancel: null,\n isCancelled: false,\n desiredSize: data.desiredSize,\n ready: null,\n };\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(\n function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.START_COMPLETE,\n streamId,\n success: true,\n });\n },\n function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.START_COMPLETE,\n streamId,\n reason: wrapReason(reason),\n });\n }\n );\n }\n\n /**\n * @private\n */\n _processStreamMessage(data) {\n const streamId = data.streamId;\n const sourceName = this.sourceName;\n const targetName = data.sourceName;\n const 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(\n wrapReason(data.reason)\n );\n }\n break;\n case StreamKind.PULL_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].pullCall.resolve();\n } else {\n this.streamControllers[streamId].pullCall.reject(\n wrapReason(data.reason)\n );\n }\n break;\n case StreamKind.PULL:\n // Ignore any pull after close is called.\n if (!this.streamSinks[streamId]) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n success: true,\n });\n break;\n }\n // Pull increases the desiredSize property of sink,\n // so when it changes from negative to positive,\n // set ready property as resolved promise.\n if (\n this.streamSinks[streamId].desiredSize <= 0 &&\n data.desiredSize > 0\n ) {\n this.streamSinks[streamId].sinkCapability.resolve();\n }\n // Reset desiredSize property of sink on every pull.\n this.streamSinks[streamId].desiredSize = data.desiredSize;\n const { onPull } = this.streamSinks[data.streamId];\n new Promise(function (resolve) {\n resolve(onPull && onPull());\n }).then(\n function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n success: true,\n });\n },\n function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n reason: wrapReason(reason),\n });\n }\n );\n break;\n case StreamKind.ENQUEUE:\n assert(\n this.streamControllers[streamId],\n \"enqueue should have stream controller\"\n );\n if (this.streamControllers[streamId].isClosed) {\n break;\n }\n this.streamControllers[streamId].controller.enqueue(data.chunk);\n break;\n case StreamKind.CLOSE:\n assert(\n this.streamControllers[streamId],\n \"close should have stream controller\"\n );\n if (this.streamControllers[streamId].isClosed) {\n break;\n }\n this.streamControllers[streamId].isClosed = true;\n this.streamControllers[streamId].controller.close();\n this._deleteStreamController(streamId);\n break;\n case StreamKind.ERROR:\n assert(\n this.streamControllers[streamId],\n \"error should have stream controller\"\n );\n this.streamControllers[streamId].controller.error(\n wrapReason(data.reason)\n );\n this._deleteStreamController(streamId);\n break;\n case StreamKind.CANCEL_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].cancelCall.resolve();\n } else {\n this.streamControllers[streamId].cancelCall.reject(\n wrapReason(data.reason)\n );\n }\n this._deleteStreamController(streamId);\n break;\n case StreamKind.CANCEL:\n if (!this.streamSinks[streamId]) {\n break;\n }\n const { onCancel } = this.streamSinks[data.streamId];\n new Promise(function (resolve) {\n resolve(onCancel && onCancel(wrapReason(data.reason)));\n }).then(\n function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId,\n success: true,\n });\n },\n function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId,\n reason: wrapReason(reason),\n });\n }\n );\n this.streamSinks[streamId].sinkCapability.reject(\n wrapReason(data.reason)\n );\n this.streamSinks[streamId].isCancelled = true;\n delete this.streamSinks[streamId];\n break;\n default:\n throw new Error(\"Unexpected stream case\");\n }\n }\n\n /**\n * @private\n */\n async _deleteStreamController(streamId) {\n // Delete the `streamController` only when the start, pull, and cancel\n // capabilities have settled, to prevent `TypeError`s.\n await Promise.allSettled(\n [\n this.streamControllers[streamId].startCall,\n this.streamControllers[streamId].pullCall,\n this.streamControllers[streamId].cancelCall,\n ].map(function (capability) {\n return capability && capability.promise;\n })\n );\n delete this.streamControllers[streamId];\n }\n\n /**\n * Sends raw message to the comObj.\n * @param {Object} message - Raw message.\n * @param transfers List of transfers/ArrayBuffers, or undefined.\n * @private\n */\n _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 destroy() {\n this.comObj.removeEventListener(\"message\", this._onComObjOnMessage);\n }\n}\n\nexport { MessageHandler };\n","/* Copyright 2012 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\nimport { assert } from \"../shared/util.js\";\nimport { SimpleXMLParser } from \"./xml_parser.js\";\n\nclass Metadata {\n constructor(data) {\n assert(typeof data === \"string\", \"Metadata: input is not a string\");\n\n // Ghostscript may produce invalid metadata, so try to repair that first.\n data = this._repair(data);\n\n // Convert the string to an XML document.\n const parser = new SimpleXMLParser();\n const xmlDocument = parser.parseFromString(data);\n\n this._metadataMap = new Map();\n\n if (xmlDocument) {\n this._parse(xmlDocument);\n }\n }\n\n _repair(data) {\n // Start by removing any \"junk\" before the first tag (see issue 10395).\n return data\n .replace(/^[^<]+/, \"\")\n .replace(/>\\\\376\\\\377([^<]+)/g, function (all, codes) {\n const bytes = codes\n .replace(/\\\\([0-3])([0-7])([0-7])/g, function (code, d1, d2, d3) {\n return String.fromCharCode(d1 * 64 + d2 * 8 + d3 * 1);\n })\n .replace(/&(amp|apos|gt|lt|quot);/g, function (str, name) {\n switch (name) {\n case \"amp\":\n return \"&\";\n case \"apos\":\n return \"'\";\n case \"gt\":\n return \">\";\n case \"lt\":\n return \"<\";\n case \"quot\":\n return '\"';\n }\n throw new Error(`_repair: ${name} isn't defined.`);\n });\n\n let chars = \"\";\n for (let i = 0, ii = bytes.length; i < ii; i += 2) {\n const code = bytes.charCodeAt(i) * 256 + bytes.charCodeAt(i + 1);\n if (\n code >= /* Space = */ 32 &&\n code < /* Delete = */ 127 &&\n code !== /* '<' = */ 60 &&\n code !== /* '>' = */ 62 &&\n code !== /* '&' = */ 38\n ) {\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 _parse(xmlDocument) {\n let rdf = xmlDocument.documentElement;\n\n if (rdf.nodeName.toLowerCase() !== \"rdf:rdf\") {\n // Wrapped in <xmpmeta>\n rdf = rdf.firstChild;\n while (rdf && rdf.nodeName.toLowerCase() !== \"rdf:rdf\") {\n rdf = rdf.nextSibling;\n }\n }\n\n const nodeName = rdf ? rdf.nodeName.toLowerCase() : null;\n if (!rdf || nodeName !== \"rdf:rdf\" || !rdf.hasChildNodes()) {\n return;\n }\n\n const children = rdf.childNodes;\n for (let i = 0, ii = children.length; i < ii; i++) {\n const desc = children[i];\n if (desc.nodeName.toLowerCase() !== \"rdf:description\") {\n continue;\n }\n\n for (let j = 0, jj = desc.childNodes.length; j < jj; j++) {\n if (desc.childNodes[j].nodeName.toLowerCase() !== \"#text\") {\n const entry = desc.childNodes[j];\n const name = entry.nodeName.toLowerCase();\n\n this._metadataMap.set(name, entry.textContent.trim());\n }\n }\n }\n }\n\n get(name) {\n return this._metadataMap.has(name) ? this._metadataMap.get(name) : null;\n }\n\n getAll() {\n const obj = Object.create(null);\n for (const [key, value] of this._metadataMap) {\n obj[key] = value;\n }\n return obj;\n }\n\n has(name) {\n return this._metadataMap.has(name);\n }\n}\n\nexport { Metadata };\n","/* Copyright 2018 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// The code for XMLParserBase copied from\n// https://github.com/mozilla/shumway/blob/16451d8836fa85f4b16eeda8b4bda2fa9e2b22b0/src/avm2/natives/xml.ts\n\nconst 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 const ch = s[index];\n return ch === \" \" || ch === \"\\n\" || ch === \"\\r\" || ch === \"\\t\";\n}\n\nfunction isWhitespaceString(s) {\n for (let i = 0, ii = s.length; i < ii; i++) {\n if (!isWhitespace(s, i)) {\n return false;\n }\n }\n return true;\n}\n\nclass XMLParserBase {\n _resolveEntities(s) {\n return s.replace(/&([^;]+);/g, (all, entity) => {\n if (entity.substring(0, 2) === \"#x\") {\n return String.fromCharCode(parseInt(entity.substring(2), 16));\n } else if (entity.substring(0, 1) === \"#\") {\n return String.fromCharCode(parseInt(entity.substring(1), 10));\n }\n switch (entity) {\n case \"lt\":\n return \"<\";\n case \"gt\":\n return \">\";\n case \"amp\":\n return \"&\";\n case \"quot\":\n return '\"';\n }\n return this.onResolveEntity(entity);\n });\n }\n\n _parseContent(s, start) {\n const attributes = [];\n let pos = start;\n\n function skipWs() {\n while (pos < s.length && isWhitespace(s, pos)) {\n ++pos;\n }\n }\n\n while (\n pos < s.length &&\n !isWhitespace(s, pos) &&\n s[pos] !== \">\" &&\n s[pos] !== \"/\"\n ) {\n ++pos;\n }\n const name = s.substring(start, pos);\n skipWs();\n while (\n pos < s.length &&\n s[pos] !== \">\" &&\n s[pos] !== \"/\" &&\n s[pos] !== \"?\"\n ) {\n skipWs();\n let attrName = \"\",\n attrValue = \"\";\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \"=\") {\n attrName += s[pos];\n ++pos;\n }\n skipWs();\n if (s[pos] !== \"=\") {\n return null;\n }\n ++pos;\n skipWs();\n const attrEndChar = s[pos];\n if (attrEndChar !== '\"' && attrEndChar !== \"'\") {\n return null;\n }\n const attrEndIndex = s.indexOf(attrEndChar, ++pos);\n if (attrEndIndex < 0) {\n return null;\n }\n attrValue = s.substring(pos, attrEndIndex);\n attributes.push({\n name: attrName,\n value: this._resolveEntities(attrValue),\n });\n pos = attrEndIndex + 1;\n skipWs();\n }\n return {\n name,\n attributes,\n parsed: pos - start,\n };\n }\n\n _parseProcessingInstruction(s, start) {\n let pos = start;\n\n function skipWs() {\n while (pos < s.length && isWhitespace(s, pos)) {\n ++pos;\n }\n }\n\n while (\n pos < s.length &&\n !isWhitespace(s, pos) &&\n s[pos] !== \">\" &&\n s[pos] !== \"/\"\n ) {\n ++pos;\n }\n const name = s.substring(start, pos);\n skipWs();\n const attrStart = pos;\n while (pos < s.length && (s[pos] !== \"?\" || s[pos + 1] !== \">\")) {\n ++pos;\n }\n const value = s.substring(attrStart, pos);\n return {\n name,\n value,\n parsed: pos - start,\n };\n }\n\n parseXml(s) {\n let i = 0;\n while (i < s.length) {\n const ch = s[i];\n let j = i;\n if (ch === \"<\") {\n ++j;\n const ch2 = s[j];\n let q;\n switch (ch2) {\n case \"/\":\n ++j;\n q = s.indexOf(\">\", j);\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedElement);\n return;\n }\n this.onEndElement(s.substring(j, q));\n j = q + 1;\n break;\n case \"?\":\n ++j;\n const pi = this._parseProcessingInstruction(s, j);\n if (s.substring(j + pi.parsed, j + pi.parsed + 2) !== \"?>\") {\n this.onError(XMLParserErrorCode.UnterminatedXmlDeclaration);\n return;\n }\n this.onPi(pi.name, pi.value);\n j += pi.parsed + 2;\n break;\n case \"!\":\n if (s.substring(j + 1, j + 3) === \"--\") {\n q = s.indexOf(\"-->\", j + 3);\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedComment);\n return;\n }\n this.onComment(s.substring(j + 3, q));\n j = q + 3;\n } else if (s.substring(j + 1, j + 8) === \"[CDATA[\") {\n q = s.indexOf(\"]]>\", j + 8);\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedCdat);\n return;\n }\n this.onCdata(s.substring(j + 8, q));\n j = q + 3;\n } else if (s.substring(j + 1, j + 8) === \"DOCTYPE\") {\n const q2 = s.indexOf(\"[\", j + 8);\n let complexDoctype = false;\n q = s.indexOf(\">\", j + 8);\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n return;\n }\n if (q2 > 0 && q > q2) {\n q = s.indexOf(\"]>\", j + 8);\n if (q < 0) {\n this.onError(\n XMLParserErrorCode.UnterminatedDoctypeDeclaration\n );\n return;\n }\n complexDoctype = true;\n }\n const doctypeContent = s.substring(\n j + 8,\n q + (complexDoctype ? 1 : 0)\n );\n this.onDoctype(doctypeContent);\n j = q + (complexDoctype ? 2 : 1);\n } else {\n this.onError(XMLParserErrorCode.MalformedElement);\n return;\n }\n break;\n default:\n const content = this._parseContent(s, j);\n if (content === null) {\n this.onError(XMLParserErrorCode.MalformedElement);\n return;\n }\n let isClosed = false;\n if (\n s.substring(j + content.parsed, j + content.parsed + 2) === \"/>\"\n ) {\n isClosed = true;\n } else if (\n s.substring(j + content.parsed, j + content.parsed + 1) !== \">\"\n ) {\n this.onError(XMLParserErrorCode.UnterminatedElement);\n return;\n }\n this.onBeginElement(content.name, content.attributes, isClosed);\n j += content.parsed + (isClosed ? 2 : 1);\n break;\n }\n } else {\n while (j < s.length && s[j] !== \"<\") {\n j++;\n }\n const text = s.substring(i, j);\n this.onText(this._resolveEntities(text));\n }\n i = j;\n }\n }\n\n onResolveEntity(name) {\n return `&${name};`;\n }\n\n onPi(name, value) {}\n\n onComment(text) {}\n\n onCdata(text) {}\n\n onDoctype(doctypeContent) {}\n\n onText(text) {}\n\n onBeginElement(name, attributes, isEmpty) {}\n\n onEndElement(name) {}\n\n onError(code) {}\n}\n\nclass SimpleDOMNode {\n constructor(nodeName, nodeValue) {\n this.nodeName = nodeName;\n this.nodeValue = nodeValue;\n\n Object.defineProperty(this, \"parentNode\", { value: null, writable: true });\n }\n\n get firstChild() {\n return this.childNodes && this.childNodes[0];\n }\n\n get nextSibling() {\n const childNodes = this.parentNode.childNodes;\n if (!childNodes) {\n return undefined;\n }\n const index = childNodes.indexOf(this);\n if (index === -1) {\n return undefined;\n }\n return childNodes[index + 1];\n }\n\n get textContent() {\n if (!this.childNodes) {\n return this.nodeValue || \"\";\n }\n return this.childNodes\n .map(function (child) {\n return child.textContent;\n })\n .join(\"\");\n }\n\n hasChildNodes() {\n return this.childNodes && this.childNodes.length > 0;\n }\n}\n\nclass SimpleXMLParser extends XMLParserBase {\n constructor() {\n super();\n this._currentFragment = null;\n this._stack = null;\n this._errorCode = XMLParserErrorCode.NoError;\n }\n\n parseFromString(data) {\n this._currentFragment = [];\n this._stack = [];\n this._errorCode = XMLParserErrorCode.NoError;\n\n this.parseXml(data);\n\n if (this._errorCode !== XMLParserErrorCode.NoError) {\n return undefined; // return undefined on error\n }\n\n // We should only have one root.\n const [documentElement] = this._currentFragment;\n if (!documentElement) {\n return undefined; // Return undefined if no root was found.\n }\n return { documentElement };\n }\n\n onResolveEntity(name) {\n switch (name) {\n case \"apos\":\n return \"'\";\n }\n return super.onResolveEntity(name);\n }\n\n onText(text) {\n if (isWhitespaceString(text)) {\n return;\n }\n const node = new SimpleDOMNode(\"#text\", text);\n this._currentFragment.push(node);\n }\n\n onCdata(text) {\n const node = new SimpleDOMNode(\"#text\", text);\n this._currentFragment.push(node);\n }\n\n onBeginElement(name, attributes, isEmpty) {\n const node = new SimpleDOMNode(name);\n node.childNodes = [];\n this._currentFragment.push(node);\n if (isEmpty) {\n return;\n }\n this._stack.push(this._currentFragment);\n this._currentFragment = node.childNodes;\n }\n\n onEndElement(name) {\n this._currentFragment = this._stack.pop() || [];\n const lastElement = this._currentFragment[this._currentFragment.length - 1];\n if (!lastElement) {\n return;\n }\n for (let i = 0, ii = lastElement.childNodes.length; i < ii; i++) {\n lastElement.childNodes[i].parentNode = lastElement;\n }\n }\n\n onError(code) {\n this._errorCode = code;\n }\n}\n\nexport { SimpleXMLParser };\n","/* Copyright 2012 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/* eslint no-var: error */\n\nimport { assert, createPromiseCapability } from \"../shared/util.js\";\n\n/** @implements {IPDFStream} */\nclass PDFDataTransportStream {\n constructor(params, pdfDataRangeTransport) {\n assert(\n pdfDataRangeTransport,\n 'PDFDataTransportStream - missing required \"pdfDataRangeTransport\" argument.'\n );\n\n this._queuedChunks = [];\n this._progressiveDone = params.progressiveDone || false;\n\n const initialData = params.initialData;\n if (initialData && initialData.length > 0) {\n const buffer = new Uint8Array(initialData).buffer;\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\n this._fullRequestReader = null;\n this._rangeReaders = [];\n\n this._pdfDataRangeTransport.addRangeListener((begin, chunk) => {\n this._onReceiveData({ begin, chunk });\n });\n\n this._pdfDataRangeTransport.addProgressListener((loaded, total) => {\n this._onProgress({ loaded, total });\n });\n\n this._pdfDataRangeTransport.addProgressiveReadListener(chunk => {\n this._onReceiveData({ chunk });\n });\n\n this._pdfDataRangeTransport.addProgressiveDoneListener(() => {\n this._onProgressiveDone();\n });\n\n this._pdfDataRangeTransport.transportReady();\n }\n\n _onReceiveData(args) {\n const buffer = new Uint8Array(args.chunk).buffer;\n if (args.begin === undefined) {\n if (this._fullRequestReader) {\n this._fullRequestReader._enqueue(buffer);\n } else {\n this._queuedChunks.push(buffer);\n }\n } else {\n const found = this._rangeReaders.some(function (rangeReader) {\n if (rangeReader._begin !== args.begin) {\n return false;\n }\n rangeReader._enqueue(buffer);\n return true;\n });\n assert(\n found,\n \"_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.\"\n );\n }\n }\n\n get _progressiveDataLength() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n\n _onProgress(evt) {\n if (evt.total === undefined) {\n // Reporting to first range reader, if it exists.\n const firstReader = this._rangeReaders[0];\n if (firstReader && firstReader.onProgress) {\n firstReader.onProgress({ loaded: evt.loaded });\n }\n } else {\n const fullReader = this._fullRequestReader;\n if (fullReader && fullReader.onProgress) {\n fullReader.onProgress({ loaded: evt.loaded, total: evt.total });\n }\n }\n }\n\n _onProgressiveDone() {\n if (this._fullRequestReader) {\n this._fullRequestReader.progressiveDone();\n }\n this._progressiveDone = true;\n }\n\n _removeRangeReader(reader) {\n const i = this._rangeReaders.indexOf(reader);\n if (i >= 0) {\n this._rangeReaders.splice(i, 1);\n }\n }\n\n getFullReader() {\n assert(\n !this._fullRequestReader,\n \"PDFDataTransportStream.getFullReader can only be called once.\"\n );\n const queuedChunks = this._queuedChunks;\n this._queuedChunks = null;\n return new PDFDataTransportStreamReader(\n this,\n queuedChunks,\n this._progressiveDone\n );\n }\n\n getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n const reader = new PDFDataTransportStreamRangeReader(this, begin, end);\n this._pdfDataRangeTransport.requestDataRange(begin, end);\n this._rangeReaders.push(reader);\n return reader;\n }\n\n cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n const readers = this._rangeReaders.slice(0);\n readers.forEach(function (rangeReader) {\n rangeReader.cancel(reason);\n });\n this._pdfDataRangeTransport.abort();\n }\n}\n\n/** @implements {IPDFStreamReader} */\nclass PDFDataTransportStreamReader {\n constructor(stream, queuedChunks, progressiveDone = false) {\n this._stream = stream;\n this._done = progressiveDone || false;\n this._filename = null;\n this._queuedChunks = queuedChunks || [];\n this._loaded = 0;\n for (const chunk of this._queuedChunks) {\n this._loaded += chunk.byteLength;\n }\n this._requests = [];\n this._headersReady = Promise.resolve();\n stream._fullRequestReader = this;\n\n this.onProgress = null;\n }\n\n _enqueue(chunk) {\n if (this._done) {\n return; // Ignore new data.\n }\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n requestCapability.resolve({ value: chunk, done: false });\n } else {\n this._queuedChunks.push(chunk);\n }\n this._loaded += chunk.byteLength;\n }\n\n get headersReady() {\n return this._headersReady;\n }\n\n get filename() {\n return this._filename;\n }\n\n get isRangeSupported() {\n return this._stream._isRangeSupported;\n }\n\n get isStreamingSupported() {\n return this._stream._isStreamingSupported;\n }\n\n get contentLength() {\n return this._stream._contentLength;\n }\n\n async read() {\n if (this._queuedChunks.length > 0) {\n const chunk = this._queuedChunks.shift();\n return { value: chunk, done: false };\n }\n if (this._done) {\n return { value: undefined, done: true };\n }\n const requestCapability = createPromiseCapability();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n }\n\n cancel(reason) {\n this._done = true;\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({ value: undefined, done: true });\n });\n this._requests = [];\n }\n\n progressiveDone() {\n if (this._done) {\n return;\n }\n this._done = true;\n }\n}\n\n/** @implements {IPDFStreamRangeReader} */\nclass PDFDataTransportStreamRangeReader {\n constructor(stream, begin, end) {\n this._stream = stream;\n this._begin = begin;\n this._end = end;\n this._queuedChunk = null;\n this._requests = [];\n this._done = false;\n\n this.onProgress = null;\n }\n\n _enqueue(chunk) {\n if (this._done) {\n return; // ignore new data\n }\n if (this._requests.length === 0) {\n this._queuedChunk = chunk;\n } else {\n const requestsCapability = this._requests.shift();\n requestsCapability.resolve({ value: chunk, done: false });\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({ value: undefined, done: true });\n });\n this._requests = [];\n }\n this._done = true;\n this._stream._removeRangeReader(this);\n }\n\n get isStreamingSupported() {\n return false;\n }\n\n async read() {\n if (this._queuedChunk) {\n const chunk = this._queuedChunk;\n this._queuedChunk = null;\n return { value: chunk, done: false };\n }\n if (this._done) {\n return { value: undefined, done: true };\n }\n const requestCapability = createPromiseCapability();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n }\n\n cancel(reason) {\n this._done = true;\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({ value: undefined, done: true });\n });\n this._requests = [];\n this._stream._removeRangeReader(this);\n }\n}\n\nexport { PDFDataTransportStream };\n","/* Copyright 2014 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/* eslint-disable no-multi-str */\n\nimport { shadow } from \"../shared/util.js\";\n\nclass WebGLContext {\n constructor({ enable = false }) {\n this._enabled = enable === true;\n }\n\n get isEnabled() {\n let enabled = this._enabled;\n if (enabled) {\n enabled = WebGLUtils.tryInitGL();\n }\n return shadow(this, \"isEnabled\", enabled);\n }\n\n composeSMask({ layer, mask, properties }) {\n return WebGLUtils.composeSMask(layer, mask, properties);\n }\n\n drawFigures({ width, height, backgroundColor, figures, context }) {\n return WebGLUtils.drawFigures(\n width,\n height,\n backgroundColor,\n figures,\n context\n );\n }\n\n clear() {\n WebGLUtils.cleanup();\n }\n}\n\nvar WebGLUtils = (function WebGLUtilsClosure() {\n function loadShader(gl, code, shaderType) {\n var shader = gl.createShader(shaderType);\n gl.shaderSource(shader, code);\n gl.compileShader(shader);\n var compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS);\n if (!compiled) {\n var errorMsg = gl.getShaderInfoLog(shader);\n throw new Error(\"Error during shader compilation: \" + errorMsg);\n }\n return shader;\n }\n function createVertexShader(gl, code) {\n return loadShader(gl, code, gl.VERTEX_SHADER);\n }\n function createFragmentShader(gl, code) {\n return loadShader(gl, code, gl.FRAGMENT_SHADER);\n }\n function createProgram(gl, shaders) {\n var program = gl.createProgram();\n for (var i = 0, ii = shaders.length; i < ii; ++i) {\n gl.attachShader(program, shaders[i]);\n }\n gl.linkProgram(program);\n var linked = gl.getProgramParameter(program, gl.LINK_STATUS);\n if (!linked) {\n var errorMsg = gl.getProgramInfoLog(program);\n throw new Error(\"Error during program linking: \" + errorMsg);\n }\n return program;\n }\n function createTexture(gl, image, textureId) {\n gl.activeTexture(textureId);\n var texture = gl.createTexture();\n gl.bindTexture(gl.TEXTURE_2D, texture);\n\n // Set the parameters so we can render any size image.\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\n // Upload the image into the texture.\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 function generateGL() {\n if (currentGL) {\n return;\n }\n\n // The temporary canvas is used in the WebGL context.\n currentCanvas = document.createElement(\"canvas\");\n currentGL = currentCanvas.getContext(\"webgl\", {\n premultipliedalpha: false,\n });\n }\n\n var smaskVertexShaderCode =\n \"\\\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\n var smaskFragmentShaderCode =\n \"\\\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\n var smaskCache = null;\n\n function initSmaskGL() {\n var canvas, gl;\n\n generateGL();\n canvas = currentCanvas;\n currentCanvas = null;\n gl = currentGL;\n currentGL = null;\n\n // setup a GLSL program\n var vertexShader = createVertexShader(gl, smaskVertexShaderCode);\n var fragmentShader = createFragmentShader(gl, smaskFragmentShaderCode);\n var program = createProgram(gl, [vertexShader, fragmentShader]);\n gl.useProgram(program);\n\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\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\n // provide texture coordinates for the rectangle.\n var texCoordBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, texCoordBuffer);\n // prettier-ignore\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([\n 0.0, 0.0,\n 1.0, 0.0,\n 0.0, 1.0,\n 0.0, 1.0,\n 1.0, 0.0,\n 1.0, 1.0]), gl.STATIC_DRAW);\n gl.enableVertexAttribArray(texCoordLocation);\n gl.vertexAttribPointer(texCoordLocation, 2, gl.FLOAT, false, 0, 0);\n\n gl.uniform1i(texLayerLocation, 0);\n gl.uniform1i(texMaskLocation, 1);\n\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 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(\n cache.resolutionLocation,\n properties.backdrop[0],\n properties.backdrop[1],\n properties.backdrop[2],\n 1\n );\n } else {\n gl.uniform4f(cache.resolutionLocation, 0, 0, 0, 0);\n }\n gl.uniform1i(\n cache.subtypeLocation,\n properties.subtype === \"Luminosity\" ? 1 : 0\n );\n\n // Create a textures\n var texture = createTexture(gl, layer, gl.TEXTURE0);\n var maskTexture = createTexture(gl, mask, gl.TEXTURE1);\n\n // Create a buffer and put a single clipspace rectangle in\n // it (2 triangles)\n var buffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n // prettier-ignore\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([\n 0, 0,\n width, 0,\n 0, height,\n 0, height,\n width, 0,\n width, height]), gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.positionLocation);\n gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n\n // draw\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\n gl.drawArrays(gl.TRIANGLES, 0, 6);\n\n gl.flush();\n\n gl.deleteTexture(texture);\n gl.deleteTexture(maskTexture);\n gl.deleteBuffer(buffer);\n\n return canvas;\n }\n\n var figuresVertexShaderCode =\n \"\\\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\n var figuresFragmentShaderCode =\n \"\\\n precision mediump float; \\\n \\\n varying vec4 v_color; \\\n \\\n void main() { \\\n gl_FragColor = v_color; \\\n } \";\n\n var figuresCache = null;\n\n function initFiguresGL() {\n var canvas, gl;\n\n generateGL();\n canvas = currentCanvas;\n currentCanvas = null;\n gl = currentGL;\n currentGL = null;\n\n // setup a GLSL program\n var vertexShader = createVertexShader(gl, figuresVertexShaderCode);\n var fragmentShader = createFragmentShader(gl, figuresFragmentShaderCode);\n var program = createProgram(gl, [vertexShader, fragmentShader]);\n gl.useProgram(program);\n\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\n figuresCache = cache;\n }\n\n function drawFigures(width, height, backgroundColor, figures, context) {\n if (!figuresCache) {\n initFiguresGL();\n }\n var cache = figuresCache,\n canvas = cache.canvas,\n gl = cache.gl;\n\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 // count triangle points\n var count = 0;\n var i, ii, rows;\n for (i = 0, ii = figures.length; i < ii; i++) {\n switch (figures[i].type) {\n case \"lattice\":\n rows = (figures[i].coords.length / figures[i].verticesPerRow) | 0;\n count += (rows - 1) * (figures[i].verticesPerRow - 1) * 6;\n break;\n case \"triangles\":\n count += figures[i].coords.length;\n break;\n }\n }\n // transfer data\n var coords = new Float32Array(count * 2);\n var colors = new Uint8Array(count * 3);\n var coordsMap = context.coords,\n colorsMap = context.colors;\n var pIndex = 0,\n cIndex = 0;\n for (i = 0, ii = figures.length; i < ii; i++) {\n var figure = figures[i],\n ps = figure.coords,\n cs = figure.colors;\n switch (figure.type) {\n case \"lattice\":\n var cols = figure.verticesPerRow;\n rows = (ps.length / cols) | 0;\n for (var row = 1; row < rows; row++) {\n var offset = row * cols + 1;\n for (var col = 1; col < cols; col++, offset++) {\n coords[pIndex] = coordsMap[ps[offset - cols - 1]];\n coords[pIndex + 1] = coordsMap[ps[offset - cols - 1] + 1];\n coords[pIndex + 2] = coordsMap[ps[offset - cols]];\n coords[pIndex + 3] = coordsMap[ps[offset - cols] + 1];\n coords[pIndex + 4] = coordsMap[ps[offset - 1]];\n coords[pIndex + 5] = coordsMap[ps[offset - 1] + 1];\n colors[cIndex] = colorsMap[cs[offset - cols - 1]];\n colors[cIndex + 1] = colorsMap[cs[offset - cols - 1] + 1];\n colors[cIndex + 2] = colorsMap[cs[offset - cols - 1] + 2];\n colors[cIndex + 3] = colorsMap[cs[offset - cols]];\n colors[cIndex + 4] = colorsMap[cs[offset - cols] + 1];\n colors[cIndex + 5] = colorsMap[cs[offset - cols] + 2];\n colors[cIndex + 6] = colorsMap[cs[offset - 1]];\n colors[cIndex + 7] = colorsMap[cs[offset - 1] + 1];\n colors[cIndex + 8] = colorsMap[cs[offset - 1] + 2];\n\n coords[pIndex + 6] = coords[pIndex + 2];\n coords[pIndex + 7] = coords[pIndex + 3];\n coords[pIndex + 8] = coords[pIndex + 4];\n coords[pIndex + 9] = coords[pIndex + 5];\n coords[pIndex + 10] = coordsMap[ps[offset]];\n coords[pIndex + 11] = coordsMap[ps[offset] + 1];\n colors[cIndex + 9] = colors[cIndex + 3];\n colors[cIndex + 10] = colors[cIndex + 4];\n colors[cIndex + 11] = colors[cIndex + 5];\n colors[cIndex + 12] = colors[cIndex + 6];\n colors[cIndex + 13] = colors[cIndex + 7];\n colors[cIndex + 14] = colors[cIndex + 8];\n colors[cIndex + 15] = colorsMap[cs[offset]];\n colors[cIndex + 16] = colorsMap[cs[offset] + 1];\n colors[cIndex + 17] = colorsMap[cs[offset] + 2];\n pIndex += 12;\n cIndex += 18;\n }\n }\n break;\n case \"triangles\":\n for (var j = 0, jj = ps.length; j < jj; j++) {\n coords[pIndex] = coordsMap[ps[j]];\n coords[pIndex + 1] = coordsMap[ps[j] + 1];\n colors[cIndex] = colorsMap[cs[j]];\n colors[cIndex + 1] = colorsMap[cs[j] + 1];\n colors[cIndex + 2] = colorsMap[cs[j] + 2];\n pIndex += 2;\n cIndex += 3;\n }\n break;\n }\n }\n\n // draw\n if (backgroundColor) {\n gl.clearColor(\n backgroundColor[0] / 255,\n backgroundColor[1] / 255,\n backgroundColor[2] / 255,\n 1.0\n );\n } else {\n gl.clearColor(0, 0, 0, 0);\n }\n gl.clear(gl.COLOR_BUFFER_BIT);\n\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\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(\n cache.colorLocation,\n 3,\n gl.UNSIGNED_BYTE,\n false,\n 0,\n 0\n );\n\n gl.uniform2f(cache.scaleLocation, context.scaleX, context.scaleY);\n gl.uniform2f(cache.offsetLocation, context.offsetX, context.offsetY);\n\n gl.drawArrays(gl.TRIANGLES, 0, count);\n\n gl.flush();\n\n gl.deleteBuffer(coordsBuffer);\n gl.deleteBuffer(colorsBuffer);\n\n return canvas;\n }\n\n return {\n tryInitGL() {\n try {\n generateGL();\n return !!currentGL;\n } catch (ex) {}\n return false;\n },\n\n composeSMask,\n\n drawFigures,\n\n cleanup() {\n if (smaskCache && smaskCache.canvas) {\n smaskCache.canvas.width = 0;\n smaskCache.canvas.height = 0;\n }\n if (figuresCache && figuresCache.canvas) {\n figuresCache.canvas.width = 0;\n figuresCache.canvas.height = 0;\n }\n smaskCache = null;\n figuresCache = null;\n },\n };\n})();\n\nexport { WebGLContext };\n","/* Copyright 2014 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/* eslint no-var: error */\n\nimport {\n addLinkAttributes,\n DOMSVGFactory,\n getFilenameFromUrl,\n LinkTarget,\n PDFDateString,\n} from \"./display_utils.js\";\nimport {\n AnnotationBorderStyleType,\n AnnotationType,\n stringToPDFString,\n unreachable,\n Util,\n warn,\n} from \"../shared/util.js\";\n\n/**\n * @typedef {Object} AnnotationElementParameters\n * @property {Object} data\n * @property {HTMLDivElement} layer\n * @property {PDFPage} page\n * @property {PageViewport} viewport\n * @property {IPDFLinkService} linkService\n * @property {DownloadManager} downloadManager\n * @property {string} [imageResourcesPath] - Path for image resources, mainly\n * for annotation icons. Include trailing slash.\n * @property {boolean} renderInteractiveForms\n * @property {Object} svgFactory\n */\n\nclass AnnotationElementFactory {\n /**\n * @param {AnnotationElementParameters} parameters\n * @returns {AnnotationElement}\n */\n static create(parameters) {\n const subtype = parameters.data.annotationType;\n\n switch (subtype) {\n case AnnotationType.LINK:\n return new LinkAnnotationElement(parameters);\n\n case AnnotationType.TEXT:\n return new TextAnnotationElement(parameters);\n\n case AnnotationType.WIDGET:\n const fieldType = parameters.data.fieldType;\n\n switch (fieldType) {\n case \"Tx\":\n return new TextWidgetAnnotationElement(parameters);\n case \"Btn\":\n if (parameters.data.radioButton) {\n return new RadioButtonWidgetAnnotationElement(parameters);\n } else if (parameters.data.checkBox) {\n return new CheckboxWidgetAnnotationElement(parameters);\n }\n return new PushButtonWidgetAnnotationElement(parameters);\n case \"Ch\":\n return new ChoiceWidgetAnnotationElement(parameters);\n }\n return new WidgetAnnotationElement(parameters);\n\n case AnnotationType.POPUP:\n return new PopupAnnotationElement(parameters);\n\n case AnnotationType.FREETEXT:\n return new FreeTextAnnotationElement(parameters);\n\n case AnnotationType.LINE:\n return new LineAnnotationElement(parameters);\n\n case AnnotationType.SQUARE:\n return new SquareAnnotationElement(parameters);\n\n case AnnotationType.CIRCLE:\n return new CircleAnnotationElement(parameters);\n\n case AnnotationType.POLYLINE:\n return new PolylineAnnotationElement(parameters);\n\n case AnnotationType.CARET:\n return new CaretAnnotationElement(parameters);\n\n case AnnotationType.INK:\n return new InkAnnotationElement(parameters);\n\n case AnnotationType.POLYGON:\n return new PolygonAnnotationElement(parameters);\n\n case AnnotationType.HIGHLIGHT:\n return new HighlightAnnotationElement(parameters);\n\n case AnnotationType.UNDERLINE:\n return new UnderlineAnnotationElement(parameters);\n\n case AnnotationType.SQUIGGLY:\n return new SquigglyAnnotationElement(parameters);\n\n case AnnotationType.STRIKEOUT:\n return new StrikeOutAnnotationElement(parameters);\n\n case AnnotationType.STAMP:\n return new StampAnnotationElement(parameters);\n\n case AnnotationType.FILEATTACHMENT:\n return new FileAttachmentAnnotationElement(parameters);\n\n default:\n return new AnnotationElement(parameters);\n }\n }\n}\n\nclass AnnotationElement {\n constructor(parameters, isRenderable = false, ignoreBorder = false) {\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 /**\n * Create an empty container for the annotation's HTML element.\n *\n * @private\n * @param {boolean} ignoreBorder\n * @memberof AnnotationElement\n * @returns {HTMLSectionElement}\n */\n _createContainer(ignoreBorder = false) {\n const data = this.data,\n page = this.page,\n viewport = this.viewport;\n const container = document.createElement(\"section\");\n let width = data.rect[2] - data.rect[0];\n let height = data.rect[3] - data.rect[1];\n\n container.setAttribute(\"data-annotation-id\", data.id);\n\n // Do *not* modify `data.rect`, since that will corrupt the annotation\n // position on subsequent calls to `_createContainer` (see issue 6804).\n const rect = Util.normalizeRect([\n data.rect[0],\n page.view[3] - data.rect[1] + page.view[1],\n data.rect[2],\n page.view[3] - data.rect[3] + page.view[1],\n ]);\n\n container.style.transform = `matrix(${viewport.transform.join(\",\")})`;\n container.style.transformOrigin = `-${rect[0]}px -${rect[1]}px`;\n\n if (!ignoreBorder && data.borderStyle.width > 0) {\n container.style.borderWidth = `${data.borderStyle.width}px`;\n if (data.borderStyle.style !== AnnotationBorderStyleType.UNDERLINE) {\n // Underline styles only have a bottom border, so we do not need\n // to adjust for all borders. This yields a similar result as\n // Adobe Acrobat/Reader.\n width = width - 2 * data.borderStyle.width;\n height = height - 2 * data.borderStyle.width;\n }\n\n const horizontalRadius = data.borderStyle.horizontalCornerRadius;\n const verticalRadius = data.borderStyle.verticalCornerRadius;\n if (horizontalRadius > 0 || verticalRadius > 0) {\n const radius = `${horizontalRadius}px / ${verticalRadius}px`;\n container.style.borderRadius = radius;\n }\n\n switch (data.borderStyle.style) {\n case AnnotationBorderStyleType.SOLID:\n container.style.borderStyle = \"solid\";\n break;\n\n case AnnotationBorderStyleType.DASHED:\n container.style.borderStyle = \"dashed\";\n break;\n\n case AnnotationBorderStyleType.BEVELED:\n warn(\"Unimplemented border style: beveled\");\n break;\n\n case AnnotationBorderStyleType.INSET:\n warn(\"Unimplemented border style: inset\");\n break;\n\n case 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.makeCssRgb(\n data.color[0] | 0,\n data.color[1] | 0,\n data.color[2] | 0\n );\n } else {\n // Transparent (invisible) border, so do not draw it at all.\n container.style.borderWidth = 0;\n }\n }\n\n container.style.left = `${rect[0]}px`;\n container.style.top = `${rect[1]}px`;\n container.style.width = `${width}px`;\n container.style.height = `${height}px`;\n return container;\n }\n\n /**\n * Create a popup for the annotation's HTML element. This is used for\n * annotations that do not have a Popup entry in the dictionary, but\n * are of a type that works with popups (such as Highlight annotations).\n *\n * @private\n * @param {HTMLSectionElement} container\n * @param {HTMLDivElement|HTMLImageElement|null} trigger\n * @param {Object} data\n * @memberof AnnotationElement\n */\n _createPopup(container, trigger, data) {\n // If no trigger element is specified, create it.\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 const popupElement = new PopupElement({\n container,\n trigger,\n color: data.color,\n title: data.title,\n modificationDate: data.modificationDate,\n contents: data.contents,\n hideWrapper: true,\n });\n const popup = popupElement.render();\n\n // Position the popup next to the annotation's container.\n popup.style.left = container.style.width;\n\n container.appendChild(popup);\n }\n\n /**\n * Render the annotation's HTML element in the empty container.\n *\n * @public\n * @memberof AnnotationElement\n */\n render() {\n unreachable(\"Abstract method `AnnotationElement.render` called\");\n }\n}\n\nclass LinkAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(\n parameters.data.url ||\n parameters.data.dest ||\n parameters.data.action\n );\n super(parameters, isRenderable);\n }\n\n /**\n * Render the link annotation's HTML element in the empty container.\n *\n * @public\n * @memberof LinkAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n this.container.className = \"linkAnnotation\";\n\n const { data, linkService } = this;\n const link = document.createElement(\"a\");\n\n if (data.url) {\n addLinkAttributes(link, {\n url: data.url,\n target: data.newWindow\n ? LinkTarget.BLANK\n : 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 /**\n * Bind internal links to the link element.\n *\n * @private\n * @param {Object} link\n * @param {Object} destination\n * @memberof LinkAnnotationElement\n */\n _bindLink(link, destination) {\n link.href = this.linkService.getDestinationHash(destination);\n link.onclick = () => {\n if (destination) {\n this.linkService.navigateTo(destination);\n }\n return false;\n };\n if (destination) {\n link.className = \"internalLink\";\n }\n }\n\n /**\n * Bind named actions to the link element.\n *\n * @private\n * @param {Object} link\n * @param {Object} action\n * @memberof LinkAnnotationElement\n */\n _bindNamedAction(link, action) {\n link.href = this.linkService.getAnchorUrl(\"\");\n link.onclick = () => {\n this.linkService.executeNamedAction(action);\n return false;\n };\n link.className = \"internalLink\";\n }\n}\n\nclass TextAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(\n parameters.data.hasPopup ||\n parameters.data.title ||\n parameters.data.contents\n );\n super(parameters, isRenderable);\n }\n\n /**\n * Render the text annotation's HTML element in the empty container.\n *\n * @public\n * @memberof TextAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n this.container.className = \"textAnnotation\";\n\n const image = document.createElement(\"img\");\n image.style.height = this.container.style.height;\n image.style.width = this.container.style.width;\n image.src =\n this.imageResourcesPath +\n \"annotation-\" +\n this.data.name.toLowerCase() +\n \".svg\";\n image.alt = \"[{{type}} Annotation]\";\n image.dataset.l10nId = \"text_annotation_type\";\n image.dataset.l10nArgs = JSON.stringify({ type: this.data.name });\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\nclass WidgetAnnotationElement extends AnnotationElement {\n /**\n * Render the widget annotation's HTML element in the empty container.\n *\n * @public\n * @memberof WidgetAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n // Show only the container for unsupported field types.\n return this.container;\n }\n}\n\nclass TextWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n const isRenderable =\n parameters.renderInteractiveForms ||\n (!parameters.data.hasAppearance && !!parameters.data.fieldValue);\n super(parameters, isRenderable);\n }\n\n /**\n * Render the text widget annotation's HTML element in the empty container.\n *\n * @public\n * @memberof TextWidgetAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n const TEXT_ALIGNMENT = [\"left\", \"center\", \"right\"];\n\n this.container.className = \"textWidgetAnnotation\";\n\n let element = null;\n if (this.renderInteractiveForms) {\n // NOTE: We cannot set the values using `element.value` below, since it\n // prevents the AnnotationLayer rasterizer in `test/driver.js`\n // from parsing the elements correctly for the reference tests.\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 const fieldWidth = this.data.rect[2] - this.data.rect[0];\n const combWidth = fieldWidth / this.data.maxLen;\n\n element.classList.add(\"comb\");\n element.style.letterSpacing = `calc(${combWidth}px - 1ch)`;\n }\n } else {\n element = document.createElement(\"div\");\n element.textContent = this.data.fieldValue;\n element.style.verticalAlign = \"middle\";\n element.style.display = \"table-cell\";\n\n let font = null;\n if (\n this.data.fontRefName &&\n this.page.commonObjs.has(this.data.fontRefName)\n ) {\n font = this.page.commonObjs.get(this.data.fontRefName);\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 /**\n * Apply text styles to the text in the element.\n *\n * @private\n * @param {HTMLDivElement} element\n * @param {Object} font\n * @memberof TextWidgetAnnotationElement\n */\n _setTextStyle(element, font) {\n // TODO: This duplicates some of the logic in CanvasGraphics.setFont().\n const style = element.style;\n style.fontSize = `${this.data.fontSize}px`;\n style.direction = this.data.fontDirection < 0 ? \"rtl\" : \"ltr\";\n\n if (!font) {\n return;\n }\n\n let bold = \"normal\";\n if (font.black) {\n bold = \"900\";\n } else if (font.bold) {\n bold = \"bold\";\n }\n style.fontWeight = bold;\n style.fontStyle = font.italic ? \"italic\" : \"normal\";\n\n // Use a reasonable default font if the font doesn't specify a fallback.\n const fontFamily = font.loadedName ? `\"${font.loadedName}\", ` : \"\";\n const fallbackName = font.fallbackName || \"Helvetica, sans-serif\";\n style.fontFamily = fontFamily + fallbackName;\n }\n}\n\nclass CheckboxWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, parameters.renderInteractiveForms);\n }\n\n /**\n * Render the checkbox widget annotation's HTML element\n * in the empty container.\n *\n * @public\n * @memberof CheckboxWidgetAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n this.container.className = \"buttonWidgetAnnotation checkBox\";\n\n const element = document.createElement(\"input\");\n element.disabled = this.data.readOnly;\n element.type = \"checkbox\";\n element.name = this.data.fieldName;\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\nclass RadioButtonWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, parameters.renderInteractiveForms);\n }\n\n /**\n * Render the radio button widget annotation's HTML element\n * in the empty container.\n *\n * @public\n * @memberof RadioButtonWidgetAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n this.container.className = \"buttonWidgetAnnotation radioButton\";\n\n const element = document.createElement(\"input\");\n element.disabled = this.data.readOnly;\n element.type = \"radio\";\n element.name = this.data.fieldName;\n if (this.data.fieldValue === this.data.buttonValue) {\n element.setAttribute(\"checked\", true);\n }\n\n this.container.appendChild(element);\n return this.container;\n }\n}\n\nclass PushButtonWidgetAnnotationElement extends LinkAnnotationElement {\n /**\n * Render the push button widget annotation's HTML element\n * in the empty container.\n *\n * @public\n * @memberof PushButtonWidgetAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n // The rendering and functionality of a push button widget annotation is\n // equal to that of a link annotation, but may have more functionality, such\n // as performing actions on form fields (resetting, submitting, et cetera).\n const container = super.render();\n container.className = \"buttonWidgetAnnotation pushButton\";\n return container;\n }\n}\n\nclass ChoiceWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, parameters.renderInteractiveForms);\n }\n\n /**\n * Render the choice widget annotation's HTML element in the empty\n * container.\n *\n * @public\n * @memberof ChoiceWidgetAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n this.container.className = \"choiceWidgetAnnotation\";\n\n const selectElement = document.createElement(\"select\");\n selectElement.disabled = this.data.readOnly;\n selectElement.name = this.data.fieldName;\n\n if (!this.data.combo) {\n // List boxes have a size and (optionally) multiple selection.\n selectElement.size = this.data.options.length;\n if (this.data.multiSelect) {\n selectElement.multiple = true;\n }\n }\n\n // Insert the options into the choice field.\n for (const option of this.data.options) {\n const optionElement = document.createElement(\"option\");\n optionElement.textContent = option.displayValue;\n optionElement.value = option.exportValue;\n if (this.data.fieldValue.includes(option.displayValue)) {\n optionElement.setAttribute(\"selected\", true);\n }\n selectElement.appendChild(optionElement);\n }\n\n this.container.appendChild(selectElement);\n return this.container;\n }\n}\n\nclass PopupAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable);\n }\n\n /**\n * Render the popup annotation's HTML element in the empty container.\n *\n * @public\n * @memberof PopupAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n // Do not render popup annotations for parent elements with these types as\n // they create the popups themselves (because of custom trigger divs).\n const IGNORE_TYPES = [\n \"Line\",\n \"Square\",\n \"Circle\",\n \"PolyLine\",\n \"Polygon\",\n \"Ink\",\n ];\n\n this.container.className = \"popupAnnotation\";\n\n if (IGNORE_TYPES.includes(this.data.parentType)) {\n return this.container;\n }\n\n const selector = `[data-annotation-id=\"${this.data.parentId}\"]`;\n const parentElement = this.layer.querySelector(selector);\n if (!parentElement) {\n return this.container;\n }\n\n const 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\n // Position the popup next to the parent annotation's container.\n // PDF viewers ignore a popup annotation's rectangle.\n const parentLeft = parseFloat(parentElement.style.left);\n const parentWidth = parseFloat(parentElement.style.width);\n this.container.style.transformOrigin = `-${parentLeft + parentWidth}px -${\n parentElement.style.top\n }`;\n this.container.style.left = `${parentLeft + parentWidth}px`;\n\n this.container.appendChild(popup.render());\n return this.container;\n }\n}\n\nclass PopupElement {\n constructor(parameters) {\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\n this.pinned = false;\n }\n\n /**\n * Render the popup's HTML element.\n *\n * @public\n * @memberof PopupElement\n * @returns {HTMLSectionElement}\n */\n render() {\n const BACKGROUND_ENLIGHT = 0.7;\n\n const wrapper = document.createElement(\"div\");\n wrapper.className = \"popupWrapper\";\n\n // For Popup annotations we hide the entire section because it contains\n // only the popup. However, for Text annotations without a separate Popup\n // annotation, we cannot hide the entire container as the image would\n // disappear too. In that special case, hiding the wrapper suffices.\n this.hideElement = this.hideWrapper ? wrapper : this.container;\n this.hideElement.setAttribute(\"hidden\", true);\n\n const popup = document.createElement(\"div\");\n popup.className = \"popup\";\n\n const color = this.color;\n if (color) {\n // Enlighten the color.\n const r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];\n const g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];\n const b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];\n popup.style.backgroundColor = Util.makeCssRgb(r | 0, g | 0, b | 0);\n }\n\n const title = document.createElement(\"h1\");\n title.textContent = this.title;\n popup.appendChild(title);\n\n // The modification date is shown in the popup instead of the creation\n // date if it is available and can be parsed correctly, which is\n // consistent with other viewers such as Adobe Acrobat.\n const dateObject = PDFDateString.toDateObject(this.modificationDate);\n if (dateObject) {\n const 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 const contents = this._formatContents(this.contents);\n popup.appendChild(contents);\n\n // Attach the event listeners to the trigger element.\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\n wrapper.appendChild(popup);\n return wrapper;\n }\n\n /**\n * Format the contents of the popup by adding newlines where necessary.\n *\n * @private\n * @param {string} contents\n * @memberof PopupElement\n * @returns {HTMLParagraphElement}\n */\n _formatContents(contents) {\n const p = document.createElement(\"p\");\n const lines = contents.split(/(?:\\r\\n?|\\n)/);\n for (let i = 0, ii = lines.length; i < ii; ++i) {\n const line = lines[i];\n p.appendChild(document.createTextNode(line));\n if (i < ii - 1) {\n p.appendChild(document.createElement(\"br\"));\n }\n }\n return p;\n }\n\n /**\n * Toggle the visibility of the popup.\n *\n * @private\n * @memberof PopupElement\n */\n _toggle() {\n if (this.pinned) {\n this._hide(true);\n } else {\n this._show(true);\n }\n }\n\n /**\n * Show the popup.\n *\n * @private\n * @param {boolean} pin\n * @memberof PopupElement\n */\n _show(pin = false) {\n if (pin) {\n this.pinned = true;\n }\n if (this.hideElement.hasAttribute(\"hidden\")) {\n this.hideElement.removeAttribute(\"hidden\");\n this.container.style.zIndex += 1;\n }\n }\n\n /**\n * Hide the popup.\n *\n * @private\n * @param {boolean} unpin\n * @memberof PopupElement\n */\n _hide(unpin = true) {\n if (unpin) {\n this.pinned = false;\n }\n if (!this.hideElement.hasAttribute(\"hidden\") && !this.pinned) {\n this.hideElement.setAttribute(\"hidden\", true);\n this.container.style.zIndex -= 1;\n }\n }\n}\n\nclass FreeTextAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(\n parameters.data.hasPopup ||\n parameters.data.title ||\n parameters.data.contents\n );\n super(parameters, isRenderable, /* ignoreBorder = */ true);\n }\n\n /**\n * Render the free text annotation's HTML element in the empty container.\n *\n * @public\n * @memberof FreeTextAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n this.container.className = \"freeTextAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n}\n\nclass LineAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(\n parameters.data.hasPopup ||\n parameters.data.title ||\n parameters.data.contents\n );\n super(parameters, isRenderable, /* ignoreBorder = */ true);\n }\n\n /**\n * Render the line annotation's HTML element in the empty container.\n *\n * @public\n * @memberof LineAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n this.container.className = \"lineAnnotation\";\n\n // Create an invisible line with the same starting and ending coordinates\n // that acts as the trigger for the popup. Only the line itself should\n // trigger the popup, not the entire container.\n const data = this.data;\n const width = data.rect[2] - data.rect[0];\n const height = data.rect[3] - data.rect[1];\n const svg = this.svgFactory.create(width, height);\n\n // PDF coordinates are calculated from a bottom left origin, so transform\n // the line coordinates to a top left origin for the SVG element.\n const 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 // Ensure that the 'stroke-width' is always non-zero, since otherwise it\n // won't be possible to open/close the popup (note e.g. issue 11122).\n line.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n line.setAttribute(\"stroke\", \"transparent\");\n\n svg.appendChild(line);\n this.container.append(svg);\n\n // Create the popup ourselves so that we can bind it to the line instead\n // of to the entire container (which is the default).\n this._createPopup(this.container, line, data);\n\n return this.container;\n }\n}\n\nclass SquareAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(\n parameters.data.hasPopup ||\n parameters.data.title ||\n parameters.data.contents\n );\n super(parameters, isRenderable, /* ignoreBorder = */ true);\n }\n\n /**\n * Render the square annotation's HTML element in the empty container.\n *\n * @public\n * @memberof SquareAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n this.container.className = \"squareAnnotation\";\n\n // Create an invisible square with the same rectangle that acts as the\n // trigger for the popup. Only the square itself should trigger the\n // popup, not the entire container.\n const data = this.data;\n const width = data.rect[2] - data.rect[0];\n const height = data.rect[3] - data.rect[1];\n const svg = this.svgFactory.create(width, height);\n\n // The browser draws half of the borders inside the square and half of\n // the borders outside the square by default. This behavior cannot be\n // changed programmatically, so correct for that here.\n const borderWidth = data.borderStyle.width;\n const 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 // Ensure that the 'stroke-width' is always non-zero, since otherwise it\n // won't be possible to open/close the popup (note e.g. issue 11122).\n square.setAttribute(\"stroke-width\", borderWidth || 1);\n square.setAttribute(\"stroke\", \"transparent\");\n square.setAttribute(\"fill\", \"none\");\n\n svg.appendChild(square);\n this.container.append(svg);\n\n // Create the popup ourselves so that we can bind it to the square instead\n // of to the entire container (which is the default).\n this._createPopup(this.container, square, data);\n\n return this.container;\n }\n}\n\nclass CircleAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(\n parameters.data.hasPopup ||\n parameters.data.title ||\n parameters.data.contents\n );\n super(parameters, isRenderable, /* ignoreBorder = */ true);\n }\n\n /**\n * Render the circle annotation's HTML element in the empty container.\n *\n * @public\n * @memberof CircleAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n this.container.className = \"circleAnnotation\";\n\n // Create an invisible circle with the same ellipse that acts as the\n // trigger for the popup. Only the circle itself should trigger the\n // popup, not the entire container.\n const data = this.data;\n const width = data.rect[2] - data.rect[0];\n const height = data.rect[3] - data.rect[1];\n const svg = this.svgFactory.create(width, height);\n\n // The browser draws half of the borders inside the circle and half of\n // the borders outside the circle by default. This behavior cannot be\n // changed programmatically, so correct for that here.\n const borderWidth = data.borderStyle.width;\n const 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 // Ensure that the 'stroke-width' is always non-zero, since otherwise it\n // won't be possible to open/close the popup (note e.g. issue 11122).\n circle.setAttribute(\"stroke-width\", borderWidth || 1);\n circle.setAttribute(\"stroke\", \"transparent\");\n circle.setAttribute(\"fill\", \"none\");\n\n svg.appendChild(circle);\n this.container.append(svg);\n\n // Create the popup ourselves so that we can bind it to the circle instead\n // of to the entire container (which is the default).\n this._createPopup(this.container, circle, data);\n\n return this.container;\n }\n}\n\nclass PolylineAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(\n parameters.data.hasPopup ||\n parameters.data.title ||\n parameters.data.contents\n );\n super(parameters, isRenderable, /* ignoreBorder = */ true);\n\n this.containerClassName = \"polylineAnnotation\";\n this.svgElementName = \"svg:polyline\";\n }\n\n /**\n * Render the polyline annotation's HTML element in the empty container.\n *\n * @public\n * @memberof PolylineAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n this.container.className = this.containerClassName;\n\n // Create an invisible polyline with the same points that acts as the\n // trigger for the popup. Only the polyline itself should trigger the\n // popup, not the entire container.\n const data = this.data;\n const width = data.rect[2] - data.rect[0];\n const height = data.rect[3] - data.rect[1];\n const svg = this.svgFactory.create(width, height);\n\n // Convert the vertices array to a single points string that the SVG\n // polyline element expects (\"x1,y1 x2,y2 ...\"). PDF coordinates are\n // calculated from a bottom left origin, so transform the polyline\n // coordinates to a top left origin for the SVG element.\n let points = [];\n for (const coordinate of data.vertices) {\n const x = coordinate.x - data.rect[0];\n const y = data.rect[3] - coordinate.y;\n points.push(x + \",\" + y);\n }\n points = points.join(\" \");\n\n const polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n // Ensure that the 'stroke-width' is always non-zero, since otherwise it\n // won't be possible to open/close the popup (note e.g. issue 11122).\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"none\");\n\n svg.appendChild(polyline);\n this.container.append(svg);\n\n // Create the popup ourselves so that we can bind it to the polyline\n // instead of to the entire container (which is the default).\n this._createPopup(this.container, polyline, data);\n\n return this.container;\n }\n}\n\nclass PolygonAnnotationElement extends PolylineAnnotationElement {\n constructor(parameters) {\n // Polygons are specific forms of polylines, so reuse their logic.\n super(parameters);\n\n this.containerClassName = \"polygonAnnotation\";\n this.svgElementName = \"svg:polygon\";\n }\n}\n\nclass CaretAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(\n parameters.data.hasPopup ||\n parameters.data.title ||\n parameters.data.contents\n );\n super(parameters, isRenderable, /* ignoreBorder = */ true);\n }\n\n /**\n * Render the caret annotation's HTML element in the empty container.\n *\n * @public\n * @memberof CaretAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n this.container.className = \"caretAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n}\n\nclass InkAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(\n parameters.data.hasPopup ||\n parameters.data.title ||\n parameters.data.contents\n );\n super(parameters, isRenderable, /* ignoreBorder = */ true);\n\n this.containerClassName = \"inkAnnotation\";\n\n // Use the polyline SVG element since it allows us to use coordinates\n // directly and to draw both straight lines and curves.\n this.svgElementName = \"svg:polyline\";\n }\n\n /**\n * Render the ink annotation's HTML element in the empty container.\n *\n * @public\n * @memberof InkAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n this.container.className = this.containerClassName;\n\n // Create an invisible polyline with the same points that acts as the\n // trigger for the popup.\n const data = this.data;\n const width = data.rect[2] - data.rect[0];\n const height = data.rect[3] - data.rect[1];\n const svg = this.svgFactory.create(width, height);\n\n for (const inkList of data.inkLists) {\n // Convert the ink list to a single points string that the SVG\n // polyline element expects (\"x1,y1 x2,y2 ...\"). PDF coordinates are\n // calculated from a bottom left origin, so transform the polyline\n // coordinates to a top left origin for the SVG element.\n let points = [];\n for (const coordinate of inkList) {\n const x = coordinate.x - data.rect[0];\n const y = data.rect[3] - coordinate.y;\n points.push(`${x},${y}`);\n }\n points = points.join(\" \");\n\n const polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n // Ensure that the 'stroke-width' is always non-zero, since otherwise it\n // won't be possible to open/close the popup (note e.g. issue 11122).\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"none\");\n\n // Create the popup ourselves so that we can bind it to the polyline\n // instead of to the entire container (which is the default).\n this._createPopup(this.container, polyline, data);\n\n svg.appendChild(polyline);\n }\n\n this.container.append(svg);\n return this.container;\n }\n}\n\nclass HighlightAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(\n parameters.data.hasPopup ||\n parameters.data.title ||\n parameters.data.contents\n );\n super(parameters, isRenderable, /* ignoreBorder = */ true);\n }\n\n /**\n * Render the highlight annotation's HTML element in the empty container.\n *\n * @public\n * @memberof HighlightAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n this.container.className = \"highlightAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n}\n\nclass UnderlineAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(\n parameters.data.hasPopup ||\n parameters.data.title ||\n parameters.data.contents\n );\n super(parameters, isRenderable, /* ignoreBorder = */ true);\n }\n\n /**\n * Render the underline annotation's HTML element in the empty container.\n *\n * @public\n * @memberof UnderlineAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n this.container.className = \"underlineAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n}\n\nclass SquigglyAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(\n parameters.data.hasPopup ||\n parameters.data.title ||\n parameters.data.contents\n );\n super(parameters, isRenderable, /* ignoreBorder = */ true);\n }\n\n /**\n * Render the squiggly annotation's HTML element in the empty container.\n *\n * @public\n * @memberof SquigglyAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n this.container.className = \"squigglyAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n}\n\nclass StrikeOutAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(\n parameters.data.hasPopup ||\n parameters.data.title ||\n parameters.data.contents\n );\n super(parameters, isRenderable, /* ignoreBorder = */ true);\n }\n\n /**\n * Render the strikeout annotation's HTML element in the empty container.\n *\n * @public\n * @memberof StrikeOutAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n this.container.className = \"strikeoutAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n}\n\nclass StampAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(\n parameters.data.hasPopup ||\n parameters.data.title ||\n parameters.data.contents\n );\n super(parameters, isRenderable, /* ignoreBorder = */ true);\n }\n\n /**\n * Render the stamp annotation's HTML element in the empty container.\n *\n * @public\n * @memberof StampAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n this.container.className = \"stampAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n}\n\nclass FileAttachmentAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, /* isRenderable = */ true);\n\n const { filename, content } = this.data.file;\n this.filename = getFilenameFromUrl(filename);\n this.content = content;\n\n if (this.linkService.eventBus) {\n this.linkService.eventBus.dispatch(\"fileattachmentannotation\", {\n source: this,\n id: stringToPDFString(filename),\n filename,\n content,\n });\n }\n }\n\n /**\n * Render the file attachment annotation's HTML element in the empty\n * container.\n *\n * @public\n * @memberof FileAttachmentAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n this.container.className = \"fileAttachmentAnnotation\";\n\n const 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 /**\n * Download the file attachment associated with this annotation.\n *\n * @private\n * @memberof FileAttachmentAnnotationElement\n */\n _download() {\n if (!this.downloadManager) {\n warn(\"Download cannot be started due to unavailable download manager\");\n return;\n }\n this.downloadManager.downloadData(this.content, this.filename, \"\");\n }\n}\n\n/**\n * @typedef {Object} AnnotationLayerParameters\n * @property {PageViewport} viewport\n * @property {HTMLDivElement} div\n * @property {Array} annotations\n * @property {PDFPage} page\n * @property {IPDFLinkService} linkService\n * @property {DownloadManager} downloadManager\n * @property {string} [imageResourcesPath] - Path for image resources, mainly\n * for annotation icons. Include trailing slash.\n * @property {boolean} renderInteractiveForms\n */\n\nclass AnnotationLayer {\n /**\n * Render a new annotation layer with all annotation elements.\n *\n * @public\n * @param {AnnotationLayerParameters} parameters\n * @memberof AnnotationLayer\n */\n static render(parameters) {\n const sortedAnnotations = [],\n popupAnnotations = [];\n // Ensure that Popup annotations are handled last, since they're dependant\n // upon the parent annotation having already been rendered (please refer to\n // the `PopupAnnotationElement.render` method); fixes issue 11362.\n for (const data of parameters.annotations) {\n if (!data) {\n continue;\n }\n if (data.annotationType === AnnotationType.POPUP) {\n popupAnnotations.push(data);\n continue;\n }\n sortedAnnotations.push(data);\n }\n if (popupAnnotations.length) {\n sortedAnnotations.push(...popupAnnotations);\n }\n\n for (const data of sortedAnnotations) {\n const element = AnnotationElementFactory.create({\n 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 DOMSVGFactory(),\n });\n if (element.isRenderable) {\n parameters.div.appendChild(element.render());\n }\n }\n }\n\n /**\n * Update the annotation elements on existing annotation layer.\n *\n * @public\n * @param {AnnotationLayerParameters} parameters\n * @memberof AnnotationLayer\n */\n static update(parameters) {\n for (const data of parameters.annotations) {\n const element = parameters.div.querySelector(\n `[data-annotation-id=\"${data.id}\"]`\n );\n if (element) {\n element.style.transform = `matrix(${parameters.viewport.transform.join(\n \",\"\n )})`;\n }\n }\n parameters.div.removeAttribute(\"hidden\");\n }\n}\n\nexport { AnnotationLayer };\n","/* Copyright 2015 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\nimport {\n AbortException,\n createPromiseCapability,\n Util,\n} from \"../shared/util.js\";\n\n/**\n * Text layer render parameters.\n *\n * @typedef {Object} TextLayerRenderParameters\n * @property {TextContent} [textContent] - Text content to render (the object\n * is returned by the page's `getTextContent` method).\n * @property {ReadableStream} [textContentStream] - Text content stream to\n * render (the stream is returned by the page's `streamTextContent` method).\n * @property {HTMLElement} container - HTML element that will contain text runs.\n * @property {PageViewport} viewport - The target viewport to properly\n * layout the text runs.\n * @property {Array} [textDivs] - HTML elements that are correspond to the\n * text items of the textContent input. This is output and shall be\n * initially be set to empty array.\n * @property {Array} [textContentItemsStr] - Strings that correspond to the\n * `str` property of the text items of textContent input. This is output\n * and shall be initially be set to empty array.\n * @property {number} [timeout] - Delay in milliseconds before rendering of the\n * text runs occurs.\n * @property {boolean} [enhanceTextSelection] - Whether to turn on the text\n * selection enhancement.\n */\nvar renderTextLayer = (function renderTextLayerClosure() {\n var MAX_TEXT_DIVS_TO_RENDER = 100000;\n\n var NonWhitespaceRegexp = /\\S/;\n\n function isAllWhitespace(str) {\n return !NonWhitespaceRegexp.test(str);\n }\n\n function appendText(task, geom, styles) {\n // Initialize all used properties to keep the caches monomorphic.\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 if (isAllWhitespace(geom.str)) {\n textDivProperties.isWhitespace = true;\n task._textDivProperties.set(textDiv, textDivProperties);\n return;\n }\n\n var tx = Util.transform(task._viewport.transform, geom.transform);\n var angle = Math.atan2(tx[1], tx[0]);\n var style = styles[geom.fontName];\n if (style.vertical) {\n angle += Math.PI / 2;\n }\n var fontHeight = Math.sqrt(tx[2] * tx[2] + tx[3] * tx[3]);\n var fontAscent = fontHeight;\n if (style.ascent) {\n fontAscent = style.ascent * fontAscent;\n } else if (style.descent) {\n fontAscent = (1 + style.descent) * fontAscent;\n }\n\n let left, top;\n if (angle === 0) {\n left = tx[4];\n top = tx[5] - fontAscent;\n } else {\n left = tx[4] + fontAscent * Math.sin(angle);\n top = tx[5] - fontAscent * Math.cos(angle);\n }\n // Setting the style properties individually, rather than all at once,\n // should be OK since the `textDiv` isn't appended to the document yet.\n textDiv.style.left = `${left}px`;\n textDiv.style.top = `${top}px`;\n textDiv.style.fontSize = `${fontHeight}px`;\n textDiv.style.fontFamily = style.fontFamily;\n\n textDiv.textContent = geom.str;\n // `fontName` is only used by the FontInspector, and we only use `dataset`\n // here to make the font name available in the debugger.\n if (task._fontInspectorEnabled) {\n textDiv.dataset.fontName = geom.fontName;\n }\n if (angle !== 0) {\n textDivProperties.angle = angle * (180 / Math.PI);\n }\n // We don't bother scaling single-char text divs, because it has very\n // little effect on text highlighting. This makes scrolling on docs with\n // lots of such divs a lot faster.\n let shouldScaleText = false;\n if (geom.str.length > 1) {\n shouldScaleText = true;\n } else if (geom.transform[0] !== geom.transform[3]) {\n const absScaleX = Math.abs(geom.transform[0]),\n absScaleY = Math.abs(geom.transform[3]);\n // When the horizontal/vertical scaling differs significantly, also scale\n // even single-char text to improve highlighting (fixes issue11713.pdf).\n if (\n absScaleX !== absScaleY &&\n Math.max(absScaleX, absScaleY) / Math.min(absScaleX, absScaleY) > 1.5\n ) {\n shouldScaleText = true;\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 task._textDivProperties.set(textDiv, textDivProperties);\n if (task._textContentStream) {\n task._layoutText(textDiv);\n }\n\n if (task._enhanceTextSelection) {\n var angleCos = 1,\n angleSin = 0;\n if (angle !== 0) {\n angleCos = Math.cos(angle);\n angleSin = Math.sin(angle);\n }\n var divWidth =\n (style.vertical ? geom.height : geom.width) * task._viewport.scale;\n var divHeight = fontHeight;\n\n var m, b;\n if (angle !== 0) {\n m = [angleCos, angleSin, -angleSin, angleCos, left, top];\n b = 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,\n });\n }\n }\n\n function render(task) {\n if (task._canceled) {\n return;\n }\n var textDivs = task._textDivs;\n var capability = task._capability;\n var textDivsLength = textDivs.length;\n\n // No point in rendering many divs as it would make the browser\n // unusable even after the divs are rendered.\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 let result = 0;\n for (let i = 0; i < count; i++) {\n const t = ts[offset++];\n if (t > 0) {\n result = result ? Math.min(t, result) : t;\n }\n }\n return result;\n }\n\n function expand(task) {\n var bounds = task._bounds;\n var viewport = task._viewport;\n\n var expanded = expandBounds(viewport.width, viewport.height, bounds);\n for (var i = 0; i < expanded.length; i++) {\n var div = bounds[i].div;\n var divProperties = task._textDivProperties.get(div);\n if (divProperties.angle === 0) {\n divProperties.paddingLeft = bounds[i].left - expanded[i].left;\n divProperties.paddingTop = bounds[i].top - expanded[i].top;\n divProperties.paddingRight = expanded[i].right - bounds[i].right;\n divProperties.paddingBottom = expanded[i].bottom - bounds[i].bottom;\n task._textDivProperties.set(div, divProperties);\n continue;\n }\n // Box is rotated -- trying to find padding so rotated div will not\n // exceed its expanded bounds.\n var e = expanded[i],\n b = bounds[i];\n var m = b.m,\n c = m[0],\n s = m[1];\n // Finding intersections with expanded box.\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.applyTransform(p, m);\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\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\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\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 // Not based on math, but to simplify calculations, using cos and sin\n // absolute values to not exceed the box (it can but insignificantly).\n var boxScale = 1 + Math.min(Math.abs(c), Math.abs(s));\n divProperties.paddingLeft = findPositiveMin(ts, 32, 16) / boxScale;\n divProperties.paddingTop = findPositiveMin(ts, 48, 16) / boxScale;\n divProperties.paddingRight = findPositiveMin(ts, 0, 16) / boxScale;\n divProperties.paddingBottom = findPositiveMin(ts, 16, 16) / boxScale;\n task._textDivProperties.set(div, divProperties);\n }\n }\n\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\n // Rotating on 90 degrees and extending extended boxes. Reusing the bounds\n // array and objects.\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\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 // Sorting by x1 coordinate and walk by the bounds in the same order.\n bounds.sort(function (a, b) {\n return a.x1 - b.x1 || a.index - b.index;\n });\n\n // First we see on the horizon is a fake boundary.\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 {\n start: -Infinity,\n end: Infinity,\n boundary: fakeBoundary,\n },\n ];\n\n bounds.forEach(function (boundary) {\n // Searching for the affected part of horizon.\n // TODO red-black tree or simple binary search\n var i = 0;\n while (i < horizon.length && horizon[i].end <= boundary.y1) {\n i++;\n }\n var j = horizon.length - 1;\n while (j >= 0 && horizon[j].start >= boundary.y2) {\n j--;\n }\n\n var horizonPart, affectedBoundary;\n var q,\n k,\n maxXNew = -Infinity;\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n var xNew;\n if (affectedBoundary.x2 > boundary.x1) {\n // In the middle of the previous element, new x shall be at the\n // boundary start. Extending if further if the affected boundary\n // placed on top of the current one.\n xNew =\n affectedBoundary.index > boundary.index\n ? affectedBoundary.x1New\n : boundary.x1;\n } else if (affectedBoundary.x2New === undefined) {\n // We have some space in between, new x in middle will be a fair\n // choice.\n xNew = (affectedBoundary.x2 + boundary.x1) / 2;\n } else {\n // Affected boundary has x2new set, using it as new x.\n xNew = affectedBoundary.x2New;\n }\n if (xNew > maxXNew) {\n maxXNew = xNew;\n }\n }\n\n // Set new x1 for current boundary.\n boundary.x1New = maxXNew;\n\n // Adjusts new x2 for the affected boundaries.\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n if (affectedBoundary.x2New === undefined) {\n // Was not set yet, choosing new x if possible.\n if (affectedBoundary.x2 > boundary.x1) {\n // Current and affected boundaries intersect. If affected boundary\n // is placed on top of the current, shrinking the affected.\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 // Affected boundary is touching new x, pushing it back.\n affectedBoundary.x2New = Math.max(maxXNew, affectedBoundary.x2);\n }\n }\n\n // Fixing the horizon.\n var changedHorizon = [],\n lastBoundary = null;\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n // Checking which boundary will be visible.\n var useBoundary =\n affectedBoundary.x2 > boundary.x2 ? affectedBoundary : boundary;\n if (lastBoundary === useBoundary) {\n // Merging with previous.\n changedHorizon[changedHorizon.length - 1].end = horizonPart.end;\n } else {\n changedHorizon.push({\n start: horizonPart.start,\n end: horizonPart.end,\n boundary: useBoundary,\n });\n lastBoundary = useBoundary;\n }\n }\n if (horizon[i].start < boundary.y1) {\n changedHorizon[0].start = boundary.y1;\n changedHorizon.unshift({\n start: horizon[i].start,\n end: boundary.y1,\n boundary: horizon[i].boundary,\n });\n }\n if (boundary.y2 < horizon[j].end) {\n changedHorizon[changedHorizon.length - 1].end = boundary.y2;\n changedHorizon.push({\n start: boundary.y2,\n end: horizon[j].end,\n boundary: horizon[j].boundary,\n });\n }\n\n // Set x2 new of boundary that is no longer visible (see overlapping case\n // above).\n // TODO more efficient, e.g. via reference counting.\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n if (affectedBoundary.x2New !== undefined) {\n continue;\n }\n var used = false;\n for (\n k = i - 1;\n !used && k >= 0 && horizon[k].start >= affectedBoundary.y1;\n k--\n ) {\n used = horizon[k].boundary === affectedBoundary;\n }\n for (\n k = j + 1;\n !used && k < horizon.length && horizon[k].end <= affectedBoundary.y2;\n k++\n ) {\n used = horizon[k].boundary === affectedBoundary;\n }\n for (k = 0; !used && k < changedHorizon.length; k++) {\n used = changedHorizon[k].boundary === affectedBoundary;\n }\n if (!used) {\n affectedBoundary.x2New = maxXNew;\n }\n }\n\n Array.prototype.splice.apply(\n horizon,\n [i, j - i + 1].concat(changedHorizon)\n );\n });\n\n // Set new x2 for all unset boundaries.\n horizon.forEach(function (horizonPart) {\n var affectedBoundary = horizonPart.boundary;\n if (affectedBoundary.x2New === undefined) {\n affectedBoundary.x2New = Math.max(width, affectedBoundary.x2);\n }\n });\n }\n\n /**\n * Text layer rendering task.\n *\n * @param {TextContent} textContent\n * @param {HTMLElement} container\n * @param {PageViewport} viewport\n * @param {Array} textDivs\n * @param {boolean} enhanceTextSelection\n * @private\n */\n function TextLayerRenderTask({\n textContent,\n textContentStream,\n container,\n viewport,\n textDivs,\n textContentItemsStr,\n enhanceTextSelection,\n }) {\n this._textContent = textContent;\n this._textContentStream = textContentStream;\n this._container = container;\n this._viewport = viewport;\n this._textDivs = textDivs || [];\n this._textContentItemsStr = textContentItemsStr || [];\n this._enhanceTextSelection = !!enhanceTextSelection;\n this._fontInspectorEnabled = !!(\n globalThis.FontInspector && globalThis.FontInspector.enabled\n );\n\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 = createPromiseCapability();\n this._renderTimer = null;\n this._bounds = [];\n\n // Always clean-up the temporary canvas once rendering is no longer pending.\n this._capability.promise\n .finally(() => {\n if (this._layoutTextCtx) {\n // Zeroing the width and height cause Firefox to release graphics\n // resources immediately, which can greatly reduce memory consumption.\n this._layoutTextCtx.canvas.width = 0;\n this._layoutTextCtx.canvas.height = 0;\n this._layoutTextCtx = null;\n }\n })\n .catch(() => {\n /* Avoid \"Uncaught promise\" messages in the console. */\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 if (this._reader) {\n this._reader.cancel(new AbortException(\"TextLayer task cancelled.\"));\n this._reader = null;\n }\n if (this._renderTimer !== null) {\n clearTimeout(this._renderTimer);\n this._renderTimer = null;\n }\n this._capability.reject(new Error(\"TextLayer task cancelled.\"));\n },\n\n _processItems(items, styleCache) {\n for (let i = 0, len = items.length; i < len; i++) {\n this._textContentItemsStr.push(items[i].str);\n appendText(this, items[i], styleCache);\n }\n },\n\n _layoutText(textDiv) {\n const textDivProperties = this._textDivProperties.get(textDiv);\n if (textDivProperties.isWhitespace) {\n return;\n }\n\n let transform = \"\";\n if (textDivProperties.canvasWidth !== 0) {\n const { fontSize, fontFamily } = textDiv.style;\n\n // Only build font string and set to context if different from last.\n if (\n fontSize !== this._layoutTextLastFontSize ||\n fontFamily !== this._layoutTextLastFontFamily\n ) {\n this._layoutTextCtx.font = `${fontSize} ${fontFamily}`;\n this._layoutTextLastFontSize = fontSize;\n this._layoutTextLastFontFamily = fontFamily;\n }\n // Only measure the width for multi-char text divs, see `appendText`.\n const { width } = this._layoutTextCtx.measureText(textDiv.textContent);\n\n if (width > 0) {\n textDivProperties.scale = textDivProperties.canvasWidth / width;\n transform = `scaleX(${textDivProperties.scale})`;\n }\n }\n if (textDivProperties.angle !== 0) {\n transform = `rotate(${textDivProperties.angle}deg) ${transform}`;\n }\n if (transform.length > 0) {\n if (this._enhanceTextSelection) {\n textDivProperties.originalTransform = transform;\n }\n textDiv.style.transform = transform;\n }\n this._textDivProperties.set(textDiv, textDivProperties);\n this._container.appendChild(textDiv);\n },\n\n _render: function TextLayer_render(timeout) {\n const capability = createPromiseCapability();\n let styleCache = Object.create(null);\n\n // The temporary canvas is used to measure text length in the DOM.\n const canvas = document.createElement(\"canvas\");\n if (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"MOZCENTRAL || GENERIC\")\n ) {\n canvas.mozOpaque = true;\n }\n this._layoutTextCtx = canvas.getContext(\"2d\", { alpha: false });\n\n if (this._textContent) {\n const textItems = this._textContent.items;\n const textStyles = this._textContent.styles;\n this._processItems(textItems, textStyles);\n capability.resolve();\n } else if (this._textContentStream) {\n const pump = () => {\n this._reader.read().then(({ value, done }) => {\n if (done) {\n capability.resolve();\n return;\n }\n\n Object.assign(styleCache, value.styles);\n this._processItems(value.items, styleCache);\n pump();\n }, capability.reject);\n };\n\n this._reader = this._textContentStream.getReader();\n pump();\n } else {\n throw new Error(\n 'Neither \"textContent\" nor \"textContentStream\"' +\n \" parameters specified.\"\n );\n }\n\n capability.promise.then(() => {\n styleCache = null;\n if (!timeout) {\n // Render right away\n render(this);\n } else {\n // Schedule\n this._renderTimer = setTimeout(() => {\n render(this);\n this._renderTimer = null;\n }, timeout);\n }\n }, this._capability.reject);\n },\n\n expandTextDivs: function TextLayer_expandTextDivs(expandDivs) {\n if (!this._enhanceTextSelection || !this._renderingDone) {\n return;\n }\n if (this._bounds !== null) {\n expand(this);\n this._bounds = null;\n }\n const transformBuf = [],\n paddingBuf = [];\n\n for (var i = 0, ii = this._textDivs.length; i < ii; i++) {\n const div = this._textDivs[i];\n const divProps = this._textDivProperties.get(div);\n\n if (divProps.isWhitespace) {\n continue;\n }\n if (expandDivs) {\n transformBuf.length = 0;\n paddingBuf.length = 0;\n\n if (divProps.originalTransform) {\n transformBuf.push(divProps.originalTransform);\n }\n if (divProps.paddingTop > 0) {\n paddingBuf.push(`${divProps.paddingTop}px`);\n transformBuf.push(`translateY(${-divProps.paddingTop}px)`);\n } else {\n paddingBuf.push(0);\n }\n if (divProps.paddingRight > 0) {\n paddingBuf.push(`${divProps.paddingRight / divProps.scale}px`);\n } else {\n paddingBuf.push(0);\n }\n if (divProps.paddingBottom > 0) {\n paddingBuf.push(`${divProps.paddingBottom}px`);\n } else {\n paddingBuf.push(0);\n }\n if (divProps.paddingLeft > 0) {\n paddingBuf.push(`${divProps.paddingLeft / divProps.scale}px`);\n transformBuf.push(\n `translateX(${-divProps.paddingLeft / divProps.scale}px)`\n );\n } else {\n paddingBuf.push(0);\n }\n\n div.style.padding = paddingBuf.join(\" \");\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 /**\n * Starts rendering of the text layer.\n *\n * @param {TextLayerRenderParameters} renderParameters\n * @returns {TextLayerRenderTask}\n */\n // eslint-disable-next-line no-shadow\n function renderTextLayer(renderParameters) {\n var task = new TextLayerRenderTask({\n textContent: renderParameters.textContent,\n textContentStream: renderParameters.textContentStream,\n container: renderParameters.container,\n viewport: renderParameters.viewport,\n textDivs: renderParameters.textDivs,\n textContentItemsStr: renderParameters.textContentItemsStr,\n enhanceTextSelection: renderParameters.enhanceTextSelection,\n });\n task._render(renderParameters.timeout);\n return task;\n }\n\n return renderTextLayer;\n})();\n\nexport { renderTextLayer };\n","/* Copyright 2012 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/* globals __non_webpack_require__ */\n/* eslint no-var: error */\n\nimport {\n createObjectURL,\n FONT_IDENTITY_MATRIX,\n IDENTITY_MATRIX,\n ImageKind,\n isNum,\n OPS,\n TextRenderingMode,\n Util,\n warn,\n} from \"../shared/util.js\";\nimport { DOMSVGFactory } from \"./display_utils.js\";\nimport { isNodeJS } from \"../shared/is_node.js\";\n\nlet SVGGraphics = function () {\n throw new Error(\"Not implemented: SVGGraphics\");\n};\n\nif (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n const SVG_DEFAULTS = {\n fontStyle: \"normal\",\n fontWeight: \"normal\",\n fillColor: \"#000000\",\n };\n const XML_NS = \"http://www.w3.org/XML/1998/namespace\";\n const XLINK_NS = \"http://www.w3.org/1999/xlink\";\n const LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\n const LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\n\n const convertImgDataToPng = (function () {\n const PNG_HEADER = new Uint8Array([\n 0x89,\n 0x50,\n 0x4e,\n 0x47,\n 0x0d,\n 0x0a,\n 0x1a,\n 0x0a,\n ]);\n const CHUNK_WRAPPER_SIZE = 12;\n\n const crcTable = new Int32Array(256);\n for (let i = 0; i < 256; i++) {\n let c = i;\n for (let h = 0; h < 8; h++) {\n if (c & 1) {\n c = 0xedb88320 ^ ((c >> 1) & 0x7fffffff);\n } else {\n c = (c >> 1) & 0x7fffffff;\n }\n }\n crcTable[i] = c;\n }\n\n function crc32(data, start, end) {\n let crc = -1;\n for (let i = start; i < end; i++) {\n const a = (crc ^ data[i]) & 0xff;\n const b = crcTable[a];\n crc = (crc >>> 8) ^ b;\n }\n return crc ^ -1;\n }\n\n function writePngChunk(type, body, data, offset) {\n let p = offset;\n const len = body.length;\n\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\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\n data.set(body, p);\n p += body.length;\n\n const 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 let a = 1;\n let b = 0;\n for (let i = start; i < end; ++i) {\n a = (a + (data[i] & 0xff)) % 65521;\n b = (b + a) % 65521;\n }\n return (b << 16) | a;\n }\n\n /**\n * @param {Uint8Array} literals The input data.\n * @returns {Uint8Array} The DEFLATE-compressed data stream in zlib format.\n * This is the required format for compressed streams in the PNG format:\n * http://www.libpng.org/pub/png/spec/1.2/PNG-Compression.html\n */\n function deflateSync(literals) {\n if (!isNodeJS) {\n // zlib is certainly not available outside of Node.js. We can either use\n // the pako library for client-side DEFLATE compression, or use the\n // canvas API of the browser to obtain a more optimal PNG file.\n return deflateSyncUncompressed(literals);\n }\n try {\n // NOTE: This implementation is far from perfect, but already way better\n // than not applying any compression.\n //\n // A better algorithm will try to choose a good predictor/filter and\n // then choose a suitable zlib compression strategy (e.g. 3,Z_RLE).\n //\n // Node v0.11.12 zlib.deflateSync is introduced (and returns a Buffer).\n // Node v3.0.0 Buffer inherits from Uint8Array.\n // Node v8.0.0 zlib.deflateSync accepts Uint8Array as input.\n let input;\n // eslint-disable-next-line no-undef\n if (parseInt(process.versions.node) >= 8) {\n input = literals;\n } else {\n // eslint-disable-next-line no-undef\n input = Buffer.from(literals);\n }\n const output = __non_webpack_require__(\"zlib\").deflateSync(input, {\n level: 9,\n });\n return output instanceof Uint8Array ? output : new Uint8Array(output);\n } catch (e) {\n warn(\n \"Not compressing PNG because zlib.deflateSync is unavailable: \" + e\n );\n }\n\n return deflateSyncUncompressed(literals);\n }\n\n // An implementation of DEFLATE with compression level 0 (Z_NO_COMPRESSION).\n function deflateSyncUncompressed(literals) {\n let len = literals.length;\n const maxBlockLength = 0xffff;\n\n const deflateBlocks = Math.ceil(len / maxBlockLength);\n const idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4);\n let pi = 0;\n idat[pi++] = 0x78; // compression method and flags\n idat[pi++] = 0x9c; // flags\n\n let pos = 0;\n while (len > maxBlockLength) {\n // writing non-final DEFLATE blocks type 0 and length of 65535\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 // writing non-final DEFLATE blocks type 0\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\n const adler = adler32(literals, 0, literals.length); // checksum\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 const width = imgData.width;\n const height = imgData.height;\n let bitDepth, colorType, lineSize;\n const bytes = imgData.data;\n\n switch (kind) {\n case ImageKind.GRAYSCALE_1BPP:\n colorType = 0;\n bitDepth = 1;\n lineSize = (width + 7) >> 3;\n break;\n case ImageKind.RGB_24BPP:\n colorType = 2;\n bitDepth = 8;\n lineSize = width * 3;\n break;\n case ImageKind.RGBA_32BPP:\n colorType = 6;\n bitDepth = 8;\n lineSize = width * 4;\n break;\n default:\n throw new Error(\"invalid format\");\n }\n\n // prefix every row with predictor 0\n const literals = new Uint8Array((1 + lineSize) * height);\n let offsetLiterals = 0,\n offsetBytes = 0;\n for (let y = 0; y < height; ++y) {\n literals[offsetLiterals++] = 0; // no prediction\n literals.set(\n bytes.subarray(offsetBytes, offsetBytes + lineSize),\n offsetLiterals\n );\n offsetBytes += lineSize;\n offsetLiterals += lineSize;\n }\n\n if (kind === ImageKind.GRAYSCALE_1BPP && isMask) {\n // inverting for image masks\n offsetLiterals = 0;\n for (let y = 0; y < height; y++) {\n offsetLiterals++; // skipping predictor\n for (let i = 0; i < lineSize; i++) {\n literals[offsetLiterals++] ^= 0xff;\n }\n }\n }\n\n const ihdr = new Uint8Array([\n (width >> 24) & 0xff,\n (width >> 16) & 0xff,\n (width >> 8) & 0xff,\n width & 0xff,\n (height >> 24) & 0xff,\n (height >> 16) & 0xff,\n (height >> 8) & 0xff,\n height & 0xff,\n bitDepth, // bit depth\n colorType, // color type\n 0x00, // compression method\n 0x00, // filter method\n 0x00, // interlace method\n ]);\n const idat = deflateSync(literals);\n\n // PNG consists of: header, IHDR+data, IDAT+data, and IEND.\n const pngLength =\n PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;\n const data = new Uint8Array(pngLength);\n let 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\n return createObjectURL(data, \"image/png\", forceDataSchema);\n }\n\n // eslint-disable-next-line no-shadow\n return function convertImgDataToPng(imgData, forceDataSchema, isMask) {\n const kind =\n imgData.kind === undefined ? ImageKind.GRAYSCALE_1BPP : imgData.kind;\n return encode(imgData, kind, forceDataSchema, isMask);\n };\n })();\n\n class SVGExtraState {\n constructor() {\n this.fontSizeScale = 1;\n this.fontWeight = SVG_DEFAULTS.fontWeight;\n this.fontSize = 0;\n\n this.textMatrix = IDENTITY_MATRIX;\n this.fontMatrix = FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.textRenderingMode = TextRenderingMode.FILL;\n this.textMatrixScale = 1;\n\n // Current point (in user coordinates)\n this.x = 0;\n this.y = 0;\n\n // Start of text line (in text coordinates)\n this.lineX = 0;\n this.lineY = 0;\n\n // Character and word spacing\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRise = 0;\n\n // Default foreground and background colors\n this.fillColor = SVG_DEFAULTS.fillColor;\n this.strokeColor = \"#000000\";\n\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.lineJoin = \"\";\n this.lineCap = \"\";\n this.miterLimit = 0;\n\n this.dashArray = [];\n this.dashPhase = 0;\n\n this.dependencies = [];\n\n // Clipping\n this.activeClipUrl = null;\n this.clipGroup = null;\n\n this.maskId = \"\";\n }\n\n clone() {\n return Object.create(this);\n }\n\n setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n }\n\n // eslint-disable-next-line no-inner-declarations\n function opListToTree(opList) {\n let opTree = [];\n const tmp = [];\n\n for (const opListElement of opList) {\n if (opListElement.fn === \"save\") {\n opTree.push({ fnId: 92, fn: \"group\", items: [] });\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 return opTree;\n }\n\n /**\n * Format a float number as a string.\n *\n * @param value {number} - The float number to format.\n * @returns {string}\n */\n // eslint-disable-next-line no-inner-declarations\n function pf(value) {\n if (Number.isInteger(value)) {\n return value.toString();\n }\n const s = value.toFixed(10);\n let i = s.length - 1;\n if (s[i] !== \"0\") {\n return s;\n }\n\n // Remove trailing zeros.\n do {\n i--;\n } while (s[i] === \"0\");\n return s.substring(0, s[i] === \".\" ? i : i + 1);\n }\n\n /**\n * Format a transform matrix as a string. The standard rotation, scale and\n * translation matrices are replaced by their shorter forms, and for\n * identity matrices an empty string is returned to save memory.\n *\n * @param m {Array} - The transform matrix to format.\n * @returns {string}\n */\n // eslint-disable-next-line no-inner-declarations\n function pm(m) {\n if (m[4] === 0 && m[5] === 0) {\n if (m[1] === 0 && m[2] === 0) {\n if (m[0] === 1 && m[3] === 1) {\n return \"\";\n }\n return `scale(${pf(m[0])} ${pf(m[3])})`;\n }\n if (m[0] === m[3] && m[1] === -m[2]) {\n const a = (Math.acos(m[0]) * 180) / Math.PI;\n return `rotate(${pf(a)})`;\n }\n } else {\n if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {\n return `translate(${pf(m[4])} ${pf(m[5])})`;\n }\n }\n return (\n `matrix(${pf(m[0])} ${pf(m[1])} ${pf(m[2])} ${pf(m[3])} ${pf(m[4])} ` +\n `${pf(m[5])})`\n );\n }\n\n // The counts below are relevant for all pages, so they have to be global\n // instead of being members of `SVGGraphics` (which is recreated for\n // each page).\n let clipCount = 0;\n let maskCount = 0;\n let shadingCount = 0;\n\n // eslint-disable-next-line no-shadow\n SVGGraphics = class SVGGraphics {\n constructor(commonObjs, objs, forceDataSchema = false) {\n this.svgFactory = new DOMSVGFactory();\n\n this.current = new SVGExtraState();\n this.transformMatrix = IDENTITY_MATRIX; // Graphics state matrix\n this.transformStack = [];\n this.extraStack = [];\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.pendingClip = null;\n this.pendingEOFill = false;\n\n this.embedFonts = false;\n this.embeddedFonts = Object.create(null);\n this.cssStyle = null;\n this.forceDataSchema = !!forceDataSchema;\n\n // In `src/shared/util.js` the operator names are mapped to IDs.\n // The list below represents the reverse of that, i.e., it maps IDs\n // to operator names.\n this._operatorIdMapping = [];\n for (const op in OPS) {\n this._operatorIdMapping[OPS[op]] = op;\n }\n }\n\n save() {\n this.transformStack.push(this.transformMatrix);\n const old = this.current;\n this.extraStack.push(old);\n this.current = old.clone();\n }\n\n restore() {\n this.transformMatrix = this.transformStack.pop();\n this.current = this.extraStack.pop();\n this.pendingClip = null;\n this.tgrp = null;\n }\n\n group(items) {\n this.save();\n this.executeOpTree(items);\n this.restore();\n }\n\n loadDependencies(operatorList) {\n const fnArray = operatorList.fnArray;\n const argsArray = operatorList.argsArray;\n\n for (let i = 0, ii = fnArray.length; i < ii; i++) {\n if (fnArray[i] !== OPS.dependency) {\n continue;\n }\n\n for (const obj of argsArray[i]) {\n const objsPool = obj.startsWith(\"g_\") ? this.commonObjs : this.objs;\n const promise = new Promise(resolve => {\n objsPool.get(obj, resolve);\n });\n this.current.dependencies.push(promise);\n }\n }\n return Promise.all(this.current.dependencies);\n }\n\n transform(a, b, c, d, e, f) {\n const transformMatrix = [a, b, c, d, e, f];\n this.transformMatrix = Util.transform(\n this.transformMatrix,\n transformMatrix\n );\n this.tgrp = null;\n }\n\n getSVG(operatorList, viewport) {\n this.viewport = viewport;\n\n const svgElement = this._initialize(viewport);\n return this.loadDependencies(operatorList).then(() => {\n this.transformMatrix = IDENTITY_MATRIX;\n this.executeOpTree(this.convertOpList(operatorList));\n return svgElement;\n });\n }\n\n convertOpList(operatorList) {\n const operatorIdMapping = this._operatorIdMapping;\n const argsArray = operatorList.argsArray;\n const fnArray = operatorList.fnArray;\n const opList = [];\n for (let i = 0, ii = fnArray.length; i < ii; i++) {\n const fnId = fnArray[i];\n opList.push({\n fnId,\n fn: operatorIdMapping[fnId],\n args: argsArray[i],\n });\n }\n return opListToTree(opList);\n }\n\n executeOpTree(opTree) {\n for (const opTreeElement of opTree) {\n const fn = opTreeElement.fn;\n const fnId = opTreeElement.fnId;\n const args = opTreeElement.args;\n\n switch (fnId | 0) {\n case OPS.beginText:\n this.beginText();\n break;\n case OPS.dependency:\n // Handled in `loadDependencies`, so no warning should be shown.\n break;\n case OPS.setLeading:\n this.setLeading(args);\n break;\n case OPS.setLeadingMoveText:\n this.setLeadingMoveText(args[0], args[1]);\n break;\n case OPS.setFont:\n this.setFont(args);\n break;\n case OPS.showText:\n this.showText(args[0]);\n break;\n case OPS.showSpacedText:\n this.showText(args[0]);\n break;\n case OPS.endText:\n this.endText();\n break;\n case OPS.moveText:\n this.moveText(args[0], args[1]);\n break;\n case OPS.setCharSpacing:\n this.setCharSpacing(args[0]);\n break;\n case OPS.setWordSpacing:\n this.setWordSpacing(args[0]);\n break;\n case OPS.setHScale:\n this.setHScale(args[0]);\n break;\n case OPS.setTextMatrix:\n this.setTextMatrix(\n args[0],\n args[1],\n args[2],\n args[3],\n args[4],\n args[5]\n );\n break;\n case OPS.setTextRise:\n this.setTextRise(args[0]);\n break;\n case OPS.setTextRenderingMode:\n this.setTextRenderingMode(args[0]);\n break;\n case OPS.setLineWidth:\n this.setLineWidth(args[0]);\n break;\n case OPS.setLineJoin:\n this.setLineJoin(args[0]);\n break;\n case OPS.setLineCap:\n this.setLineCap(args[0]);\n break;\n case OPS.setMiterLimit:\n this.setMiterLimit(args[0]);\n break;\n case OPS.setFillRGBColor:\n this.setFillRGBColor(args[0], args[1], args[2]);\n break;\n case OPS.setStrokeRGBColor:\n this.setStrokeRGBColor(args[0], args[1], args[2]);\n break;\n case OPS.setStrokeColorN:\n this.setStrokeColorN(args);\n break;\n case OPS.setFillColorN:\n this.setFillColorN(args);\n break;\n case OPS.shadingFill:\n this.shadingFill(args[0]);\n break;\n case OPS.setDash:\n this.setDash(args[0], args[1]);\n break;\n case OPS.setRenderingIntent:\n this.setRenderingIntent(args[0]);\n break;\n case OPS.setFlatness:\n this.setFlatness(args[0]);\n break;\n case OPS.setGState:\n this.setGState(args[0]);\n break;\n case OPS.fill:\n this.fill();\n break;\n case OPS.eoFill:\n this.eoFill();\n break;\n case OPS.stroke:\n this.stroke();\n break;\n case OPS.fillStroke:\n this.fillStroke();\n break;\n case OPS.eoFillStroke:\n this.eoFillStroke();\n break;\n case OPS.clip:\n this.clip(\"nonzero\");\n break;\n case OPS.eoClip:\n this.clip(\"evenodd\");\n break;\n case OPS.paintSolidColorImageMask:\n this.paintSolidColorImageMask();\n break;\n case OPS.paintImageXObject:\n this.paintImageXObject(args[0]);\n break;\n case OPS.paintInlineImageXObject:\n this.paintInlineImageXObject(args[0]);\n break;\n case OPS.paintImageMaskXObject:\n this.paintImageMaskXObject(args[0]);\n break;\n case OPS.paintFormXObjectBegin:\n this.paintFormXObjectBegin(args[0], args[1]);\n break;\n case OPS.paintFormXObjectEnd:\n this.paintFormXObjectEnd();\n break;\n case OPS.closePath:\n this.closePath();\n break;\n case OPS.closeStroke:\n this.closeStroke();\n break;\n case OPS.closeFillStroke:\n this.closeFillStroke();\n break;\n case OPS.closeEOFillStroke:\n this.closeEOFillStroke();\n break;\n case OPS.nextLine:\n this.nextLine();\n break;\n case OPS.transform:\n this.transform(\n args[0],\n args[1],\n args[2],\n args[3],\n args[4],\n args[5]\n );\n break;\n case OPS.constructPath:\n this.constructPath(args[0], args[1]);\n break;\n case OPS.endPath:\n this.endPath();\n break;\n case 92:\n this.group(opTreeElement.items);\n break;\n default:\n warn(`Unimplemented operator ${fn}`);\n break;\n }\n }\n }\n\n setWordSpacing(wordSpacing) {\n this.current.wordSpacing = wordSpacing;\n }\n\n setCharSpacing(charSpacing) {\n this.current.charSpacing = charSpacing;\n }\n\n nextLine() {\n this.moveText(0, this.current.leading);\n }\n\n setTextMatrix(a, b, c, d, e, f) {\n const current = this.current;\n current.textMatrix = current.lineMatrix = [a, b, c, d, e, f];\n current.textMatrixScale = Math.sqrt(a * a + b * b);\n\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n\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(\n null,\n \"font-size\",\n `${pf(current.fontSize)}px`\n );\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n\n current.txtElement = this.svgFactory.createElement(\"svg:text\");\n current.txtElement.appendChild(current.tspan);\n }\n\n beginText() {\n const current = this.current;\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.textMatrix = IDENTITY_MATRIX;\n current.lineMatrix = 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 moveText(x, y) {\n const current = this.current;\n current.x = current.lineX += x;\n current.y = current.lineY += y;\n\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(\n null,\n \"font-size\",\n `${pf(current.fontSize)}px`\n );\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n }\n\n showText(glyphs) {\n const current = this.current;\n const font = current.font;\n const fontSize = current.fontSize;\n if (fontSize === 0) {\n return;\n }\n\n const fontSizeScale = current.fontSizeScale;\n const charSpacing = current.charSpacing;\n const wordSpacing = current.wordSpacing;\n const fontDirection = current.fontDirection;\n const textHScale = current.textHScale * fontDirection;\n const vertical = font.vertical;\n const spacingDir = vertical ? 1 : -1;\n const defaultVMetrics = font.defaultVMetrics;\n const widthAdvanceScale = fontSize * current.fontMatrix[0];\n\n let x = 0;\n for (const glyph of glyphs) {\n if (glyph === null) {\n // Word break\n x += fontDirection * wordSpacing;\n continue;\n } else if (isNum(glyph)) {\n x += (spacingDir * glyph * fontSize) / 1000;\n continue;\n }\n\n const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n const character = glyph.fontChar;\n let scaledX, scaledY;\n let width = glyph.width;\n if (vertical) {\n let vx;\n const vmetric = glyph.vmetric || defaultVMetrics;\n vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n vx = -vx * widthAdvanceScale;\n const vy = vmetric[2] * widthAdvanceScale;\n\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 if (vertical) {\n current.ycoords.push(-current.y + scaledY);\n }\n current.tspan.textContent += character;\n } else {\n // TODO: To assist with text selection, we should replace the missing\n // character with a space character if charWidth is not zero.\n // But we cannot just do \"character = ' '\", because the ' ' character\n // might actually map to a different glyph.\n }\n\n let charWidth;\n if (vertical) {\n charWidth = width * widthAdvanceScale - spacing * fontDirection;\n } else {\n charWidth = width * widthAdvanceScale + spacing * fontDirection;\n }\n\n x += charWidth;\n }\n current.tspan.setAttributeNS(\n null,\n \"x\",\n current.xcoords.map(pf).join(\" \")\n );\n if (vertical) {\n current.tspan.setAttributeNS(\n null,\n \"y\",\n current.ycoords.map(pf).join(\" \")\n );\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(\n null,\n \"font-size\",\n `${pf(current.fontSize)}px`\n );\n if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {\n current.tspan.setAttributeNS(null, \"font-style\", current.fontStyle);\n }\n if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {\n current.tspan.setAttributeNS(null, \"font-weight\", current.fontWeight);\n }\n\n const fillStrokeMode =\n current.textRenderingMode & TextRenderingMode.FILL_STROKE_MASK;\n if (\n fillStrokeMode === TextRenderingMode.FILL ||\n fillStrokeMode === TextRenderingMode.FILL_STROKE\n ) {\n if (current.fillColor !== SVG_DEFAULTS.fillColor) {\n current.tspan.setAttributeNS(null, \"fill\", current.fillColor);\n }\n if (current.fillAlpha < 1) {\n current.tspan.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n }\n } else if (current.textRenderingMode === TextRenderingMode.ADD_TO_PATH) {\n // Workaround for Firefox: We must set fill=\"transparent\" because\n // fill=\"none\" would generate an empty clipping path.\n current.tspan.setAttributeNS(null, \"fill\", \"transparent\");\n } else {\n current.tspan.setAttributeNS(null, \"fill\", \"none\");\n }\n\n if (\n fillStrokeMode === TextRenderingMode.STROKE ||\n fillStrokeMode === TextRenderingMode.FILL_STROKE\n ) {\n const lineWidthScale = 1 / (current.textMatrixScale || 1);\n this._setStrokeAttributes(current.tspan, lineWidthScale);\n }\n\n // Include the text rise in the text matrix since the `pm` function\n // creates the SVG element's `translate` entry (work on a copy to avoid\n // altering the original text matrix).\n let textMatrix = current.textMatrix;\n if (current.textRise !== 0) {\n textMatrix = textMatrix.slice();\n textMatrix[5] += current.textRise;\n }\n\n current.txtElement.setAttributeNS(\n null,\n \"transform\",\n `${pm(textMatrix)} scale(${pf(textHScale)}, -1)`\n );\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 setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n }\n\n addFontStyle(fontObj) {\n if (!fontObj.data) {\n throw new Error(\n \"addFontStyle: No font data available, \" +\n '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 const url = createObjectURL(\n fontObj.data,\n fontObj.mimetype,\n this.forceDataSchema\n );\n this.cssStyle.textContent +=\n `@font-face { font-family: \"${fontObj.loadedName}\";` +\n ` src: url(${url}); }\\n`;\n }\n\n setFont(details) {\n const current = this.current;\n const fontObj = this.commonObjs.get(details[0]);\n let size = details[1];\n current.font = fontObj;\n\n if (\n this.embedFonts &&\n !fontObj.missingFile &&\n !this.embeddedFonts[fontObj.loadedName]\n ) {\n this.addFontStyle(fontObj);\n this.embeddedFonts[fontObj.loadedName] = fontObj;\n }\n\n current.fontMatrix = fontObj.fontMatrix\n ? fontObj.fontMatrix\n : FONT_IDENTITY_MATRIX;\n\n let bold = \"normal\";\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n const 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 current.fontSize = size;\n current.fontFamily = fontObj.loadedName;\n current.fontWeight = bold;\n current.fontStyle = italic;\n\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 endText() {\n const current = this.current;\n if (\n current.textRenderingMode & TextRenderingMode.ADD_TO_PATH_FLAG &&\n current.txtElement &&\n current.txtElement.hasChildNodes()\n ) {\n // If no glyphs are shown (i.e. no child nodes), no clipping occurs.\n current.element = current.txtElement;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n\n // Path properties\n setLineWidth(width) {\n if (width > 0) {\n this.current.lineWidth = width;\n }\n }\n\n setLineCap(style) {\n this.current.lineCap = LINE_CAP_STYLES[style];\n }\n\n setLineJoin(style) {\n this.current.lineJoin = LINE_JOIN_STYLES[style];\n }\n\n setMiterLimit(limit) {\n this.current.miterLimit = limit;\n }\n\n setStrokeAlpha(strokeAlpha) {\n this.current.strokeAlpha = strokeAlpha;\n }\n\n setStrokeRGBColor(r, g, b) {\n this.current.strokeColor = Util.makeCssRgb(r, g, b);\n }\n\n setFillAlpha(fillAlpha) {\n this.current.fillAlpha = fillAlpha;\n }\n\n setFillRGBColor(r, g, b) {\n this.current.fillColor = 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 setStrokeColorN(args) {\n this.current.strokeColor = this._makeColorN_Pattern(args);\n }\n\n setFillColorN(args) {\n this.current.fillColor = this._makeColorN_Pattern(args);\n }\n\n shadingFill(args) {\n const width = this.viewport.width;\n const height = this.viewport.height;\n const inv = Util.inverseTransform(this.transformMatrix);\n const bl = Util.applyTransform([0, 0], inv);\n const br = Util.applyTransform([0, height], inv);\n const ul = Util.applyTransform([width, 0], inv);\n const ur = Util.applyTransform([width, height], inv);\n const x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n const y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n const x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n const y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n\n const 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 if (this.current.fillAlpha < 1) {\n rect.setAttributeNS(null, \"fill-opacity\", this.current.fillAlpha);\n }\n this._ensureTransformGroup().appendChild(rect);\n }\n\n /**\n * @private\n */\n _makeColorN_Pattern(args) {\n if (args[0] === \"TilingPattern\") {\n return this._makeTilingPattern(args);\n }\n return this._makeShadingPattern(args);\n }\n\n /**\n * @private\n */\n _makeTilingPattern(args) {\n const color = args[1];\n const operatorList = args[2];\n const matrix = args[3] || IDENTITY_MATRIX;\n const [x0, y0, x1, y1] = args[4];\n const xstep = args[5];\n const ystep = args[6];\n const paintType = args[7];\n\n const tilingId = `shading${shadingCount++}`;\n const [tx0, ty0] = Util.applyTransform([x0, y0], matrix);\n const [tx1, ty1] = Util.applyTransform([x1, y1], matrix);\n const [xscale, yscale] = Util.singularValueDecompose2dScale(matrix);\n const txstep = xstep * xscale;\n const tystep = ystep * yscale;\n\n const 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\", `${tx0}`);\n tiling.setAttributeNS(null, \"y\", `${ty0}`);\n\n // Save current state.\n const svg = this.svg;\n const transformMatrix = this.transformMatrix;\n const fillColor = this.current.fillColor;\n const strokeColor = this.current.strokeColor;\n\n const bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0);\n this.svg = bbox;\n this.transformMatrix = matrix;\n if (paintType === 2) {\n const cssColor = Util.makeCssRgb(...color);\n this.current.fillColor = cssColor;\n this.current.strokeColor = cssColor;\n }\n this.executeOpTree(this.convertOpList(operatorList));\n\n // Restore saved state.\n this.svg = svg;\n this.transformMatrix = transformMatrix;\n this.current.fillColor = fillColor;\n this.current.strokeColor = strokeColor;\n\n tiling.appendChild(bbox.childNodes[0]);\n this.defs.appendChild(tiling);\n return `url(#${tilingId})`;\n }\n\n /**\n * @private\n */\n _makeShadingPattern(args) {\n switch (args[0]) {\n case \"RadialAxial\":\n const shadingId = `shading${shadingCount++}`;\n const colorStops = args[3];\n let gradient;\n\n switch (args[1]) {\n case \"axial\":\n const point0 = args[4];\n const 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 case \"radial\":\n const focalPoint = args[4];\n const circlePoint = args[5];\n const focalRadius = args[6];\n const 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 default:\n throw new Error(`Unknown RadialAxial type: ${args[1]}`);\n }\n for (const colorStop of colorStops) {\n const 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 this.defs.appendChild(gradient);\n return `url(#${shadingId})`;\n case \"Mesh\":\n warn(\"Unimplemented pattern Mesh\");\n return null;\n case \"Dummy\":\n return \"hotpink\";\n default:\n throw new Error(`Unknown IR type: ${args[0]}`);\n }\n }\n\n setDash(dashArray, dashPhase) {\n this.current.dashArray = dashArray;\n this.current.dashPhase = dashPhase;\n }\n\n constructPath(ops, args) {\n const current = this.current;\n let x = current.x,\n y = current.y;\n let d = [];\n let j = 0;\n\n for (const op of ops) {\n switch (op | 0) {\n case OPS.rectangle:\n x = args[j++];\n y = args[j++];\n const width = args[j++];\n const height = args[j++];\n const xw = x + width;\n const yh = y + height;\n d.push(\n \"M\",\n pf(x),\n pf(y),\n \"L\",\n pf(xw),\n pf(y),\n \"L\",\n pf(xw),\n pf(yh),\n \"L\",\n pf(x),\n pf(yh),\n \"Z\"\n );\n break;\n case OPS.moveTo:\n x = args[j++];\n y = args[j++];\n d.push(\"M\", pf(x), pf(y));\n break;\n case OPS.lineTo:\n x = args[j++];\n y = args[j++];\n d.push(\"L\", pf(x), pf(y));\n break;\n case OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n d.push(\n \"C\",\n pf(args[j]),\n pf(args[j + 1]),\n pf(args[j + 2]),\n pf(args[j + 3]),\n pf(x),\n pf(y)\n );\n j += 6;\n break;\n case OPS.curveTo2:\n d.push(\n \"C\",\n pf(x),\n pf(y),\n pf(args[j]),\n pf(args[j + 1]),\n pf(args[j + 2]),\n pf(args[j + 3])\n );\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n case OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n d.push(\n \"C\",\n pf(args[j]),\n pf(args[j + 1]),\n pf(x),\n pf(y),\n pf(x),\n pf(y)\n );\n j += 4;\n break;\n case OPS.closePath:\n d.push(\"Z\");\n break;\n }\n }\n\n d = d.join(\" \");\n\n if (\n current.path &&\n ops.length > 0 &&\n ops[0] !== OPS.rectangle &&\n ops[0] !== OPS.moveTo\n ) {\n // If a path does not start with an OPS.rectangle or OPS.moveTo, it has\n // probably been divided into two OPS.constructPath operators by\n // OperatorList. Append the commands to the previous path element.\n d = current.path.getAttributeNS(null, \"d\") + d;\n } else {\n current.path = this.svgFactory.createElement(\"svg:path\");\n this._ensureTransformGroup().appendChild(current.path);\n }\n\n current.path.setAttributeNS(null, \"d\", d);\n current.path.setAttributeNS(null, \"fill\", \"none\");\n\n // Saving a reference in current.element so that it can be addressed\n // in 'fill' and 'stroke'\n current.element = current.path;\n current.setCurrentPoint(x, y);\n }\n\n endPath() {\n const current = this.current;\n\n // Painting operators end a path.\n current.path = null;\n\n if (!this.pendingClip) {\n return;\n }\n if (!current.element) {\n this.pendingClip = null;\n return;\n }\n\n // Add the current path to a clipping path.\n const clipId = `clippath${clipCount++}`;\n const clipPath = this.svgFactory.createElement(\"svg:clipPath\");\n clipPath.setAttributeNS(null, \"id\", clipId);\n clipPath.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n\n // A deep clone is needed when text is used as a clipping path.\n const clipElement = current.element.cloneNode(true);\n if (this.pendingClip === \"evenodd\") {\n clipElement.setAttributeNS(null, \"clip-rule\", \"evenodd\");\n } else {\n clipElement.setAttributeNS(null, \"clip-rule\", \"nonzero\");\n }\n this.pendingClip = null;\n clipPath.appendChild(clipElement);\n this.defs.appendChild(clipPath);\n\n if (current.activeClipUrl) {\n // The previous clipping group content can go out of order -- resetting\n // cached clipGroups.\n current.clipGroup = null;\n this.extraStack.forEach(function (prev) {\n prev.clipGroup = null;\n });\n // Intersect with the previous clipping path.\n clipPath.setAttributeNS(null, \"clip-path\", current.activeClipUrl);\n }\n current.activeClipUrl = `url(#${clipId})`;\n\n this.tgrp = null;\n }\n\n clip(type) {\n this.pendingClip = type;\n }\n\n closePath() {\n const current = this.current;\n if (current.path) {\n const d = `${current.path.getAttributeNS(null, \"d\")}Z`;\n current.path.setAttributeNS(null, \"d\", d);\n }\n }\n\n setLeading(leading) {\n this.current.leading = -leading;\n }\n\n setTextRise(textRise) {\n this.current.textRise = textRise;\n }\n\n setTextRenderingMode(textRenderingMode) {\n this.current.textRenderingMode = textRenderingMode;\n }\n\n setHScale(scale) {\n this.current.textHScale = scale / 100;\n }\n\n setRenderingIntent(intent) {\n // This operation is ignored since we haven't found a use case for it yet.\n }\n\n setFlatness(flatness) {\n // This operation is ignored since we haven't found a use case for it yet.\n }\n\n setGState(states) {\n for (const [key, value] of states) {\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n case \"LC\":\n this.setLineCap(value);\n break;\n case \"LJ\":\n this.setLineJoin(value);\n break;\n case \"ML\":\n this.setMiterLimit(value);\n break;\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n case \"FL\":\n this.setFlatness(value);\n break;\n case \"Font\":\n this.setFont(value);\n break;\n case \"CA\":\n this.setStrokeAlpha(value);\n break;\n case \"ca\":\n this.setFillAlpha(value);\n break;\n default:\n warn(`Unimplemented graphic state operator ${key}`);\n break;\n }\n }\n }\n\n fill() {\n const current = this.current;\n if (current.element) {\n current.element.setAttributeNS(null, \"fill\", current.fillColor);\n current.element.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n this.endPath();\n }\n }\n\n stroke() {\n const current = this.current;\n if (current.element) {\n this._setStrokeAttributes(current.element);\n current.element.setAttributeNS(null, \"fill\", \"none\");\n this.endPath();\n }\n }\n\n /**\n * @private\n */\n _setStrokeAttributes(element, lineWidthScale = 1) {\n const current = this.current;\n let dashArray = current.dashArray;\n if (lineWidthScale !== 1 && dashArray.length > 0) {\n dashArray = dashArray.map(function (value) {\n return lineWidthScale * value;\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(\n null,\n \"stroke-width\",\n pf(lineWidthScale * current.lineWidth) + \"px\"\n );\n element.setAttributeNS(\n null,\n \"stroke-dasharray\",\n dashArray.map(pf).join(\" \")\n );\n element.setAttributeNS(\n null,\n \"stroke-dashoffset\",\n pf(lineWidthScale * current.dashPhase) + \"px\"\n );\n }\n\n eoFill() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n }\n this.fill();\n }\n\n fillStroke() {\n // Order is important since stroke wants fill to be none.\n // First stroke, then if fill needed, it will be overwritten.\n this.stroke();\n this.fill();\n }\n\n eoFillStroke() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n }\n this.fillStroke();\n }\n\n closeStroke() {\n this.closePath();\n this.stroke();\n }\n\n closeFillStroke() {\n this.closePath();\n this.fillStroke();\n }\n\n closeEOFillStroke() {\n this.closePath();\n this.eoFillStroke();\n }\n\n paintSolidColorImageMask() {\n const 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 paintImageXObject(objId) {\n const imgData = this.objs.get(objId);\n if (!imgData) {\n warn(`Dependent image with object ID ${objId} is not ready yet`);\n return;\n }\n this.paintInlineImageXObject(imgData);\n }\n\n paintInlineImageXObject(imgData, mask) {\n const width = imgData.width;\n const height = imgData.height;\n\n const imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);\n const 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\n const 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(\n null,\n \"transform\",\n `scale(${pf(1 / width)} ${pf(-1 / height)})`\n );\n if (mask) {\n mask.appendChild(imgEl);\n } else {\n this._ensureTransformGroup().appendChild(imgEl);\n }\n }\n\n paintImageMaskXObject(imgData) {\n const current = this.current;\n const width = imgData.width;\n const height = imgData.height;\n const fillColor = current.fillColor;\n\n current.maskId = `mask${maskCount++}`;\n const mask = this.svgFactory.createElement(\"svg:mask\");\n mask.setAttributeNS(null, \"id\", current.maskId);\n\n const rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", pf(width));\n rect.setAttributeNS(null, \"height\", pf(height));\n rect.setAttributeNS(null, \"fill\", fillColor);\n rect.setAttributeNS(null, \"mask\", `url(#${current.maskId})`);\n\n this.defs.appendChild(mask);\n this._ensureTransformGroup().appendChild(rect);\n\n this.paintInlineImageXObject(imgData, mask);\n }\n\n paintFormXObjectBegin(matrix, bbox) {\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform(\n matrix[0],\n matrix[1],\n matrix[2],\n matrix[3],\n matrix[4],\n matrix[5]\n );\n }\n\n if (bbox) {\n const width = bbox[2] - bbox[0];\n const height = bbox[3] - bbox[1];\n\n const 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 paintFormXObjectEnd() {}\n\n /**\n * @private\n */\n _initialize(viewport) {\n const svg = this.svgFactory.create(viewport.width, viewport.height);\n\n // Create the definitions element.\n const definitions = this.svgFactory.createElement(\"svg:defs\");\n svg.appendChild(definitions);\n this.defs = definitions;\n\n // Create the root group element, which acts a container for all other\n // groups and applies the viewport transform.\n const rootGroup = this.svgFactory.createElement(\"svg:g\");\n rootGroup.setAttributeNS(null, \"transform\", pm(viewport.transform));\n svg.appendChild(rootGroup);\n\n // For the construction of the SVG image we are only interested in the\n // root group, so we expose it as the entry point of the SVG image for\n // the other code in this class.\n this.svg = rootGroup;\n\n return svg;\n }\n\n /**\n * @private\n */\n _ensureClipGroup() {\n if (!this.current.clipGroup) {\n const clipGroup = this.svgFactory.createElement(\"svg:g\");\n clipGroup.setAttributeNS(null, \"clip-path\", this.current.activeClipUrl);\n this.svg.appendChild(clipGroup);\n this.current.clipGroup = clipGroup;\n }\n return this.current.clipGroup;\n }\n\n /**\n * @private\n */\n _ensureTransformGroup() {\n if (!this.tgrp) {\n this.tgrp = this.svgFactory.createElement(\"svg:g\");\n this.tgrp.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n if (this.current.activeClipUrl) {\n this._ensureClipGroup().appendChild(this.tgrp);\n } else {\n this.svg.appendChild(this.tgrp);\n }\n }\n return this.tgrp;\n }\n };\n}\n\nexport { SVGGraphics };\n","/* Copyright 2012 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/* globals __non_webpack_require__ */\n\nimport {\n AbortException,\n assert,\n createPromiseCapability,\n MissingPDFException,\n} from \"../shared/util.js\";\nimport {\n extractFilenameFromHeader,\n validateRangeRequestCapabilities,\n} from \"./network_utils.js\";\n\nif (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) {\n throw new Error(\n 'Module \"./node_stream.js\" shall not be used with MOZCENTRAL builds.'\n );\n}\n\nconst fs = __non_webpack_require__(\"fs\");\nconst http = __non_webpack_require__(\"http\");\nconst https = __non_webpack_require__(\"https\");\nconst url = __non_webpack_require__(\"url\");\n\nconst fileUriRegex = /^file:\\/\\/\\/[a-zA-Z]:\\//;\n\nfunction parseUrl(sourceUrl) {\n const parsedUrl = url.parse(sourceUrl);\n if (parsedUrl.protocol === \"file:\" || parsedUrl.host) {\n return parsedUrl;\n }\n // Prepending 'file:///' to Windows absolute path.\n if (/^[a-z]:[/\\\\]/i.test(sourceUrl)) {\n return url.parse(`file:///${sourceUrl}`);\n }\n // Changes protocol to 'file:' if url refers to filesystem.\n if (!parsedUrl.host) {\n parsedUrl.protocol = \"file:\";\n }\n return parsedUrl;\n}\n\nclass PDFNodeStream {\n constructor(source) {\n this.source = source;\n this.url = parseUrl(source.url);\n this.isHttp =\n this.url.protocol === \"http:\" || this.url.protocol === \"https:\";\n // Check if url refers to filesystem.\n this.isFsUrl = this.url.protocol === \"file:\";\n this.httpHeaders = (this.isHttp && source.httpHeaders) || {};\n\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n get _progressiveDataLength() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n\n getFullReader() {\n assert(\n !this._fullRequestReader,\n \"PDFNodeStream.getFullReader can only be called once.\"\n );\n this._fullRequestReader = this.isFsUrl\n ? new PDFNodeStreamFsFullReader(this)\n : new PDFNodeStreamFullReader(this);\n return this._fullRequestReader;\n }\n\n getRangeReader(start, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n const rangeReader = this.isFsUrl\n ? new PDFNodeStreamFsRangeReader(this, start, end)\n : new PDFNodeStreamRangeReader(this, start, end);\n this._rangeRequestReaders.push(rangeReader);\n return rangeReader;\n }\n\n cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n const readers = this._rangeRequestReaders.slice(0);\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n}\n\nclass BaseFullReader {\n constructor(stream) {\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n const source = stream.source;\n this._contentLength = source.length; // optional\n this._loaded = 0;\n this._filename = null;\n\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n\n this._readableStream = null;\n this._readCapability = createPromiseCapability();\n this._headersCapability = createPromiseCapability();\n }\n\n get headersReady() {\n return this._headersCapability.promise;\n }\n\n get filename() {\n return this._filename;\n }\n\n get contentLength() {\n return this._contentLength;\n }\n\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n\n async read() {\n await this._readCapability.promise;\n if (this._done) {\n return { value: undefined, done: true };\n }\n if (this._storedError) {\n throw this._storedError;\n }\n\n const chunk = this._readableStream.read();\n if (chunk === null) {\n this._readCapability = createPromiseCapability();\n return this.read();\n }\n this._loaded += chunk.length;\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength,\n });\n }\n // Ensure that `read()` method returns ArrayBuffer.\n const buffer = new Uint8Array(chunk).buffer;\n return { value: buffer, done: false };\n }\n\n cancel(reason) {\n // Call `this._error()` method when cancel is called\n // before _readableStream is set.\n if (!this._readableStream) {\n this._error(reason);\n return;\n }\n this._readableStream.destroy(reason);\n }\n\n _error(reason) {\n this._storedError = reason;\n this._readCapability.resolve();\n }\n\n _setReadableStream(readableStream) {\n this._readableStream = readableStream;\n readableStream.on(\"readable\", () => {\n this._readCapability.resolve();\n });\n\n readableStream.on(\"end\", () => {\n // Destroy readable to minimize resource usage.\n readableStream.destroy();\n this._done = true;\n this._readCapability.resolve();\n });\n\n readableStream.on(\"error\", reason => {\n this._error(reason);\n });\n\n // We need to stop reading when range is supported and streaming is\n // disabled.\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this._error(new AbortException(\"streaming is disabled\"));\n }\n\n // Destroy ReadableStream if already in errored state.\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n}\n\nclass BaseRangeReader {\n constructor(stream) {\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 = createPromiseCapability();\n const source = stream.source;\n this._isStreamingSupported = !source.disableStream;\n }\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n\n async read() {\n await this._readCapability.promise;\n if (this._done) {\n return { value: undefined, done: true };\n }\n if (this._storedError) {\n throw this._storedError;\n }\n\n const chunk = this._readableStream.read();\n if (chunk === null) {\n this._readCapability = createPromiseCapability();\n return this.read();\n }\n this._loaded += chunk.length;\n if (this.onProgress) {\n this.onProgress({ loaded: this._loaded });\n }\n // Ensure that `read()` method returns ArrayBuffer.\n const buffer = new Uint8Array(chunk).buffer;\n return { value: buffer, done: false };\n }\n\n cancel(reason) {\n // Call `this._error()` method when cancel is called\n // before _readableStream is set.\n if (!this._readableStream) {\n this._error(reason);\n return;\n }\n this._readableStream.destroy(reason);\n }\n\n _error(reason) {\n this._storedError = reason;\n this._readCapability.resolve();\n }\n\n _setReadableStream(readableStream) {\n this._readableStream = readableStream;\n readableStream.on(\"readable\", () => {\n this._readCapability.resolve();\n });\n\n readableStream.on(\"end\", () => {\n // Destroy readableStream to minimize resource usage.\n readableStream.destroy();\n this._done = true;\n this._readCapability.resolve();\n });\n\n readableStream.on(\"error\", reason => {\n this._error(reason);\n });\n\n // Destroy readableStream if already in errored state.\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\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,\n };\n}\n\nclass PDFNodeStreamFullReader extends BaseFullReader {\n constructor(stream) {\n super(stream);\n\n const handleResponse = response => {\n if (response.statusCode === 404) {\n const error = new MissingPDFException(`Missing PDF \"${this._url}\".`);\n this._storedError = error;\n this._headersCapability.reject(error);\n return;\n }\n this._headersCapability.resolve();\n this._setReadableStream(response);\n\n const getResponseHeader = name => {\n // Make sure that headers name are in lower case, as mentioned\n // here: https://nodejs.org/api/http.html#http_message_headers.\n return this._readableStream.headers[name.toLowerCase()];\n };\n const {\n allowRangeRequests,\n suggestedLength,\n } = validateRangeRequestCapabilities({\n getResponseHeader,\n isHttp: stream.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange,\n });\n\n this._isRangeSupported = allowRangeRequests;\n // Setting right content length.\n this._contentLength = suggestedLength || this._contentLength;\n\n this._filename = extractFilenameFromHeader(getResponseHeader);\n };\n\n this._request = null;\n if (this._url.protocol === \"http:\") {\n this._request = http.request(\n createRequestOptions(this._url, stream.httpHeaders),\n handleResponse\n );\n } else {\n this._request = https.request(\n createRequestOptions(this._url, stream.httpHeaders),\n handleResponse\n );\n }\n\n this._request.on(\"error\", reason => {\n this._storedError = reason;\n this._headersCapability.reject(reason);\n });\n // Note: `request.end(data)` is used to write `data` to request body\n // and notify end of request. But one should always call `request.end()`\n // even if there is no data to write -- (to notify the end of request).\n this._request.end();\n }\n}\n\nclass PDFNodeStreamRangeReader extends BaseRangeReader {\n constructor(stream, start, end) {\n super(stream);\n\n this._httpHeaders = {};\n for (const property in stream.httpHeaders) {\n const value = stream.httpHeaders[property];\n if (typeof value === \"undefined\") {\n continue;\n }\n this._httpHeaders[property] = value;\n }\n this._httpHeaders.Range = `bytes=${start}-${end - 1}`;\n\n const handleResponse = response => {\n if (response.statusCode === 404) {\n const error = new MissingPDFException(`Missing PDF \"${this._url}\".`);\n this._storedError = error;\n return;\n }\n this._setReadableStream(response);\n };\n\n this._request = null;\n if (this._url.protocol === \"http:\") {\n this._request = http.request(\n createRequestOptions(this._url, this._httpHeaders),\n handleResponse\n );\n } else {\n this._request = https.request(\n createRequestOptions(this._url, this._httpHeaders),\n handleResponse\n );\n }\n\n this._request.on(\"error\", reason => {\n this._storedError = reason;\n });\n this._request.end();\n }\n}\n\nclass PDFNodeStreamFsFullReader extends BaseFullReader {\n constructor(stream) {\n super(stream);\n\n let path = decodeURIComponent(this._url.path);\n\n // Remove the extra slash to get right path from url like `file:///C:/`\n if (fileUriRegex.test(this._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n\n fs.lstat(path, (error, stat) => {\n if (error) {\n if (error.code === \"ENOENT\") {\n error = new MissingPDFException(`Missing PDF \"${path}\".`);\n }\n this._storedError = error;\n this._headersCapability.reject(error);\n return;\n }\n // Setting right content length.\n this._contentLength = stat.size;\n\n this._setReadableStream(fs.createReadStream(path));\n this._headersCapability.resolve();\n });\n }\n}\n\nclass PDFNodeStreamFsRangeReader extends BaseRangeReader {\n constructor(stream, start, end) {\n super(stream);\n\n let path = decodeURIComponent(this._url.path);\n\n // Remove the extra slash to get right path from url like `file:///C:/`\n if (fileUriRegex.test(this._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n\n this._setReadableStream(fs.createReadStream(path, { start, end: end - 1 }));\n }\n}\n\nexport { PDFNodeStream };\n","/* Copyright 2012 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\nimport {\n assert,\n MissingPDFException,\n UnexpectedResponseException,\n} from \"../shared/util.js\";\nimport { getFilenameFromContentDispositionHeader } from \"./content_disposition.js\";\n\nfunction validateRangeRequestCapabilities({\n getResponseHeader,\n isHttp,\n rangeChunkSize,\n disableRange,\n}) {\n assert(rangeChunkSize > 0, \"Range chunk size must be larger than zero\");\n const returnValues = {\n allowRangeRequests: false,\n suggestedLength: undefined,\n };\n\n const length = parseInt(getResponseHeader(\"Content-Length\"), 10);\n if (!Number.isInteger(length)) {\n return returnValues;\n }\n\n returnValues.suggestedLength = length;\n\n if (length <= 2 * rangeChunkSize) {\n // The file size is smaller than the size of two chunks, so it does not\n // make any sense to abort the request and retry with a range request.\n return returnValues;\n }\n\n if (disableRange || !isHttp) {\n return returnValues;\n }\n if (getResponseHeader(\"Accept-Ranges\") !== \"bytes\") {\n return returnValues;\n }\n\n const contentEncoding = getResponseHeader(\"Content-Encoding\") || \"identity\";\n if (contentEncoding !== \"identity\") {\n return returnValues;\n }\n\n returnValues.allowRangeRequests = true;\n return returnValues;\n}\n\nfunction extractFilenameFromHeader(getResponseHeader) {\n const contentDisposition = getResponseHeader(\"Content-Disposition\");\n if (contentDisposition) {\n let filename = getFilenameFromContentDispositionHeader(contentDisposition);\n if (filename.includes(\"%\")) {\n try {\n filename = decodeURIComponent(filename);\n } catch (ex) {}\n }\n if (/\\.pdf$/i.test(filename)) {\n return filename;\n }\n }\n return null;\n}\n\nfunction createResponseStatusError(status, url) {\n if (status === 404 || (status === 0 && url.startsWith(\"file:\"))) {\n return new MissingPDFException('Missing PDF \"' + url + '\".');\n }\n return new UnexpectedResponseException(\n \"Unexpected server response (\" +\n status +\n ') while retrieving PDF \"' +\n url +\n '\".',\n status\n );\n}\n\nfunction validateResponseStatus(status) {\n return status === 200 || status === 206;\n}\n\nexport {\n createResponseStatusError,\n extractFilenameFromHeader,\n validateRangeRequestCapabilities,\n validateResponseStatus,\n};\n","/* Copyright 2017 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\n// This getFilenameFromContentDispositionHeader function is adapted from\n// https://github.com/Rob--W/open-in-browser/blob/7e2e35a38b8b4e981b11da7b2f01df0149049e92/extension/content-disposition.js\n// with the following changes:\n// - Modified to conform to PDF.js's coding style.\n// - Support UTF-8 decoding when TextDecoder is unsupported.\n// - Move return to the end of the function to prevent Babel from dropping the\n// function declarations.\n\n/**\n * Extract file name from the Content-Disposition HTTP response header.\n *\n * @param {string} contentDisposition\n * @returns {string} Filename, if found in the Content-Disposition header.\n */\nfunction getFilenameFromContentDispositionHeader(contentDisposition) {\n let needsEncodingFixup = true;\n\n // filename*=ext-value (\"ext-value\" from RFC 5987, referenced by RFC 6266).\n let tmp = toParamRegExp(\"filename\\\\*\", \"i\").exec(contentDisposition);\n if (tmp) {\n tmp = tmp[1];\n let filename = rfc2616unquote(tmp);\n filename = unescape(filename);\n filename = rfc5987decode(filename);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n\n // Continuations (RFC 2231 section 3, referenced by RFC 5987 section 3.1).\n // filename*n*=part\n // filename*n=part\n tmp = rfc2231getparam(contentDisposition);\n if (tmp) {\n // RFC 2047, section\n const filename = rfc2047decode(tmp);\n return fixupEncoding(filename);\n }\n\n // filename=value (RFC 5987, section 4.1).\n tmp = toParamRegExp(\"filename\", \"i\").exec(contentDisposition);\n if (tmp) {\n tmp = tmp[1];\n let filename = rfc2616unquote(tmp);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n\n // After this line there are only function declarations. We cannot put\n // \"return\" here for readability because babel would then drop the function\n // declarations...\n function toParamRegExp(attributePattern, flags) {\n return new RegExp(\n \"(?:^|;)\\\\s*\" +\n attributePattern +\n \"\\\\s*=\\\\s*\" +\n // Captures: value = token | quoted-string\n // (RFC 2616, section 3.6 and referenced by RFC 6266 4.1)\n \"(\" +\n '[^\";\\\\s][^;\\\\s]*' +\n \"|\" +\n '\"(?:[^\"\\\\\\\\]|\\\\\\\\\"?)+\"?' +\n \")\",\n flags\n );\n }\n function textdecode(encoding, value) {\n if (encoding) {\n if (!/^[\\x00-\\xFF]+$/.test(value)) {\n return value;\n }\n try {\n const decoder = new TextDecoder(encoding, { fatal: true });\n const 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 // TextDecoder constructor threw - unrecognized encoding.\n // Or TextDecoder API is not available (in IE / Edge).\n if (/^utf-?8$/i.test(encoding)) {\n // UTF-8 is commonly used, try to support it in another way:\n try {\n value = decodeURIComponent(escape(value));\n needsEncodingFixup = false;\n } catch (err) {}\n }\n }\n }\n return value;\n }\n function fixupEncoding(value) {\n if (needsEncodingFixup && /[\\x80-\\xff]/.test(value)) {\n // Maybe multi-byte UTF-8.\n value = textdecode(\"utf-8\", value);\n if (needsEncodingFixup) {\n // Try iso-8859-1 encoding.\n value = textdecode(\"iso-8859-1\", value);\n }\n }\n return value;\n }\n function rfc2231getparam(contentDispositionStr) {\n const matches = [];\n let match;\n // Iterate over all filename*n= and filename*n*= with n being an integer\n // of at least zero. Any non-zero number must not start with '0'.\n const iter = toParamRegExp(\"filename\\\\*((?!0\\\\d)\\\\d+)(\\\\*?)\", \"ig\");\n while ((match = iter.exec(contentDispositionStr)) !== null) {\n let [, n, quot, part] = match; // eslint-disable-line prefer-const\n n = parseInt(n, 10);\n if (n in matches) {\n // Ignore anything after the invalid second filename*0.\n if (n === 0) {\n break;\n }\n continue;\n }\n matches[n] = [quot, part];\n }\n const parts = [];\n for (let n = 0; n < matches.length; ++n) {\n if (!(n in matches)) {\n // Numbers must be consecutive. Truncate when there is a hole.\n break;\n }\n let [quot, part] = matches[n]; // eslint-disable-line prefer-const\n part = rfc2616unquote(part);\n if (quot) {\n part = unescape(part);\n if (n === 0) {\n part = rfc5987decode(part);\n }\n }\n parts.push(part);\n }\n return parts.join(\"\");\n }\n function rfc2616unquote(value) {\n if (value.startsWith('\"')) {\n const parts = value.slice(1).split('\\\\\"');\n // Find the first unescaped \" and terminate there.\n for (let i = 0; i < parts.length; ++i) {\n const quotindex = parts[i].indexOf('\"');\n if (quotindex !== -1) {\n parts[i] = parts[i].slice(0, quotindex);\n parts.length = i + 1; // Truncates and stop the iteration.\n }\n parts[i] = parts[i].replace(/\\\\(.)/g, \"$1\");\n }\n value = parts.join('\"');\n }\n return value;\n }\n function rfc5987decode(extvalue) {\n // Decodes \"ext-value\" from RFC 5987.\n const encodingend = extvalue.indexOf(\"'\");\n if (encodingend === -1) {\n // Some servers send \"filename*=\" without encoding 'language' prefix,\n // e.g. in https://github.com/Rob--W/open-in-browser/issues/26\n // Let's accept the value like Firefox (57) (Chrome 62 rejects it).\n return extvalue;\n }\n const encoding = extvalue.slice(0, encodingend);\n const langvalue = extvalue.slice(encodingend + 1);\n // Ignore language (RFC 5987 section 3.2.1, and RFC 6266 section 4.1 ).\n const value = langvalue.replace(/^[^']*'/, \"\");\n return textdecode(encoding, value);\n }\n function rfc2047decode(value) {\n // RFC 2047-decode the result. Firefox tried to drop support for it, but\n // backed out because some servers use it - https://bugzil.la/875615\n // Firefox's condition for decoding is here: https://searchfox.org/mozilla-central/rev/4a590a5a15e35d88a3b23dd6ac3c471cf85b04a8/netwerk/mime/nsMIMEHeaderParamImpl.cpp#742-748\n\n // We are more strict and only recognize RFC 2047-encoding if the value\n // starts with \"=?\", since then it is likely that the full value is\n // RFC 2047-encoded.\n\n // Firefox also decodes words even where RFC 2047 section 5 states:\n // \"An 'encoded-word' MUST NOT appear within a 'quoted-string'.\"\n if (!value.startsWith(\"=?\") || /[\\x00-\\x19\\x80-\\xff]/.test(value)) {\n return value;\n }\n // RFC 2047, section 2.4\n // encoded-word = \"=?\" charset \"?\" encoding \"?\" encoded-text \"?=\"\n // charset = token (but let's restrict to characters that denote a\n // possibly valid encoding).\n // encoding = q or b\n // encoded-text = any printable ASCII character other than ? or space.\n // ... but Firefox permits ? and space.\n return value.replace(\n /=\\?([\\w-]*)\\?([QqBb])\\?((?:[^?]|\\?(?!=))*)\\?=/g,\n function (matches, charset, encoding, text) {\n if (encoding === \"q\" || encoding === \"Q\") {\n // RFC 2047 section 4.2.\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 } // else encoding is b or B - base64 (RFC 2047 section 4.1)\n try {\n text = atob(text);\n } catch (e) {}\n return textdecode(charset, text);\n }\n );\n }\n\n return \"\";\n}\n\nexport { getFilenameFromContentDispositionHeader };\n","/* Copyright 2012 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/* eslint no-var: error */\n\nimport {\n assert,\n createPromiseCapability,\n stringToBytes,\n} from \"../shared/util.js\";\nimport {\n createResponseStatusError,\n extractFilenameFromHeader,\n validateRangeRequestCapabilities,\n} from \"./network_utils.js\";\n\nif (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) {\n throw new Error(\n 'Module \"./network.js\" shall not be used with MOZCENTRAL builds.'\n );\n}\n\nconst OK_RESPONSE = 200;\nconst PARTIAL_CONTENT_RESPONSE = 206;\n\nfunction getArrayBuffer(xhr) {\n const data = xhr.response;\n if (typeof data !== \"string\") {\n return data;\n }\n const array = stringToBytes(data);\n return array.buffer;\n}\n\nclass NetworkManager {\n constructor(url, args) {\n this.url = url;\n args = args || {};\n this.isHttp = /^https?:/i.test(url);\n this.httpHeaders = (this.isHttp && args.httpHeaders) || {};\n this.withCredentials = args.withCredentials || false;\n this.getXhr =\n args.getXhr ||\n function NetworkManager_getXhr() {\n return new XMLHttpRequest();\n };\n\n this.currXhrId = 0;\n this.pendingRequests = Object.create(null);\n }\n\n requestRange(begin, end, listeners) {\n const args = {\n begin,\n end,\n };\n for (const prop in listeners) {\n args[prop] = listeners[prop];\n }\n return this.request(args);\n }\n\n requestFull(listeners) {\n return this.request(listeners);\n }\n\n request(args) {\n const xhr = this.getXhr();\n const xhrId = this.currXhrId++;\n const pendingRequest = (this.pendingRequests[xhrId] = {\n xhr,\n });\n\n xhr.open(\"GET\", this.url);\n xhr.withCredentials = this.withCredentials;\n for (const property in this.httpHeaders) {\n const value = this.httpHeaders[property];\n if (typeof value === \"undefined\") {\n continue;\n }\n xhr.setRequestHeader(property, value);\n }\n if (this.isHttp && \"begin\" in args && \"end\" in args) {\n xhr.setRequestHeader(\"Range\", `bytes=${args.begin}-${args.end - 1}`);\n pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE;\n } else {\n pendingRequest.expectedStatus = OK_RESPONSE;\n }\n xhr.responseType = \"arraybuffer\";\n\n if (args.onError) {\n xhr.onerror = function (evt) {\n args.onError(xhr.status);\n };\n }\n xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);\n xhr.onprogress = this.onProgress.bind(this, xhrId);\n\n pendingRequest.onHeadersReceived = args.onHeadersReceived;\n pendingRequest.onDone = args.onDone;\n pendingRequest.onError = args.onError;\n pendingRequest.onProgress = args.onProgress;\n\n xhr.send(null);\n\n return xhrId;\n }\n\n onProgress(xhrId, evt) {\n const pendingRequest = this.pendingRequests[xhrId];\n if (!pendingRequest) {\n // Maybe abortRequest was called...\n return;\n }\n\n if (pendingRequest.onProgress) {\n pendingRequest.onProgress(evt);\n }\n }\n\n onStateChange(xhrId, evt) {\n const pendingRequest = this.pendingRequests[xhrId];\n if (!pendingRequest) {\n // Maybe abortRequest was called...\n return;\n }\n\n const xhr = pendingRequest.xhr;\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 // The XHR request might have been aborted in onHeadersReceived()\n // callback, in which case we should abort request.\n return;\n }\n\n delete this.pendingRequests[xhrId];\n\n // Success status == 0 can be on ftp, file and other protocols.\n if (xhr.status === 0 && this.isHttp) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n return;\n }\n const xhrStatus = xhr.status || OK_RESPONSE;\n\n // From http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.2:\n // \"A server MAY ignore the Range header\". This means it's possible to\n // get a 200 rather than a 206 response from a range request.\n const ok_response_on_range_request =\n xhrStatus === OK_RESPONSE &&\n pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;\n\n if (\n !ok_response_on_range_request &&\n xhrStatus !== pendingRequest.expectedStatus\n ) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n return;\n }\n\n const chunk = getArrayBuffer(xhr);\n if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {\n const rangeHeader = xhr.getResponseHeader(\"Content-Range\");\n const matches = /bytes (\\d+)-(\\d+)\\/(\\d+)/.exec(rangeHeader);\n pendingRequest.onDone({\n begin: parseInt(matches[1], 10),\n chunk,\n });\n } else if (chunk) {\n pendingRequest.onDone({\n begin: 0,\n chunk,\n });\n } else if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n }\n\n getRequestXhr(xhrId) {\n return this.pendingRequests[xhrId].xhr;\n }\n\n isPendingRequest(xhrId) {\n return xhrId in this.pendingRequests;\n }\n\n abortRequest(xhrId) {\n const xhr = this.pendingRequests[xhrId].xhr;\n delete this.pendingRequests[xhrId];\n xhr.abort();\n }\n}\n\n/** @implements {IPDFStream} */\nclass PDFNetworkStream {\n constructor(source) {\n this._source = source;\n this._manager = new NetworkManager(source.url, {\n httpHeaders: source.httpHeaders,\n withCredentials: source.withCredentials,\n });\n this._rangeChunkSize = source.rangeChunkSize;\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _onRangeRequestReaderClosed(reader) {\n const i = this._rangeRequestReaders.indexOf(reader);\n if (i >= 0) {\n this._rangeRequestReaders.splice(i, 1);\n }\n }\n\n getFullReader() {\n assert(\n !this._fullRequestReader,\n \"PDFNetworkStream.getFullReader can only be called once.\"\n );\n this._fullRequestReader = new PDFNetworkStreamFullRequestReader(\n this._manager,\n this._source\n );\n return this._fullRequestReader;\n }\n\n getRangeReader(begin, end) {\n const reader = new PDFNetworkStreamRangeRequestReader(\n this._manager,\n begin,\n end\n );\n reader.onClosed = this._onRangeRequestReaderClosed.bind(this);\n this._rangeRequestReaders.push(reader);\n return reader;\n }\n\n cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n const readers = this._rangeRequestReaders.slice(0);\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n}\n\n/** @implements {IPDFStreamReader} */\nclass PDFNetworkStreamFullRequestReader {\n constructor(manager, source) {\n this._manager = manager;\n\n const 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 = createPromiseCapability();\n this._disableRange = source.disableRange || false;\n this._contentLength = source.length; // Optional\n this._rangeChunkSize = source.rangeChunkSize;\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n this._isStreamingSupported = false;\n this._isRangeSupported = false;\n\n this._cachedChunks = [];\n this._requests = [];\n this._done = false;\n this._storedError = undefined;\n this._filename = null;\n\n this.onProgress = null;\n }\n\n _onHeadersReceived() {\n const fullRequestXhrId = this._fullRequestId;\n const fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);\n\n const getResponseHeader = name => {\n return fullRequestXhr.getResponseHeader(name);\n };\n const {\n allowRangeRequests,\n suggestedLength,\n } = validateRangeRequestCapabilities({\n getResponseHeader,\n isHttp: this._manager.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange,\n });\n\n if (allowRangeRequests) {\n this._isRangeSupported = true;\n }\n // Setting right content length.\n this._contentLength = suggestedLength || this._contentLength;\n\n this._filename = extractFilenameFromHeader(getResponseHeader);\n\n if (this._isRangeSupported) {\n // NOTE: by cancelling the full request, and then issuing range\n // requests, there will be an issue for sites where you can only\n // request the pdf once. However, if this is the case, then the\n // server should not be returning that it can support range requests.\n this._manager.abortRequest(fullRequestXhrId);\n }\n\n this._headersReceivedCapability.resolve();\n }\n\n _onDone(args) {\n if (args) {\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n requestCapability.resolve({ value: args.chunk, done: false });\n } else {\n this._cachedChunks.push(args.chunk);\n }\n }\n this._done = true;\n if (this._cachedChunks.length > 0) {\n return;\n }\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({ value: undefined, done: true });\n });\n this._requests = [];\n }\n\n _onError(status) {\n const url = this._url;\n const exception = createResponseStatusError(status, url);\n this._storedError = exception;\n this._headersReceivedCapability.reject(exception);\n this._requests.forEach(function (requestCapability) {\n requestCapability.reject(exception);\n });\n this._requests = [];\n this._cachedChunks = [];\n }\n\n _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 get filename() {\n return this._filename;\n }\n\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n\n get contentLength() {\n return this._contentLength;\n }\n\n get headersReady() {\n return this._headersReceivedCapability.promise;\n }\n\n async read() {\n if (this._storedError) {\n throw this._storedError;\n }\n if (this._cachedChunks.length > 0) {\n const chunk = this._cachedChunks.shift();\n return { value: chunk, done: false };\n }\n if (this._done) {\n return { value: undefined, done: true };\n }\n const requestCapability = createPromiseCapability();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n }\n\n cancel(reason) {\n this._done = true;\n this._headersReceivedCapability.reject(reason);\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({ value: undefined, done: true });\n });\n this._requests = [];\n if (this._manager.isPendingRequest(this._fullRequestId)) {\n this._manager.abortRequest(this._fullRequestId);\n }\n this._fullRequestReader = null;\n }\n}\n\n/** @implements {IPDFStreamRangeReader} */\nclass PDFNetworkStreamRangeRequestReader {\n constructor(manager, begin, end) {\n this._manager = manager;\n const 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\n this.onProgress = null;\n this.onClosed = null;\n }\n\n _close() {\n if (this.onClosed) {\n this.onClosed(this);\n }\n }\n\n _onDone(data) {\n const chunk = data.chunk;\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n requestCapability.resolve({ value: chunk, done: false });\n } else {\n this._queuedChunk = chunk;\n }\n this._done = true;\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({ value: undefined, done: true });\n });\n this._requests = [];\n this._close();\n }\n\n _onProgress(evt) {\n if (!this.isStreamingSupported && this.onProgress) {\n this.onProgress({\n loaded: evt.loaded,\n });\n }\n }\n\n get isStreamingSupported() {\n return false;\n }\n\n async read() {\n if (this._queuedChunk !== null) {\n const chunk = this._queuedChunk;\n this._queuedChunk = null;\n return { value: chunk, done: false };\n }\n if (this._done) {\n return { value: undefined, done: true };\n }\n const requestCapability = createPromiseCapability();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n }\n\n cancel(reason) {\n this._done = true;\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({ value: undefined, done: true });\n });\n this._requests = [];\n if (this._manager.isPendingRequest(this._requestId)) {\n this._manager.abortRequest(this._requestId);\n }\n this._close();\n }\n}\n\nexport { PDFNetworkStream };\n","/* Copyright 2012 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/* eslint no-var: error */\n\nimport {\n AbortException,\n assert,\n createPromiseCapability,\n} from \"../shared/util.js\";\nimport {\n createResponseStatusError,\n extractFilenameFromHeader,\n validateRangeRequestCapabilities,\n validateResponseStatus,\n} from \"./network_utils.js\";\n\nif (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) {\n throw new Error(\n 'Module \"./fetch_stream.js\" shall not be used with MOZCENTRAL builds.'\n );\n}\n\nfunction createFetchOptions(headers, withCredentials, abortController) {\n return {\n method: \"GET\",\n 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 const headers = new Headers();\n for (const property in httpHeaders) {\n const value = httpHeaders[property];\n if (typeof value === \"undefined\") {\n continue;\n }\n headers.append(property, value);\n }\n return headers;\n}\n\n/** @implements {IPDFStream} */\nclass PDFFetchStream {\n constructor(source) {\n this.source = source;\n this.isHttp = /^https?:/i.test(source.url);\n this.httpHeaders = (this.isHttp && source.httpHeaders) || {};\n\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n get _progressiveDataLength() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n\n getFullReader() {\n assert(\n !this._fullRequestReader,\n \"PDFFetchStream.getFullReader can only be called once.\"\n );\n this._fullRequestReader = new PDFFetchStreamReader(this);\n return this._fullRequestReader;\n }\n\n getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n const reader = new PDFFetchStreamRangeReader(this, begin, end);\n this._rangeRequestReaders.push(reader);\n return reader;\n }\n\n cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n const readers = this._rangeRequestReaders.slice(0);\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n}\n\n/** @implements {IPDFStreamReader} */\nclass PDFFetchStreamReader {\n constructor(stream) {\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n this._filename = null;\n const source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._contentLength = source.length;\n this._headersCapability = createPromiseCapability();\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n if (typeof AbortController !== \"undefined\") {\n this._abortController = new AbortController();\n }\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n\n this._headers = createHeaders(this._stream.httpHeaders);\n\n const url = source.url;\n fetch(\n url,\n createFetchOptions(\n this._headers,\n this._withCredentials,\n this._abortController\n )\n )\n .then(response => {\n if (!validateResponseStatus(response.status)) {\n throw createResponseStatusError(response.status, url);\n }\n this._reader = response.body.getReader();\n this._headersCapability.resolve();\n\n const getResponseHeader = name => {\n return response.headers.get(name);\n };\n const {\n allowRangeRequests,\n suggestedLength,\n } = validateRangeRequestCapabilities({\n getResponseHeader,\n isHttp: this._stream.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange,\n });\n\n this._isRangeSupported = allowRangeRequests;\n // Setting right content length.\n this._contentLength = suggestedLength || this._contentLength;\n\n this._filename = extractFilenameFromHeader(getResponseHeader);\n\n // We need to stop reading when range is supported and streaming is\n // disabled.\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this.cancel(new AbortException(\"Streaming is disabled.\"));\n }\n })\n .catch(this._headersCapability.reject);\n\n this.onProgress = null;\n }\n\n get headersReady() {\n return this._headersCapability.promise;\n }\n\n get filename() {\n return this._filename;\n }\n\n get contentLength() {\n return this._contentLength;\n }\n\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n\n async read() {\n await this._headersCapability.promise;\n const { value, done } = await this._reader.read();\n if (done) {\n return { value, done };\n }\n this._loaded += value.byteLength;\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength,\n });\n }\n const buffer = new Uint8Array(value).buffer;\n return { value: buffer, done: false };\n }\n\n cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n}\n\n/** @implements {IPDFStreamRangeReader} */\nclass PDFFetchStreamRangeReader {\n constructor(stream, begin, end) {\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n const source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._readCapability = 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 this._headers.append(\"Range\", `bytes=${begin}-${end - 1}`);\n\n const url = source.url;\n fetch(\n url,\n createFetchOptions(\n this._headers,\n this._withCredentials,\n this._abortController\n )\n ).then(response => {\n if (!validateResponseStatus(response.status)) {\n throw createResponseStatusError(response.status, url);\n }\n this._readCapability.resolve();\n this._reader = response.body.getReader();\n });\n\n this.onProgress = null;\n }\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n\n async read() {\n await this._readCapability.promise;\n const { value, done } = await this._reader.read();\n if (done) {\n return { value, done };\n }\n this._loaded += value.byteLength;\n if (this.onProgress) {\n this.onProgress({ loaded: this._loaded });\n }\n const buffer = new Uint8Array(value).buffer;\n return { value: buffer, done: false };\n }\n\n cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n}\n\nexport { PDFFetchStream };\n"],"sourceRoot":""}