{"version":3,"file":"index-BwFLdRD-.cjs","sources":["../../models/dist/index.js"],"sourcesContent":["var Rotation = /* @__PURE__ */ ((Rotation2) => {\n  Rotation2[Rotation2[\"Degree0\"] = 0] = \"Degree0\";\n  Rotation2[Rotation2[\"Degree90\"] = 1] = \"Degree90\";\n  Rotation2[Rotation2[\"Degree180\"] = 2] = \"Degree180\";\n  Rotation2[Rotation2[\"Degree270\"] = 3] = \"Degree270\";\n  return Rotation2;\n})(Rotation || {});\nfunction toIntPos(p) {\n  return { x: Math.floor(p.x), y: Math.floor(p.y) };\n}\nfunction toIntSize(s) {\n  return { width: Math.ceil(s.width), height: Math.ceil(s.height) };\n}\nfunction toIntRect(r) {\n  return {\n    origin: toIntPos(r.origin),\n    size: toIntSize(r.size)\n  };\n}\nfunction calculateDegree(rotation) {\n  switch (rotation) {\n    case 0:\n      return 0;\n    case 1:\n      return 90;\n    case 2:\n      return 180;\n    case 3:\n      return 270;\n  }\n}\nfunction calculateAngle(rotation) {\n  return calculateDegree(rotation) * Math.PI / 180;\n}\nfunction swap(size) {\n  const { width, height } = size;\n  return {\n    width: height,\n    height: width\n  };\n}\nfunction transformSize(size, rotation, scaleFactor) {\n  size = rotation % 2 === 0 ? size : swap(size);\n  return {\n    width: size.width * scaleFactor,\n    height: size.height * scaleFactor\n  };\n}\nfunction quadToRect(q) {\n  const xs = [q.p1.x, q.p2.x, q.p3.x, q.p4.x];\n  const ys = [q.p1.y, q.p2.y, q.p3.y, q.p4.y];\n  return {\n    origin: { x: Math.min(...xs), y: Math.min(...ys) },\n    size: {\n      width: Math.max(...xs) - Math.min(...xs),\n      height: Math.max(...ys) - Math.min(...ys)\n    }\n  };\n}\nfunction rectToQuad(r) {\n  return {\n    p1: { x: r.origin.x, y: r.origin.y },\n    p2: { x: r.origin.x + r.size.width, y: r.origin.y },\n    p3: { x: r.origin.x + r.size.width, y: r.origin.y + r.size.height },\n    p4: { x: r.origin.x, y: r.origin.y + r.size.height }\n  };\n}\nfunction rotatePosition(containerSize, position, rotation) {\n  let x = position.x;\n  let y = position.y;\n  switch (rotation) {\n    case 0:\n      x = position.x;\n      y = position.y;\n      break;\n    case 1:\n      x = containerSize.height - position.y;\n      y = position.x;\n      break;\n    case 2:\n      x = containerSize.width - position.x;\n      y = containerSize.height - position.y;\n      break;\n    case 3:\n      x = position.y;\n      y = containerSize.width - position.x;\n      break;\n  }\n  return {\n    x,\n    y\n  };\n}\nfunction scalePosition(position, scaleFactor) {\n  return {\n    x: position.x * scaleFactor,\n    y: position.y * scaleFactor\n  };\n}\nfunction transformPosition(containerSize, position, rotation, scaleFactor) {\n  return scalePosition(rotatePosition(containerSize, position, rotation), scaleFactor);\n}\nfunction restorePosition(containerSize, position, rotation, scaleFactor) {\n  return scalePosition(\n    rotatePosition(containerSize, position, (4 - rotation) % 4),\n    1 / scaleFactor\n  );\n}\nfunction rectEquals(a, b) {\n  return a.origin.x === b.origin.x && a.origin.y === b.origin.y && a.size.width === b.size.width && a.size.height === b.size.height;\n}\nfunction rectFromPoints(positions) {\n  if (positions.length === 0) {\n    return { origin: { x: 0, y: 0 }, size: { width: 0, height: 0 } };\n  }\n  const xs = positions.map((p) => p.x);\n  const ys = positions.map((p) => p.y);\n  const minX = Math.min(...xs);\n  const minY = Math.min(...ys);\n  return {\n    origin: { x: minX, y: minY },\n    size: {\n      width: Math.max(...xs) - minX,\n      height: Math.max(...ys) - minY\n    }\n  };\n}\nfunction rotateAndTranslatePoint(pos, angleRad, translate) {\n  const cos = Math.cos(angleRad);\n  const sin = Math.sin(angleRad);\n  const newX = pos.x * cos - pos.y * sin;\n  const newY = pos.x * sin + pos.y * cos;\n  return {\n    x: newX + translate.x,\n    y: newY + translate.y\n  };\n}\nfunction expandRect(rect, padding) {\n  return {\n    origin: { x: rect.origin.x - padding, y: rect.origin.y - padding },\n    size: { width: rect.size.width + padding * 2, height: rect.size.height + padding * 2 }\n  };\n}\nfunction rotateRect(containerSize, rect, rotation) {\n  let x = rect.origin.x;\n  let y = rect.origin.y;\n  let size = rect.size;\n  switch (rotation) {\n    case 0:\n      break;\n    case 1:\n      x = containerSize.height - rect.origin.y - rect.size.height;\n      y = rect.origin.x;\n      size = swap(rect.size);\n      break;\n    case 2:\n      x = containerSize.width - rect.origin.x - rect.size.width;\n      y = containerSize.height - rect.origin.y - rect.size.height;\n      break;\n    case 3:\n      x = rect.origin.y;\n      y = containerSize.width - rect.origin.x - rect.size.width;\n      size = swap(rect.size);\n      break;\n  }\n  return {\n    origin: {\n      x,\n      y\n    },\n    size: {\n      width: size.width,\n      height: size.height\n    }\n  };\n}\nfunction scaleRect(rect, scaleFactor) {\n  return {\n    origin: {\n      x: rect.origin.x * scaleFactor,\n      y: rect.origin.y * scaleFactor\n    },\n    size: {\n      width: rect.size.width * scaleFactor,\n      height: rect.size.height * scaleFactor\n    }\n  };\n}\nfunction transformRect(containerSize, rect, rotation, scaleFactor) {\n  return scaleRect(rotateRect(containerSize, rect, rotation), scaleFactor);\n}\nfunction restoreRect(containerSize, rect, rotation, scaleFactor) {\n  return scaleRect(rotateRect(containerSize, rect, (4 - rotation) % 4), 1 / scaleFactor);\n}\nfunction restoreOffset(offset, rotation, scaleFactor) {\n  let offsetX = offset.x;\n  let offsetY = offset.y;\n  switch (rotation) {\n    case 0:\n      offsetX = offset.x / scaleFactor;\n      offsetY = offset.y / scaleFactor;\n      break;\n    case 1:\n      offsetX = offset.y / scaleFactor;\n      offsetY = -offset.x / scaleFactor;\n      break;\n    case 2:\n      offsetX = -offset.x / scaleFactor;\n      offsetY = -offset.y / scaleFactor;\n      break;\n    case 3:\n      offsetX = -offset.y / scaleFactor;\n      offsetY = offset.x / scaleFactor;\n      break;\n  }\n  return {\n    x: offsetX,\n    y: offsetY\n  };\n}\nfunction boundingRect(rects) {\n  if (rects.length === 0) return null;\n  let minX = rects[0].origin.x, minY = rects[0].origin.y, maxX = rects[0].origin.x + rects[0].size.width, maxY = rects[0].origin.y + rects[0].size.height;\n  for (const r of rects) {\n    minX = Math.min(minX, r.origin.x);\n    minY = Math.min(minY, r.origin.y);\n    maxX = Math.max(maxX, r.origin.x + r.size.width);\n    maxY = Math.max(maxY, r.origin.y + r.size.height);\n  }\n  return {\n    origin: {\n      x: minX,\n      y: minY\n    },\n    size: {\n      width: maxX - minX,\n      height: maxY - minY\n    }\n  };\n}\nfunction buildUserToDeviceMatrix(rect, rotation, outW, outH) {\n  const L = rect.origin.x;\n  const B = rect.origin.y;\n  const W = rect.size.width;\n  const H = rect.size.height;\n  const sx0 = outW / W;\n  const sy0 = outH / H;\n  const sx90 = outW / H;\n  const sy90 = outH / W;\n  switch (rotation) {\n    case 0:\n      return { a: sx0, b: 0, c: 0, d: sy0, e: -sx0 * L, f: -sy0 * B };\n    case 3:\n      return { a: 0, b: -sy90, c: sx90, d: 0, e: -sx90 * B, f: sy90 * (L + W) };\n    case 2:\n      return { a: -sx0, b: 0, c: 0, d: -sy0, e: sx0 * (L + W), f: sy0 * (B + H) };\n    case 1:\n      return { a: 0, b: sy90, c: -sx90, d: 0, e: sx90 * (B + H), f: -sy90 * L };\n  }\n}\nclass NoopLogger {\n  /** {@inheritDoc Logger.isEnabled} */\n  isEnabled() {\n    return false;\n  }\n  /** {@inheritDoc Logger.debug} */\n  debug() {\n  }\n  /** {@inheritDoc Logger.info} */\n  info() {\n  }\n  /** {@inheritDoc Logger.warn} */\n  warn() {\n  }\n  /** {@inheritDoc Logger.error} */\n  error() {\n  }\n  /** {@inheritDoc Logger.perf} */\n  perf() {\n  }\n}\nclass ConsoleLogger {\n  /** {@inheritDoc Logger.isEnabled} */\n  isEnabled() {\n    return true;\n  }\n  /** {@inheritDoc Logger.debug} */\n  debug(source, category, ...args) {\n    console.debug(`${source}.${category}`, ...args);\n  }\n  /** {@inheritDoc Logger.info} */\n  info(source, category, ...args) {\n    console.info(`${source}.${category}`, ...args);\n  }\n  /** {@inheritDoc Logger.warn} */\n  warn(source, category, ...args) {\n    console.warn(`${source}.${category}`, ...args);\n  }\n  /** {@inheritDoc Logger.error} */\n  error(source, category, ...args) {\n    console.error(`${source}.${category}`, ...args);\n  }\n  /** {@inheritDoc Logger.perf} */\n  perf(source, category, event, phase, ...args) {\n    console.info(`${source}.${category}.${event}.${phase}`, ...args);\n  }\n}\nvar LogLevel = /* @__PURE__ */ ((LogLevel2) => {\n  LogLevel2[LogLevel2[\"Debug\"] = 0] = \"Debug\";\n  LogLevel2[LogLevel2[\"Info\"] = 1] = \"Info\";\n  LogLevel2[LogLevel2[\"Warn\"] = 2] = \"Warn\";\n  LogLevel2[LogLevel2[\"Error\"] = 3] = \"Error\";\n  return LogLevel2;\n})(LogLevel || {});\nclass LevelLogger {\n  /**\n   * create new LevelLogger\n   * @param logger - the original logger\n   * @param level - log level that used for filtering, all logs lower than this level will be filtered out\n   */\n  constructor(logger, level) {\n    this.logger = logger;\n    this.level = level;\n  }\n  /** {@inheritDoc Logger.isEnabled} */\n  isEnabled(level) {\n    const levelMap = {\n      debug: 0,\n      info: 1,\n      warn: 2,\n      error: 3\n      /* Error */\n    };\n    return this.level <= levelMap[level];\n  }\n  /** {@inheritDoc Logger.debug} */\n  debug(source, category, ...args) {\n    if (this.level <= 0) {\n      this.logger.debug(source, category, ...args);\n    }\n  }\n  /** {@inheritDoc Logger.info} */\n  info(source, category, ...args) {\n    if (this.level <= 1) {\n      this.logger.info(source, category, ...args);\n    }\n  }\n  /** {@inheritDoc Logger.warn} */\n  warn(source, category, ...args) {\n    if (this.level <= 2) {\n      this.logger.warn(source, category, ...args);\n    }\n  }\n  /** {@inheritDoc Logger.error} */\n  error(source, category, ...args) {\n    if (this.level <= 3) {\n      this.logger.error(source, category, ...args);\n    }\n  }\n  /** {@inheritDoc Logger.perf} */\n  perf(source, category, event, phase, ...args) {\n    this.logger.perf(source, category, event, phase, ...args);\n  }\n}\nclass PerfLogger {\n  /**\n   * create new PerfLogger\n   */\n  constructor() {\n  }\n  /** {@inheritDoc Logger.isEnabled} */\n  isEnabled() {\n    return false;\n  }\n  /** {@inheritDoc Logger.debug} */\n  debug(source, category, ...args) {\n  }\n  /** {@inheritDoc Logger.info} */\n  info(source, category, ...args) {\n  }\n  /** {@inheritDoc Logger.warn} */\n  warn(source, category, ...args) {\n  }\n  /** {@inheritDoc Logger.error} */\n  error(source, category, ...args) {\n  }\n  /** {@inheritDoc Logger.perf} */\n  perf(source, category, event, phase, identifier, ...args) {\n    switch (phase) {\n      case \"Begin\":\n        globalThis.performance.mark(`${source}.${category}.${event}.${phase}.${identifier}`, {\n          detail: args\n        });\n        break;\n      case \"End\":\n        globalThis.performance.mark(`${source}.${category}.${event}.${phase}.${identifier}`, {\n          detail: args\n        });\n        globalThis.performance.measure(\n          `${source}.${category}.${event}.Measure.${identifier}`,\n          `${source}.${category}.${event}.Begin.${identifier}`,\n          `${source}.${category}.${event}.End.${identifier}`\n        );\n        break;\n    }\n  }\n}\nclass AllLogger {\n  /**\n   * create new PerfLogger\n   */\n  constructor(loggers) {\n    this.loggers = loggers;\n  }\n  /** {@inheritDoc Logger.isEnabled} */\n  isEnabled(level) {\n    return this.loggers.some((logger) => logger.isEnabled(level));\n  }\n  /** {@inheritDoc Logger.debug} */\n  debug(source, category, ...args) {\n    for (const logger of this.loggers) {\n      logger.debug(source, category, ...args);\n    }\n  }\n  /** {@inheritDoc Logger.info} */\n  info(source, category, ...args) {\n    for (const logger of this.loggers) {\n      logger.info(source, category, ...args);\n    }\n  }\n  /** {@inheritDoc Logger.warn} */\n  warn(source, category, ...args) {\n    for (const logger of this.loggers) {\n      logger.warn(source, category, ...args);\n    }\n  }\n  /** {@inheritDoc Logger.error} */\n  error(source, category, ...args) {\n    for (const logger of this.loggers) {\n      logger.error(source, category, ...args);\n    }\n  }\n  /** {@inheritDoc Logger.perf} */\n  perf(source, category, event, phase, ...args) {\n    for (const logger of this.loggers) {\n      logger.perf(source, category, event, phase, ...args);\n    }\n  }\n}\nvar TaskStage = /* @__PURE__ */ ((TaskStage2) => {\n  TaskStage2[TaskStage2[\"Pending\"] = 0] = \"Pending\";\n  TaskStage2[TaskStage2[\"Resolved\"] = 1] = \"Resolved\";\n  TaskStage2[TaskStage2[\"Rejected\"] = 2] = \"Rejected\";\n  TaskStage2[TaskStage2[\"Aborted\"] = 3] = \"Aborted\";\n  return TaskStage2;\n})(TaskStage || {});\nclass TaskAbortedError extends Error {\n  constructor(reason) {\n    super(`Task aborted: ${JSON.stringify(reason)}`);\n    this.name = \"TaskAbortedError\";\n    this.reason = reason;\n  }\n}\nclass TaskRejectedError extends Error {\n  constructor(reason) {\n    super(`Task rejected: ${JSON.stringify(reason)}`);\n    this.name = \"TaskRejectedError\";\n    this.reason = reason;\n  }\n}\nclass Task {\n  constructor() {\n    this.state = {\n      stage: 0\n      /* Pending */\n    };\n    this.resolvedCallbacks = [];\n    this.rejectedCallbacks = [];\n    this._promise = null;\n    this.progressCbs = [];\n  }\n  /**\n   * Convert task to promise\n   * @returns promise that will be resolved when task is settled\n   */\n  toPromise() {\n    if (!this._promise) {\n      this._promise = new Promise((resolve, reject) => {\n        this.wait(\n          (result) => resolve(result),\n          (error) => {\n            if (error.type === \"abort\") {\n              reject(new TaskAbortedError(error.reason));\n            } else {\n              reject(new TaskRejectedError(error.reason));\n            }\n          }\n        );\n      });\n    }\n    return this._promise;\n  }\n  /**\n   * wait for task to be settled\n   * @param resolvedCallback - callback for resolved value\n   * @param rejectedCallback - callback for rejected value\n   */\n  wait(resolvedCallback, rejectedCallback) {\n    switch (this.state.stage) {\n      case 0:\n        this.resolvedCallbacks.push(resolvedCallback);\n        this.rejectedCallbacks.push(rejectedCallback);\n        break;\n      case 1:\n        resolvedCallback(this.state.result);\n        break;\n      case 2:\n        rejectedCallback({\n          type: \"reject\",\n          reason: this.state.reason\n        });\n        break;\n      case 3:\n        rejectedCallback({\n          type: \"abort\",\n          reason: this.state.reason\n        });\n        break;\n    }\n  }\n  /**\n   * resolve task with specific result\n   * @param result - result value\n   */\n  resolve(result) {\n    if (this.state.stage === 0) {\n      this.state = {\n        stage: 1,\n        result\n      };\n      for (const resolvedCallback of this.resolvedCallbacks) {\n        try {\n          resolvedCallback(result);\n        } catch (e) {\n        }\n      }\n      this.resolvedCallbacks = [];\n      this.rejectedCallbacks = [];\n    }\n  }\n  /**\n   * reject task with specific reason\n   * @param reason - abort reason\n   *\n   */\n  reject(reason) {\n    if (this.state.stage === 0) {\n      this.state = {\n        stage: 2,\n        reason\n      };\n      for (const rejectedCallback of this.rejectedCallbacks) {\n        try {\n          rejectedCallback({\n            type: \"reject\",\n            reason\n          });\n        } catch (e) {\n        }\n      }\n      this.resolvedCallbacks = [];\n      this.rejectedCallbacks = [];\n    }\n  }\n  /**\n   * abort task with specific reason\n   * @param reason - abort reason\n   */\n  abort(reason) {\n    if (this.state.stage === 0) {\n      this.state = {\n        stage: 3,\n        reason\n      };\n      for (const rejectedCallback of this.rejectedCallbacks) {\n        try {\n          rejectedCallback({\n            type: \"abort\",\n            reason\n          });\n        } catch (e) {\n        }\n      }\n      this.resolvedCallbacks = [];\n      this.rejectedCallbacks = [];\n    }\n  }\n  /**\n   * fail task with a TaskError from another task\n   * This is a convenience method for error propagation between tasks\n   * @param error - TaskError from another task\n   */\n  fail(error) {\n    if (error.type === \"abort\") {\n      this.abort(error.reason);\n    } else {\n      this.reject(error.reason);\n    }\n  }\n  /**\n   * add a progress callback\n   * @param cb - progress callback\n   */\n  onProgress(cb) {\n    this.progressCbs.push(cb);\n  }\n  /**\n   * call progress callback\n   * @param p - progress value\n   */\n  progress(p) {\n    for (const cb of this.progressCbs) cb(p);\n  }\n  /**\n   * Static method to wait for all tasks to resolve\n   * Returns a new task that resolves with an array of all results\n   * Rejects immediately if any task fails\n   *\n   * @param tasks - array of tasks to wait for\n   * @returns new task that resolves when all input tasks resolve\n   * @public\n   */\n  static all(tasks) {\n    const combinedTask = new Task();\n    if (tasks.length === 0) {\n      combinedTask.resolve([]);\n      return combinedTask;\n    }\n    const results = new Array(tasks.length);\n    let resolvedCount = 0;\n    let isSettled = false;\n    tasks.forEach((task, index) => {\n      task.wait(\n        (result) => {\n          if (isSettled) return;\n          results[index] = result;\n          resolvedCount++;\n          if (resolvedCount === tasks.length) {\n            isSettled = true;\n            combinedTask.resolve(results);\n          }\n        },\n        (error) => {\n          if (isSettled) return;\n          isSettled = true;\n          if (error.type === \"abort\") {\n            combinedTask.abort(error.reason);\n          } else {\n            combinedTask.reject(error.reason);\n          }\n        }\n      );\n    });\n    return combinedTask;\n  }\n  /**\n   * Static method to wait for all tasks to settle (resolve, reject, or abort)\n   * Always resolves with an array of settlement results\n   *\n   * @param tasks - array of tasks to wait for\n   * @returns new task that resolves when all input tasks settle\n   * @public\n   */\n  static allSettled(tasks) {\n    const combinedTask = new Task();\n    if (tasks.length === 0) {\n      combinedTask.resolve([]);\n      return combinedTask;\n    }\n    const results = new Array(tasks.length);\n    let settledCount = 0;\n    tasks.forEach((task, index) => {\n      task.wait(\n        (result) => {\n          results[index] = { status: \"resolved\", value: result };\n          settledCount++;\n          if (settledCount === tasks.length) {\n            combinedTask.resolve(results);\n          }\n        },\n        (error) => {\n          results[index] = {\n            status: error.type === \"abort\" ? \"aborted\" : \"rejected\",\n            reason: error.reason\n          };\n          settledCount++;\n          if (settledCount === tasks.length) {\n            combinedTask.resolve(results);\n          }\n        }\n      );\n    });\n    return combinedTask;\n  }\n  /**\n   * Static method that resolves/rejects with the first task that settles\n   *\n   * @param tasks - array of tasks to race\n   * @returns new task that settles with the first input task that settles\n   * @public\n   */\n  static race(tasks) {\n    const combinedTask = new Task();\n    if (tasks.length === 0) {\n      combinedTask.reject(\"No tasks provided\");\n      return combinedTask;\n    }\n    let isSettled = false;\n    tasks.forEach((task) => {\n      task.wait(\n        (result) => {\n          if (isSettled) return;\n          isSettled = true;\n          combinedTask.resolve(result);\n        },\n        (error) => {\n          if (isSettled) return;\n          isSettled = true;\n          if (error.type === \"abort\") {\n            combinedTask.abort(error.reason);\n          } else {\n            combinedTask.reject(error.reason);\n          }\n        }\n      );\n    });\n    return combinedTask;\n  }\n  /**\n   * Utility to track progress of multiple tasks\n   *\n   * @param tasks - array of tasks to track\n   * @param onProgress - callback called when any task completes\n   * @returns new task that resolves when all input tasks resolve\n   * @public\n   */\n  static withProgress(tasks, onProgress) {\n    const combinedTask = Task.all(tasks);\n    if (onProgress) {\n      let completedCount = 0;\n      tasks.forEach((task) => {\n        task.wait(\n          () => {\n            completedCount++;\n            onProgress(completedCount, tasks.length);\n          },\n          () => {\n            completedCount++;\n            onProgress(completedCount, tasks.length);\n          }\n        );\n      });\n    }\n    return combinedTask;\n  }\n}\nconst PdfSoftHyphenMarker = \"­\";\nconst PdfZeroWidthSpace = \"​\";\nconst PdfWordJoiner = \"⁠\";\nconst PdfBomOrZwnbsp = \"\\uFEFF\";\nconst PdfNonCharacterFFFE = \"￾\";\nconst PdfNonCharacterFFFF = \"￿\";\nconst PdfUnwantedTextMarkers = Object.freeze([\n  PdfSoftHyphenMarker,\n  PdfZeroWidthSpace,\n  PdfWordJoiner,\n  PdfBomOrZwnbsp,\n  PdfNonCharacterFFFE,\n  PdfNonCharacterFFFF\n]);\nconst PdfUnwantedTextRegex = new RegExp(`[${PdfUnwantedTextMarkers.join(\"\")}]`, \"g\");\nfunction stripPdfUnwantedMarkers(text) {\n  return text.replace(PdfUnwantedTextRegex, \"\");\n}\nvar PdfZoomMode = /* @__PURE__ */ ((PdfZoomMode2) => {\n  PdfZoomMode2[PdfZoomMode2[\"Unknown\"] = 0] = \"Unknown\";\n  PdfZoomMode2[PdfZoomMode2[\"XYZ\"] = 1] = \"XYZ\";\n  PdfZoomMode2[PdfZoomMode2[\"FitPage\"] = 2] = \"FitPage\";\n  PdfZoomMode2[PdfZoomMode2[\"FitHorizontal\"] = 3] = \"FitHorizontal\";\n  PdfZoomMode2[PdfZoomMode2[\"FitVertical\"] = 4] = \"FitVertical\";\n  PdfZoomMode2[PdfZoomMode2[\"FitRectangle\"] = 5] = \"FitRectangle\";\n  PdfZoomMode2[PdfZoomMode2[\"FitBoundingBox\"] = 6] = \"FitBoundingBox\";\n  PdfZoomMode2[PdfZoomMode2[\"FitBoundingBoxHorizontal\"] = 7] = \"FitBoundingBoxHorizontal\";\n  PdfZoomMode2[PdfZoomMode2[\"FitBoundingBoxVertical\"] = 8] = \"FitBoundingBoxVertical\";\n  return PdfZoomMode2;\n})(PdfZoomMode || {});\nvar PdfTrappedStatus = /* @__PURE__ */ ((PdfTrappedStatus2) => {\n  PdfTrappedStatus2[PdfTrappedStatus2[\"NotSet\"] = 0] = \"NotSet\";\n  PdfTrappedStatus2[PdfTrappedStatus2[\"True\"] = 1] = \"True\";\n  PdfTrappedStatus2[PdfTrappedStatus2[\"False\"] = 2] = \"False\";\n  PdfTrappedStatus2[PdfTrappedStatus2[\"Unknown\"] = 3] = \"Unknown\";\n  return PdfTrappedStatus2;\n})(PdfTrappedStatus || {});\nvar PdfStandardFont = /* @__PURE__ */ ((PdfStandardFont2) => {\n  PdfStandardFont2[PdfStandardFont2[\"Unknown\"] = -1] = \"Unknown\";\n  PdfStandardFont2[PdfStandardFont2[\"Courier\"] = 0] = \"Courier\";\n  PdfStandardFont2[PdfStandardFont2[\"Courier_Bold\"] = 1] = \"Courier_Bold\";\n  PdfStandardFont2[PdfStandardFont2[\"Courier_BoldOblique\"] = 2] = \"Courier_BoldOblique\";\n  PdfStandardFont2[PdfStandardFont2[\"Courier_Oblique\"] = 3] = \"Courier_Oblique\";\n  PdfStandardFont2[PdfStandardFont2[\"Helvetica\"] = 4] = \"Helvetica\";\n  PdfStandardFont2[PdfStandardFont2[\"Helvetica_Bold\"] = 5] = \"Helvetica_Bold\";\n  PdfStandardFont2[PdfStandardFont2[\"Helvetica_BoldOblique\"] = 6] = \"Helvetica_BoldOblique\";\n  PdfStandardFont2[PdfStandardFont2[\"Helvetica_Oblique\"] = 7] = \"Helvetica_Oblique\";\n  PdfStandardFont2[PdfStandardFont2[\"Times_Roman\"] = 8] = \"Times_Roman\";\n  PdfStandardFont2[PdfStandardFont2[\"Times_Bold\"] = 9] = \"Times_Bold\";\n  PdfStandardFont2[PdfStandardFont2[\"Times_BoldItalic\"] = 10] = \"Times_BoldItalic\";\n  PdfStandardFont2[PdfStandardFont2[\"Times_Italic\"] = 11] = \"Times_Italic\";\n  PdfStandardFont2[PdfStandardFont2[\"Symbol\"] = 12] = \"Symbol\";\n  PdfStandardFont2[PdfStandardFont2[\"ZapfDingbats\"] = 13] = \"ZapfDingbats\";\n  return PdfStandardFont2;\n})(PdfStandardFont || {});\nvar PdfTextAlignment = /* @__PURE__ */ ((PdfTextAlignment2) => {\n  PdfTextAlignment2[PdfTextAlignment2[\"Left\"] = 0] = \"Left\";\n  PdfTextAlignment2[PdfTextAlignment2[\"Center\"] = 1] = \"Center\";\n  PdfTextAlignment2[PdfTextAlignment2[\"Right\"] = 2] = \"Right\";\n  return PdfTextAlignment2;\n})(PdfTextAlignment || {});\nvar PdfVerticalAlignment = /* @__PURE__ */ ((PdfVerticalAlignment2) => {\n  PdfVerticalAlignment2[PdfVerticalAlignment2[\"Top\"] = 0] = \"Top\";\n  PdfVerticalAlignment2[PdfVerticalAlignment2[\"Middle\"] = 1] = \"Middle\";\n  PdfVerticalAlignment2[PdfVerticalAlignment2[\"Bottom\"] = 2] = \"Bottom\";\n  return PdfVerticalAlignment2;\n})(PdfVerticalAlignment || {});\nvar PdfBlendMode = /* @__PURE__ */ ((PdfBlendMode2) => {\n  PdfBlendMode2[PdfBlendMode2[\"Normal\"] = 0] = \"Normal\";\n  PdfBlendMode2[PdfBlendMode2[\"Multiply\"] = 1] = \"Multiply\";\n  PdfBlendMode2[PdfBlendMode2[\"Screen\"] = 2] = \"Screen\";\n  PdfBlendMode2[PdfBlendMode2[\"Overlay\"] = 3] = \"Overlay\";\n  PdfBlendMode2[PdfBlendMode2[\"Darken\"] = 4] = \"Darken\";\n  PdfBlendMode2[PdfBlendMode2[\"Lighten\"] = 5] = \"Lighten\";\n  PdfBlendMode2[PdfBlendMode2[\"ColorDodge\"] = 6] = \"ColorDodge\";\n  PdfBlendMode2[PdfBlendMode2[\"ColorBurn\"] = 7] = \"ColorBurn\";\n  PdfBlendMode2[PdfBlendMode2[\"HardLight\"] = 8] = \"HardLight\";\n  PdfBlendMode2[PdfBlendMode2[\"SoftLight\"] = 9] = \"SoftLight\";\n  PdfBlendMode2[PdfBlendMode2[\"Difference\"] = 10] = \"Difference\";\n  PdfBlendMode2[PdfBlendMode2[\"Exclusion\"] = 11] = \"Exclusion\";\n  PdfBlendMode2[PdfBlendMode2[\"Hue\"] = 12] = \"Hue\";\n  PdfBlendMode2[PdfBlendMode2[\"Saturation\"] = 13] = \"Saturation\";\n  PdfBlendMode2[PdfBlendMode2[\"Color\"] = 14] = \"Color\";\n  PdfBlendMode2[PdfBlendMode2[\"Luminosity\"] = 15] = \"Luminosity\";\n  return PdfBlendMode2;\n})(PdfBlendMode || {});\nvar PdfStampFit = /* @__PURE__ */ ((PdfStampFit2) => {\n  PdfStampFit2[PdfStampFit2[\"Contain\"] = 0] = \"Contain\";\n  PdfStampFit2[PdfStampFit2[\"Cover\"] = 1] = \"Cover\";\n  PdfStampFit2[PdfStampFit2[\"Stretch\"] = 2] = \"Stretch\";\n  return PdfStampFit2;\n})(PdfStampFit || {});\nvar PdfActionType = /* @__PURE__ */ ((PdfActionType2) => {\n  PdfActionType2[PdfActionType2[\"Unsupported\"] = 0] = \"Unsupported\";\n  PdfActionType2[PdfActionType2[\"Goto\"] = 1] = \"Goto\";\n  PdfActionType2[PdfActionType2[\"RemoteGoto\"] = 2] = \"RemoteGoto\";\n  PdfActionType2[PdfActionType2[\"URI\"] = 3] = \"URI\";\n  PdfActionType2[PdfActionType2[\"LaunchAppOrOpenFile\"] = 4] = \"LaunchAppOrOpenFile\";\n  return PdfActionType2;\n})(PdfActionType || {});\nvar PdfAnnotationSubtype = /* @__PURE__ */ ((PdfAnnotationSubtype2) => {\n  PdfAnnotationSubtype2[PdfAnnotationSubtype2[\"UNKNOWN\"] = 0] = \"UNKNOWN\";\n  PdfAnnotationSubtype2[PdfAnnotationSubtype2[\"TEXT\"] = 1] = \"TEXT\";\n  PdfAnnotationSubtype2[PdfAnnotationSubtype2[\"LINK\"] = 2] = \"LINK\";\n  PdfAnnotationSubtype2[PdfAnnotationSubtype2[\"FREETEXT\"] = 3] = \"FREETEXT\";\n  PdfAnnotationSubtype2[PdfAnnotationSubtype2[\"LINE\"] = 4] = \"LINE\";\n  PdfAnnotationSubtype2[PdfAnnotationSubtype2[\"SQUARE\"] = 5] = \"SQUARE\";\n  PdfAnnotationSubtype2[PdfAnnotationSubtype2[\"CIRCLE\"] = 6] = \"CIRCLE\";\n  PdfAnnotationSubtype2[PdfAnnotationSubtype2[\"POLYGON\"] = 7] = \"POLYGON\";\n  PdfAnnotationSubtype2[PdfAnnotationSubtype2[\"POLYLINE\"] = 8] = \"POLYLINE\";\n  PdfAnnotationSubtype2[PdfAnnotationSubtype2[\"HIGHLIGHT\"] = 9] = \"HIGHLIGHT\";\n  PdfAnnotationSubtype2[PdfAnnotationSubtype2[\"UNDERLINE\"] = 10] = \"UNDERLINE\";\n  PdfAnnotationSubtype2[PdfAnnotationSubtype2[\"SQUIGGLY\"] = 11] = \"SQUIGGLY\";\n  PdfAnnotationSubtype2[PdfAnnotationSubtype2[\"STRIKEOUT\"] = 12] = \"STRIKEOUT\";\n  PdfAnnotationSubtype2[PdfAnnotationSubtype2[\"STAMP\"] = 13] = \"STAMP\";\n  PdfAnnotationSubtype2[PdfAnnotationSubtype2[\"CARET\"] = 14] = \"CARET\";\n  PdfAnnotationSubtype2[PdfAnnotationSubtype2[\"INK\"] = 15] = \"INK\";\n  PdfAnnotationSubtype2[PdfAnnotationSubtype2[\"POPUP\"] = 16] = \"POPUP\";\n  PdfAnnotationSubtype2[PdfAnnotationSubtype2[\"FILEATTACHMENT\"] = 17] = \"FILEATTACHMENT\";\n  PdfAnnotationSubtype2[PdfAnnotationSubtype2[\"SOUND\"] = 18] = \"SOUND\";\n  PdfAnnotationSubtype2[PdfAnnotationSubtype2[\"MOVIE\"] = 19] = \"MOVIE\";\n  PdfAnnotationSubtype2[PdfAnnotationSubtype2[\"WIDGET\"] = 20] = \"WIDGET\";\n  PdfAnnotationSubtype2[PdfAnnotationSubtype2[\"SCREEN\"] = 21] = \"SCREEN\";\n  PdfAnnotationSubtype2[PdfAnnotationSubtype2[\"PRINTERMARK\"] = 22] = \"PRINTERMARK\";\n  PdfAnnotationSubtype2[PdfAnnotationSubtype2[\"TRAPNET\"] = 23] = \"TRAPNET\";\n  PdfAnnotationSubtype2[PdfAnnotationSubtype2[\"WATERMARK\"] = 24] = \"WATERMARK\";\n  PdfAnnotationSubtype2[PdfAnnotationSubtype2[\"THREED\"] = 25] = \"THREED\";\n  PdfAnnotationSubtype2[PdfAnnotationSubtype2[\"RICHMEDIA\"] = 26] = \"RICHMEDIA\";\n  PdfAnnotationSubtype2[PdfAnnotationSubtype2[\"XFAWIDGET\"] = 27] = \"XFAWIDGET\";\n  PdfAnnotationSubtype2[PdfAnnotationSubtype2[\"REDACT\"] = 28] = \"REDACT\";\n  return PdfAnnotationSubtype2;\n})(PdfAnnotationSubtype || {});\nconst PdfAnnotationSubtypeName = {\n  [\n    0\n    /* UNKNOWN */\n  ]: \"unknow\",\n  [\n    1\n    /* TEXT */\n  ]: \"text\",\n  [\n    2\n    /* LINK */\n  ]: \"link\",\n  [\n    3\n    /* FREETEXT */\n  ]: \"freetext\",\n  [\n    4\n    /* LINE */\n  ]: \"line\",\n  [\n    5\n    /* SQUARE */\n  ]: \"square\",\n  [\n    6\n    /* CIRCLE */\n  ]: \"circle\",\n  [\n    7\n    /* POLYGON */\n  ]: \"polygon\",\n  [\n    8\n    /* POLYLINE */\n  ]: \"polyline\",\n  [\n    9\n    /* HIGHLIGHT */\n  ]: \"highlight\",\n  [\n    10\n    /* UNDERLINE */\n  ]: \"underline\",\n  [\n    11\n    /* SQUIGGLY */\n  ]: \"squiggly\",\n  [\n    12\n    /* STRIKEOUT */\n  ]: \"strikeout\",\n  [\n    13\n    /* STAMP */\n  ]: \"stamp\",\n  [\n    14\n    /* CARET */\n  ]: \"caret\",\n  [\n    15\n    /* INK */\n  ]: \"ink\",\n  [\n    16\n    /* POPUP */\n  ]: \"popup\",\n  [\n    17\n    /* FILEATTACHMENT */\n  ]: \"fileattachment\",\n  [\n    18\n    /* SOUND */\n  ]: \"sound\",\n  [\n    19\n    /* MOVIE */\n  ]: \"movie\",\n  [\n    20\n    /* WIDGET */\n  ]: \"widget\",\n  [\n    21\n    /* SCREEN */\n  ]: \"screen\",\n  [\n    22\n    /* PRINTERMARK */\n  ]: \"printermark\",\n  [\n    23\n    /* TRAPNET */\n  ]: \"trapnet\",\n  [\n    24\n    /* WATERMARK */\n  ]: \"watermark\",\n  [\n    25\n    /* THREED */\n  ]: \"threed\",\n  [\n    26\n    /* RICHMEDIA */\n  ]: \"richmedia\",\n  [\n    27\n    /* XFAWIDGET */\n  ]: \"xfawidget\",\n  [\n    28\n    /* REDACT */\n  ]: \"redact\"\n};\nvar PdfAnnotationObjectStatus = /* @__PURE__ */ ((PdfAnnotationObjectStatus2) => {\n  PdfAnnotationObjectStatus2[PdfAnnotationObjectStatus2[\"Created\"] = 0] = \"Created\";\n  PdfAnnotationObjectStatus2[PdfAnnotationObjectStatus2[\"Committed\"] = 1] = \"Committed\";\n  return PdfAnnotationObjectStatus2;\n})(PdfAnnotationObjectStatus || {});\nvar AppearanceMode = /* @__PURE__ */ ((AppearanceMode2) => {\n  AppearanceMode2[AppearanceMode2[\"Normal\"] = 0] = \"Normal\";\n  AppearanceMode2[AppearanceMode2[\"Rollover\"] = 1] = \"Rollover\";\n  AppearanceMode2[AppearanceMode2[\"Down\"] = 2] = \"Down\";\n  return AppearanceMode2;\n})(AppearanceMode || {});\nvar PdfAnnotationState = /* @__PURE__ */ ((PdfAnnotationState2) => {\n  PdfAnnotationState2[\"Marked\"] = \"Marked\";\n  PdfAnnotationState2[\"Unmarked\"] = \"Unmarked\";\n  PdfAnnotationState2[\"Accepted\"] = \"Accepted\";\n  PdfAnnotationState2[\"Rejected\"] = \"Rejected\";\n  PdfAnnotationState2[\"Completed\"] = \"Completed\";\n  PdfAnnotationState2[\"Cancelled\"] = \"Cancelled\";\n  PdfAnnotationState2[\"None\"] = \"None\";\n  return PdfAnnotationState2;\n})(PdfAnnotationState || {});\nvar PdfAnnotationStateModel = /* @__PURE__ */ ((PdfAnnotationStateModel2) => {\n  PdfAnnotationStateModel2[\"Marked\"] = \"Marked\";\n  PdfAnnotationStateModel2[\"Review\"] = \"Review\";\n  return PdfAnnotationStateModel2;\n})(PdfAnnotationStateModel || {});\nvar PdfAnnotationIcon = /* @__PURE__ */ ((PdfAnnotationIcon2) => {\n  PdfAnnotationIcon2[PdfAnnotationIcon2[\"Unknown\"] = -1] = \"Unknown\";\n  PdfAnnotationIcon2[PdfAnnotationIcon2[\"Comment\"] = 0] = \"Comment\";\n  PdfAnnotationIcon2[PdfAnnotationIcon2[\"Key\"] = 1] = \"Key\";\n  PdfAnnotationIcon2[PdfAnnotationIcon2[\"Note\"] = 2] = \"Note\";\n  PdfAnnotationIcon2[PdfAnnotationIcon2[\"Help\"] = 3] = \"Help\";\n  PdfAnnotationIcon2[PdfAnnotationIcon2[\"NewParagraph\"] = 4] = \"NewParagraph\";\n  PdfAnnotationIcon2[PdfAnnotationIcon2[\"Paragraph\"] = 5] = \"Paragraph\";\n  PdfAnnotationIcon2[PdfAnnotationIcon2[\"Insert\"] = 6] = \"Insert\";\n  PdfAnnotationIcon2[PdfAnnotationIcon2[\"Graph\"] = 7] = \"Graph\";\n  PdfAnnotationIcon2[PdfAnnotationIcon2[\"PushPin\"] = 8] = \"PushPin\";\n  PdfAnnotationIcon2[PdfAnnotationIcon2[\"Paperclip\"] = 9] = \"Paperclip\";\n  PdfAnnotationIcon2[PdfAnnotationIcon2[\"Tag\"] = 10] = \"Tag\";\n  PdfAnnotationIcon2[PdfAnnotationIcon2[\"Speaker\"] = 11] = \"Speaker\";\n  PdfAnnotationIcon2[PdfAnnotationIcon2[\"Mic\"] = 12] = \"Mic\";\n  PdfAnnotationIcon2[PdfAnnotationIcon2[\"Approved\"] = 13] = \"Approved\";\n  PdfAnnotationIcon2[PdfAnnotationIcon2[\"Experimental\"] = 14] = \"Experimental\";\n  PdfAnnotationIcon2[PdfAnnotationIcon2[\"NotApproved\"] = 15] = \"NotApproved\";\n  PdfAnnotationIcon2[PdfAnnotationIcon2[\"AsIs\"] = 16] = \"AsIs\";\n  PdfAnnotationIcon2[PdfAnnotationIcon2[\"Expired\"] = 17] = \"Expired\";\n  PdfAnnotationIcon2[PdfAnnotationIcon2[\"NotForPublicRelease\"] = 18] = \"NotForPublicRelease\";\n  PdfAnnotationIcon2[PdfAnnotationIcon2[\"Confidential\"] = 19] = \"Confidential\";\n  PdfAnnotationIcon2[PdfAnnotationIcon2[\"Final\"] = 20] = \"Final\";\n  PdfAnnotationIcon2[PdfAnnotationIcon2[\"Sold\"] = 21] = \"Sold\";\n  PdfAnnotationIcon2[PdfAnnotationIcon2[\"Departmental\"] = 22] = \"Departmental\";\n  PdfAnnotationIcon2[PdfAnnotationIcon2[\"ForComment\"] = 23] = \"ForComment\";\n  PdfAnnotationIcon2[PdfAnnotationIcon2[\"TopSecret\"] = 24] = \"TopSecret\";\n  PdfAnnotationIcon2[PdfAnnotationIcon2[\"Draft\"] = 25] = \"Draft\";\n  PdfAnnotationIcon2[PdfAnnotationIcon2[\"ForPublicRelease\"] = 26] = \"ForPublicRelease\";\n  return PdfAnnotationIcon2;\n})(PdfAnnotationIcon || {});\nvar PdfAnnotationLineEnding = /* @__PURE__ */ ((PdfAnnotationLineEnding2) => {\n  PdfAnnotationLineEnding2[PdfAnnotationLineEnding2[\"None\"] = 0] = \"None\";\n  PdfAnnotationLineEnding2[PdfAnnotationLineEnding2[\"Square\"] = 1] = \"Square\";\n  PdfAnnotationLineEnding2[PdfAnnotationLineEnding2[\"Circle\"] = 2] = \"Circle\";\n  PdfAnnotationLineEnding2[PdfAnnotationLineEnding2[\"Diamond\"] = 3] = \"Diamond\";\n  PdfAnnotationLineEnding2[PdfAnnotationLineEnding2[\"OpenArrow\"] = 4] = \"OpenArrow\";\n  PdfAnnotationLineEnding2[PdfAnnotationLineEnding2[\"ClosedArrow\"] = 5] = \"ClosedArrow\";\n  PdfAnnotationLineEnding2[PdfAnnotationLineEnding2[\"Butt\"] = 6] = \"Butt\";\n  PdfAnnotationLineEnding2[PdfAnnotationLineEnding2[\"ROpenArrow\"] = 7] = \"ROpenArrow\";\n  PdfAnnotationLineEnding2[PdfAnnotationLineEnding2[\"RClosedArrow\"] = 8] = \"RClosedArrow\";\n  PdfAnnotationLineEnding2[PdfAnnotationLineEnding2[\"Slash\"] = 9] = \"Slash\";\n  PdfAnnotationLineEnding2[PdfAnnotationLineEnding2[\"Unknown\"] = 10] = \"Unknown\";\n  return PdfAnnotationLineEnding2;\n})(PdfAnnotationLineEnding || {});\nvar PDF_FORM_FIELD_TYPE = /* @__PURE__ */ ((PDF_FORM_FIELD_TYPE2) => {\n  PDF_FORM_FIELD_TYPE2[PDF_FORM_FIELD_TYPE2[\"UNKNOWN\"] = 0] = \"UNKNOWN\";\n  PDF_FORM_FIELD_TYPE2[PDF_FORM_FIELD_TYPE2[\"PUSHBUTTON\"] = 1] = \"PUSHBUTTON\";\n  PDF_FORM_FIELD_TYPE2[PDF_FORM_FIELD_TYPE2[\"CHECKBOX\"] = 2] = \"CHECKBOX\";\n  PDF_FORM_FIELD_TYPE2[PDF_FORM_FIELD_TYPE2[\"RADIOBUTTON\"] = 3] = \"RADIOBUTTON\";\n  PDF_FORM_FIELD_TYPE2[PDF_FORM_FIELD_TYPE2[\"COMBOBOX\"] = 4] = \"COMBOBOX\";\n  PDF_FORM_FIELD_TYPE2[PDF_FORM_FIELD_TYPE2[\"LISTBOX\"] = 5] = \"LISTBOX\";\n  PDF_FORM_FIELD_TYPE2[PDF_FORM_FIELD_TYPE2[\"TEXTFIELD\"] = 6] = \"TEXTFIELD\";\n  PDF_FORM_FIELD_TYPE2[PDF_FORM_FIELD_TYPE2[\"SIGNATURE\"] = 7] = \"SIGNATURE\";\n  PDF_FORM_FIELD_TYPE2[PDF_FORM_FIELD_TYPE2[\"XFA\"] = 8] = \"XFA\";\n  PDF_FORM_FIELD_TYPE2[PDF_FORM_FIELD_TYPE2[\"XFA_CHECKBOX\"] = 9] = \"XFA_CHECKBOX\";\n  PDF_FORM_FIELD_TYPE2[PDF_FORM_FIELD_TYPE2[\"XFA_COMBOBOX\"] = 10] = \"XFA_COMBOBOX\";\n  PDF_FORM_FIELD_TYPE2[PDF_FORM_FIELD_TYPE2[\"XFA_IMAGEFIELD\"] = 11] = \"XFA_IMAGEFIELD\";\n  PDF_FORM_FIELD_TYPE2[PDF_FORM_FIELD_TYPE2[\"XFA_LISTBOX\"] = 12] = \"XFA_LISTBOX\";\n  PDF_FORM_FIELD_TYPE2[PDF_FORM_FIELD_TYPE2[\"XFA_PUSHBUTTON\"] = 13] = \"XFA_PUSHBUTTON\";\n  PDF_FORM_FIELD_TYPE2[PDF_FORM_FIELD_TYPE2[\"XFA_SIGNATURE\"] = 14] = \"XFA_SIGNATURE\";\n  PDF_FORM_FIELD_TYPE2[PDF_FORM_FIELD_TYPE2[\"XFA_TEXTFIELD\"] = 15] = \"XFA_TEXTFIELD\";\n  return PDF_FORM_FIELD_TYPE2;\n})(PDF_FORM_FIELD_TYPE || {});\nvar PdfAnnotationColorType = /* @__PURE__ */ ((PdfAnnotationColorType2) => {\n  PdfAnnotationColorType2[PdfAnnotationColorType2[\"Color\"] = 0] = \"Color\";\n  PdfAnnotationColorType2[PdfAnnotationColorType2[\"InteriorColor\"] = 1] = \"InteriorColor\";\n  return PdfAnnotationColorType2;\n})(PdfAnnotationColorType || {});\nvar PdfAnnotationBorderStyle = /* @__PURE__ */ ((PdfAnnotationBorderStyle2) => {\n  PdfAnnotationBorderStyle2[PdfAnnotationBorderStyle2[\"UNKNOWN\"] = 0] = \"UNKNOWN\";\n  PdfAnnotationBorderStyle2[PdfAnnotationBorderStyle2[\"SOLID\"] = 1] = \"SOLID\";\n  PdfAnnotationBorderStyle2[PdfAnnotationBorderStyle2[\"DASHED\"] = 2] = \"DASHED\";\n  PdfAnnotationBorderStyle2[PdfAnnotationBorderStyle2[\"BEVELED\"] = 3] = \"BEVELED\";\n  PdfAnnotationBorderStyle2[PdfAnnotationBorderStyle2[\"INSET\"] = 4] = \"INSET\";\n  PdfAnnotationBorderStyle2[PdfAnnotationBorderStyle2[\"UNDERLINE\"] = 5] = \"UNDERLINE\";\n  PdfAnnotationBorderStyle2[PdfAnnotationBorderStyle2[\"CLOUDY\"] = 6] = \"CLOUDY\";\n  return PdfAnnotationBorderStyle2;\n})(PdfAnnotationBorderStyle || {});\nvar PdfAnnotationFlags = /* @__PURE__ */ ((PdfAnnotationFlags2) => {\n  PdfAnnotationFlags2[PdfAnnotationFlags2[\"NONE\"] = 0] = \"NONE\";\n  PdfAnnotationFlags2[PdfAnnotationFlags2[\"INVISIBLE\"] = 1] = \"INVISIBLE\";\n  PdfAnnotationFlags2[PdfAnnotationFlags2[\"HIDDEN\"] = 2] = \"HIDDEN\";\n  PdfAnnotationFlags2[PdfAnnotationFlags2[\"PRINT\"] = 4] = \"PRINT\";\n  PdfAnnotationFlags2[PdfAnnotationFlags2[\"NO_ZOOM\"] = 8] = \"NO_ZOOM\";\n  PdfAnnotationFlags2[PdfAnnotationFlags2[\"NO_ROTATE\"] = 16] = \"NO_ROTATE\";\n  PdfAnnotationFlags2[PdfAnnotationFlags2[\"NO_VIEW\"] = 32] = \"NO_VIEW\";\n  PdfAnnotationFlags2[PdfAnnotationFlags2[\"READ_ONLY\"] = 64] = \"READ_ONLY\";\n  PdfAnnotationFlags2[PdfAnnotationFlags2[\"LOCKED\"] = 128] = \"LOCKED\";\n  PdfAnnotationFlags2[PdfAnnotationFlags2[\"TOGGLE_NOVIEW\"] = 256] = \"TOGGLE_NOVIEW\";\n  return PdfAnnotationFlags2;\n})(PdfAnnotationFlags || {});\nvar PDF_FORM_FIELD_FLAG = /* @__PURE__ */ ((PDF_FORM_FIELD_FLAG2) => {\n  PDF_FORM_FIELD_FLAG2[PDF_FORM_FIELD_FLAG2[\"NONE\"] = 0] = \"NONE\";\n  PDF_FORM_FIELD_FLAG2[PDF_FORM_FIELD_FLAG2[\"READONLY\"] = 1] = \"READONLY\";\n  PDF_FORM_FIELD_FLAG2[PDF_FORM_FIELD_FLAG2[\"REQUIRED\"] = 2] = \"REQUIRED\";\n  PDF_FORM_FIELD_FLAG2[PDF_FORM_FIELD_FLAG2[\"NOEXPORT\"] = 4] = \"NOEXPORT\";\n  PDF_FORM_FIELD_FLAG2[PDF_FORM_FIELD_FLAG2[\"TEXT_MULTIPLINE\"] = 4096] = \"TEXT_MULTIPLINE\";\n  PDF_FORM_FIELD_FLAG2[PDF_FORM_FIELD_FLAG2[\"TEXT_PASSWORD\"] = 8192] = \"TEXT_PASSWORD\";\n  PDF_FORM_FIELD_FLAG2[PDF_FORM_FIELD_FLAG2[\"CHOICE_COMBO\"] = 131072] = \"CHOICE_COMBO\";\n  PDF_FORM_FIELD_FLAG2[PDF_FORM_FIELD_FLAG2[\"CHOICE_EDIT\"] = 262144] = \"CHOICE_EDIT\";\n  PDF_FORM_FIELD_FLAG2[PDF_FORM_FIELD_FLAG2[\"CHOICE_MULTL_SELECT\"] = 2097152] = \"CHOICE_MULTL_SELECT\";\n  return PDF_FORM_FIELD_FLAG2;\n})(PDF_FORM_FIELD_FLAG || {});\nvar PdfPageObjectType = /* @__PURE__ */ ((PdfPageObjectType2) => {\n  PdfPageObjectType2[PdfPageObjectType2[\"UNKNOWN\"] = 0] = \"UNKNOWN\";\n  PdfPageObjectType2[PdfPageObjectType2[\"TEXT\"] = 1] = \"TEXT\";\n  PdfPageObjectType2[PdfPageObjectType2[\"PATH\"] = 2] = \"PATH\";\n  PdfPageObjectType2[PdfPageObjectType2[\"IMAGE\"] = 3] = \"IMAGE\";\n  PdfPageObjectType2[PdfPageObjectType2[\"SHADING\"] = 4] = \"SHADING\";\n  PdfPageObjectType2[PdfPageObjectType2[\"FORM\"] = 5] = \"FORM\";\n  return PdfPageObjectType2;\n})(PdfPageObjectType || {});\nconst PdfAnnotationFlagName = Object.freeze({\n  [\n    1\n    /* INVISIBLE */\n  ]: \"invisible\",\n  [\n    2\n    /* HIDDEN */\n  ]: \"hidden\",\n  [\n    4\n    /* PRINT */\n  ]: \"print\",\n  [\n    8\n    /* NO_ZOOM */\n  ]: \"noZoom\",\n  [\n    16\n    /* NO_ROTATE */\n  ]: \"noRotate\",\n  [\n    32\n    /* NO_VIEW */\n  ]: \"noView\",\n  [\n    64\n    /* READ_ONLY */\n  ]: \"readOnly\",\n  [\n    128\n    /* LOCKED */\n  ]: \"locked\",\n  [\n    256\n    /* TOGGLE_NOVIEW */\n  ]: \"toggleNoView\"\n});\nconst PdfAnnotationFlagValue = Object.entries(\n  PdfAnnotationFlagName\n).reduce(\n  (acc, [bit, name]) => {\n    acc[name] = Number(bit);\n    return acc;\n  },\n  {}\n);\nfunction flagsToNames(raw) {\n  return Object.keys(PdfAnnotationFlagName).filter((flag) => (raw & flag) !== 0).map((flag) => PdfAnnotationFlagName[flag]);\n}\nfunction namesToFlags(names) {\n  return names.reduce(\n    (mask, name) => mask | PdfAnnotationFlagValue[name],\n    0\n    /* NONE */\n  );\n}\nvar PdfSegmentObjectType = /* @__PURE__ */ ((PdfSegmentObjectType2) => {\n  PdfSegmentObjectType2[PdfSegmentObjectType2[\"UNKNOWN\"] = -1] = \"UNKNOWN\";\n  PdfSegmentObjectType2[PdfSegmentObjectType2[\"LINETO\"] = 0] = \"LINETO\";\n  PdfSegmentObjectType2[PdfSegmentObjectType2[\"BEZIERTO\"] = 1] = \"BEZIERTO\";\n  PdfSegmentObjectType2[PdfSegmentObjectType2[\"MOVETO\"] = 2] = \"MOVETO\";\n  return PdfSegmentObjectType2;\n})(PdfSegmentObjectType || {});\nvar PdfEngineFeature = /* @__PURE__ */ ((PdfEngineFeature2) => {\n  PdfEngineFeature2[PdfEngineFeature2[\"RenderPage\"] = 0] = \"RenderPage\";\n  PdfEngineFeature2[PdfEngineFeature2[\"RenderPageRect\"] = 1] = \"RenderPageRect\";\n  PdfEngineFeature2[PdfEngineFeature2[\"Thumbnails\"] = 2] = \"Thumbnails\";\n  PdfEngineFeature2[PdfEngineFeature2[\"Bookmarks\"] = 3] = \"Bookmarks\";\n  PdfEngineFeature2[PdfEngineFeature2[\"Annotations\"] = 4] = \"Annotations\";\n  return PdfEngineFeature2;\n})(PdfEngineFeature || {});\nvar PdfEngineOperation = /* @__PURE__ */ ((PdfEngineOperation2) => {\n  PdfEngineOperation2[PdfEngineOperation2[\"Create\"] = 0] = \"Create\";\n  PdfEngineOperation2[PdfEngineOperation2[\"Read\"] = 1] = \"Read\";\n  PdfEngineOperation2[PdfEngineOperation2[\"Update\"] = 2] = \"Update\";\n  PdfEngineOperation2[PdfEngineOperation2[\"Delete\"] = 3] = \"Delete\";\n  return PdfEngineOperation2;\n})(PdfEngineOperation || {});\nvar MatchFlag = /* @__PURE__ */ ((MatchFlag2) => {\n  MatchFlag2[MatchFlag2[\"None\"] = 0] = \"None\";\n  MatchFlag2[MatchFlag2[\"MatchCase\"] = 1] = \"MatchCase\";\n  MatchFlag2[MatchFlag2[\"MatchWholeWord\"] = 2] = \"MatchWholeWord\";\n  MatchFlag2[MatchFlag2[\"MatchConsecutive\"] = 4] = \"MatchConsecutive\";\n  return MatchFlag2;\n})(MatchFlag || {});\nfunction unionFlags(flags) {\n  return flags.reduce(\n    (flag, currFlag) => {\n      return flag | currFlag;\n    },\n    0\n    /* None */\n  );\n}\nfunction compareSearchTarget(targetA, targetB) {\n  const flagA = unionFlags(targetA.flags);\n  const flagB = unionFlags(targetB.flags);\n  return flagA === flagB && targetA.keyword === targetB.keyword;\n}\nvar PdfPermission = /* @__PURE__ */ ((PdfPermission2) => {\n  PdfPermission2[PdfPermission2[\"PrintDocument\"] = 8] = \"PrintDocument\";\n  PdfPermission2[PdfPermission2[\"ModifyContent\"] = 16] = \"ModifyContent\";\n  PdfPermission2[PdfPermission2[\"CopyOrExtract\"] = 32] = \"CopyOrExtract\";\n  PdfPermission2[PdfPermission2[\"AddOrModifyTextAnnot\"] = 64] = \"AddOrModifyTextAnnot\";\n  PdfPermission2[PdfPermission2[\"FillInExistingForm\"] = 512] = \"FillInExistingForm\";\n  PdfPermission2[PdfPermission2[\"ExtractTextOrGraphics\"] = 1024] = \"ExtractTextOrGraphics\";\n  PdfPermission2[PdfPermission2[\"AssembleDocument\"] = 2048] = \"AssembleDocument\";\n  PdfPermission2[PdfPermission2[\"PrintHighQuality\"] = 4096] = \"PrintHighQuality\";\n  return PdfPermission2;\n})(PdfPermission || {});\nvar PdfPageFlattenFlag = /* @__PURE__ */ ((PdfPageFlattenFlag2) => {\n  PdfPageFlattenFlag2[PdfPageFlattenFlag2[\"Display\"] = 0] = \"Display\";\n  PdfPageFlattenFlag2[PdfPageFlattenFlag2[\"Print\"] = 1] = \"Print\";\n  return PdfPageFlattenFlag2;\n})(PdfPageFlattenFlag || {});\nvar PdfPageFlattenResult = /* @__PURE__ */ ((PdfPageFlattenResult2) => {\n  PdfPageFlattenResult2[PdfPageFlattenResult2[\"Fail\"] = 0] = \"Fail\";\n  PdfPageFlattenResult2[PdfPageFlattenResult2[\"Success\"] = 1] = \"Success\";\n  PdfPageFlattenResult2[PdfPageFlattenResult2[\"NothingToDo\"] = 2] = \"NothingToDo\";\n  return PdfPageFlattenResult2;\n})(PdfPageFlattenResult || {});\nvar PdfErrorCode = /* @__PURE__ */ ((PdfErrorCode2) => {\n  PdfErrorCode2[PdfErrorCode2[\"Ok\"] = 0] = \"Ok\";\n  PdfErrorCode2[PdfErrorCode2[\"Unknown\"] = 1] = \"Unknown\";\n  PdfErrorCode2[PdfErrorCode2[\"NotFound\"] = 2] = \"NotFound\";\n  PdfErrorCode2[PdfErrorCode2[\"WrongFormat\"] = 3] = \"WrongFormat\";\n  PdfErrorCode2[PdfErrorCode2[\"Password\"] = 4] = \"Password\";\n  PdfErrorCode2[PdfErrorCode2[\"Security\"] = 5] = \"Security\";\n  PdfErrorCode2[PdfErrorCode2[\"PageError\"] = 6] = \"PageError\";\n  PdfErrorCode2[PdfErrorCode2[\"XFALoad\"] = 7] = \"XFALoad\";\n  PdfErrorCode2[PdfErrorCode2[\"XFALayout\"] = 8] = \"XFALayout\";\n  PdfErrorCode2[PdfErrorCode2[\"Cancelled\"] = 9] = \"Cancelled\";\n  PdfErrorCode2[PdfErrorCode2[\"Initialization\"] = 10] = \"Initialization\";\n  PdfErrorCode2[PdfErrorCode2[\"NotReady\"] = 11] = \"NotReady\";\n  PdfErrorCode2[PdfErrorCode2[\"NotSupport\"] = 12] = \"NotSupport\";\n  PdfErrorCode2[PdfErrorCode2[\"LoadDoc\"] = 13] = \"LoadDoc\";\n  PdfErrorCode2[PdfErrorCode2[\"DocNotOpen\"] = 14] = \"DocNotOpen\";\n  PdfErrorCode2[PdfErrorCode2[\"CantCloseDoc\"] = 15] = \"CantCloseDoc\";\n  PdfErrorCode2[PdfErrorCode2[\"CantCreateNewDoc\"] = 16] = \"CantCreateNewDoc\";\n  PdfErrorCode2[PdfErrorCode2[\"CantImportPages\"] = 17] = \"CantImportPages\";\n  PdfErrorCode2[PdfErrorCode2[\"CantCreateAnnot\"] = 18] = \"CantCreateAnnot\";\n  PdfErrorCode2[PdfErrorCode2[\"CantSetAnnotRect\"] = 19] = \"CantSetAnnotRect\";\n  PdfErrorCode2[PdfErrorCode2[\"CantSetAnnotContent\"] = 20] = \"CantSetAnnotContent\";\n  PdfErrorCode2[PdfErrorCode2[\"CantRemoveInkList\"] = 21] = \"CantRemoveInkList\";\n  PdfErrorCode2[PdfErrorCode2[\"CantAddInkStoke\"] = 22] = \"CantAddInkStoke\";\n  PdfErrorCode2[PdfErrorCode2[\"CantReadAttachmentSize\"] = 23] = \"CantReadAttachmentSize\";\n  PdfErrorCode2[PdfErrorCode2[\"CantReadAttachmentContent\"] = 24] = \"CantReadAttachmentContent\";\n  PdfErrorCode2[PdfErrorCode2[\"CantFocusAnnot\"] = 25] = \"CantFocusAnnot\";\n  PdfErrorCode2[PdfErrorCode2[\"CantSelectText\"] = 26] = \"CantSelectText\";\n  PdfErrorCode2[PdfErrorCode2[\"CantSelectOption\"] = 27] = \"CantSelectOption\";\n  PdfErrorCode2[PdfErrorCode2[\"CantCheckField\"] = 28] = \"CantCheckField\";\n  PdfErrorCode2[PdfErrorCode2[\"CantSetAnnotString\"] = 29] = \"CantSetAnnotString\";\n  return PdfErrorCode2;\n})(PdfErrorCode || {});\nclass PdfTaskHelper {\n  /**\n   * Create a task\n   * @returns new task\n   */\n  static create() {\n    return new Task();\n  }\n  /**\n   * Create a task that has been resolved with value\n   * @param result - resolved value\n   * @returns resolved task\n   */\n  static resolve(result) {\n    const task = new Task();\n    task.resolve(result);\n    return task;\n  }\n  /**\n   * Create a task that has been rejected with error\n   * @param reason - rejected error\n   * @returns rejected task\n   */\n  static reject(reason) {\n    const task = new Task();\n    task.reject(reason);\n    return task;\n  }\n  /**\n   * Create a task that has been aborted with error\n   * @param reason - aborted error\n   * @returns aborted task\n   */\n  static abort(reason) {\n    const task = new Task();\n    task.reject(reason);\n    return task;\n  }\n}\nfunction pdfColorToWebColor(c) {\n  const clamp = (n) => Math.max(0, Math.min(255, n));\n  const toHex = (n) => clamp(n).toString(16).padStart(2, \"0\");\n  return `#${toHex(c.red)}${toHex(c.green)}${toHex(c.blue)}`;\n}\nfunction webColorToPdfColor(color) {\n  if (/^#?[0-9a-f]{3}$/i.test(color)) {\n    color = color.replace(/^#?([0-9a-f])([0-9a-f])([0-9a-f])$/i, \"#$1$1$2$2$3$3\").toLowerCase();\n  }\n  const [, r, g, b] = /^#?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i.exec(color) ?? (() => {\n    throw new Error(`Invalid hex colour: \"${color}\"`);\n  })();\n  return {\n    red: parseInt(r, 16),\n    green: parseInt(g, 16),\n    blue: parseInt(b, 16)\n  };\n}\nfunction pdfAlphaToWebOpacity(alpha) {\n  const clamp = (n) => Math.max(0, Math.min(255, n));\n  return clamp(alpha) / 255;\n}\nfunction webOpacityToPdfAlpha(opacity) {\n  const clamp = (n, hi = 255) => Math.max(0, Math.min(hi, n));\n  return clamp(Math.round(opacity * 255));\n}\nfunction extractPdfColor(c) {\n  return { red: c.red, green: c.green, blue: c.blue };\n}\nfunction extractWebOpacity(c) {\n  return pdfAlphaToWebOpacity(c.alpha);\n}\nfunction combinePdfColorWithAlpha(color, alpha) {\n  return { ...color, alpha };\n}\nfunction combineWebColorWithOpacity(color, opacity) {\n  return { color, opacity };\n}\nfunction pdfAlphaColorToWebAlphaColor(c) {\n  const color = pdfColorToWebColor(extractPdfColor(c));\n  const opacity = extractWebOpacity(c);\n  return { color, opacity };\n}\nfunction webAlphaColorToPdfAlphaColor({ color, opacity }) {\n  const pdfColor = webColorToPdfColor(color);\n  const alpha = webOpacityToPdfAlpha(opacity);\n  return combinePdfColorWithAlpha(pdfColor, alpha);\n}\nfunction pdfDateToDate(pdf) {\n  if (!(pdf == null ? void 0 : pdf.startsWith(\"D:\")) || pdf.length < 16) return;\n  const y = +pdf.slice(2, 6);\n  const mo = +pdf.slice(6, 8) - 1;\n  const d = +pdf.slice(8, 10);\n  const H = +pdf.slice(10, 12);\n  const M = +pdf.slice(12, 14);\n  const S = +pdf.slice(14, 16);\n  return new Date(Date.UTC(y, mo, d, H, M, S));\n}\nfunction dateToPdfDate(date = /* @__PURE__ */ new Date()) {\n  const z = (n, len = 2) => n.toString().padStart(len, \"0\");\n  const YYYY = date.getUTCFullYear();\n  const MM = z(date.getUTCMonth() + 1);\n  const DD = z(date.getUTCDate());\n  const HH = z(date.getUTCHours());\n  const mm = z(date.getUTCMinutes());\n  const SS = z(date.getUTCSeconds());\n  return `D:${YYYY}${MM}${DD}${HH}${mm}${SS}`;\n}\nconst MixedTextAlignment = Symbol(\"mixed\");\nconst TEXT_ALIGNMENT_INFOS = Object.freeze([\n  { id: PdfTextAlignment.Left, label: \"Left\", css: \"left\" },\n  { id: PdfTextAlignment.Center, label: \"Center\", css: \"center\" },\n  { id: PdfTextAlignment.Right, label: \"Right\", css: \"right\" }\n]);\nconst enumToTextInfo = TEXT_ALIGNMENT_INFOS.reduce(\n  (m, info) => {\n    m[info.id] = info;\n    return m;\n  },\n  {}\n);\nconst cssToTextEnum = TEXT_ALIGNMENT_INFOS.reduce(\n  (m, info) => {\n    m[info.css] = info.id;\n    return m;\n  },\n  {}\n);\nfunction getTextAlignmentInfo(alignment) {\n  return enumToTextInfo[alignment] ?? enumToTextInfo[PdfTextAlignment.Left];\n}\nfunction textAlignmentToCss(alignment) {\n  return getTextAlignmentInfo(alignment).css;\n}\nfunction cssToTextAlignment(value) {\n  return cssToTextEnum[value];\n}\nfunction textAlignmentLabel(alignment) {\n  return getTextAlignmentInfo(alignment).label;\n}\nfunction reduceTextAlignments(values) {\n  if (!values.length) return PdfTextAlignment.Left;\n  const first = values[0];\n  return values.every((a) => a === first) ? first : MixedTextAlignment;\n}\nconst textAlignmentSelectOptions = TEXT_ALIGNMENT_INFOS.map((info) => ({\n  value: info.id,\n  label: info.label\n}));\nvar PdfStandardFontFamily = /* @__PURE__ */ ((PdfStandardFontFamily2) => {\n  PdfStandardFontFamily2[\"Courier\"] = \"Courier\";\n  PdfStandardFontFamily2[\"Helvetica\"] = \"Helvetica\";\n  PdfStandardFontFamily2[\"Times\"] = \"Times\";\n  PdfStandardFontFamily2[\"Symbol\"] = \"Symbol\";\n  PdfStandardFontFamily2[\"ZapfDingbats\"] = \"ZapfDingbats\";\n  PdfStandardFontFamily2[\"Unknown\"] = \"Unknown\";\n  return PdfStandardFontFamily2;\n})(PdfStandardFontFamily || {});\nconst DEFAULT_FALLBACK_FONT = PdfStandardFont.Helvetica;\nconst MixedStandardFont = Symbol(\"mixed\");\nconst HELVETICA_DESC = {\n  id: PdfStandardFont.Helvetica,\n  family: \"Helvetica\",\n  bold: false,\n  italic: false,\n  label: \"Helvetica\",\n  css: \"Helvetica, Arial, sans-serif\"\n};\nconst STANDARD_FONT_DESCRIPTORS = Object.freeze([\n  {\n    id: PdfStandardFont.Courier,\n    family: \"Courier\",\n    bold: false,\n    italic: false,\n    label: \"Courier\",\n    css: \"Courier, monospace\"\n  },\n  {\n    id: PdfStandardFont.Courier_Bold,\n    family: \"Courier\",\n    bold: true,\n    italic: false,\n    label: \"Courier Bold\",\n    css: '\"Courier-Bold\", Courier, monospace'\n  },\n  {\n    id: PdfStandardFont.Courier_BoldOblique,\n    family: \"Courier\",\n    bold: true,\n    italic: true,\n    label: \"Courier Bold Oblique\",\n    css: '\"Courier-BoldOblique\", Courier, monospace'\n  },\n  {\n    id: PdfStandardFont.Courier_Oblique,\n    family: \"Courier\",\n    bold: false,\n    italic: true,\n    label: \"Courier Oblique\",\n    css: '\"Courier-Oblique\", Courier, monospace'\n  },\n  HELVETICA_DESC,\n  {\n    id: PdfStandardFont.Helvetica_Bold,\n    family: \"Helvetica\",\n    bold: true,\n    italic: false,\n    label: \"Helvetica Bold\",\n    css: '\"Helvetica-Bold\", Arial, sans-serif'\n  },\n  {\n    id: PdfStandardFont.Helvetica_BoldOblique,\n    family: \"Helvetica\",\n    bold: true,\n    italic: true,\n    label: \"Helvetica Bold Oblique\",\n    css: '\"Helvetica-BoldOblique\", Arial, sans-serif'\n  },\n  {\n    id: PdfStandardFont.Helvetica_Oblique,\n    family: \"Helvetica\",\n    bold: false,\n    italic: true,\n    label: \"Helvetica Oblique\",\n    css: '\"Helvetica-Oblique\", Arial, sans-serif'\n  },\n  {\n    id: PdfStandardFont.Times_Roman,\n    family: \"Times\",\n    bold: false,\n    italic: false,\n    label: \"Times Roman\",\n    css: '\"Times New Roman\", Times, serif'\n  },\n  {\n    id: PdfStandardFont.Times_Bold,\n    family: \"Times\",\n    bold: true,\n    italic: false,\n    label: \"Times Bold\",\n    css: '\"Times New Roman Bold\", Times, serif'\n  },\n  {\n    id: PdfStandardFont.Times_BoldItalic,\n    family: \"Times\",\n    bold: true,\n    italic: true,\n    label: \"Times Bold Italic\",\n    css: '\"Times New Roman Bold Italic\", Times, serif'\n  },\n  {\n    id: PdfStandardFont.Times_Italic,\n    family: \"Times\",\n    bold: false,\n    italic: true,\n    label: \"Times Italic\",\n    css: '\"Times New Roman Italic\", Times, serif'\n  },\n  {\n    id: PdfStandardFont.Symbol,\n    family: \"Symbol\",\n    bold: false,\n    italic: false,\n    label: \"Symbol\",\n    css: \"Symbol\"\n  },\n  {\n    id: PdfStandardFont.ZapfDingbats,\n    family: \"ZapfDingbats\",\n    bold: false,\n    italic: false,\n    label: \"Zapf Dingbats\",\n    css: \"ZapfDingbats\"\n  }\n]);\nconst idToDescriptor = STANDARD_FONT_DESCRIPTORS.reduce((m, d) => (m[d.id] = d, m), {});\nconst familyStyleToId = /* @__PURE__ */ new Map();\nfor (const d of STANDARD_FONT_DESCRIPTORS) {\n  familyStyleToId.set(`${d.family}_${d.bold}_${d.italic}`, d.id);\n}\nfunction unknownDescriptor() {\n  return HELVETICA_DESC;\n}\nfunction getStandardFontDescriptor(font) {\n  return idToDescriptor[font] ?? unknownDescriptor();\n}\nfunction standardFontFamily(font) {\n  return getStandardFontDescriptor(font).family;\n}\nfunction standardFontIsBold(font) {\n  return getStandardFontDescriptor(font).bold;\n}\nfunction standardFontIsItalic(font) {\n  return getStandardFontDescriptor(font).italic;\n}\nfunction makeStandardFont(family, { bold, italic }) {\n  return familyStyleToId.get(`${family}_${bold}_${italic}`) ?? DEFAULT_FALLBACK_FONT;\n}\nfunction standardFontLabel(font) {\n  return getStandardFontDescriptor(font).label;\n}\nfunction standardFontCss(font) {\n  return getStandardFontDescriptor(font).css;\n}\nconst standardFontFamilySelectOptions = Object.values(PdfStandardFontFamily).filter(\n  (f) => f !== \"Unknown\"\n  /* Unknown */\n).map((family) => ({ value: family, label: family }));\nfunction reduceStandardFonts(fonts) {\n  if (!fonts.length) return PdfStandardFont.Unknown;\n  const first = fonts[0];\n  return fonts.every((f) => f === first) ? first : MixedStandardFont;\n}\nconst STANDARD_FONT_FAMILIES = [\n  ...new Set(STANDARD_FONT_DESCRIPTORS.map((d) => d.family))\n];\nfunction standardFontFamilyLabel(fam) {\n  switch (fam) {\n    case \"Courier\":\n      return \"Courier\";\n    case \"Helvetica\":\n      return \"Helvetica\";\n    case \"Times\":\n      return \"Times\";\n    case \"Symbol\":\n      return \"Symbol\";\n    case \"ZapfDingbats\":\n      return \"ZapfDingbats\";\n    /* fallback */\n    default:\n      return \"Helvetica\";\n  }\n}\nconst MixedBlendMode = Symbol(\"mixed\");\nconst BLEND_MODE_INFOS = Object.freeze([\n  { id: PdfBlendMode.Normal, label: \"Normal\", css: \"normal\" },\n  { id: PdfBlendMode.Multiply, label: \"Multiply\", css: \"multiply\" },\n  { id: PdfBlendMode.Screen, label: \"Screen\", css: \"screen\" },\n  { id: PdfBlendMode.Overlay, label: \"Overlay\", css: \"overlay\" },\n  { id: PdfBlendMode.Darken, label: \"Darken\", css: \"darken\" },\n  { id: PdfBlendMode.Lighten, label: \"Lighten\", css: \"lighten\" },\n  { id: PdfBlendMode.ColorDodge, label: \"Color Dodge\", css: \"color-dodge\" },\n  { id: PdfBlendMode.ColorBurn, label: \"Color Burn\", css: \"color-burn\" },\n  { id: PdfBlendMode.HardLight, label: \"Hard Light\", css: \"hard-light\" },\n  { id: PdfBlendMode.SoftLight, label: \"Soft Light\", css: \"soft-light\" },\n  { id: PdfBlendMode.Difference, label: \"Difference\", css: \"difference\" },\n  { id: PdfBlendMode.Exclusion, label: \"Exclusion\", css: \"exclusion\" },\n  { id: PdfBlendMode.Hue, label: \"Hue\", css: \"hue\" },\n  { id: PdfBlendMode.Saturation, label: \"Saturation\", css: \"saturation\" },\n  { id: PdfBlendMode.Color, label: \"Color\", css: \"color\" },\n  { id: PdfBlendMode.Luminosity, label: \"Luminosity\", css: \"luminosity\" }\n]);\nconst enumToInfo = BLEND_MODE_INFOS.reduce(\n  (m, info) => {\n    m[info.id] = info;\n    return m;\n  },\n  {}\n);\nconst cssToEnum = BLEND_MODE_INFOS.reduce(\n  (m, info) => {\n    m[info.css] = info.id;\n    return m;\n  },\n  {}\n);\nfunction getBlendModeInfo(mode) {\n  return enumToInfo[mode] ?? enumToInfo[PdfBlendMode.Normal];\n}\nfunction blendModeToCss(mode) {\n  return getBlendModeInfo(mode).css;\n}\nfunction cssToBlendMode(value) {\n  return cssToEnum[value];\n}\nfunction blendModeLabel(mode) {\n  return getBlendModeInfo(mode).label;\n}\nfunction reduceBlendModes(modes) {\n  if (!modes.length) return PdfBlendMode.Normal;\n  const first = modes[0];\n  return modes.every((m) => m === first) ? first : MixedBlendMode;\n}\nconst blendModeSelectOptions = BLEND_MODE_INFOS.map((info) => ({\n  value: info.id,\n  label: info.label\n}));\nconst blendModeValues = BLEND_MODE_INFOS.map((info) => info.id);\nfunction uiBlendModeDisplay(value) {\n  return value === MixedBlendMode ? \"(mixed)\" : blendModeLabel(value);\n}\nfunction serializeLogger(logger) {\n  if (logger instanceof NoopLogger) {\n    return { type: \"noop\" };\n  }\n  if (logger instanceof ConsoleLogger) {\n    return { type: \"console\" };\n  }\n  if (logger instanceof PerfLogger) {\n    return { type: \"perf\" };\n  }\n  if (logger instanceof LevelLogger) {\n    const levelLogger = logger;\n    return {\n      type: \"level\",\n      config: {\n        level: levelLogger.level,\n        logger: serializeLogger(levelLogger.logger)\n      }\n    };\n  }\n  if (logger instanceof AllLogger) {\n    const allLogger = logger;\n    return {\n      type: \"all\",\n      config: {\n        loggers: allLogger.loggers.map(serializeLogger)\n      }\n    };\n  }\n  return { type: \"noop\" };\n}\nfunction deserializeLogger(serialized) {\n  var _a, _b, _c;\n  switch (serialized.type) {\n    case \"noop\":\n      return new NoopLogger();\n    case \"console\":\n      return new ConsoleLogger();\n    case \"perf\":\n      return new PerfLogger();\n    case \"level\":\n      if (!((_a = serialized.config) == null ? void 0 : _a.logger) || ((_b = serialized.config) == null ? void 0 : _b.level) === void 0) {\n        throw new Error(\"LevelLogger requires logger and level in config\");\n      }\n      return new LevelLogger(deserializeLogger(serialized.config.logger), serialized.config.level);\n    case \"all\":\n      if (!((_c = serialized.config) == null ? void 0 : _c.loggers)) {\n        throw new Error(\"AllLogger requires loggers array in config\");\n      }\n      return new AllLogger(serialized.config.loggers.map(deserializeLogger));\n    default:\n      return new NoopLogger();\n  }\n}\nconst V4_REGEX = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;\nfunction isUuidV4(str) {\n  return V4_REGEX.test(str);\n}\nfunction getRandomBytes(len) {\n  var _a;\n  if (typeof ((_a = globalThis.crypto) == null ? void 0 : _a.getRandomValues) === \"function\") {\n    return globalThis.crypto.getRandomValues(new Uint8Array(len));\n  }\n  if (typeof require === \"function\") {\n    try {\n      const { randomBytes } = require(\"crypto\");\n      return randomBytes(len);\n    } catch {\n    }\n  }\n  const bytes = new Uint8Array(len);\n  for (let i = 0; i < len; i++) bytes[i] = Math.floor(Math.random() * 256);\n  return bytes;\n}\nfunction uuidV4() {\n  var _a;\n  if (typeof ((_a = globalThis.crypto) == null ? void 0 : _a.randomUUID) === \"function\") {\n    return globalThis.crypto.randomUUID();\n  }\n  const bytes = getRandomBytes(16);\n  bytes[6] = bytes[6] & 15 | 64;\n  bytes[8] = bytes[8] & 63 | 128;\n  const hex = Array.from(bytes, (b) => b.toString(16).padStart(2, \"0\")).join(\"\");\n  return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;\n}\nfunction ignore() {\n}\nexport {\n  AllLogger,\n  AppearanceMode,\n  ConsoleLogger,\n  LevelLogger,\n  LogLevel,\n  MatchFlag,\n  MixedBlendMode,\n  MixedStandardFont,\n  MixedTextAlignment,\n  NoopLogger,\n  PDF_FORM_FIELD_FLAG,\n  PDF_FORM_FIELD_TYPE,\n  PdfActionType,\n  PdfAnnotationBorderStyle,\n  PdfAnnotationColorType,\n  PdfAnnotationFlagName,\n  PdfAnnotationFlags,\n  PdfAnnotationIcon,\n  PdfAnnotationLineEnding,\n  PdfAnnotationObjectStatus,\n  PdfAnnotationState,\n  PdfAnnotationStateModel,\n  PdfAnnotationSubtype,\n  PdfAnnotationSubtypeName,\n  PdfBlendMode,\n  PdfBomOrZwnbsp,\n  PdfEngineFeature,\n  PdfEngineOperation,\n  PdfErrorCode,\n  PdfNonCharacterFFFE,\n  PdfNonCharacterFFFF,\n  PdfPageFlattenFlag,\n  PdfPageFlattenResult,\n  PdfPageObjectType,\n  PdfPermission,\n  PdfSegmentObjectType,\n  PdfSoftHyphenMarker,\n  PdfStampFit,\n  PdfStandardFont,\n  PdfStandardFontFamily,\n  PdfTaskHelper,\n  PdfTextAlignment,\n  PdfTrappedStatus,\n  PdfUnwantedTextMarkers,\n  PdfUnwantedTextRegex,\n  PdfVerticalAlignment,\n  PdfWordJoiner,\n  PdfZeroWidthSpace,\n  PdfZoomMode,\n  PerfLogger,\n  Rotation,\n  STANDARD_FONT_FAMILIES,\n  Task,\n  TaskAbortedError,\n  TaskRejectedError,\n  TaskStage,\n  blendModeLabel,\n  blendModeSelectOptions,\n  blendModeToCss,\n  blendModeValues,\n  boundingRect,\n  buildUserToDeviceMatrix,\n  calculateAngle,\n  calculateDegree,\n  combinePdfColorWithAlpha,\n  combineWebColorWithOpacity,\n  compareSearchTarget,\n  cssToBlendMode,\n  cssToTextAlignment,\n  dateToPdfDate,\n  deserializeLogger,\n  expandRect,\n  extractPdfColor,\n  extractWebOpacity,\n  flagsToNames,\n  getBlendModeInfo,\n  getStandardFontDescriptor,\n  getTextAlignmentInfo,\n  ignore,\n  isUuidV4,\n  makeStandardFont,\n  namesToFlags,\n  pdfAlphaColorToWebAlphaColor,\n  pdfAlphaToWebOpacity,\n  pdfColorToWebColor,\n  pdfDateToDate,\n  quadToRect,\n  rectEquals,\n  rectFromPoints,\n  rectToQuad,\n  reduceBlendModes,\n  reduceStandardFonts,\n  reduceTextAlignments,\n  restoreOffset,\n  restorePosition,\n  restoreRect,\n  rotateAndTranslatePoint,\n  rotatePosition,\n  rotateRect,\n  scalePosition,\n  scaleRect,\n  serializeLogger,\n  standardFontCss,\n  standardFontFamily,\n  standardFontFamilyLabel,\n  standardFontFamilySelectOptions,\n  standardFontIsBold,\n  standardFontIsItalic,\n  standardFontLabel,\n  stripPdfUnwantedMarkers,\n  swap,\n  textAlignmentLabel,\n  textAlignmentSelectOptions,\n  textAlignmentToCss,\n  toIntPos,\n  toIntRect,\n  toIntSize,\n  transformPosition,\n  transformRect,\n  transformSize,\n  uiBlendModeDisplay,\n  unionFlags,\n  uuidV4,\n  webAlphaColorToPdfAlphaColor,\n  webColorToPdfColor,\n  webOpacityToPdfAlpha\n};\n//# sourceMappingURL=index.js.map\n"],"names":["Rotation","Rotation2","swap","size","width","height","NoopLogger","isEnabled","debug","info","warn","error","perf","ConsoleLogger","source","category","args","console","event","phase","LevelLogger","constructor","logger","level","this","PerfLogger","identifier","globalThis","performance","mark","detail","measure","AllLogger","loggers","some","TaskAbortedError","Error","reason","super","JSON","stringify","name","TaskRejectedError","Task","state","stage","resolvedCallbacks","rejectedCallbacks","_promise","progressCbs","toPromise","Promise","resolve","reject","wait","result","type","resolvedCallback","rejectedCallback","push","e","abort","fail","onProgress","cb","progress","p","all","tasks","combinedTask","length","results","Array","resolvedCount","isSettled","forEach","task","index","allSettled","settledCount","status","value","race","withProgress","completedCount","PdfUnwantedTextMarkers","Object","freeze","PdfUnwantedTextRegex","RegExp","join","PdfZoomMode","PdfZoomMode2","PdfTrappedStatus","PdfTrappedStatus2","PdfStandardFont","PdfStandardFont2","PdfTextAlignment","PdfTextAlignment2","PdfBlendMode","PdfBlendMode2","PdfStampFit","PdfStampFit2","PdfActionType","PdfActionType2","PdfAnnotationSubtype","PdfAnnotationSubtype2","AppearanceMode","AppearanceMode2","PdfAnnotationIcon","PdfAnnotationIcon2","PdfAnnotationLineEnding","PdfAnnotationLineEnding2","PDF_FORM_FIELD_TYPE","PDF_FORM_FIELD_TYPE2","PdfAnnotationColorType","PdfAnnotationColorType2","PdfAnnotationBorderStyle","PdfAnnotationBorderStyle2","PdfPageObjectType","PdfPageObjectType2","PdfAnnotationFlagName","PdfAnnotationFlagValue","entries","reduce","acc","bit","Number","MatchFlag","MatchFlag2","PdfPageFlattenFlag","PdfPageFlattenFlag2","PdfErrorCode","PdfErrorCode2","TEXT_ALIGNMENT_INFOS","id","Left","label","css","Center","Right","m","map","PdfStandardFontFamily","PdfStandardFontFamily2","Helvetica","HELVETICA_DESC","family","bold","italic","STANDARD_FONT_DESCRIPTORS","Courier","Courier_Bold","Courier_BoldOblique","Courier_Oblique","Helvetica_Bold","Helvetica_BoldOblique","Helvetica_Oblique","Times_Roman","Times_Bold","Times_BoldItalic","Times_Italic","Symbol","ZapfDingbats","d","familyStyleToId","Map","set","values","filter","f","Set","BLEND_MODE_INFOS","Normal","Multiply","Screen","Overlay","Darken","Lighten","ColorDodge","ColorBurn","HardLight","SoftLight","Difference","Exclusion","Hue","Saturation","Color","Luminosity","V4_REGEX","create","rect","rotation","outW","outH","L","origin","x","B","y","W","H","sx0","sy0","sx90","sy90","a","b","c","date","Date","z","n","len","toString","padStart","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","raw","keys","flag","str","test","names","mask","alpha","Math","max","min","toHex","clamp","red","green","blue","pdf","startsWith","slice","mo","M","S","UTC","q","xs","p1","p2","p3","p4","ys","r","serializeLogger","levelLogger","config","text","replace","floor","s","ceil","containerSize","scaleFactor","scaleRect","rotateRect","_a","crypto","randomUUID","bytes","getRandomValues","Uint8Array","require","randomBytes","i","random","getRandomBytes","hex","from","color","toLowerCase","g","exec","parseInt","opacity","hi","round"],"mappings":"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"}