{"version":3,"file":"pdf.js","mappings":"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","sources":["webpack://pdfjs-dist/build/pdf/webpack/universalModuleDefinition","webpack://pdfjs-dist/build/pdf/src/display/display_utils.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/src/display/base_factory.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/node_utils.js","webpack://pdfjs-dist/build/pdf/src/display/annotation_storage.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/optional_content_config.js","webpack://pdfjs-dist/build/pdf/src/display/transport_stream.js","webpack://pdfjs-dist/build/pdf/src/display/xfa_text.js","webpack://pdfjs-dist/build/pdf/src/display/annotation_layer.js","webpack://pdfjs-dist/build/pdf/src/shared/scripting_utils.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/xfa_layer.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","webpack://pdfjs-dist/build/pdf/webpack/bootstrap","webpack://pdfjs-dist/build/pdf/src/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 ","/* 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 assert,\n BaseException,\n isString,\n removeNullCharacters,\n shadow,\n stringToBytes,\n Util,\n warn,\n} from \"../shared/util.js\";\nimport {\n BaseCanvasFactory,\n BaseCMapReaderFactory,\n BaseStandardFontDataFactory,\n BaseSVGFactory,\n} from \"./base_factory.js\";\n\nconst DEFAULT_LINK_REL = \"noopener noreferrer nofollow\";\nconst SVG_NS = \"http://www.w3.org/2000/svg\";\n\nconst PixelsPerInch = {\n CSS: 96.0,\n PDF: 72.0,\n\n /** @type {number} */\n get PDF_TO_CSS_UNITS() {\n return shadow(this, \"PDF_TO_CSS_UNITS\", this.CSS / this.PDF);\n },\n};\n\nclass DOMCanvasFactory extends BaseCanvasFactory {\n constructor({ ownerDocument = globalThis.document } = {}) {\n super();\n this._document = ownerDocument;\n }\n\n _createCanvas(width, height) {\n const canvas = this._document.createElement(\"canvas\");\n canvas.width = width;\n canvas.height = height;\n return canvas;\n }\n}\n\nasync function fetchData(url, asTypedArray = false) {\n if (\n (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) ||\n isValidFetchUrl(url, document.baseURI)\n ) {\n const response = await fetch(url);\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n return asTypedArray\n ? new Uint8Array(await response.arrayBuffer())\n : stringToBytes(await response.text());\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, /* asTypedArray = */ true);\n\n if (asTypedArray) {\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 data;\n if (asTypedArray && request.response) {\n data = new Uint8Array(request.response);\n } else if (!asTypedArray && request.responseText) {\n data = stringToBytes(request.responseText);\n }\n if (data) {\n resolve(data);\n return;\n }\n }\n reject(new Error(request.statusText));\n };\n\n request.send(null);\n });\n}\n\nclass DOMCMapReaderFactory extends BaseCMapReaderFactory {\n _fetchData(url, compressionType) {\n return fetchData(url, /* asTypedArray = */ this.isCompressed).then(data => {\n return { cMapData: data, compressionType };\n });\n }\n}\n\nclass DOMStandardFontDataFactory extends BaseStandardFontDataFactory {\n _fetchData(url) {\n return fetchData(url, /* asTypedArray = */ true);\n }\n}\n\nclass DOMSVGFactory extends BaseSVGFactory {\n _createSVG(type) {\n return document.createElementNS(SVG_NS, type);\n }\n}\n\n/**\n * @typedef {Object} PageViewportParameters\n * @property {Array} viewBox - The xMin, yMin, xMax and\n * 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 // Normalize the rotation, by clamping it to the [0, 360) range.\n rotation %= 360;\n if (rotation < 0) {\n rotation += 360;\n }\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, \"RenderingCancelledException\");\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 {HTMLAnchorElement} 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\nfunction isDataScheme(url) {\n const ii = url.length;\n let i = 0;\n while (i < ii && url[i].trim() === \"\") {\n i++;\n }\n return url.substring(i, i + 5).toLowerCase() === \"data:\";\n}\n\nfunction isPdfFile(filename) {\n return typeof filename === \"string\" && /\\.pdf$/i.test(filename);\n}\n\n/**\n * Gets the filename from a given URL.\n * @param {string} url\n * @returns {string}\n */\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\n/**\n * Returns the filename or guessed filename from the url (see issue 3455).\n * @param {string} url - The original PDF location.\n * @param {string} defaultFilename - The value returned if the filename is\n * unknown, or the protocol is unsupported.\n * @returns {string} Guessed PDF filename.\n */\nfunction getPdfFilenameFromUrl(url, defaultFilename = \"document.pdf\") {\n if (typeof url !== \"string\") {\n return defaultFilename;\n }\n if (isDataScheme(url)) {\n warn('getPdfFilenameFromUrl: ignore \"data:\"-URL for performance reasons.');\n return defaultFilename;\n }\n const reURI = /^(?:(?:[^:]+:)?\\/\\/[^/]+)?([^?#]*)(\\?[^#]*)?(#.*)?$/;\n // SCHEME HOST 1.PATH 2.QUERY 3.REF\n // Pattern to get last matching NAME.pdf\n const reFilename = /[^/?#=]+\\.pdf\\b(?!.*\\.pdf\\b)/i;\n const splitURI = reURI.exec(url);\n let suggestedFilename =\n reFilename.exec(splitURI[1]) ||\n reFilename.exec(splitURI[2]) ||\n reFilename.exec(splitURI[3]);\n if (suggestedFilename) {\n suggestedFilename = suggestedFilename[0];\n if (suggestedFilename.includes(\"%\")) {\n // URL-encoded %2Fpath%2Fto%2Ffile.pdf should be file.pdf\n try {\n suggestedFilename = reFilename.exec(\n decodeURIComponent(suggestedFilename)\n )[0];\n } catch (ex) {\n // Possible (extremely rare) errors:\n // URIError \"Malformed URI\", e.g. for \"%AA.pdf\"\n // TypeError \"null has no properties\", e.g. for \"%2F.pdf\"\n }\n }\n }\n return suggestedFilename || defaultFilename;\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 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\n/**\n * @param {string} src\n * @param {boolean} [removeScriptElement]\n * @returns {Promise}\n */\nfunction loadScript(src, removeScriptElement = false) {\n return new Promise((resolve, reject) => {\n const script = document.createElement(\"script\");\n script.src = src;\n\n script.onload = function (evt) {\n if (removeScriptElement) {\n script.remove();\n }\n resolve(evt);\n };\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\n/**\n * NOTE: This is (mostly) intended to support printing of XFA forms.\n */\nfunction getXfaPageViewport(xfaPage, { scale = 1, rotation = 0 }) {\n const { width, height } = xfaPage.attributes.style;\n const viewBox = [0, 0, parseInt(width), parseInt(height)];\n\n return new PageViewport({\n viewBox,\n scale,\n rotation,\n });\n}\n\nexport {\n addLinkAttributes,\n deprecated,\n DOMCanvasFactory,\n DOMCMapReaderFactory,\n DOMStandardFontDataFactory,\n DOMSVGFactory,\n getFilenameFromUrl,\n getPdfFilenameFromUrl,\n getXfaPageViewport,\n isDataScheme,\n isPdfFile,\n isValidFetchUrl,\n LinkTarget,\n loadScript,\n PageViewport,\n PDFDateString,\n PixelsPerInch,\n RenderingCancelledException,\n StatTimer,\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 \"./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/**\n * Refer to the `WorkerTransport.getRenderingIntent`-method in the API, to see\n * how these flags are being used:\n * - ANY, DISPLAY, and PRINT are the normal rendering intents, note the\n * `PDFPageProxy.{render, getOperatorList, getAnnotations}`-methods.\n * - ANNOTATIONS_FORMS, ANNOTATIONS_STORAGE, ANNOTATIONS_DISABLE control which\n * annotations are rendered onto the canvas (i.e. by being included in the\n * operatorList), note the `PDFPageProxy.{render, getOperatorList}`-methods\n * and their `annotationMode`-option.\n * - OPLIST is used with the `PDFPageProxy.getOperatorList`-method, note the\n * `OperatorList`-constructor (on the worker-thread).\n */\nconst RenderingIntentFlag = {\n ANY: 0x01,\n DISPLAY: 0x02,\n PRINT: 0x04,\n ANNOTATIONS_FORMS: 0x10,\n ANNOTATIONS_STORAGE: 0x20,\n ANNOTATIONS_DISABLE: 0x40,\n OPLIST: 0x100,\n};\n\nconst AnnotationMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_FORMS: 2,\n ENABLE_STORAGE: 3,\n};\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 AnnotationActionEventType = {\n E: \"Mouse Enter\",\n X: \"Mouse Exit\",\n D: \"Mouse Down\",\n U: \"Mouse Up\",\n Fo: \"Focus\",\n Bl: \"Blur\",\n PO: \"PageOpen\",\n PC: \"PageClose\",\n PV: \"PageVisible\",\n PI: \"PageInvisible\",\n K: \"Keystroke\",\n F: \"Format\",\n V: \"Validate\",\n C: \"Calculate\",\n};\n\nconst DocumentActionEventType = {\n WC: \"WillClose\",\n WS: \"WillSave\",\n DS: \"DidSave\",\n WP: \"WillPrint\",\n DP: \"DidPrint\",\n};\n\nconst PageActionEventType = {\n O: \"PageOpen\",\n C: \"PageClose\",\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 TYPE1STANDARD: \"TYPE1STANDARD\",\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 /** @deprecated unused */\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 signatures: \"signatures\",\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 errorFontBuildPath: \"errorFontBuildPath\",\n errorFontGetPath: \"errorFontGetPath\",\n errorMarkedContent: \"errorMarkedContent\",\n errorContentSubStream: \"errorContentSubStream\",\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 allowed 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 * @param {Object} [options]\n * @returns Either a valid {URL}, or `null` otherwise.\n */\nfunction createValidAbsoluteUrl(url, baseUrl = null, options = null) {\n if (!url) {\n return null;\n }\n try {\n if (options && typeof url === \"string\") {\n // Let URLs beginning with \"www.\" default to using the \"http://\" protocol.\n if (options.addDefaultProtocol && url.startsWith(\"www.\")) {\n const dots = url.match(/\\./g);\n // Avoid accidentally matching a *relative* URL pointing to a file named\n // e.g. \"www.pdf\" or similar.\n if (dots && dots.length >= 2) {\n url = `http://${url}`;\n }\n }\n\n // According to ISO 32000-1:2008, section 12.6.4.7, URIs should be encoded\n // in 7-bit ASCII. Some bad PDFs use UTF-8 encoding; see bug 1122280.\n if (options.tryConvertEncoding) {\n try {\n url = stringToUTF8String(url);\n } catch (ex) {}\n }\n }\n\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\n/**\n * @type {any}\n */\nconst BaseException = (function BaseExceptionClosure() {\n // eslint-disable-next-line no-shadow\n function BaseException(message, name) {\n if (this.constructor === BaseException) {\n unreachable(\"Cannot initialize BaseException.\");\n }\n this.message = message;\n this.name = 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, \"PasswordException\");\n this.code = code;\n }\n}\n\nclass UnknownErrorException extends BaseException {\n constructor(msg, details) {\n super(msg, \"UnknownErrorException\");\n this.details = details;\n }\n}\n\nclass InvalidPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"InvalidPDFException\");\n }\n}\n\nclass MissingPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"MissingPDFException\");\n }\n}\n\nclass UnexpectedResponseException extends BaseException {\n constructor(msg, status) {\n super(msg, \"UnexpectedResponseException\");\n this.status = status;\n }\n}\n\n/**\n * Error caused during parsing PDF data.\n */\nclass FormatError extends BaseException {\n constructor(msg) {\n super(msg, \"FormatError\");\n }\n}\n\n/**\n * Error used to indicate task cancellation.\n */\nclass AbortException extends BaseException {\n constructor(msg) {\n super(msg, \"AbortException\");\n }\n}\n\nconst NullCharactersRegExp = /\\x00/g;\n\n/**\n * @param {string} str\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|Uint8Array|string>} arr - the array of the arrays\n * (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 if (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!PRODUCTION || TESTING\")\n ) {\n assert(\n typeof value === \"number\" && Math.abs(value) < 2 ** 32,\n `string32: Unexpected input \"${value}\".`\n );\n }\n return String.fromCharCode(\n (value >> 24) & 0xff,\n (value >> 16) & 0xff,\n (value >> 8) & 0xff,\n value & 0xff\n );\n}\n\nfunction objectSize(obj) {\n return Object.keys(obj).length;\n}\n\n// Ensure that the returned Object has a `null` prototype; hence why\n// `Object.fromEntries(...)` is not used.\nfunction objectFromMap(map) {\n const obj = Object.create(null);\n for (const [key, value] of map) {\n obj[key] = value;\n }\n return obj;\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 hexNumbers = [...Array(256).keys()].map(n =>\n n.toString(16).padStart(2, \"0\")\n);\n\nclass Util {\n static makeHexColor(r, g, b) {\n return `#${hexNumbers[r]}${hexNumbers[g]}${hexNumbers[b]}`;\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) ** 2 - 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\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, 0x2d8,\n 0x2c7, 0x2c6, 0x2d9, 0x2dd, 0x2db, 0x2da, 0x2dc, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192,\n 0x2044, 0x2039, 0x203a, 0x2212, 0x2030, 0x201e, 0x201c, 0x201d, 0x2018,\n 0x2019, 0x201a, 0x2122, 0xfb01, 0xfb02, 0x141, 0x152, 0x160, 0x178, 0x17d,\n 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 escapeString(str) {\n // replace \"(\", \")\", \"\\n\", \"\\r\" and \"\\\"\n // by \"\\(\", \"\\)\", \"\\\\n\", \"\\\\r\" and \"\\\\\"\n // in order to write it in a PDF file.\n return str.replace(/([()\\\\\\n\\r])/g, match => {\n if (match === \"\\n\") {\n return \"\\\\n\";\n } else if (match === \"\\r\") {\n return \"\\\\r\";\n }\n return `\\\\${match}`;\n });\n}\n\nfunction isAscii(str) {\n return /^[\\x00-\\x7F]*$/.test(str);\n}\n\nfunction stringToUTF16BEString(str) {\n const buf = [\"\\xFE\\xFF\"];\n for (let i = 0, ii = str.length; i < ii; i++) {\n const char = str.charCodeAt(i);\n buf.push(\n String.fromCharCode((char >> 8) & 0xff),\n String.fromCharCode(char & 0xff)\n );\n }\n return buf.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 for (let i = 0, ii = arr1.length; i < ii; i++) {\n if (arr1[i] !== arr2[i]) {\n return false;\n }\n }\n return true;\n}\n\nfunction getModificationDate(date = new Date()) {\n const buffer = [\n date.getUTCFullYear().toString(),\n (date.getUTCMonth() + 1).toString().padStart(2, \"0\"),\n date.getUTCDate().toString().padStart(2, \"0\"),\n date.getUTCHours().toString().padStart(2, \"0\"),\n date.getUTCMinutes().toString().padStart(2, \"0\"),\n date.getUTCSeconds().toString().padStart(2, \"0\"),\n ];\n\n return buffer.join(\"\");\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\nfunction createObjectURL(data, contentType = \"\", forceDataSchema = false) {\n if (URL.createObjectURL && !forceDataSchema) {\n return URL.createObjectURL(new Blob([data], { type: contentType }));\n }\n // Blob/createObjectURL is not available, falling back to data schema.\n const digits =\n \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\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\nexport {\n AbortException,\n AnnotationActionEventType,\n AnnotationBorderStyleType,\n AnnotationFieldFlag,\n AnnotationFlag,\n AnnotationMarkedState,\n AnnotationMode,\n AnnotationReplyType,\n AnnotationReviewState,\n AnnotationStateModelType,\n AnnotationType,\n arrayByteLength,\n arraysToBytes,\n assert,\n BaseException,\n bytesToString,\n CMapCompressionType,\n createObjectURL,\n createPromiseCapability,\n createValidAbsoluteUrl,\n DocumentActionEventType,\n escapeString,\n FONT_IDENTITY_MATRIX,\n FontType,\n FormatError,\n getModificationDate,\n getVerbosityLevel,\n IDENTITY_MATRIX,\n ImageKind,\n info,\n InvalidPDFException,\n isArrayBuffer,\n isArrayEqual,\n isAscii,\n isBool,\n IsEvalSupportedCached,\n IsLittleEndianCached,\n isNum,\n isSameOrigin,\n isString,\n MissingPDFException,\n objectFromMap,\n objectSize,\n OPS,\n PageActionEventType,\n PasswordException,\n PasswordResponses,\n PermissionFlag,\n removeNullCharacters,\n RenderingIntentFlag,\n setVerbosityLevel,\n shadow,\n StreamType,\n string32,\n stringToBytes,\n stringToPDFString,\n stringToUTF16BEString,\n stringToUTF8String,\n TextRenderingMode,\n UnexpectedResponseException,\n UnknownErrorException,\n unreachable,\n UNSUPPORTED_FEATURES,\n utf8StringToString,\n Util,\n VerbosityLevel,\n warn,\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\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: Firefox<65, Chrome<71, Safari<12.1, Node.js<12.0.0\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 // 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 // Support: Node.js\n (function checkDOMMatrix() {\n if (globalThis.DOMMatrix || !isNodeJS) {\n return;\n }\n globalThis.DOMMatrix = require(\"dommatrix/dist/dommatrix.js\");\n })();\n\n // Provides support for Object.fromEntries in legacy browsers.\n // Support: Firefox<63, Chrome<73, Safari<12.1, Node.js<12.0.0\n (function checkObjectFromEntries() {\n if (Object.fromEntries) {\n return;\n }\n require(\"core-js/es/object/from-entries.js\");\n })();\n\n // Provides support for *recent* additions to the Promise specification,\n // however basic Promise support is assumed to be available natively.\n // Support: Firefox<71, Chrome<76, Safari<13, Node.js<12.9.0\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.allSettled) {\n return;\n }\n globalThis.Promise = require(\"core-js/es/promise/index.js\");\n })();\n\n // Support: 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 if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"CHROME\")) {\n // Slightly reduce the size of the Chromium-extension, given\n // that `ReadableStream` has been supported since Chrome 43.\n return;\n }\n if (globalThis.ReadableStream || !isNodeJS) {\n return;\n }\n globalThis.ReadableStream =\n require(\"web-streams-polyfill/dist/ponyfill.js\").ReadableStream;\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://www.electronjs.org/docs/api/process#processversionselectron-readonly\n// https://www.electronjs.org/docs/api/process#processtype-readonly\nconst isNodeJS =\n typeof process === \"object\" &&\n process + \"\" === \"[object process]\" &&\n !process.versions.nw &&\n !(process.versions.electron && process.type && process.type !== \"browser\");\n\nexport { isNodeJS };\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 { CMapCompressionType, unreachable } from \"../shared/util.js\";\n\nclass BaseCanvasFactory {\n constructor() {\n if (this.constructor === BaseCanvasFactory) {\n unreachable(\"Cannot initialize BaseCanvasFactory.\");\n }\n }\n\n create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n const canvas = this._createCanvas(width, height);\n return {\n canvas,\n context: canvas.getContext(\"2d\"),\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 /**\n * @private\n */\n _createCanvas(width, height) {\n unreachable(\"Abstract method `_createCanvas` called.\");\n }\n}\n\nclass BaseCMapReaderFactory {\n constructor({ baseUrl = null, isCompressed = false }) {\n if (this.constructor === BaseCMapReaderFactory) {\n unreachable(\"Cannot initialize BaseCMapReaderFactory.\");\n }\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 return this._fetchData(url, compressionType).catch(reason => {\n throw new Error(\n `Unable to load ${this.isCompressed ? \"binary \" : \"\"}CMap at: ${url}`\n );\n });\n }\n\n /**\n * @private\n */\n _fetchData(url, compressionType) {\n unreachable(\"Abstract method `_fetchData` called.\");\n }\n}\n\nclass BaseStandardFontDataFactory {\n constructor({ baseUrl = null }) {\n if (this.constructor === BaseStandardFontDataFactory) {\n unreachable(\"Cannot initialize BaseStandardFontDataFactory.\");\n }\n this.baseUrl = baseUrl;\n }\n\n async fetch({ filename }) {\n if (!this.baseUrl) {\n throw new Error(\n 'The standard font \"baseUrl\" parameter must be specified, ensure that ' +\n 'the \"standardFontDataUrl\" API parameter is provided.'\n );\n }\n if (!filename) {\n throw new Error(\"Font filename must be specified.\");\n }\n const url = `${this.baseUrl}${filename}`;\n\n return this._fetchData(url).catch(reason => {\n throw new Error(`Unable to load font data at: ${url}`);\n });\n }\n\n /**\n * @private\n */\n _fetchData(url) {\n unreachable(\"Abstract method `_fetchData` called.\");\n }\n}\n\nclass BaseSVGFactory {\n constructor() {\n if (this.constructor === BaseSVGFactory) {\n unreachable(\"Cannot initialize BaseSVGFactory.\");\n }\n }\n\n create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid SVG dimensions\");\n }\n const svg = this._createSVG(\"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 if (typeof type !== \"string\") {\n throw new Error(\"Invalid SVG element type\");\n }\n return this._createSVG(type);\n }\n\n /**\n * @private\n */\n _createSVG(type) {\n unreachable(\"Abstract method `_createSVG` called.\");\n }\n}\n\nexport {\n BaseCanvasFactory,\n BaseCMapReaderFactory,\n BaseStandardFontDataFactory,\n BaseSVGFactory,\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\n/**\n * @module pdfjsLib\n */\n\nimport {\n AbortException,\n AnnotationMode,\n assert,\n createPromiseCapability,\n getVerbosityLevel,\n info,\n InvalidPDFException,\n isArrayBuffer,\n isSameOrigin,\n MissingPDFException,\n PasswordException,\n RenderingIntentFlag,\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 DOMStandardFontDataFactory,\n isDataScheme,\n loadScript,\n PageViewport,\n RenderingCancelledException,\n StatTimer,\n} from \"./display_utils.js\";\nimport { FontFaceObject, FontLoader } from \"./font_loader.js\";\nimport {\n NodeCanvasFactory,\n NodeCMapReaderFactory,\n NodeStandardFontDataFactory,\n} from \"./node_utils.js\";\nimport { AnnotationStorage } from \"./annotation_storage.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 { OptionalContentConfig } from \"./optional_content_config.js\";\nimport { PDFDataTransportStream } from \"./transport_stream.js\";\nimport { XfaText } from \"./xfa_text.js\";\n\nconst DEFAULT_RANGE_CHUNK_SIZE = 65536; // 2^16 = 65536\nconst RENDERING_CANCELLED_TIMEOUT = 100; // ms\n\nconst DefaultCanvasFactory =\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) && isNodeJS\n ? NodeCanvasFactory\n : DOMCanvasFactory;\nconst DefaultCMapReaderFactory =\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) && isNodeJS\n ? NodeCMapReaderFactory\n : DOMCMapReaderFactory;\nconst DefaultStandardFontDataFactory =\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) && isNodeJS\n ? NodeStandardFontDataFactory\n : DOMStandardFontDataFactory;\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 *\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 * @typedef { Int8Array | Uint8Array | Uint8ClampedArray |\n * Int16Array | Uint16Array |\n * Int32Array | Uint32Array | Float32Array |\n * Float64Array\n * } TypedArray\n */\n\n/**\n * @typedef {Object} RefProxy\n * @property {number} num\n * @property {number} gen\n */\n\n/**\n * Document initialization / loading parameters object.\n *\n * @typedef {Object} DocumentInitParameters\n * @property {string|URL} [url] - The URL of the PDF.\n * @property {TypedArray|Array|string} [data] - Binary PDF data. Use\n * typed 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 progress\n * reports and range requests operations.\n * @property {PDFDataRangeTransport} [range] - Allows for using a custom range\n * transport implementation.\n * @property {number} [rangeChunkSize] - Specify maximum number of bytes fetched\n * per range request. The default value is {@link DEFAULT_RANGE_CHUNK_SIZE}.\n * @property {PDFWorker} [worker] - The worker that will be used for loading and\n * parsing the PDF data.\n * @property {number} [verbosity] - Controls the logging level; the constants\n * from {@link VerbosityLevel} should be used.\n * @property {string} [docBaseUrl] - The base URL of the document, used when\n * attempting to recover valid absolute URLs for annotations, and outline\n * items, that (incorrectly) only specify relative URLs.\n * @property {string} [cMapUrl] - The URL where the predefined Adobe CMaps are\n * located. Include the trailing slash.\n * @property {boolean} [cMapPacked] - Specifies if the Adobe CMaps are binary\n * packed or not.\n * @property {Object} [CMapReaderFactory] - The factory that will be used when\n * reading built-in CMap files. Providing a custom factory is useful for\n * environments without Fetch API or `XMLHttpRequest` support, such as\n * Node.js. The default value is {DOMCMapReaderFactory}.\n * @property {boolean} [useSystemFonts] - When `true`, fonts that aren't\n * embedded in the PDF document will fallback to a system font.\n * The default value is `true` in web environments and `false` in Node.js;\n * unless `disableFontFace === true` in which case this defaults to `false`\n * regardless of the environment (to prevent completely broken fonts).\n * @property {string} [standardFontDataUrl] - The URL where the standard font\n * files are located. Include the trailing slash.\n * @property {Object} [StandardFontDataFactory] - The factory that will be used\n * when reading the standard font files. Providing a custom factory is useful\n * for environments without Fetch API or `XMLHttpRequest` support, such as\n * Node.js. The default value is {DOMStandardFontDataFactory}.\n * @property {boolean} [useWorkerFetch] - Enable using the Fetch API in the\n * worker-thread when reading CMap and standard font files. When `true`,\n * the `CMapReaderFactory` and `StandardFontDataFactory` options are ignored.\n * The default value is `true` in web environments and `false` in Node.js.\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 in total\n * pixels, i.e. width * height. Images above this value will not be rendered.\n * Use -1 for no limit, which is also the default value.\n * @property {boolean} [isEvalSupported] - Determines if we can evaluate strings\n * as JavaScript. Primarily used to improve performance of font rendering, and\n * when parsing PDF functions. The default value is `true`.\n * @property {boolean} [disableFontFace] - By default fonts are converted to\n * OpenType fonts and loaded via the Font Loading API or `@font-face` rules.\n * If disabled, fonts will be rendered using a built-in font renderer that\n * constructs the glyphs with primitive path commands.\n * The default value is `false` in web environments and `true` in Node.js.\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} [enableXfa] - Render Xfa forms if any.\n * The default value is `false`.\n * @property {HTMLDocument} [ownerDocument] - Specify an explicit document\n * context to create elements with and to load resources, such as fonts,\n * into. Defaults to the current document.\n * @property {boolean} [disableRange] - Disable range request loading of PDF\n * files. When enabled, and if the server supports partial content requests,\n * then the PDF will be fetched in chunks. The default value is `false`.\n * @property {boolean} [disableStream] - Disable streaming of PDF file data.\n * By default PDF.js attempts to load PDF files in chunks. The default value\n * is `false`.\n * @property {boolean} [disableAutoFetch] - Disable pre-fetching of PDF file\n * 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 *\n * NOTE: It is also necessary to disable streaming, see above, in order for\n * disabling of pre-fetching to work correctly.\n * @property {boolean} [pdfBug] - Enables special hooks for debugging PDF.js\n * (see `web/debugger.js`). The default value is `false`.\n */\n\n/**\n * This is the main entry point for loading a PDF and interacting with it.\n *\n * NOTE: If a URL is used to fetch the PDF data a standard Fetch API call (or\n * XHR as fallback) is used, which means it must follow same origin rules,\n * e.g. no cross-domain requests without CORS.\n *\n * @param {string|URL|TypedArray|PDFDataRangeTransport|DocumentInitParameters}\n * src - Can be a URL where a PDF file is located, a typed array (Uint8Array)\n * already populated with data, or a parameter object.\n * @returns {PDFDocumentLoadingTask}\n */\nfunction getDocument(src) {\n const task = new PDFDocumentLoadingTask();\n\n let source;\n if (typeof src === \"string\" || src instanceof URL) {\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 string, URL, Uint8Array, or 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 const value = source[key];\n\n switch (key) {\n case \"url\":\n if (typeof window !== \"undefined\") {\n try {\n // The full path is required in the 'url' field.\n params[key] = new URL(value, window.location).href;\n continue;\n } catch (ex) {\n warn(`Cannot create valid URL: \"${ex}\".`);\n }\n } else if (typeof value === \"string\" || value instanceof URL) {\n params[key] = value.toString(); // Support Node.js environments.\n continue;\n }\n throw new Error(\n \"Invalid PDF url data: \" +\n \"either string or URL-object is expected in the url property.\"\n );\n case \"range\":\n rangeTransport = value;\n continue;\n case \"worker\":\n worker = value;\n continue;\n case \"data\":\n // Converting string or array-like data to Uint8Array.\n if (\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"GENERIC\") &&\n isNodeJS &&\n typeof Buffer !== \"undefined\" && // eslint-disable-line no-undef\n value instanceof Buffer // eslint-disable-line no-undef\n ) {\n params[key] = new Uint8Array(value);\n } else if (value instanceof Uint8Array) {\n break; // Use the data as-is when it's already a Uint8Array.\n } else if (typeof value === \"string\") {\n params[key] = stringToBytes(value);\n } else if (\n typeof value === \"object\" &&\n value !== null &&\n !isNaN(value.length)\n ) {\n params[key] = new Uint8Array(value);\n } else if (isArrayBuffer(value)) {\n params[key] = new Uint8Array(value);\n } else {\n throw new Error(\n \"Invalid PDF binary data: either typed array, \" +\n \"string, or array-like object is expected in the data property.\"\n );\n }\n continue;\n }\n params[key] = value;\n }\n\n params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;\n params.CMapReaderFactory =\n params.CMapReaderFactory || DefaultCMapReaderFactory;\n params.StandardFontDataFactory =\n params.StandardFontDataFactory || DefaultStandardFontDataFactory;\n params.ignoreErrors = params.stopAtErrors !== true;\n params.fontExtraProperties = params.fontExtraProperties === true;\n params.pdfBug = params.pdfBug === true;\n params.enableXfa = params.enableXfa === true;\n\n if (\n typeof params.docBaseUrl !== \"string\" ||\n isDataScheme(params.docBaseUrl)\n ) {\n // Ignore \"data:\"-URLs, since they can't be used to recover valid absolute\n // URLs anyway. We want to avoid sending them to the worker-thread, since\n // they contain the *entire* PDF document and can thus be arbitrarily long.\n params.docBaseUrl = null;\n }\n if (!Number.isInteger(params.maxImageSize)) {\n params.maxImageSize = -1;\n }\n if (typeof params.useWorkerFetch !== \"boolean\") {\n params.useWorkerFetch =\n params.CMapReaderFactory === DOMCMapReaderFactory &&\n params.StandardFontDataFactory === DOMStandardFontDataFactory;\n }\n if (typeof params.isEvalSupported !== \"boolean\") {\n params.isEvalSupported = true;\n }\n if (typeof params.disableFontFace !== \"boolean\") {\n params.disableFontFace =\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) && isNodeJS;\n }\n if (typeof params.useSystemFonts !== \"boolean\") {\n params.useSystemFonts =\n !(\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) &&\n isNodeJS\n ) && !params.disableFontFace;\n }\n if (typeof params.ownerDocument === \"undefined\") {\n params.ownerDocument = globalThis.document;\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 contentDispositionFilename: params.contentDispositionFilename,\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 *\n * @param {PDFWorker} worker\n * @param {Object} source\n * @param {PDFDataRangeTransport} pdfDataRangeTransport\n * @param {string} docId - Unique document ID, used in `MessageHandler`.\n * @returns {Promise} A promise that is resolved when the worker ID of\n * the `MessageHandler` is known.\n * @private\n */\nasync function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {\n if (worker.destroyed) {\n throw 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 source.contentDispositionFilename =\n pdfDataRangeTransport.contentDispositionFilename;\n }\n const workerId = await worker.messageHandler.sendWithPromise(\n \"GetDocRequest\",\n {\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 enableXfa: source.enableXfa,\n useSystemFonts: source.useSystemFonts,\n cMapUrl: source.useWorkerFetch ? source.cMapUrl : null,\n standardFontDataUrl: source.useWorkerFetch\n ? source.standardFontDataUrl\n : null,\n }\n );\n\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n return workerId;\n}\n\n/**\n * @typedef {Object} OnProgressParameters\n * @property {number} loaded - Currently loaded number of bytes.\n * @property {number} total - Total number of bytes in the PDF file.\n */\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 */\nclass PDFDocumentLoadingTask {\n static get idCounters() {\n return shadow(this, \"idCounters\", { doc: 0 });\n }\n\n constructor() {\n this._capability = createPromiseCapability();\n this._transport = null;\n this._worker = null;\n\n /**\n * Unique identifier for the document loading task.\n * @type {string}\n */\n this.docId = `d${PDFDocumentLoadingTask.idCounters.doc++}`;\n\n /**\n * Whether the loading task is destroyed or not.\n * @type {boolean}\n */\n this.destroyed = false;\n\n /**\n * Callback to request a password if a wrong or no password was provided.\n * The callback receives two parameters: a function that should be called\n * with the new password, and a reason (see {@link PasswordResponses}).\n * @type {function}\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).\n * The callback receives an {@link OnProgressParameters} argument.\n * @type {function}\n */\n this.onProgress = null;\n\n /**\n * Callback for when an unsupported feature is used in the PDF document.\n * The callback receives an {@link UNSUPPORTED_FEATURES} argument.\n * @type {function}\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 * Abort all network requests and destroy the worker.\n * @returns {Promise} A promise that is resolved when destruction is\n * completed.\n */\n async destroy() {\n this.destroyed = true;\n await this._transport?.destroy();\n\n this._transport = null;\n if (this._worker) {\n this._worker.destroy();\n this._worker = null;\n }\n }\n}\n\n/**\n * Abstract class to support range requests file loading.\n */\nclass PDFDataRangeTransport {\n /**\n * @param {number} length\n * @param {Uint8Array} initialData\n * @param {boolean} [progressiveDone]\n * @param {string} [contentDispositionFilename]\n */\n constructor(\n length,\n initialData,\n progressiveDone = false,\n contentDispositionFilename = null\n ) {\n this.length = length;\n this.initialData = initialData;\n this.progressiveDone = progressiveDone;\n this.contentDispositionFilename = contentDispositionFilename;\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.\n */\nclass PDFDocumentProxy {\n constructor(pdfInfo, transport) {\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n Object.defineProperty(this, \"fingerprint\", {\n get() {\n deprecated(\n \"`PDFDocumentProxy.fingerprint`, \" +\n \"please use `PDFDocumentProxy.fingerprints` instead.\"\n );\n return this.fingerprints[0];\n },\n });\n }\n }\n\n /**\n * @type {AnnotationStorage} Storage for annotation data in forms.\n */\n get annotationStorage() {\n return this._transport.annotationStorage;\n }\n\n /**\n * @type {number} Total number of pages in the PDF file.\n */\n get numPages() {\n return this._pdfInfo.numPages;\n }\n\n /**\n * @type {Array} A (not guaranteed to be) unique ID to\n * identify the PDF document.\n * NOTE: The first element will always be defined for all PDF documents,\n * whereas the second element is only defined for *modified* PDF documents.\n */\n get fingerprints() {\n return this._pdfInfo.fingerprints;\n }\n\n /**\n * @type {boolean} True if only XFA form.\n */\n get isPureXfa() {\n return !!this._transport._htmlForXfa;\n }\n\n /**\n * NOTE: This is (mostly) intended to support printing of XFA forms.\n *\n * @type {Object | null} An object representing a HTML tree structure\n * to render the XFA, or `null` when no XFA form exists.\n */\n get allXfaHtml() {\n return this._transport._htmlForXfa;\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\n * a {@link PDFPageProxy} object.\n */\n getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n\n /**\n * @param {RefProxy} ref - The page reference.\n * @returns {Promise} A promise that is resolved with the page index,\n * starting 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\n * with a mapping from named destinations to references.\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 | null>} A promise that is resolved with all\n * information of the given named destination, or `null` when the named\n * destination is not present in the PDF file.\n */\n getDestination(id) {\n return this._transport.getDestination(id);\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with\n * an {Array} containing the page labels that correspond to the page\n * indexes, or `null` when 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}\n * containing 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}\n * containing 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\n * {Object} containing the viewer preferences, or `null` when no viewer\n * preferences are present 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 {Array}\n * containing the destination, or `null` when no open action is present\n * in the PDF.\n */\n getOpenAction() {\n return this._transport.getOpenAction();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a lookup table\n * for mapping named attachments to their content.\n */\n getAttachments() {\n return this._transport.getAttachments();\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with\n * an {Array} of all the JavaScript strings in the name tree, or `null`\n * if no JavaScript exists.\n */\n getJavaScript() {\n return this._transport.getJavaScript();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with\n * an {Object} with the JavaScript actions:\n * - from the name tree (like getJavaScript);\n * - from A or AA entries in the catalog dictionary.\n * , or `null` if no JavaScript exists.\n */\n getJSActions() {\n return this._transport.getDocJSActions();\n }\n\n /**\n * @typedef {Object} OutlineNode\n * @property {string} title\n * @property {boolean} bold\n * @property {boolean} italic\n * @property {Uint8ClampedArray} color - The color in RGB format to use for\n * display purposes.\n * @property {string | Array | null} dest\n * @property {string | null} url\n * @property {string | undefined} unsafeUrl\n * @property {boolean | undefined} newWindow\n * @property {number | undefined} count\n * @property {Array} items\n */\n\n /**\n * @returns {Promise>} A promise that is resolved with an\n * {Array} that is a tree outline (if it has one) of the PDF file.\n */\n getOutline() {\n return this._transport.getOutline();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with\n * an {@link OptionalContentConfig} that contains all the optional content\n * groups (assuming that the document has any).\n */\n getOptionalContentConfig() {\n return this._transport.getOptionalContentConfig();\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with\n * an {Array} that contains the permission flags for the PDF document, or\n * `null` when no permissions are present in the PDF file.\n */\n getPermissions() {\n return this._transport.getPermissions();\n }\n\n /**\n * @returns {Promise<{ info: Object, metadata: Metadata }>} A promise that is\n * resolved with an {Object} that has `info` and `metadata` properties.\n * `info` is an {Object} filled with anything available in the information\n * dictionary and similarly `metadata` is a {Metadata} object with\n * information from the metadata section of the PDF.\n */\n getMetadata() {\n return this._transport.getMetadata();\n }\n\n /**\n * @typedef {Object} MarkInfo\n * Properties correspond to Table 321 of the PDF 32000-1:2008 spec.\n * @property {boolean} Marked\n * @property {boolean} UserProperties\n * @property {boolean} Suspects\n */\n\n /**\n * @returns {Promise} A promise that is resolved with\n * a {MarkInfo} object that contains the MarkInfo flags for the PDF\n * document, or `null` when no MarkInfo values are present in the PDF file.\n */\n getMarkInfo() {\n return this._transport.getMarkInfo();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a\n * {TypedArray} that has the raw data from the PDF.\n */\n getData() {\n return this._transport.getData();\n }\n\n /**\n * @returns {Promise<{ length: number }>} A promise that is resolved when the\n * document's data is loaded. It is resolved with an {Object} that contains\n * the `length` property that indicates size of the PDF data in bytes.\n */\n getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n\n /**\n * @typedef {Object} PDFDocumentStats\n * @property {Object} streamTypes - Used stream types in the\n * document (an item is set to true if specific stream ID was used in the\n * document).\n * @property {Object} fontTypes - Used font types in the\n * document (an item is set to true if specific font ID was used in the\n * document).\n */\n\n /**\n * @returns {Promise} A promise this is resolved with\n * current statistics about document structures (see\n * {@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 worker\n * 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 * @param {boolean} [keepLoadedFonts] - Let fonts remain attached to the DOM.\n * NOTE: This will increase persistent memory usage, hence don't use this\n * option unless absolutely necessary. The default value is `false`.\n * @returns {Promise} A promise that is resolved when clean-up has finished.\n */\n cleanup(keepLoadedFonts = false) {\n return this._transport.startCleanup(keepLoadedFonts || this.isPureXfa);\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 {DocumentInitParameters} A subset of the current\n * {DocumentInitParameters}, which are needed in the viewer.\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 * @returns {Promise} A promise that is resolved with a\n * {Uint8Array} containing the full data of the saved document.\n */\n saveDocument() {\n if (\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) &&\n this._transport.annotationStorage.size <= 0\n ) {\n deprecated(\n \"saveDocument called while `annotationStorage` is empty, \" +\n \"please use the getData-method instead.\"\n );\n }\n return this._transport.saveDocument();\n }\n\n /**\n * @returns {Promise> | null>} A promise that is\n * resolved with an {Object} containing /AcroForm field data for the JS\n * sandbox, or `null` when no field data is present in the PDF file.\n */\n getFieldObjects() {\n return this._transport.getFieldObjects();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with `true`\n * if some /AcroForm fields have JavaScript actions.\n */\n hasJSActions() {\n return this._transport.hasJSActions();\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with an\n * {Array} containing IDs of annotations that have a calculation\n * action, or `null` when no such annotations are present in the PDF file.\n */\n getCalculationOrderIds() {\n return this._transport.getCalculationOrderIds();\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 * @property {boolean} [includeMarkedContent] - When true include marked\n * content items in the items array of TextContent. The default is `false`.\n */\n\n/**\n * Page text content.\n *\n * @typedef {Object} TextContent\n * @property {Array} items - Array of\n * {@link TextItem} and {@link TextMarkedContent} objects. TextMarkedContent\n * items are included when includeMarkedContent is true.\n * @property {Object} styles - {@link TextStyle} objects,\n * 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 * @property {boolean} hasEOL - Indicating if the text content is followed by a\n * line-break.\n */\n\n/**\n * Page text marked content part.\n *\n * @typedef {Object} TextMarkedContent\n * @property {string} type - Either 'beginMarkedContent',\n * 'beginMarkedContentProps', or 'endMarkedContent'.\n * @property {string} id - The marked content identifier. Only used for type\n * 'beginMarkedContentProps'.\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 - Whether or not the text is in vertical mode.\n * @property {string} fontFamily - The possible font family.\n */\n\n/**\n * Page annotation parameters.\n *\n * @typedef {Object} GetAnnotationsParameters\n * @property {string} [intent] - Determines the annotations that are fetched,\n * can be 'display' (viewable annotations), 'print' (printable annotations),\n * or 'any' (all annotations). The default value is 'display'.\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 calling\n * the `PDFPageProxy.getViewport` method.\n * @property {string} [intent] - Rendering intent, can be 'display', 'print',\n * or 'any'. The default value is 'display'.\n * @property {number} [annotationMode] Controls which annotations are rendered\n * onto the canvas, for annotations with appearance-data; the values from\n * {@link AnnotationMode} should be used. The following values are supported:\n * - `AnnotationMode.DISABLE`, which disables all annotations.\n * - `AnnotationMode.ENABLE`, which includes all possible annotations (thus\n * it also depends on the `intent`-option, see above).\n * - `AnnotationMode.ENABLE_FORMS`, which excludes annotations that contain\n * interactive form elements (those will be rendered in the display layer).\n * - `AnnotationMode.ENABLE_STORAGE`, which includes all possible annotations\n * (as above) but where interactive form elements are updated with data\n * from the {@link AnnotationStorage}-instance; useful e.g. for printing.\n * The default value is `AnnotationMode.ENABLE`.\n * @property {Array} [transform] - Additional transform, applied just\n * before viewport transform.\n * @property {Object} [imageLayer] - An object that has `beginLayout`,\n * `endLayout` and `appendImage` functions.\n * @property {Object} [canvasFactory] - The factory instance that will be used\n * when creating canvases. The default value is {new DOMCanvasFactory()}.\n * @property {Object | string} [background] - Background to use for the canvas.\n * Any valid `canvas.fillStyle` can be used: a `DOMString` parsed as CSS\n * value, a `CanvasGradient` object (a linear or radial gradient) or\n * a `CanvasPattern` object (a repetitive image). The default value is\n * 'rgb(255,255,255)'.\n * @property {Promise} [optionalContentConfigPromise] -\n * A promise that should resolve with an {@link OptionalContentConfig}\n * created from `PDFDocumentProxy.getOptionalContentConfig`. If `null`,\n * the configuration will be fetched automatically with the default visibility\n * states set.\n */\n\n/**\n * Page getOperatorList parameters.\n *\n * @typedef {Object} GetOperatorListParameters\n * @property {string} [intent] - Rendering intent, can be 'display', 'print',\n * or 'any'. The default value is 'display'.\n * @property {number} [annotationMode] Controls which annotations are included\n * in the operatorList, for annotations with appearance-data; the values from\n * {@link AnnotationMode} should be used. The following values are supported:\n * - `AnnotationMode.DISABLE`, which disables all annotations.\n * - `AnnotationMode.ENABLE`, which includes all possible annotations (thus\n * it also depends on the `intent`-option, see above).\n * - `AnnotationMode.ENABLE_FORMS`, which excludes annotations that contain\n * interactive form elements (those will be rendered in the display layer).\n * - `AnnotationMode.ENABLE_STORAGE`, which includes all possible annotations\n * (as above) but where interactive form elements are updated with data\n * from the {@link AnnotationStorage}-instance; useful e.g. for printing.\n * The default value is `AnnotationMode.ENABLE`.\n */\n\n/**\n * Structure tree node. The root node will have a role \"Root\".\n *\n * @typedef {Object} StructTreeNode\n * @property {Array} children - Array of\n * {@link StructTreeNode} and {@link StructTreeContent} objects.\n * @property {string} role - element's role, already mapped if a role map exists\n * in the PDF.\n */\n\n/**\n * Structure tree content.\n *\n * @typedef {Object} StructTreeContent\n * @property {string} type - either \"content\" for page and stream structure\n * elements or \"object\" for object references.\n * @property {string} id - unique id that will map to the text layer.\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 */\nclass PDFPageProxy {\n constructor(pageIndex, pageInfo, transport, ownerDocument, pdfBug = false) {\n this._pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._ownerDocument = ownerDocument;\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 = new Map();\n this._annotationPromises = new Map();\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 {RefProxy | null} The reference that points to this page.\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\n * user 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\n * {Array} of the annotation objects.\n */\n getAnnotations({ intent = \"display\" } = {}) {\n const intentArgs = this._transport.getRenderingIntent(intent);\n\n let promise = this._annotationPromises.get(intentArgs.cacheKey);\n if (!promise) {\n promise = this._transport.getAnnotations(\n this._pageIndex,\n intentArgs.renderingIntent\n );\n this._annotationPromises.set(intentArgs.cacheKey, promise);\n\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n promise = promise.then(annotations => {\n for (const annotation of annotations) {\n if (annotation.titleObj !== undefined) {\n Object.defineProperty(annotation, \"title\", {\n get() {\n deprecated(\n \"`title`-property on annotation, please use `titleObj` instead.\"\n );\n return annotation.titleObj.str;\n },\n });\n }\n if (annotation.contentsObj !== undefined) {\n Object.defineProperty(annotation, \"contents\", {\n get() {\n deprecated(\n \"`contents`-property on annotation, please use `contentsObj` instead.\"\n );\n return annotation.contentsObj.str;\n },\n });\n }\n }\n return annotations;\n });\n }\n }\n return promise;\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an\n * {Object} with JS actions.\n */\n getJSActions() {\n return (this._jsActionsPromise ||= this._transport.getPageJSActions(\n this._pageIndex\n ));\n }\n\n /**\n * @returns {Promise} A promise that is resolved with\n * an {Object} with a fake DOM object (a tree structure where elements\n * are {Object} with a name, attributes (class, style, ...), value and\n * children, very similar to a HTML DOM tree), or `null` if no XFA exists.\n */\n async getXfa() {\n return this._transport._htmlForXfa?.children[this._pageIndex] || null;\n }\n\n /**\n * Begins the process of rendering a page to the desired context.\n *\n * @param {RenderParameters} params - Page render parameters.\n * @returns {RenderTask} An object that contains a promise that is\n * resolved when the page finishes rendering.\n */\n render({\n canvasContext,\n viewport,\n intent = \"display\",\n annotationMode = AnnotationMode.ENABLE,\n transform = null,\n imageLayer = null,\n canvasFactory = null,\n background = null,\n optionalContentConfigPromise = null,\n }) {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"GENERIC\")) {\n if (arguments[0]?.renderInteractiveForms !== undefined) {\n deprecated(\n \"render no longer accepts the `renderInteractiveForms`-option, \" +\n \"please use the `annotationMode`-option instead.\"\n );\n if (\n arguments[0].renderInteractiveForms === true &&\n annotationMode === AnnotationMode.ENABLE\n ) {\n annotationMode = AnnotationMode.ENABLE_FORMS;\n }\n }\n if (arguments[0]?.includeAnnotationStorage !== undefined) {\n deprecated(\n \"render no longer accepts the `includeAnnotationStorage`-option, \" +\n \"please use the `annotationMode`-option instead.\"\n );\n if (\n arguments[0].includeAnnotationStorage === true &&\n annotationMode === AnnotationMode.ENABLE\n ) {\n annotationMode = AnnotationMode.ENABLE_STORAGE;\n }\n }\n }\n\n if (this._stats) {\n this._stats.time(\"Overall\");\n }\n\n const intentArgs = this._transport.getRenderingIntent(\n intent,\n annotationMode\n );\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 (!optionalContentConfigPromise) {\n optionalContentConfigPromise = this._transport.getOptionalContentConfig();\n }\n\n let intentState = this._intentStates.get(intentArgs.cacheKey);\n if (!intentState) {\n intentState = Object.create(null);\n this._intentStates.set(intentArgs.cacheKey, intentState);\n }\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 =\n canvasFactory ||\n new DefaultCanvasFactory({ ownerDocument: this._ownerDocument });\n const intentPrint = !!(\n intentArgs.renderingIntent & RenderingIntentFlag.PRINT\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(intentArgs);\n }\n\n const complete = error => {\n intentState.renderTasks.delete(internalRenderTask);\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 || intentPrint) {\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 instanceof Error ? error : new Error(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 useRequestAnimationFrame: !intentPrint,\n pdfBug: this._pdfBug,\n });\n\n (intentState.renderTasks ||= new Set()).add(internalRenderTask);\n const renderTask = internalRenderTask.task;\n\n Promise.all([\n intentState.displayReadyCapability.promise,\n optionalContentConfigPromise,\n ])\n .then(([transparency, optionalContentConfig]) => {\n if (this.pendingCleanup) {\n complete();\n return;\n }\n if (this._stats) {\n this._stats.time(\"Rendering\");\n }\n internalRenderTask.initializeGraphics({\n transparency,\n optionalContentConfig,\n });\n internalRenderTask.operatorListChanged();\n })\n .catch(complete);\n\n return renderTask;\n }\n\n /**\n * @param {GetOperatorListParameters} params - Page getOperatorList\n * parameters.\n * @returns {Promise} A promise resolved with an\n * {@link PDFOperatorList} object that represents the page's operator list.\n */\n getOperatorList({\n intent = \"display\",\n annotationMode = AnnotationMode.ENABLE,\n } = {}) {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n\n intentState.renderTasks.delete(opListTask);\n }\n }\n\n const intentArgs = this._transport.getRenderingIntent(\n intent,\n annotationMode,\n /* isOpList = */ true\n );\n let intentState = this._intentStates.get(intentArgs.cacheKey);\n if (!intentState) {\n intentState = Object.create(null);\n this._intentStates.set(intentArgs.cacheKey, intentState);\n }\n let opListTask;\n\n if (!intentState.opListReadCapability) {\n opListTask = Object.create(null);\n opListTask.operatorListChanged = operatorListChanged;\n intentState.opListReadCapability = createPromiseCapability();\n (intentState.renderTasks ||= new Set()).add(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(intentArgs);\n }\n return intentState.opListReadCapability.promise;\n }\n\n /**\n * @param {getTextContentParameters} params - getTextContent parameters.\n * @returns {ReadableStream} Stream for reading text content chunks.\n */\n streamTextContent({\n normalizeWhitespace = false,\n disableCombineTextItems = false,\n includeMarkedContent = 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 includeMarkedContent: includeMarkedContent === 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} A promise that is resolved with a\n * {@link TextContent} object that represents the page's text content.\n */\n getTextContent(params = {}) {\n if (this._transport._htmlForXfa) {\n // TODO: We need to revisit this once the XFA foreground patch lands and\n // only do this for non-foreground XFA.\n return this.getXfa().then(xfa => {\n return XfaText.textContent(xfa);\n });\n }\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 * @returns {Promise} A promise that is resolved with a\n * {@link StructTreeNode} object that represents the page's structure tree,\n * or `null` when no structure tree is present for the current page.\n */\n getStructTree() {\n return (this._structTreePromise ||= this._transport.getStructTree(\n this._pageIndex\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 for (const intentState of this._intentStates.values()) {\n this._abortOperatorList({\n intentState,\n reason: new Error(\"Page was destroyed.\"),\n force: true,\n });\n\n if (intentState.opListReadCapability) {\n // Avoid errors below, since the renderTasks are just stubs.\n continue;\n }\n for (const internalRenderTask of intentState.renderTasks) {\n waitOn.push(internalRenderTask.completed);\n internalRenderTask.cancel();\n }\n }\n this.objs.clear();\n this._annotationPromises.clear();\n this._jsActionsPromise = null;\n this._structTreePromise = null;\n this.pendingCleanup = false;\n return Promise.all(waitOn);\n }\n\n /**\n * Cleans up resources allocated by the page.\n *\n * @param {boolean} [resetStats] - Reset page stats, if enabled.\n * The default value is `false`.\n * @returns {boolean} Indicates 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 (!this.pendingCleanup) {\n return false;\n }\n for (const { renderTasks, operatorList } of this._intentStates.values()) {\n if (renderTasks.size > 0 || !operatorList.lastChunk) {\n return false;\n }\n }\n\n this._intentStates.clear();\n this.objs.clear();\n this._annotationPromises.clear();\n this._jsActionsPromise = null;\n this._structTreePromise = 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, cacheKey) {\n const intentState = this._intentStates.get(cacheKey);\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 (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n\n if (operatorListChunk.lastChunk) {\n this._tryCleanup();\n }\n }\n\n /**\n * @private\n */\n _pumpOperatorList({ renderingIntent, cacheKey }) {\n if (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!PRODUCTION || TESTING\")\n ) {\n assert(\n Number.isInteger(renderingIntent) && renderingIntent > 0,\n '_pumpOperatorList: Expected valid \"renderingIntent\" argument.'\n );\n }\n\n const readableStream = this._transport.messageHandler.sendWithStream(\n \"GetOperatorList\",\n {\n pageIndex: this._pageIndex,\n intent: renderingIntent,\n cacheKey,\n annotationStorage:\n renderingIntent & RenderingIntentFlag.ANNOTATIONS_STORAGE\n ? this._transport.annotationStorage.serializable\n : null,\n }\n );\n const reader = readableStream.getReader();\n\n const intentState = this._intentStates.get(cacheKey);\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 (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.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 if (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!PRODUCTION || TESTING\")\n ) {\n assert(\n reason instanceof Error,\n '_abortOperatorList: Expected valid \"reason\" argument.'\n );\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.size > 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\n .cancel(new AbortException(reason.message))\n .catch(() => {\n // Avoid \"Uncaught promise\" messages in the console.\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 for (const [curCacheKey, curIntentState] of this._intentStates) {\n if (curIntentState === intentState) {\n this._intentStates.delete(curCacheKey);\n break;\n }\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() {\n this._listeners = [];\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 (\n typeof value === \"function\" ||\n typeof value === \"symbol\" ||\n value instanceof URL\n ) {\n throw new Error(\n `LoopbackPort.postMessage - cannot clone: ${value?.toString()}`\n );\n }\n\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 if (transfers?.includes(buffer)) {\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 if (value instanceof Map) {\n result = new Map();\n cloned.set(value, result); // Adding to cache now for cyclic references.\n for (const [key, val] of value) {\n result.set(key, cloneValue(val));\n }\n return result;\n }\n if (value instanceof Set) {\n result = new Set();\n cloned.set(value, result); // Adding to cache now for cyclic references.\n for (const val of value) {\n result.add(cloneValue(val));\n }\n return result;\n }\n result = Array.isArray(value) ? [] : Object.create(null);\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\" && !value.hasOwnProperty?.(i)) {\n continue;\n }\n result[i] = cloneValue(desc.value);\n }\n return result;\n }\n\n const cloned = new WeakMap();\n const event = { data: cloneValue(obj) };\n\n this._deferred.then(() => {\n for (const listener of this._listeners) {\n listener.call(this, event);\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` object.\n * @property {number} [verbosity] - Controls the logging level;\n * the constants from {@link VerbosityLevel} should be used.\n */\n\nconst PDFWorkerUtil = {\n isWorkerDisabled: false,\n fallbackWorkerSrc: null,\n fakeWorkerId: 0,\n};\nif (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 PDFWorkerUtil.isWorkerDisabled = true;\n\n PDFWorkerUtil.fallbackWorkerSrc = PDFJSDev.test(\"LIB\")\n ? \"../pdf.worker.js\"\n : \"./pdf.worker.js\";\n } else if (typeof document === \"object\") {\n const pdfjsFilePath = document?.currentScript?.src;\n if (pdfjsFilePath) {\n PDFWorkerUtil.fallbackWorkerSrc = pdfjsFilePath.replace(\n /(\\.(?:min\\.)?js)(\\?.*)?$/i,\n \".worker$1$2\"\n );\n }\n }\n\n PDFWorkerUtil.createCDNWrapper = function (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/**\n * PDF.js web worker abstraction that 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 * @param {PDFWorkerParameters} params - The worker initialization parameters.\n */\nclass PDFWorker {\n static get _workerPorts() {\n return shadow(this, \"_workerPorts\", new WeakMap());\n }\n\n constructor({\n name = null,\n port = null,\n verbosity = getVerbosityLevel(),\n } = {}) {\n if (port && PDFWorker._workerPorts.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 PDFWorker._workerPorts.set(port, this);\n this._initializeFromPort(port);\n return;\n }\n this._initialize();\n }\n\n /**\n * Promise for worker initialization completion.\n * @type {Promise}\n */\n get promise() {\n return this._readyCapability.promise;\n }\n\n /**\n * The current `workerPort`, when it exists.\n * @type {Worker}\n */\n get port() {\n return this._port;\n }\n\n /**\n * The current MessageHandler-instance.\n * @type {MessageHandler}\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 should already be initialized\n // and ready to accept 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 !PDFWorkerUtil.isWorkerDisabled &&\n !PDFWorker._mainThreadWorkerMessageHandler\n ) {\n let workerSrc = PDFWorker.workerSrc;\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 = PDFWorkerUtil.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([this.postMessageTransfers ? 255 : 0]);\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 the worker to initialize. We will try to send\n // the \"test\" message immediately, and once the \"ready\" message arrives.\n // The worker shall process only the first received \"test\" message.\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 (!PDFWorkerUtil.isWorkerDisabled) {\n warn(\"Setting up fake worker.\");\n PDFWorkerUtil.isWorkerDisabled = true;\n }\n\n PDFWorker._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${PDFWorkerUtil.fakeWorkerId++}`;\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 PDFWorker._workerPorts.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 parameters.\n */\n static fromPort(params) {\n if (!params?.port) {\n throw new Error(\"PDFWorker.fromPort - invalid method signature.\");\n }\n if (this._workerPorts.has(params.port)) {\n return this._workerPorts.get(params.port);\n }\n return new PDFWorker(params);\n }\n\n /**\n * The current `workerSrc`, when it exists.\n * @type {string}\n */\n static get workerSrc() {\n if (GlobalWorkerOptions.workerSrc) {\n return GlobalWorkerOptions.workerSrc;\n }\n if (PDFWorkerUtil.fallbackWorkerSrc !== null) {\n if (!isNodeJS) {\n deprecated('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n return PDFWorkerUtil.fallbackWorkerSrc;\n }\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n static get _mainThreadWorkerMessageHandler() {\n try {\n return globalThis.pdfjsWorker?.WorkerMessageHandler || null;\n } catch (ex) {\n return null;\n }\n }\n\n // Loads worker code into the main-thread.\n static get _setupFakeWorkerGlobal() {\n const loader = async () => {\n const mainWorkerMessageHandler = this._mainThreadWorkerMessageHandler;\n\n if (mainWorkerMessageHandler) {\n // The worker was already loaded using e.g. a `